:root{color:#24231f;font-synthesis:none;--yellow:#ffc725;--yellow-hover:#f5bd16;--yellow-soft:#fff3c4;--yellow-dark:#785900;--ink:#24231f;--muted:#68655d;--line:#d9d6cc;--line-strong:#c6c2b7;--canvas:#f5f4ef;--sidebar:#eeede7;--surface:#fffefa;--surface-subtle:#f0efe9;--success:#287456;--danger:#a33a2b;--control-radius:10px;background:#f5f4ef;font-family:Avenir Next,Noto Sans SC,Noto Sans,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px;max-width:100%;overflow-x:clip}body{min-width:320px;max-width:100%;min-height:100vh;color:var(--ink);background:var(--canvas);margin:0;overflow-x:clip}button,input,textarea,select,a{-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline:none}button,select,option,.status-pill,.operation-mode-label{word-break:keep-all}select,option,.status-pill,.operation-mode-label{white-space:nowrap}button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #ffc72580}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:#b48400;outline:none;box-shadow:0 0 0 3px #ffc72552}::selection{color:#191812;background:var(--yellow)}.ui-icon{flex:none;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;color:var(--ink);background:var(--yellow);opacity:0;pointer-events:none;border-radius:7px;padding:12px 18px;position:fixed;top:8px;left:8px;transform:translateY(calc(-100% - 16px))}.skip-link:focus-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.account-error:empty{display:none}.account-error:not(:empty){color:var(--danger);background:var(--surface);margin:0;padding:12px 20px}.list-toolbar{flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:18px;display:flex}.list-toolbar label{color:var(--muted);gap:7px;font-size:13px;font-weight:650;display:grid}.list-toolbar label:first-child{flex:220px}.list-toolbar input,.list-toolbar select,.teacher-filter select{border:1px solid var(--line-strong);border-radius:var(--control-radius);width:100%;min-height:42px;color:var(--ink);background:var(--surface);padding:8px 12px}.result-count{color:var(--muted);font-variant-numeric:tabular-nums;padding-bottom:11px;font-size:13px}.teacher-filter{justify-content:flex-end;width:100%;display:flex}.teacher-legend .teacher-filter select{width:auto;min-height:35px;padding:6px 10px}.week-day.is-today>header{color:var(--ink);background:var(--yellow-soft);box-shadow:inset 0 -2px var(--yellow)}.grouped-settings.settings-form{display:block}.settings-group{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0;margin:0 0 30px;padding:0;display:grid}.settings-group legend{margin-bottom:12px;padding:0;font-size:18px;font-weight:750}.settings-help{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.settings-group label{min-width:0;color:var(--muted);gap:8px;font-size:13px;font-weight:650;display:grid}.settings-field{gap:7px;min-width:0;display:grid}.settings-control{min-width:0;position:relative}.settings-control>input,.settings-control>select,.settings-control>textarea{display:block}.settings-control>input:disabled,.settings-control>select:disabled,.settings-control>textarea:disabled{color:#696962;background:var(--surface-subtle);opacity:1;cursor:not-allowed}:is(.settings-control:has(.settings-lock-button)>input,.settings-control:has(.settings-lock-button)>select,.settings-control:has(.settings-lock-button)>textarea){padding-right:48px}.settings-lock-button{color:#65501a;background:var(--yellow-soft);border-radius:var(--control-radius);cursor:pointer;touch-action:none;border:1px solid #d2b866;place-items:center;width:30px;height:30px;padding:0;display:grid;position:absolute;top:6px;right:6px}.settings-lock-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.settings-lock-button.is-holding{color:var(--ink);background:var(--yellow);box-shadow:inset 0 0 0 2px #65501a38}.settings-lock-button:focus-visible{outline-offset:2px;outline:3px solid #ffc72561}.settings-account{padding:24px 0}.settings-account h2{font-size:18px}.settings-account p{color:var(--muted);overflow-wrap:anywhere}.review-dialog{position:relative}.review-dialog>h2{padding-right:35px}.danger-button:disabled,.dialog-close-button:disabled{opacity:.55;cursor:wait}@media (width<=767px){.settings-group{grid-template-columns:1fr}.settings-group input,.settings-group select,.settings-group textarea,.list-toolbar input,.list-toolbar select,.teacher-filter select,.review-dialog input,.review-dialog select,.review-dialog textarea{font-size:16px}.family-header{flex-wrap:wrap}}.app-shell{grid-template-rows:62px minmax(0,1fr);min-height:100dvh;display:grid}.app-shell.has-preview-notice{grid-template-rows:62px auto minmax(0,1fr)}.topbar{z-index:20;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:0 22px;display:flex;position:sticky;top:0}.preview-notice{z-index:19;color:#4c3a00;background:var(--yellow-soft);border-bottom:1px solid #e6d184;justify-content:center;align-items:center;gap:12px;min-height:38px;padding:7px 18px;font-size:12.5px;display:flex}.preview-notice button{color:#493600;background:0 0;border:0;border-bottom:1px solid;padding:3px 8px;font-weight:750}.brand{color:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:0;text-decoration:none;display:inline-flex}.brand-mark{background:0 0;flex:none;place-items:center;width:36px;height:36px;display:grid;overflow:hidden}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand>span{text-align:left}.brand-name{white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex}.brand .brand-name{font-size:15px}.brand strong{letter-spacing:.01em;line-height:1.05;display:block}.brand-name .brand-suffix{color:inherit;font-size:inherit;letter-spacing:inherit;font-weight:700;line-height:1.05}.menu-button{width:40px;height:40px;color:var(--ink);appearance:none;background:0 0;border:0;border-radius:8px;margin-left:auto;padding:0;font-size:22px;display:none}.workspace{grid-template-columns:228px minmax(0,1fr);min-height:0;display:grid}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;padding:18px 12px 15px;display:flex}.sidebar nav{gap:4px;display:grid}.sidebar nav button{color:#4d4a43;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:8px;grid-template-columns:27px minmax(0,1fr);align-items:center;width:100%;min-height:42px;padding:0 11px;font-size:13.5px;font-weight:650;display:grid}.sidebar nav button .ui-icon{color:#77736a}.sidebar nav button:hover{background:#ffffffad}.sidebar nav button.active{color:#1e1d19;background:var(--yellow)}.sidebar nav button.active .ui-icon{color:#1e1d19}.sidebar-note{color:#8a8a83;margin:auto 10px 0;font-size:12px}.sidebar-footer{border-top:1px solid var(--line);gap:2px;margin-top:auto;padding:12px 5px 0;display:grid}.sidebar-footer-row{align-items:center;gap:6px;min-width:0;padding:0 7px;display:flex}.sidebar-footer-row button{min-width:0;min-height:28px;color:var(--muted);text-align:left;white-space:nowrap;background:0 0;border:0;flex:none;padding:0;font-size:11px}.sidebar-footer-row button:hover,.sidebar-footer-row button.active{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.sidebar-footer-dot{color:#aaa79e;-webkit-user-select:none;user-select:none;font-size:11px;line-height:1}.sidebar-footer p{color:#77736a;margin:10px 7px 1px;font-size:11.5px}.sidebar-footer small{color:#9a978f;margin:0 7px;font-size:10.5px}.main-content{min-width:0;padding:clamp(26px,3.2vw,40px);overflow-x:hidden}.page-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-bottom:20px;display:flex}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.025em;margin-bottom:6px;font-size:clamp(24px,2.4vw,29px);line-height:1.15}.page-heading p:last-child{max-width:70ch;color:var(--muted);margin-bottom:0;font-size:14px;line-height:1.4}button{cursor:pointer}.primary-button,.secondary-button,.danger-button{border-radius:var(--control-radius);white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:40px;font-weight:700;transition:background-color .14s,border-color .14s,transform .1s;display:inline-flex}.primary-button{color:#1d1d19;background:var(--yellow);border:1px solid #dea800;padding:0 17px}.primary-button:hover{background:var(--yellow-hover)}.primary-button:active{transform:translateY(1px)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.58}.lesson-form .primary-button.is-saved:disabled{color:#77746d;opacity:1;background:#e4e3dd;border-color:#e4e3dd}.secondary-button{color:#30302c;background:var(--surface);border:1px solid var(--line-strong);padding:0 15px}.secondary-button:hover{background:var(--surface-subtle);border-color:#aaa69a}.template-link{color:#5a4600;background:var(--surface);border:1px solid var(--line-strong);white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;min-height:40px;padding:0 15px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.template-link:hover{background:var(--surface-subtle);border-color:#aaa69a}.week-section{padding-top:18px}.week-toolbar{grid-template-columns:auto minmax(170px,1fr) auto;align-items:start;gap:18px;margin-bottom:6px;display:grid}.week-range{text-align:center;gap:2px;display:grid}.week-range strong{font-size:14px}.week-range span{color:var(--muted);font-size:11px}.week-controls{gap:6px;display:flex}.week-controls button{min-width:35px;height:35px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;place-items:center;padding:0 10px;font-size:12px;display:grid}.week-controls button:hover{background:var(--surface-subtle)}.teacher-legend{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 14px;font-size:12px;display:flex}.teacher-legend span{align-items:center;gap:6px;display:inline-flex}.teacher-legend i{background:var(--success);border-radius:50%;width:8px;height:8px}.week-drag-help{color:var(--muted);margin:0 0 12px;font-size:11.5px}.week-grid{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.week-day{border-right:1px solid var(--line);min-width:0;min-height:300px;transition:background-color .14s,box-shadow .14s}.week-day:last-child{border-right:0}.week-day.is-drop-target{background:var(--yellow-soft);box-shadow:inset 0 0 0 2px #d6a600}.week-day>header{background:var(--surface-subtle);cursor:copy;justify-content:space-between;align-items:center;gap:6px;min-height:40px;padding:7px 16px 7px 9px;font-size:11.5px;display:flex}.day-count-pill{color:#3d3a34;font-variant-numeric:tabular-nums;align-items:center;font-size:10px;font-weight:800;display:inline-flex}.day-count-pill i{margin:0 1px;font-style:normal}.day-count-pill b{color:#287456;font-weight:800}.day-count-pill.is-zero b{color:#3d3a34}.day-count-pill.is-full,.day-count-pill.is-full b,.day-count-pill.is-full i{color:#287456}.week-day>header:hover{background:var(--yellow-soft)}.day-lessons{gap:7px;padding:7px;display:grid}.day-lessons>p{color:#89867d;text-align:center;margin:13px 2px;font-size:11px}.week-lesson{width:100%;min-width:0;color:inherit;text-align:left;cursor:pointer;background:#f8f7f2;border:0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"time status""name name";align-items:center;gap:4px 6px;padding:9px;font-size:11.5px;transition:transform .12s,box-shadow .12s;display:grid}.week-lesson[draggable=true]{cursor:grab}.week-lesson[draggable=true]:active{cursor:grabbing}@media (hover:hover){.week-lesson:hover{transform:translateY(-1px);box-shadow:0 3px 8px #2d2a201f}}.week-lesson:active{transform:translateY(0)scale(.98)}.week-lesson time{min-width:0;color:var(--yellow-dark);font-variant-numeric:tabular-nums;grid-area:time;align-items:center;gap:5px;font-weight:800;display:inline-flex}.week-lesson time:before{content:"";background:var(--teacher-color,#d4a72c);border-radius:50%;flex:none;width:5px;height:5px}.week-lesson strong{text-overflow:ellipsis;white-space:nowrap;grid-area:name;min-width:0;overflow:hidden}.week-lesson .lesson-status{grid-area:status;justify-self:end;min-width:0}.week-lesson .lesson-status.is-icon{justify-content:center;align-items:center;min-width:22px;height:22px;padding:0;display:inline-flex}.week-lesson .joint-member-statuses{grid-area:status;justify-self:end;gap:4px;min-width:0;display:inline-flex}.week-lesson .lesson-status.is-pending_attendance{color:#594f48;background:#e9e5e1}.week-lesson .lesson-status.is-reserved{background:0 0}.week-lesson .joint-lesson-badge{color:#77736a;flex:none;align-items:center;display:inline-flex}.week-lesson strong.joint-name{flex-wrap:wrap;align-items:center;gap:3px 6px;display:flex}.week-lesson strong.joint-name>span{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.week-lesson.is-focused{outline-offset:2px;outline:2px solid #a77c00}.week-grid.has-multi-teachers .week-lesson{box-shadow:inset 3px 0 0 var(--teacher-color,#d4a72c)}@media (hover:hover){.week-grid.has-multi-teachers .week-lesson:hover{box-shadow:inset 3px 0 0 var(--teacher-color,#d4a72c), 0 3px 8px #2d2a201f}}.lesson-status{color:#555149;text-overflow:ellipsis;white-space:nowrap;background:#e8e7e0;border-radius:999px;justify-self:start;max-width:100%;padding:2px 6px;font-size:10px;font-weight:750;overflow:hidden}.lesson-status.is-pending_attendance{color:#5f4700;background:#fff0b5}.lesson-status.is-attended{color:#1f6249;background:#e0f0e9}.lesson-status.is-leave,.lesson-status.is-absent,.lesson-status.is-cancelled{color:#594f48;background:#e9e5e1}.state-message{color:var(--ink);background:var(--yellow-soft);border-radius:var(--control-radius);margin:14px 0 0;padding:10px 12px;font-size:13px}.state-message.is-error{color:var(--danger);background:#fff0ec}.overview{grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:36px;padding-top:28px;display:grid}.schedule-panel{min-width:0}.tasks-panel{border-left:1px solid var(--line);min-width:0;padding-left:28px}.section-heading{align-items:center;gap:9px;margin-bottom:18px;display:flex}.section-heading h2{margin:0;font-size:18px}.count{color:#565650;background:#e7e7e2;border-radius:11px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:700;display:inline-grid}.empty-state{text-align:center;background:#ffffff8c;border:1px dashed #cecec6;border-radius:8px;align-content:center;place-items:center;min-height:300px;padding:40px;display:grid}.empty-icon{color:#28271f;background:#ffe79d;border-radius:50%;place-items:center;width:48px;height:48px;margin-bottom:16px;font-size:21px;display:grid}.empty-state h3{margin-bottom:8px;font-size:17px}.empty-state p{max-width:420px;color:var(--muted);margin-bottom:20px;font-size:14px;line-height:1.5}.task-row{border-bottom:1px solid var(--line);color:#4f4f49;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;font-size:14px;display:grid}.task-row strong{color:var(--ink)}.status-dot{background:var(--yellow);border-radius:50%;width:8px;height:8px}.scrim{display:none}.auth-page{background:#f2f2ef;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{background:var(--surface);border-radius:14px;width:min(100%,430px);padding:34px;box-shadow:0 18px 50px #302a1617}.auth-brand{align-items:center;gap:10px;margin-bottom:30px;display:flex}.auth-brand strong,.auth-brand small{display:block}.auth-brand small{color:var(--muted);margin-top:2px;font-size:11px}.auth-brand .brand-name{align-items:baseline}.auth-brand .brand-name .brand-suffix{color:inherit;font-size:inherit;font-weight:700}.auth-panel>p:not(.eyebrow){color:var(--muted);margin-bottom:26px;line-height:1.5}.auth-panel form{gap:16px;display:grid}.auth-divider{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.google-login-button{border-radius:var(--control-radius);background:#fff;justify-content:center;width:100%;min-width:0;display:flex;position:relative;overflow:hidden}.google-login-button:after{content:"";z-index:1;pointer-events:none;border:1px solid var(--line-strong);border-radius:inherit;position:absolute;inset:0}.google-login-button>div{border-radius:inherit;max-width:100%;overflow:hidden;margin-inline:auto!important}.google-login-button iframe{border-radius:var(--control-radius)}.auth-panel label,.settings-form label{color:#484842;gap:7px;font-size:13px;font-weight:700;display:grid}.auth-panel input,.settings-form input,.settings-form textarea,.settings-form select{width:100%;min-height:42px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--control-radius);font:inherit;padding:9px 11px}.settings-form textarea{resize:vertical;min-height:84px}.auth-panel input:focus,.settings-form input:focus,.settings-form textarea:focus,.settings-form select:focus{border-color:#b48400;outline:none;box-shadow:0 0 0 3px #ffc72552}.settings-form [aria-invalid=true]{border-color:var(--danger)}.settings-form [aria-invalid=true]:focus{border-color:var(--danger);box-shadow:0 0 0 3px #ad302229}.field-error{color:var(--danger);font-size:12px;font-weight:600;line-height:1.45}.form-status{color:var(--muted);font-size:13px}.form-status.is-error{color:var(--danger)}.auth-panel .primary-button{width:100%;margin-top:4px}.auth-panel .code-input{letter-spacing:.28em;font-variant-numeric:tabular-nums;font-size:24px}.form-error{color:var(--danger);margin:-4px 0 0;font-size:13px}.text-button{color:#5c5c56;background:0 0;border:0;min-height:36px;font-weight:650}.loading-state{color:var(--muted);padding-top:28px}.settings-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;max-width:900px;padding-top:22px;display:grid}.full-field{grid-column:1/-1}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:18px;padding-top:8px;display:flex}.form-actions span{color:var(--muted);margin-right:auto;font-size:13px}.data-page .page-heading{align-items:center}.work-section{border-bottom:1px solid var(--line);padding:18px 0 20px}.data-page>.work-section:last-of-type{border-bottom:0}.section-title{justify-content:space-between;align-items:end;gap:18px;margin-bottom:12px;display:flex}.section-title h2{letter-spacing:-.01em;margin:0;font-size:16px}.section-title p{color:var(--muted);margin:4px 0 0;font-size:12.5px}.inline-form{flex-wrap:wrap;align-items:end;gap:12px;padding:0;display:flex}.inline-form label{min-width:145px;color:var(--muted);flex:155px;gap:6px;font-size:12px;font-weight:700;display:grid}.inline-form input,.inline-form select{width:100%;min-height:40px;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface);font:inherit;padding:8px 10px}.inline-form input:focus,.inline-form select:focus,.teacher-manager input:focus{border-color:#a77c00;box-shadow:0 0 0 3px #ffc72538}.course-create-form{align-items:flex-start}.course-create-form select{padding-left:6px}.course-create-form>button{margin-top:20px}.course-invoice-name-help{max-width:32rem;color:var(--muted);font-size:11.5px;font-weight:500;line-height:1.45}.compact-form label{flex:0 360px}.monthly-export-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.monthly-export-form label{min-width:0;color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.monthly-export-form input,.monthly-export-form select{width:100%;min-width:0;min-height:40px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--control-radius);font:inherit;padding:8px 10px}.teacher-manager{border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:14px;padding:18px 0 20px;display:flex}.teacher-manager h2{margin-bottom:5px;font-size:17px}.teacher-manager p{color:var(--muted);margin:0;font-size:13px}.teacher-manager-controls{justify-items:start;gap:10px;width:100%;min-width:0;display:grid}.teacher-list{gap:7px;width:100%;display:grid}.teacher-list>div{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--control-radius);flex-wrap:wrap;align-items:center;gap:8px;min-height:40px;padding:7px 8px 7px 10px;display:flex}.teacher-list strong{font-size:12.5px}.teacher-list .text-button{min-height:28px;color:var(--muted);padding-inline:7px;font-size:11px}.teacher-member-identity{gap:2px;min-width:150px;margin-right:auto;display:grid}.teacher-member-identity small{color:var(--muted);font-size:11px}.teacher-member-actions,.teacher-invite-form{flex-wrap:wrap;align-items:end;gap:7px;display:flex}.teacher-invite-actions{align-items:stretch;gap:7px;min-width:0;display:flex}.teacher-invite-actions>button{min-width:0;padding-inline:10px;font-size:12px}.teacher-member-actions select,.teacher-invite-form input,.teacher-invite-form select{width:100%;min-height:40px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--control-radius);font:inherit;padding:8px 30px 8px 10px;font-size:12px}.teacher-invite-form label{width:190px;min-width:190px}.teacher-member-actions select{width:190px}.teacher-manager form{align-items:end;gap:10px;display:flex}.teacher-manager label{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.teacher-manager input{min-height:40px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--control-radius);font:inherit;padding:8px 10px}.lesson-form{flex-wrap:wrap}.lesson-form label{flex:150px;min-width:150px}.data-list{display:grid}.data-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto;align-items:center;gap:16px;min-height:54px;padding:0 8px;font-size:13.5px;display:grid}.accounts-payment-list .data-row:last-child{border-bottom:0}.account-payment-row{grid-template-columns:minmax(0,1fr) auto;gap:12px 18px;min-height:66px;padding-block:10px}.account-payment-summary{flex-wrap:wrap;align-items:center;gap:10px 16px;min-width:0;display:flex}.account-payment-summary strong{flex:180px;min-width:0}.account-payment-summary>span:not(.status-pill){color:var(--muted);white-space:nowrap}.invoice-link{color:var(--success);-webkit-text-decoration-color:color-mix(in srgb,var(--success) 55%,transparent);text-decoration-color:color-mix(in srgb,var(--success) 55%,transparent);text-underline-offset:3px;white-space:nowrap;flex:none;font-weight:750}.invoice-link:hover{color:#1e6047;text-decoration-color:currentColor}.invoice-delivery-status{color:var(--muted);white-space:nowrap;font-size:11.5px;font-weight:700}.account-payment-actions{flex-wrap:nowrap;justify-content:flex-end}.account-payment-method{display:none}.account-payment-reference{color:var(--muted);font-size:12px}.account-payment-invoice{align-items:center;gap:8px;min-width:0;display:inline-flex}.account-payment-actions:empty{display:none}.data-row:hover{background:#ffffff7a}.data-row span{color:var(--muted)}.course-data-row{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) auto auto}.course-data-row:last-child{border-bottom:0}.course-list{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden}.course-list .course-data-row{padding-inline:12px}.course-row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.course-edit-dialog>p{color:var(--muted);margin:0;line-height:1.55}.course-edit-dialog form,.course-edit-dialog label{gap:8px;display:grid}.course-edit-dialog form{margin-top:18px}.course-edit-dialog label{color:var(--muted);font-size:12px;font-weight:700}.course-edit-dialog input{width:100%;min-height:42px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--control-radius);font:inherit;padding:9px 11px}.support-history-row{grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) auto auto}.status-pill{background:#e8e7e0;border-radius:999px;justify-self:start;padding:4px 8px;font-size:11px;color:#4e4b43!important}.credit-balance{min-height:42px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:7px;align-self:end;gap:2px;padding:7px 11px;font-size:13px;font-weight:800;display:inline-grid}.credit-balance small{color:inherit;opacity:.78;font-size:10.5px;font-weight:650}.credit-balance.is-positive{color:#1f5d46;background:#dcece5}.credit-balance.is-low{color:#624900;background:var(--yellow-soft)}.credit-balance.is-danger{color:#842f23;background:#f5dfda}.credit-balance.is-danger small{color:#842f23}.push-consent-dialog>p{max-width:60ch;color:var(--muted);margin:0;line-height:1.6}.empty-line{color:var(--muted);margin:0;padding:20px 8px;font-size:13px}.notice-line{background:var(--yellow-soft);gap:6px;padding:12px 8px;font-size:13px;display:grid}.notice-line code{overflow-wrap:anywhere;color:#62501b}.request-row{grid-template-columns:minmax(120px,1fr) minmax(190px,auto) auto;align-items:center}.request-row select{min-height:36px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--control-radius);padding:6px 30px 6px 9px}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.row-actions button{min-height:32px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:5px;padding:0 10px;font-size:12px}.student-add-grid{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.student-manual-form{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;display:grid}.student-manual-form label,.student-import-form label,.student-manage-row>label{min-width:0;color:var(--muted);gap:6px;font-size:11.5px;font-weight:700;display:grid}.student-manual-form input,.student-manual-form select,.student-import-form input,.student-manage-row input,.student-manage-row select{width:100%;min-height:38px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--control-radius);font:inherit;padding:7px 9px}.student-manual-form input[aria-invalid=true],.student-row-details input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px #ad30221f}.student-import-toggle{min-height:36px;color:var(--ink);background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--control-radius);white-space:nowrap;align-items:center;gap:8px;padding:0 12px;font-size:12.5px;font-weight:700;display:inline-flex}.student-import-toggle:hover{background:var(--surface);border-color:var(--line-strong)}.student-import-toggle span{background:#e8e7e0;border-radius:50%;place-items:center;width:20px;height:20px;font-size:14px;font-weight:800;display:grid}.student-import-form{border-top:1px solid var(--line);align-content:start;gap:8px;margin-top:14px;padding-top:14px;display:grid}.student-import-form>p{color:var(--muted);margin:0;font-size:11.5px;line-height:1.45}.student-import-actions{align-items:stretch;gap:12px;display:flex}.student-import-actions>*{text-align:center;white-space:normal;flex:1 1 0;min-width:0;height:auto;padding-inline:9px;line-height:1.2}.pending-request-list{gap:6px;margin-bottom:16px;display:grid}.student-table{gap:8px;display:grid}.student-manage-row{border:1px solid var(--line);background:var(--surface);border-radius:9px;transition:background-color .14s;overflow:hidden}.student-manage-row.is-paused{background:#ecebe6}.student-manage-row.is-completed{background:#d8d6cf}.student-row-summary{grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:12px;min-height:58px;padding:8px 10px;display:grid}.student-expand-button{min-width:0;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:18px minmax(120px,.9fr) max-content minmax(120px,1.15fr) 112px;align-items:center;gap:10px;padding:4px 2px;display:grid}.student-expand-button:hover .student-summary-name strong{text-underline-offset:3px;text-decoration:underline}.student-expand-indicator{border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;transition:transform .14s;transform:rotate(-45deg)}.student-expand-button[aria-expanded=true] .student-expand-indicator{transform:rotate(45deg)}.student-summary-name{min-width:0;display:grid}.student-summary-name strong,.student-summary-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-summary-name strong{font-size:13.5px}.student-summary-name small,.student-summary-age,.student-summary-credits{color:var(--muted);font-size:11.5px}.student-summary-guardian{margin-top:2px;font-weight:750}.student-summary-guardian.is-linked{color:#365f50}.student-summary-credits{align-items:center;gap:4px;min-width:0;display:grid;overflow:hidden}.student-summary-course{grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:10px;width:100%;min-width:0;display:grid}.student-summary-course-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-summary-credit{font-variant-numeric:tabular-nums;border-radius:50%;justify-self:end;place-items:center;width:28px;height:28px;font-size:12px;font-weight:850;display:inline-grid}.student-summary-credit.is-positive{color:#1f5d46;background:#dcece5}.student-summary-credit.is-low{color:#624900;background:var(--yellow-soft)}.student-summary-credit.is-negative{color:#842f23;background:#f5dfda}.student-row-details{border-top:1px solid var(--line);gap:16px;padding:14px 14px 16px 40px;display:grid}.student-profile-grid{grid-template-columns:minmax(120px,1fr) minmax(90px,.7fr) minmax(140px,.95fr) minmax(64px,.45fr) minmax(100px,.7fr) minmax(160px,1.1fr);align-items:start;gap:10px;display:grid}.student-manage-row.is-locked input,.student-manage-row.is-locked select{color:#66635c;-webkit-text-fill-color:#66635c;background:var(--surface-subtle);border-color:var(--line);opacity:1}.student-profile-grid>label{min-width:0;color:var(--muted);gap:6px;font-size:11.5px;font-weight:700;display:grid}.student-row-details input,.student-row-details select{width:100%;min-height:38px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--control-radius);font:inherit;padding:7px 9px}.date-time-control{width:100%;min-width:0;max-width:100%;box-sizing:border-box;min-inline-size:0;max-inline-size:100%;font:inherit;line-height:1.2;display:block}.lesson-form .date-time-control{height:40px;min-height:40px;padding:8px 10px}.student-manual-form .date-time-control,.student-row-details .date-time-control{height:38px;min-height:38px;padding:7px 9px}.student-detail-field{gap:6px;min-width:0;display:grid}.student-detail-field>span{color:var(--muted);font-size:11.5px;font-weight:700}.student-detail-field>div{gap:6px;display:grid}.student-detail-field input{text-align:left;font-variant-numeric:tabular-nums}.student-detail-field strong,.student-detail-field output{min-width:0;min-height:38px;color:var(--ink);background:var(--surface-subtle);border-radius:var(--control-radius);text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:7px 9px;font-size:12px;display:flex;overflow:hidden}.student-detail-field em{min-height:38px;color:var(--muted);padding:9px;font-style:normal}.student-linked-accounts{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--control-radius);justify-content:space-between;align-items:end;gap:16px;padding:10px 12px;display:flex}.student-linked-accounts>div{gap:4px;min-width:0;display:grid}.student-linked-accounts span,.student-linked-accounts small{color:var(--muted);font-size:11.5px;line-height:1.45}.student-linked-accounts strong{overflow-wrap:anywhere;font-size:12.5px}.student-course-manager{border-top:1px solid var(--line);gap:10px;padding-top:14px;display:grid}.student-course-manager>header{align-items:baseline;gap:10px;display:flex}.student-course-manager h3{margin:0;font-size:13px}.student-course-manager p{color:var(--muted);margin:0;font-size:11.5px;line-height:1.45}.student-course-list{gap:7px;display:grid}.student-course-row{grid-template-columns:minmax(150px,1fr) minmax(100px,140px) auto;align-items:end;gap:10px;padding:0;display:grid}.student-course-row>div,.student-course-row>label,.student-course-add>label{gap:5px;min-width:0;display:grid}.student-course-row span,.student-course-add span{color:var(--muted);font-size:11px;font-weight:700}.student-course-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:38px;overflow:hidden}.student-course-row button,.student-course-add button{min-height:38px}.student-course-add{grid-template-columns:minmax(150px,1fr) minmax(100px,140px) auto;align-items:end;gap:10px;padding-top:3px;display:grid}.student-course-complete{padding:4px 0}.student-history-groups{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:14px;display:grid}.student-history-panel{background:var(--surface-subtle);border:1px solid var(--line);border-radius:12px;min-width:0;overflow:hidden}.student-history-panel[open]{grid-column:1/-1}.student-history-panel>summary{min-height:42px;color:var(--ink);cursor:pointer;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;font-size:12.5px;font-weight:750;list-style:none;display:grid}.student-history-panel>summary::-webkit-details-marker{display:none}.student-history-panel>summary:before{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:7px;height:7px;transition:transform .14s;transform:rotate(-45deg)}.student-history-panel[open]>summary:before{transform:rotate(45deg)}.student-history-panel>summary span{grid-column:2}.student-history-panel>summary strong{min-width:25px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;grid-column:3;font-size:11.5px}.student-history-panel:not([open])>.student-history-content{display:none}.student-history-content{border-top:1px solid var(--line);padding:0 10px 8px}.student-history-row{grid-template-columns:minmax(110px,.8fr) minmax(150px,1fr) auto;padding-inline:4px}.lesson-form-help{color:var(--muted);margin:10px 0 0;font-size:12px}.student-row-actions{justify-content:flex-end;gap:6px;width:360px;min-width:0;display:flex}.student-row-actions .primary-button,.student-row-actions .secondary-button{min-height:34px;padding:0 10px;font-size:11.5px}.student-save-button.is-saved:disabled{color:#77746d;opacity:1;background:#e4e3dd;border-color:#e4e3dd}.series-help{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.5}.lesson-series-list{gap:8px;display:grid}.lesson-series{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden}.lesson-series>header{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.series-summary{min-height:62px;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-columns:24px minmax(160px,.9fr) minmax(130px,.65fr) minmax(240px,1.2fr);align-items:center;gap:10px;padding:10px 14px;display:grid}.series-summary:hover{background:var(--surface-subtle)}.series-summary>span{color:var(--muted);font-size:12px}.series-summary>.series-identity{min-width:0;color:var(--ink);gap:3px;display:grid}.series-identity strong,.series-identity span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.series-identity strong{font-size:13.5px;line-height:1.3}.series-identity span{color:var(--muted);font-size:12px;line-height:1.3}.series-teacher-time,.series-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.series-summary .series-chevron{width:22px;height:22px;color:var(--ink);background:#e8e7e0;border-radius:50%;place-items:center;font-size:16px;font-weight:700;display:grid}.series-delete{align-self:center;min-height:34px;margin-right:12px;padding-inline:10px;font-size:11.5px}.series-occurrences{border-top:1px solid var(--line);--history-window-height:240px;background:#faf9f5}.series-occurrences>div{border-bottom:1px solid #e8e5dc;grid-template-columns:minmax(180px,1fr) minmax(100px,auto) auto;align-items:center;gap:12px;min-height:48px;padding:7px 14px 7px 48px;font-size:12.5px;display:grid}.series-occurrences>div:last-child{border-bottom:0}.series-occurrences .joint-lesson-inline{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:11px;font-style:normal;font-weight:650;overflow:hidden}.series-occurrences .secondary-button{min-height:32px;padding-inline:11px;font-size:11.5px}.series-edit-dialog form{gap:14px;display:grid}.series-edit-dialog form>label{color:var(--muted);gap:6px;font-size:12px;font-weight:700;display:grid}.series-edit-dialog input[type=date],.series-edit-dialog input[type=time]{border:1px solid var(--line-strong);background:var(--surface);border-radius:6px;min-height:40px;padding:8px 10px}.lesson-delete-panel{border-top:1px solid var(--line);gap:7px;margin-top:22px;padding-top:20px;display:grid}.lesson-delete-panel>p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.lesson-delete-actions{flex-wrap:wrap;gap:9px;margin-top:6px;display:flex}.dialog-help{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.check-label{align-items:start;line-height:1.45;grid-template-columns:20px 1fr!important}.check-label input{width:18px;min-height:18px;margin:1px 0 0}.family-page{background:var(--canvas);min-height:100vh}.family-header{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:10px;min-height:64px;padding:12px 24px;display:flex}.family-header small{color:var(--muted);display:block}.family-page>section{max-width:900px;margin:0 auto;padding:40px 24px}.family-student-picker{width:fit-content;max-width:100%;color:var(--muted);align-items:center;gap:14px;font-size:13px;font-weight:700;display:flex}.family-student-picker select{min-width:min(360px,70vw);min-height:42px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--control-radius);padding:8px 36px 8px 12px}.family-header .push-button{margin-left:auto}.family-schedule{margin:28px 0}.family-lesson-list,.family-attendance-list{gap:7px;display:grid}.family-attendance-row{width:100%;min-height:58px;color:var(--ink);text-align:left;background:var(--surface);border:1px solid var(--line);font:inherit;border-radius:9px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name status""meta meta";align-items:center;gap:4px 12px;padding:10px 12px;display:grid}.family-attendance-row strong{grid-area:name;min-width:0}.family-attendance-row>span:not(.status-pill){color:var(--muted);grid-area:meta;font-size:12px}.family-attendance-row .status-pill{grid-area:status;justify-self:end}.family-lesson-list article{border:1px solid var(--line);background:var(--surface);border-radius:9px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:58px;padding:10px 12px;display:grid}.family-lesson-list article>div{gap:4px;display:grid}.family-lesson-list article>div span{color:var(--muted);font-size:12px}.family-lesson-list article .secondary-button{min-height:34px;font-size:12px}.family-preview-page{width:100%}.family-preview-frame{border:1px solid var(--line);background:var(--canvas);border-radius:14px;max-width:900px;margin:24px auto 0;overflow:hidden;box-shadow:0 12px 32px #2d2a2014}.family-preview-frame>section{padding:30px 24px}.preview-badge{color:var(--muted);background:var(--surface-subtle);border-radius:999px;margin-left:auto;padding:5px 9px;font-size:11px;font-weight:750}.terms-panel{background:#fffdf4;border:1px solid #d9c46d;border-radius:14px;margin:24px 0;padding:24px}.terms-panel h2{margin-top:0}.terms-panel li{margin:8px 0;line-height:1.55}.family-notifications{margin:28px 0}.family-notifications .section-title{justify-content:space-between;align-items:start;display:flex}.notification-count{background:var(--accent);color:#322900;border-radius:999px;place-items:center;min-width:28px;height:28px;padding:0 8px;font-weight:750;display:grid}.notification-row{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.inbox-alerts{border:1px solid var(--line);background:var(--surface);border-radius:8px;display:grid;overflow:hidden}.inbox-alert{min-height:48px;color:var(--ink);text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:9px 12px;display:grid}.inbox-alert:last-child{border-bottom:0}.inbox-alert.is-unread span{font-weight:800}.inbox-alert.is-unread span:before{content:"";background:var(--yellow);border-radius:50%;width:7px;height:7px;margin-inline-end:8px;display:inline-block}.inbox-alert time,.message-bubble time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10.5px}.message-workspace{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:minmax(190px,250px) minmax(0,1fr);min-height:430px;display:grid;overflow:hidden}.message-thread-list{border-right:1px solid var(--line);align-content:start;display:grid}.message-thread-list button{min-height:62px;color:var(--ink);text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;align-content:center;gap:3px;padding:10px 38px 10px 12px;display:grid;position:relative}.message-thread-list button:hover,.message-thread-list button.is-selected{background:var(--yellow-soft)}.message-thread-list button strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.message-thread-list button i{color:#322900;background:var(--yellow);border-radius:11px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-style:normal;font-weight:800;display:grid;position:absolute;inset:20px 10px auto auto}.message-conversation{grid-template-rows:minmax(0,1fr) auto;min-width:0;display:grid}.message-history{flex-direction:column;gap:9px;min-height:220px;max-height:430px;padding:18px;display:flex;overflow-y:auto}.message-bubble{background:var(--surface-subtle);border-radius:10px 10px 10px 3px;align-self:flex-start;max-width:min(76%,560px);padding:9px 11px}.message-bubble.is-studio{background:var(--surface-subtle);border-radius:10px 10px 3px;align-self:flex-end}.message-bubble.is-guardian{background:var(--yellow-soft)}.family-messages .message-bubble.is-studio{border-radius:10px 10px 10px 3px;align-self:flex-start}.family-messages .message-bubble.is-guardian{background:var(--yellow-soft);border-radius:10px 10px 3px;align-self:flex-end}.message-bubble p{overflow-wrap:anywhere;margin:0 0 4px;font-size:13px;line-height:1.45}.message-sender{color:var(--muted);margin-bottom:3px;font-size:10.5px;font-weight:750;display:block}.message-bubble time{text-align:end;display:block}.message-composer{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.message-composer textarea{width:100%;height:40px;min-height:40px;max-height:150px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);resize:vertical;border-radius:7px;padding:9px 10px}.family-messages{margin:28px 0}.family-system-reminders{border-bottom:1px solid var(--line);gap:8px;margin-bottom:12px;padding-bottom:12px;display:grid}.family-system-reminders h3{margin:0;font-size:12px}.family-system-reminder-list{gap:6px;display:grid}.family-system-reminder{background:var(--yellow-soft);border-radius:var(--control-radius);border:1px solid #e6d184;gap:3px;padding:10px 12px;display:grid}.family-system-reminder strong{font-size:12.5px}.family-system-reminder span{color:#584514;font-size:12px;line-height:1.45}.family-system-reminder .reminder-sender{color:var(--muted);font-size:11px;font-weight:700}.family-system-reminder .birthday-line{align-items:center;gap:10px;display:inline-flex}.birthday-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:34px;height:34px}.birthday-icon .birthday-accent{stroke:#d4a72c;fill:#d4a72c}.family-messages .message-history{background:var(--surface);border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;min-height:150px;max-height:300px}.family-messages .history-toggle-row{background:var(--surface);border-inline:1px solid var(--line);min-height:34px;padding:0 8px 4px}.family-messages .message-composer{background:var(--surface);border:1px solid var(--line);border-radius:0 0 8px 8px}.expandable-collection{min-width:0}.expandable-collection .history-window{max-height:var(--history-window-height,232px);overscroll-behavior:contain;scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;overflow-y:scroll}.expandable-collection .history-window::-webkit-scrollbar{width:8px}.expandable-collection .history-window::-webkit-scrollbar-track{background:0 0}.expandable-collection .history-window::-webkit-scrollbar-thumb{background:#69655a73;border-radius:4px}.student-detail-footer{border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;margin-top:12px;padding-top:10px;display:flex}.student-course-row .danger-button,.student-course-add .secondary-button,.student-delete-button{min-width:176px}.student-delete-button:disabled,.student-delete-button:disabled:hover{color:#fff;opacity:1;cursor:not-allowed;background:#c6c3b9;border-color:#b5b2a8}.expandable-collection.has-more .history-window{-webkit-mask-image:linear-gradient(#000 calc(100% - 26px),#0000);mask-image:linear-gradient(#000 calc(100% - 26px),#0000)}.expandable-collection.is-latest.has-more .history-window{-webkit-mask-image:linear-gradient(0deg,#000 calc(100% - 26px),#0000);mask-image:linear-gradient(0deg,#000 calc(100% - 26px),#0000)}.expandable-collection .inbox-alerts{--history-window-height:240px}.expandable-collection .family-payment-list{--history-window-height:350px}.scroll-hint{color:var(--muted);text-align:center;margin:6px 0 0;font-size:11px;font-weight:650}.expandable-collection.is-latest .scroll-hint{margin:0 0 6px}.data-row.family-payment-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name invoice""meta status""method actions""transfer transfer";align-items:center;gap:5px 14px;min-height:66px;padding:11px 8px;display:grid}.family-payment-summary{display:contents}.family-payment-summary>strong{text-overflow:ellipsis;white-space:nowrap;grid-area:name;min-width:0;overflow:hidden}.family-payment-meta{color:var(--muted);grid-area:meta;font-size:12.5px}.family-payment-method{color:var(--muted);grid-area:method;font-size:12px}.family-payment-summary>.status-pill{grid-area:status;justify-self:end}.family-payment-invoice{grid-area:invoice;justify-self:end;align-items:center;gap:8px;min-width:0;display:inline-flex}.family-payment-actions{grid-area:actions;justify-self:end}.family-payment-transfer{color:var(--muted);overflow-wrap:anywhere;grid-area:transfer;font-size:11.5px;line-height:1.45}.history-toggle-row{justify-content:flex-end;min-height:38px;padding-top:6px;display:flex}.history-toggle{min-height:32px;color:var(--yellow-dark);text-underline-offset:3px;padding:0 8px;font-size:12px;font-weight:750}.history-toggle:hover{text-decoration:underline}.operations-range{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--control-radius);align-items:center;padding:3px;display:flex}.operations-range button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0 12px;font-size:12px;font-weight:700}.operations-range button:hover{color:var(--ink);background:var(--surface)}.operations-range button.is-active{color:var(--ink);background:var(--yellow)}.operations-load-error{color:var(--danger);border-radius:var(--control-radius);background:#f5dfda;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:12px 14px;display:flex}.operations-overview{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin-top:22px;overflow:hidden}.operations-metrics{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.operations-metrics>div{border-right:1px solid var(--line);gap:5px;min-width:0;padding:17px 18px;display:grid}.operations-metrics>div:last-child{border-right:0}.operations-metrics dt{color:var(--muted);font-size:11.5px;font-weight:700}.operations-metrics dd{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:20px;font-weight:800;overflow:hidden}.operations-revenue{padding:18px 20px 14px}.operations-revenue header h2,.operations-detail-grid h2,.operations-insight h2{margin:0 0 4px;font-size:15px}.operations-revenue header p,.operations-detail-grid header p,.operations-insight header p{max-width:70ch;color:var(--muted);margin:0;font-size:12px;line-height:1.5}.operations-chart-wrap{margin-top:10px;overflow:hidden}.operations-chart{width:100%;height:220px;display:block}.operations-chart-axis{stroke:var(--line);stroke-width:1px}.operations-chart-line{fill:none;stroke:#b48200;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.operations-chart-point{fill:var(--yellow);stroke:#765900;stroke-width:1.5px}.operations-chart text{fill:var(--muted);font-size:10px;font-weight:650}.operations-detail-grid{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:28px;padding:26px 0;display:grid}.operations-detail-grid article{min-width:0}.operations-weekdays{gap:9px;margin-top:18px;display:grid}.operations-weekdays>div{grid-template-columns:minmax(86px,auto) minmax(100px,1fr) 28px;align-items:center;gap:10px;font-size:12px;display:grid}.operations-weekdays>div>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operations-weekdays i{background:var(--surface-subtle);border-radius:4px;height:7px;display:block;overflow:hidden}.operations-weekdays b{background:var(--yellow);border-radius:inherit;min-width:2px;height:100%;display:block}.operations-weekdays strong{text-align:right;font-variant-numeric:tabular-nums}.operations-capacity-note{color:#5c490e;background:var(--yellow-soft);border-radius:var(--control-radius);margin:16px 0 0;padding:10px 12px;font-size:12px;line-height:1.5}.operations-active-list ol{margin:14px 0 0;padding:0;list-style:none}.operations-active-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:42px;font-size:12.5px;display:flex}.operations-active-list li:last-child{border-bottom:0}.operations-active-list li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operations-active-list li strong{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:11.5px}.operations-insight{padding:24px 0 0}.operations-insight>header{justify-content:space-between;align-items:center;gap:18px;display:flex}.operations-insight-body{background:var(--surface-subtle);border-radius:var(--control-radius);gap:7px;margin-top:16px;padding:14px 16px;display:grid}.operations-insight-body p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.55}.dialog-backdrop{z-index:30;overscroll-behavior:contain;background:#1e1e196b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.review-dialog{overscroll-behavior:contain;background:var(--canvas);border-radius:18px;width:min(560px,100%);max-height:calc(100dvh - 40px);padding:28px;overflow:auto;box-shadow:0 24px 70px #00000038}.review-dialog h2{margin-top:0}.confirmation-dialog>p,.deletion-dialog>p{max-width:68ch;color:var(--muted);margin:0;line-height:1.6}.confirmation-dialog .dialog-actions{margin-top:24px}.joint-lesson-note{color:var(--muted);margin:0;font-size:11.5px;font-weight:650}.invite-dialog>p{max-width:68ch;color:var(--muted);margin:0;line-height:1.6}.invite-link-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:16px;display:grid}.invite-link-row input{width:100%;min-width:0;min-height:38px;color:var(--ink);background:var(--surface-subtle);border:1px solid var(--line-strong);border-radius:var(--control-radius);font:inherit;padding:8px 10px;font-size:12px}.invite-link-row .secondary-button{white-space:nowrap;min-height:38px}.manual-payment-dialog{flex-direction:column;width:min(680px,100%);height:min(640px,100dvh - 40px);display:flex;overflow:hidden}.manual-payment-dialog>p{max-width:68ch;color:var(--muted);margin:0;line-height:1.6}.manual-payment-dialog form{flex:1;grid-template-rows:minmax(0,1fr) auto;gap:10px;min-height:0;margin-top:12px;display:grid}.manual-payment-fields{overscroll-behavior:contain;align-content:start;gap:10px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.manual-payment-row{border:1px solid var(--line);background:var(--surface-subtle);border-radius:9px;gap:10px;min-width:0;padding:10px;display:grid}.manual-payment-row>label,.manual-payment-meta>label{min-width:0;color:var(--muted);gap:6px;font-size:11.5px;font-weight:700;display:grid}.manual-payment-row select,.manual-payment-meta select,.manual-payment-meta input{width:100%;min-width:0;min-height:38px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--control-radius);font:inherit;padding:7px 9px}.manual-payment-row .lesson-count-picker{margin:0}.manual-payment-row .lesson-count-picker legend{font-size:11.5px}.manual-payment-add{min-height:40px;color:var(--ink);justify-self:start;padding:0 2px;font-size:12.5px}.manual-payment-add:hover{text-decoration:underline}.manual-payment-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.manual-date-field{min-width:0;color:var(--muted);gap:6px;font-size:11.5px;font-weight:700;display:grid}.manual-date-field input{width:100%;min-width:0;min-height:38px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--control-radius);font:inherit;padding:7px 9px}.manual-date-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.manual-date-heading button{min-height:20px;padding:0;font-size:11.5px}.manual-payment-total{font-variant-numeric:tabular-nums;white-space:nowrap;align-self:center;margin-right:auto;font-size:13px;font-weight:750}.manual-payment-actions{border-top:1px solid var(--line);flex-wrap:wrap;margin-top:0;padding-top:10px}@media (width<=767px){.manual-payment-dialog{height:min(800px,100dvh - 40px)}.manual-payment-meta{grid-template-columns:minmax(0,1fr)}}.review-dialog dl{gap:0;margin:20px 0;display:grid}.review-dialog dl div{border-bottom:1px solid var(--line);grid-template-columns:130px 1fr;gap:16px;padding:10px 0;display:grid}.review-dialog dt{color:var(--muted)}.review-dialog dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:650}.review-dialog textarea{width:100%}.family-credit-summary{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin:24px 0;padding:18px 0;display:flex}.family-credit-summary>div{flex-wrap:wrap;gap:10px;display:flex}.purchase-dialog{width:min(680px,100%)}.purchase-dialog>label{gap:7px;margin-top:14px;display:grid}.purchase-students{gap:12px;margin:20px 0;display:grid}.purchase-student{border:1px solid var(--line);background:var(--surface-subtle);border-radius:14px;padding:14px}.purchase-student>label:not(.check-label){gap:7px;margin-top:12px;display:grid}.lesson-count-picker{border:0;margin:12px 0 0;padding:0}.lesson-count-picker legend{color:var(--muted);margin-bottom:7px;font-size:.875rem}.lesson-count-picker div{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,96px);gap:8px;display:grid}.lesson-count-picker button{min-height:42px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px}.lesson-count-picker button.is-selected{color:#fff;background:#287456;border-color:#287456}.lesson-count-picker input{border:1px solid var(--line);border-radius:10px;min-width:0;min-height:42px;padding:8px 10px}.purchase-total{border-top:1px solid var(--line);justify-content:space-between;margin:20px 0 0;padding-top:18px;font-size:1.05rem;display:flex}.quick-lesson-dialog{position:relative}.quick-lesson-dialog>p,.joint-lesson-dialog>p{max-width:calc(100% - 42px);color:var(--muted)}.joint-lesson-form{gap:12px;margin-top:18px;display:grid}.joint-lesson-member{border:1px solid var(--line);background:var(--surface-subtle);border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px;display:grid}.joint-lesson-member>legend{color:var(--ink);padding:0 6px;font-size:12.5px;font-weight:750}.joint-lesson-member>label{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:7px;min-height:40px;padding:0 10px;font-size:12.5px;display:flex}.joint-lesson-member>.joint-leave-reason{min-height:40px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--control-radius);font:inherit;grid-column:1/-1;padding:8px 10px}.week-lesson.is-joint{cursor:pointer}.dialog-close-button{width:36px;height:36px;color:var(--muted);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;inset:16px 16px auto auto}.dialog-close-button:hover{color:var(--ink);background:var(--surface-subtle)}.quick-lesson-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:20px;display:grid}.quick-lesson-form>label{color:var(--muted);gap:7px;font-size:12px;font-weight:700;display:grid}.quick-lesson-form input[type=date],.quick-lesson-form input[type=time],.quick-lesson-form select,.quick-lesson-form textarea{width:100%;min-height:40px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--control-radius);padding:8px 10px}.attendance-status-picker{border:0;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;display:grid}.attendance-status-picker legend{color:var(--muted);margin-bottom:7px;font-size:12px;font-weight:700}.attendance-status-picker label{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:7px;min-height:42px;padding:0 10px;font-size:12.5px;display:flex}.quick-leave-reason{grid-column:1/-1}.quick-leave-reason textarea{resize:vertical;min-height:76px}.quick-teacher-field{grid-column:1/-1}.quick-lesson-actions{grid-column:1/-1;justify-content:flex-end}.scope-picker{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;grid-column:1/-1;gap:10px 20px;padding:14px;display:flex}.scope-picker legend{color:var(--muted);padding:0 6px}.scope-picker label{align-items:center;gap:7px;display:flex}.split-actions{grid-column:1/-1;justify-content:space-between}.danger-button{color:#fff;background:var(--danger);border:1px solid #7f2d22;padding:0 17px}.danger-button:hover{background:#8d3025}.danger-button:active{transform:translateY(1px)}.danger-button:disabled{cursor:not-allowed;opacity:.58}.attendance-actions{gap:10px;margin:22px 0;display:grid}.attendance-correction-form{border-top:1px solid var(--line);gap:14px;margin-top:22px;padding-top:20px;display:grid}.attendance-correction-form h3,.attendance-correction-form p{margin:0}.attendance-correction-form p{color:var(--muted);font-size:13px;line-height:1.5}.attendance-correction-form>label{gap:7px;display:grid}.attendance-correction-form textarea{resize:vertical;min-height:80px}.attendance-correction-form>button{justify-self:end}.attendance-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.attendance-choice-grid label{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:7px;min-height:42px;padding:0 10px;display:flex}.information-sections{max-width:820px;margin-top:26px}.information-sections>section{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr;gap:18px;padding:22px 0;display:grid}.information-sections>section>span{color:#9a7200;font-variant-numeric:tabular-nums;font-weight:800}.information-sections h2{margin-bottom:7px;font-size:18px}.information-sections p{color:var(--muted);margin:0;line-height:1.65}.operation-mode-label{color:#4f3d00;background:var(--yellow-soft);border-radius:999px;flex:none;padding:6px 10px;font-size:12px;font-weight:800}.operation-mode-label.is-production{color:#1f6249;background:#e0f0e9}.admin-stats{grid-template-columns:repeat(2,minmax(0,180px));gap:12px;margin:18px 0;display:grid}.admin-stats div{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:4px;padding:18px;display:grid}.admin-stats strong{font-size:25px}.admin-stats span{color:var(--muted);font-size:12px}.production-activation{border-top:1px solid var(--line);max-width:680px;margin-top:30px;padding-top:24px}.production-activation p{color:var(--muted);line-height:1.55}.production-activation label{gap:7px;margin:18px 0 12px;display:grid}.admin-account-section,.admin-support-section,.support-data-panel,.support-request-section{border-top:1px solid var(--line);margin-top:30px;padding-top:24px}.admin-account-list,.support-request-list{gap:8px;display:grid}.admin-account-list>article,.support-request-list>article{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:13px 14px}.admin-account-summary{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.admin-account-summary>div:first-child{gap:3px;min-width:0;display:grid}.admin-account-summary strong,.admin-account-summary small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-account-summary strong,.admin-account-summary strong a{color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important}.admin-account-summary strong a{text-decoration:none}.admin-account-summary small{color:var(--muted)}.admin-account-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.admin-account-actions>.secondary-button,.admin-account-actions>.danger-button,.admin-studio-action .danger-button{min-height:34px;padding-inline:12px;font-size:12px}.admin-studio-action{align-items:center;gap:7px;display:inline-flex}.admin-studio-picker{border:1px solid var(--line-strong);border-radius:var(--control-radius);max-width:170px;min-height:34px;color:var(--ink);background:var(--surface);padding:6px 30px 6px 9px;font-size:12px}.admin-page .support-request-form select,.admin-page .support-request-form option,.admin-page .admin-studio-picker,.admin-page .admin-studio-picker option{color:var(--ink);-webkit-text-fill-color:var(--ink)}.deletion-dialog form{gap:14px;margin-top:20px;display:grid}.deletion-dialog form>label{color:var(--muted);gap:7px;font-size:12px;font-weight:700;display:grid}.deletion-dialog form>.deletion-cascade-option{color:var(--ink);background:var(--yellow-soft);border:1px solid #e1c65d;border-radius:9px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px}.deletion-dialog .deletion-cascade-option input{width:18px;height:18px;accent-color:var(--yellow-dark);margin:2px 0 0}.deletion-cascade-option span{gap:3px;display:grid}.deletion-cascade-option small{color:#65551f;font-weight:600;line-height:1.45}.deletion-dialog textarea{resize:vertical;min-height:92px}.deletion-dialog input,.deletion-dialog textarea{border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--ink);border-radius:7px;padding:10px 12px}.deletion-dialog form>small{color:var(--muted);overflow-wrap:anywhere;line-height:1.5}.deletion-dialog form>small strong{color:var(--ink)}.deletion-retention-note{background:var(--surface-subtle);border-radius:8px;padding:11px 12px;margin-top:14px!important}.support-request-form{border-top:1px solid var(--line);grid-template-columns:minmax(130px,.7fr) minmax(220px,1.5fr) auto;gap:9px;margin-top:12px;padding-top:12px;display:grid}.support-request-form input,.support-request-form select{border:1px solid var(--line-strong);border-radius:var(--control-radius);background:var(--surface);min-width:0;min-height:40px;padding:8px 10px}.support-request-section>p{color:var(--muted);line-height:1.5}.support-request-list article{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;display:grid}.support-request-list article p{color:var(--muted);margin:4px 0;line-height:1.45}.support-request-list article small{color:var(--muted)}.support-data-panel dl{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.support-data-panel dl div{background:var(--surface-subtle);padding:12px}.support-data-panel dt{color:var(--muted);font-size:11px}.support-data-panel dd{margin:5px 0 0;font-size:18px;font-weight:800}.support-student-list{border-top:1px solid var(--line);margin-top:14px;display:grid}.support-student-list>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,.8fr) minmax(180px,1.4fr) auto;gap:12px;padding:10px 4px;display:grid}.support-student-list span{color:var(--muted);font-size:12px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.bottom-tabs{display:none}@media (width<=1179px){.workspace{grid-template-columns:208px minmax(0,1fr)}.sidebar{padding-inline:10px}.sidebar nav button{padding-inline:9px;font-size:13px}.sidebar-footer-row{gap:5px;padding-inline:2px}.sidebar-footer-row button{font-size:10.5px}.main-content{padding:26px}.overview{grid-template-columns:1fr;gap:28px}.tasks-panel{border-top:1px solid var(--line);border-left:0;padding:24px 0 0}.week-toolbar{grid-template-columns:auto minmax(0,1fr)}.week-range{text-align:right}.teacher-legend{grid-column:1/-1;justify-content:flex-start}.teacher-legend .teacher-filter select{width:100%;min-height:42px;padding:8px 12px}.week-grid{grid-template-columns:1fr}.week-day{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:110px minmax(0,1fr);min-height:68px;display:grid}.week-day:last-child{border-bottom:0}.week-day>header{border-right:1px solid var(--line);align-items:start}.day-lessons{align-content:center;min-height:67px}.day-lessons>p{text-align:left;margin:0}.week-lesson{grid-template-columns:58px minmax(90px,1fr) auto;grid-template-areas:"time name status";column-gap:8px}.teacher-manager-controls{justify-items:stretch}.student-add-grid{grid-template-columns:1fr}.student-manual-form{grid-template-columns:repeat(2,minmax(0,1fr))}.student-import-form{border-top:1px solid var(--line);border-left:0;padding:18px 0 0}.student-row-summary{grid-template-columns:1fr}.student-expand-button{width:100%}.student-row-actions{justify-content:flex-start;width:auto;min-width:0;padding-left:28px}.student-expand-button{grid-template-columns:18px minmax(110px,1fr) max-content minmax(100px,1fr) 112px}.student-row-details{padding-left:14px}.student-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-history-groups{grid-template-columns:1fr}.operations-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-metrics>div:nth-child(2){border-right:0}.operations-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.operations-detail-grid{grid-template-columns:1fr;gap:24px}.series-summary{grid-template-columns:24px minmax(130px,1fr) minmax(180px,1fr)}.series-summary>span:last-child{grid-column:2/-1}}@media (width<=767px){.app-shell{grid-template-rows:56px minmax(0,1fr)}.app-shell.has-preview-notice{grid-template-rows:56px auto minmax(0,1fr)}.bottom-tabs{z-index:24;padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;inset:auto 0 0}.bottom-tabs button{min-height:56px;color:var(--muted);background:0 0;border:0;align-content:center;justify-items:center;gap:3px;padding:10px 2px 12px;font-size:11px;font-weight:700;display:grid;position:relative}.bottom-tabs button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-tabs button.active{color:var(--ink)}.bottom-tabs button.active:after{content:"";background:var(--yellow);border-radius:50%;width:8px;height:8px;margin-right:-4px;animation:.12s tab-dot-in;position:absolute;inset:auto 50% 2px auto}@keyframes tab-dot-in{0%{transform:scale(0)}to{transform:scale(1)}}.app-shell .main-content{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.invite-link-row{grid-template-columns:minmax(0,1fr)}.invite-link-row .secondary-button{width:100%}.preview-notice{justify-content:space-between;padding-inline:14px;font-size:11.5px}.preview-notice span{max-width:58vw}.topbar{gap:10px;padding:0 14px}.menu-button{flex:none;place-items:center;display:inline-grid}.brand{gap:8px}.brand-mark{border-radius:8px;width:32px;height:32px}.workspace{display:block}.sidebar{z-index:30;width:min(282px,82vw);box-shadow:none;padding-top:calc(18px + env(safe-area-inset-top));transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-102%)}.sidebar.is-open{transform:translate(0);box-shadow:12px 0 32px #00000024}.sidebar nav button{font-size:14px}.scrim{z-index:25;background:#14141247;border:0;width:100%;display:block;position:fixed;inset:56px 0 0}.has-preview-notice .scrim{inset-block-start:94px}.main-content{padding:22px 18px 30px}.page-heading{align-items:start;gap:16px;padding-bottom:18px;display:grid}.data-page .page-heading{grid-template-columns:minmax(0,1fr);justify-content:stretch}.data-page .page-heading>*{min-width:0}.page-heading .primary-button{width:100%}.week-page-heading{grid-template-columns:minmax(0,1fr) auto}.overview{padding-top:22px}.empty-state{min-height:250px;padding:28px 20px}.auth-page{padding:14px}.auth-panel{padding:26px 22px}.settings-form{grid-template-columns:1fr;gap:18px}.full-field{grid-column:auto}.form-actions{padding:12px 0 8px}.work-section{padding:16px 0 18px}.section-title{align-items:start}.inline-form{flex-direction:column;align-items:stretch}.inline-form label{min-width:0;min-inline-size:0;flex:none;width:100%}.date-time-control{appearance:none}.date-time-control::-webkit-date-and-time-value{text-align:start;min-inline-size:0}.inline-form button{width:100%}.course-create-form>button{margin-top:0}.week-toolbar{grid-template-columns:auto minmax(0,1fr);gap:12px}.week-controls{grid-column:1}.week-range{text-align:right;grid-column:2}.teacher-legend{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start}.teacher-filter{width:100%}.teacher-filter select{width:100%;min-height:42px;padding:8px 12px}.week-grid{grid-template-columns:1fr}.week-day{grid-template-columns:1fr;min-height:0;display:grid}.week-day>header{border-right:0;min-height:38px;padding-right:17px;font-size:12px}.day-lessons{min-height:48px;padding:6px 8px}.day-lessons>p{text-align:left;margin:auto 0}.week-lesson{grid-template-columns:56px minmax(0,1fr) auto;grid-template-areas:"time name status";column-gap:8px;font-size:12.5px}.lesson-status{font-size:10.5px}.week-lesson .joint-lesson-badge svg{width:15px;height:15px}.teacher-manager form{flex-direction:column;align-items:stretch}.teacher-manager form label,.teacher-manager form button{width:100%}.teacher-member-row,.teacher-member-actions,.teacher-invite-form{flex-direction:column;align-items:stretch;width:100%}.teacher-member-actions select,.teacher-member-actions button,.teacher-invite-form label,.teacher-invite-actions{width:100%}.teacher-invite-actions>button{flex:1 1 0;min-width:0}.data-row{grid-template-columns:1fr auto;gap:6px;padding:12px 0}.data-row span:nth-child(2){grid-column:1/-1}.data-row.family-payment-row{gap:5px 10px;padding:11px 0}.account-payment-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name invoice""meta status""method actions";align-items:center;gap:6px 10px;padding:11px 0;display:grid}.account-payment-summary{display:contents}.account-payment-summary>strong{text-overflow:ellipsis;white-space:nowrap;grid-area:name;min-width:0;overflow:hidden}.account-payment-summary>.account-payment-meta{color:var(--muted);white-space:normal;grid-area:meta}.account-payment-summary>.account-payment-method{color:var(--muted);grid-area:method;font-size:12px;display:inline}.account-payment-summary>.status-pill{grid-area:status;justify-self:end}.account-payment-summary>.account-payment-invoice{grid-area:invoice;justify-self:end}.account-payment-actions{flex-wrap:wrap;grid-area:actions;justify-content:flex-end;justify-self:end;gap:8px;display:flex}.course-data-row,.support-history-row{grid-template-columns:1fr auto}.request-row{grid-template-columns:1fr}.request-row select,.request-row button{width:100%}.student-manual-form{grid-template-columns:minmax(0,1fr)}.student-manual-form button{width:100%}.student-row-summary{grid-template-columns:1fr;gap:8px}.student-expand-button{grid-template-columns:18px minmax(0,1fr) 96px;grid-template-areas:"indicator name name"".credits status";align-items:center;row-gap:5px}.student-summary-age{display:none}.student-expand-indicator{grid-area:indicator}.student-summary-name{grid-area:name}.student-summary-credits{grid-area:credits;justify-self:end;align-items:center}.student-expand-button .status-pill{text-align:center;grid-area:status;place-self:center stretch}.student-row-actions{grid-template-columns:repeat(2,minmax(0,1fr));padding-left:0;display:grid}.student-row-actions button{width:100%}.student-row-actions .text-button{grid-column:1/-1}.student-row-details{padding:12px 10px 14px}.student-profile-grid,.student-course-row,.student-course-add{grid-template-columns:minmax(0,1fr)}.student-linked-accounts{flex-direction:column;align-items:stretch}.student-course-manager>header{gap:4px;display:grid}.student-course-row button,.student-course-add button,.student-detail-footer .danger-button{width:100%}.student-history-row{grid-template-columns:1fr auto}.student-history-row>span:nth-child(2){grid-column:1/-1}.operations-range{width:100%}.operations-range button{flex:1 1 0;min-width:0;padding-inline:5px}.data-page .page-heading>.operations-range{box-sizing:border-box;width:100%}.operations-metrics{grid-template-columns:1fr 1fr}.operations-metrics>div{padding:14px 12px}.operations-metrics dd{font-size:17px}.operations-revenue{padding:16px 12px 10px}.operations-chart{height:180px}.operations-detail-grid{padding-block:22px}.operations-insight>header{flex-direction:column;align-items:stretch}.operations-insight>header button{width:100%}.lesson-series>header{grid-template-columns:1fr}.series-summary{grid-template-columns:minmax(0,1fr) 22px;gap:5px 8px;padding-inline:12px}.series-summary>span,.series-summary>span:last-child{grid-column:1}.series-summary>.series-identity{grid-row:1}.series-summary>.series-teacher-time{grid-row:2}.series-summary>.series-meta{grid-row:3}.series-summary .series-chevron{grid-area:1/2/4;align-self:center}.series-delete{width:calc(100% - 24px);margin:0 12px 12px}.series-occurrences>div{grid-template-columns:minmax(0,1fr) auto;padding:10px 12px}.series-occurrences>div .secondary-button{grid-column:1/-1;width:100%}.lesson-delete-actions{display:grid}.lesson-delete-actions .danger-button{width:100%}.quick-lesson-dialog{padding:20px}.quick-lesson-form{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:12px}.scope-picker,.attendance-status-picker,.quick-leave-reason,.quick-lesson-actions{grid-column:auto}.scope-picker{gap:8px 14px;padding:10px}.attendance-status-picker{grid-template-columns:1fr;gap:6px}.attendance-status-picker label{min-height:38px}.joint-lesson-member{grid-template-columns:minmax(0,1fr)}.quick-lesson-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quick-lesson-actions button{width:100%}.message-workspace{grid-template-columns:1fr;min-height:0}.message-thread-list{border-right:0;border-bottom:1px solid var(--line);grid-auto-columns:minmax(180px,70vw);grid-auto-flow:column;overflow-x:auto}.message-thread-list button{border-right:1px solid var(--line);border-bottom:0}.message-history{min-height:260px}.message-composer{grid-template-columns:1fr}.message-composer button{justify-self:stretch}.student-import-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.student-import-toggle{display:none}.monthly-export-form{grid-template-columns:minmax(0,1fr)}.monthly-export-form button{width:100%}.family-lesson-list article{grid-template-columns:1fr auto}.family-lesson-list article .secondary-button{grid-column:1/-1;width:100%}.family-preview-frame>section{padding:24px 16px}.family-student-picker{gap:8px;width:100%;display:grid}.family-student-picker select{width:100%;min-width:0;font-size:16px}.family-credit-summary{flex-direction:column;align-items:stretch;gap:12px}.family-credit-summary>div,.family-credit-summary>button{width:100%}.credit-balance{text-align:center;place-items:center;width:100%;max-width:100%}.admin-account-summary,.support-request-list article{grid-template-columns:1fr;align-items:start}.admin-account-actions{justify-content:flex-start}.support-request-form{grid-template-columns:1fr}.support-data-panel dl{grid-template-columns:repeat(2,minmax(0,1fr))}.support-student-list>div{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html.app-frame:has(.app-shell){height:100%;overflow:hidden}html.app-frame:has(.app-shell) body{height:100%;overflow:hidden}html.app-frame:has(.app-shell) body{min-height:0}html.app-frame:has(.app-shell) #root{height:100%}html.app-frame .app-shell{height:100%;min-height:0}html.app-frame:has(.app-shell) .workspace{height:100%}html.app-frame .main-content{overscroll-behavior:contain;height:100%;min-height:0;overflow-y:auto}html.app-frame:has(.dialog-backdrop) .main-content{overflow:hidden}@media (width<=767px){.student-detail-footer{justify-content:center}}select:enabled,select:disabled{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%2368655d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:32px}select:disabled{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23a8a49b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.student-series-group{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden}.student-series-group+.student-series-group{margin-top:10px}.student-series-toggle{text-align:left;width:100%;min-height:46px;color:var(--ink);background:0 0;border:0;align-items:center;gap:10px;padding:10px 14px;display:flex}.student-series-toggle strong{color:var(--ink);font-size:13.5px}.student-series-meta{color:var(--muted);margin-left:auto;font-size:11.5px}.student-series-group .lesson-series{border:0;border-top:1px solid var(--line);border-radius:0}@media (width<=767px){.manual-payment-row{background:0 0;border:0;border-radius:0;padding:0}}.manual-kind-toggle{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--control-radius);align-items:center;margin-bottom:12px;padding:3px;display:flex}.manual-kind-toggle button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:6px;flex:1;font-size:12px;font-weight:700}.manual-kind-toggle button.is-active{color:var(--ink);background:var(--yellow)}.manual-misc-field{min-width:0;color:var(--muted);gap:6px;font-size:11.5px;font-weight:700;display:grid}.manual-misc-field input{border:1px solid var(--line-strong);border-radius:var(--control-radius);width:100%;min-height:42px;font:inherit;background:var(--surface);color:var(--ink);padding:8px 12px}.manual-misc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width<=767px){.manual-misc-grid{grid-template-columns:minmax(0,1fr)}}.family-page{overflow-x:clip}.operations-month-nav{color:var(--muted);font-weight:700;line-height:1;min-width:28px!important;min-height:28px!important;padding:0 4px!important;font-size:16px!important}.operations-month-reset{color:var(--yellow-dark);background:var(--yellow-soft);border-radius:4px;min-height:28px!important;padding:0 8px!important;font-size:11px!important}.review-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.review-actions button{white-space:normal;width:100%;min-width:0}html:has(.dialog-backdrop){overscroll-behavior:none;overflow:hidden}html:has(.dialog-backdrop) body{overscroll-behavior:none;overflow:hidden}.dialog-backdrop{touch-action:none}.review-dialog{touch-action:pan-y}.check-label{column-gap:10px;display:grid}.check-label input[type=checkbox]{appearance:none;border:1.5px solid var(--line-strong);background:#fff;border-radius:5px;width:18px;height:18px;min-height:18px;margin:1px 0 0}.check-label input[type=checkbox]:checked{background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.5l2.8 2.8L10 3.5' fill='none' stroke='%2324231f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/13px no-repeat}.purchase-dialog select{color:var(--ink)}.purchase-dialog .dialog-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.purchase-dialog .dialog-actions button{white-space:normal;width:100%;min-width:0}.purchase-student>label,.purchase-dialog>label{min-width:0}.purchase-dialog select{border:1px solid var(--line-strong);border-radius:var(--control-radius);background-color:var(--surface);width:100%;min-width:0;min-height:40px;color:var(--ink);text-overflow:ellipsis;padding:8px 32px 8px 12px}.payment-method-picker{border:0;min-width:0;margin:14px 0 0;padding:0}.payment-method-picker legend{color:var(--muted);margin-bottom:7px;font-size:.875rem}.payment-method-picker div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.payment-method-picker button{min-height:42px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px}.payment-method-picker button.is-selected{color:#fff;background:#287456;border-color:#287456}.update-toast{z-index:80;background:var(--ink);color:#fff;text-align:center;border-radius:16px;justify-items:center;gap:0;width:min(300px,100vw - 48px);padding:22px 20px 14px;font-size:15px;font-weight:650;display:grid;position:fixed;top:30%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 44px #0000004d}.update-toast span{display:block}.update-toast button{background:var(--yellow);color:#1d1d19;border:0;border-radius:10px;width:100%;min-height:42px;margin-top:16px;padding:0 16px;font-size:14px;font-weight:700}.update-toast .update-toast-dismiss{color:#fff9;background:0 0;border-radius:8px;width:auto;min-height:auto;margin:0;padding:6px 8px;font-size:17px;font-weight:400;line-height:1;position:absolute;top:6px;right:6px}.state-message.state-toast{top:calc(env(safe-area-inset-top,0px) + 68px);z-index:70;cursor:pointer;text-align:center;width:min(460px,100vw - 32px);margin:0;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000024}.day-count-pill .face-icon{margin-right:4px}.day-count-pill.is-mood-happy .face-icon{color:#287456}.day-count-pill.is-mood-meh .face-icon{color:#3d3a34}.day-count-pill.is-mood-sad .face-icon{color:#8a867d}.quick-lesson-heading{white-space:nowrap;text-overflow:ellipsis;align-items:baseline;min-width:0;display:flex;overflow:hidden}.quick-lesson-heading strong{flex-shrink:0}.quick-lesson-sub{color:var(--muted);text-overflow:ellipsis;font-size:12px;overflow:hidden}
