.holidaySyncStatus{grid-column:1/-1;min-height:42px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#ffffff05;color:var(--muted);font-size:10px;display:flex;align-items:center}
.holidaySyncStatus.success{border-color:#21775e;background:#123d31;color:#9ed9c5}.holidaySyncStatus.loading{border-color:#8f793a;background:#332d1c;color:#ead493}.holidaySyncStatus.error{border-color:#7e3b3b;background:#351f1f;color:#efaaaa}
#syncOfficialHolidays.loading{cursor:wait;opacity:.75}.annualCalendarCard{margin-top:16px;padding:20px}.annualCalendarCard .cardHead{align-items:flex-start}
.calendarLegend{display:flex;flex-wrap:wrap;gap:7px}.calendarLegend span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;font-size:9px}.calendarLegend .weekend{background:#2b291d;color:#d6c879}.calendarLegend .official{background:#17392f;color:#85cfb4}.calendarLegend .manual{background:#34283d;color:#c9a6df}
.calendarYearTabs{display:flex;gap:8px;margin:15px 0}.calendarYearTabs button{border:1px solid var(--line);border-radius:10px;padding:8px 15px;background:#ffffff05;color:var(--muted)}.calendarYearTabs button.active{background:var(--p);border-color:var(--p);color:#fff}
.calendarYear{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.calendarMonth{min-width:0;padding:12px;border:1px solid var(--line);border-radius:14px;background:#ffffff04}.calendarMonth h4{margin:0 0 9px;font-size:12px}.calendarWeekdays,.calendarDays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendarWeekdays span{text-align:center;color:var(--muted);font-size:8px;padding-bottom:4px}.calendarDays>i{min-height:38px}
.calendarDay{min-width:0;min-height:38px;padding:3px;border:1px solid transparent;border-radius:8px;background:#ffffff03;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.calendarDay b{font-size:9px}.calendarDay small{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:6px;color:inherit}.calendarDay.weekend{background:#29271b;color:#d1c36f}.calendarDay.official{border-color:#267157;background:#15382e;color:#8dd1b8}.calendarDay.manual{border-color:#73558a;background:#31253a;color:#d0ade5}
@media(max-width:1250px){.calendarYear{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.calendarYear{grid-template-columns:1fr}.annualCalendarCard{padding:14px}.calendarDay{min-height:42px}}
