.counter-primary{display:flex;gap:24px;align-items:center;margin:26px 0}.counter-primary>span{font-size:clamp(70px,15vw,120px);font-weight:800;line-height:1;letter-spacing:-.06em;color:var(--accent);font-variant-numeric:tabular-nums}.counter-primary>div{font-size:18px;line-height:1.6;color:var(--text-dim)}.counter-primary strong{color:var(--text)}.counter-page progress{width:100%;height:12px;accent-color:var(--accent);border:0;border-radius:8px;overflow:hidden}.counter-page progress::-webkit-progress-bar{background:var(--surface2)}.counter-page progress::-webkit-progress-value{background:var(--accent)}.counter-page progress::-moz-progress-bar{background:var(--accent)}
.counter-controls{display:flex;gap:18px;flex-wrap:wrap;align-items:end}.counter-controls>label{flex:1;min-width:220px;font-size:14px;font-weight:600;color:var(--text)}.counter-controls select,.counter-controls input{display:block;width:100%;min-height:48px;margin-top:8px;border:1px solid var(--border-bright);border-radius:12px;background:var(--surface2);color:var(--text);font:inherit;padding:10px 12px;box-sizing:border-box;color-scheme:dark}.counter-checks{display:flex;flex-direction:column;gap:14px;margin:20px 0}.counter-checks label{display:flex;gap:10px;align-items:center;font-size:14px;line-height:1.5}.counter-checks input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.counter-button,#counter-extras button{font:inherit;border:1px solid var(--border-bright);border-radius:12px;background:var(--surface2);color:var(--text);padding:12px 16px;cursor:pointer;min-height:44px}.counter-button:hover{border-color:var(--accent)}.counter-page :focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.counter-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.counter-metric{padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.counter-metric>strong{font-size:38px;font-weight:700;line-height:1.1;color:var(--accent);font-variant-numeric:tabular-nums}.counter-metric h2{font-size:15px;line-height:1.3;margin:10px 0 6px}.counter-metric p{font-size:12px;line-height:1.5;color:var(--text-dim);margin:0}.counter-table-wrap{max-width:100%;overflow-x:auto}.counter-table{width:100%;border-collapse:collapse;font-size:14px}.counter-table caption{text-align:left;color:var(--text-dim);line-height:1.5;padding:0 0 14px}.counter-table td,.counter-table th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border)}.counter-table thead{color:var(--text-dim)}.counter-table tbody th{font-weight:500}.counter-table td{font-variant-numeric:tabular-nums}.counter-page #counter-message{color:var(--accent);min-height:1.5em}#counter-extras button{font-size:13px;min-height:36px;padding:6px 12px}#counter-extras li{display:flex;align-items:center;gap:12px;flex-wrap:wrap}html[data-theme="light"] .counter-controls input,html[data-theme="light"] .counter-controls select{color-scheme:light}
@media(max-width:760px){.counter-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.counter-metric{padding:16px}.counter-metric>strong{font-size:32px}.counter-primary{gap:18px}.counter-primary>div{font-size:15px}.counter-controls{gap:14px}.counter-controls>label{min-width:0;flex-basis:100%}.counter-table td,.counter-table th{padding:10px 6px;font-size:12px}.counter-table thead th{overflow-wrap:anywhere}}
.calendar-toolbar{display:flex;align-items:end;gap:12px;margin:20px 0}.calendar-month-label{flex:1;min-width:0;font-size:13px;color:var(--text-dim)}.calendar-month-label select{display:block;width:100%;margin-top:6px;border:1px solid var(--border-bright);background:var(--surface2);color:var(--text);font:inherit;font-size:16px;padding:10px 12px;border-radius:12px;min-height:46px}.calendar-toolbar button:disabled{opacity:.35;cursor:default}.calendar-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin:18px 0;font-size:12px;color:var(--text-dim)}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.calendar-legend i{display:block;width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend-school{background:#41b2ac}.legend-weekend{background:#7b879d}.legend-holiday{background:#edaa58}.legend-break{background:#a28ae5}.legend-extra{background:#e77d9e}.legend-outside{background:#39414f}.calendar-grid{width:100%;table-layout:fixed;border-spacing:5px;border-collapse:separate}.calendar-grid caption{text-align:left;font-weight:700;font-size:20px;margin-bottom:14px;text-transform:capitalize}.calendar-grid th{font-size:12px;color:var(--text-dim);font-weight:500;padding:8px 0}.calendar-grid td{padding:0;text-align:center;vertical-align:middle}.calendar-day{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;min-height:34px;border:1px solid transparent;border-radius:10px;font:inherit;font-weight:600;font-size:16px;box-sizing:border-box}.calendar-day:is(button){cursor:pointer}.calendar-day:is(button):hover{filter:brightness(1.18);border-color:currentColor}.calendar-school{background:rgba(65,178,172,.16);color:#6ad9ce}.calendar-saturdays,.calendar-sundays{background:rgba(123,135,157,.13);color:#9ba9bd}.calendar-holidays{background:rgba(237,170,88,.15);color:#efbc7e}.calendar-breaks{background:rgba(162,138,229,.16);color:#c0a8fa}.calendar-extra{background:rgba(231,125,158,.16);color:#f4a3be}.calendar-outside{background:rgba(123,135,157,.04);color:var(--text-dim);opacity:.45}.calendar-today{outline:2px solid var(--accent);outline-offset:1px}html[data-theme="light"] .calendar-school{color:#146c65}html[data-theme="light"] .calendar-saturdays,html[data-theme="light"] .calendar-sundays{color:#4b5563}html[data-theme="light"] .calendar-holidays{color:#8a4b0d}html[data-theme="light"] .calendar-breaks{color:#6440a1}html[data-theme="light"] .calendar-extra{color:#a12b55}@media(max-width:480px){.calendar-grid{border-spacing:3px}.calendar-day{font-size:14px;border-radius:8px}.calendar-toolbar{gap:8px}.calendar-toolbar .counter-button{padding:10px 12px}.calendar-grid caption{font-size:18px}}
