:root{--forest:#0F431F;--forest-deep:#0A3216;--forest-soft:#1B5A2C;--cream:#FDFBF4;--surface:#FFF;--hairline:#E7E2D4;--ink:#10241A;--muted:#52685C;--faint:#546A5C;--ctrl:#5F7268;--mint:#E4EFE7;--mint-soft:#EAF9EF;--gold:#C08A2E;--gold-soft:#FBF0DC;--gold-ink:#8A5F1E;--n1:#F6F4EC;--n2:#EDEAE0;--n3:#DAD5C6;--crit:#A03028;--crit-soft:#FBECEA;--sky:#2E6F8E;--sky-soft:#E6F0F4;--wa:#25A366;--f:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--e:cubic-bezier(.32,.72,0,1);--t1:130ms;--t2:250ms;--t3:400ms;--navw:242px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--cream);font-family:var(--f);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}body,button{color:var(--ink)}button{font-family:inherit}input[type=date],input[type=datetime-local],input[type=time]{min-width:0;max-width:100%}@supports (-webkit-touch-callout:none){input[type=date],input[type=datetime-local],input[type=time]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:38px;text-align:start}input[type=date][value=""]:before{content:"Choose a date";color:var(--faint)}input[type=time][value=""]:before{content:"Choose a time";color:var(--faint)}}.app{display:grid;grid-template-columns:var(--navw) 1fr;height:100vh;overflow:hidden;transition:grid-template-columns var(--t2) var(--e)}.app.navmini{--navw:62px}.nav{background:var(--forest-deep);padding:12px 10px;display:flex;flex-direction:column;overflow:hidden;position:relative}.app.navmini .nav{padding:12px 9px}.nvtop{display:flex;align-items:center;gap:9px;padding:2px 4px 12px;border-bottom:1px solid var(--navsep)}.lg{width:32px;height:32px;border-radius:8px;background:var(--gold);color:var(--forest-deep);display:grid;place-items:center;font-weight:800;font-size:14px;letter-spacing:-.01em;flex:none;overflow:hidden}.lg img{width:100%;height:100%;object-fit:cover;display:block}.nvid{min-width:0}.nvname{color:#fff;font-weight:650;font-size:14px;line-height:1.15}.nvname,.nvsub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nvsub{color:#8FAE97;font-size:11px}.collapse{margin-left:auto;background:none;border:none;color:#8FAE97;cursor:pointer;padding:5px;border-radius:6px;display:grid;place-items:center}.collapse:hover{background:rgba(255,255,255,.09);color:#fff}.collapse svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;transition:transform var(--t2) var(--e)}.app.navmini .collapse svg{transform:rotate(180deg)}.app.navmini .ct,.app.navmini .grp,.app.navmini .ni span.lbl,.app.navmini .nvid,.app.navmini .nvname,.app.navmini .nvsub{display:none}.app.navmini .nvtop{flex-direction:column;justify-content:center;gap:6px;padding:2px 0 10px}.app.navmini .collapse{margin:0}.nvinner{flex:1 1;min-height:0;overflow-y:auto;overflow-x:hidden}.grp{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--navgrp);font-weight:700;padding:13px 9px 5px}.grp,.ni{white-space:nowrap}.ni{display:flex;align-items:center;gap:10px;padding:8px 9px;border-radius:7px;font-size:13px;cursor:pointer;width:100%;border:none;background:none;text-align:left;color:#CFE0D4;text-decoration:none;transition:background var(--t1) var(--e),color var(--t1) var(--e)}.ni:hover{background:rgba(255,255,255,.08);color:#fff}.ni.on{background:var(--forest-soft);color:#fff;font-weight:650}.ni svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.ct{margin-left:auto;background:var(--navpill);color:var(--navpill-ink);font-size:11px;font-weight:700;padding:1px 7px;border-radius:9px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:none}.nvfoot{border-top:1px solid rgba(255,255,255,.1);padding-top:9px;margin-top:6px}.app.navmini .ni{justify-content:center;padding:9px 0}.wrap{flex-direction:column;height:100vh;min-height:0;overflow:hidden}.hdr,.wrap{display:flex}.hdr{background:var(--surface);border-bottom:1px solid var(--hairline);padding:10px 22px;align-items:center;gap:14px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.srch{flex:1 1;max-width:400px;position:relative}.srch input{width:100%;border:1px solid var(--n3);border-radius:8px;padding:8px 12px 8px 33px;font:400 13px var(--f);background:var(--n1);color:var(--ink)}.srch input:focus{outline:none;border-color:var(--forest);background:#fff;box-shadow:0 0 0 3px var(--mint)}.srch svg{position:absolute;left:10px;top:9px;width:15px;height:15px;fill:none;stroke:var(--ctrl);stroke-width:2}.hbtn{position:relative;background:none;border:none;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;cursor:pointer;color:var(--faint)}.hbtn:hover{background:var(--n1);color:var(--ink)}.hbtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.hbtn .bdg{position:absolute;top:4px;right:4px;min-width:15px;height:15px;border-radius:8px;background:var(--crit);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 3px}.who{display:flex;align-items:center;gap:8px;padding:3px 11px 3px 3px;border-radius:20px;cursor:pointer;border:1px solid var(--hairline);background:var(--n1);color:var(--ink);transition:background var(--t1) var(--e),border-color var(--t1) var(--e)}.who:hover{background:var(--mint-soft);border-color:var(--forest)}.who b{font-size:13px;font-weight:600}.ava img{width:100%;height:100%;object-fit:cover;display:block}.ava{width:28px;height:28px;border-radius:50%;background:var(--forest);color:#fff;display:grid;place-items:center;font-weight:700;font-size:11px;flex:none;overflow:hidden}.main{padding:22px;overflow:auto;flex:1 1;min-height:0}.top{align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.top,.top-actions{display:flex;flex-wrap:wrap}.top-actions{align-items:center;gap:8px}h1{letter-spacing:-.02em}.family-page-heading,h1{font-size:21px;font-weight:700}.family-page-heading{letter-spacing:0;margin:0}.sub{color:var(--muted);font-size:13px;margin-top:2px}.btn{text-decoration:none;background:var(--forest);color:#fff;border:none;border-radius:7px;padding:8px 14px;font:600 13px var(--f);cursor:pointer;display:inline-flex;gap:6px;align-items:center;transition:background var(--t1) var(--e),transform var(--t1) var(--e)}.btn:hover:not(:disabled):not([disabled]){background:var(--forest-soft)}.btn:active:not(:disabled):not([disabled]){transform:translateY(1px)}.btn:disabled,.btn[disabled]{opacity:.7;cursor:not-allowed}.btn:disabled:not(:where(.gh)):not(:where(.wa)):not(:where(.danger)):not(:where(.danger-plain)):not(:where(.quiet-danger)):not(:where(.dgr)):not(:where(.dg)):not(:where(.md-dg)):not(:where(.sec)):not(:where(.ar-secondary)):not(:where(.cpol-danger)):not(:where(.v7-btn-crit)):not(:where(.c4-danger)):not(:where(.c4-close)):not(:where(.conv-btn2)):not(:where(.sched-cal .btn)),.btn[disabled]:not(:where(.gh)):not(:where(.wa)):not(:where(.danger)):not(:where(.danger-plain)):not(:where(.quiet-danger)):not(:where(.dgr)):not(:where(.dg)):not(:where(.md-dg)):not(:where(.sec)):not(:where(.ar-secondary)):not(:where(.cpol-danger)):not(:where(.v7-btn-crit)):not(:where(.c4-danger)):not(:where(.c4-close)):not(:where(.conv-btn2)):not(:where(.sched-cal .btn)){background:var(--n2);color:var(--muted);opacity:1}@media (min-width:768px){.btn:not(:where(:disabled)):not(:where([disabled])):not(:where([aria-disabled=true])):not(:where(.gh)):not(:where(.wa)):not(:where(.danger)):not(:where(.danger-plain)):not(:where(.quiet-danger)):not(:where(.dgr)):not(:where(.dg)):not(:where(.md-dg)):not(:where(.sec)):not(:where(.ar-secondary)):not(:where(.cpol-danger)):not(:where(.v7-btn-crit)):not(:where(.c4-danger)):not(:where(.c4-close)):not(:where(.conv-btn2)):not(:where(.sched-cal .btn)){box-shadow:0 0 0 3px var(--mint)}}.btn-spinner{width:13px;height:13px;border:2px solid;border-right:2px solid transparent;border-radius:50%;display:inline-block;animation:btn-spin .7s linear infinite}.btn.gh{background:var(--surface);color:var(--ink);border:1px solid var(--n3)}.btn.gh:hover:not(:disabled):not([disabled]){background:var(--n1)}.btn.gh[aria-pressed=true]{background:var(--mint);color:var(--forest);border-color:var(--forest)}.btn.gh[aria-pressed=true]:hover:not(:disabled):not([disabled]){background:var(--mint-soft)}.btn.wa{background:var(--wa)}.btn.wa:hover:not(:disabled):not([disabled]){background:#1e8b56}.btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.welcome-shell{min-height:100vh;padding:40px 80px 24px}.welcome-pane{max-width:1280px;margin:0 auto}.welcome-brand{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:32px}.welcome-logo{height:36px;width:auto;display:block}.welcome-subtitle{color:var(--muted);font-size:13px;margin-top:4px}.welcome-saved{color:var(--muted);font-size:12px;padding-top:18px}.welcome-progress{margin-bottom:48px}.welcome-bars{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:6px;gap:6px;margin-bottom:10px}.welcome-bars i{height:6px;border-radius:99px;background:var(--n2);display:block}.welcome-bars i.on{background:var(--forest)}.welcome-labels{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:6px;gap:6px;color:var(--muted);font-size:11px;font-weight:700}.welcome-labels span.on{color:var(--forest)}.welcome-step{max-width:720px;margin:0 auto 28px}.welcome-step-head{margin-bottom:28px}.welcome-step-head h2{font-size:24px;line-height:1.25;margin:0 0 4px}.welcome-step-head p{font-size:14px;color:var(--muted);margin:0}.welcome-form-stack{display:grid;grid-gap:28px;gap:28px}.welcome-radio-list{display:grid;grid-gap:16px;gap:16px}.welcome-option{display:block;border:1px solid var(--hairline);border-radius:8px;background:var(--surface);cursor:pointer;overflow:hidden}.welcome-option.on{border-color:var(--forest);box-shadow:inset 0 0 0 1px var(--forest)}.welcome-option-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--hairline)}.welcome-option-head h3{font-size:15px;margin:0}.welcome-option-body{padding:16px}.welcome-option-body p{margin:0 0 16px}.welcome-sections{color:var(--muted);font-size:13px}.welcome-url-field{display:flex;align-items:center;border:1px solid var(--n3);border-radius:8px;background:var(--surface);overflow:hidden}.welcome-url-field span{padding:10px 0 10px 14px;color:var(--muted);font-size:13px;white-space:nowrap}.welcome-url-field input{border:0;box-shadow:none;border-radius:0;min-width:0;flex:1 1;padding-left:4px}.welcome-url-field input:focus{box-shadow:none}.welcome-logo-row{display:grid;grid-template-columns:72px 1fr;grid-gap:14px;gap:14px;align-items:end}.welcome-logo-preview{width:56px;height:56px;border:1px solid var(--hairline);border-radius:12px;background:var(--n1);display:grid;place-items:center;font-weight:800;overflow:hidden}.welcome-logo-preview img{width:100%;height:100%;object-fit:cover;display:block}.welcome-seat-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.welcome-seat-metric{border:1px solid var(--hairline);border-radius:8px;background:var(--surface);padding:12px}.welcome-seat-metric .k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.welcome-seat-metric .v{font-size:20px;font-weight:800;margin-top:2px}.welcome-empty{border-top:1px solid var(--hairline);padding:32px 20px;text-align:center;color:var(--muted)}.welcome-empty b{display:block;color:var(--ink);font-size:13px;margin-bottom:4px}.welcome-summary{display:grid;grid-gap:10px;gap:10px}.welcome-summary-row{display:grid;grid-template-columns:20px 1fr auto;grid-gap:14px;gap:14px;align-items:center;border:1px solid var(--hairline);border-radius:8px;background:var(--surface);padding:14px 16px}.welcome-check{width:20px;height:20px;border-radius:50%;background:var(--mint);color:var(--forest);display:grid;place-items:center;font-size:13px;font-weight:900}.welcome-summary-row .k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.welcome-summary-row .v{font-size:13px;font-weight:700}.welcome-summary-row.is-skipped{background:var(--n1);color:var(--muted)}.welcome-summary-row.is-skipped .welcome-check{background:var(--n2);color:var(--muted)}.welcome-choice-card{border:1px solid var(--hairline);border-radius:8px;background:var(--surface);padding:16px;text-align:left}.welcome-choice-card h3{font-size:14px;margin:0 0 4px}.welcome-choice-card p{margin:0;color:var(--muted)}.welcome-footer{max-width:720px;margin:28px auto 18px;padding-top:16px;border-top:1px solid var(--hairline)}.welcome-footer-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center}.welcome-skip{display:block;margin:12px auto 0;border:0;background:transparent;color:var(--muted);font:600 13px var(--f);cursor:pointer}@media (max-width:700px){.welcome-shell{padding:24px 20px}.welcome-brand{margin-bottom:16px}.welcome-logo{height:28px}.welcome-saved{display:none}.welcome-progress{margin-bottom:20px}.welcome-bars{display:block;background:var(--n2);height:6px;border-radius:99px;overflow:hidden}.welcome-bars i{display:none}.welcome-bars:before{content:"";display:block;height:6px;width:var(--welcome-progress,16.666%);background:var(--forest)}.welcome-labels{display:none}.welcome-step{margin-bottom:20px}.welcome-step-head h2{font-size:21px}.welcome-form-stack{gap:20px}.welcome-seat-metrics{grid-template-columns:1fr}.welcome-footer-actions{justify-content:stretch}.welcome-footer-actions .btn{flex:1 1;justify-content:center}}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--hairline);margin-bottom:16px;overflow-x:auto;overflow-y:hidden}.tab{background:none;padding:9px 13px;font:600 13px var(--f);color:var(--muted);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color var(--t1) var(--e)}.tab:hover{color:var(--ink)}.tab.on{color:var(--forest);border-bottom-color:var(--forest)}.cols{display:grid;grid-template-columns:1fr 300px;grid-gap:16px;gap:16px;align-items:start}.cols.today .row.st>.mt{min-height:36px;line-height:1.5}.cols3{display:grid;grid-template-columns:250px 1fr;grid-gap:16px;gap:16px;align-items:start}@media(max-width:1150px){.cols,.cols3{grid-template-columns:1fr}.cols3>.leadcol{order:-1}}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:10px;margin-bottom:16px;overflow:hidden}.ch{display:flex;align-items:center;gap:9px;padding:12px 15px;border-bottom:1px solid var(--hairline);flex-wrap:wrap}.ch h2{font-size:14px;font-weight:650}.ch .n{background:var(--n2);color:var(--faint);font-size:11px;font-weight:700;border-radius:20px;padding:1px 7px}.ch .act{margin-left:auto;font-size:12px;color:var(--forest);font-weight:600;cursor:pointer;border:none;background:none}.ch .act:hover{text-decoration:underline}.row{display:flex;align-items:center;gap:11px;padding:11px 15px;border-bottom:1px solid var(--n1);cursor:pointer;transition:background var(--t1) var(--e),transform var(--t1) var(--e)}.row:last-child{border-bottom:none}.row:hover{transform:translateX(2px)}.row.sel,.row:hover{background:var(--mint-soft)}.row.sel{box-shadow:inset 3px 0 0 var(--forest)}.row.st{cursor:default}.row.st:hover{background:none;transform:none}.dash-decision{width:100%;border:0;border-bottom:1px solid var(--n1);background:var(--surface);display:flex;align-items:center;gap:11px;padding:11px 15px;text-align:left;cursor:pointer;color:var(--ink);font:inherit;transition:background var(--t1) var(--e),transform var(--t1) var(--e)}.dash-decision:hover{background:var(--mint-soft);transform:translateX(2px)}.dash-decision span{min-width:0;display:grid}.dash-decision em{margin-left:auto;flex:none;font-style:normal}.row.st.dash-request{background:var(--surface);align-items:flex-start}.dash-request-body{min-width:0;display:grid;grid-gap:4px;gap:4px;font-size:13px}.dash-request-body>.mt{margin-top:0}.dash-request-compact .dash-request-body{gap:3px}.dash-request-notice{font-size:13px;color:var(--ink)}.dash-request-facts,.dash-request-notice{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.dash-request-facts{min-width:0}.dash-request-facts .chip{max-width:100%;overflow:hidden;text-overflow:ellipsis}.dash-request-facts .chip svg{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dash-request-why{font-size:13px;color:var(--ink)}@media (max-width:640px){.row.st.dash-request{flex-wrap:wrap}.row.st.dash-request>.dash-request-body{flex:1 1 100%}.row.st.dash-request>.end{margin-left:0;width:100%;flex-wrap:wrap;gap:7px}.row.st.make-up-credits-row{flex-wrap:wrap}.row.st.make-up-credits-row>.end{margin-left:0;width:100%;flex-wrap:wrap}.row.st.make-up-credits-row>.end>.mt{flex:1 1 100%}}.dash-request-open{display:inline-flex;align-items:center;min-height:24px;justify-self:start;color:inherit;text-decoration:none;border-radius:4px}.dash-request-open:hover{color:var(--forest);text-decoration:underline}.dash-request-open:focus-visible{outline:2px solid var(--forest);outline-offset:2px;color:var(--forest)}.av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;flex:none;color:#fff}.av svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nm{font-weight:600;font-size:13px}.mt{font-size:12px;color:var(--muted);margin-top:1px}.rowmsg{display:block;font-size:13px;font-weight:600;line-height:1.4;margin-top:4px;overflow-wrap:anywhere}.rowmsg.good{color:var(--forest)}.rowmsg.bad{color:var(--crit)}.actwarn{display:block;font-size:13px;font-weight:600;line-height:1.4;color:var(--gold-ink);overflow-wrap:anywhere}.end{margin-left:auto;display:flex;gap:7px;flex:none}.chip,.end{align-items:center}.chip{display:inline-flex;gap:4px;font-size:11px;font-weight:700;padding:3px 7px;border-radius:5px;white-space:nowrap}.access-standing{display:inline-grid;gap:5px;align-items:start;justify-items:start;max-width:100%}.access-standing .chip{width:max-content;max-width:100%}.student-record-status-slot{flex:none}.c-live{background:var(--crit);color:#fff}.c-wait{background:var(--gold-ink);color:#fff}.c-ok{background:var(--mint-soft);color:var(--forest)}.c-due{background:var(--crit);color:#fff}.c-info{background:var(--sky-soft);color:var(--sky)}.c-mut{background:var(--n1);color:var(--muted)}.chip.c-due:before,.chip.c-info:before,.chip.c-live:before,.chip.c-ok:before,.chip.c-wait:before,.student-record-status-slot .chip:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.student-record-status-slot .chip.c-mut:before{content:none}.c-wa{background:#E3F5EB;color:#1B7A4C}.makeup-credit-row{align-items:center}.makeup-credit-mark{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:none;background:var(--mint);color:var(--forest)}.makeup-credit-mark svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.makeup-credit-main{min-width:0;display:grid;grid-gap:5px;gap:5px;flex:1 1}.makeup-credit-facts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.makeup-credit-facts .chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.makeup-credit-facts .chip svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.makeup-credit-age{margin-left:auto;flex:none}.makeup-credit-more{display:flex;justify-content:flex-end;padding:8px 15px;border-bottom:1px solid var(--n1)}.mini{border:none;background:var(--n1);color:var(--ink);border-radius:6px;padding:5px 10px;min-height:28px;font:600 12px var(--f);cursor:pointer;transition:background var(--t1) var(--e)}.mini:hover{background:var(--n2)}.mini.go{background:var(--forest);color:#fff}.mini.go:hover{background:var(--forest-soft)}.wa-card{position:relative;overflow:hidden;animation:wa-in var(--t2) var(--e);border-color:#CFE0D4;background:linear-gradient(180deg,#FFFFFF,#F7FBF8)}.wa-card:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:4px;background:var(--forest)}.wa-card .ch{border-bottom-color:#DFE8E2}.wa-pref{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-column-gap:14px;column-gap:14px;align-items:center;padding:12px 20px 13px;border-top:1px solid #dfe8e2}.wa-pref-desc{font-size:12px;font-weight:500;color:var(--muted);line-height:1.4;margin-top:2px}.wa-pref .sw{width:40px;height:24px;border-radius:12px}.wa-pref .sw:after{width:20px;height:20px;left:18px}.wa-pref .sw.off:after{left:2px}.wa-pref .sw:disabled{cursor:default}.wa-pref .sw:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.wa-pref .rowmsg{grid-column:1/-1}.wa-groups-h,.wa-pref .rowmsg.wait{color:var(--muted)}.wa-groups-h{font-size:12px;font-weight:650;padding:12px 20px 4px;border-top:1px solid #dfe8e2}.wa-groups-h+.wa-pref{border-top:none}.wa-pref-mixed{font-size:12px;font-weight:600;color:var(--ink);line-height:1.4;margin-top:4px}.wa-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#E3F5EB;color:#1B7A4C;flex:none}.wa-icon svg,.wa-success svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.wa-body{display:flex;justify-content:space-between;gap:14px;padding:13px 20px;animation:wa-step var(--t2) var(--e)}.wa-body,.wa-step{align-items:center}.wa-step{display:grid;grid-template-columns:minmax(0,1fr) auto;justify-content:stretch;grid-gap:16px;gap:16px}.wa-stack{display:grid;grid-gap:11px;gap:11px;min-width:0;flex:1 1}.wa-step-title{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}.wa-inline-note{font-size:12px;font-weight:550;color:var(--muted);line-height:1.35}.wa-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.wa-step .wa-actions{justify-content:flex-end;-webkit-margin-before:0;margin-block-start:0}.wa-grid{display:grid;grid-template-columns:112px minmax(220px,330px);grid-gap:9px;gap:9px;max-width:451px}.wa-code,.wa-grid label{display:grid;grid-gap:4px;gap:4px;font-size:11px;font-weight:650;color:var(--muted)}.wa-code input,.wa-grid input{width:100%;border:1px solid var(--n3);border-radius:7px;background:#fff;color:var(--ink);font:500 13px var(--f);padding:8px 10px;min-height:36px}.wa-code input:focus,.wa-grid input:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px var(--mint)}.wa-code{max-width:210px}.wa-success{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#fff;flex:none;animation:wa-check var(--t3) var(--e)}.wa-error{display:flex;align-items:center;gap:7px;margin:0 20px 13px;color:var(--crit);font-size:12px;font-weight:650;line-height:1.35}.wa-error:before{content:"!";width:18px;height:18px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--crit-soft);border:1px solid rgba(192,57,43,.22);font-size:11px;font-weight:800;line-height:1;color:var(--crit)}@keyframes wa-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes wa-step{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}@keyframes wa-check{0%{transform:scale(.86)}60%{transform:scale(1.08)}to{transform:scale(1)}}@media(max-width:720px){.wa-body{align-items:stretch;flex-direction:column;padding:12px 16px}.wa-step{display:flex}.wa-actions,.wa-step .wa-actions{justify-content:flex-start}.wa-grid{grid-template-columns:1fr;max-width:none}.wa-error{margin-inline:16px}}@media(prefers-reduced-motion:reduce){.wa-body,.wa-card,.wa-success{animation:none}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));grid-gap:11px;gap:11px;margin-bottom:16px}.op-visual-grid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;padding:0 15px 15px;align-items:stretch}.op-panel{min-height:100%;background:linear-gradient(180deg,var(--surface),var(--cream));box-shadow:0 8px 22px rgba(22,34,28,.045)}.op-panel .ch{background:rgba(245,247,244,.72);border-bottom:1px solid var(--hairline)}.op-panel-body{padding:14px 15px}.op-empty{margin:0;padding:16px 15px;color:var(--muted);font-size:13px;line-height:1.45}.op-list{display:grid;grid-gap:8px;gap:8px;padding:14px 15px}.op-list-row,.outcome-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--hairline);background:var(--cream);border-radius:9px;padding:8px 10px;font-size:13px}.op-list-row span,.outcome-item span{color:var(--muted);min-width:0}.op-list-row b,.outcome-item b{font-weight:750;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.op-action-row{justify-content:flex-start;align-items:flex-start;padding:10px 11px}.op-action-count{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;background:#8A5F1E;color:#fff;font-weight:800;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:0 0 auto}.op-list-row .op-action-count{color:#fff}.op-action-copy{display:grid;grid-gap:3px;gap:3px;color:var(--ink)!important}.op-action-copy b{font-size:13px;line-height:1.25}.op-action-copy small{color:var(--muted);font-size:12px;line-height:1.35}.outcome-body{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;grid-gap:14px;gap:14px;padding:14px 15px}.outcome-legend{display:grid;grid-gap:7px;gap:7px;min-width:0}.trend-chart{width:100%;height:134px;padding:8px 10px 12px;box-sizing:border-box}.trend-body{display:grid;grid-gap:8px;gap:8px;padding:12px 15px 14px}.op-note{margin:0;color:var(--muted);font-size:13px;line-height:1.4}.period-panel{display:grid;grid-gap:10px;gap:10px}.period-panel .tabs{margin-bottom:0}.period-custom{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:0}.period-custom label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--muted)}.period-custom input,.period-custom select{height:30px;border:1px solid var(--hairline);border-radius:8px;background:var(--cream);padding:0 8px;color:var(--ink);font:600 12px var(--f)}.period-preset{min-width:0}.period-strip-wrap{padding:0 15px 10px}.period-popover-wrap,.period-strip-wrap{position:relative;display:flex;align-items:center;justify-content:space-between}.period-popover-wrap{gap:10px;width:100%;min-width:0}.period-active{display:grid;grid-gap:2px;gap:2px;min-width:0}.period-active span{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ctrl);font-weight:700}.period-active b{font-size:13px;color:var(--ink);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.period-trigger{width:34px;height:34px;border:1px solid var(--n3);border-radius:8px;background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:border-color var(--t1) var(--e),color var(--t1) var(--e),background var(--t1) var(--e)}.period-trigger:hover,.period-trigger[aria-expanded=true]{border-color:var(--forest);color:var(--forest);background:var(--mint-soft)}.period-trigger:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.period-trigger-icon{width:15px;height:15px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round}.period-menu{position:absolute;right:0;top:40px;z-index:30;width:min(342px,calc(100vw - 38px));border:1px solid var(--hairline);border-radius:12px;background:var(--surface);box-shadow:0 18px 45px rgba(16,36,26,.14);padding:12px;display:grid;grid-gap:10px;gap:10px}.period-menu-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--n1);padding-bottom:8px}.period-menu-head b{font-size:13px}.period-menu-head span{color:var(--muted);font-size:12px;line-height:1.3;text-align:right}.period-menu .btn{padding:6px 10px;font-size:12px;border-radius:7px}.duration-empty{margin:10px 0 0}.load-chart{grid-template-columns:repeat(auto-fit,minmax(46px,1fr));grid-gap:10px;gap:10px;min-height:132px;padding:8px 2px 0}.load-bar,.load-chart{display:grid;align-items:end}.load-bar{grid-template-rows:90px auto auto;justify-items:center;grid-gap:6px;gap:6px;min-width:0;color:var(--muted);font-size:11px}.load-fill{width:100%;max-width:30px;border-radius:999px 999px 6px 6px;background:linear-gradient(180deg,var(--forest),rgba(15,67,31,.72));box-shadow:0 8px 18px rgba(15,67,31,.14);animation:grow var(--t3) var(--e) both}.load-bar b{color:var(--ink);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.load-bar span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:520px){.op-visual-grid,.outcome-body{grid-template-columns:1fr}.outcome-body{justify-items:center}.outcome-legend{width:100%}}.stt{background:var(--surface);border:1px solid var(--hairline);border-radius:10px;padding:13px 14px}.stt .k{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ctrl);font-weight:700}.stt .v{font-size:24px;font-weight:700;letter-spacing:-.02em;margin-top:4px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.stt .d{font-size:12px;color:var(--muted);margin-top:1px}.stats.today .stt .d{line-height:1.5;min-height:36px}.stats.today{display:flex;flex-wrap:wrap}.stats.today>.stt{flex:1 1 168px}.stt.w{background:var(--gold-soft);border-color:#E8D5AC}.stt.w .k{color:#8A5F1E}.stt.i-money{background:var(--sky-soft);border-color:var(--sky)}.stt.i-money .k{color:var(--sky)}.stt.i-homework{background:var(--n1);border-color:var(--n3)}.stt.i-homework .k{color:var(--muted)}.stt.i-enquiries{background:var(--mint);border-color:var(--forest)}.stt.i-enquiries .k{color:var(--forest)}.stt.u{background:var(--crit-soft);border-color:var(--crit)}.stt.u .k{color:var(--crit)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:9px 15px;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ctrl);font-weight:700;border-bottom:1px solid var(--hairline);white-space:nowrap}.sortth{all:unset;display:inline-flex;align-items:center;gap:4px;min-height:28px;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}.sortth:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.sortth:focus-visible{outline:2px solid var(--mint);outline-offset:2px;border-radius:3px}td{padding:10px 15px;border-bottom:1px solid var(--n1)}tbody tr{cursor:pointer;transition:background var(--t1) var(--e)}tbody tr:hover{background:var(--mint-soft)}tbody tr.rowlink{position:relative;transform:translateZ(0);contain:paint}tbody tr.rowlink a.rowlink-a:after{content:"";position:absolute;inset-block:0;inset-inline:0;z-index:1}tbody tr.rowlink .above-rowlink{position:relative;z-index:2}td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}td.num,th.num{text-align:right}.tbar{display:flex;gap:8px;padding:11px 15px;border-bottom:1px solid var(--hairline);align-items:center;flex-wrap:wrap}.fld{border:1px solid var(--n3);border-radius:7px;padding:6px 10px;font:400 13px var(--f);background:var(--surface);color:var(--ink)}.fld:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px var(--mint)}.pg{display:flex;align-items:center;gap:8px;padding:10px 15px;font-size:13px;color:var(--muted)}.pg button{border:1px solid var(--n3);background:var(--surface);border-radius:6px;padding:5px 10px;min-height:28px;font:600 12px var(--f);cursor:pointer;color:var(--ink)}.pg button:disabled{opacity:.4;cursor:default}.pg button:hover:not(:disabled){background:var(--n1)}.det{background:var(--surface);border:1px solid var(--hairline);border-radius:10px;overflow:hidden}.dhd{padding:14px 15px;border-bottom:1px solid var(--hairline);display:flex;gap:11px;align-items:center}.ds{padding:13px 15px;border-bottom:1px solid var(--n1)}.ds:last-child{border-bottom:none}.v7-sin>.ds,.v7-sin>div>.ds{padding-inline:0}.dl{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ctrl);font-weight:700;margin-bottom:7px}.kv{display:flex;justify-content:space-between;padding:4px 0;font-size:13px;gap:12px}.kv span{color:var(--muted)}.kv b{font-weight:650;text-align:right}.student-timetable-rows{display:grid;grid-gap:8px;gap:8px}.student-subsection-title{margin-top:14px;padding-top:12px;border-top:1px solid var(--n1)}.student-timetable-range{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:2px 0 7px;font-size:13px}.student-timetable-range span{color:var(--muted)}.student-timetable-range b{font-weight:650;text-align:right}.student-timetable-row{border:1px solid var(--n1);border-radius:12px;background:var(--cream);padding:10px 11px}.student-timetable-main{display:flex;justify-content:space-between;gap:12px;font-size:13px}.student-timetable-main>span{color:var(--muted)}.student-timetable-main b{font-weight:700;text-align:right;display:block}.student-timetable-when{display:block;color:var(--ink)}.student-timetable-zone{display:block;color:var(--muted);font-weight:600;margin-top:2px}.student-timetable-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.35}.leaving-left-state-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;flex-wrap:wrap}.student-progress-visual{margin-top:6px}.student-progress-count{display:flex;align-items:center;gap:8px;margin-top:6px;color:var(--muted);font-size:12px}.student-progress-count b{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;border-radius:999px;background:var(--n2);color:var(--ink);font-size:13px}.lesson-audit-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.lesson-audit-controls input,.lesson-audit-controls select{height:32px;border:1px solid var(--hairline);border-radius:8px;background:var(--cream);padding:0 10px;color:var(--ink);font:600 12px var(--f)}.lesson-audit-controls input{min-width:min(260px,100%);flex:1 1}.lesson-audit-controls select{min-width:150px}.lesson-audit-controls .btn{padding:7px 10px;font-size:12px;border-radius:8px}.lesson-audit-list{display:flex;flex-direction:column;border:1px solid var(--n1);border-radius:12px;background:var(--surface)}.lesson-audit-card{padding:12px 14px;border-top:1px solid var(--n1)}.lesson-audit-card:first-child{border-top:0}.lesson-audit-main{display:flex;justify-content:space-between;align-items:center;gap:12px}.lesson-audit-end{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.lesson-audit-more{display:flex;justify-content:center;align-items:center;min-height:44px;border-top:1px solid var(--n1)}.lesson-status-chip{display:inline-flex;width:max-content;max-width:100%;justify-content:flex-start;text-align:left}.lesson-note-slot{margin-top:10px;border-top:1px solid var(--n1);padding-top:10px}.lesson-note-slot-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:12px;font-weight:700;color:var(--ink)}.lesson-note-body{margin:0;color:var(--ink);font-size:13px;line-height:1.55}.lesson-note-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:8px}.lesson-note-action-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lesson-note-change-request{margin-top:10px;padding:10px;border:1px solid var(--n1);border-radius:12px;background:var(--n1)}.lesson-note-change-request textarea{width:100%;min-height:76px;border:1px solid var(--n1);border-radius:10px;background:var(--surface);padding:10px 12px;color:var(--ink);font:inherit;font-size:13px;line-height:1.45;resize:vertical}.lesson-note-change-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:8px}.lesson-note-change-copy{margin-top:8px;color:var(--muted)}.lesson-audit-pager{justify-content:center;padding:10px 0 0}.bar{height:6px;background:var(--n2);border-radius:3px;overflow:hidden;margin:7px 0 4px}.bar i{display:block;height:100%;background:var(--forest);transform-origin:left;animation:grow var(--t3) var(--e) both}.bar i.w{background:var(--gold)}.bar i.r{background:var(--crit)}.teacher-profile-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;padding:0 15px 15px}.teacher-profile-card{border:1px solid var(--n1);background:linear-gradient(180deg,var(--surface),var(--cream));border-radius:12px;padding:14px;display:grid;grid-gap:12px;gap:12px;min-width:0}.teacher-profile-card h3{margin:0;font-size:14px;line-height:1.2;letter-spacing:-.01em}.teacher-profile-facts{display:grid;grid-gap:8px;gap:8px}.teacher-profile-fact{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0;border-bottom:1px solid var(--n1);padding:0 0 8px}.teacher-profile-fact:last-child{border-bottom:none;padding-bottom:0}.teacher-profile-fact span{font-size:11px;color:var(--muted);font-weight:650}.teacher-profile-fact b{font-size:13px;line-height:1.25;font-weight:700;overflow-wrap:anywhere;text-align:right}.teacher-profile-note{margin:0;font-size:13px;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}.teacher-timezone-edit{border:1px solid var(--n1);border-radius:10px;background:var(--surface);padding:12px;display:grid;grid-gap:10px;gap:10px}.teacher-timezone-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.teacher-timezone-head div{display:grid;grid-gap:4px;gap:4px;min-width:0}.teacher-timezone-head span{font-size:11px;color:var(--muted);font-weight:700}.teacher-timezone-head b{font-size:13px;line-height:1.3;overflow-wrap:anywhere}.teacher-timezone-source{margin:0;font-size:13px;font-weight:600;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}.teacher-timezone-actions{display:flex;gap:8px;flex-wrap:wrap}.teacher-timezone-actions .btn{margin:0}.teacher-timezone-error,.teacher-timezone-message{margin:0;font-size:12px;font-weight:700}.teacher-timezone-message{color:var(--forest)}.teacher-timezone-error{color:var(--crit)}.teacher-student-metrics{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.teacher-student-metrics span{border:1px solid var(--n1);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:650;line-height:1;padding:5px 7px;white-space:nowrap}@media(max-width:720px){.teacher-profile-grid{grid-template-columns:1fr}}.empty{padding:26px 15px;text-align:center;color:var(--muted);font-size:13px}.empty b{display:block;color:var(--ink);font-weight:650;margin-bottom:3px;font-size:14px}.empty .btn{margin-top:11px}.note{background:var(--gold-soft);border-left:3px solid var(--gold);padding:11px 14px;border-radius:0 7px 7px 0;font-size:13px;color:#6E4C18;margin-bottom:14px}.measure{max-width:68ch}.remedy{display:inline-flex;align-items:center;min-height:24px;color:var(--forest);font-weight:600;text-decoration:none;border-bottom:1px solid var(--hairline)}.remedy:hover{border-bottom-color:var(--forest)}.tog{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--n1);gap:14px}.tog:last-child{border:none}.sw{width:38px;height:22px;border-radius:11px;background:var(--forest);position:relative;flex:none;cursor:pointer;border:none;transition:background var(--t2) var(--e)}.sw.off{background:var(--n3)}.sw:after{content:"";position:absolute;top:2px;left:18px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left var(--t2) var(--e)}.sw.off:after{left:2px}.qa{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));grid-gap:9px;gap:9px;margin-bottom:16px}.qab{background:var(--surface);border:1px solid var(--hairline);border-radius:10px;padding:13px 11px;cursor:pointer;display:flex;flex-direction:column;gap:8px;align-items:flex-start;transition:transform var(--t1) var(--e),box-shadow var(--t1) var(--e),border-color var(--t1) var(--e)}.qab:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(16,36,26,.09);border-color:var(--forest)}.qab i{width:30px;height:30px;border-radius:8px;background:var(--mint);color:var(--forest);display:grid;place-items:center}.qab i svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.qab span{font-size:13px;font-weight:600;text-align:left;color:var(--ink)}.fn{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}@media(max-width:900px){.fn{grid-template-columns:repeat(2,1fr)}}.fcol{background:var(--n1);border-radius:10px;padding:10px;min-height:230px}.fh{display:flex;align-items:center;gap:7px;padding:2px 4px 9px;font-size:12px;font-weight:700;color:var(--faint)}.fh i{width:8px;height:8px;border-radius:50%;display:block}.fc{background:var(--surface);border:1px solid var(--hairline);border-radius:8px;padding:10px 11px;margin-bottom:8px;cursor:pointer;transition:transform var(--t1) var(--e),box-shadow var(--t1) var(--e)}.fc:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(16,36,26,.09)}.cal{background:var(--surface);border:1px solid var(--hairline);border-radius:10px;overflow:hidden}.calhd{display:grid;grid-template-columns:48px repeat(5,1fr);border-bottom:1px solid var(--hairline)}.calhd div{padding:8px 4px;font-size:11px;color:var(--muted);text-align:center;border-left:1px solid var(--n1)}.calhd div:first-child{border-left:none}.calhd b{display:block;font-size:14px;color:var(--ink);font-weight:700}.calbd{display:grid;grid-template-columns:48px repeat(5,1fr)}.hrs div{height:52px;font-size:11px;color:var(--ctrl);text-align:right;padding:2px 5px 0 0;border-top:1px solid var(--n1)}.dc{border-left:1px solid var(--n1);position:relative}.dc .sl{height:52px;border-top:1px solid var(--n1)}.ev{position:absolute;left:3px;right:3px;border-radius:6px;padding:4px 7px;font-size:11px;overflow:hidden;cursor:pointer;border-left:3px solid;text-align:left;transition:transform var(--t1) var(--e),box-shadow var(--t1) var(--e)}.ev:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,36,26,.14);z-index:5}.ev b{display:block;font-size:11px;font-weight:650}.ev small{color:var(--muted);font-size:11px}.ev.tg{background:var(--mint-soft);border-color:var(--forest)}.ev.nw{background:#FCEDEB;border-color:var(--crit)}.ev.nx{background:var(--surface);border-color:var(--ctrl);box-shadow:0 1px 3px rgba(16,36,26,.07)}.ev.cx{background:var(--n1);border-color:var(--n3);color:var(--muted)}.ev.fr{background:var(--mint-soft);border-color:#B9D3C0}.ev.sel{box-shadow:0 0 0 2px var(--forest),0 4px 12px rgba(16,36,26,.15);z-index:6}.scrim{position:fixed;inset:0;background:rgba(10,32,18,.32);opacity:0;pointer-events:none;transition:opacity var(--t2) var(--e);z-index:40}.scrim.on{opacity:1;pointer-events:auto}.drw{position:fixed;top:0;right:0;bottom:0;width:min(560px,100%);background:var(--surface);z-index:41;transform:translateX(100%);transition:transform var(--t2) var(--e);display:flex;flex-direction:column}.drw.on{transform:none;box-shadow:-8px 0 30px rgba(0,0,0,.14)}.drw.drw-timetable{background:var(--cream)}.drwh{padding:15px 18px;border-bottom:1px solid var(--hairline);display:flex;align-items:center;gap:10px}.drwh h2{font-size:16px;font-weight:700;flex:1 1}.x{background:none;border:none;font-size:20px;color:var(--muted);cursor:pointer;line-height:1;padding:3px 7px;border-radius:6px;min-width:28px;min-height:28px;display:inline-grid;place-items:center}.x:hover{background:var(--n1);color:var(--ink)}.drwb{padding:16px 18px;overflow:auto;flex:1 1}.drwf{padding:13px 18px;border-top:1px solid var(--hairline);display:flex;gap:8px;flex-wrap:wrap}.drawer-footer-notice{flex:0 0 100%;color:var(--crit);background:var(--crit-soft);border:1px solid #ffccc7;border-radius:8px;padding:9px 11px;font-size:13px;line-height:1.4;font-weight:650;overflow-wrap:anywhere}.f{margin-bottom:14px}.f label{display:block;font-size:12px;font-weight:650;margin-bottom:5px;color:var(--faint)}.f input,.f select,.f textarea{width:100%;border:1px solid var(--n3);border-radius:7px;padding:9px 11px;font:400 13px var(--f);background:var(--surface);color:var(--ink)}.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px var(--mint)}.f .hint{font-size:12px;color:var(--muted);margin-top:4px}.ro-value{display:block;padding:4px 0;font-size:13px;font-weight:650;color:var(--ink)}.f2{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px;gap:11px}.teacher-lessons-group{padding:0 15px 16px}.teacher-lessons-group .stats{margin-bottom:0}.stt .v.na{font-size:15px;letter-spacing:0;line-height:1.35}.learner-period-body{padding:13px 15px}.learner-period-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px;gap:11px}.learner-period-fields label{display:grid;grid-gap:5px;gap:5px;font-size:12px;font-weight:650;color:var(--faint)}.learner-period-fields input{width:100%;border:1px solid var(--n3);border-radius:7px;padding:9px 11px;font:400 13px var(--f);background:var(--surface);color:var(--ink)}.learner-period-fields input:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px var(--mint)}.learner-period-check{margin-top:12px}.learner-period-body .note{margin:12px 0 0}.learner-period-body .stt{margin-top:12px}.learner-period-lines{margin-top:12px;border-top:1px solid var(--n3);padding-top:10px}.learner-period-lines ul{list-style:none;margin:7px 0 0;padding:0;display:grid;grid-gap:7px;gap:7px}.learner-period-lines li{border-left:2px solid var(--n3);padding-left:9px;display:grid;grid-gap:2px;gap:2px;font-size:12px}.learner-period-lines li div:nth-child(n+2){color:var(--muted)}.learner-period-lines .learner-period-line-amount{color:var(--ink);font-weight:750}.learner-period-choice{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px;gap:11px;margin-top:12px}.learner-period-body .learner-period-choice .stt{margin-top:0}.learner-period-bands{margin:12px 0 0;padding:0;list-style:none;display:grid;grid-gap:4px;gap:4px;font-size:12px;color:var(--muted)}.days{display:flex;gap:5px;flex-wrap:wrap}.day{border:1px solid var(--n3);background:var(--surface);border-radius:7px;padding:7px 11px;font:600 13px var(--f);cursor:pointer;transition:all var(--t1) var(--e)}.day.on{background:var(--forest);color:#fff;border-color:var(--forest)}.npnl{position:fixed;top:56px;right:18px;width:min(380px,92vw);background:var(--surface);border:1px solid var(--hairline);border-radius:12px;z-index:42;box-shadow:0 14px 40px rgba(16,36,26,.16);overflow:hidden;opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;transition:all var(--t2) var(--e)}.npnl.on{opacity:1;transform:none;pointer-events:auto}.upnl{position:fixed;top:56px;right:18px;width:min(272px,92vw);background:var(--surface);border:1px solid var(--hairline);border-radius:12px;z-index:43;box-shadow:0 14px 40px rgba(16,36,26,.16);overflow:hidden;opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;transition:all var(--t2) var(--e);padding:6px}.upnl.on{opacity:1;transform:none;pointer-events:auto}.um{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;padding:9px 10px;border-radius:7px;font:500 13px var(--f);color:var(--ink);cursor:pointer;text-align:left}.um:hover{background:var(--n1)}.um svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none;color:var(--muted)}.um.danger,.um.danger svg{color:var(--crit)}.portal-switch{display:grid;grid-template-columns:1fr 1fr;grid-gap:3px;gap:3px;margin:5px 0 6px;padding:3px;border:1px solid var(--hairline);border-radius:9px;background:var(--n1)}.portal-option{display:flex;align-items:center;justify-content:center;gap:6px;min-height:32px;border:none;border-radius:7px;background:transparent;color:var(--muted);font:650 12px var(--f);cursor:pointer}.portal-option:hover{color:var(--ink);background:var(--surface)}.portal-option.on{color:var(--forest);background:var(--surface);box-shadow:0 1px 6px rgba(16,36,26,.08)}.portal-option svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.usep{height:1px;background:var(--hairline);margin:5px 8px}.uhd{padding:11px 11px 9px;gap:10px}.brand,.uhd{display:flex;align-items:center}.brand{gap:7px;padding:9px 11px;font-size:11px;color:var(--ctrl)}.brand b{color:var(--faint);font-weight:700;letter-spacing:.02em}.navfoot{border-top:1px solid rgba(255,255,255,.1);padding-top:8px;margin-top:8px}.navfoot .ni{font-size:13px;color:#9FBCA6}.navcontext{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);border-radius:9px;margin:0 2px 8px;padding:8px 9px;min-width:0}.navcontext-k{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--navgrp);font-weight:700;line-height:17px}.navcontext-k,.navcontext-v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navcontext-v{font-size:12px;color:#DCEADF;font-weight:650;line-height:15px;margin-top:2px}.app.navmini .navcontext{display:none}.navcontext-slot{display:flex;flex-direction:column;min-height:60px}.app.navmini .navcontext-slot{min-height:0}.wordmark{display:flex;align-items:center;gap:7px;padding:10px 9px 4px;white-space:nowrap}.wordmark i{width:18px;height:18px;display:grid;place-items:center;font-style:normal;flex:none;color:var(--brand)}.wordmark i svg{width:18px;height:18px;display:block}.wordmark span{font-size:11px;color:var(--navgrp)}.wordmark .wmk{width:64px;height:12px;flex:none;background:url(/ilmaivoLogo.svg) no-repeat 0/contain}.app.navmini .wordmark .wmk,.app.navmini .wordmark span{display:none}.app.navmini .wordmark{justify-content:center;padding:10px 0 4px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(70px);background:var(--cream);color:var(--ink);padding:11px 18px;border-radius:9px;font-size:13px;font-weight:600;opacity:0;pointer-events:none;transition:all var(--t2) var(--e);z-index:99;box-shadow:inset 0 0 0 1px var(--gold),0 12px 32px -12px rgba(16,36,26,.4)}.toast.on{transform:translateX(-50%);opacity:1}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes settle{0%{opacity:0}to{opacity:1}}@keyframes grow{0%{transform:scaleX(0)}to{transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.pane>*{animation:settle var(--t3) var(--e) both}.pane>:first-child{animation-delay:0s}.pane>:nth-child(2){animation-delay:55ms}.pane>:nth-child(3){animation-delay:.11s}.pane>:nth-child(4){animation-delay:165ms}.pane>:nth-child(5){animation-delay:.22s}.fc{animation:pop var(--t2) var(--e) both}.card[data-reserve=recent-activity]{min-height:calc(2px + 46px + 4*75.5px + 74.5px)}@keyframes beat{0%,to{box-shadow:0 0 0 0 rgba(160,48,40,.45)}70%{box-shadow:0 0 0 7px rgba(160,48,40,0)}}.c-live{animation:beat 2.2s var(--e) infinite}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-delay:0!important;transition-duration:.001ms!important}}:root{--brand:#5AC485;--navsep:#376945;--navpill:#CFE3D5;--navpill-ink:#0A3216;--navgrp:#8DAC96;--navsel-mark:var(--navpill);--navhover:rgba(255,255,255,.12)}.ngrp+.ngrp{margin-top:7px}.navfoot,.ngrp+.ngrp{border-top:1px solid var(--navsep)}.npnl{max-height:min(70vh,520px);overflow-y:auto}.npnl a.row{color:inherit;text-decoration:none}.npnl .row:hover{transform:none}.npnl .row.unread{background:var(--mint-soft)}.npnl .row.unread:hover{background:var(--mint)}.npnl .end .nt{font-size:11px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.npnl .end .dot{width:7px;height:7px;border-radius:50%;background:var(--crit);display:block;flex:none}.npnl .ch .n{margin-left:auto}.npnl .mark-all-read{border:1px solid var(--hairline);background:var(--surface);color:var(--ink);font:650 12px var(--f);border-radius:8px;padding:5px 9px;cursor:pointer;-webkit-margin-start:auto;margin-inline-start:auto}.npnl .ch .n+.mark-all-read{-webkit-margin-start:0;margin-inline-start:0}.npnl .mark-all-read:hover{background:var(--n1);border-color:var(--n3)}.npnl .mark-all-read:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.npnl .row.st .act{font-size:12px;color:var(--forest);font-weight:600;cursor:pointer;border:none;background:none;padding:0;text-decoration:none;white-space:nowrap}.npnl .row.st .act:hover{text-decoration:underline}.notice-list{display:grid;grid-gap:8px;gap:8px;padding:10px 12px 12px;background:linear-gradient(180deg,var(--surface),var(--cream))}.notice-row{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;min-height:70px;padding:12px 14px;border:1px solid var(--hairline);border-radius:8px;background:var(--surface);color:var(--ink);text-decoration:none;box-shadow:0 1px 0 rgba(16,36,26,.03);transition:background var(--t1) var(--e),border-color var(--t1) var(--e),box-shadow var(--t1) var(--e),transform var(--t1) var(--e)}.notice-row:hover{background:var(--mint-soft);border-color:var(--n3);box-shadow:0 8px 20px rgba(16,36,26,.08);text-decoration:none;transform:translateY(-1px)}.notice-row:focus-visible{outline:none;box-shadow:0 0 0 3px var(--mint),0 0 0 1px var(--forest)}.notice-row.unread{border-color:rgba(15,67,31,.28);box-shadow:inset 3px 0 0 var(--forest),0 1px 0 rgba(16,36,26,.03)}.notice-row.unread:hover{box-shadow:inset 3px 0 0 var(--forest),0 8px 20px rgba(16,36,26,.08)}.notice-row-static{cursor:default}.notice-row-static:hover{background:var(--surface);border-color:var(--hairline);box-shadow:0 1px 0 rgba(16,36,26,.03);transform:none}.notice-tile{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--mint-soft);color:var(--forest)}.notice-tile svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.npnl .row.unread .notice-tile{background:var(--surface)}.npnl .row .v7-chip{margin-top:4px;width:max-content}.notice-main{min-width:0}.notice-title-line{display:flex;align-items:center;gap:8px;min-width:0}.notice-title{display:block;min-width:0;color:var(--ink);font-size:14px;font-weight:750;line-height:1.25}.notice-message,.notice-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-message{margin-top:3px;color:var(--muted);font-size:13px;line-height:1.35}.notice-meta{display:flex;align-items:center;gap:7px;margin-top:8px;flex-wrap:wrap}.notice-kind{background:var(--n1);color:var(--faint);font-weight:700;letter-spacing:0}.notice-kind,.notice-unread-label{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:6px;font-size:11px;line-height:1.1}.notice-unread-label{background:var(--mint);color:var(--forest);font-weight:800}.notice-unread-dot{width:7px;height:7px;border-radius:50%;background:var(--crit);flex:none}.notice-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;justify-self:end;min-width:58px}.notice-time{color:var(--muted);font-size:12px;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;text-decoration:none}.notice-open{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:2px 8px;border:1px solid var(--hairline);border-radius:6px;background:var(--cream);color:var(--forest);font-size:12px;font-weight:700;line-height:1}@media(max-width:720px){.notice-list{padding:8px}.notice-row{grid-template-columns:32px minmax(0,1fr);align-items:flex-start;padding:11px 12px}.notice-tile{width:32px;height:32px}.notice-side{grid-column:2;grid-row:2;align-items:flex-start;flex-direction:row;justify-self:start;margin-top:2px}.notice-message,.notice-title{white-space:normal}}.upnl .uhd .ava.big{width:34px;height:34px;font-size:12px}.wordmark .wmkicon{width:18px;height:18px;display:block;flex:none;border-radius:4px}.hact{margin-left:auto;display:flex;align-items:center;gap:9px}.upnl .uhd{border-bottom:1px solid var(--hairline);margin-bottom:5px}.upnl .uhd .nm{font-size:13px;font-weight:650}.upnl .uhd .mt{font-size:12px;color:var(--muted)}.upnl .uhd .uidentity{min-width:0}.upnl .uhd .mt,.upnl .uhd .nm{overflow:hidden;text-overflow:ellipsis}.hdr{flex-wrap:nowrap}.srch,.srch input{min-width:0}.who b{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:860px){.who b{display:none}}.ttfg{border-top:1px solid var(--hairline);padding-top:12px;margin-bottom:18px;animation:rise var(--t3) var(--e) both}.ttfg:first-of-type{border-top:none;padding-top:0}.ttfg:nth-of-type(2){animation-delay:60ms}.ttfg:nth-of-type(3){animation-delay:.12s}.ttfgh{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:10px}.ttfrow{animation:rise var(--t2) var(--e) both}.ttf-times{grid-gap:8px}.ttf-times,.ttf-tr{display:grid;gap:8px}.ttf-tr{grid-template-columns:40px minmax(0,1fr) auto;align-items:center;grid-gap:8px}.ttf-tr>b{font:600 14px var(--f)}.ttf-tr .f{min-width:0;margin:0}.ttf-days .days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.ttf-days .day{padding-inline:0}.ttf-tr .to{font-size:13px;color:var(--muted);white-space:nowrap}.ttf-facts{border:1px solid var(--hairline);border-radius:10px;overflow:hidden}.ttf-facts>*+*{border-top:1px solid var(--hairline)}.ttf-fact{display:flex;align-items:center;gap:8px;width:100%;min-height:40px;padding:0 12px;border:0;background:var(--surface);font:400 13px var(--f);text-align:start;cursor:pointer}.ttf-fact>span{color:var(--muted);flex:1 1}.ttf-fact>b{font-weight:600;white-space:nowrap}.ttf-fact>svg{color:var(--ctrl);flex:none}.ttf-fact-pick{padding:8px 12px 12px}.ttf-fact-pick .f{margin:0}.ttf-datefield,.ttf-timefield{position:relative;display:flex;align-items:center}.ttf-timefield>input{width:100%;padding-block:9px;padding-inline:32px 11px}.ttf-datefield>input[aria-invalid=true],.ttf-timefield>input[aria-invalid=true]{border-color:var(--crit)}.ttf-pick{position:absolute;inset-block:0;inset-inline-start:0;width:32px;-webkit-padding-start:11px;padding-inline-start:11px;display:flex;align-items:center;color:var(--ctrl)}.ttf-datefield .ttf-pick>input,.ttf-timefield .ttf-pick>input{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;opacity:0;cursor:pointer}@media (max-width:640px){.drwb .v7-intents:not(.v7-sec .v7-intents){border-radius:0;border-inline:0;margin-inline:-16px}}.ttf-datefield>input{width:100%;padding:9px 12px 9px 32px;border:1px solid var(--n3);border-radius:7px;font:400 13px var(--f);background:var(--surface);color:var(--ink)}.ttf-datefield>.v7-chip{position:absolute;inset-inline-end:10px}.ttf-datefield.ttf-datefield-chip>input{-webkit-padding-end:104px;padding-inline-end:104px}@media (max-width:640px){.v7-two.v7-temp-dates{grid-template-columns:minmax(0,1fr)}}.drwh-t{flex:1 1;min-width:0}.drwh-ctx{font:400 13px/18px var(--f);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drwh-ctx b{font-weight:600;color:var(--ink)}.ttf-chg{display:flex;align-items:flex-start;gap:10px;color:var(--ink)}.ttf-chg>svg{flex:none;margin-top:3px;color:var(--ctrl)}.ttf-chg-what{display:flex;flex-wrap:wrap;gap:6px;font:600 14px/20px var(--f)}.ttf-chg-what s{font-weight:400;color:var(--muted)}.ttf-chg-when{display:block;font:400 13px/18px var(--f);color:var(--muted)}.ttf-say{justify-content:center}.ttf-local-times{border:1px solid var(--n1);border-radius:8px;background:var(--surface);padding:10px;margin:-6px 0 14px;display:grid;grid-gap:10px;gap:10px;min-width:0;max-width:100%;overflow:hidden;box-sizing:border-box}.ttf-local-times-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0;flex-wrap:wrap}.ttf-local-times-head>div{min-width:0}.ttf-local-times-head p{margin:3px 0 0;color:var(--muted);font-size:12px;line-height:1.35}.ttf-local-times-head .mini{white-space:normal;text-align:left;max-width:100%}.ttf-local-times-list,.ttf-local-times-row{display:grid;grid-gap:8px;gap:8px;min-width:0}.ttf-local-times-row{border:1px solid var(--n1);border-radius:8px;background:var(--cream);padding:8px;width:100%;box-sizing:border-box;contain:paint}.ttf-local-times-row>*{min-width:0}.ttf-local-clocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,126px),1fr));grid-gap:7px;gap:7px;min-width:0}.ttf-local-time{display:grid;grid-gap:3px;gap:3px;min-width:0;border:1px solid var(--n1);border-radius:7px;background:var(--surface);padding:7px;box-sizing:border-box}.ttf-local-time b{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ttf-local-time-value{font-size:12px;line-height:1.32;font-weight:750;color:var(--ink);overflow-wrap:anywhere;word-break:normal}.ttf-local-time-delta,.ttf-local-time-zone{font-size:11px;line-height:1.25;color:var(--muted);overflow-wrap:anywhere}.ttf-local-time-delta{font-weight:700;color:var(--sky)}.ttf-local-day{font-weight:750;color:var(--ink);font-size:12px;line-height:1.32;overflow-wrap:anywhere}.ttf-local-missing{color:var(--muted);font-weight:650}.ttfconfirm{animation:rise var(--t2) var(--e) both;border:1px solid var(--hairline);border-radius:8px;padding:11px 12px;background:var(--n1)}.ttfconfirm .dl{margin-bottom:7px}.ttfwho{font:600 13px var(--f);color:var(--muted);margin-bottom:2px}.ttfconfirm .ttfwho{font:600 14px var(--f);color:var(--ink)}.ttfconfirm .ttfwhen{font-size:13px;color:var(--ink);margin-top:3px}.ttfconfirm .ttfdays{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-gap:6px;gap:6px}.ttfconfirm .ttfdays li{border:1px solid var(--hairline);border-radius:6px;background:var(--surface);padding:7px 10px;font-size:13px;color:var(--muted)}.ttfconfirm .ttfdays li strong,.ttfconfirm .ttffirst{font-weight:600;color:var(--ink)}.ttfconfirm .ttffirst{margin-top:10px;font-size:13px}.ttfconfirm .ttfnote{margin-top:7px;font-size:12px;line-height:1.55;color:var(--muted)}.ttfconfirm .ttfpast{margin:10px 0 0;border:1px solid var(--hairline);border-radius:8px;background:var(--surface);padding:10px;display:grid;grid-gap:7px;gap:7px}.ttfconfirm .ttfpast legend{font-size:12px;font-weight:700;color:var(--ink);padding:0 4px}.ttfconfirm .ttfpastrow{display:grid;grid-template-columns:16px minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;font-size:13px;color:var(--ink)}.ttfconfirm .ttfpastrow small{font-size:11px;color:var(--gold-ink);font-weight:700;text-transform:uppercase}.ttfconfirm>:first-child{margin-top:0}.ttfconfirm .form-rule{margin:12px 0 10px}.ttfalert{animation:pop var(--t1) var(--e) both}.day:active{transform:scale(.93)}.day.on{box-shadow:0 1px 6px rgba(15,67,31,.22)}.day:focus-visible,.ttfg .btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--mint)}.sfld{width:100%;box-sizing:border-box;height:34px;border:1px solid var(--n3);border-radius:7px;padding:0 10px;font:400 13px var(--f);background:var(--surface);color:var(--ink)}.sfld:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px var(--mint)}.sfld:disabled{background:var(--n1);color:var(--faint)}.slab{display:block;font:600 12px var(--f);color:var(--faint);margin-bottom:5px}.srow{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px}.schoice{display:inline-flex;align-items:center;gap:7px;font:400 13px var(--f);color:var(--ink);cursor:pointer}.stwrap{overflow-x:auto;margin-top:12px}.stgrid{width:100%;border-collapse:collapse}.stgrid th{text-align:left;font:600 12px var(--f);color:var(--faint);padding:0 10px 7px 0;white-space:nowrap}.stgrid td{padding:0 10px 10px 0;vertical-align:middle}.stgrid td:last-child,.stgrid th:last-child{padding-right:0}.stgrid .stname{min-width:130px}@media (max-width:720px){.stgrid,.stgrid tbody,.stgrid td,.stgrid tr{display:block;width:100%}.stgrid thead{display:none}.stgrid tr{padding-bottom:6px}.stgrid td{padding:0 0 10px}.stgrid td:before{content:attr(data-h);display:block;font:600 12px var(--f);color:var(--faint);margin-bottom:5px}}.pf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:13px 20px;gap:13px 20px;padding:14px 15px}.pf-item{min-width:0}.pf-l{color:var(--muted);font-size:12px;font-weight:600}.pf-l,.pf-v{display:block}.pf-v{font-size:14px;font-weight:650;-webkit-margin-before:3px;margin-block-start:3px;overflow-wrap:anywhere}.pf-grid input.pf-v{width:100%;font:600 14px var(--f);color:var(--ink);background:var(--surface);border:1px solid var(--n3);border-radius:7px;padding:7px 9px}.pf-grid input.pf-v:focus{outline:none;border-color:var(--forest)}.pf-sec{padding:14px 15px}.pf-grid+.pf-sec{-webkit-border-before:1px solid var(--n1);border-block-start:1px solid var(--n1)}.pf-photo{gap:14px;padding:14px 15px;-webkit-border-after:1px solid var(--n1);border-block-end:1px solid var(--n1)}.pf-photo,.pf-photo-face{display:flex;align-items:center}.pf-photo-face{inline-size:72px;block-size:72px;flex:0 0 auto;border-radius:50%;overflow:hidden;background:var(--n1);justify-content:center}.pf-photo-img{inline-size:100%;block-size:100%;object-fit:cover;display:block}.pf-photo-initials{font:650 24px var(--f);color:var(--muted)}.pf-photo-side{min-width:0;display:flex;flex-direction:column;gap:7px}.pf-photo-actions{display:flex;gap:8px;flex-wrap:wrap}.pf-photo-file{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.pf-photo-progress{display:flex;gap:8px;align-items:center}.pf-photo-bar{inline-size:170px;block-size:6px;border-radius:3px;background:var(--n1);overflow:hidden}.pf-photo-fill{display:block;block-size:100%;background:var(--forest);transition:inline-size var(--t1) var(--e)}.pf-photo-error{color:var(--crit);font-size:13px}.pf-tags{display:flex;flex-wrap:wrap;gap:7px;-webkit-margin-before:7px;margin-block-start:7px}.pf-tag{background:var(--mint);color:var(--forest);font-size:12px;font-weight:650;border-radius:20px;padding:3px 10px}.pf-foot{gap:9px;padding:13px 15px;-webkit-border-before:1px solid var(--hairline);border-block-start:1px solid var(--hairline)}.pf-foot,.team-status{display:flex;flex-wrap:wrap}.team-status{gap:5px;align-items:center}.metric-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:500}.metric-cell.muted{font-weight:500;color:var(--muted)}.metric-cell.warn{color:var(--crit)}.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.teacher-table{table-layout:fixed;min-width:920px}.teacher-table .teacher-col-person{width:26%}.teacher-table .teacher-col-learners{width:10%}.teacher-table .teacher-col-lessons{width:16%}.teacher-table .teacher-col-attendance{width:20%}.teacher-table .teacher-col-availability,.teacher-table .teacher-col-status{width:14%}.teacher-table th.num{text-align:left}.teacher-table td.num{text-align:left;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teacher-table th.num .sortth{justify-content:flex-start;text-align:left}.teacher-table .teacher-status-col,.teacher-table .teacher-status-head{text-align:left}.teacher-table td{overflow:hidden;text-overflow:ellipsis}.teacher-head-stack{display:grid;grid-gap:5px;gap:5px;align-items:start}.teacher-sort-row{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.teacher-sort-mini{font-size:11px;font-weight:650;color:var(--muted);background:var(--n1);border:1px solid var(--n2);border-radius:999px;padding:3px 7px}.teacher-sort-mini:hover{border-color:var(--forest);color:var(--forest)}.teacher-person{display:flex;align-items:center;gap:9px;min-width:0;max-width:100%}.teacher-person-copy{min-width:0}.teacher-person-email,.teacher-person-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-status-live{background:var(--crit);color:#fff;animation:beat 2.2s var(--e) infinite}.teacher-status-free{background:var(--sky-soft);color:var(--sky)}.teacher-status-off{background:var(--n1);color:var(--muted)}.teacher-status-active{background:var(--mint-soft);color:var(--forest)}.teacher-status-pending{background:var(--gold-ink);color:#fff}.teacher-status-unknown{background:var(--ctrl);color:#fff;border:1px solid var(--ctrl)}.teacher-status-cell{flex-wrap:wrap;gap:6px;align-items:flex-start}.teacher-status-cell,.teacher-status-cell .chip{display:inline-flex;justify-content:flex-start;max-width:100%}.teacher-status-cell .chip{width:max-content;text-align:left}.teacher-workload{display:grid;grid-template-columns:repeat(4,minmax(48px,1fr));grid-gap:5px;gap:5px;min-width:240px}.teacher-metric{display:grid;grid-gap:2px;gap:2px;align-content:center;min-height:34px;padding:5px 6px;border:1px solid var(--n1);border-radius:10px;background:var(--surface)}.teacher-metric-v{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:750;font-size:14px;line-height:1}.teacher-metric-k{font-size:11px;color:var(--muted);font-weight:650;line-height:1.12}.teacher-metric.is-muted .teacher-metric-v{color:var(--muted);font-weight:600}.teacher-metric.is-warn{border-color:color-mix(in srgb,var(--crit) 28%,var(--n1));background:color-mix(in srgb,var(--crit) 7%,var(--surface))}.teacher-metric.is-warn .teacher-metric-v{color:var(--crit)}.teacher-metric-chip{align-content:start}.teacher-status-stack{min-width:100px}.teacher-access{display:grid;grid-gap:5px;gap:5px;min-width:110px}.member-change{min-width:118px;max-width:270px}.member-change summary{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--n3);border-radius:9px;background:var(--surface);padding:6px 9px;cursor:pointer;font-weight:650;color:var(--forest);list-style:none}.member-change summary::-webkit-details-marker{display:none}.member-change summary:focus-visible{outline:3px solid var(--mint);outline-offset:2px}.member-change-summary{display:grid;grid-gap:2px;gap:2px;text-align:start}.member-change[open] summary{border-color:var(--forest);background:var(--mint)}.member-change-panel{-webkit-margin-before:8px;margin-block-start:8px;padding:10px;border:1px solid var(--n2);border-radius:10px;background:var(--surface);box-shadow:0 8px 22px rgba(28,44,35,.08)}.member-change-grid{display:grid;grid-gap:8px;gap:8px;min-width:220px}.member-change-grid select{-webkit-margin-before:3px;margin-block-start:3px;display:block;width:100%;font:500 13px var(--f);border:1px solid var(--n3);border-radius:8px;background:var(--surface);color:var(--ink);padding:7px 8px}.settings-billing{display:grid;grid-gap:18px;gap:18px;min-width:0}.settings-team-redesign{padding:0}.settings-warning{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1px solid #f4d39b;border-radius:8px;background:#FFF6E8;color:#854D0E}.settings-warning span{width:20px;height:20px;border:1px solid #d97706;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;line-height:1;flex:none}.settings-warning b{font-size:13px;font-weight:700;line-height:1.35}.settings-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.settings-metrics-six{grid-template-columns:repeat(6,minmax(0,1fr))}.settings-metric{display:grid;align-content:start;grid-gap:5px;gap:5px;min-width:0;min-height:86px;padding:13px 14px;border:1px solid var(--hairline);border-radius:8px;background:var(--surface)}.settings-metric span{color:var(--ctrl);font-size:11px;font-weight:750;letter-spacing:0;text-transform:uppercase;line-height:1.2}.settings-metric b{color:var(--ink);font-size:20px;font-weight:750;line-height:1.12;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.settings-metric small{color:var(--muted);font-size:11px;line-height:1.35;overflow-wrap:anywhere}.settings-metric-plan{border-color:#B8D8F2;background:#ECF5FC}.settings-metric-plan b{color:#096DD9}.settings-metric-open{border-color:#B7EBCC;background:#EBF9F1}.settings-metric-open b{color:#187948}.settings-metric-warn{border-color:#F4D39B;background:#FFF6E8}.settings-metric-warn b{color:#854D0E}.settings-action-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 13px;border-block:1px solid var(--hairline)}.settings-action-bar h2{font-size:16px;font-weight:750;line-height:1.25}.settings-action-bar .btn{min-height:34px;justify-content:center}.settings-subsection{display:grid;min-width:0;border:1px solid var(--hairline);border-radius:8px;background:var(--surface);overflow:hidden}.settings-subhead{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;-webkit-border-after:1px solid var(--n1);border-block-end:1px solid var(--n1);background:var(--surface)}.settings-subhead h3{font-size:13px;font-weight:750;line-height:1.3;color:#854D0E}.settings-subhead>span{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:650}.settings-person-list{display:grid}.settings-person{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;min-height:38px;padding:9px 13px;-webkit-border-before:1px solid var(--n1);border-block-start:1px solid var(--n1)}.settings-person:first-child{-webkit-border-before:0;border-block-start:0}.settings-person>div{display:grid;grid-gap:1px;gap:1px;min-width:0}.settings-person b{font-size:13px;font-weight:650;line-height:1.3;overflow-wrap:anywhere}.settings-person span{font-size:12px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}.settings-person>span{flex:0 0 auto;max-width:42%;text-align:end;font-weight:650;color:var(--forest)}.settings-person-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}.settings-person-actions>span{font-size:12px;font-weight:650;color:var(--forest);line-height:1.35}.settings-person-actions .btn{min-height:32px;justify-content:center}.settings-pending-invites{border-color:#F4D39B}.settings-pending-invites .settings-subhead{background:#FFFDF8}.settings-pending-person .settings-person-actions>span{color:#8A5F1E}.settings-rate-pill{display:inline-flex;align-items:center;border:1px solid #f4d39b;border-radius:5px;background:#FFF6E8;color:#854D0E!important;padding:2px 7px;font-size:11px!important;font-weight:750!important}.settings-ok-line{display:grid;grid-gap:2px;gap:2px;padding:10px 12px;border:1px solid var(--hairline);border-radius:8px;background:var(--mint-soft)}.settings-ok-line b{font-size:13px;font-weight:700;color:var(--forest);line-height:1.35}.settings-ok-line span{font-size:12px;color:var(--muted);line-height:1.45}.settings-ok-neutral{background:var(--n1)}.settings-ok-neutral b{color:var(--ink)}.settings-team-table{width:100%;min-width:880px;border:1px solid var(--hairline);border-radius:8px;overflow:hidden;background:var(--surface)}.settings-team-table th:first-child{width:38%}.settings-team-table th:nth-child(2),.settings-team-table th:nth-child(3){width:14%}.settings-team-table th:nth-child(4){width:22%}.settings-team-table th:nth-child(5){width:12%;text-align:end}.settings-team-table td{vertical-align:middle;white-space:normal;overflow-wrap:anywhere}.settings-team-table td:nth-child(5){text-align:end}.settings-team-table tbody tr{cursor:default}.settings-team-table tbody tr:hover{background:var(--surface);transform:none}.settings-team-section-row th{padding:10px 20px;background:#F8F5ED;color:var(--forest);font-size:12px;font-weight:800;text-align:start;text-transform:uppercase;letter-spacing:0;-webkit-border-before:1px solid var(--hairline);border-block-start:1px solid var(--hairline);-webkit-border-after:1px solid var(--hairline);border-block-end:1px solid var(--hairline)}.settings-person-cell{display:flex;align-items:center;gap:10px;min-width:0}.settings-person-avatar{width:28px;height:28px;min-width:28px;border-radius:50%;background:var(--forest);color:#fff;display:grid;place-items:center;flex:none;overflow:hidden;font-size:11px;font-weight:800;line-height:1;text-transform:uppercase}.settings-person-avatar.is-muted{background:var(--n2);color:var(--muted)}.settings-person-avatar.is-managed{background:#6F4B00;color:#fff}.settings-person-avatar img{width:100%;height:100%;display:block;object-fit:cover}.settings-person-cell>div{min-width:0}.settings-billing-text,.settings-seat-text{font-size:13px;color:var(--ink)}.settings-billing-text{font-weight:600;line-height:1.35}.settings-billing-text.is-extra{color:#A03028}.settings-billing-text.is-muted{color:var(--muted);font-weight:500}.settings-billing-lines{display:grid;grid-gap:2px;gap:2px}.settings-team-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.settings-team-row-action{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.settings-team-row-action:not(.danger-plain){background:var(--surface);border:1px solid var(--hairline);color:var(--ink)}.settings-team-row-action:not(.danger-plain):hover{background:var(--n1)}.settings-seat-tag{display:inline-flex;align-items:center;max-width:100%;padding:3px 8px;border-radius:5px;font-size:12px;font-weight:750;line-height:1.3}.settings-seat-tag.is-extra{border:1px solid #ffccc7;background:#FFF1F0;color:#A03028}.settings-seat-tag.is-muted{border:1px solid var(--n2);background:var(--n1);color:var(--muted)}.settings-owner-action{font-size:12px;color:var(--muted);white-space:nowrap}.settings-team-action{margin:0 0 10px}.settings-team-action.is-error{color:var(--crit)}.settings-managed-section{display:grid;grid-gap:12px;gap:12px;margin-top:16px;padding:16px;border:1px solid var(--hairline);border-radius:8px;background:var(--surface)}.settings-managed-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.settings-managed-head>div{display:grid;grid-gap:3px;gap:3px;min-width:0}.settings-managed-head h2{font-size:16px;font-weight:800;line-height:1.25;color:var(--ink)}.settings-managed-head p{font-size:13px;line-height:1.42;color:var(--muted);max-width:660px}.settings-managed-stats{display:flex;gap:8px;flex-wrap:wrap}.settings-managed-stats span{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:1px solid var(--n1);border-radius:6px;background:var(--n1);font-size:12px;color:var(--muted);line-height:1.3}.settings-managed-stats b{font-size:12px;color:var(--ink);font-weight:800}.settings-managed-list{display:grid;border:1px solid var(--hairline);border-radius:8px;overflow:hidden;background:var(--surface)}.settings-managed-row{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(210px,auto) auto;align-items:center;grid-gap:10px;gap:10px;padding:12px;-webkit-border-before:1px solid var(--n1);border-block-start:1px solid var(--n1)}.settings-managed-row:first-child{-webkit-border-before:0;border-block-start:0}.settings-managed-main{display:grid;grid-gap:2px;gap:2px;min-width:0}.settings-managed-main b{font-size:13px;font-weight:750;line-height:1.3;color:var(--ink);overflow-wrap:anywhere}.settings-managed-main small,.settings-managed-main span{font-size:12px;line-height:1.35;color:var(--muted);overflow-wrap:anywhere}.settings-managed-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}.settings-managed-meta>span:not(.chip){font-size:12px;line-height:1.35;color:var(--muted)}.settings-managed-scrim{position:fixed;inset:0;z-index:58;display:flex;justify-content:flex-end;background:rgba(18,31,28,.28)}.settings-managed-drawer{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(560px,100%);height:100%;background:var(--surface);-webkit-border-start:1px solid var(--hairline);border-inline-start:1px solid var(--hairline);box-shadow:-24px 0 48px rgba(18,31,28,.18)}.settings-managed-drawer-foot,.settings-managed-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px;-webkit-border-after:1px solid var(--hairline);border-block-end:1px solid var(--hairline)}.settings-managed-drawer-head>div{display:grid;grid-gap:4px;gap:4px;min-width:0}.settings-managed-drawer-head h2{font-size:16px;font-weight:800;line-height:1.25;color:var(--ink)}.settings-managed-drawer-head p{font-size:13px;line-height:1.42;color:var(--muted)}.settings-managed-fields{display:grid;align-content:start;grid-gap:14px;gap:14px;min-height:0;overflow:auto;padding:18px 20px}.settings-managed-fields label{display:grid;grid-gap:6px;gap:6px}.settings-managed-fields label span{font-size:12px;font-weight:750;line-height:1.35;color:var(--ctrl)}.settings-managed-fields input,.settings-managed-fields select,.settings-managed-fields textarea{width:100%;border:1px solid var(--hairline);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;line-height:1.35;padding:9px 10px}.settings-managed-fields textarea{resize:vertical;min-height:96px}.settings-managed-error{padding:10px 12px;border:1px solid #ffccc7;border-radius:8px;background:#FFF1F0;color:var(--crit);font-size:13px;line-height:1.4}.settings-managed-drawer-foot{align-items:center;justify-content:flex-end;-webkit-border-before:1px solid var(--hairline);border-block-start:1px solid var(--hairline);-webkit-border-after:0;border-block-end:0}.mini.danger,.mini.danger-plain{color:var(--crit);background:var(--surface);border:1px solid var(--hairline)}.mini.danger,.mini.danger-plain:hover{border-color:#FFCCC7;background:#FFF1F0}.settings-plan-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;grid-gap:20px;gap:20px;align-items:start;min-width:0}.settings-plan-grid>div{min-width:0}.settings-plan-main{display:grid;grid-gap:18px;gap:18px;min-width:0}.settings-allocation-card,.settings-billing-unavailable,.settings-contract-card,.settings-plan-card,.settings-receipt-card,.settings-side-card{border:1px solid var(--hairline);border-radius:8px;background:var(--surface)}.settings-plan-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px}.settings-plan-card>div{min-width:0}.settings-plan-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.settings-plan-card h2{font-size:20px;font-weight:750;line-height:1.2;overflow-wrap:anywhere}.settings-plan-card p{margin-top:3px;color:var(--muted);font-size:13px;line-height:1.35}.settings-plan-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;flex:none}.btn.danger-plain{color:var(--crit);background:var(--surface);border:1px solid #ffccc7}.btn.danger-plain:hover:not(:disabled):not([disabled]){background:#FFF1F0}.settings-status-pill{display:inline-flex;align-items:center;width:max-content;max-width:100%;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:750;line-height:1.3}.settings-status-pill.is-trial{border:1px solid #f4d39b;background:#FFF6E8;color:#C4761A}.settings-status-pill.is-error{border:1px solid #f8d7da;background:#FDF2F2;color:#A03028}.settings-status-pill.is-muted{border:1px solid var(--n2);background:var(--n1);color:var(--muted)}.settings-trial-banner{display:grid;grid-gap:9px;gap:9px;padding:16px;border:1px solid #f4d39b;border-radius:8px;background:#FFF6E8}.settings-trial-banner b{color:#C4761A;font-size:14px}.settings-trial-banner p{font-size:13px;line-height:1.45;color:var(--ink)}.settings-payment-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #f4d39b;border-radius:8px;background:#FFF6E8}.settings-payment-banner.is-locked{border-color:#FFCCC7;background:#FFF1F0}.settings-payment-banner>div{display:grid;grid-gap:2px;gap:2px;min-width:0}.settings-payment-banner b{font-size:14px;font-weight:800;color:var(--ink);line-height:1.35}.settings-payment-banner span{font-size:13px;color:var(--muted);line-height:1.4}.settings-payment-banner .btn{flex:none}.settings-contract-card{display:grid;grid-gap:14px;gap:14px;padding:20px}.settings-contract-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.settings-contract-card-head>div{min-width:0}.settings-contract-card h3{font-size:15px;font-weight:800;line-height:1.25;color:var(--ink)}.settings-contract-card p{margin-top:3px;color:var(--muted);font-size:13px;line-height:1.4}.settings-contract-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.settings-contract-term{display:grid;align-content:start;grid-gap:4px;gap:4px;min-height:96px;padding:12px;border:1px solid var(--n1);border-radius:8px;background:linear-gradient(180deg,#FFFEFA,#F8F6EE)}.settings-contract-term span{color:var(--ctrl);font-size:11px;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:0}.settings-contract-term b{color:var(--ink);font-size:16px;font-weight:800;line-height:1.2;overflow-wrap:anywhere}.settings-contract-term small{color:var(--muted);font-size:12px;line-height:1.38;overflow-wrap:anywhere}.settings-receipt-card{display:grid;grid-gap:12px;gap:12px;padding:20px}.settings-receipt-card h3{font-size:14px;font-weight:750;color:var(--ink);line-height:1.3}.settings-receipt{display:grid;border:1px solid var(--hairline);border-radius:8px;background:var(--surface);overflow:hidden}.settings-receipt-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(7ch,auto);grid-gap:2px 14px;gap:2px 14px;padding:13px 0;-webkit-border-before:1px solid var(--n1);border-block-start:1px solid var(--n1);min-width:0}.settings-receipt-row:first-child{-webkit-border-before:0;border-block-start:0}.settings-receipt-row span{font-weight:650;color:var(--ink)}.settings-receipt-row b,.settings-receipt-row span{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.settings-receipt-row b{min-width:0;font-weight:750;text-align:end;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.settings-receipt-row small{grid-column:1/-1;color:var(--muted);font-size:12px;line-height:1.4;overflow-wrap:anywhere}.settings-receipt-row.is-login b,.settings-receipt-row.is-login span{color:#0F5E3B}.settings-receipt-row.is-managed b,.settings-receipt-row.is-managed span{color:#6F4B00}.settings-receipt-card>.settings-receipt{border:0;border-radius:0}.settings-receipt-total b,.settings-receipt-total span{font-size:16px;color:var(--muted)}.settings-allocation-card{display:grid;grid-gap:9px;gap:9px;padding:18px 20px}.settings-allocation-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-allocation-card b{font-size:13px;font-weight:750}.settings-allocation-card span{font-size:13px;font-weight:650}.settings-side-card{display:grid;grid-gap:12px;gap:12px;padding:20px;min-width:0}.settings-side-card h3{font-size:13px;text-transform:uppercase;color:var(--muted);font-weight:800;line-height:1.3}.settings-side-card strong{font-size:24px;line-height:1.05;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.settings-side-card strong.is-error{font-size:16px;color:var(--crit)}.settings-side-card>span{font-size:13px;color:var(--muted);line-height:1.35}.settings-side-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.settings-side-meta>span:not(.settings-status-pill){font-size:12px;color:var(--muted)}.settings-confirm-body{display:grid;grid-gap:8px;gap:8px;color:var(--muted);font-size:14px;line-height:1.45}.settings-confirm-body p{margin:0}.settings-confirm-body b{color:var(--ink);font-weight:750}.settings-billing-unavailable{display:grid;justify-items:center;text-align:center;grid-gap:12px;gap:12px;padding:34px 20px}.settings-error-mark{width:48px;height:48px;border-radius:50%;border:1px solid #f8d7da;background:#FDF2F2;color:var(--crit);display:grid;place-items:center;font-size:16px;font-weight:800}.settings-billing-unavailable h3{font-size:16px;font-weight:750}.settings-billing-unavailable p{max-width:380px;color:var(--muted);font-size:13px;line-height:1.4}.settings-billing-unavailable>div:last-child{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.settings-history{display:grid;padding:8px 15px 15px}.settings-history-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;padding:10px 0;-webkit-border-before:1px solid var(--n1);border-block-start:1px solid var(--n1)}.settings-history-row:first-child{-webkit-border-before:0;border-block-start:0}.settings-history-row>div{display:grid;grid-gap:2px;gap:2px;min-width:0}.settings-history-row>div:last-child{justify-items:end;flex:0 1 auto;min-width:0;max-width:46%}.settings-history-row b{font-size:13px;font-weight:700;line-height:1.3;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.settings-history-row span:not(.chip){font-size:12px;line-height:1.4;color:var(--muted);overflow-wrap:anywhere}.settings-confirm-scrim{z-index:58}.settings-confirm-modal p{font-size:13px;line-height:1.45;color:var(--muted)}@media(max-width:1050px){.settings-metrics,.settings-metrics-six{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-plan-grid{grid-template-columns:minmax(0,1fr)}.settings-contract-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.settings-billing .tscroll{overflow-x:visible}.settings-team-table{display:block;min-width:0;width:100%}.settings-team-table thead{display:none}.settings-team-table tbody{display:grid;grid-gap:8px;gap:8px}.settings-team-table tr{display:grid;grid-gap:5px;gap:5px;padding:10px 11px;border:1px solid var(--hairline);border-radius:8px;background:var(--surface)}.settings-team-table .settings-team-section-row{display:block;padding:0;border:0;background:transparent}.settings-team-section-row th{display:block;border-radius:8px;padding:8px 2px;border:0;background:transparent}.settings-team-table td{display:grid;grid-template-columns:82px minmax(0,1fr);grid-gap:9px;gap:9px;align-items:start;padding:0;border:0;overflow:visible;text-overflow:clip;min-width:0}.settings-team-table td:before{color:var(--ctrl);font-size:11px;font-weight:750;letter-spacing:0;text-transform:uppercase;line-height:1.35}.settings-team-table td:first-child:before{content:"Name"}.settings-team-table td:nth-child(2):before{content:"Role"}.settings-team-table td:nth-child(3):before{content:"Status"}.settings-team-table td:nth-child(4):before{content:"Seat / Billing"}.settings-team-table td:nth-child(5):before{content:"Actions"}.settings-team-table td:nth-child(5){text-align:start}.settings-managed-head,.settings-managed-row{display:grid}.settings-managed-row{grid-template-columns:28px minmax(0,1fr);align-items:start}.settings-managed-meta{grid-column:1/-1;justify-content:flex-start}.settings-managed-row .mini{grid-column:1/-1;justify-self:start}}@media(max-width:640px){.settings-billing,.settings-plan-body{padding:12px}.settings-team-redesign{padding:0}.settings-metrics,.settings-metrics-six{grid-template-columns:minmax(0,1fr)}.settings-action-bar,.settings-allocation-card>div:first-child,.settings-plan-card{display:grid;grid-gap:10px;gap:10px}.settings-action-bar .btn,.settings-plan-card .btn{width:100%;justify-content:center}.settings-plan-actions{display:grid;width:100%}.settings-payment-banner{display:grid}.settings-payment-banner .btn{width:100%;justify-content:center}.settings-person{display:grid;grid-gap:6px;gap:6px}.settings-person>span{max-width:none;text-align:start}.settings-person-actions{justify-content:flex-start}.settings-managed-section{padding:12px}.settings-managed-head .btn{width:100%;justify-content:center}.settings-managed-scrim{align-items:stretch}.settings-managed-drawer{width:100vw}.settings-allocation-card,.settings-contract-card,.settings-plan-card,.settings-receipt-card,.settings-side-card{padding:16px}.settings-contract-card-head{display:grid;grid-gap:8px;gap:8px}.settings-contract-grid,.settings-receipt-row{grid-template-columns:minmax(0,1fr)}.settings-receipt-row b{text-align:start}.settings-history{padding:4px 12px 12px}.settings-history-row{display:grid;grid-gap:7px;gap:7px}.settings-history-row>div:last-child{justify-items:start;max-width:none}}.talloc-hint{font-size:12px;color:var(--muted);margin:0 0 8px}.talloc{display:flex;flex-wrap:wrap;gap:8px;max-height:212px;overflow-y:auto}.talloc-note{font-size:12px;color:var(--muted);margin:0}.tallocr{display:inline-flex;align-items:center;gap:8px;min-height:34px;box-sizing:border-box;padding-inline:11px;border:1px solid var(--n3);border-radius:7px;background:var(--surface);font:400 13px var(--f);color:var(--ink);cursor:pointer;max-width:100%}.tallocr.on,.tallocr:hover{border-color:var(--forest)}.tallocr.on{background:var(--mint)}.tallocr.ro{cursor:default;opacity:.65}.tallocr.ro:hover{border-color:var(--n3)}.tallocr.on.ro:hover{border-color:var(--forest)}.tallocr input{width:24px;height:24px;flex:none;margin:0;accent-color:var(--forest)}.tallocr input:focus-visible{outline:none;box-shadow:0 0 0 3px var(--mint)}.tallocr span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mscrim{position:fixed;inset:0;background:rgba(10,32,18,.32);z-index:44;display:grid;place-items:center;padding:16px;animation:mfade var(--t1) var(--e) both}.mdl{width:min(400px,100%);background:var(--surface);border-radius:14px;box-shadow:0 18px 50px rgba(16,36,26,.24);padding:20px;animation:pop var(--t2) var(--e) both}.mdl h2{font-size:16px;font-weight:700;color:var(--ink)}.mdl .sub{margin-top:6px}.mdlf{display:flex;gap:8px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}.profile-password-modal{display:flex;flex-direction:column;gap:12px}.profile-password-head{display:flex;align-items:center;gap:12px}.profile-password-head h2{margin:0;flex:1 1}.profile-password-close{width:30px;height:30px;border:1px solid var(--hairline);border-radius:8px;background:var(--surface);color:var(--ctrl);display:grid;place-items:center;cursor:pointer;padding:0}.profile-password-close:hover{background:var(--n1);color:var(--ink);border-color:var(--n3)}.profile-password-close:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.profile-password-close svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.profile-password-foot{justify-content:center;margin-top:4px}.btn.danger{background:var(--crit)}.btn.danger:hover:not(:disabled):not([disabled]){background:#8B2822}@keyframes btn-spin{to{transform:rotate(1turn)}}@keyframes mfade{0%{opacity:0}to{opacity:1}}.activity-modal{width:min(760px,100%);max-height:min(720px,calc(100svh - 32px));padding:0;overflow:hidden;display:flex;flex-direction:column}.activity-modal-head{display:flex;align-items:flex-start;gap:12px;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--hairline)}.activity-modal-head h2{font-size:16px;letter-spacing:0}.activity-modal-head p{margin-top:2px;color:var(--muted);font-size:12px}.activity-modal-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;padding:12px 20px;border-bottom:1px solid var(--hairline);background:var(--cream)}.activity-modal-tools .activity-search{grid-column:1/-1}.activity-modal-tools label{min-width:0;display:grid;grid-gap:4px;gap:4px}.activity-modal-tools span{font-size:11px;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:var(--ctrl);font-weight:800}.activity-modal-tools input,.activity-modal-tools select{min-width:0;width:100%;height:34px;border:1px solid var(--n3);border-radius:8px;background:var(--surface);color:var(--ink);font:600 12px var(--f);padding:0 10px}.activity-modal-tools input:focus,.activity-modal-tools select:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px var(--mint)}.activity-modal-body{overflow:auto;padding:6px 0;min-height:0}.activity-empty{padding:22px 20px;color:var(--muted);font-size:13px;text-align:center}.activity-detail-row{display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:12px;gap:12px;padding:14px 20px;border-bottom:1px solid var(--n1)}.activity-detail-row:last-child{border-bottom:none}.activity-avatar{--activity-colour:var(--forest);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--activity-colour);font-size:11px;font-weight:800;background:var(--mint);border:1px solid var(--n2)}@supports (background:color-mix(in srgb,#000 10%,#fff)){.activity-avatar{background:color-mix(in srgb,var(--activity-colour) 11%,var(--surface));border-color:color-mix(in srgb,var(--activity-colour) 24%,var(--n2))}}.activity-avatar svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}.activity-detail-main{min-width:0}.activity-detail-line{display:flex;align-items:flex-start;gap:14px;justify-content:space-between}.activity-detail-summary{min-width:0;font-size:13px;font-weight:650;color:var(--ink);overflow-wrap:anywhere}.activity-detail-time{flex:none;max-width:190px;text-align:right;font-size:12px;line-height:1.35;color:var(--muted)}.activity-modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:13px 20px;border-top:1px solid var(--hairline)}.activity-modal-foot span{margin-inline:auto 0;font-size:12px;color:var(--muted)}@media(max-width:760px){.activity-modal-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-detail-line{display:grid}.activity-detail-time{text-align:left;max-width:none}}@media(max-width:520px){.activity-modal-tools{grid-template-columns:1fr}}.month-end-period{margin:0;font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.month-end-note{margin:0;font-size:12px;line-height:1.45;color:var(--muted)}.month-end-evidence{width:100%;border-collapse:collapse;font-size:12px}.month-end-evidence caption{text-align:left;padding:2px 0 6px}.month-end-evidence td,.month-end-evidence th{padding:6px 8px;border-bottom:1px solid var(--n1);text-align:left;vertical-align:top}.month-end-evidence thead th{font-weight:600;color:var(--muted);white-space:nowrap}.month-end-evidence tbody th{font-weight:600;color:var(--ink);text-transform:none;font-size:12px;letter-spacing:normal}.month-end-evidence td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.msgs{gap:9px;max-height:46vh;overflow-y:auto;padding:2px 1px 2px 0;overscroll-behavior:contain}.bubrow,.msgs{display:flex;flex-direction:column}.bubrow{max-width:78%;min-width:0}.bub{border-radius:12px;padding:8px 11px;font-size:13px;line-height:1.45;color:var(--ink);word-break:break-word;white-space:pre-wrap}.bub.ours{background:var(--mint);border:1px solid var(--mint);border-bottom-right-radius:4px}.bub.theirs{background:var(--surface);border:1px solid var(--hairline);border-bottom-left-radius:4px}.bub.unknown{background:var(--n1);border:1px solid var(--n3)}.msgs>.bubrow.ours{align-self:flex-end;align-items:flex-end}.msgs>.bubrow.theirs,.msgs>.bubrow.unknown{align-self:flex-start;align-items:flex-start}.bubname{font-size:11px;font-weight:700;color:var(--ink);margin-bottom:3px}.bubtime{font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bubnote,.bubtime{color:var(--muted);margin-top:3px}.bubnote{font-size:11px}.cmp{border-top:1px solid var(--hairline);padding:12px 15px;background:var(--cream)}.c-family{background:var(--sky-soft);color:var(--sky)}.c-lesson{background:var(--mint);color:var(--forest)}.c-teach{background:var(--gold-soft);color:var(--gold-ink)}.c-staff{background:var(--mint-soft);color:var(--forest-deep)}.c-gen{background:var(--n1);color:var(--muted)}@media(max-width:1150px){.msgs{max-height:none}.bubrow{max-width:88%}}.ni.on{position:relative}.ni.on:before{content:"";position:absolute;left:0;top:50%;width:3px;height:16px;transform:translateY(-50%);border-radius:0 2px 2px 0;background:var(--navsel-mark)}.navfoot{padding-top:14px}.ni:hover{background:var(--navhover)}.navcontext{border-color:var(--navsep)}.nvfoot{border-top-color:var(--navsep)}.cardp{padding:14px 15px}tbody tr.st{cursor:default}tbody tr.st:hover{background:none}.fam-next{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.fam-when{background:var(--mint);border:1px solid var(--forest);border-radius:10px;padding:9px 13px;text-align:center;flex:none;min-width:96px}.fam-when .k{font-size:11px;letter-spacing:.07em;text-transform:uppercase}.fam-when .k,.fam-when .v{color:var(--forest);font-weight:700}.fam-when .v{font-size:24px;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.fam-when .d{font-size:12px;color:var(--forest);font-weight:600;margin-top:1px}.fam-cell{flex:none;width:56px;text-align:center}.fam-cell .k{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--ctrl);font-weight:700}.fam-cell .v{font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fam-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.fam-task{font-size:14px;font-weight:650}.fam-body{font-size:13px;color:var(--ink);line-height:1.6;margin-top:6px;white-space:pre-wrap}.fam-figure{font-size:24px;font-weight:700;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.bizfield{position:relative}.bizfield>svg{position:absolute;inset-inline-start:11px;top:50%;transform:translateY(-50%);width:15px;height:15px;fill:none;stroke:var(--ctrl);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.bizfield input{-webkit-padding-start:34px;padding-inline-start:34px}.form-rule{height:1px;background:var(--hairline);margin:16px 0}.preview-frame{border:1px dashed var(--n3);border-radius:12px;padding:12px;background:var(--n1)}.preview-bar{height:9px;border-radius:5px;background:var(--n2)}.btn.quiet-danger{background:transparent;color:var(--crit);border:1px solid transparent}.btn.quiet-danger:hover:not(:disabled):not([disabled]){background:var(--crit-soft)}.gdn-field{display:block;-webkit-margin-before:10px;margin-block-start:10px}.gdn-field>span{display:block;color:var(--muted);font-size:13px;-webkit-margin-after:4px;margin-block-end:4px}.gdn-field input,.gdn-field select{display:block;width:100%;min-height:32px;font:500 13px var(--f);border:1px solid var(--n3);border-radius:8px;background:var(--surface);color:var(--ink);padding:7px 9px}.gdn-field input:focus-visible,.gdn-field select:focus-visible{outline:2px solid var(--forest);outline-offset:1px}.gdn-problem{color:var(--crit);font-size:13px;-webkit-margin-before:10px;margin-block-start:10px}.gdn-actions{display:flex;flex-wrap:wrap;gap:8px;-webkit-margin-before:12px;margin-block-start:12px}.access-card,.family-access-card{display:grid;grid-gap:14px;gap:14px;min-width:0}.access-card>.dl,.family-access-card>.dl{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.access-section{display:grid;grid-gap:11px;gap:11px;border:1px solid var(--hairline);border-radius:8px;background:var(--surface);padding:14px;min-width:0}.access-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.access-section-head h3{margin:0;color:var(--ink);font:700 15px/1.25 var(--f)}.access-section-head p{margin:5px 0 0;color:var(--muted);font:400 12px/1.45 var(--f)}.access-grid,.family-access-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px 14px;gap:10px 14px}.access-fact-wide{grid-column:1/-1}.access-fact,.family-access-fact{min-width:0;border:1px solid var(--hairline);border-radius:8px;background:var(--cream);padding:9px 10px}.access-fact span,.family-access-fact span{display:block;color:var(--muted);font-size:12px;font-weight:650;line-height:1.25}.access-fact b,.family-access-fact b{display:block;color:var(--ink);font-size:13px;font-weight:650;-webkit-margin-before:4px;margin-block-start:4px;line-height:1.4;overflow-wrap:anywhere}.access-empty,.family-access-empty{border:1px solid var(--hairline);border-radius:8px;background:var(--n1);padding:10px 12px;color:var(--ink);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.access-inline-note,.access-note,.access-state,.family-access-note,.family-access-state{font-size:12px;line-height:1.55}.access-inline-note,.access-note,.family-access-note{color:var(--muted)}.access-state,.family-access-state{display:flex;align-items:flex-start;gap:8px;color:var(--ink);font-weight:650;border:1px solid var(--hairline);border-radius:8px;background:var(--mint-soft);padding:9px 11px;overflow-wrap:anywhere}.access-state[data-access-state=not_ready]{background:var(--cream)}#student-login-invite-standing{display:flex;align-items:flex-start;gap:8px}.access-status-label{display:inline-flex;align-items:center;flex:0 0 auto}#student-login-invite-standing{background:var(--sky-soft);border-color:color-mix(in srgb,var(--sky) 36%,var(--hairline))}#student-family-invite-access-link,#student-login-invite-access-link{display:grid;grid-gap:6px;gap:6px;background:var(--mint-soft);border-color:color-mix(in srgb,var(--forest) 32%,var(--hairline))}.access-problem,.family-access-problem{color:var(--crit);font-size:12px;line-height:1.55;font-weight:650;border:1px solid color-mix(in srgb,var(--crit) 34%,var(--hairline));border-radius:8px;background:var(--crit-soft);padding:9px 11px;overflow-wrap:anywhere}.access-actions,.family-access-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.access-relationship-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.access-relationship-card{display:grid;grid-template-rows:auto auto;grid-gap:12px;gap:12px;min-width:0;border:1px solid var(--hairline);border-radius:8px;background:var(--surface);padding:12px}.access-relationship-card h4{margin:0;color:var(--ink);font:700 14px/1.25 var(--f)}.access-relationship-card p{margin:5px 0 0;color:var(--muted);font:400 12px/1.5 var(--f);overflow-wrap:anywhere}.access-relationship-card p.rowmsg{margin-top:8px;color:var(--ink);font:600 13px/1.4 var(--f)}.access-relationship-card p.rowmsg.good{color:var(--forest)}.access-relationship-card p.rowmsg.bad{color:var(--crit)}.access-action-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.access-action-row button{min-height:34px}#student-family-invite-access-link-value,#student-login-invite-access-link-value,.access-actions input{min-height:34px;border:1px solid var(--n3);border-radius:7px;background:var(--surface);color:var(--ink);font:400 13px var(--f);padding:7px 9px}#student-family-invite-access-link-value,#student-login-invite-access-link-value{min-width:0;overflow:hidden;text-overflow:ellipsis}#student-family-invite-access-link-value:focus-visible,#student-login-invite-access-link-value:focus-visible,.access-actions input:focus-visible{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px var(--mint)}.access-primary{min-height:34px}.access-guardian-links{min-width:0}.access-guardian-links .form-rule{margin-block:6px 10px}.create-access-next{display:grid;grid-gap:8px;gap:8px;-webkit-margin-before:12px;margin-block-start:12px;padding:12px;border:1px solid var(--hairline);border-radius:8px;background:var(--mint)}.create-access-next-copy{display:grid;grid-gap:4px;gap:4px}.create-access-next b{color:var(--forest)}.create-access-next-copy b,.create-access-next-copy span{display:block}.create-access-next span{color:var(--ink);font-size:13px;line-height:1.5}.create-access-next .btn{justify-self:start}#students-bulk-invite-dialog{width:min(920px,calc(100vw - 48px))!important;max-height:min(84dvh,820px)!important;padding:0!important;overflow:hidden}#students-bulk-invite-dialog>div:first-child{display:flex!important;align-items:flex-start!important;gap:16px!important;padding:24px 28px 18px!important}#students-bulk-invite-dialog{overflow-y:auto!important}#students-bulk-invite-dialog .op0-bulk-summary{margin:18px 28px 0!important;padding-bottom:18px!important}#students-bulk-invite-dialog .op0-bulk-body{overflow:visible!important;flex:0 0 auto!important;min-height:auto!important;margin-top:18px!important;padding:0 28px 2px!important}#students-bulk-invite-dialog .mdlf{border-top:1px solid var(--hairline);padding:16px 28px 22px!important;margin-top:4px;background:var(--surface)}#students-bulk-invite-dismiss{min-width:28px;min-height:28px}#students-bulk-invite-dialog input{min-height:34px;border:1px solid var(--n3);border-radius:7px;background:var(--surface);color:var(--ink);font:400 13px var(--f);padding:7px 9px}#students-bulk-invite-dialog button:focus-visible,#students-bulk-invite-dialog input:focus-visible{outline:none;box-shadow:0 0 0 3px var(--mint)}#students-bulk-copy-link-successes li,#students-bulk-invite-alreadyinvited-names li,#students-bulk-invite-alreadylogin-names li,#students-bulk-invite-names li,#students-bulk-invite-noemail-names li,#students-bulk-invite-parent-names li,#students-bulk-invite-unknown-names li{min-width:0;overflow-wrap:anywhere}#students-bulk-copy-link-successes input,#students-bulk-invite-dialog input[id^=students-bulk-copy-link-value-]{width:100%;min-width:0;margin-top:6px}#students-bulk-invite-excluded summary,#students-bulk-invite-noemail-head,#students-bulk-invite-parent-head,#students-bulk-invite-ready-head,#students-bulk-invite-unknown-head{min-height:28px;align-items:center}#students-bulk-access-link-route,#students-bulk-copy-links-result,#students-bulk-invite-alreadyinvited,#students-bulk-invite-alreadylogin,#students-bulk-invite-noemail,#students-bulk-invite-parent-caption,#students-bulk-invite-request-failure,#students-bulk-invite-results-noemail,#students-bulk-invite-summary,#students-bulk-invite-unknown{line-height:1.55;overflow-wrap:anywhere}#students-bulk-copy-link-failures,#students-bulk-invite-request-failure{color:var(--crit)}@media(max-width:640px){#student-family-access .access-status-section{gap:9px;padding:11px}#student-family-access .access-status-section .access-section-head{gap:8px}#student-family-access .access-status-section .access-section-head p{margin-top:3px}#student-family-access .access-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#student-family-access .access-summary-grid .access-fact{padding:8px}#student-family-access .access-summary-grid .access-fact-wide{grid-column:1/-1}#student-family-access .access-summary-grid .access-fact b{font-size:12px;line-height:1.35}#student-family-invite-standing,#student-login-invite-standing{padding:8px 9px}}.conv-shell{height:calc(100vh - 102px);min-height:560px;display:flex;flex-direction:column;gap:12px}.conv-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.conv-grid{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);border:1px solid var(--hairline);background:var(--surface);border-radius:8px;overflow:hidden}.conv-grid.compact{display:block;border:none;background:transparent;border-radius:0;overflow:visible}.conv-list{min-width:0;min-height:0;border-right:1px solid var(--hairline);display:flex;flex-direction:column;background:var(--n1)}.conv-grid.compact .conv-list{border:1px solid var(--hairline);border-radius:8px;background:var(--surface);min-height:calc(100vh - 130px)}.conv-tools{padding:12px;border-bottom:1px solid var(--hairline);display:grid;grid-gap:10px;gap:10px}.conv-search{display:grid;grid-gap:5px;gap:5px;font-size:11px;font-weight:700;color:var(--ctrl);text-transform:uppercase}.conv-search input{width:100%;height:34px;border:1px solid var(--n3);border-radius:7px;background:var(--surface);padding:7px 10px;font:400 13px var(--f);color:var(--ink)}.conv-search input:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px var(--mint)}.conv-filters{display:flex;gap:6px;flex-wrap:wrap}.conv-filters button{border:1px solid var(--n3);background:var(--surface);color:var(--ink);border-radius:7px;padding:5px 8px;font:650 12px var(--f);cursor:pointer}.conv-filters button[aria-pressed=true]{border-color:var(--forest);background:var(--mint);color:var(--forest)}.conv-rows{min-height:0;overflow:auto;padding:6px}.conv-thread{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;grid-gap:9px;gap:9px;align-items:start;border:1px solid transparent;background:transparent;border-radius:7px;padding:9px;text-align:left;color:var(--ink);cursor:pointer}.conv-thread.active,.conv-thread:hover{background:var(--surface)}.conv-thread.active{border-color:var(--forest)}.conv-avatar{width:34px;height:34px;border-radius:8px;background:var(--forest);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.conv-thread-main{min-width:0;display:grid;grid-gap:3px;gap:3px}.conv-thread-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.conv-thread-line.muted{justify-content:flex-start;flex-wrap:wrap;color:var(--ctrl);font-size:12px}.conv-thread-title{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-time{font-size:11px}.conv-preview,.conv-time{color:var(--muted);white-space:nowrap}.conv-preview{font-size:12px;overflow:hidden;text-overflow:ellipsis}.conv-unread{min-width:20px;height:20px;border-radius:10px;background:var(--crit);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;padding:0 6px}.conv-detail{min-width:0;min-height:0;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--surface),var(--cream))}.conv-grid.compact .conv-detail{min-height:calc(100vh - 130px);border:1px solid var(--hairline);border-radius:8px;background:var(--surface);overflow:hidden}.conv-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--hairline);background:var(--surface)}.conv-detail-head h2{font-size:16px;font-weight:750;letter-spacing:0}.conv-detail-head p{font-size:12px;color:var(--muted);margin-top:2px}.conv-lane{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--forest);margin-bottom:2px}.conv-state{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.conv-participants span,.conv-state span{padding:3px 7px;font-size:11px;font-weight:700;color:var(--ctrl)}.conv-back,.conv-participants span,.conv-state span{border:1px solid var(--n3);background:var(--n1);border-radius:7px}.conv-back{padding:6px 8px;font:700 12px var(--f);color:var(--ink);cursor:pointer}.conv-purpose{padding:12px 16px;border-bottom:1px solid var(--hairline);display:grid;grid-gap:8px;gap:8px;background:var(--mint-soft)}.conv-purpose strong{font-size:13px;font-weight:650}.conv-participants{display:flex;flex-wrap:wrap;gap:6px}.conv-messages{flex:1 1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px;display:flex;flex-direction:column;gap:10px}.conv-message{max-width:min(680px,80%);border:1px solid var(--hairline);border-radius:8px;padding:8px 10px;background:var(--surface);box-shadow:0 1px 0 rgba(16,36,26,.04)}.conv-message.ours{align-self:flex-end;background:var(--mint-soft);border-color:#cddfd2}.conv-message.theirs,.conv-message.unknown{align-self:flex-start}.conv-message-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ctrl);font-size:11px;font-weight:700;margin-bottom:3px}.conv-message p{font-size:13px;white-space:pre-wrap}.conv-message small{display:inline-block;margin:5px 6px 0 0;color:var(--muted);font-size:11px}.conv-composer{position:-webkit-sticky;position:sticky;bottom:0;border-top:1px solid var(--hairline);background:var(--surface);padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:end}.conv-composer textarea{min-height:42px;max-height:110px;resize:vertical;border:1px solid var(--n3);border-radius:7px;padding:8px 10px;font:400 13px var(--f);color:var(--ink)}.conv-composer textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px var(--mint)}.conv-composer button{height:38px;border:none;border-radius:7px;background:var(--forest);color:#fff;font:700 13px var(--f);padding:0 13px;cursor:pointer}.conv-composer button:disabled{opacity:.7;cursor:not-allowed}.conv-disabled,.conv-empty,.conv-readonly{padding:14px 16px;color:var(--muted);font-size:13px}.conv-disabled{border:1px solid var(--hairline);background:var(--surface);border-radius:8px;max-width:720px}.conv-disabled h2{font-size:16px;margin-bottom:4px}@media(max-width:760px){.conv-shell{height:auto;min-height:0}.conv-detail-head{display:grid}.conv-state{justify-content:flex-start}.conv-message{max-width:92%}.conv-composer{grid-template-columns:1fr}.conv-composer button{width:100%;justify-content:center}}.who-pays-fieldset{border:none;padding:0;margin:6px 0 0}.who-pays-legend{padding:0;font:650 13px var(--f);color:var(--ink)}.who-pays-choice{display:flex;align-items:center;gap:9px;min-height:24px;padding:5px 0;cursor:pointer;font-size:13px;color:var(--ink)}.who-pays-choice input{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:var(--forest);cursor:pointer}.who-pays-other{display:block;margin:2px 0 0;padding-left:27px}.who-pays-standing{font-size:13px;line-height:1.5;color:var(--ink);margin:0 0 8px}.who-pays-group-note{font-size:14px;line-height:1.5;color:var(--ink);margin:0;padding:10px 15px 0;max-width:68ch}.who-pays-held{background:var(--mint-soft);border:1px solid var(--mint);border-radius:8px;color:var(--ink)}.who-pays-held,.who-pays-problem{padding:9px 11px;font-size:13px;line-height:1.45;margin:10px 0}.who-pays-problem{color:var(--crit);background:var(--crit-soft);border:1px solid #ffccc7;border-radius:8px;font-weight:650;overflow-wrap:anywhere}.who-pays-saved{color:var(--forest);background:var(--mint-soft);border:1px solid var(--mint);border-radius:8px;padding:9px 11px;font-size:13px;line-height:1.45;font-weight:650;margin:10px 0}.who-pays-field{display:block;margin:10px 0}.who-pays-field span{display:block;font-size:12px;font-weight:650;color:var(--muted);margin-bottom:4px}.who-pays-field input{width:100%;min-height:34px;border:1px solid var(--n3);border-radius:7px;padding:8px 11px;font:400 13px var(--f);background:var(--surface);color:var(--ink)}.who-pays-field input:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px var(--mint)}.who-pays-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}#student-who-pays{display:grid;grid-gap:10px;gap:10px}#student-who-pays .who-pays-fieldset{margin:0}#student-who-pays .who-pays-legend{font-size:13px;line-height:17px;margin-bottom:7px}#student-who-pays .who-pays-choice{min-height:36px;border:1px solid var(--hairline);border-radius:8px;background:var(--surface);padding:8px 10px;margin-top:7px}#student-who-pays .who-pays-other{padding-left:0;margin-top:8px}#student-who-pays .who-pays-held{margin:8px 0;padding:8px 10px}#student-who-pays .who-pays-actions{margin-top:10px}.who-pays-bulk-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 15px 0;align-items:center}.who-pays-row{padding:12px 15px;border-bottom:1px solid var(--n1)}.who-pays-row:last-child{border-bottom:none}.who-pays-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:24px;margin-bottom:6px}.who-pays-select{display:inline-flex;align-items:center;gap:8px;min-height:24px}.who-pays-name{font-weight:650;font-size:14px;color:var(--ink)}.who-pays-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 15px;border-bottom:1px solid var(--hairline);background:var(--n1)}.who-pays-group-title{font:650 15px var(--f);color:var(--ink);margin:0}.invite-outstanding-section{gap:12px}.invite-outstanding-count{flex:none;align-self:flex-start;border:1px solid var(--hairline);border-radius:999px;background:var(--cream);padding:3px 10px;color:var(--ink);font:650 12px/1.3 var(--f);white-space:nowrap}.invite-outstanding-empty{margin:0;color:var(--muted);font:400 13px/1.45 var(--f)}.invite-outstanding-list{display:grid;grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.invite-outstanding-group{display:grid;grid-gap:7px;gap:7px;min-width:0;border:1px solid var(--hairline);border-radius:8px;background:var(--cream);padding:10px 12px}.invite-outstanding-group.is-duplicated{border-color:var(--crit);-webkit-border-start:3px solid var(--crit);border-inline-start:3px solid var(--crit);background:var(--crit-soft);-webkit-padding-start:10px;padding-inline-start:10px}.invite-outstanding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.invite-outstanding-address{min-width:0;color:var(--ink);font:650 14px/1.35 var(--f);overflow-wrap:anywhere}.invite-outstanding-flag{margin-top:0}.invite-outstanding-tokens{display:grid;grid-gap:6px;gap:6px;margin:0;padding:0;list-style:none}.invite-outstanding-token{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.invite-outstanding-meta{min-width:0;color:var(--muted);font:400 12px/1.45 var(--f);overflow-wrap:anywhere}.invite-outstanding-bulk{display:flex;justify-content:flex-end;margin-top:2px}.invite-outstanding-correct{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;border-top:1px solid var(--hairline);padding-top:12px}.invite-outstanding-correct h4{margin:0;color:var(--ink);font:700 13px/1.3 var(--f)}.invite-outstanding-correct-current{margin:4px 0 0;color:var(--muted);font:400 12px/1.45 var(--f);overflow-wrap:anywhere}.invite-outstanding-correct button{flex:none}.invite-outstanding-correct button,.invite-outstanding-section .mini{min-height:28px}.invite-cancel-scrim{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,28,24,.45)}.invite-cancel-dialog{display:grid;grid-gap:9px;gap:9px;width:min(440px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid var(--hairline);border-radius:10px;background:var(--surface);padding:18px;box-shadow:0 18px 44px rgba(20,28,24,.24)}.invite-cancel-dialog:focus{outline:2px solid var(--forest);outline-offset:2px}.invite-cancel-dialog h3{margin:0;color:var(--ink);font:700 16px/1.3 var(--f)}.invite-cancel-lede{margin:0;color:var(--ink);font:600 13px/1.5 var(--f)}.invite-cancel-detail{margin:0;color:var(--muted);font:400 13px/1.5 var(--f)}.invite-cancel-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:5px}.invite-cancel-actions button{min-height:24px}.dep-card{border-color:var(--crit-soft)}.dep-say{display:grid;grid-gap:2px;gap:2px;min-width:0}.dep-strand{flex-wrap:wrap;align-items:flex-start}.dep-what{min-width:0;flex:1 1 220px}.dep-end{flex-wrap:wrap;gap:7px}.dep-dates{list-style:none;margin:0;padding:0;background:var(--cream)}.dep-date{gap:9px;padding-left:29px;color:var(--ink);text-decoration:none;min-height:24px}.dep-date .mt{margin-top:0}.dep-dates li:last-child .dep-date{border-bottom:none}@media (max-width:640px){.dep-end{margin-left:0;width:100%}.dep-end .btn{flex:1 1 auto;justify-content:center}.dep-date{padding-left:26px;flex-wrap:wrap;gap:2px}.dep-date .mt,.dep-date .nm{flex:1 0 100%}}.unassigned-scrim{z-index:60}.unassigned-mdl{width:min(560px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column}.unassigned-say{display:grid;grid-gap:2px;gap:2px;min-width:0;margin-top:8px}.unassigned-list{margin-top:14px;overflow-y:auto;min-height:0;border:1px solid var(--hairline);border-radius:10px}.unassigned-list .dep-strand{padding-left:11px;padding-right:11px}.unassigned-list .rowmsg{padding:8px 11px}@media (max-width:640px){.unassigned-mdl{padding:16px}.unassigned-list .dep-strand{padding-left:9px;padding-right:9px}}.invoice-record-handoff{margin:0 0 14px;padding:16px;border:1px solid var(--hairline);border-radius:12px;background:var(--mint-soft);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px}.invoice-record-handoff div{display:grid;grid-gap:5px;gap:5px;min-width:0}.invoice-record-handoff span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--forest)}.invoice-record-handoff h3{font-size:16px;line-height:1.25;margin:0;color:var(--ink)}.invoice-record-handoff p{font-size:13px;line-height:1.5;margin:0;color:var(--muted);max-width:660px}.invoice-record-handoff .btn{min-height:36px;white-space:nowrap}@media (max-width:640px){.invoice-record-handoff{grid-template-columns:1fr}.invoice-record-handoff .btn{width:100%;justify-content:center}}.tog.set{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-column-gap:24px;column-gap:24px;align-items:start;padding:14px 0}.tog.set label.nm{display:block}.tog.set .say{font-size:13px;color:var(--muted);max-width:52ch;margin-top:2px}.tog.set .ctl{display:flex;align-items:center;gap:6px}.tog.set .ctl input.fld{width:100px;height:36px;text-align:right}.tog.set .ctl select.fld{height:36px}.tog.set .rowmsg{grid-column:1/-1}.tog.set.stack{grid-template-columns:minmax(0,1fr)}.tog.set.stack .ctl{display:block;margin-top:10px}.tog.set.stack .ctl .fld{width:100%;text-align:left}.rowmsg.wait{color:var(--muted)}.rsum{background:var(--mint-soft);border:1px solid var(--mint);border-radius:8px;padding:12px 14px;margin:2px 0 12px}.rofacts,.rsum dl{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:6px 16px;gap:6px 16px;margin:8px 0 0}.rofacts dt,.rsum dt{font-size:13px}.rofacts dd,.rsum dd{margin:0;font-size:13px;font-weight:600;text-align:right}.rsum p{font-size:12px;color:var(--muted);margin:8px 0 0}.rofacts{margin:0}.rofacts dt{color:var(--muted)}@media (max-width:640px){.tog.set{grid-template-columns:minmax(0,1fr)}.tog.set .ctl{margin-top:10px}.tog.set .ctl select.fld{width:100%}.rofacts{grid-template-columns:minmax(0,1fr);row-gap:2px}.rofacts dd{text-align:left;margin-bottom:8px}}.access-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;min-width:0}.access-relationship-card p.access-contact{margin-top:6px}.access-relationship-card[data-lead]{border-color:var(--ink)}.access-relationship-card p.access-sentence{margin-top:8px;color:var(--ink);font:500 13px/1.45 var(--f)}#student-family-access .access-relationship-card h4{font-size:16px}#student-family-access .access-relationship-card .btn{min-height:36px;height:auto}@media (max-width:640px){#student-family-access .access-relationship-card .btn{min-height:44px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.acx-list{background:var(--surface);border:1px solid var(--hairline);border-radius:12px;min-width:0}.acx-grp{padding:18px 24px 0;font:600 13px/1 var(--f);color:var(--muted)}.acx-row{display:grid;grid-template-columns:40px minmax(0,1fr) 220px 240px;grid-column-gap:18px;column-gap:18px;grid-row-gap:6px;row-gap:6px;align-items:center;padding:18px 24px}.acx-list>.acx-row+.acx-grp,.acx-row+.acx-row{border-top:1px solid var(--hairline)}.acx-av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--forest);font:700 14px/1 var(--f);flex:none;grid-row:1/span 2;align-self:start}.acx-av.fam{background:var(--gold-soft);color:var(--gold-ink)}.acx-who{min-width:0}.acx-name{font:600 15px/1.3 var(--f);color:var(--ink);overflow-wrap:anywhere}.acx-role{font:400 13px/1.4 var(--f);color:var(--muted)}.acx-cts{grid-column:2;grid-row:2;display:flex;flex-wrap:wrap;gap:6px 16px;min-width:0}.acx-ci{display:inline-flex;align-items:center;gap:6px;font:400 13px/1.4 var(--f);color:var(--ink);min-width:0;max-width:100%}.acx-ci>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acx-ci svg,.acx-nol svg{width:15px;height:15px;fill:none;stroke:var(--ctrl);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.acx-ci.miss{color:var(--faint)}.acx-st{grid-column:3;grid-row:1/span 2;display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:0}.acx-trk,.acx-trk-w{display:inline-flex;align-items:center}.acx-trk .d{width:9px;height:9px;border-radius:50%;background:var(--surface);border:2px solid var(--n3);flex:none}.acx-trk .d.done{background:var(--forest);border-color:var(--forest)}.acx-trk .d.cur.info{background:var(--sky);border-color:var(--sky);box-shadow:0 0 0 3px var(--sky-soft)}.acx-trk .d.cur.crit{background:var(--crit);border-color:var(--crit);box-shadow:0 0 0 3px var(--crit-soft)}.acx-trk .d.cur.mut{border-color:var(--ctrl)}.acx-trk .s{width:16px;height:2px;background:var(--n3)}.acx-trk .s.done{background:var(--forest)}.acx-trk-l{font:600 13px/1.3 var(--f);margin-left:10px}.acx-trk-l.ok{color:var(--forest)}.acx-trk-l.info{color:var(--sky)}.acx-trk-l.crit{color:var(--crit)}.acx-trk-l.mut{color:var(--muted)}.acx-nol{display:inline-flex;align-items:center;gap:6px;font:600 13px/1.3 var(--f);color:var(--faint)}.acx-note{font:400 12px/1.4 var(--f);color:var(--muted)}.acx-note.need{color:var(--gold-ink);font-weight:600}.acx-act{grid-column:4;grid-row:1/span 2;display:flex;justify-content:flex-end;align-items:center;gap:6px}.acx-act .btn{min-height:36px;white-space:nowrap}.acx-act .btn svg.i{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.acx-mw{position:relative;display:inline-flex}.acx-more{width:32px;height:32px;border-radius:8px;border:0;background:var(--v7-status-neutral-bg);display:grid;place-items:center;cursor:pointer;color:var(--ctrl)}.acx-more:hover,.acx-more[aria-expanded=true]{background:var(--n1)}.acx-more svg{width:18px;height:18px;fill:currentColor;stroke:currentColor;stroke-width:1}.acx-menu{position:fixed;z-index:60;min-width:200px;padding:4px;border:1px solid var(--hairline);border-radius:10px;background:var(--surface);box-shadow:0 8px 24px rgba(16,36,26,.14);display:grid}.acx-menu button{display:block;width:100%;min-height:34px;padding:0 12px;border:0;border-radius:6px;background:none;text-align:start;font:500 13px var(--f);color:var(--ink);cursor:pointer}.acx-menu button:focus-visible,.acx-menu button:hover{background:var(--n1)}.acx-out{grid-column:2/-1;margin:0;font:600 13px/1.4 var(--f);color:var(--forest)}.acx-out.bad{color:var(--crit)}@media (max-width:760px){.acx-row{grid-template-columns:40px minmax(0,1fr) auto;padding:16px}.acx-grp{padding:16px 16px 0}.acx-av{grid-row:auto}.acx-cts,.acx-out,.acx-st{grid-column:1/-1;grid-row:auto}.acx-act{display:contents}.acx-act .acx-mw{grid-column:3;grid-row:1}.acx-act .btn{grid-column:1/-1;width:100%;justify-content:center;min-height:44px}.acx-more{width:40px;height:40px}}.acx-mw-empty{width:32px;height:32px}.acx-confirm{grid-column:2/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:10px 12px;border:1px solid var(--hairline);border-radius:8px;background:var(--n1)}.acx-confirm p{margin:0;flex:1 1 220px;font:500 13px/1.4 var(--f);color:var(--ink)}@media (max-width:760px){.acx-mw-empty{display:none}.acx-confirm{grid-column:1/-1}}.ivm-mp svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}