:root{--ink:#14213d;--ink-deep:#0b1530;--text:#1c2b45;--muted:#5b6b82;--bg:#eaf6fd;--surface:#fff;--border:#c9dcea;--blue:#7cc8f0;--blue-deep:#46aae3;--blue-soft:#eaf6fd;--blue-strong:#14699c;--accent:#ff9f43;--accent-hover:#f58b20;--accent-text:var(--ink);--orange-strong:#b94a0a;--danger:#b42318;--danger-bg:#fef3f2;color:var(--text);background:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}h1{margin:0 0 .25rem;font-size:1.6rem}.muted{color:var(--muted);margin:0 0 1rem}.status{text-align:center;color:var(--muted);padding:2rem}.login-form{flex-direction:column;gap:1rem;display:flex}.login-form h2{margin:0;font-size:1.4rem}.login-form .muted{margin:0}label{flex-direction:column;gap:.25rem;font-size:.9rem;font-weight:600;display:flex}input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:.6rem .75rem;font-weight:400}input:focus-visible,button:focus-visible{outline:2px solid var(--blue-strong);outline-offset:2px}button{font:inherit;color:var(--accent-text);background:var(--accent);cursor:pointer;border:0;border-radius:8px;padding:.65rem 1rem;font-weight:600}button:hover:not(:disabled):not(.secondary):not(.toggle):not(.side-item):not(.menu-item):not(.figure-line):not(.cell-button),.cta:hover{background:var(--accent-hover)}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--text);border:1px solid var(--border);background:0 0}.error{color:var(--danger);background:var(--danger-bg);border-radius:8px;margin:0;padding:.6rem .75rem;font-size:.9rem}.topbar{background:var(--surface);border-bottom:3px solid var(--blue);align-items:center;gap:1rem;padding:.75rem 1.5rem;display:flex}.spacer{flex:1}.content{max-width:960px;margin:0 auto;padding:2rem 1.5rem}.password-row{display:flex;position:relative}.password-row input{flex:1;padding-right:4.5rem}button.toggle{height:100%;color:var(--blue-strong);background:0 0;padding:0 .75rem;font-size:.9rem;position:absolute;top:0;right:0}.landing{color:var(--ink);background:linear-gradient(180deg, var(--blue-soft) 0, var(--surface) 640px);min-height:100vh}.account-area{z-index:10;position:fixed;top:1rem;right:1rem}.account-button{border-radius:999px;align-items:center;gap:.5rem;max-width:calc(100vw - 2rem);padding:.55rem 1.25rem;display:flex;box-shadow:0 4px 14px #10182840}.account-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.account-panel{width:min(100vw - 2rem,340px);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 12px 32px #10182838}.account-menu{flex-direction:column;gap:.25rem;display:flex}.account-who{border-bottom:1px solid var(--border);overflow-wrap:anywhere;flex-direction:column;margin:0 0 .5rem;padding-bottom:.75rem;display:flex}.account-who span{color:var(--muted);font-size:.9rem}.menu-item{width:100%;font:inherit;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:.6rem .75rem;font-weight:600;text-decoration:none;display:block}.menu-item:hover,button.menu-item:hover:not(:disabled){background:var(--blue-soft)}.account-button:focus-visible,.cta:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.landing-header{padding:1.25rem 1.5rem}.brand{letter-spacing:.02em;color:var(--blue-strong);font-size:1.25rem;font-weight:700}.hero{text-align:center;max-width:760px;margin:0 auto;padding:3.5rem 1.5rem 4.5rem}.hero h1{margin:.25rem 0 1rem;font-size:clamp(2rem,5vw,3.2rem);line-height:1.15}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--orange-strong);margin:0;font-size:.9rem;font-weight:600}.lead{color:var(--muted);margin:0 0 2rem;font-size:1.15rem}.cta{color:var(--accent-text);background:var(--accent);border-radius:8px;padding:.8rem 1.75rem;font-weight:600;text-decoration:none;display:inline-block}.section{padding:3.5rem 1.5rem}.section.alt{background:var(--blue-soft)}.section h2{text-align:center;max-width:960px;margin:0 auto 1.75rem;font-size:1.75rem}.grid,.steps,.contact{max-width:960px;margin:0 auto}.grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.25rem;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-top:4px solid var(--blue);border-radius:12px;padding:1.5rem}.tile.program{border-top-color:var(--accent)}.subheading{max-width:960px;color:var(--blue-strong);margin:2rem auto 1rem;scroll-margin-top:1rem;font-size:1.1rem}.section h2+.subheading{margin-top:0}.landing .tile h4,.landing .steps h3{margin:0 0 .5rem;font-size:1.1rem}.landing .tile p,.landing .steps p{color:var(--muted);margin:0}.steps{counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;padding:0;list-style:none;display:grid}.steps li{background:var(--surface);counter-increment:step;border-radius:12px;padding:1.5rem}.steps li:before{content:counter(step);width:2rem;height:2rem;color:var(--ink);background:var(--blue);border-radius:50%;place-items:center;margin-bottom:.75rem;font-weight:700;display:grid}.contact{grid-template-columns:max-content 1fr;justify-content:center;gap:.5rem 1.5rem;display:grid}.contact dt{font-weight:600}.contact dd{margin:0}.contact a{color:var(--blue-strong)}.landing-footer{text-align:center;color:var(--muted);border-top:1px solid var(--border);padding:1.5rem;font-size:.9rem}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.shell{grid-template:"toolbar toolbar"52px"sidebar main"1fr/84px 1fr;height:100vh;display:grid}.shell-toolbar{background:var(--surface);border-bottom:4px solid var(--blue);grid-area:toolbar;align-items:center;gap:1rem;padding:0 1rem;display:flex}.shell-toolbar .brand{font-size:1.15rem}.toolbar-search,.toolbar-select{height:34px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:0;padding:0 .6rem;font-size:.9rem}.toolbar-search{flex:0 225px}.toolbar-select{flex:0 198px}@media (width<=760px){.toolbar-select{display:none}}@media (width<=520px){.shell-toolbar{gap:.5rem;padding:0 .5rem}.toolbar-search{flex-basis:120px}}.shell-sidebar{background:var(--blue-soft);border-right:1px solid var(--border);flex-direction:column;grid-area:sidebar;gap:.5rem;padding:.75rem .5rem;display:flex;overflow-y:auto}.shell-main{grid-area:main;min-width:0;padding:.75rem;overflow:auto}.side-item{width:100%;font:inherit;text-align:center;color:var(--blue-strong);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .15rem;font-size:.68rem;font-weight:600;line-height:1.15;text-decoration:none;display:flex}.side-item span{text-overflow:ellipsis;max-width:100%;overflow:hidden}.side-item:hover{background:#fff6ea}.side-item.active{color:var(--ink);background:var(--accent);border-color:var(--accent-hover)}.side-menu{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;min-width:9.5rem;padding:.25rem;display:flex;position:fixed;box-shadow:0 12px 32px #10182838}.side-menu a{color:var(--text);border-radius:8px;padding:.4rem .65rem;font-size:.85rem;font-weight:600;text-decoration:none}.side-menu a:hover{background:var(--blue-soft)}.side-menu a.active{color:var(--ink);background:var(--accent)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden}.panel-head{background:var(--blue-deep);border-bottom:1px solid var(--blue-strong);align-items:center;gap:.75rem;padding:.4rem .75rem;display:flex}.panel-head h2{color:var(--ink-deep);margin:0;font-size:1.1rem}.panel-body{padding:1rem}.hint{color:var(--muted);margin:0}.account-area.inline{position:relative;top:auto;right:auto}@media (width<=600px){.shell{grid-template-columns:56px 1fr}.side-item span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.side-item{padding:.6rem 0;position:relative}.shell-main{padding:.5rem}}.dash-grid{grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);align-items:start;gap:.75rem;display:grid}.dash-left{flex-direction:column;gap:.75rem;min-width:0;display:flex}.dash-right{min-width:0;position:sticky;top:0}.dash-right .panel{flex-direction:column;max-height:calc(100vh - 52px - 1.5rem);display:flex}.dash-right .panel-body{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.dash-right .hint{padding:1rem}.tile-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.figure-tile{background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden}.figure-tile h2{color:var(--ink-deep);background:var(--blue-deep);margin:0;padding:.4rem .75rem;font-size:1.05rem}.figure-tile.chosen h2{color:#fff;background:var(--blue-strong)}.figure-tile ul{margin:0;padding:.3rem 0;list-style:none}.figure-line,.cell-button{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:4px;font-weight:400}.figure-line{text-align:left;border-radius:0;justify-content:space-between;gap:.75rem;width:100%;padding:.2rem .75rem;display:flex}.figure-line strong{font-variant-numeric:tabular-nums}.figure-line:hover,.cell-button:hover{background:var(--blue-soft)}.figure-line.chosen,.cell-button.chosen{color:var(--ink-deep);background:var(--accent)}.cell-button{text-align:left;font-variant-numeric:tabular-nums;min-width:2.2rem;padding:.15rem .4rem}.table-scroll{overflow-x:auto}.grid-table{border-collapse:collapse;width:100%;font-size:.92rem}.grid-table th,.grid-table td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);padding:.3rem .6rem}.grid-table thead th{color:var(--ink-deep);background:var(--blue-soft);font-weight:600}.grid-table.figures td,.grid-table.figures th[scope=row]{padding:.1rem .2rem}.grid-table.figures th[scope=row]{font-weight:600}.grid-table .num{text-align:right}.table-empty{text-align:center;color:var(--muted);margin:0;padding:1rem}.list-scroll{flex:1;min-height:0;overflow:auto}.list-scroll thead th{z-index:1;position:sticky;top:0}.students tbody tr:hover{background:var(--blue-soft)}.students .unpaid{color:var(--danger);font-weight:600}.students tr.inactive td{color:var(--muted);background:#f2f2f2}.students .chat{text-align:center;width:1%;padding-right:.4rem}.students .chat a{color:var(--blue-strong);display:inline-flex}.students-panel .panel-head h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.students-panel .count{white-space:pre;font-weight:400}.panel-actions{margin-left:auto}.payment-filter{height:28px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:0 .4rem;font-size:.9rem}button.refresh{align-self:flex-start}@media (width<=900px){.dash-grid{grid-template-columns:1fr}.dash-right{position:static}.dash-right .panel{height:70vh}.tile-row{grid-template-columns:1fr}}
