.calendar100-page .header-with-controls{align-items:flex-end}.calendar100-page .calendar-controls{min-width:auto}.calendar100-page .year-navigator{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.calendar100-page .year-nav-title{font-size:.85rem;font-weight:600;letter-spacing:.02em;color:var(--text-muted);text-align:right}.calendar100-page .year-nav-row{display:flex;align-items:center;gap:8px;justify-content:flex-end}.calendar100-page .btn-icon{padding:8px;height:44px;width:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-md);border:1px solid var(--border-soft);background:#0d0b1a66;color:var(--text-2);cursor:pointer;transition:all .2s ease}.calendar100-page .btn-icon:hover{color:var(--gold);border-color:var(--gold);background:#ffd7001a}.calendar100-page .btn-icon:disabled{opacity:.5;cursor:not-allowed}.calendar100-page .calendar-field{margin-bottom:0}.calendar100-page .calendar-field select{min-width:140px;text-align:center;width:auto}.calendar100-page .legend-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px;padding:16px;background:#0d0b1a57;border-radius:var(--r-md);border:1px solid var(--border-soft)}.calendar100-page .legend-item{display:flex;align-items:flex-start;gap:8px;font-size:.9rem;line-height:1.5;color:var(--text-muted);flex:1 1 240px}.calendar100-page .badge{flex:0 0 auto;background:var(--gold-subtle);border:1px solid var(--gold-glow);padding:2px 8px;border-radius:var(--r-sm);font-size:.8rem;font-weight:600;color:var(--gold)}.calendar100-page .weekday-badge{color:var(--success)}.calendar100-page .month-badge{color:var(--text)}.calendar100-page .table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r-md);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px #ffffff05}.calendar100-page .calendar100-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1420px;table-layout:fixed}.calendar100-page .calendar100-table th,.calendar100-page .calendar100-table td{border-right:none;border-bottom:.5px solid rgba(255,255,255,.14);padding:6px 4px;text-align:center;vertical-align:middle}.calendar100-page .calendar100-table td.week-start{border-top:1px solid var(--gold)}.calendar100-page .calendar100-table th{background:#0d0b1aeb;color:var(--gold);font-weight:600;font-size:.82rem;line-height:1.25;padding:8px 4px;position:sticky;z-index:10}.calendar100-page .month-heading{top:0;height:48px;border-right:1px solid rgba(255,215,0,.26)!important;color:#dfe6ff;font-size:.88rem}.calendar100-page .sub-heading{top:48px;color:var(--gold);background:#13111af5;font-size:.78rem;height:32px}.calendar100-page .sub-heading:nth-child(3n),.calendar100-page .calendar100-table tbody td:nth-child(3n+1):not(.col-day){border-right:1px solid rgba(255,215,0,.24)}.calendar100-page .calendar100-table td{background:#ffffff09;color:#fff;font-size:.9rem;font-weight:600;line-height:1.2}.calendar100-page .calendar100-table tr:last-child td{border-bottom:none}.calendar100-page .calendar100-table th:last-child,.calendar100-page .calendar100-table td:last-child{border-right:none}.calendar100-page .col-day{width:54px;min-width:54px;font-weight:700;color:var(--text);background:#0d0b1af0!important}.calendar100-page .sticky-col{position:sticky;left:0;z-index:20!important;border-right:2px solid rgba(255,215,0,.38)!important}.calendar100-page .cell-empty{color:var(--text-dim);font-size:.8rem}.calendar100-page .c-weekday{color:#fff;font-weight:700;font-size:.92rem}.calendar100-page .c-weekday.is-sunday{color:var(--gold)!important}.calendar100-page .calendar100-table .c-weekday,.calendar100-page .calendar100-table .c-lunar,.calendar100-page .calendar100-table .c-month,.calendar100-page .mobile-month-table .c-weekday,.calendar100-page .mobile-month-table .c-lunar,.calendar100-page .mobile-month-table .c-month{color:#fff}.calendar100-page .c-lunar{display:inline-grid;grid-template-columns:16px auto;column-gap:2px;align-items:center;justify-items:start;color:#fff;font-weight:600;font-size:.86rem;white-space:nowrap}.calendar100-page .lunar-prefix{color:var(--gold);font-size:.76rem;font-weight:600;text-align:left}.calendar100-page .lunar-num{text-align:left}.calendar100-page .c-month{width:100%;text-align:center;font-size:.86rem;color:#fff}.calendar100-page .is-today{background:#ffd7002e!important;box-shadow:inset 0 0 0 1px #ffd70047}.calendar100-page .calendar100-mobile{display:none}.calendar100-page .mobile-month-card{overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--r-md);background:#ffffff06}.calendar100-page .mobile-month-title{margin:0;padding:12px 14px;background:#0d0b1ab8;border-bottom:1px solid var(--border-soft);color:var(--gold);font-size:1rem;font-weight:700}.calendar100-page .mobile-month-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.calendar100-page .mobile-month-table th,.calendar100-page .mobile-month-table td{padding:8px 6px;border-right:1px solid rgba(255,255,255,.16);border-bottom:.5px solid rgba(255,255,255,.12);text-align:center;line-height:1.2}.calendar100-page .mobile-month-table td.week-start{border-top:1px solid var(--gold)}.calendar100-page .mobile-month-table th{background:#0d0b1aa3;color:var(--gold);font-size:.78rem;font-weight:700}.calendar100-page .mobile-month-table td{color:#fff;font-size:.9rem;font-weight:600}.calendar100-page .mobile-month-table th:last-child,.calendar100-page .mobile-month-table td:last-child{border-right:none}.calendar100-page .mobile-month-table tr:last-child td{border-bottom:none}.calendar100-page .mobile-day-col{width:48px;color:#fff!important;background:#0d0b1a57;font-weight:700}.calendar100-page .error-message{margin-bottom:16px;padding:12px 14px;border:1px solid rgba(255,157,138,.35);border-radius:var(--r-sm);background:#ff9d8a14;color:var(--danger);font-size:.9rem}@media(max-width:680px){.calendar100-page .header-with-controls{gap:18px;align-items:stretch}.calendar100-page .header-text{min-width:0}.calendar100-page .calendar-controls,.calendar100-page .year-navigator,.calendar100-page .year-nav-row{width:100%}.calendar100-page .calendar-field{flex:0 1 auto;min-width:0}.calendar100-page .calendar-field select{min-width:160px}.calendar100-page .calendar100-panel{padding:16px;border-radius:var(--r-md)}.calendar100-page .legend-bar{gap:10px;margin-bottom:18px;padding:12px}.calendar100-page .legend-item{flex-basis:100%;font-size:.82rem}.calendar100-page .table-responsive{display:none}.calendar100-page .calendar100-mobile{display:grid;gap:14px}}@media(max-width:360px){.calendar100-page .mobile-month-table th,.calendar100-page .mobile-month-table td{padding-inline:4px;font-size:.82rem}}
