.admin-section-tabs{display:flex;gap:4px;overflow-x:auto;margin:0 0 22px;padding:0 0 1px;border-bottom:1px solid var(--line);scrollbar-width:thin}.admin-section-tabs .tab,.admin-section-tabs a{flex:0 0 auto;padding:9px 11px 10px;border-radius:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:13px;font-weight:600;text-decoration:none}.admin-section-tabs .tab:hover,.admin-section-tabs a:hover{color:var(--ink)}.admin-section-tabs .tab.active,.admin-section-tabs a.active{border-bottom-color:var(--accent);background:transparent;color:var(--accent-text, var(--accent))}.main:has(.admin-section-tabs){min-width:0}.main:has(.admin-section-tabs)>h1,.main:has(.admin-section-tabs)>.lede,.main:has(.admin-section-tabs)>.admin-section-tabs,.main:has(.admin-section-tabs)>.notice,.main:has(.admin-section-tabs)>.error,.main:has(.admin-section-tabs)>.empty,.main:has(.admin-section-tabs)>.spread,.main:has(.admin-section-tabs)>.panel,.main:has(.admin-section-tabs)>form.panel,.main:has(.admin-section-tabs)>section,.main:has(.admin-section-tabs)>article,.main:has(.admin-section-tabs)>p{max-width:1180px}.main:has(.admin-section-tabs)>.lede{margin-bottom:16px}.main:has(.admin-section-tabs) .panel:has(>table),.main:has(.admin-section-tabs) .panel:has(table){overflow-x:auto;-webkit-overflow-scrolling:touch}.main:has(.admin-section-tabs) table{min-width:660px}.main:has(.admin-section-tabs) form.panel{border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.main:has(.admin-section-tabs) form.panel>h2:first-child,.main:has(.admin-section-tabs) .panel>h2:first-child,.main:has(.admin-section-tabs) article.panel h2:first-child{margin-top:0}.main:has(.admin-section-tabs) .row{max-width:100%}.main:has(.admin-section-tabs) .fields{align-items:end}.main:has(.admin-section-tabs) textarea,form.settings-plan textarea{max-width:100%;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);font:inherit;padding:8px 9px}.main:has(.admin-section-tabs) textarea:focus-visible,form.settings-plan textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.main:has(.settings-tabs) article.panel{position:relative;padding:17px 18px}.main:has(.settings-tabs) article.panel+article.panel{margin-top:10px}.main:has(.settings-tabs) .settings-plan{border-top-color:var(--line);padding:14px 0}form.settings-plan{margin:0 0 12px;padding:16px 17px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}form.settings-plan+form.settings-plan{margin-top:12px}form.settings-plan>.spread:first-child{gap:14px}form.settings-plan .fields{align-items:end}.main:has(.admin-section-tabs) .swatches{display:flex;flex-wrap:wrap;gap:7px}.main:has(.admin-section-tabs) .swatch{width:30px;height:30px;min-width:30px;min-height:30px}.main:has(.admin-section-tabs) .swatch.is-on{outline:3px solid var(--ink);outline-offset:2px}.main:has(.admin-section-tabs) .swatch.is-taken{opacity:.42}@media (max-width: 720px){.admin-section-tabs{margin-inline:-4px;padding-inline:4px}.main:has(.admin-section-tabs) .fields,form.settings-plan .fields{grid-template-columns:1fr}.main:has(.admin-section-tabs) form.panel .row>input,.main:has(.admin-section-tabs) form.panel .row>select{flex:1 1 100%!important;min-width:0!important}.main:has(.admin-section-tabs) form.panel .row>button,form.settings-plan>.row:last-child>button{flex:1 1 auto}form.settings-plan>.spread:first-child{align-items:flex-start!important;flex-direction:column}}@media (prefers-reduced-motion: reduce){.admin-section-tabs{scroll-behavior:auto}}.payments-workspace,.reports-workspace{max-width:1180px}.payments-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.payments-page-head .lede{margin-bottom:0}.payments-safety-strip{display:flex;gap:10px;align-items:flex-start;margin-bottom:18px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.payments-safety-mark{display:inline-grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text, var(--accent));font-weight:750}.payments-safety-strip strong{display:block;margin-bottom:2px}.payments-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.payments-action-card{display:grid;grid-template-rows:1fr auto;min-width:0;min-height:220px;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.payments-action-card>div{padding:18px}.payments-action-card h2{margin:9px 0 7px;font-size:17px}.payments-action-card p{margin:0;color:var(--muted)}.payments-action-card-primary{border-color:var(--accent)}.payments-card-link{display:flex;justify-content:space-between;gap:12px;padding:11px 18px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 82%,var(--bg));color:var(--accent-text, var(--accent));font-size:13px;font-weight:650;text-decoration:none}.payments-card-link:hover{background:var(--accent-soft)}.payments-how-it-works{margin-top:22px;padding-top:4px}.payments-how-it-works>h2{margin-top:0}.payments-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.payments-flow-grid>div{padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.payments-flow-grid p{margin:3px 0 0}.reports-workspace>h1{margin-bottom:4px}.reports-workspace>.lede{margin-bottom:18px}.reports-workspace>.panel:first-of-type{padding:17px 18px;border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.reports-workspace .cal-whose{margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.reports-workspace>h2{margin:24px 0 8px;font-size:16px}.reports-workspace>h2+.panel{padding:18px}.reports-workspace .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.reports-workspace .stat{min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.reports-workspace .stat-value{font-size:19px;font-weight:700;line-height:1.2}.reports-workspace table{min-width:620px}.reports-workspace .panel:has(>table),.reports-workspace .panel:has(>.table-scroll){overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 820px){.payments-action-grid,.payments-flow-grid{grid-template-columns:1fr 1fr}}@media (max-width: 620px){.payments-page-head{display:grid}.payments-action-grid,.payments-flow-grid{grid-template-columns:1fr}.payments-action-card{min-height:0}.reports-workspace .fields{grid-template-columns:1fr}.reports-workspace .cal-whose{align-items:flex-start}}.school-workspace{max-width:1180px}.school-section-nav{display:flex;gap:4px;overflow-x:auto;margin:0 0 22px;padding:0 0 1px;border-bottom:1px solid var(--line);scrollbar-width:thin}.school-section-link{flex:0 0 auto;padding:9px 11px 10px;border-bottom:2px solid transparent;color:var(--muted);font-size:13px;font-weight:600;text-decoration:none}.school-section-link:hover{color:var(--ink)}.school-section-link.is-active{border-bottom-color:var(--accent);color:var(--accent-text, var(--accent))}.school-workspace>.lede{margin-bottom:16px}.school-workspace>.notice{margin-bottom:18px}.school-workspace .panel:has(>table),.school-workspace .panel:has(table){overflow-x:auto;-webkit-overflow-scrolling:touch}.school-workspace table{min-width:650px}.school-workspace .panel>.row:first-child h2{margin-top:0;margin-bottom:0}.school-workspace form.panel{border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.school-workspace .fields{align-items:end}@media (max-width: 720px){.school-section-nav{margin-inline:-4px;padding-inline:4px}.school-workspace .fields{grid-template-columns:1fr}.school-workspace>.panel.row,.school-workspace .panel>.row{align-items:stretch}.school-workspace .panel>.row>label,.school-workspace .panel>.row>input,.school-workspace .panel>.row>select{flex:1 1 100%}}@media (prefers-reduced-motion: reduce){.school-section-nav{scroll-behavior:auto}}:root{--bg: #f6f6f4;--panel: #ffffff;--ink: #1b1b1a;--muted: #6a6a66;--line: #e2e2dd;--accent: #8a3324;--accent-soft: #f3e7e4;--radius: 10px;--shadow: 0 1px 2px rgb(0 0 0 / 6%);color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #17171a;--panel: #1f1f23;--ink: #ececea;--muted: #9a9a95;--line: #32323a;--accent: #e08b7a;--accent-soft: #33241f;--shadow: none}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}a{color:inherit}.shell{display:grid;grid-template-columns:200px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow:hidden}.mobile-nav-bar,.sidebar-backdrop,.drawer-close{display:none}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:8px 12px;border:2px solid var(--accent-line);border-radius:7px;background:var(--panel);color:var(--ink);font-weight:600;text-decoration:none;transform:translateY(calc(-100% - 12px))}.skip-link:focus{transform:translateY(0)}.sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;flex:0 0 auto}.brand{font-weight:650;letter-spacing:-.01em;padding:0 10px 18px}.brand small{display:block;font-weight:400;color:var(--muted);font-size:12px}.sidebar-sections{display:flex;flex-direction:column;gap:15px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.nav-section{display:grid;gap:3px}.nav-heading{margin:0;padding:0 10px 3px;color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}.nav{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-radius:7px;text-decoration:none;color:var(--muted)}.nav:hover{background:var(--line);color:var(--ink)}.nav.active{background:var(--accent-soft);color:var(--accent-text);font-weight:550}.sidebar-foot{margin-top:auto;padding:10px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);flex:0 0 auto;background:var(--bg)}.sidebar-foot a{overflow-wrap:anywhere}.main{padding:26px 30px 60px;min-width:0}h1{font-size:21px;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:15px;margin:26px 0 10px}.lede{color:var(--muted);margin:0 0 22px;max-width:70ch}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 18px;margin-bottom:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spread{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.settings-tabs{margin:0 0 22px}.settings-tabs a{color:var(--muted);text-decoration:none;padding:6px 9px;border-radius:6px}.settings-tabs a.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.preview-button{background:#e8f1ff;border-color:#8aacdb;color:#183d70}.preview-result{border-color:#8aacdb;background:#f5f9ff}.settings-plan{border-top:1px solid var(--line);padding:10px 0}.settings-plan:first-child{border-top:0}.tutor-student-list{display:grid;gap:8px}.tutor-student-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;color:var(--text);background:transparent;border:1px solid var(--line);border-radius:8px;padding:11px 13px;cursor:pointer}.tutor-student-row:hover,.tutor-student-row.is-selected{border-color:var(--accent-line);background:var(--accent-soft)}.tutor-student-row>span:first-child{display:grid;gap:3px}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:550;padding:0 10px 8px}td{padding:9px 10px;border-top:1px solid var(--line);vertical-align:top}tbody tr:hover td{background:var(--bg)}tfoot th{font-size:inherit;font-weight:600;text-transform:none;letter-spacing:normal;color:inherit;padding:9px 10px;border-top:2px solid var(--line)}.tabular{font-variant-numeric:tabular-nums}input,select,button{font:inherit;color:inherit}input,select{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:7px 9px}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}button{background:var(--accent);color:var(--accent-ink);border:1px solid transparent;border-radius:7px;padding:7px 13px;cursor:pointer}button:disabled{opacity:.55;cursor:default}button.quiet{background:transparent;color:var(--muted);border-color:var(--line)}button.quiet:hover:not(:disabled){color:var(--ink)}button.link{background:transparent;border:0;border-radius:0;padding:0;color:inherit;font:inherit;text-decoration-line:underline;text-decoration-style:dotted;text-underline-offset:3px}button.link:hover:not(:disabled){color:var(--accent-text)}.panel.session{display:flex;flex-direction:column;gap:10px}.attachments{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start}.attachment{margin:0;max-width:220px}.attachment img,.attachment video,.attachment iframe{display:block;width:220px;max-width:100%;max-height:165px;border:1px solid var(--line);border-radius:7px;background:#000;object-fit:cover}.attachment iframe{height:124px;border:0}.attachment figcaption{margin-top:4px;overflow-wrap:anywhere}.muted{color:var(--muted)}.small{font-size:13px}.tag{display:inline-block;font-size:11px;padding:2px 7px;border-radius:20px;background:var(--line);color:var(--muted)}.tag.warn{background:var(--accent-soft);color:var(--accent-text)}.error{background:var(--accent-soft);color:var(--accent-text);border-radius:7px;padding:9px 12px;margin-bottom:12px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px 14px;max-width:940px}.fields label{display:flex;flex-direction:column;gap:3px}.fields input,.fields select{width:100%}.notice{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:11px 13px;margin-bottom:12px}.fold>summary{cursor:pointer;padding:8px 2px;font-weight:600;list-style-position:inside}.fold>summary::marker{color:var(--muted)}.fold>summary:hover{color:var(--accent-text)}.fold>summary:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px;border-radius:4px}.datefield{display:flex;flex-direction:column;gap:3px;position:relative}.datefield-box{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:7px;background:var(--panel);overflow:hidden}.datefield-box:focus-within{border-color:var(--accent-line)}.datefield-input{font:inherit;flex:1;min-width:0;padding:7px 10px;border:0;background:none;color:var(--ink)}.datefield-input:focus{outline:none}.datefield-open{display:flex;align-items:center;padding:0 9px;border:0;border-left:1px solid var(--line);border-radius:0;background:none;color:var(--muted);cursor:pointer}.datefield-open:hover,.datefield-open[aria-expanded=true]{color:var(--accent-text);background:var(--accent-soft)}.datepicker{position:absolute;top:100%;left:0;z-index:20;margin-top:6px;min-width:330px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:var(--shadow)}.datepicker-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:8px}.datepicker-bar.is-footer{justify-content:flex-start;padding:8px 0 0;border-top:1px solid var(--line)}.datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker-weekday{padding-bottom:4px;font-size:11px;color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.04em}.datepicker-day{font:inherit;font-size:15px;aspect-ratio:1;min-width:40px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:7px;background:none;color:var(--ink);cursor:pointer}.datepicker-day:hover{background:var(--accent-soft)}.datepicker-day.is-outside{color:var(--muted)}.datepicker-day.is-today{border-color:var(--accent-line)}.datepicker-day.is-chosen{background:var(--accent);color:var(--accent-ink);font-weight:600}.empty{color:var(--muted);padding:26px 0;text-align:center}.family{max-width:680px;margin:0 auto;padding:22px 18px 60px}.family-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--line)}.notes{white-space:pre-wrap;margin:8px 0 0}.sync{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.sync button{margin-top:6px}.sync-error{color:var(--accent-text);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signin{min-height:100vh;display:grid;place-items:center;padding:20px}.signin form{width:320px;display:flex;flex-direction:column;gap:10px}.signin input{width:100%}.day-heading{margin:22px 0 8px;font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.slot{border:1px solid var(--line);border-radius:8px;padding:9px 12px;margin-bottom:6px;background:var(--panel);display:flex;gap:14px;align-items:baseline}.slot time{font-variant-numeric:tabular-nums;font-weight:550;min-width:46px}.notes-link{color:var(--muted);text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:3px 9px;white-space:nowrap}.notes-link:hover{color:var(--accent-text);border-color:var(--accent-line)}textarea{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:9px;resize:vertical}textarea:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}@media (max-width: 720px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;z-index:30;inset:0 auto 0 0;width:min(86vw,320px);height:100dvh;border-right:1px solid var(--line);background:var(--bg);box-shadow:8px 0 28px #0000002e;transform:translate(-105%);visibility:hidden;transition:transform .18s ease,visibility .18s}.sidebar[data-open=true]{transform:translate(0);visibility:visible}.mobile-nav-bar{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--bg)}.mobile-brand{padding:0}.drawer-close{display:grid;width:38px;height:38px;place-items:center;flex:0 0 auto;padding:0;color:var(--muted);font-size:24px;line-height:1}.menu-toggle{display:grid;width:42px;height:42px;place-items:center;flex:0 0 auto;padding:0;border-color:var(--line);background:var(--panel);color:var(--ink)}.menu-toggle:hover{border-color:var(--accent-line)}.menu-icon{display:grid;gap:4px;width:18px}.menu-icon span{display:block;height:2px;border-radius:2px;background:currentColor}.sidebar-backdrop{position:fixed;z-index:25;top:0;right:0;bottom:0;left:0;display:block;background:#00000061}.sidebar-foot{padding:14px 10px 4px}.main{padding:18px 16px 50px}}@media (prefers-reduced-motion: reduce){.sidebar{transition:none}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:14px}.stat-value{font-size:26px;font-weight:600;line-height:1.2}.slot-grid{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.availability-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:12px}.availability-window{flex:0 0 auto;width:min(19rem,55vw);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.availability-day+.availability-day{border-top:1px solid var(--line)}.availability-day .day-heading{margin-top:16px}.stack{display:flex;flex-direction:column;gap:3px;max-width:420px}.reasons{margin:6px 0 0;padding-left:18px}.change-lesson{border-left:3px solid var(--accent-line);margin:4px 0 14px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cal-bar{flex-wrap:wrap}.cal-views{display:flex;gap:0;border:1px solid var(--line);border-radius:7px;overflow:hidden}.cal-view{font:inherit;color:var(--muted);background:var(--panel);border:0;border-right:1px solid var(--line);padding:5px 12px;cursor:pointer}.cal-view:last-child{border-right:0}.cal-view.is-on{color:var(--accent-ink);background:var(--accent)}.cal-period{flex:0 0 auto;width:min(17rem,50vw);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-week,.cal-month{overflow-x:auto}.cal-week-head,.cal-week-body{display:grid;grid-template-columns:54px repeat(var(--columns, 7),minmax(116px,1fr));min-width:calc(54px + var(--columns, 7) * 116px)}.cal-week.is-whole-day{max-height:72vh;overflow-y:auto}.cal-week.is-whole-day .cal-week-head{position:sticky;top:0;z-index:1;background:var(--bg)}.cal-day-head{padding:6px 8px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.cal-gutter-head{border-bottom:1px solid var(--line)}.cal-daynum{color:var(--ink);font-weight:600}.cal-day-head.is-today{color:var(--accent-text);background:var(--accent-soft)}.cal-day-head.is-today .cal-daynum{color:var(--accent-text)}.cal-week-body{--slot-h: 20px}.cal-gutter{display:grid}.cal-hour{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;padding-right:6px;transform:translateY(-6px)}.cal-day{display:grid;grid-template-columns:1fr;border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,var(--line) 0 1px,transparent 1px calc(var(--slot-h) * 4))}.cal-day.is-today{background-color:var(--accent-soft)}.rota{display:grid;gap:12px;padding:12px 0 4px;min-width:460px}.rota-week{display:grid;gap:5px}.rota-day{display:grid;grid-template-columns:84px 1fr auto;gap:10px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.rota-day-head{display:flex;flex-direction:column;line-height:1.3}.rota-periods{display:flex;flex-wrap:wrap;gap:6px 14px}.rota-period{display:flex;align-items:center;gap:5px}.rota-period input{width:112px;padding:4px 6px;font-size:13px}@media (max-width: 620px){.rota{min-width:0}.rota-day{grid-template-columns:1fr;justify-items:start}}.cal-closed{grid-column:1;background:color-mix(in srgb,var(--muted) 13%,transparent);z-index:0}.cal-session{position:relative;z-index:1;display:block;grid-column:1;border:1px solid var(--line);border-left:3px solid var(--accent-line);border-radius:6px;background:var(--panel);padding:1px 5px;font-size:11px;line-height:1.45;text-decoration:none;overflow:hidden}.cal-session:hover{border-color:var(--accent-line);border-left-color:var(--accent-line);box-shadow:var(--shadow)}.cal-session.is-done{border-left-color:var(--line)}.cal-session.is-draft{border-left-style:dashed}.cal-session-line{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-session-line time{font-variant-numeric:tabular-nums;color:var(--muted)}.cal-session-who{font-weight:600}.cal-session.is-unmatched .cal-session-who{font-weight:400;font-style:italic;color:var(--muted)}.cal-session-detail{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-session-detail a{color:var(--ink)}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(88px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);min-width:640px}.cal-month-head{padding:5px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.cal-cell{display:flex;flex-direction:column;align-items:stretch;gap:2px;min-height:92px;padding:4px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel)}.cal-cell.is-outside{background:var(--bg)}.cal-cell.is-outside .cal-cell-day{color:var(--muted)}.cal-cell.is-today{background:var(--accent-soft)}.cal-cell-day{font:inherit;font-size:12px;font-weight:600;color:inherit;background:none;border:0;padding:0;text-align:left;cursor:pointer}.cal-cell.is-today .cal-cell-day{color:var(--accent-text)}.cal-entry,.cal-more{font:inherit;font-size:11px;line-height:1.4;color:inherit;background:var(--bg);border:0;border-left:2px solid var(--accent-line);border-radius:3px;padding:1px 4px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.cal-entry time{font-variant-numeric:tabular-nums;color:var(--muted)}.cal-more{border-left:0;background:none;color:var(--muted)}.cal-entry:hover,.cal-more:hover,.cal-cell-day:hover{color:var(--accent-text)}.cal-session.is-other{border-left-color:var(--line);background:var(--bg);color:var(--muted);cursor:default}.cal-session.is-other .cal-session-who{font-weight:500;color:var(--muted)}.cal-entry.is-other{border-left-color:var(--line);color:var(--muted)}.slot.is-other{border-style:dashed;background:none}.cal-whose{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin-top:4px;padding-top:11px;border-top:1px solid var(--line)}.cal-tick{display:flex;align-items:center;gap:5px;font-size:13px;cursor:pointer;white-space:nowrap}.cal-tick input{margin:0;accent-color:var(--accent);cursor:pointer}.swatches{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.swatch{width:20px;height:20px;padding:0;border:2px solid transparent;border-radius:5px;cursor:pointer}.swatch.is-on{border-color:var(--ink)}.swatch.is-none{background:var(--panel);border:1px dashed var(--line)}.swatch.is-none.is-on{border:2px solid var(--ink)}.cal-session.has-colour,.cal-entry.has-colour,.slot.has-colour{border-left-color:hsl(var(--hue) var(--sat) calc(38% + var(--shade) * 8%))}.cal-session.has-colour{background:hsl(var(--hue) calc(var(--sat) * .55) calc(96% - var(--shade) * 2%))}.cal-entry.has-colour{background:hsl(var(--hue) calc(var(--sat) * .4) calc(96% - var(--shade) * 2%))}@media (prefers-color-scheme: dark){.cal-session.has-colour,.cal-entry.has-colour,.slot.has-colour{border-left-color:hsl(var(--hue) var(--sat) calc(60% + var(--shade) * 6%))}.cal-session.has-colour{background:hsl(var(--hue) calc(var(--sat) * .35) calc(19% + var(--shade) * 2%))}.cal-entry.has-colour{background:hsl(var(--hue) calc(var(--sat) * .3) calc(19% + var(--shade) * 2%))}}.cal-session.is-other.has-colour{background:hsl(var(--hue) calc(var(--sat) * .25) calc(97% - var(--shade) * 1%))}@media (prefers-color-scheme: dark){.cal-session.is-other.has-colour{background:hsl(var(--hue) calc(var(--sat) * .2) calc(17% + var(--shade) * 1%))}}.slot.has-colour{border-left-width:3px;border-left-style:solid}.tabs{display:flex;gap:2px;margin-bottom:18px;border-bottom:1px solid var(--line)}.tab{padding:8px 14px;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{color:var(--ink)}.tab.active{color:var(--accent-text);border-bottom-color:var(--accent-line);font-weight:550}.swatch.is-taken{opacity:.3;cursor:not-allowed}.filters{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);gap:6px 14px}.filters select.is-on{border-color:var(--accent-line);color:var(--accent-text)}.students-page{max-width:1180px}.students-page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:10px}.students-page-head .lede{margin-bottom:0}.students-total{display:grid;min-width:96px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);text-align:right;box-shadow:var(--shadow)}.students-total strong{font-size:22px;line-height:1.1}.students-total span{color:var(--muted);font-size:12px}.student-scope-switch{display:flex;gap:6px;margin:0 0 18px}.student-roster-controls{display:grid;gap:14px;margin-top:18px}.student-roster-search-row{display:flex;gap:12px;align-items:end}.student-search{display:grid;gap:4px;flex:1}.student-search input{width:100%;min-width:220px}.student-filter-row{display:flex;flex-wrap:wrap;gap:10px 12px;align-items:end;padding-top:12px;border-top:1px solid var(--line)}.student-filter{display:grid;gap:4px}.student-filter select{min-width:120px}.student-page-size select{min-width:82px}.student-clear-filters{margin-bottom:1px}.student-results-summary{justify-self:end}.student-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.student-roster-card{display:grid;grid-template-rows:auto 1fr auto;min-width:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow);overflow:hidden}.student-roster-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:17px 18px 12px}.student-roster-name{display:inline-block;color:var(--ink);font-size:17px;font-weight:650;line-height:1.25;text-decoration:none}.student-roster-name:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.student-roster-learning{display:grid;gap:2px;margin-top:5px;color:var(--muted)}.student-roster-meta{display:grid;gap:0;margin:0;padding:0 18px 14px}.student-roster-meta>div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;padding:7px 0;border-top:1px solid var(--line)}.student-roster-meta dt{color:var(--muted);font-size:12px}.student-roster-meta dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:13px}.student-roster-card-foot{border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 82%,var(--bg))}.student-roster-open{display:flex;justify-content:space-between;gap:10px;padding:10px 18px;color:var(--accent-text);font-size:13px;font-weight:600;text-decoration:none}.student-roster-open:hover{background:var(--accent-soft)}.student-admin-table{overflow-x:auto}.student-pagination{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:18px}@media (max-width: 900px){.student-roster-grid{grid-template-columns:1fr}}@media (max-width: 620px){.students-page-head{align-items:stretch}.students-total{min-width:78px}.student-roster-search-row{align-items:stretch;flex-direction:column}.student-search input{min-width:0}.student-page-size{width:fit-content}.student-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.student-filter select{width:100%;min-width:0}.student-clear-filters{grid-column:1 / -1;justify-self:start}.student-results-summary{justify-self:start}}@media (max-width: 420px){.students-page-head{display:grid}.students-total{justify-self:start;text-align:left}.student-filter-row{grid-template-columns:1fr}.student-roster-card-head{padding:15px 15px 11px}.student-roster-meta{padding:0 15px 12px}.student-roster-open{padding:10px 15px}}.cal-bar{gap:12px;padding:14px 16px;border-radius:12px}.cal-views{flex:0 0 auto;border-radius:9px;background:var(--bg)}.cal-view{min-height:38px;padding:7px 14px;font-weight:600}.cal-view:hover:not(.is-on){background:var(--bg);color:var(--ink)}.cal-view.is-on{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 78%,var(--ink))}.cal-bar>button.quiet[aria-label^=Previous],.cal-bar>button.quiet[aria-label^=Next]{display:grid;width:38px;height:38px;place-items:center;flex:0 0 auto;padding:0;font-size:18px}.cal-period{font-size:15px;font-weight:650;letter-spacing:-.01em}.cal-bar>span.small.muted{display:inline-flex;align-items:center;min-height:30px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:var(--bg);white-space:nowrap}.cal-whose{gap:7px;margin-top:0;padding-top:12px}.cal-whose>span:first-child{margin-right:2px;color:var(--ink);font-weight:600}.cal-tick{gap:6px;min-height:32px;padding:4px 9px;border:1px solid var(--line);border-radius:999px;background:var(--panel)}.cal-tick:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.cal-tick:has(input:checked){border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--accent-soft);color:var(--accent-text, var(--accent))}.cal-payment-indicator{position:absolute;z-index:2;top:2px;right:4px;display:inline-grid;min-width:18px;height:18px;place-items:center;padding:0 4px;border:1px solid color-mix(in srgb,var(--ink) 28%,var(--line));border-radius:999px;background:var(--panel);color:var(--ink);font-size:10px;font-weight:800;line-height:1;box-shadow:var(--shadow)}.cal-payment-indicator.is-settled{border-color:color-mix(in srgb,var(--ink) 34%,var(--line))}.cal-payment-indicator.is-due{border-color:color-mix(in srgb,var(--accent) 52%,var(--line));background:color-mix(in srgb,var(--accent-soft) 58%,var(--panel));color:var(--accent-text, var(--accent))}.cal-payment-indicator.is-overdue,.cal-payment-indicator.is-attention{border-width:2px;border-color:var(--accent-line);background:var(--accent-soft);color:var(--accent-text, var(--accent))}.cal-payment-indicator.is-refund{border-style:dashed}.cal-payment-indicator.is-neutral{color:var(--muted)}.cal-bar~section{margin:18px 0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.cal-bar~section>.day-heading{margin:0;padding:10px 14px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 72%,var(--panel));font-size:12px;font-weight:650;letter-spacing:.055em}.cal-bar~section>.slot{margin:0;gap:16px;align-items:center;padding:12px 14px;border-top:1px solid var(--line);border-right:0;border-bottom:0;border-radius:0;box-shadow:none}.cal-bar~section>.day-heading+.slot{border-top:0}.cal-bar~section>.slot>div{min-width:0}.cal-bar~section>.slot time{min-width:58px;color:var(--ink);font-size:13px;font-weight:650}.cal-bar~section .notes-link{background:var(--bg);font-weight:550}.cal-bar~section .notes-link:hover,.cal-bar~section .notes-link:focus-visible{background:var(--accent-soft)}.cal-bar~section>.cal-list-appointment:hover{background:color-mix(in srgb,var(--accent-soft) 58%,var(--panel))}.cal-bar~section>.cal-list-appointment:focus-visible{outline:2px solid var(--accent-line);outline-offset:-2px}@media (max-width: 720px){.cal-bar{gap:10px;padding:12px}.cal-views{width:100%}.cal-view{flex:1 1 0;padding:8px 6px}.cal-period{width:min(14rem,calc(100vw - 150px))}.cal-bar>span.small.muted{margin-left:0!important}.cal-whose{gap:6px}.cal-bar~section{margin:14px 0}.cal-bar~section>.slot{flex-wrap:wrap;align-items:flex-start;gap:8px 10px;padding:11px 12px}.cal-bar~section>.slot time{min-width:50px}.cal-bar~section .notes-link{margin-left:auto}}.dashboard-page{max-width:1220px;margin:0 auto}.dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.dashboard-head h1{margin-bottom:4px}.dashboard-head .lede{margin:0}.dashboard-date{flex:0 0 auto;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-size:13px;font-weight:650}.dashboard-refresh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dashboard-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.dashboard-metric,.dashboard-panel{border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.dashboard-metric{position:relative;min-height:138px;padding:14px;overflow:hidden}.dashboard-metric:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:color-mix(in srgb,var(--accent) 50%,var(--line))}.dashboard-tone-warn:before{background:#d97706}.dashboard-tone-danger:before{background:#dc2626}.dashboard-metric-label{min-height:32px;color:var(--muted);font-size:12px;font-weight:650}.dashboard-metric-value{display:block;margin:3px 0 5px;font-size:clamp(25px,3vw,34px);line-height:1;letter-spacing:-.04em}.dashboard-card-link{display:inline-block;margin-top:10px;font-size:12px;font-weight:650}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.9fr) minmax(210px,.7fr);gap:14px;align-items:start}.dashboard-panel{overflow:hidden}.dashboard-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:12px 14px;border-bottom:1px solid var(--line)}.dashboard-panel-head h2{margin:0;font-size:16px}.dashboard-panel-head a{flex:0 0 auto;font-size:12px;font-weight:650}.dashboard-lesson-row,.dashboard-note-row{display:flex;align-items:center;gap:12px;min-width:0;padding:11px 14px;border-top:1px solid var(--line)}.dashboard-panel-head+.dashboard-lesson-row,.dashboard-panel-head+.dashboard-note-row{border-top:0}.dashboard-lesson-row>time{width:48px;flex:0 0 48px;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.dashboard-lesson-main{display:flex;flex:1 1 180px;min-width:0;flex-direction:column;gap:2px}.dashboard-lesson-main strong,.dashboard-lesson-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-row-action{flex:0 0 auto;font-size:12px;font-weight:650}.dashboard-payment{flex:0 0 auto;max-width:130px;padding:3px 7px;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:var(--bg);font-size:10px;font-weight:750;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.dashboard-payment-settled{border-color:color-mix(in srgb,#15803d 45%,var(--line))}.dashboard-payment-due{border-color:color-mix(in srgb,#d97706 55%,var(--line))}.dashboard-payment-overdue,.dashboard-payment-attention{border-color:color-mix(in srgb,#dc2626 58%,var(--line));font-weight:850}.dashboard-payment-refund{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.dashboard-attention-list,.dashboard-quick-links{display:grid;gap:0}.dashboard-attention-list>a,.dashboard-quick-links>a{display:flex;min-height:42px;align-items:center;padding:10px 14px;border-top:1px solid var(--line);text-decoration:none}.dashboard-attention-list>a:first-child,.dashboard-quick-links>a:first-child{border-top:0}.dashboard-attention-list>a:hover,.dashboard-quick-links>a:hover,.dashboard-attention-list>a:focus-visible,.dashboard-quick-links>a:focus-visible{background:var(--accent-soft)}.dashboard-attention-list>a strong{margin-right:5px}.dashboard-attention-list .empty,.dashboard-panel>.empty,.dashboard-panel>.error{margin:14px}.dashboard-notes{margin-top:14px}.dashboard-note-row{justify-content:space-between}.dashboard-note-row>div{min-width:0}.dashboard-note-row>a{flex:0 0 auto;font-size:12px;font-weight:650}@media (max-width: 980px){.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(240px,.72fr)}.dashboard-quick-links{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid>.dashboard-panel:last-child{grid-column:1 / -1}}@media (max-width: 720px){.dashboard-head{display:block}.dashboard-date{display:inline-block;margin-top:10px}.dashboard-refresh{align-items:flex-start}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metric{min-height:124px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid>.dashboard-panel:last-child{grid-column:auto}.dashboard-lesson-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:6px 10px}.dashboard-payment{grid-column:2 / -1;justify-self:start;max-width:none}.dashboard-row-action,.dashboard-lesson-row>.tag{justify-self:end}.dashboard-note-row{align-items:flex-start}}@media (max-width: 430px){.dashboard-metrics,.dashboard-quick-links{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.dashboard-page *,.dashboard-page *:before,.dashboard-page *:after{scroll-behavior:auto!important;transition:none!important}}.operations-page{max-width:1180px}.operations-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.operations-head .lede{margin-bottom:0}.operations-unmatched-link{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--accent);font-size:13px;font-weight:600;text-decoration:none;box-shadow:var(--shadow)}.operations-unmatched-link:hover{background:var(--accent-soft)}.operations-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:8px;scrollbar-width:thin}.operations-tab{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);box-shadow:none}.operations-tab:hover{color:var(--ink);border-color:var(--accent)}.operations-tab[aria-selected=true]{color:var(--ink);border-color:var(--accent);background:var(--accent-soft)}.operations-tab-count{display:inline-grid;place-items:center;min-width:21px;min-height:21px;padding:0 6px;border-radius:999px;background:var(--bg);color:var(--ink);font-size:11px;font-variant-numeric:tabular-nums}.operations-content{margin-top:14px}.operations-content>h2,.operations-section-head h2{margin-bottom:6px}.operations-queue-description{max-width:760px;margin-top:0}.operations-queue-panel{overflow:hidden}.operations-queue-panel>.operations-row:first-child{border-top:0}.operations-row{gap:14px;align-items:center}.operations-row-actions{flex:0 0 auto;justify-content:flex-end}.operations-section-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:10px}.operations-section-head p{margin:0}.operations-scope{display:grid;gap:4px;min-width:150px}.operations-exception-group+.operations-exception-group{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.operations-exception-group h3{margin:0 0 3px;font-size:14px}.operations-exception-group>p{margin-top:0}.operations-back-link{margin:0 0 8px}.operations-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.operations-summary-card{display:grid;gap:3px;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.operations-summary-card strong{font-size:22px;line-height:1.1;font-variant-numeric:tabular-nums}.operations-summary-card span{color:var(--muted);font-size:12px}.operations-refresh-notice{justify-content:space-between;margin-bottom:16px}.operations-panel-title{margin-top:0;margin-bottom:6px;font-size:16px}.operations-table-scroll{width:100%;overflow-x:auto}.operations-table-scroll table{min-width:620px}.unmatched-group-card+.unmatched-group-card{margin-top:12px}.unmatched-group-head{gap:12px}.unmatched-group-head .muted{overflow-wrap:anywhere}.unmatched-assign-row{flex-wrap:nowrap;min-width:280px}.unmatched-assign-row select{min-width:180px;max-width:320px}@media (max-width: 720px){.operations-head{display:grid}.operations-unmatched-link{justify-self:start}.operations-tabs{margin-inline:-4px;padding-inline:4px}.operations-row{align-items:flex-start;flex-wrap:wrap}.operations-row>time{min-width:54px}.operations-row-actions{width:100%;justify-content:flex-start;padding-left:68px}.operations-section-head{align-items:stretch;flex-direction:column}.operations-scope{width:min(100%,240px)}.operations-summary-grid{grid-template-columns:1fr}.operations-refresh-notice{align-items:flex-start;flex-wrap:wrap}}@media (max-width: 460px){.operations-row-actions{padding-left:0}.operations-row-actions button{flex:1}}.schedule-page{max-width:1180px}.schedule-section-nav{display:flex;gap:4px;overflow-x:auto;margin:-2px 0 24px;padding:0 0 1px;border-bottom:1px solid var(--line);scrollbar-width:thin}.schedule-section-link{flex:0 0 auto;padding:9px 11px 10px;border-bottom:2px solid transparent;color:var(--muted);font-size:.87em;font-weight:550;text-decoration:none}.schedule-section-link:hover{color:var(--ink)}.schedule-section-link.is-active{border-bottom-color:var(--accent);color:var(--accent)}.schedule-page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.schedule-page-head .lede{margin-bottom:0}.schedule-info-strip{display:flex;gap:10px;align-items:flex-start;margin-bottom:16px;padding:11px 13px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.schedule-info-strip strong{display:block;margin-bottom:2px}.schedule-info-mark{display:inline-grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700}.schedule-tutor-picker{display:flex;gap:12px;align-items:end;margin-bottom:16px}.schedule-tutor-picker label{display:grid;gap:4px;width:min(100%,360px)}.schedule-tutor-picker select{width:100%}.schedule-selected-tutor{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-size:.87em}.schedule-selected-tutor strong{color:var(--ink)}.schedule-availability-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}.schedule-editor-card,.schedule-side-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.schedule-editor-card{padding:18px}.schedule-editor-card>h2{margin-top:0}.schedule-side-card{padding:16px}.schedule-side-card h2{margin-top:0}.schedule-guide{display:grid;gap:10px}.schedule-guide-item{padding:11px 0;border-top:1px solid var(--line)}.schedule-guide-item:first-child{padding-top:0;border-top:0}.schedule-guide-item strong{display:block;margin-bottom:2px}.schedule-availability-editor .rota{display:grid;gap:14px}.schedule-availability-editor .rota-week{gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.schedule-availability-editor .rota-day{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border-top:1px solid var(--line);background:var(--panel)}.schedule-availability-editor .rota-day:first-child{border-top:0}.schedule-availability-editor .rota-day-head{display:grid;gap:1px}.schedule-availability-editor .rota-periods{display:flex;flex-wrap:wrap;gap:8px}.schedule-availability-editor .rota-period{display:flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.schedule-availability-editor .rota-period input{width:108px;background:var(--panel)}.schedule-availability-editor .rota-period button{padding-inline:7px}.schedule-timeoff-layout{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);gap:18px;align-items:start}.schedule-timeoff-column>h2{margin-top:0}.schedule-block-list{overflow:hidden}.schedule-block-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.schedule-block-row:first-child{border-top:0;padding-top:0}.schedule-block-row:last-child{padding-bottom:0}.schedule-block-actions{flex:0 0 auto}.schedule-recurring-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.schedule-recurring-toolbar h2{margin:0}.schedule-recurring-create{margin-bottom:20px}.schedule-status-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;margin-bottom:10px;scrollbar-width:thin}.schedule-status-tab{flex:0 0 auto;border-color:var(--line);border-radius:999px;background:var(--panel);color:var(--muted);box-shadow:none}.schedule-status-tab.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.schedule-recurring-list{display:grid;gap:12px}.schedule-recurring-card{margin-bottom:0}.schedule-recurring-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.schedule-recurring-card h2{margin:0 0 3px;font-size:16px}.schedule-plan-summary{margin:10px 0 0}.schedule-plan-metrics{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.schedule-plan-metric{display:inline-flex;gap:4px;align-items:baseline;padding:4px 8px;border-radius:999px;background:var(--bg);color:var(--muted);font-size:.8em}.schedule-plan-metric strong{color:var(--ink)}.schedule-plan-actions{justify-content:flex-end;flex:0 0 auto}.schedule-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 900px){.schedule-availability-layout,.schedule-timeoff-layout{grid-template-columns:1fr}.schedule-side-card{order:-1}}@media (max-width: 720px){.schedule-page-head,.schedule-recurring-card-head,.schedule-recurring-toolbar{display:grid}.schedule-section-nav{margin-inline:-4px;padding-inline:4px}.schedule-tutor-picker{display:grid}.schedule-availability-editor .rota-day{grid-template-columns:1fr;align-items:stretch}.schedule-availability-editor .rota-period{width:100%}.schedule-availability-editor .rota-period input{flex:1;width:auto;min-width:0}.schedule-availability-editor .rota-day>button{justify-self:start}.schedule-block-row{align-items:flex-start;flex-direction:column}.schedule-block-actions{width:100%}.schedule-block-actions button{flex:1}.schedule-plan-actions{justify-content:flex-start}}@media (prefers-reduced-motion: reduce){.schedule-section-link,.schedule-status-tab{scroll-behavior:auto}}.account-page{width:min(100%,860px);margin:0 auto}.account-page>.lede{margin-bottom:18px}.account-card{margin-bottom:14px}.account-card>h2:first-child{margin-top:0}.account-form{display:grid;gap:7px}.account-form>p.small.muted{margin-top:0;max-width:68ch}.account-form>input{width:min(100%,34rem);box-sizing:border-box}.account-form>button[type=submit]{justify-self:start;margin-top:5px}.student-import-entry{margin-top:8px}.student-import-form{min-width:0;margin-top:10px;overflow:hidden}.student-import-form>h2:first-child{margin-top:0}.student-import-form textarea{box-sizing:border-box;max-width:100%;resize:vertical}.student-import-actions,.student-import-summary{flex-wrap:wrap;align-items:center;gap:8px 10px}.student-import-actions input[type=file]{flex:1 1 260px;min-width:0;max-width:100%}.student-import-preview-table{max-width:100%;margin:12px 0;overflow-x:auto;border:1px solid var(--line);border-radius:9px;-webkit-overflow-scrolling:touch}.student-import-preview-table table{min-width:720px;margin:0}.student-import-preview-table th,.student-import-preview-table td{vertical-align:top}.student-import-summary{justify-content:space-between}.student-import-summary>span{flex:1 1 320px}.student-import-summary>button{flex:0 0 auto}@media (max-width: 720px){.account-page{width:100%}.account-card,.student-import-form{padding:15px}.account-form>input{width:100%}.account-form>button[type=submit]{width:100%;justify-self:stretch}.student-import-actions>button,.student-import-summary>button{flex:1 1 auto}}@media (max-width: 430px){.student-import-actions input[type=file],.student-import-actions>button,.student-import-summary>button{flex-basis:100%;width:100%}}@media (prefers-reduced-motion: reduce){.student-import-preview-table{scroll-behavior:auto}}.student-record-page{max-width:1180px}.student-record-back{margin:0 0 8px}.student-record-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.student-record-head .lede{margin-bottom:0}.student-record-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 18px}.student-record-summary-card{display:grid;gap:4px;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:var(--shadow)}.student-record-summary-card span{color:var(--muted);font-size:12px}.student-record-summary-card strong{overflow-wrap:anywhere;font-size:20px;line-height:1.2}.student-record-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin-bottom:8px;scrollbar-width:thin}.student-record-tab{flex:0 0 auto;min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);box-shadow:none}.student-record-tab:hover{color:var(--ink);border-color:var(--accent)}.student-record-tab[aria-selected=true]{color:var(--ink);border-color:var(--accent);background:var(--accent-soft)}.student-record-panel{margin-top:14px}.student-record-panel>:first-child{margin-top:0}.student-record-section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:8px}.student-record-section-head h2{margin:0}.student-record-bulk-actions{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:13px}.student-record-list-panel{overflow:hidden}.student-record-overview-practice{margin-top:22px}.student-record-table-panel{overflow:hidden}.student-record-table-scroll{width:100%;overflow-x:auto}.student-record-table-scroll table{min-width:520px}@media (max-width: 900px){.student-record-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.student-record-head{display:grid}.student-record-tabs{margin-inline:-4px;padding-inline:4px}.student-record-section-head{align-items:flex-start;flex-direction:column}}@media (max-width: 460px){.student-record-summary{grid-template-columns:1fr}.student-record-summary-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.student-record-summary-card strong{text-align:right}}.family-shell .main{width:100%;max-width:1120px;margin-inline:auto;padding-top:32px}.family-shell .main>h1{font-size:1.55em;line-height:1.2}.family-shell .main>.lede{margin-bottom:20px}.family-shell .panel{border-radius:14px;padding:18px 20px}.family-shell .panel>h1:first-child,.family-shell .panel>h2:first-child,.family-shell article.panel>h2:first-child{margin-top:0}.family-shell .slot{gap:14px;align-items:flex-start;padding-block:12px}.family-shell .slot+.slot{border-top:1px solid var(--line)}.family-shell .slot time{min-width:4.6em;font-weight:700}.family-shell .main>.row[aria-label="Choose a student"]{gap:7px;margin:0 0 22px!important;padding:6px;width:fit-content;max-width:100%;border:1px solid var(--line);border-radius:999px;background:var(--panel)}.family-shell .main>.row[aria-label="Choose a student"] button{border-radius:999px;white-space:nowrap}.family-shell .sidebar{padding-inline:16px}.family-shell .brand{padding-bottom:22px}.family-shell .nav{min-height:42px;padding:9px 11px;border-radius:9px}.family-shell .nav.active{box-shadow:inset 3px 0 0 var(--accent)}.family-shell .sidebar-foot{padding-top:14px}.family-shell article.panel{position:relative;margin-bottom:12px}.family-shell article.panel .spread{align-items:flex-start}.family-shell article.panel .notes{max-width:70ch;white-space:pre-wrap}.family-shell .fields{gap:13px 16px}.family-shell input,.family-shell select,.family-shell textarea{max-width:100%}.family-shell table{min-width:600px}.family-shell .panel:has(>table),.family-shell .panel:has(table){overflow-x:auto;-webkit-overflow-scrolling:touch}.family-shell .pagination,.family-shell [aria-label=Pagination]{margin-top:18px}.family-shell,.family-shell *{transition-property:none}@media (max-width: 760px){.family-shell .main{max-width:none;padding-top:22px}.family-shell .main>.row[aria-label="Choose a student"]{width:100%;overflow-x:auto;border-radius:12px}.family-shell .main>.row[aria-label="Choose a student"] button{flex:0 0 auto}.family-shell .panel{padding:15px 16px}.family-shell .spread{align-items:flex-start;flex-direction:column}}@media (max-width: 520px){.family-shell .main{padding-inline:14px}.family-shell .panel{border-radius:11px}.family-shell .slot{display:grid;grid-template-columns:auto minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){.family-shell *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shell{grid-template-columns:220px 1fr}.sidebar{padding:18px 12px 14px;gap:8px}.sidebar-sections{gap:10px;padding-right:2px}.nav-section{gap:2px;padding:7px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel) 58%,transparent)}.nav-heading{padding:1px 7px 4px;color:var(--accent-text, var(--accent));font-size:.73em;font-weight:750;letter-spacing:.08em}.nav{padding:7px 8px}.nav:hover{background:color-mix(in srgb,var(--line) 72%,transparent)}.nav.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-line) 24%,transparent)}.sidebar-foot{position:relative;padding:10px 0 0;border-top:0;background:transparent}.staff-sidebar-footer{display:grid;gap:8px}.sync-status-only{padding:0 8px}.sync-status-line{display:flex;align-items:center;gap:6px}.sync-status-line:before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:999px;background:var(--accent-line);opacity:.72}.sidebar-account-menu{position:relative}.sidebar-account-menu>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:9px 10px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:10px;background:color-mix(in srgb,var(--panel) 72%,transparent);color:var(--ink);cursor:pointer;list-style:none}.sidebar-account-menu>summary::-webkit-details-marker{display:none}.sidebar-account-menu>summary:hover{border-color:var(--line);background:var(--panel)}.sidebar-account-identity{display:grid;min-width:0;line-height:1.25}.sidebar-account-identity strong{font-size:.9em;font-weight:650}.sidebar-account-identity span{overflow:hidden;color:var(--muted);font-size:.82em;text-overflow:ellipsis;white-space:nowrap}.sidebar-account-more{color:var(--muted);font-weight:700;letter-spacing:.05em}.sidebar-account-popover{position:absolute;z-index:20;right:0;bottom:calc(100% + 7px);left:0;display:grid;gap:2px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 8px 28px #00000024}.sidebar-account-popover a,.sidebar-account-popover button{display:block;width:100%;margin:0;padding:8px 9px;border:0;border-radius:7px;background:transparent;color:var(--ink);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.sidebar-account-popover a:hover,.sidebar-account-popover button:hover{background:var(--bg)}.sidebar-account-popover a.active{background:var(--accent-soft);color:var(--accent-text, var(--accent));font-weight:600}.sidebar-account-popover button:disabled{cursor:default;opacity:.55}.sidebar-account-popover .sidebar-sign-out{margin-top:3px;padding-top:9px;border-top:1px solid var(--line);border-radius:0 0 7px 7px}@media (max-width: 720px){.shell{grid-template-columns:1fr}.sidebar{padding:18px 12px 14px}.nav-section{background:color-mix(in srgb,var(--panel) 72%,transparent)}.sidebar-account-popover{position:static;margin-top:7px}}.family-shell{grid-template-columns:13.5em minmax(0,1fr);background:var(--bg);color:var(--ink)}.family-shell h1{font-size:1.4em}.family-shell h2{font-size:1em}.family-shell .small{font-size:.87em}.family-shell .brand small,.family-shell .sidebar-foot,.family-shell th{font-size:.8em}.family-shell .tag,.family-shell .datepicker-weekday{font-size:.74em}.family-shell .datepicker-day{font-size:1em}.family-shell .nav,.family-shell button,.family-shell input,.family-shell select{min-height:2.5em}.family-shell .nav{overflow-wrap:anywhere}.family-shell[data-student-spacing=increased] .brand,.family-shell[data-student-spacing=increased] h1,.family-shell[data-student-spacing=increased] th,.family-shell[data-student-spacing=increased] .datepicker-weekday,.family-shell[data-student-spacing=extra] .brand,.family-shell[data-student-spacing=extra] h1,.family-shell[data-student-spacing=extra] th,.family-shell[data-student-spacing=extra] .datepicker-weekday{letter-spacing:inherit}.family-shell.has-student-colours :focus-visible{outline-color:var(--ink)}.family-shell.has-student-colours .nav.active{background:var(--line);color:var(--ink)}.family-shell.has-student-colours .nav:hover{background:var(--panel);color:var(--ink)}.accessibility-settings h2,.accessibility-preview h2{margin-top:0}.accessibility-fields,.accessibility-colour-fields{margin-top:12px}.accessibility-palettes{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}.accessibility-palettes button{display:inline-flex;align-items:center;gap:7px}.accessibility-swatch{display:inline-flex;width:2em;height:2em;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:5px;font-weight:700;line-height:1}.accessibility-colour-fields input[type=color]{width:100%;min-height:3em;padding:3px;cursor:pointer}.accessibility-contrast{margin-bottom:0}.accessibility-preview{background:var(--bg);color:var(--ink);max-width:70ch}.accessibility-preview p{max-width:58ch}.accessibility-actions{margin-bottom:24px}.staff-accessibility-shell.has-accessibility-font-size h1{font-size:1.4em}.staff-accessibility-shell.has-accessibility-font-size h2{font-size:1em}.staff-accessibility-shell.has-accessibility-font-size .small,.staff-accessibility-shell.has-accessibility-font-size .day-heading,.staff-accessibility-shell.has-accessibility-font-size .cal-day-head,.staff-accessibility-shell.has-accessibility-font-size .cal-tick,.staff-accessibility-shell.has-accessibility-font-size .rota-period input{font-size:.87em}.staff-accessibility-shell.has-accessibility-font-size .brand small,.staff-accessibility-shell.has-accessibility-font-size .sidebar-foot,.staff-accessibility-shell.has-accessibility-font-size th,.staff-accessibility-shell.has-accessibility-font-size .cal-month-head,.staff-accessibility-shell.has-accessibility-font-size .cal-cell-day{font-size:.8em}.staff-accessibility-shell.has-accessibility-font-size .nav-heading,.staff-accessibility-shell.has-accessibility-font-size .tag,.staff-accessibility-shell.has-accessibility-font-size .datepicker-weekday,.staff-accessibility-shell.has-accessibility-font-size .cal-hour,.staff-accessibility-shell.has-accessibility-font-size .cal-entry,.staff-accessibility-shell.has-accessibility-font-size .cal-more{font-size:.74em}.staff-accessibility-shell.has-accessibility-font-size .datepicker-day{font-size:1em}.staff-accessibility-shell.has-accessibility-font-size .nav,.staff-accessibility-shell.has-accessibility-font-size button,.staff-accessibility-shell.has-accessibility-font-size input,.staff-accessibility-shell.has-accessibility-font-size select{min-height:2.5em}.staff-accessibility-shell[data-accessibility-spacing=increased] .brand,.staff-accessibility-shell[data-accessibility-spacing=increased] .nav-heading,.staff-accessibility-shell[data-accessibility-spacing=increased] h1,.staff-accessibility-shell[data-accessibility-spacing=increased] th,.staff-accessibility-shell[data-accessibility-spacing=increased] .datepicker-weekday,.staff-accessibility-shell[data-accessibility-spacing=increased] .day-heading,.staff-accessibility-shell[data-accessibility-spacing=increased] .cal-month-head,.staff-accessibility-shell[data-accessibility-spacing=extra] .brand,.staff-accessibility-shell[data-accessibility-spacing=extra] .nav-heading,.staff-accessibility-shell[data-accessibility-spacing=extra] h1,.staff-accessibility-shell[data-accessibility-spacing=extra] th,.staff-accessibility-shell[data-accessibility-spacing=extra] .datepicker-weekday,.staff-accessibility-shell[data-accessibility-spacing=extra] .day-heading,.staff-accessibility-shell[data-accessibility-spacing=extra] .cal-month-head{letter-spacing:inherit}.staff-accessibility-shell.has-accessibility-colours :focus-visible{outline-color:var(--ink)}.staff-accessibility-shell.has-accessibility-colours .nav.active,.staff-accessibility-shell.has-accessibility-colours .settings-tabs a.active{background:var(--line);color:var(--ink)}.staff-accessibility-shell.has-accessibility-colours .nav:hover{background:var(--panel);color:var(--ink)}.staff-accessibility-shell.has-accessibility-colours .preview-button,.staff-accessibility-shell.has-accessibility-colours .preview-result{background:var(--panel);border-color:var(--line);color:var(--ink)}@media (max-width: 760px){.family-shell{display:block;min-width:0}.family-shell .sidebar{position:static;width:100%;height:auto;max-height:none;border-right:0;border-bottom:1px solid var(--line);padding:14px}.family-shell .sidebar-foot{margin-top:12px}.family-shell .main{padding:20px 16px 48px}.accessibility-palettes button{flex:1 1 11em;justify-content:flex-start}.accessibility-actions>button{flex:1 1 12em}}.cal-day-interactive,.cal-day-interactive .cal-closed{cursor:cell}.cal-session-button{color:inherit;font-family:inherit;text-align:left;cursor:pointer}.cal-session-button[draggable=true]{cursor:grab}.cal-session-button[draggable=true]:active{cursor:grabbing}.cal-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;justify-content:flex-end;background:#00000057}.cal-lesson-drawer{width:min(430px,92vw);height:100dvh;overflow-y:auto;background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--shadow);padding:18px}.cal-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.cal-drawer-head h2{margin:2px 0 4px;font-size:1.2rem}.cal-drawer-head>button{flex:0 0 auto;min-width:42px;min-height:42px;padding:4px 10px;font-size:24px;line-height:1}.cal-drawer-status{min-height:24px;margin-top:12px}.cal-booking-drawer-body{padding-top:14px}.cal-booking-drawer .book-one-lesson>.panel:first-child{margin-top:0}.cal-lesson-primary-actions,.cal-payment-actions{display:grid;gap:8px;margin-top:10px}.cal-lesson-primary-actions button,.cal-payment-actions button{width:100%;text-align:left}.cal-drawer-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.cal-drawer-back{margin:12px 0 2px}.cal-drawer-operation{margin-top:12px}.cal-credit-select{margin-top:16px}.cal-credit-select select{width:100%}.cal-late-cancel-warning{border-left:4px solid var(--accent-line)}.cal-list-appointment{cursor:pointer}.cal-list-appointment:hover,.cal-list-appointment:focus-visible{outline:1px solid var(--accent-line);box-shadow:var(--shadow)}.cal-slot-summary{margin-top:2px}.cal-blank-actions{display:grid;gap:10px;margin-top:18px}.cal-blank-actions .button,.cal-blank-actions button{width:100%;text-align:left}.cal-blank-actions p,.cal-block-target{margin:2px 0 0}.cal-blank-drawer .notice,.cal-blank-drawer .schedule-block-form .panel{margin-top:12px}@media (max-width: 620px){.cal-drawer-backdrop{align-items:flex-end}.cal-lesson-drawer{width:100%;height:auto;max-height:88dvh;border-left:0;border-top:1px solid var(--line);border-radius:16px 16px 0 0}}.cal-block{grid-column:1;z-index:0;min-width:0;border:1px dashed color-mix(in srgb,var(--muted) 42%,transparent);border-left:3px solid color-mix(in srgb,var(--muted) 65%,transparent);background:color-mix(in srgb,var(--muted) 13%,transparent);color:var(--muted);padding:2px 5px;text-align:left;font:inherit;font-size:11px;line-height:1.35;cursor:pointer;overflow:hidden}.cal-block:hover,.cal-block:focus-visible{background:color-mix(in srgb,var(--muted) 20%,transparent);border-color:var(--muted);outline:none}.cal-block-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root{--accent: #F28C28;--accent-soft: #FFF1E3;--accent-ink: #1B1B1A;--accent-text: #8A4A00;--accent-line: #C2410C}@media (prefers-color-scheme: dark){:root{--accent-soft: #3A2A1D;--accent-ink: #17171A;--accent-text: #F28C28;--accent-line: #F28C28}}.family-shell.has-student-colours,.staff-accessibility-shell.has-accessibility-colours,.accessibility-preview[style*=--accent]{--accent-ink: var(--bg);--accent-text: var(--accent);--accent-line: var(--accent)}
