*{box-sizing:border-box;-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}:root{--ink:#1d2937;--muted:#758292;--line:#e8ecef;--surface:#fff;--page:#f6f7f4;--teal:#25877c;--teal-dark:#206f67;--teal-soft:#e8f4f1}html,body{min-height:100%}body{background:var(--page);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px}button,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:#fbfcfa;flex-direction:column;flex-shrink:0;width:252px;min-height:100vh;padding:25px 16px 17px;display:flex}.brand{letter-spacing:-.7px;align-items:center;gap:10px;padding:0 13px;font-size:19px;font-weight:800;display:flex}.brand-mark{color:#fff;background:var(--teal);border-radius:10px;place-items:center;width:31px;height:31px;font-size:20px;display:grid}.school-switcher{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:10px;margin:34px 2px 27px;padding:11px 10px;display:flex}.school-avatar{color:#8b5b1e;background:#fbefd8;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.school-details{flex:1;gap:2px;min-width:0;display:grid}.school-label{color:#99a1a8;letter-spacing:1px;font-size:9px;font-weight:700}.school-details strong{font-size:13px}.chevron{color:#87919c;font-size:17px}.main-nav{gap:5px;display:grid}.nav-item{color:#66727d;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;height:42px;padding:0 12px;font-weight:500;display:flex}.nav-item:hover{color:var(--ink);background:#f2f5f2}.nav-item.active{background:var(--teal-soft);color:var(--teal-dark);font-weight:700}.nav-mark{color:currentColor;text-align:center;width:19px;font-size:17px}.nav-attention-badge{color:#fff;background:#c74242;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.sidebar-bottom{margin-top:auto}.help-card{border:1px solid var(--line);color:#65727e;border-radius:10px;align-items:center;gap:9px;margin-bottom:14px;padding:13px 11px;font-size:12px;display:flex}.help-dot{background:#e2b45c;border-radius:50%;width:8px;height:8px}.arrow{color:#87919c;margin-left:auto}.profile-row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:13px 7px 0;display:flex}.profile-avatar{color:#28675d;background:#dceee7;border-radius:50%;place-items:center;width:35px;height:35px;font-size:11px;font-weight:700;display:grid}.profile-name{flex:1;gap:3px;display:grid}.profile-name strong{font-size:11px}.profile-name small{color:var(--muted);font-size:10px}.workspace{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#ffffffd1;justify-content:space-between;align-items:center;height:70px;padding:0 42px;display:flex}.breadcrumb{color:#8b959d;align-items:center;gap:10px;font-size:12px;display:flex}.breadcrumb strong{color:#46525c;font-weight:600}.crumb-divider{color:#c2c9ce}.top-actions{align-items:center;gap:17px;display:flex}.demo-pill{color:#7b858c;background:#f2f4f1;border-radius:20px;align-items:center;gap:7px;padding:6px 10px;font-size:10px;display:flex}.demo-pill span{background:#d5a14a;border-radius:50%;width:6px;height:6px}.language-control select{border:1px solid var(--line);color:#46525c;background:#fff;border-radius:8px;outline:none;padding:7px 24px 7px 9px;font-size:11px}.icon-button{color:#68747d;background:0 0;border:0;font-size:19px;position:relative}.icon-button i{background:#dd9a4d;border:1px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:1px;right:1px}.page-content{max-width:1460px;margin:0 auto;padding:34px 42px 24px}.welcome-row{justify-content:space-between;align-items:end;margin-bottom:25px;display:flex}.eyebrow{color:#9aa3a9;letter-spacing:.8px;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:700}h1,h2{letter-spacing:-.6px;margin:0}h1{font-size:26px;font-weight:700}.welcome-subtitle{color:var(--muted);margin:7px 0 0;font-size:13px}.primary-button{background:var(--teal);color:#fff;border:0;border-radius:9px;align-items:center;gap:8px;padding:11px 15px;font-size:12px;font-weight:600;display:inline-flex}.primary-button:hover{background:var(--teal-dark)}.primary-button span{font-size:17px;line-height:12px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:17px;display:grid}.stat-card,.panel{background:var(--surface);border:1px solid var(--line);border-radius:13px}.stat-card{min-height:166px;padding:17px 19px;position:relative;overflow:hidden}.stat-heading{color:#707c85;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;display:flex}.stat-icon{border-radius:8px;place-items:center;width:27px;height:27px;font-size:15px;display:grid}.blue-icon{color:#5e83a8;background:#eaf1f8}.green-icon{color:#498d72;background:#e8f4ef}.gold-icon{color:#b58a43;background:#fbf1df}.stat-value{letter-spacing:-.9px;margin-top:12px;font-size:27px;font-weight:700}.stat-value small{color:#83908d;font-size:12px}.stat-foot{color:#97a0a6;margin-top:4px;font-size:10px}.positive{color:#42836a;font-weight:700}.mini-avatars{align-items:center;margin-top:13px;display:flex}.mini-avatars span,.mini-avatars b{color:#5e7585;background:#e7f0f5;border:2px solid #fff;border-radius:50%;place-items:center;width:22px;height:22px;margin-right:-3px;font-size:7px;font-weight:700;display:grid}.mini-avatars span:nth-child(2){color:#a46e66;background:#f7e7e4}.mini-avatars span:nth-child(3){color:#8d7946;background:#f5efd9}.mini-avatars b{color:#7b858c;background:#f1f3f3;width:23px;height:23px;margin-left:4px;font-size:8px}.sparkline{align-items:end;gap:6px;height:30px;display:flex;position:absolute;bottom:17px;right:19px}.sparkline i{background:#d1e7df;border-radius:3px 3px 1px 1px;width:8px;height:12px;display:block}.sparkline i:nth-child(2){height:19px}.sparkline i:nth-child(3){height:15px}.sparkline i:nth-child(4){height:23px}.sparkline i:nth-child(5){height:19px}.sparkline i:nth-child(6){height:27px}.sparkline i:nth-child(7){background:#6a9;height:30px}.next-progress{background:#f0f2ee;border-radius:5px;height:4px;margin-top:13px}.next-progress span{border-radius:inherit;background:#e1b56d;width:42%;height:100%;display:block}.content-grid{grid-template-columns:1.1fr .9fr;gap:16px;display:grid}.panel{min-width:0;padding:18px 19px 0}.panel-heading{justify-content:space-between;align-items:center;gap:12px;padding-bottom:13px;display:flex}.panel-heading .eyebrow{margin-bottom:4px;font-size:9px}h2{font-size:15px;font-weight:700}.text-button{color:var(--teal);white-space:nowrap;background:0 0;border:0;padding:6px 0;font-size:10px;font-weight:600}.text-button span{margin-left:3px}.lesson-list,.assignment-list{border-top:1px solid #f0f2f2}.lesson-row{border-bottom:1px solid #f0f2f2;align-items:center;gap:13px;min-height:66px;display:flex}.lesson-row time{color:#596670;width:67px;font-size:11px;font-weight:600}.lesson-row time span{color:#9ba3a8;margin-top:2px;font-size:9px;font-weight:400;display:block}.student-avatar{border-radius:50%;flex:none;place-items:center;width:35px;height:35px;font-size:10px;font-weight:700;display:grid}.student-avatar.blue{color:#5a7d99;background:#e7f0f7}.student-avatar.rose{color:#a4776c;background:#f8eae6}.student-avatar.gold{color:#9c8147;background:#f7f0df}.lesson-info,.assignment-info{flex:1;gap:4px;min-width:0;display:grid}.lesson-info strong,.assignment-info strong{color:#34424c;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.lesson-info span,.assignment-info span{color:#919ba1;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.lesson-info i{background:#b6bdc0;border-radius:50%;width:3px;height:3px;margin:0 5px 2px;display:inline-block}.status-chip{white-space:nowrap;border-radius:6px;flex:none;padding:5px 7px;font-size:9px;font-weight:600;display:inline-block}.status-chip.planned{color:#55809d;background:#eaf3f8}.status-chip.done{color:#4a8a6e;background:#e8f4ed}.status-chip.review{color:#a17a36;background:#fbf2df}.status-chip.notDone{color:#ac6960;background:#faece8}.panel-footer{color:#919ba1;align-items:center;gap:7px;min-height:39px;font-size:9px;display:flex}.footer-dot{background:#77a996;border-radius:50%;width:6px;height:6px}.footer-dot.amber{background:#d5a14a}.assignment-row{border-bottom:1px solid #f0f2f2;align-items:center;gap:11px;min-height:65px;display:flex}.student-avatar.small{width:31px;height:31px;font-size:9px}.page-footer{color:#a2aaad;align-items:center;gap:8px;margin-top:23px;font-size:9px;display:flex}.page-footer span:first-child{color:#7c9087;font-weight:700}.footer-spacer{flex:1}.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}@media (max-width:1050px){.sidebar{width:220px}.topbar{padding:0 26px}.page-content{padding:29px 26px 22px}.content-grid{grid-template-columns:1fr}}@media (max-width:720px){.sidebar{width:66px;padding:20px 8px}.brand{justify-content:center;padding:0}.brand>span:last-child,.school-details,.school-switcher .chevron{display:none}.school-switcher{justify-content:center;margin:29px 0 22px;padding:8px 0}.main-nav{justify-items:center}.nav-item{justify-content:center;width:44px;padding:0;font-size:0}.nav-mark{font-size:18px}.sidebar-bottom .help-card,.profile-name,.profile-row .chevron{display:none}.profile-row{justify-content:center;padding:14px 0 0}.topbar{height:60px;padding:0 15px}.demo-pill{display:none}.page-content{padding:24px 15px 18px}.welcome-row{align-items:start;gap:12px}h1{font-size:21px}.primary-button{padding:10px;font-size:0}.primary-button span{font-size:18px}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{min-height:147px;padding:13px}.stat-heading{font-size:9px}.stat-value{font-size:22px}.stat-foot{font-size:9px}.next-card{grid-column:span 2;min-height:110px}.next-card .stat-value{margin-right:9px;display:inline-block}.next-card .stat-foot{display:inline}.next-progress{margin-top:8px}.panel{padding-left:12px;padding-right:12px}.lesson-row{gap:8px}.lesson-row time{width:52px;font-size:10px}.lesson-row .status-chip{display:none}.assignment-row{gap:8px}.assignment-info strong{font-size:10px}.assignment-info span{font-size:8px}.status-chip{padding:5px 6px;font-size:8px}}.auth-page{background:radial-gradient(ellipse at 50% 10%,#e8f4f1 0,transparent 45%),var(--page);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.auth-brand{margin-bottom:25px}.auth-card{border:1px solid var(--line);background:#fff;border-radius:18px;width:min(100%,440px);padding:34px;box-shadow:0 14px 50px #26433c12}.auth-card h1{font-size:25px}.auth-intro{color:var(--muted);margin:8px 0 24px;line-height:1.55}.auth-form{gap:16px;display:grid}.auth-form label{color:#495660;gap:7px;font-size:12px;font-weight:600;display:grid}.auth-form input,.auth-form select{width:100%;height:43px;color:var(--ink);font:inherit;background:#fff;border:1px solid #dfe5e6;border-radius:8px;outline:none;padding:0 12px}.auth-form input:focus,.auth-form select:focus{border-color:#68a99d;box-shadow:0 0 0 3px #e8f4f1}.auth-form small{color:#929da3;font-size:10px;font-weight:400}.auth-submit{justify-content:center;min-height:44px;margin-top:5px;font-size:13px}.auth-switch{color:#7e8990;justify-content:center;align-items:center;gap:4px;margin:22px 0 0;font-size:11px;display:flex}.auth-switch a{color:var(--teal-dark);font-weight:700}.auth-switch form{margin:0}.form-alert,.form-success{border-radius:8px;margin:0 0 16px;padding:11px 12px;font-size:12px;line-height:1.45}.form-alert{color:#9b5148;background:#faece8}.form-success{color:#39735f;background:#e8f4ed}.auth-foot{color:#98a1a5;text-align:center;margin:18px 0 0;font-size:10px}.dashboard-page{justify-content:flex-start;padding:30px max(20px,50vw - 530px)}.workspace-header{justify-content:space-between;align-items:center;width:min(100%,1060px);margin-bottom:35px;display:flex}.welcome-panel{border:1px solid var(--line);background:#fff;border-radius:16px;width:min(100%,1060px);padding:30px}.welcome-panel h1{font-size:27px}.school-badge{border:1px solid var(--line);background:#f7f8f5;border-radius:10px;align-items:center;gap:10px;margin-top:16px;padding:9px 12px;display:inline-flex}.school-badge div{gap:3px;display:grid}.school-badge small{color:#98a1a5;letter-spacing:.6px;font-size:9px}.school-badge strong{font-size:12px}.module-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:min(100%,1060px);margin-top:18px;display:grid}.module-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:20px}.module-icon{background:var(--teal-soft);width:34px;height:34px;color:var(--teal);border-radius:10px;place-items:center;margin-bottom:15px;font-size:17px;display:grid}.module-card h2{margin-bottom:8px}.module-card p{min-height:35px;color:var(--muted);font-size:11px;line-height:1.5}.module-state{color:#9aa3a9;letter-spacing:.5px;font-size:9px;font-weight:700}@media (max-width:750px){.module-grid{grid-template-columns:1fr 1fr}.auth-card{padding:25px 22px}.dashboard-page{padding:20px 15px}.welcome-panel{padding:23px 20px}}@media (max-width:420px){.module-grid{grid-template-columns:1fr}}.auth-card-wide{width:min(100%,560px)}.form-two-col{grid-template-columns:1fr 1fr;gap:13px;display:grid}.optional-label{color:#98a1a5;font-size:10px;font-weight:400;display:inline}.auth-form input[type=file]{height:auto;min-height:43px;padding:9px;font-size:11px}@media (max-width:500px){.form-two-col{grid-template-columns:1fr}}.pending-card{text-align:center}.pending-icon{color:#ad843e;background:#fbf1df;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 18px;font-size:24px;display:grid}.application-summary{border:1px solid var(--line);text-align:left;background:#fafbf9;border-radius:10px;gap:5px;padding:15px;display:grid}.application-summary strong{font-size:13px}.application-summary span{color:var(--muted);font-size:11px}.admin-shell{max-width:1080px;min-height:100vh;margin:0 auto;padding:30px 28px}.admin-shell .workspace-header{width:100%;margin-bottom:48px}.admin-heading{margin-bottom:22px}.admin-heading h1{font-size:28px}.admin-heading .auth-intro{margin-bottom:0}.teacher-list{gap:13px;display:grid}.teacher-card,.admin-empty{border:1px solid var(--line);background:#fff;border-radius:14px;padding:21px}.teacher-card-top{align-items:center;gap:13px;display:flex}.teacher-avatar{width:42px;height:42px;color:var(--teal-dark);background:#e8f4f1;border-radius:50%;flex:none;place-items:center;font-size:17px;font-weight:700;display:grid}.teacher-identity{flex:1;gap:4px;min-width:0;display:grid}.teacher-identity h2{font-size:14px}.teacher-identity span{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.account-status{white-space:nowrap;border-radius:20px;padding:6px 9px;font-size:10px;font-weight:700}.account-status.pending{color:#946a21;background:#fbf1df}.account-status.active{color:#39735f;background:#e8f4ed}.account-status.paused,.account-status.deleted{color:#9b5148;background:#faece8}.teacher-school{border-top:1px solid #f0f2f2;justify-content:space-between;gap:12px;margin-top:14px;padding:14px 0;display:flex}.teacher-school strong{font-size:12px}.teacher-school span{color:#98a1a5;font-size:10px}.admin-actions{flex-wrap:wrap;gap:9px;display:flex}.admin-actions form{margin:0}.admin-actions button{min-height:36px}.secondary-button,.danger-button{border:1px solid var(--line);color:#596670;cursor:pointer;background:#fff;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:600}.danger-button{color:#a65349;border-color:#f0d8d4}.admin-note{color:#8e999e;margin:16px 2px;font-size:11px;line-height:1.5}.admin-empty{color:var(--muted);font-size:13px}@media (max-width:600px){.admin-shell{padding:20px 14px}.teacher-card{padding:16px}.account-status{align-self:flex-start}.teacher-card-top{flex-wrap:wrap;align-items:flex-start}.teacher-identity{flex:calc(100% - 60px)}.teacher-card-top .account-status{margin-left:55px}}.school-logo{object-fit:cover;border-radius:10px;width:34px;height:34px}.checkbox-label{align-items:center;gap:8px!important;display:flex!important}.checkbox-label input{width:16px;height:16px}.profile-logo-preview{object-fit:cover;border-radius:12px;width:64px;height:64px}.auth-languages{border:1px solid var(--line);background:#fff;border-radius:9px;gap:4px;padding:4px;display:flex;position:absolute;top:24px;right:26px}.auth-languages a{color:#738089;border-radius:6px;padding:5px 7px;font-size:10px;font-weight:700}.auth-languages a:hover{background:var(--teal-soft);color:var(--teal-dark)}.teacher-school-info{align-items:center;gap:10px;display:flex}.teacher-school-info>div{gap:4px;display:grid}.teacher-logo{object-fit:cover;border-radius:9px;width:36px;height:36px}.current-school-logo{align-items:center;gap:12px;display:flex}.pending-edit{margin-top:18px}.password-rules{color:#929da3;gap:5px;margin:-9px 0 0;padding:0;font-size:10px;list-style:none;display:grid}.password-rule.valid,.password-match.valid{color:#39735f}.password-rule{line-height:1.4}.password-match{color:#9b5148;min-height:0;margin:-12px 0 0;font-size:10px}.auth-submit:disabled{cursor:not-allowed;opacity:.55}.teacher-app-shell{background:var(--page);grid-template-columns:226px minmax(0,1fr);min-height:100vh;display:grid}.teacher-sidebar{border-right:1px solid var(--line);background:#fbfcfa;flex-direction:column;height:100vh;min-height:620px;padding:24px 15px 18px;display:flex;position:sticky;top:0}.teacher-brand{padding:0 8px}.teacher-school-switcher{margin:31px 0 23px}.teacher-main-nav{gap:4px}.teacher-main-nav .nav-item{border-radius:9px;height:auto;min-height:41px;padding:9px 11px}.teacher-main-nav .nav-item span:last-child{font-size:12px}.teacher-sidebar-bottom{margin-top:auto}.teacher-profile-row{padding:13px 1px 0}.teacher-profile-row .profile-name{min-width:0}.teacher-profile-row .profile-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-workspace{min-width:0}.teacher-topbar{border-bottom:1px solid var(--line);background:#ffffffd9;justify-content:space-between;align-items:center;gap:18px;min-height:66px;padding:0 clamp(18px,3.2vw,44px);display:flex}.teacher-top-actions{gap:14px}.teacher-top-actions form{margin:0}.teacher-language{background:#f2f4f1;border-radius:9px;align-items:center;gap:3px;padding:4px;display:flex}.teacher-language a{color:#738089;text-align:center;border-radius:6px;min-width:28px;padding:5px 6px;font-size:9px;font-weight:700}.teacher-language a.selected{color:var(--teal-dark);background:#fff;box-shadow:0 1px 3px #1d293714}.teacher-page-content{width:min(100%,1440px);margin:0 auto;padding:26px clamp(18px,3.2vw,44px) 22px}.teacher-welcome-row{justify-content:space-between;align-items:flex-end;margin-bottom:20px;display:flex}.teacher-welcome-row .eyebrow{margin-bottom:5px}.teacher-welcome-row h1{font-size:25px}.teacher-welcome-row .welcome-subtitle{margin:5px 0 0}.teacher-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px;display:grid}.teacher-stat-card{background:var(--surface);border:1px solid var(--line);border-radius:13px;min-width:0;min-height:117px;padding:14px 15px}.teacher-stat-heading{color:#707c85;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.teacher-stat-icon{background:var(--teal-soft);width:28px;height:28px;color:var(--teal-dark);border-radius:9px;flex:none;place-items:center;font-size:15px;font-weight:700;display:grid}.teacher-stat-value{letter-spacing:-.6px;margin-top:9px;font-size:23px;font-weight:700;line-height:1.12}.teacher-stat-money{white-space:nowrap;font-size:20px}.teacher-stat-foot{color:#97a0a6;margin-top:4px;font-size:9px;line-height:1.35}.teacher-dashboard-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:13px;margin-bottom:13px;scroll-margin-top:16px;display:grid}.teacher-panel{background:var(--surface);border:1px solid var(--line);border-radius:13px;min-width:0;padding:15px 15px 0;scroll-margin-top:18px;overflow:hidden}.teacher-panel-heading{justify-content:space-between;align-items:center;gap:10px;min-height:28px;padding-bottom:11px;display:flex}.teacher-panel-heading h2{font-size:13px;line-height:1.35}.teacher-panel-heading .text-button{flex:none;font-size:9px}.teacher-record-list{border-top:1px solid #f0f2f2}.teacher-record-row{border-bottom:1px solid #f0f2f2;align-items:center;gap:10px;min-width:0;min-height:57px;display:flex}.teacher-lesson-row{min-height:59px}.teacher-record-time{color:#596670;flex:none;width:45px;font-size:10px;font-weight:700}.teacher-record-avatar{width:30px;height:30px;color:var(--teal-dark);background:#dceee7;border-radius:50%;flex:none;place-items:center;font-size:9px;font-weight:700;display:grid}.teacher-record-avatar-small{width:28px;height:28px}.teacher-record-info{flex:1;gap:3px;min-width:0;display:grid}.teacher-record-info strong{color:#34424c;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;overflow:hidden}.teacher-record-info small{color:#919ba1;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.teacher-status{color:#64737b;text-align:center;white-space:nowrap;background:#f2f4f1;border-radius:7px;flex:none;max-width:104px;padding:5px 7px;font-size:8px;font-weight:700}.teacher-status.completed{color:#39735f;background:#e8f4ed}.teacher-status.cancelled{color:#67478b;background:#efe8f6}.teacher-status.scheduled,.teacher-status.rescheduled{color:#946a21;background:#fbf1df}.teacher-status.not-completed{color:#a33d48;background:#fae8e9}.teacher-panel-footer{color:#919ba1;align-items:center;min-height:33px;font-size:9px;display:flex}.teacher-empty-state{text-align:center;border-top:1px solid #f0f2f2;flex-direction:column;justify-content:center;align-items:center;min-height:164px;padding:18px 12px;display:flex}.teacher-empty-icon{background:var(--teal-soft);width:30px;height:30px;color:var(--teal);border-radius:9px;place-items:center;margin-bottom:8px;font-size:15px;display:grid}.teacher-empty-state p{color:#53616b;margin:0;font-size:10px;font-weight:600}.teacher-empty-state small{color:#97a0a6;margin-top:4px;font-size:9px}.teacher-student-row{min-height:53px}.teacher-student-state{color:#87939a;flex:none;font-size:8px}.teacher-period-label{color:#97a0a6;font-size:9px}.teacher-income-total{letter-spacing:-.6px;margin:2px 0 11px;font-size:22px;font-weight:700}.teacher-income-chart{border-top:1px solid #f0f2f2;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:9px;height:132px;padding:5px 2px 0;display:grid}.teacher-income-column{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.teacher-income-bar-track{background:linear-gradient(#0000 30%,#e8f4f16b);border-bottom:1px solid #e9edef;justify-content:center;align-items:flex-end;width:100%;height:100px;display:flex}.teacher-income-bar{background:#79b8aa;border-radius:5px 5px 0 0;width:min(25px,70%);min-height:0;transition:height .2s;display:block}.teacher-income-column:last-child .teacher-income-bar{background:var(--teal)}.teacher-income-column small{color:#89959b;font-size:8px}.teacher-income-empty{color:#97a0a6;text-align:center;border-top:1px solid #f0f2f2;place-items:center;min-height:81px;font-size:10px;display:grid}@media (max-width:1050px){.teacher-app-shell{grid-template-columns:205px minmax(0,1fr)}.teacher-sidebar{padding-left:12px;padding-right:12px}.teacher-page-content{padding-left:20px;padding-right:20px}.teacher-stats-grid{gap:9px}.teacher-stat-card{padding:12px}.teacher-stat-heading{font-size:10px}.teacher-stat-value{font-size:21px}.teacher-stat-money{font-size:18px}.teacher-dashboard-grid{gap:10px}.teacher-panel{padding-left:12px;padding-right:12px}}@media (max-width:820px){.teacher-app-shell{grid-template-columns:176px minmax(0,1fr)}.teacher-sidebar{padding:20px 10px 15px}.teacher-brand{font-size:17px}.teacher-school-switcher{gap:8px;margin:25px 0 17px;padding:9px}.teacher-school-switcher .school-avatar,.teacher-school-switcher .school-logo{width:30px;height:30px}.teacher-main-nav .nav-item{gap:8px;padding:8px}.teacher-main-nav .nav-item span:last-child{font-size:11px}.teacher-topbar{padding:0 15px}.teacher-top-actions{gap:8px}.teacher-page-content{padding:21px 14px 18px}.teacher-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-stat-card{min-height:108px}.teacher-dashboard-grid{grid-template-columns:1fr 1fr}.teacher-record-row{gap:7px}.teacher-status{padding:4px 5px;font-size:7px}}@media (max-width:620px){.teacher-app-shell{grid-template-columns:1fr}.teacher-sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;min-height:0;padding:13px 15px 9px;position:static}.teacher-brand{justify-content:flex-start;padding:0}.teacher-school-switcher{display:none}.teacher-sidebar-bottom{display:block}.teacher-main-nav{scrollbar-width:thin;gap:5px;margin-top:11px;display:flex;overflow-x:auto}.teacher-main-nav .nav-item{flex:none;min-height:36px;padding:7px 9px;font-size:10px}.teacher-main-nav .nav-item span:last-child{font-size:10px}.teacher-main-nav .nav-mark{width:16px;font-size:14px}.teacher-topbar{min-height:54px}.teacher-topbar .breadcrumb{min-width:0;font-size:10px}.teacher-topbar .breadcrumb strong{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.teacher-top-actions{gap:6px}.teacher-top-actions .text-button{font-size:9px}.teacher-language{gap:0;padding:2px}.teacher-language a{min-width:25px;padding:4px 3px;font-size:8px}.teacher-page-content{padding:18px 12px 16px}.teacher-welcome-row h1{font-size:21px}.teacher-dashboard-grid{grid-template-columns:1fr}.teacher-panel-heading h2{font-size:12px}.teacher-record-row{min-height:54px}.teacher-status{font-size:8px}.teacher-income-chart{height:120px}}body[data-theme=green]{--teal:#25877c;--teal-dark:#206f67;--teal-soft:#e8f4f1;--page:#f6f7f4}body[data-theme=blue]{--teal:#5688bd;--teal-dark:#3f6f9e;--teal-soft:#eaf2fa;--page:#f5f7fa}body[data-theme=yellow]{--teal:#bd9638;--teal-dark:#8f7027;--teal-soft:#faf3df;--page:#faf8f1}body[data-theme=red]{--teal:#c76f70;--teal-dark:#a45255;--teal-soft:#faebeb;--page:#faf5f5}body[data-theme=orange]{--teal:#ca8250;--teal-dark:#a66537;--teal-soft:#fbefe5;--page:#faf7f3}.teacher-user-menu{position:relative}.teacher-user-menu summary{cursor:pointer;list-style:none}.teacher-user-menu summary::-webkit-details-marker{display:none}.teacher-user-menu summary::marker{content:""}.teacher-user-menu[open] .teacher-user-chevron{transform:rotate(180deg)}.teacher-user-chevron{color:#89949b;margin-left:auto;font-size:13px;transition:transform .15s}.teacher-user-menu-items{z-index:20;border:1px solid var(--line);background:#fff;border-radius:11px;gap:3px;min-width:160px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 10px);left:0;right:0;box-shadow:0 8px 24px #1d29371f}.teacher-user-menu-items a,.teacher-user-menu-items button{color:#53616b;width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:9px 10px;font-size:12px;display:block}.teacher-user-menu-items a:hover,.teacher-user-menu-items button:hover{background:var(--teal-soft);color:var(--teal-dark)}.teacher-user-menu-items form{margin:0}.students-page{max-width:1180px}.student-page-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px;display:flex}.student-page-heading h1{font-size:25px}.student-page-heading .welcome-subtitle{margin:5px 0 0}.invite-panel{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);align-items:center;gap:18px;margin-bottom:15px;padding-bottom:15px;display:grid}.invite-panel h2,.student-table-heading h2{margin-bottom:6px;font-size:14px}.invite-panel p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.student-invite-form{align-items:flex-end;gap:9px;display:flex}.student-invite-form label{color:#495660;flex:1;gap:6px;min-width:0;font-size:11px;font-weight:600;display:grid}.student-invite-form input{width:100%;height:39px;color:var(--ink);font:inherit;background:#fff;border:1px solid #dfe5e6;border-radius:8px;padding:0 10px}.student-invite-form button{flex:none}.student-table-panel{padding-bottom:0}.student-table-heading{align-items:center;gap:9px;padding-bottom:12px;display:flex}.student-table-heading span{background:var(--teal-soft);min-width:22px;color:var(--teal-dark);text-align:center;border-radius:12px;padding:3px 6px;font-size:10px;font-weight:700}.student-table-wrap{overflow-x:auto}.student-table{border-collapse:collapse;text-align:left;width:100%}.student-table th{border-top:1px solid var(--line);color:#87939a;padding:10px 8px;font-size:10px;font-weight:600}.student-table td{color:#53616b;border-top:1px solid #eff1f1;padding:12px 8px;font-size:11px}.student-table td strong{color:var(--ink);font-size:12px}.student-row-settings{color:#78858c;background:#fff;border:1px solid #e3e8e9;border-radius:8px;place-items:center;width:30px;height:30px;margin-inline:auto;transition:background .15s,color .15s,border-color .15s;display:grid}.student-row-settings:hover,.student-row-settings:focus-visible{border-color:var(--teal);color:var(--teal-dark);background:var(--teal-soft);outline:none}.student-row-settings svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.student-client-email{color:var(--muted);margin-top:3px;font-size:10px;display:block}.student-status{color:#64737b;white-space:nowrap;background:#f2f4f1;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:700;display:inline-flex}.student-status-active,.student-status-approved{color:#39735f;background:#e8f4ed}.student-status-paused,.student-status-rejected,.student-status-archived{color:#9b5148;background:#faece8}.student-status-pending{color:#946a21;background:#fbf1df}.student-empty{color:var(--muted);text-align:center;padding:28px 10px;font-size:12px}.student-form{margin-top:22px}.student-form-section{border:1px solid var(--line);border-radius:12px;gap:14px;min-width:0;margin:0;padding:16px;display:grid}.student-form-section legend{color:var(--ink);padding:0 6px;font-size:13px;font-weight:700}.student-form-section label{color:#495660;gap:6px;font-size:11px;font-weight:600;display:grid}.student-form-section small{color:#929da3;font-size:10px;font-weight:400;line-height:1.45}.credential-checklist{gap:3px;display:grid}.credential-check{font-size:10px;line-height:1.4;display:block;color:#9a5b55!important}.credential-check.is-valid{color:#21825e!important}.credential-check span{min-width:12px;font-weight:700;display:inline-block}.credential-availability{font-weight:600!important}.credential-availability.checking{color:#77858d!important}.credential-availability.available{color:#21825e!important}.credential-availability.taken,.credential-availability.error{color:#bb4848!important}.student-form-section input,.student-form-section select{width:100%;height:41px;color:var(--ink);font:inherit;background:#fff;border:1px solid #dfe5e6;border-radius:8px;outline:none;padding:0 10px}.student-form-section input:focus,.student-form-section select:focus{border-color:#68a99d;box-shadow:0 0 0 3px #e8f4f1}.form-three-col{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.student-review-actions,.student-status-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0;display:flex}.student-review-actions form,.student-status-actions form{margin:0}.student-edit-page{justify-content:flex-start;padding:24px 16px}.student-edit-page .workspace-header{width:min(100%,860px);margin-bottom:20px}.student-edit-page .auth-card-wide{width:min(100%,860px)}.student-status-actions{border-top:1px solid var(--line);padding-top:15px}.portal-page{background:var(--page);min-height:100vh;padding:24px}.portal-header{border:1px solid var(--line);background:#fff;border-radius:13px;justify-content:space-between;align-items:center;width:min(100%,980px);margin:0 auto 28px;padding:13px 18px;display:flex}.portal-header form{margin:0}.portal-content{border:1px solid var(--line);background:#fff;border-radius:16px;width:min(100%,860px);margin:0 auto;padding:24px}.portal-content h1{font-size:26px}.portal-school-card{border:1px solid var(--line);background:#fafbf9;border-radius:11px;align-items:center;gap:11px;margin:18px 0 25px;padding:13px;display:flex}.portal-school-card>div{gap:3px;display:grid}.portal-school-card small{color:var(--muted);font-size:10px}.portal-school-card strong{font-size:12px}.portal-student-section{margin-top:22px}.portal-student-section h2{margin-bottom:12px;font-size:16px}.portal-homework-list{gap:10px;display:grid}.portal-homework-card{border:1px solid var(--line);border-radius:11px;padding:15px}.portal-homework-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.portal-homework-heading h3{font-size:13px}.portal-homework-card>p{color:var(--muted);margin:8px 0;font-size:11px}.portal-homework-card>a{color:var(--teal-dark);font-size:11px;font-weight:700}.portal-teacher-note{background:var(--teal-soft);border-radius:8px;gap:4px;padding:10px;display:grid}@media (max-width:560px){.portal-page{padding:12px}.portal-content{padding:16px}.portal-header{margin-bottom:14px}}@media (max-width:760px){.invite-panel{grid-template-columns:1fr}.form-three-col{grid-template-columns:1fr 1fr}}@media (max-width:560px){.student-page-heading{flex-direction:column;align-items:flex-start}.student-invite-form{flex-direction:column;align-items:stretch}.student-invite-form button{justify-content:center}.form-three-col{grid-template-columns:1fr}.student-table th:nth-child(3),.student-table td:nth-child(3){display:none}.student-form-section{padding:13px}}.theme-picker{border:1px solid var(--line);border-radius:10px;min-width:0;margin:2px 0 0;padding:14px}.theme-picker legend{color:#495660;padding:0 5px;font-size:12px;font-weight:600}.theme-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.theme-option{border:1px solid var(--line);color:#65727e;text-align:center;cursor:pointer;border-radius:9px;justify-items:center;gap:7px;min-width:0;padding:10px 4px;font-size:10px;display:grid}.theme-option input{width:15px;height:15px;accent-color:var(--teal);margin:0}.theme-swatch{border-radius:50%;width:25px;height:25px}.theme-option-green .theme-swatch{background:#dceee8;border:2px solid #25877c}.theme-option-blue .theme-swatch{background:#e0ebf7;border:2px solid #5688bd}.theme-option-yellow .theme-swatch{background:#f7edc9;border:2px solid #bd9638}.theme-option-red .theme-swatch{background:#f6e0e1;border:2px solid #c76f70}.theme-option-orange .theme-swatch{background:#f7e5d6;border:2px solid #ca8250}@media (max-width:620px){.teacher-sidebar{position:relative}.teacher-sidebar-bottom{display:block}.teacher-user-menu{position:absolute;top:10px;right:14px}.teacher-user-menu .teacher-profile-row{border:0;width:auto;padding:0}.teacher-user-menu .profile-name,.teacher-user-chevron{display:none}.teacher-user-menu-items{min-width:150px;left:auto;right:0}}@media (max-width:500px){.theme-options{grid-template-columns:repeat(3,minmax(0,1fr))}}.teacher-photo-preview{object-fit:cover;border:3px solid var(--teal-soft);border-radius:50%;width:88px;height:88px}.profile-form-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:4px;display:flex}.profile-form-actions .auth-submit{margin-top:0}@media (max-width:500px){.profile-form-actions{flex-direction:column-reverse;align-items:stretch}.profile-form-actions>*{text-align:center;justify-content:center}}.profile-avatar-image{object-fit:cover;flex:none;display:block}.teacher-user-menu .profile-avatar-image{border:0}.avatar-crop-editor{gap:13px;display:grid}.avatar-crop-preview{border:3px solid var(--teal-soft);background:var(--teal-soft);border-radius:50%;width:112px;height:112px;overflow:hidden}.avatar-crop-preview img{object-fit:cover;display:block}.avatar-crop-preview{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:180px;height:180px}.avatar-crop-preview:active{cursor:grabbing}.avatar-crop-preview img{pointer-events:none}.avatar-crop-hint{color:var(--muted);margin:-5px 0 0;font-size:11px}.avatar-crop-preview img{transform-origin:50%}.avatar-crop-preview{position:relative}.avatar-crop-preview img{pointer-events:none;max-width:none;position:absolute}.avatar-zoom-control{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.avatar-zoom-control output{min-width:42px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:center}.avatar-zoom-button{border:1px solid var(--line);width:34px;height:34px;color:var(--teal-dark);cursor:pointer;background:#fff;border-radius:9px;place-items:center;font-size:20px;line-height:1;display:grid}.avatar-zoom-button:disabled{opacity:.45;cursor:default}.teacher-avatar-crop{padding:0;position:relative;overflow:hidden}.teacher-avatar-crop img{object-fit:cover;max-width:none;display:block;position:absolute}.invitation-list-panel{margin-bottom:15px}.invitation-revoke-button{color:#a45255}.invitation-revoke-button:hover{color:#873f42}.student-status-invited{color:#466d9d;background:#e9f1fb}.student-status-submitted{color:#946a21;background:#fbf1df}.student-status-revoked,.student-status-expired{color:#78838a;background:#f1f2f2}.schedule-page{min-width:0}.schedule-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin:0 0 20px;display:flex}.schedule-heading .welcome-subtitle{margin-bottom:0}.schedule-toolbar{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:15px;padding:12px 14px;display:flex}.schedule-date-controls,.schedule-view-switch{align-items:center;gap:7px;display:flex}.schedule-date-controls strong{text-align:center;min-width:205px;font-size:12px}.schedule-icon-button,.schedule-today-button,.schedule-view-switch button{border:1px solid var(--line);color:#596670;background:#fff;border-radius:8px;min-height:34px}.schedule-icon-button{width:34px;font-size:21px;line-height:1}.schedule-today-button,.schedule-view-switch button{padding:0 11px;font-size:11px}.schedule-view-switch{background:#f4f6f4;border-radius:10px;padding:3px}.schedule-view-switch button{background:0 0;border-color:#0000;min-height:31px}.schedule-view-switch button.selected{border-color:var(--line);color:var(--teal-dark);background:#fff;font-weight:700}.schedule-calendar-panel{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:visible}.schedule-panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.schedule-panel-heading h2{font-size:14px}.schedule-panel-heading small,.schedule-panel-heading>span{color:var(--muted);font-size:10px}.schedule-panel-heading small{margin-top:4px;display:block}.schedule-week-scroll{border-radius:0 0 13px 13px;overflow-x:auto}.schedule-week-grid{grid-template-columns:58px repeat(7,minmax(112px,1fr));min-width:910px;display:grid}.schedule-week-corner{border-bottom:1px solid var(--line);min-height:54px}.schedule-day-head{border:0;border-bottom:1px solid var(--line);color:#66727d;background:#fff;border-left:1px solid #f0f2f2;align-content:center;gap:4px;min-height:54px;display:grid}.schedule-day-head strong{text-transform:capitalize;font-size:11px}.schedule-day-head span{color:#929ca3;font-size:10px}.schedule-day-head.today{background:var(--teal-soft);color:var(--teal-dark)}.schedule-hour-row{display:contents}.schedule-hour-row>time{color:#8d989f;text-align:right;border-bottom:1px solid #edf0f2;height:80px;padding:8px 7px 0 0;font-size:10px}.schedule-time-cell{border-bottom:1px solid #edf0f2;border-left:1px solid #edf0f2;height:80px;position:relative}.schedule-time-cell.is-drop-target{background:#f1f8f4;box-shadow:inset 0 0 0 2px #83bba5}.schedule-week-event-wrap{z-index:2;width:calc(100% - 6px);min-height:0;position:absolute;left:3px}.schedule-event{width:100%;min-width:0;min-height:58px;color:var(--ink);text-align:left;cursor:pointer;box-sizing:border-box;background:#f3faf6;border:1px solid #dce9e4;border-left:3px solid #53927c;border-radius:8px;grid-template:"copy actions"minmax(0,1fr)"footer footer"/minmax(0,1fr) auto;align-items:start;gap:3px 4px;padding:8px 8px 6px 10px;display:grid;position:relative}.schedule-event:hover,.schedule-event:focus-visible{outline-offset:1px;outline:2px solid #a8d5c8}.schedule-event[draggable=true]{cursor:grab}.schedule-event[draggable=true]:active{cursor:grabbing}.schedule-event-scheduled{background:#fff8e6;border-color:#f0e0af #f0e0af #f0e0af #c49a35}.schedule-event-not_held{color:#71363b;background:#fff0f0;border-color:#f0d0d2 #f0d0d2 #f0d0d2 #c84a52}.schedule-event-completed{background:#f0f8f3;border-color:#d4e9dd #d4e9dd #d4e9dd #4d9a71}.schedule-event-cancelled{color:#493a5b;background:#f6f1fa;border-color:#e2d6ee #e2d6ee #e2d6ee #8061a1}.schedule-event-needs-attention{box-shadow:none;border-color:#f0e0af #f0e0af #f0e0af #c49a35}.schedule-event-copy{grid-area:copy;align-content:start;gap:3px;min-width:0;display:grid}.schedule-event-copy strong,.schedule-event-copy span,.schedule-event-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-event-student{align-items:center;gap:9px;min-width:0;display:flex}.schedule-event-student strong{min-width:0;font-size:10px;font-weight:700}.schedule-event-copy span{color:#5e6b74;font-size:10px}.schedule-event-copy small{color:#7d8991;font-size:9px}.schedule-event-copy .schedule-event-note{color:#4f776a}.schedule-event-footer{grid-area:footer;justify-content:space-between;align-items:center;gap:4px;width:100%;min-width:0;display:flex;position:static}.schedule-event-actions{grid-area:actions;align-items:flex-start;gap:2px;display:flex}.schedule-event-menu-trigger{color:#586772;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:0 0 17px;place-items:center;width:17px;height:17px;padding:0;font-size:16px;line-height:1;display:grid}.schedule-event-menu-trigger:hover,.schedule-event-menu-trigger:focus-visible{background:#fffc;outline:1px solid #cdd8d9}.schedule-status-bullet{background:#4d9a71;border-radius:50%;flex:0 0 6px;width:6px;height:6px;display:inline-block}.schedule-status-bullet.is-scheduled{background:#d4a62f}.schedule-status-bullet.is-not-held{background:#c84a52}.schedule-status-bullet.is-cancelled{background:#8061a1}.schedule-status-bullet.is-attention{background:#c84242;animation:1.1s ease-in-out infinite schedule-attention-pulse}@keyframes schedule-attention-pulse{50%{opacity:.25;transform:scale(.78)}}.schedule-payment-status{text-overflow:ellipsis;white-space:nowrap;border-radius:999px;max-width:58%;padding:2px 5px;font-size:8px;font-weight:700;line-height:1.15;display:block;overflow:hidden}.schedule-payment-status.is-paid{color:#367552;background:#dff0e5}.schedule-payment-status.is-unpaid{color:#a34040;background:#f6e5e3}.schedule-payment-status.is-not-applicable{color:#654b80;background:#eee7f5}.schedule-event.dense .schedule-event-footer{gap:2px}.schedule-event.dense .schedule-payment-status{max-width:58%;padding:2px 3px;font-size:7px}.schedule-event.dense .schedule-event-note{display:none}.schedule-event.dense{border-radius:5px;height:100%;min-height:0;padding:5px 4px 4px 6px;overflow:hidden}.schedule-event.dense .schedule-event-copy{gap:2px}.schedule-event.dense .schedule-event-actions{gap:1px}.schedule-event.dense .schedule-event-menu-trigger{flex-basis:14px;width:14px;height:15px;font-size:14px}.schedule-meeting-launch{color:#53616c;cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;place-items:center;width:18px;height:18px;padding:3px;display:grid}.schedule-meeting-launch:hover{background:var(--teal-soft)}.schedule-meeting-launch svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.schedule-legend{border:1px solid var(--line);background:#fff;border-radius:11px;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:12px 15px;display:flex}.schedule-legend-group{flex-wrap:wrap;align-items:center;gap:10px 14px;min-width:0;display:flex}.schedule-legend-group>strong{color:var(--ink);white-space:nowrap;font-size:10px}.schedule-legend-item{color:#5e6b74;white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:inline-flex}.schedule-legend .schedule-status-bullet{flex-basis:9px;width:9px;height:9px}.schedule-legend .schedule-payment-status{max-width:none;padding:4px 8px;font-size:9px}.schedule-event-menu{z-index:20;border:1px solid var(--line);background:#fff;border-radius:9px;width:164px;padding:5px;display:grid;position:absolute;top:calc(100% + 5px);left:4px}.schedule-event-menu-floating{z-index:120;max-height:calc(100vh - 16px);position:fixed;top:0;left:0;overflow-y:auto}.schedule-event-menu button{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 9px;font-size:11px}.schedule-event-menu button:hover{background:#f3f6f4}.schedule-event-menu button.danger{color:#a45255}.schedule-day-list{padding:7px 17px}.schedule-day-row,.schedule-list-row{grid-template-columns:65px minmax(0,1fr);align-items:start;gap:10px;padding:7px 0;display:grid}.schedule-day-row>time,.schedule-list-row>time{color:#71808b;font-variant-numeric:tabular-nums;padding-top:11px;font-size:11px}.schedule-day-row .schedule-event{min-height:72px;padding:11px 12px}.schedule-empty{color:#65727c;text-align:center;justify-items:center;gap:8px;padding:56px 16px;display:grid}.schedule-empty-icon{background:var(--teal-soft);width:42px;height:42px;color:var(--teal);border-radius:12px;place-items:center;font-size:20px;display:grid}.schedule-empty strong{font-size:12px}.schedule-empty small{color:#8b969d;font-size:10px}.schedule-list-view{padding:4px 18px 15px}.schedule-list-day{margin-top:12px}.schedule-list-day h3{color:#56646e;text-transform:capitalize;margin:0 0 6px;font-size:11px}.schedule-list-row{grid-template-columns:54px minmax(0,1fr);padding:5px 0}.schedule-list-row .schedule-event{min-height:54px;padding:8px 10px}.schedule-notice{color:#367360;background:#eef8f3;border:1px solid #cfe5dc;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 13px;font-size:12px;display:flex}.schedule-notice button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:17px}.schedule-drag-error{color:#a34040;background:#fff2f1;border:1px solid #efd1ce;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;padding:10px 13px;font-size:12px;display:flex}.schedule-drag-error button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:17px}.session-timeout-backdrop{z-index:300;background:#141f2c6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.session-timeout-dialog{border:1px solid var(--line);background:var(--surface,#fff);width:min(100%,440px);color:var(--ink);border-radius:16px;padding:26px;box-shadow:0 16px 60px #13233740}.session-timeout-dialog h2{margin:0 0 10px;font-size:21px}.session-timeout-dialog p{color:var(--muted);margin:0;line-height:1.6}.session-timeout-dialog p strong{color:var(--ink);font-variant-numeric:tabular-nums}.session-timeout-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}@media (max-width:520px){.session-timeout-dialog{padding:20px}.session-timeout-actions{flex-direction:column-reverse}.session-timeout-actions button{justify-content:center;width:100%}}.schedule-footnote{color:#97a1a6;align-items:center;gap:7px;margin:14px 1px 0;font-size:9px;display:flex}.schedule-footnote-spacer{flex:1}.schedule-modal-backdrop{z-index:100;background:#15202761;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.schedule-modal{border:1px solid var(--line);background:#fff;border-radius:14px;width:min(100%,560px);max-height:calc(100vh - 40px);padding:20px;overflow-y:auto}.schedule-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:15px;display:flex}.schedule-modal>header h2{font-size:18px}.schedule-modal>header p{color:var(--muted);margin:5px 0 0;font-size:11px}.schedule-modal-close{border:1px solid var(--line);color:#67757e;background:#fff;border-radius:8px;width:30px;height:30px;font-size:20px;line-height:1}.schedule-form{gap:13px;padding-top:15px;display:grid}.schedule-form>label,.schedule-form fieldset label{color:#4e5b64;gap:6px;font-size:11px;font-weight:600;display:grid}.schedule-form input,.schedule-form select,.schedule-form textarea{width:100%;min-height:39px;color:var(--ink);font:inherit;background:#fff;border:1px solid #dce3e6;border-radius:8px;padding:9px 10px;font-size:12px}.schedule-form textarea{resize:vertical;min-height:76px}.schedule-form input:focus,.schedule-form select:focus,.schedule-form textarea:focus{border-color:#78b7a6;outline:2px solid #d9eee7}.schedule-form>label small{color:#87939a;font-size:10px;font-weight:400}.schedule-form fieldset{border:1px solid var(--line);border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:11px;display:grid}.schedule-form legend{color:#4e5b64;padding:0 4px;font-size:11px;font-weight:600}.schedule-time-select{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:5px;display:grid}.schedule-time-select select{min-width:0}.schedule-modal-actions{justify-content:flex-end;gap:9px;margin-top:5px;display:flex}.schedule-modal-actions .primary-button,.schedule-modal-actions .secondary-button,.schedule-danger-button{border-radius:8px;min-height:38px;padding:0 13px;font-size:11px}.schedule-modal-actions .secondary-button{border:1px solid var(--line);color:#5d6971;background:#fff}.schedule-danger-button{color:#fff;cursor:pointer;background:#a84e50;border:0;font-weight:700}.schedule-danger-button:hover{background:#8e3f42}.schedule-confirm-modal{width:min(100%,450px)}.schedule-confirm-modal .schedule-modal-actions{margin-top:18px}@media (max-width:760px){.schedule-toolbar{flex-direction:column;align-items:flex-start}.schedule-date-controls{max-width:100%}.schedule-date-controls strong{min-width:0}.schedule-heading{align-items:flex-start}.schedule-footnote span:last-child{display:none}.schedule-legend{flex-direction:column;align-items:flex-start;gap:10px}}@media (max-width:520px){.schedule-heading{flex-direction:column}.schedule-heading .primary-button{justify-content:center;width:100%;min-height:40px;font-size:12px}.schedule-date-controls{justify-content:space-between;width:100%}.schedule-date-controls strong{flex:1;font-size:11px}.schedule-form fieldset{grid-template-columns:1fr}.schedule-modal{padding:16px}.schedule-day-row,.schedule-list-row{grid-template-columns:48px minmax(0,1fr);gap:7px}.schedule-event.dense .schedule-meeting-launch{width:19px;height:19px;padding:3px}}.schedule-app-shell{height:100dvh;min-height:0;overflow:hidden}.schedule-app-shell .teacher-sidebar{height:100%;min-height:0;overflow-y:auto}.schedule-app-shell .teacher-workspace{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.schedule-app-shell .teacher-topbar{flex:none}.schedule-app-shell .teacher-page-content,.schedule-app-shell .schedule-page{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.schedule-app-shell .schedule-page>.schedule-heading,.schedule-app-shell .schedule-toolbar,.schedule-app-shell .schedule-legend{flex:none}.schedule-app-shell .schedule-calendar-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.schedule-app-shell .schedule-week-scroll,.schedule-app-shell .schedule-day-list,.schedule-app-shell .schedule-list-view{overscroll-behavior:contain;flex:1;min-height:0;overflow:auto}.schedule-app-shell .schedule-week-corner,.schedule-app-shell .schedule-day-head{z-index:4;background:#fff;position:sticky;top:0}.schedule-app-shell .schedule-week-corner{z-index:6;left:0}.schedule-app-shell .schedule-hour-row>time{z-index:3;background:#fff;position:sticky;left:0}@media (max-width:620px){.schedule-app-shell{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.schedule-app-shell .teacher-sidebar{height:auto;min-height:0;overflow:visible}.schedule-app-shell .teacher-workspace{height:auto;min-height:0}}.profile-working-hours{border:1px solid var(--line);border-radius:10px;min-width:0;margin:2px 0 0;padding:14px}.profile-working-hours legend{color:#495660;padding:0 5px;font-size:12px;font-weight:600}.profile-working-hours p{color:var(--muted);margin:0 0 12px;font-size:11px;line-height:1.45}.profile-working-hours:disabled{opacity:.65}.finance-page{max-width:1180px}.finance-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin:0 0 19px;display:flex}.finance-heading h1{margin:6px 0 0}.finance-heading-actions{align-items:center;gap:9px;display:flex}.finance-action-disclosure{position:relative}.finance-action-disclosure>summary{cursor:pointer;white-space:nowrap;border-radius:9px;align-items:center;min-height:40px;padding:0 13px;list-style:none;display:flex}.finance-action-disclosure>summary::-webkit-details-marker{display:none}.finance-mini-form{z-index:35;border:1px solid var(--line);background:#fff;border-radius:12px;gap:11px;width:min(310px,100vw - 32px);max-height:min(70vh,560px);padding:16px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:auto;box-shadow:0 14px 36px #192b3724}.finance-mini-form label,.finance-price-form label{color:#56636d;gap:5px;font-size:11px;font-weight:600;display:grid}.finance-mini-form input,.finance-mini-form select,.finance-price-form input{width:100%;min-height:37px;color:var(--ink);font:inherit;background:#fff;border:1px solid #dce3e6;border-radius:7px;padding:8px 9px;font-size:12px}.finance-mini-form button{border-radius:8px;min-height:38px}.finance-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:17px;display:grid}.finance-stat-grid .teacher-stat-card{min-width:0;min-height:135px}.finance-stat-grid .teacher-stat-money{overflow-wrap:anywhere;font-size:clamp(18px,2vw,26px)}.finance-panel{margin-bottom:16px}.finance-table{min-width:690px}.finance-table th,.finance-table td{padding:12px 14px}.finance-client-link,.finance-child-link{color:inherit;justify-items:start;gap:3px;text-decoration:none;display:grid}.finance-client-link:hover,.finance-child-link:hover{color:var(--teal-dark)}.finance-client-link small{color:var(--muted);font-size:10px}.finance-child-link{margin:3px 0;font-size:11px}.finance-balance-negative{font-weight:700;color:#b84848!important}.finance-balance-positive{font-weight:700;color:#348263!important}.finance-client-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0}.finance-student-prices{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.finance-price-card{min-width:0;padding:17px}.finance-price-card .teacher-panel-heading{align-items:flex-start}.finance-price-card .teacher-panel-heading h2{font-size:14px}.finance-price-layout{grid-template-columns:minmax(0,1fr) minmax(125px,.75fr);align-items:start;gap:14px;display:grid}.finance-price-form{grid-template-columns:1fr 1fr;align-items:end;gap:9px;display:grid}.finance-price-form button{border-radius:8px;grid-column:1/-1;min-height:36px}.finance-price-history{color:#627078;background:#f6f8f7;border-radius:9px;gap:7px;padding:10px;font-size:10px;display:grid}.finance-price-history strong{color:var(--ink);font-size:11px}.finance-price-history small{color:var(--muted);font-size:10px}@media (max-width:980px){.finance-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-student-prices{grid-template-columns:1fr}}@media (max-width:680px){.finance-heading{flex-direction:column;align-items:stretch}.finance-heading-actions{flex-wrap:wrap}.finance-action-disclosure>summary{justify-content:center}.finance-stat-grid{gap:9px}.finance-stat-grid .teacher-stat-card{min-height:115px;padding:14px}.finance-client-stats,.finance-price-layout{grid-template-columns:1fr}.finance-price-form{grid-template-columns:1fr 1fr}}@media (max-width:420px){.finance-stat-grid{grid-template-columns:1fr 1fr}.finance-heading-actions{flex-direction:column;align-items:stretch}.finance-mini-form{max-height:75vh;position:fixed;top:auto;bottom:12px;right:12px}}.teacher-main-nav .nav-item{gap:14px;min-height:48px;padding:10px 12px;font-size:15px}.teacher-main-nav .nav-item>span:not(.nav-mark):not(.nav-attention-badge){font-size:15px}.nav-mark{color:currentColor;flex:0 0 24px;place-items:center;width:24px;height:24px;display:inline-grid}.nav-mark svg{width:22px;height:22px;display:block}.schedule-week-grid{grid-template-columns:62px repeat(7,minmax(132px,1fr));min-width:986px}.schedule-week-corner,.schedule-day-head{min-height:58px}.schedule-day-head strong{font-size:13px}.schedule-day-head span{font-size:11px}.schedule-hour-row>time,.schedule-time-cell{height:90px}.schedule-hour-row>time{font-size:11px}.schedule-event-student{gap:11px}.schedule-event-student .schedule-status-bullet{flex-basis:9px;width:9px;height:9px}.schedule-event-student strong{font-size:12px}.schedule-event-copy span{font-size:11px}.schedule-event-copy small{font-size:10px}.schedule-payment-status{font-size:9px}.schedule-event.dense{padding:6px 6px 5px 8px}.schedule-event.dense .schedule-event-student{gap:8px}.schedule-event.dense .schedule-event-student strong,.schedule-event.dense .schedule-event-copy span{font-size:11px}.schedule-event.dense .schedule-event-copy small{font-size:10px}.schedule-event.dense .schedule-payment-status{padding:2px 4px;font-size:8px}@media (max-width:820px){.teacher-main-nav .nav-item{gap:9px}.teacher-main-nav .nav-item>span:not(.nav-mark):not(.nav-attention-badge){font-size:13px}}@media (max-width:620px){.teacher-main-nav .nav-item{gap:7px;min-height:38px;padding:7px 9px;font-size:11px}.teacher-main-nav .nav-item>span:not(.nav-mark):not(.nav-attention-badge){font-size:11px}.teacher-main-nav .nav-mark{flex-basis:18px;width:18px;height:18px}.teacher-main-nav .nav-mark svg{width:18px;height:18px}}.schedule-event.is-dragging{opacity:0}.schedule-time-cell.is-drop-target{box-shadow:none;background:0 0}.schedule-drop-preview{z-index:30;box-sizing:border-box;color:#182c4c;pointer-events:none;background:#fff8e8;border:2px solid #c83c3c;border-radius:8px;flex-direction:column;gap:4px;width:calc(100% - 6px);padding:7px 8px;display:flex;position:absolute;left:3px;overflow:hidden;box-shadow:0 3px 12px #13233738}.schedule-drop-preview strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2;overflow:hidden}.schedule-drop-preview-time{color:#fff;background:#c83c3c;border-radius:5px;align-self:flex-start;padding:2px 6px;font-size:12px;font-weight:800;line-height:1.2}
