@font-face{font-family:Inter;font-style:normal;font-weight:400 750;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400 750;font-display:swap;src:url(/fonts/inter-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400 750;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 750;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#f2f4ef;--surface:#fff;--surface-2:#fafbf8;--ink:#16211b;--muted:#6c7873;--line:#e2e7df;--line-strong:#cfd8cd;--green:#2f5b41;--green-2:#e6efe8;--on-green:#fff;--accent:#a3ce39;--on-accent:#14181a;--danger:#a8443a;--danger-2:#f8e6e3;--warn:#7a6415;--warn-2:#f7f0d2;--brand:#1b2a22;--brand-ink:#eef2e8;--brand-muted:#a9b3a8;--brand-line:#ffffff1c;--brand-hover:#ffffff12;--tip:#1e2427;--tip-ink:#f1f6f1;--shadow:0 1px 2px #16211b0a, 0 12px 28px -12px #16211b1a;--shadow-lift:0 24px 60px -18px #14231a59;--radius:14px;--radius-sm:10px;--radius-xs:7px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#10151a;--surface:#171d23;--surface-2:#1c242b;--ink:#e4eae6;--muted:#8d9a94;--line:#28323a;--line-strong:#3a4650;--green:#7cc79a;--green-2:#1b2b23;--on-green:#10201a;--accent:#a3ce39;--on-accent:#14181a;--danger:#e08376;--danger-2:#33211f;--warn:#d9c06a;--warn-2:#2c2718;--brand:#101315;--brand-ink:#e6ebe2;--brand-muted:#8a938a;--brand-line:#ffffff14;--brand-hover:#ffffff0d;--tip:#2c3b45;--tip-ink:#e8efeb;--shadow:0 1px 2px #0006, 0 12px 28px -12px #0009;--shadow-lift:0 24px 60px -18px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#10151a;--surface:#171d23;--surface-2:#1c242b;--ink:#e4eae6;--muted:#8d9a94;--line:#28323a;--line-strong:#3a4650;--green:#7cc79a;--green-2:#1b2b23;--on-green:#10201a;--accent:#a3ce39;--on-accent:#14181a;--danger:#e08376;--danger-2:#33211f;--warn:#d9c06a;--warn-2:#2c2718;--brand:#101315;--brand-ink:#e6ebe2;--brand-muted:#8a938a;--brand-line:#ffffff14;--brand-hover:#ffffff0d;--tip:#2c3b45;--tip-ink:#e8efeb;--shadow:0 1px 2px #0006, 0 12px 28px -12px #0009;--shadow-lift:0 24px 60px -18px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.5}time,.num,.metricCard strong,.moneyCard strong,td{font-variant-numeric:tabular-nums}button,input,textarea,select{font:inherit;color:inherit}button,a{color:inherit}a{text-decoration:none}:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--accent);color:var(--on-accent)}
.crmLayout{min-height:100dvh}.sidebar{width:var(--nav-w,238px);background:var(--brand);color:var(--brand-ink);z-index:30;flex-direction:column;padding:1.5rem .9rem 1.1rem;transition:width .18s;display:flex;position:fixed;inset:0 auto 0 0}.crmBrand{align-items:center;gap:.7rem;padding:.1rem .5rem 1.9rem;display:flex}.crmBrand>span{border-radius:var(--radius-sm);background:var(--accent);width:38px;height:38px;color:var(--on-accent);place-items:center;font-size:.72rem;font-weight:800;display:grid}.crmBrand div{gap:.15rem;min-width:0;display:grid}.crmBrand strong{letter-spacing:-.01em;font-size:.92rem}.crmBrand small{color:var(--brand-muted);letter-spacing:.14em;text-transform:uppercase;font-size:.62rem;font-weight:600}.sideNav{gap:.1rem;display:grid}.navItem{display:grid;position:relative}.navTip{display:none}.sideNav a{border-radius:var(--radius-sm);color:var(--brand-muted);align-items:center;gap:.7rem;padding:.6rem .7rem;font-size:.855rem;font-weight:550;transition:color .12s,background .12s;display:flex;position:relative}.sideNav a>svg{opacity:.85;flex:none}.sideNav a:hover{background:var(--brand-hover);color:var(--brand-ink)}.sideNav a.active{color:var(--brand-ink);background:var(--brand-hover);font-weight:650}.sideNav a.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;height:19px;position:absolute;top:50%;left:-.9rem;transform:translateY(-50%)}.sideNav a.active>svg{opacity:1;color:var(--accent)}.sidebarProfile{border-top:1px solid var(--brand-line);grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.95rem .5rem 0;display:grid}.avatar{background:var(--green);width:33px;height:33px;color:var(--on-green);border-radius:50%;place-items:center;font-size:.66rem;font-weight:750;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.sidebarProfile div{min-width:0;display:grid}.sidebarProfile strong{white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.sidebarProfile small{color:var(--brand-muted);font-size:.65rem}.sidebarProfile button{color:var(--brand-muted);cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:0;place-items:center;padding:.3rem;display:grid}.sidebarProfile button:hover{background:var(--brand-hover);color:var(--brand-ink)}.navToggle{border-radius:var(--radius-sm);color:var(--brand-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:.7rem;margin-top:auto;padding:.55rem .7rem;font-size:.78rem;font-weight:600;transition:background .12s,color .12s;display:flex}.navToggle:hover{background:var(--brand-hover);color:var(--brand-ink)}.navToggle svg{flex:none;transition:transform .18s}.buildStamp{text-align:center;color:var(--brand-muted);opacity:.55;font-variant-numeric:tabular-nums;letter-spacing:.03em;margin:.55rem 0 0;font-size:.6rem}.crmMain{margin-left:var(--nav-w,238px);padding:2.1rem clamp(1.2rem,3.5vw,3rem) 4rem;transition:margin-left .18s}@media (min-width:761px){:root[data-nav=mini]{--nav-w:68px}:root[data-nav=mini] .sidebar{padding-left:.55rem;padding-right:.55rem}:root[data-nav=mini] .crmBrand{justify-content:center;padding:.1rem 0 1.6rem}:root[data-nav=mini] .sideNav a{justify-content:center;gap:0;padding:.6rem 0}:root[data-nav=mini] .sideNav a.active:before{left:-.55rem}:root[data-nav=mini] .navToggle{justify-content:center;gap:0;padding:.55rem 0}:root[data-nav=mini] .navToggle svg{transform:rotate(180deg)}:root[data-nav=mini] .sidebarProfile{grid-template-columns:1fr;justify-items:center;gap:.5rem;padding:.95rem 0 0}:root[data-nav=mini] .navTip{opacity:0;visibility:hidden;pointer-events:none;z-index:200;background:var(--tip);color:var(--tip-ink);border-radius:var(--radius-xs);white-space:nowrap;padding:.38rem .7rem;font-size:.78rem;font-weight:600;transition:opacity .16s,transform .16s;display:block;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)translate(-8px);box-shadow:0 8px 22px #08120c59}:root[data-nav=mini] .sideNav:hover .navTip{opacity:1;visibility:visible;transition-delay:calc(var(--tip-index,0) * 35ms);transform:translateY(-50%)translate(0)}:root[data-nav=mini] .navItem:hover .navTip{background:var(--accent);color:var(--on-accent);transition-delay:0s;transform:translateY(-50%)translate(4px)scale(1.03);box-shadow:0 10px 26px #08120c66}:root[data-nav=mini] .navItem a:focus-visible~.navTip{opacity:1;visibility:visible;background:var(--accent);color:var(--on-accent);transition-delay:0s;transform:translateY(-50%)translate(4px)scale(1.03)}:root[data-nav=mini] .crmBrand div,:root[data-nav=mini] .sideNav a span,:root[data-nav=mini] .navToggle span,:root[data-nav=mini] .sidebarProfile div,:root[data-nav=mini] .buildStamp{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}.pageHeader{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.9rem;display:flex}.breadcrumb,.sectionKicker{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;margin-bottom:.5rem;font-size:.665rem;font-weight:700;display:block}.pageHeader h1{letter-spacing:-.035em;margin:0 0 .3rem;font-size:clamp(1.65rem,2.6vw,2.15rem);font-weight:700;line-height:1.12}.pageHeader p{color:var(--muted);margin:0;font-size:.88rem}.headerTools{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.headerDate{color:var(--muted);text-transform:capitalize;font-size:.78rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.dashboardGrid{grid-template-columns:1fr;gap:1rem;display:grid}.metricGrid{grid-template-columns:repeat(4,1fr);gap:.8rem;display:grid}.metricCard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:.35rem;padding:1rem 1.1rem;transition:border-color .12s,background .12s;display:grid;position:relative}.metricCard:hover{border-color:var(--line-strong);background:var(--surface-2)}.metricIcon{color:var(--green);border-radius:var(--radius-xs);background:var(--green-2);place-items:center;width:28px;height:28px;display:grid}.metricCard strong{letter-spacing:-.03em;font-size:1.75rem;font-weight:700;line-height:1.05}.metricCard small{color:var(--muted);font-size:.765rem}.metricGo{color:var(--muted);opacity:0;transition:opacity .12s,transform .12s;position:absolute;top:1rem;right:1.1rem}.metricCard:hover .metricGo{opacity:1;transform:translate(2px)}.todayPanel{padding:1.25rem 1.3rem}.panelTitle{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.9rem;display:flex}.panelTitle h2{letter-spacing:-.015em;margin:0;font-size:1rem;font-weight:650}.panelTitle>a:not(.primaryAction){color:var(--green);font-size:.74rem;font-weight:650}.panelTitle .primaryAction{text-decoration:none}.timeline{display:grid}.lessonRow{border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent);grid-template-columns:44px 7px minmax(0,1fr) auto;align-items:center;gap:.7rem;min-width:0;padding:.7rem 0;display:grid}.lessonRow:first-child{border-top:0}.lessonRow time{font-size:.84rem;font-weight:650}.lessonDot{border-radius:3px;width:7px;height:32px}.lessonRow>div:not(.lessonMeta){gap:.15rem;min-width:0;display:grid}.lessonRow strong{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.lessonRow small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.lessonMeta{white-space:nowrap;align-items:center;gap:.45rem;display:flex}.lessonMeta span{background:var(--green-2);color:var(--green);border-radius:var(--radius-xs);padding:.22rem .5rem;font-size:.665rem;font-weight:600}.lessonMeta small{color:var(--muted);font-size:.72rem}
.dataPanel,.settingsPanel,.calendarPanel{overflow:hidden}.dataToolbar{border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;padding:.85rem 1rem;display:flex}.searchBox{background:var(--bg);border-radius:var(--radius-sm);width:min(380px,100%);color:var(--muted);border:1px solid #0000;align-items:center;gap:.55rem;padding:.55rem .75rem;transition:border-color .12s;display:flex}.searchBox:focus-within{border-color:var(--line-strong)}.searchBox input{width:100%;color:var(--ink);background:0 0;border:0;outline:none;font-size:.85rem}.primaryAction,.ghostAction{border-radius:var(--radius-sm);cursor:pointer;border:0;align-items:center;gap:.4rem;padding:.6rem .95rem;font-size:.79rem;font-weight:650;transition:opacity .12s,border-color .12s;display:inline-flex}.primaryAction{background:var(--green);color:var(--on-green)}.primaryAction:hover{opacity:.9}.primaryAction:disabled{opacity:.55;cursor:default}.ghostAction{background:var(--bg);color:var(--ink);border:1px solid var(--line)}.ghostAction:hover{border-color:var(--line-strong)}.tableWrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.815rem}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:.7rem 1rem;font-size:.655rem;font-weight:700}td{border-top:1px solid var(--line);white-space:nowrap;padding:.82rem 1rem}tbody tr:hover{background:var(--surface-2)}tbody tr.clickable{cursor:pointer}.rowAction{color:var(--green);text-align:right;opacity:0;font-size:.74rem;font-weight:650;transition:opacity .12s}tbody tr.clickable:hover .rowAction,tbody tr.clickable:focus-within .rowAction{opacity:1}.status{border-radius:var(--radius-xs);background:var(--green-2);color:var(--green);padding:.24rem .55rem;font-size:.69rem;font-weight:600;display:inline-flex}.status.cancelled,.status.lost,.status.archived{background:var(--danger-2);color:var(--danger)}.status.paused,.status.trial{background:var(--warn-2);color:var(--warn)}.tableFooter{color:var(--muted);border-top:1px solid var(--line);padding:.75rem 1rem;font-size:.72rem}.inlineError{background:var(--danger-2);color:var(--danger);border-radius:var(--radius-sm);margin:1rem;padding:.7rem .85rem;font-size:.8rem}.inlineWarn{background:var(--warn-2);color:var(--warn);border-radius:var(--radius-sm);margin:0 1.3rem;padding:.7rem .85rem;font-size:.8rem}.modalHint{color:var(--muted);margin:0 1.3rem .2rem;font-size:.75rem;line-height:1.45}.modalFields label.wide{grid-column:1/-1}.modalSubject{grid-column:1/-1;gap:.2rem;margin:0;display:grid}.modalSubject span{color:var(--muted);font-size:.74rem;font-weight:650}.modalSubject strong{font-size:1rem;font-weight:650}.photoPicker{align-items:flex-start;gap:1rem;display:flex}.photoPreview{cursor:pointer;background:var(--green);width:76px;height:76px;color:var(--on-green);border:0;border-radius:50%;flex:none;place-items:center;font-size:1.1rem;font-weight:750;transition:box-shadow .12s;display:grid;position:relative;overflow:hidden}.photoPreview img{object-fit:cover;grid-area:1/1;width:100%;height:100%;display:block}.photoOverlay{color:#fff;opacity:0;background:#0a120d73;grid-area:1/1;place-items:center;width:100%;height:100%;transition:opacity .12s;display:grid}.photoPreview:hover .photoOverlay,.photoPreview:focus-visible .photoOverlay{opacity:1}.photoPreview.dropping{box-shadow:0 0 0 3px var(--green)}.photoPreview.dropping .photoOverlay{opacity:1}.photoActions{justify-items:start;gap:.4rem;display:grid}.photoActions small{color:var(--muted);max-width:34ch;font-size:.7rem;line-height:1.4}.photoActions .photoError{color:var(--danger)}.linkAction{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0;font-size:.74rem;font-weight:600}.linkAction:hover{text-decoration:underline}.cropModal{width:min(420px,100%)}.cropBody{justify-items:center;gap:.9rem;padding:1.2rem 1.3rem;display:grid}.cropStage{aspect-ratio:1;border-radius:var(--radius);background:var(--bg);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:min(320px,72vw);position:relative;overflow:hidden}.cropStage:active{cursor:grabbing}.cropImage{transform-origin:0 0;pointer-events:none;display:block;position:absolute;top:0;left:0}.cropMask{pointer-events:none;border-radius:var(--radius);background:#0c140f99;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 49.6%,#000 49.8%);mask:radial-gradient(circle,#0000 49.6%,#000 49.8%)}.cropRing{pointer-events:none;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 2px #ffffffe6}.cropZoom{gap:.35rem;width:min(320px,72vw);display:grid}.cropZoom span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:650}.cropZoom input[type=range]{width:100%;accent-color:var(--green)}.cropHint{color:var(--muted);text-align:center;max-width:36ch;margin:0;font-size:.74rem}.attendanceList{gap:.55rem;max-height:44dvh;padding:1rem 1.3rem .2rem;display:grid;overflow:auto}.attendanceRow{gap:.35rem;display:grid}.attendanceRow strong{font-size:.84rem;font-weight:600}.attendancePick{flex-wrap:wrap;gap:.3rem;display:flex}.attendancePick button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:var(--radius-xs);cursor:pointer;padding:.32rem .6rem;font-size:.73rem;font-weight:600;transition:border-color .12s,background .12s,color .12s}.attendancePick button:hover{border-color:var(--line-strong);color:var(--ink)}.attendancePick button.active{background:var(--green);border-color:var(--green);color:var(--on-green)}.breakdownPanel{margin-bottom:1rem;padding:1.1rem 1.2rem 1.2rem}.bars{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.bars li{grid-template-columns:5.5rem 1fr auto;align-items:center;gap:.7rem;display:grid}.barLabel{color:var(--muted);white-space:nowrap;text-transform:capitalize;font-size:.76rem}.barTrack{background:var(--bg);border-radius:var(--radius-xs);height:8px;overflow:hidden}.barFill{background:var(--green);border-radius:var(--radius-xs);min-width:2px;height:100%;display:block}.barFill.spend{background:var(--danger)}.barValue{white-space:nowrap;font-size:.78rem;font-weight:600}.trend{margin-top:.2rem;font-size:.7rem;font-weight:600;display:block}.trend.up{color:var(--green)}.trend.down{color:var(--danger)}.trend.muted{color:var(--muted);font-weight:500}.payerLink{color:var(--green);font-weight:650;display:block}.payerLink:hover{text-decoration:underline}td .muted{color:var(--muted)}td small{color:var(--muted);font-size:.7rem;display:block}.guardians{border-top:1px solid var(--line);gap:.5rem;margin:0 1.3rem 1rem;padding-top:.9rem;display:grid}.guardiansHead{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.guardiansHead .sectionKicker{margin-bottom:0}.linkAdd{color:var(--green);cursor:pointer;background:0 0;border:0;align-items:center;gap:.25rem;padding:0;font-size:.74rem;font-weight:650;display:inline-flex}.linkAdd:hover{text-decoration:underline}.guardianList{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.guardianList li{background:var(--bg);border-radius:var(--radius-sm);grid-template-columns:1fr auto auto;align-items:center;gap:.6rem;padding:.5rem .65rem;display:grid}.guardianList strong{font-size:.82rem;font-weight:600;display:block}.guardianList small{color:var(--muted);font-size:.72rem}.linkAction.quiet{color:var(--muted)}.linkAction.quiet:hover{color:var(--green)}.guardianForm{background:var(--bg);border-radius:var(--radius-sm);grid-template-columns:1fr 1fr;gap:.5rem;padding:.7rem;display:grid}.guardianForm input{border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface);color:var(--ink);outline:none;padding:.55rem .65rem;font-size:.82rem}.guardianForm input:focus{border-color:var(--green)}.guardianForm input:first-child{grid-column:1/-1}.guardianForm>div{grid-column:1/-1;justify-content:flex-end;gap:.5rem;display:flex}.guardianForm>.hint,.guardianForm>.pickList{grid-column:1/-1;margin:0}.pickList{gap:.2rem;max-height:13rem;padding:0;list-style:none;display:grid;overflow:auto}.pickList button{border-radius:var(--radius-xs);background:var(--surface);width:100%;color:var(--ink);text-align:left;cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:.6rem;padding:.5rem .65rem;font-size:.82rem;font-weight:550;display:flex}.pickList button:hover:not(:disabled){background:var(--green);color:#fff}.pickList button:disabled{opacity:.5;cursor:default}.pickList small{color:var(--muted);font-size:.7rem}.pickList button:hover:not(:disabled) small{color:inherit}.guardians .hint{margin:0;font-size:.78rem}.guardians .hint.ok{color:var(--green);font-weight:550}.channels{border-top:1px dashed var(--line);grid-column:1/-1;gap:.35rem;margin-top:.15rem;padding-top:.4rem;display:grid}.channels .sectionKicker{margin-bottom:0;font-size:.63rem}.channels .hint{margin:0;font-size:.72rem}.channelList{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.channelList li{grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;display:grid}.channelList li.off{opacity:.5}.channelList strong{font-size:.76rem;font-weight:600;display:block}.channelList small{color:var(--muted);font-size:.68rem}.chBadge{letter-spacing:.03em;text-transform:uppercase;border-radius:var(--radius-xs);background:var(--line);color:var(--ink);padding:.16rem .38rem;font-size:.6rem;font-weight:700}.chBadge.telegram{color:#14506f;background:#d6ecf7}.chBadge.viber{color:#4b2d78;background:#e6ddf5}.chBadge.whatsapp{color:#14532d;background:#dcf2e0}.settingsForm{gap:1.4rem;max-width:44rem;padding:1.1rem 1.3rem 1.4rem;display:grid}.settingsForm fieldset{border:0;gap:.55rem;margin:0;padding:0;display:grid}.settingsForm legend{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem;font-size:.68rem;font-weight:700}.choice{background:var(--bg);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;grid-template-columns:auto 1fr;align-items:start;gap:.65rem;padding:.7rem .8rem;display:grid}.choice:has(input:checked){border-color:var(--green);background:var(--surface)}.choice input{accent-color:var(--green);margin-top:.2rem}.choice strong{font-size:.83rem;font-weight:600;display:block}.choice small{color:var(--muted);font-size:.75rem;line-height:1.5}.orderList{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.orderList li{background:var(--bg);border-radius:var(--radius-sm);grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.45rem .65rem;display:grid}.orderList small{color:var(--muted);font-size:.72rem}.linkAction.up svg{transform:rotate(90deg)}.linkAction.down svg{transform:rotate(-90deg)}.materialList{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.materialList li{background:var(--bg);border-radius:var(--radius-sm);grid-template-columns:1fr auto auto auto;align-items:center;gap:.55rem;padding:.5rem .65rem;display:grid}.materialList strong{font-size:.82rem;font-weight:600;display:block}.materialList small{color:var(--muted);font-size:.71rem}.materialList a.linkAction{text-decoration:none}.linkAdd input[type=file]{display:none}
.calendarLayout{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}.calendarLayout.withPanel{grid-template-columns:minmax(0,1fr) 320px}.calendarPanel{--hour:58px;--rail:56px;overflow:hidden}.calendarToolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.navGroup{align-items:center;gap:.3rem;display:flex}.toolbarRight{align-items:center;gap:.5rem;display:flex}.calendarToolbar .navGroup button,.calendarToolbar input[type=date]{border:1px solid var(--line);background:var(--surface);height:30px;color:var(--ink);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;padding:0 .7rem;font-size:.76rem;font-weight:600;transition:border-color .12s,background .12s;display:inline-flex}.calendarToolbar .navGroup button:hover{border-color:var(--line-strong);background:var(--surface-2)}.navGroup button:first-child,.navGroup button:nth-child(3){width:30px;padding:0;font-size:1rem}.calendarToolbar input[type=date]{cursor:text;font-weight:500}.calendarToolbar .primaryAction{height:30px;padding:0 .8rem;font-size:.76rem}.rangeLabel{letter-spacing:-.01em;text-transform:capitalize;margin-left:.6rem;font-size:.87rem;font-weight:650}.viewToggle{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);gap:1px;height:30px;padding:2px;display:inline-flex}.viewToggle button{color:var(--muted);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:0;padding:0 .75rem;font-size:.74rem;font-weight:600}.viewToggle button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.teacherLegend{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.35rem;padding:.7rem 1rem;display:flex}.legendItem{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:var(--radius-xs);cursor:pointer;align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.73rem;font-weight:600;transition:border-color .12s,color .12s;display:inline-flex}.legendItem:hover{border-color:var(--line-strong);color:var(--ink)}.legendItem.active{border-color:var(--line-strong);color:var(--ink);background:var(--surface-2)}.legendItem.all.active{background:var(--green-2);color:var(--green);border-color:#0000}.legendDot{background:var(--lesson-color,var(--green));border-radius:50%;flex:none;width:9px;height:9px}.calendarScroll{max-height:calc(100dvh - 250px);padding:.85rem 1rem 1.1rem;overflow:auto}.calendarGrid{grid-template-columns:var(--rail) repeat(var(--cols),minmax(124px,1fr));column-gap:6px;min-width:min-content;display:grid}.gridCorner{z-index:4;background:var(--surface);position:sticky;top:0;left:0}.gridHead{z-index:3;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm) var(--radius-sm) 0 0;text-align:center;border-bottom:0;gap:.1rem;padding:.55rem .5rem;display:grid;position:sticky;top:0}.gridHead span{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.63rem;font-weight:650;overflow:hidden}.gridHead strong{font-size:.95rem;font-weight:650}.gridHead.current{background:var(--green-2)}.gridHead.current strong{border-radius:var(--radius-xs);background:var(--green);width:24px;height:24px;color:var(--on-green);place-items:center;margin:0 auto;font-size:.78rem;display:inline-grid}.gridHead[style*=--accent-col]{box-shadow:inset 0 -2px 0 var(--accent-col)}.hourRail{z-index:2;background:var(--surface);display:grid;position:sticky;left:0}.hourRail span{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;padding:.2rem .5rem 0 0;font-size:.64rem}.gridColumn{background-color:var(--surface);border:1px solid var(--line);border-radius:0 0 var(--radius-sm) var(--radius-sm);background-image:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px var(--hour)), repeating-linear-gradient(to bottom, transparent 0 calc(var(--hour) / 2), color-mix(in srgb,var(--line) 50%,transparent) calc(var(--hour) / 2) calc(var(--hour) / 2 + 1px), transparent calc(var(--hour) / 2 + 1px) var(--hour));border-top:0;position:relative;overflow:hidden}.gridColumn.current{background-color:color-mix(in srgb,var(--green-2) 55%,var(--surface))}.nowLine{background:var(--danger);z-index:1;pointer-events:none;height:1px;position:absolute;left:0;right:0}.nowLine:before{content:"";background:var(--danger);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;left:0}.slotCell{z-index:0;cursor:pointer;border-radius:var(--radius-xs);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;left:3px;right:3px}.slotCell:hover{background:color-mix(in srgb,var(--green) 9%,transparent)}.slotPlus{opacity:0;color:var(--green);transition:opacity .1s;display:grid}.slotCell:hover .slotPlus,.slotCell:focus-visible .slotPlus{opacity:1}.lessonBlock{text-align:left;cursor:pointer;border:0;border-left:3px solid var(--lesson-color);border-radius:var(--radius-xs);background:color-mix(in srgb,var(--lesson-color) 15%,var(--surface));color:var(--ink);z-index:2;align-content:start;gap:.08rem;padding:.3rem .4rem;transition:filter .12s;display:grid;position:absolute;overflow:hidden}.lessonBlock:hover{filter:brightness(.96);z-index:4}.blockTime{color:var(--lesson-color);font-variant-numeric:tabular-nums;font-size:.66rem;font-weight:700}.blockTitle{white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:600;overflow:hidden}.blockTeacher{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.67rem;overflow:hidden}.blockFormat{color:var(--lesson-color);display:grid;position:absolute;top:.3rem;right:.3rem}.lessonBlock.cancelled{opacity:.5;text-decoration:line-through}.lessonBlock.conducted{background:var(--surface-2);border-left-style:double;border-left-width:5px}.lessonPanel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);position:sticky;top:1rem;overflow:hidden}.lessonPanel>header{border-bottom:1px solid var(--line);border-top:3px solid var(--lesson-color);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1rem 1.1rem;display:flex}.lessonPanel h2{letter-spacing:-.015em;margin:0;font-size:1.02rem;font-weight:650}.lessonPanel>header button{background:var(--bg);border-radius:var(--radius-xs);cursor:pointer;width:26px;height:26px;color:var(--muted);border:0;flex:none}.lessonPanel>header button:hover{color:var(--ink)}.lessonPanelBody{gap:1rem;padding:1rem 1.1rem 1.2rem;display:grid}.lessonWhen{align-items:baseline;gap:.6rem;margin:0;display:flex}.lessonWhen strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.25rem}.lessonWhen span{color:var(--muted);font-size:.75rem}.lessonPanel dl{gap:.6rem;margin:0;display:grid}.lessonPanel dl>div{grid-template-columns:5.6rem 1fr;align-items:baseline;gap:.6rem;display:grid}.lessonPanel dt{color:var(--muted);font-size:.7rem;font-weight:600}.lessonPanel dd{align-items:center;gap:.4rem;min-width:0;margin:0;font-size:.82rem;display:flex}.lessonPanel dd a{color:var(--green);font-weight:600;text-decoration:underline}.teacherDot{background:var(--lesson-color);border-radius:50%;flex:none;width:8px;height:8px}.lessonActions{flex-wrap:wrap;gap:.5rem;display:flex}.lessonActions .primaryAction,.lessonActions .ghostAction{flex:1;justify-content:center;padding:.55rem .8rem;font-size:.76rem}.cancelBox{background:var(--bg);border-radius:var(--radius-sm);gap:.6rem;padding:.85rem;display:grid}.cancelBox label{gap:.3rem;display:grid}.cancelBox label span{color:var(--muted);font-size:.68rem;font-weight:600}.cancelBox input{border:1px solid var(--line);border-radius:var(--radius-xs);background:var(--surface);color:var(--ink);outline:none;padding:.55rem .65rem;font-size:.82rem}.cancelBox input:focus{border-color:var(--danger)}.cancelBox>div{justify-content:flex-end;gap:.5rem;display:flex}.cancelBox .dangerAction{margin-right:0;padding:.5rem .8rem;font-size:.76rem}.rosterBlock{border-top:1px solid var(--line);padding-top:.85rem}.roster{gap:.3rem;margin:.2rem 0 0;padding:0;list-style:none;display:grid}.roster li{background:var(--bg);border-radius:var(--radius-xs);padding:.32rem .5rem;font-size:.79rem}.panelBackdrop{display:none}@media (max-width:1150px){.calendarLayout.withPanel{grid-template-columns:minmax(0,1fr)}.panelBackdrop{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a120d73;border:0;display:block;position:fixed;inset:0}.lessonPanel{z-index:61;border-radius:var(--radius) 0 0 var(--radius);width:min(380px,92vw);max-height:100dvh;box-shadow:var(--shadow-lift);animation:.18s panelIn;position:fixed;top:0;bottom:0;right:0;overflow:auto}@keyframes panelIn{0%{opacity:.4;transform:translate(12px)}to{opacity:1;transform:none}}}@media (max-width:560px){.lessonPanel{border-radius:var(--radius) var(--radius) 0 0;width:auto;max-height:82dvh;top:auto;left:0}@keyframes panelIn{0%{opacity:.4;transform:translateY(16px)}to{opacity:1;transform:none}}}@media (max-width:760px){.calendarPanel{--rail:44px}.calendarScroll{max-height:none}.calendarToolbar{align-items:stretch}.toolbarRight{justify-content:space-between}.rangeLabel{margin-left:.4rem;font-size:.8rem}}
.branchTable small{color:var(--muted);font-size:.71rem;font-weight:400;display:block}.branchTable .tag{color:var(--muted);font-size:.7rem;display:inline}.branchTable .asideRow td{background:var(--bg);border-top:1px solid var(--line)}.branchTable .asideRow.warn td:first-child{color:var(--danger)}.formActions{justify-content:flex-end;gap:.5rem;display:flex}.settingsForm .modalFields{gap:.6rem;padding:0}.settingsForm code{background:var(--bg);border-radius:var(--radius-xs);padding:.05rem .25rem;font-size:.75rem}.overviewGrid{--pad:1.15rem;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.overviewMain,.overviewSide{gap:1rem;min-width:0;display:grid}@media (max-width:1080px){.overviewGrid{grid-template-columns:1fr}}.ovCard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--pad) var(--pad) calc(var(--pad) - .15rem);min-width:0}.ovHead{justify-content:space-between;align-items:flex-start;gap:.9rem;margin-bottom:.9rem;display:flex}.ovHead .sectionKicker{margin-bottom:.3rem}.ovHead h2{letter-spacing:-.015em;margin:0;font-size:1.02rem;font-weight:650;line-height:1.25}.ovHead .primaryAction{flex:none;text-decoration:none}.ovHead>a:not(.primaryAction){color:var(--green);white-space:nowrap;padding-top:.15rem;font-size:.75rem;font-weight:650}.titleNote{color:var(--muted);font-size:.8rem;font-weight:500}.attentionList{margin:0 calc(var(--pad) * -.55);gap:.1rem;padding:0;list-style:none;display:grid}.attentionList li a{padding:.65rem calc(var(--pad) * .55);border-radius:var(--radius-sm);color:inherit;grid-template-columns:auto 1fr auto;align-items:start;gap:.75rem;text-decoration:none;transition:background .12s;display:grid}.attentionList li a:hover{background:var(--bg)}.attentionList li+li{border-top:1px solid color-mix(in srgb,var(--line) 55%,transparent)}.attentionDot{background:var(--muted);border-radius:50%;width:.5rem;height:.5rem;margin-top:.42rem}.attentionList li.danger .attentionDot{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 16%,transparent)}.attentionList li.warn .attentionDot{background:#c98a1e;box-shadow:0 0 0 3px #c98a1e29}.attentionList li.info .attentionDot{background:var(--green);box-shadow:0 0 0 3px var(--green-2)}.attentionList strong{font-size:.875rem;font-weight:650;line-height:1.4;display:block}.attentionList small{color:var(--muted);margin-top:.12rem;font-size:.765rem;line-height:1.45;display:block}.attentionExamples{color:var(--ink);opacity:.72;margin:.3rem 0 0;font-size:.765rem;line-height:1.5}.attentionGo{color:var(--muted);align-self:center;font-size:.9rem;transition:color .12s,transform .12s}.attentionList li a:hover .attentionGo{color:var(--green);transform:translate(2px)}.attentionEmpty{color:var(--green);align-items:center;gap:.75rem;padding:.4rem 0 .5rem;display:flex}.attentionEmpty strong{color:var(--ink);font-size:.9rem;display:block}.attentionEmpty small{color:var(--muted);font-size:.78rem}.ovFigure{letter-spacing:-.03em;margin:0;font-size:1.9rem;font-weight:700;line-height:1.05}.trendLine{color:var(--green);margin:.35rem 0 0;font-size:.785rem;font-weight:550;line-height:1.45}.trendLine.down{color:var(--danger)}.trendLine.muted{color:var(--muted);font-weight:450}.spark{align-items:flex-end;gap:2px;height:2.6rem;margin:.85rem 0 0;display:flex}.spark span{background:var(--green);opacity:.7;border-radius:2px 2px 0 0;flex:1;min-height:2px}.sideLink{color:var(--green);margin-top:.9rem;font-size:.79rem;font-weight:650;text-decoration:none;display:inline-block}.sideLink:hover{text-decoration:underline}.ovNote{color:var(--muted);margin:.5rem 0 0;font-size:.79rem;line-height:1.5}.rolePerms{border-top:1px solid var(--line);gap:.75rem;margin:0 1.3rem 1.2rem;padding-top:1rem;display:grid}.permSummary{color:var(--ink);margin:0;font-size:.8rem;line-height:1.55}.permList{background:var(--bg);border-radius:var(--radius-sm);gap:.1rem;margin:0;padding:.2rem;list-style:none;display:grid}.permList li{grid-template-columns:minmax(8rem,11rem) 1fr;align-items:baseline;gap:.9rem;padding:.5rem .8rem;font-size:.79rem;line-height:1.5;display:grid}.permList li+li{border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.permList strong{font-weight:600}.permList span{color:var(--muted)}.permList em{color:var(--green);font-style:normal;font-weight:550}.permWhere{color:var(--muted);margin-top:.1rem;font-size:.73rem;font-weight:500;display:block}.permWhere.none{color:#c98a1e}.permDenied{color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,transparent);border-radius:var(--radius-sm);margin:0;padding:.55rem .8rem;font-size:.78rem;line-height:1.55}.permDenied b{font-weight:650}.ledgerList{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.ledgerList li{background:var(--bg);border-radius:var(--radius-sm);grid-template-columns:2.4rem 1fr;align-items:center;gap:.6rem;padding:.4rem .65rem;display:grid}.ledgerList b{font-variant-numeric:tabular-nums;text-align:right;font-size:.9rem}.ledgerList b.plus{color:var(--green)}.ledgerList strong{font-size:.8rem;font-weight:600;display:block}.ledgerList small{color:var(--muted);font-size:.71rem}.guardiansHead b.debt{color:var(--danger)}.conductResult{margin:0;font-size:.9rem;line-height:1.7}.conductResult strong{font-size:1.1rem}.tabs{border-bottom:1px solid var(--line);gap:.15rem;padding:.85rem 1rem;display:flex;overflow:auto}.tabs button{border-radius:var(--radius-xs);cursor:pointer;white-space:nowrap;color:var(--muted);background:0 0;border:0;padding:.5rem .8rem;font-size:.79rem;font-weight:550}.tabs button:hover{color:var(--ink)}.tabs button.active{background:var(--green-2);color:var(--green);font-weight:650}.settingsBar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.settingsBar p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.5}.settingsCards{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:.7rem;padding:1rem;display:grid}.settingsCards article.clickable{cursor:pointer;transition:border-color .12s,background .12s}.settingsCards article.clickable:hover{border-color:var(--green);background:var(--bg)}.settingsCards article{border:1px solid var(--line);border-radius:var(--radius-sm);gap:.3rem;padding:.9rem 1rem;display:grid}.settingsCards small{color:var(--muted);font-size:.75rem}.emptyState{text-align:center;min-height:250px;color:var(--muted);place-content:center;justify-items:center;padding:2rem;display:grid}.emptyState>span{border-radius:var(--radius-sm);background:var(--green-2);width:40px;height:40px;color:var(--green);place-items:center;display:grid}.emptyState strong{color:var(--ink);margin-top:.75rem;font-weight:650}.emptyState p{max-width:32ch;margin:.25rem 0 0;font-size:.79rem}.emptyState .primaryAction{margin-top:1.1rem}.loadingBlock,.centerState{color:var(--muted);place-content:center;justify-items:center;gap:.75rem;display:grid}.loadingBlock{min-height:250px}.centerState{min-height:100dvh;padding:1.5rem}.centerState>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);padding:2rem}.centerState button{background:var(--green);color:var(--on-green);border-radius:var(--radius-sm);cursor:pointer;border:0;margin-top:1rem;padding:.6rem 1rem;font-weight:650}.loader{border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;width:22px;height:22px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modalLayer{z-index:80;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modalBackdrop,.navBackdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a120d80;border:0;position:absolute;inset:0}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(520px,100%);max-height:90dvh;box-shadow:var(--shadow-lift);position:relative;overflow:auto}.modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1.2rem 1.3rem;display:flex}.modal h2{letter-spacing:-.015em;margin:0;font-size:1.1rem;font-weight:650}.modal>header button{background:var(--bg);border-radius:var(--radius-xs);cursor:pointer;width:30px;height:30px;color:var(--muted);border:0}.modal>header button:hover{color:var(--ink)}.modalFields{grid-template-columns:1fr 1fr;gap:.9rem;padding:1.2rem 1.3rem;display:grid}.modalFields label{color:var(--muted);gap:.3rem;font-size:.74rem;font-weight:650;display:grid}.modalFields input,.modalFields select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);outline:none;padding:.62rem .7rem;font-size:.85rem;font-weight:400}.modalFields input:focus,.modalFields select:focus{border-color:var(--green)}.modalFields input[type=color]{cursor:pointer;background:var(--surface);justify-self:start;width:4.2rem;height:2.4rem;padding:.2rem}.modalFields input[type=color]::-webkit-color-swatch-wrapper{padding:0}.modalFields input[type=color]::-webkit-color-swatch{border-radius:var(--radius-xs);border:0}.modalFields input[type=date],.modalFields input[type=number]{font-variant-numeric:tabular-nums}.modalFields input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}.modalFields input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:1}.rolePerms .permList{max-height:15rem;overflow:auto}.modal>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:.55rem;padding:.9rem 1.3rem;display:flex}.dangerAction{border:1px solid var(--line);color:var(--danger);border-radius:var(--radius-sm);cursor:pointer;background:0 0;margin-right:auto;padding:.6rem .95rem;font-size:.79rem;font-weight:650;transition:background .12s}.dangerAction:hover{background:var(--danger-2)}.mobileMenu{display:none}.navBackdrop{z-index:20;display:none;position:fixed}.settingsForm fieldset.botCard{border:1px solid var(--line);border-radius:var(--radius-sm);gap:.7rem;padding:.9rem 1rem;display:grid}.botHead{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.botHead strong{font-size:.9rem;font-weight:650;display:block}.botHead small{color:var(--muted);margin-top:.15rem;font-size:.77rem;display:block}.switch{border:1px solid var(--line);background:var(--bg);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .7rem .3rem .35rem;font-size:.75rem;font-weight:650;display:inline-flex}.switch span{background:var(--line);border-radius:999px;width:1.6rem;height:.95rem;transition:background .15s;position:relative}.switch span:after{content:"";background:var(--surface);border-radius:50%;width:.7rem;height:.7rem;transition:transform .15s;position:absolute;top:.12rem;left:.14rem}.switch.on{color:var(--green);border-color:color-mix(in srgb,var(--green) 40%,transparent);background:var(--green-2)}.switch.on span{background:var(--green)}.switch.on span:after{transform:translate(.62rem)}.switch:disabled{opacity:.5;cursor:not-allowed}.botFacts{gap:.3rem;margin:0;padding:0;font-size:.78rem;line-height:1.45;list-style:none;display:grid}.botFacts li{padding-left:.9rem;position:relative}.botFacts li:before{content:"";background:currentColor;border-radius:50%;width:.35rem;height:.35rem;position:absolute;top:.5rem;left:0}.botFacts .good{color:var(--green)}.botFacts .bad{color:var(--danger)}.botFacts .muted{color:var(--muted)}.zoomTeachers{gap:.6rem;display:grid}.zoomTeachers article{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem .85rem}.zoomTeachers header{align-items:baseline;gap:.5rem;margin-bottom:.2rem;display:flex}.zoomTeachers header strong{font-size:.87rem;font-weight:650}.zoomTeachers header small{color:var(--danger);font-size:.72rem}.zoomTeachers .guardians{margin:0;padding-top:.5rem}.chBadge.zoom{color:#1b4a8a;background:#dbe7fb}.choiceInline{color:var(--ink);grid-column:1/-1;align-items:center;gap:.45rem;font-size:.79rem;display:flex}.choiceInline input{accent-color:var(--green)}
.loginShell{grid-template-columns:1.05fr 1fr;min-height:100dvh;display:grid}.loginAside{background:var(--brand);color:var(--brand-ink);flex-direction:column;justify-content:space-between;padding:clamp(2rem,6vw,5rem);display:flex}.loginAside h1{letter-spacing:-.045em;max-width:11ch;margin:0;font-size:clamp(2.2rem,4.4vw,4.2rem);font-weight:700;line-height:1.02}.loginAside h1 em{color:var(--accent);font-style:normal}.loginAside p{color:var(--brand-muted);max-width:44ch;font-size:.92rem;line-height:1.65}.loginAside>div:nth-child(2){margin:auto 0}.loginAside .pill{border:1px solid var(--brand-line);border-radius:var(--radius-xs);color:var(--accent);letter-spacing:.03em;margin-bottom:1.4rem;padding:.4rem .75rem;font-size:.7rem;font-weight:600;display:inline-block}.loginAside .featureLine{flex-wrap:wrap;gap:1.2rem;margin-top:1.9rem;display:flex}.loginAside .featureLine span{color:var(--brand-muted);font-size:.73rem}.loginAside .featureLine span:before{content:"—";color:var(--accent);margin-right:.45rem}.loginBrand{align-items:center;gap:.65rem;font-weight:650;display:flex}.loginBrand span{background:var(--accent);width:36px;height:36px;color:var(--on-accent);border-radius:var(--radius-sm);place-items:center;font-size:.68rem;font-weight:800;display:grid}.loginQuote{color:var(--brand-muted);font-size:.8rem}.loginQuote strong{color:var(--brand-ink);margin-bottom:.25rem;display:block}.loginQuote p{margin:0;font-size:.75rem}.loginMain{background:var(--bg);place-items:center;padding:1.5rem;display:grid}.loginForm{width:min(370px,100%)}.loginForm>span{color:var(--green);letter-spacing:.13em;text-transform:uppercase;font-size:.68rem;font-weight:750}.loginForm h2{letter-spacing:-.03em;margin:.55rem 0 .35rem;font-size:1.75rem;font-weight:700}.loginForm>p{color:var(--muted);margin:0 0 1.8rem;font-size:.87rem}.loginForm label{color:var(--muted);gap:.35rem;margin-bottom:.9rem;font-size:.76rem;font-weight:650;display:grid}.loginForm input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);outline:none;padding:.7rem .8rem;font-weight:400}.loginForm input:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-2)}.loginForm button{justify-content:center;width:100%;margin-top:.3rem;padding:.75rem}.loginError{background:var(--danger-2);color:var(--danger);border-radius:var(--radius-sm);margin-bottom:.9rem;padding:.7rem .8rem;font-size:.79rem}.loginHint{text-align:center;color:var(--muted);margin-top:1.2rem!important;font-size:.72rem!important}.themeSwitch{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);gap:1px;padding:2px;display:inline-flex}.themeSwitch button{color:var(--muted);border-radius:var(--radius-xs);cursor:pointer;background:0 0;border:0;place-items:center;width:28px;height:24px;transition:background .12s,color .12s;display:grid}.themeSwitch button:hover{color:var(--ink)}.themeSwitch button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.financeTabs{flex-wrap:wrap;gap:.35rem;margin-bottom:1.1rem;display:flex}.financeTabs button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:var(--radius-xs);cursor:pointer;padding:.45rem .9rem;font-size:.79rem;font-weight:600;transition:border-color .12s,color .12s}.financeTabs button:hover{border-color:var(--line-strong);color:var(--ink)}.financeTabs button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--on-green)}.moneyCards{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:.8rem;margin-bottom:1.1rem;display:grid}.moneyCard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.moneyCard small{color:var(--muted);margin-bottom:.3rem;font-size:.735rem;display:block}.moneyCard strong{letter-spacing:-.025em;font-size:1.5rem;font-weight:700}.moneyCard.warn strong{color:var(--danger)}.num{text-align:right}.debt{color:var(--danger);font-weight:650}.periodBar{flex-wrap:wrap;align-items:end;gap:.6rem;margin-bottom:1.1rem;display:flex}.periodBar label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.73rem;font-weight:600;display:flex}.periodBar input{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);padding:.5rem .6rem}.hint{color:var(--muted);margin:0 0 1rem;font-size:.82rem}.srOnly{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
@media (max-width:1050px){.metricGrid{grid-template-columns:1fr 1fr}.headerDate{display:none}}@media (max-width:760px){.sidebar{transition:transform .2s;transform:translate(-105%)}.sidebar.open{transform:translate(0)}.navBackdrop{display:block}.crmMain{margin-left:0;padding:4.4rem 1rem 3rem}.mobileMenu{z-index:18;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:38px;height:38px;color:var(--ink);box-shadow:var(--shadow);cursor:pointer;place-items:center;display:grid;position:fixed;top:1rem;left:1rem}.pageHeader{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1.3rem}.metricGrid{grid-template-columns:1fr 1fr;gap:.6rem}.metricCard{padding:.85rem .9rem}.modalFields,.loginShell{grid-template-columns:1fr}.loginAside{display:none}}@media (max-width:560px){.panelTitle{flex-direction:column;align-items:stretch;gap:.7rem}.panelTitle h2{font-size:1.05rem}.panelTitle .primaryAction{justify-content:center}.panelTitle>a:not(.primaryAction){align-self:flex-start}}@media (max-width:470px){.metricGrid{grid-template-columns:1fr 1fr}.dataToolbar{display:grid}.searchBox{width:100%}.primaryAction{justify-content:center;width:100%}.pageHeader h1{font-size:1.6rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
