:root{--brand:#75c9c2;--brand-deep:#175f5a;--brand-ink:#123f3b;--brand-soft:#e7f8f6;--brand-line:#b6e5df;--ink:#17231e;--muted:#68766e;--canvas:#f3f6f4;--surface:#fff;--line:#dce6e3;--deep:var(--brand-deep);--green:#2f8b79;--green-soft:#e4f7f4;--blue:#316fb6;--blue-soft:#e8f1fb;--amber:#a66a11;--amber-soft:#fff2d9;--red:#b64d49;--red-soft:#fae8e7;--purple:#7561a5;--purple-soft:#eee9f8;--shadow:0 2px 8px #182d210e}*{box-sizing:border-box}html{background:var(--canvas)}body{background:var(--canvas);color:var(--ink);min-width:1120px;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,Arial,sans-serif}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #75c9c261}.app-shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#e9f6f4;background:#15433f;flex-direction:column;height:100vh;min-height:100vh;padding:20px 12px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:3px 8px 21px;display:flex}.brand-mark{background:var(--brand);color:var(--brand-ink);border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;font-family:Georgia,serif;font-size:19px;font-weight:700;display:flex}.brand strong{letter-spacing:0;font-size:15px;display:block}.brand small{color:#abd8d4;margin-top:2px;font-family:DM Mono,monospace;font-size:9px;display:block}.workspace-switch{background:#ffffff12;border:1px solid #ffffff14;border-radius:5px;justify-content:space-between;align-items:center;gap:7px;margin:0 4px 12px;padding:9px 10px;font-size:11px;display:flex}.workspace-dot{background:var(--brand);border-radius:50%;width:7px;height:7px}.new-button{background:var(--brand);color:var(--brand-ink);cursor:pointer;border:0;border-radius:5px;justify-content:center;align-items:center;gap:7px;margin:0 4px 17px;padding:10px;font-size:12px;font-weight:700;display:flex}.new-button:hover{background:#9bded9}nav{padding:0 2px;overflow:auto}nav p{color:#80c7c0;letter-spacing:.09em;text-transform:uppercase;margin:16px 8px 7px;font-size:9px;font-weight:700}.nav-item{color:#c1ddda;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:10px;width:100%;margin:1px 0;padding:9px;font-size:12px;display:flex}.nav-item:hover{color:#fff;background:#75c9c224}.nav-item.active{background:var(--brand-soft);color:var(--brand-ink);font-weight:700}.nav-item b{background:#ccebe7;border-radius:999px;margin-left:auto;padding:2px 5px;font-family:DM Mono,monospace;font-size:9px}.sidebar-foot{border-top:1px solid #ffffff1f;gap:7px;margin:15px 4px 0;padding:14px 5px 0;display:grid}.sidebar-foot>span{color:#abd8d4;font-size:9px}.main-stage{min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:5;background:#ffffffe0;justify-content:space-between;align-items:center;height:58px;padding:0 28px;display:flex;position:sticky;top:0}.breadcrumb{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.breadcrumb strong{color:var(--ink)}.top-actions{align-items:center;gap:8px;display:flex}.top-search{color:#849088;cursor:pointer;background:#f5f7f5;border:1px solid #e4e9e5;border-radius:5px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;display:flex}.operator{border-left:1px solid var(--line);cursor:pointer;align-items:center;gap:7px;margin-left:4px;padding-left:11px;font-size:11px;display:flex;position:relative}.operator .avatar{width:30px;height:30px}.operator-copy{gap:1px;display:grid}.operator-copy small{color:var(--muted);font-size:8px;line-height:1}.operator select{appearance:none;color:var(--ink);cursor:pointer;background:0 0;border:0;outline:0;min-width:64px;padding:0 18px 0 0;font-size:11px;font-weight:700}.operator>svg{color:var(--muted);pointer-events:none;position:absolute;right:0}.content{max-width:1540px;margin:0 auto;padding:27px 30px 42px}.view-heading{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.eyebrow{color:#6b8779;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-family:DM Mono,monospace;font-size:9px;font-weight:500}.view-heading h1{letter-spacing:0;margin:0;font-size:25px;line-height:1.2}.view-copy{color:var(--muted);max-width:680px;margin:7px 0 0;font-size:12px;line-height:1.6}.heading-actions{align-items:center;gap:8px;padding-top:5px;display:flex}.primary-button,.secondary-button,.compact-button,.text-button{cursor:pointer;white-space:nowrap;border-radius:5px;justify-content:center;align-items:center;gap:6px;font-weight:700;display:inline-flex}.primary-button{background:var(--brand-deep);border:1px solid var(--brand-deep);color:#fff;padding:9px 12px;font-size:12px}.primary-button:hover{background:#0f4f4b}.primary-button:disabled{cursor:not-allowed;opacity:.55}.secondary-button{color:#33453b;background:#fff;border:1px solid #cad6cf;padding:9px 12px;font-size:12px}.secondary-button:hover{background:#f8faf8}.compact-button{background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-ink);margin-top:6px;padding:6px 8px;font-size:10px}.text-button{color:#1a746c;background:0 0;border:0;padding:0;font-size:11px}.full{width:100%}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:5px;justify-content:center;align-items:center;width:31px;height:31px;display:inline-flex}.icon-button:hover{background:#f4f7f5}.status-pill{color:#66736c;white-space:nowrap;background:#eef2ef;border-radius:999px;align-items:center;padding:5px 7px;font-size:9px;font-weight:700;line-height:1;display:inline-flex}.status-pill.blue{background:var(--blue-soft);color:#2967ad}.status-pill.green{background:var(--green-soft);color:#256c51}.status-pill.amber{background:var(--amber-soft);color:#97600e}.status-pill.red{background:var(--red-soft);color:#ab4541}.status-pill.purple{background:var(--purple-soft);color:#68529a}.avatar{background:var(--blue-soft);color:var(--blue);border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-family:DM Mono,monospace;font-size:10px;font-weight:500;display:inline-flex}.avatar.green{background:var(--green-soft);color:var(--green)}.avatar.amber{background:var(--amber-soft);color:var(--amber)}.avatar.red{background:var(--red-soft);color:var(--red)}.avatar.purple{background:var(--purple-soft);color:var(--purple)}.avatar.neutral{color:#6c756f;background:#edf0ee}.command-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:16px;display:grid;overflow:hidden}.command-strip button{cursor:pointer;text-align:left;background:#e8eee9;border:0;grid-template-columns:25px 1fr 16px;align-items:center;gap:9px;padding:12px 13px;display:grid}.command-strip button:hover{background:#dde9e0}.command-strip svg{color:var(--green)}.command-strip span{gap:2px;display:grid}.command-strip strong{font-size:11px}.command-strip small{color:var(--muted);font-size:9px;line-height:1.3}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.metric-card{border:1px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:6px;grid-template-columns:37px 1fr 17px;align-items:center;gap:10px;padding:13px;transition:transform .14s,border-color .14s;display:grid}.metric-card:hover{border-color:#b8cbbf;transform:translateY(-1px)}.metric-card .metric-icon{border-radius:6px;justify-content:center;align-items:center;width:37px;height:37px;display:flex}.metric-card.blue .metric-icon{background:var(--blue-soft);color:var(--blue)}.metric-card.red .metric-icon{background:var(--red-soft);color:var(--red)}.metric-card.amber .metric-icon{background:var(--amber-soft);color:var(--amber)}.metric-card.green .metric-icon{background:var(--green-soft);color:var(--green)}.metric-card>span:nth-child(2){gap:1px;display:grid}.metric-card strong{font-size:19px;line-height:1.1}.metric-card b{font-size:10px}.metric-card small{color:var(--muted);font-size:9px}.metric-card>svg{color:#b1bcb5}.dashboard-grid{grid-template-columns:1.2fr .92fr .76fr;gap:18px;display:grid}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:6px}.panel-header{justify-content:space-between;align-items:center;padding:15px 16px;display:flex}.panel-header h2{margin:0;font-size:15px}.segmented{background:#eef2ef;border-radius:5px;padding:2px;display:flex}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:6px 8px;font-size:10px}.segmented button.active{color:var(--ink);background:#fff;font-weight:700;box-shadow:0 1px 2px #17231e1a}.task-list{border-top:1px solid #edf1ee}.task-row{border-bottom:1px solid #edf1ee;grid-template-columns:7px minmax(0,1fr) auto 28px;align-items:center;gap:9px;padding:11px 13px;display:grid}.task-dot{border-radius:50%;width:7px;height:7px}.task-dot.red{background:var(--red)}.task-dot.amber{background:var(--amber)}.task-dot.blue{background:var(--blue)}.task-dot.green{background:var(--green)}.task-dot.purple{background:var(--purple)}.task-copy{cursor:pointer;text-align:left;background:0 0;border:0;gap:3px;min-width:0;padding:0;display:grid}.task-copy strong{font-size:11px;line-height:1.35}.task-copy span,.task-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.task-copy small{color:#91a097}.due-label{text-align:right;font-family:DM Mono,monospace;font-size:9px}.due-label.overdue{color:var(--red)}.due-label.today{color:var(--amber)}.due-label.upcoming{color:var(--blue)}.due-label.waiting{color:var(--purple)}.complete-button{color:#7b8b81;cursor:pointer;background:#fff;border:1px solid #d8e1db;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;display:flex}.complete-button:hover{background:var(--green-soft);color:var(--green);border-color:#a9cdb8}.task-panel>.text-button{margin:13px 15px}.empty-inline{color:var(--muted);align-items:center;gap:7px;padding:30px 16px;font-size:11px;display:flex}.schedule-list{border-top:1px solid #edf1ee}.schedule-row{cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1ee;grid-template-columns:43px 3px minmax(0,1fr) 16px;align-items:center;gap:9px;width:100%;padding:11px 14px;display:grid}.schedule-row:hover{background:#fafcfb}.schedule-time{gap:2px;display:grid}.schedule-time strong{font-family:DM Mono,monospace;font-size:11px}.schedule-time small,.schedule-copy small{color:var(--muted);font-size:9px}.schedule-line{border-radius:3px;height:33px}.schedule-line.blue{background:var(--blue)}.schedule-line.green{background:var(--green)}.schedule-line.amber{background:var(--amber)}.schedule-copy{gap:3px;min-width:0;display:grid}.schedule-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.schedule-row svg{color:#a2afa7}.panel-foot{color:#5f7067;background:#f5f8f6;align-items:center;gap:6px;padding:11px 14px;font-size:9px;display:flex}.risk-panel{overflow:hidden}.risk-row{cursor:pointer;text-align:left;background:#fff;border:0;border-top:1px solid #edf1ee;grid-template-columns:29px 1fr 15px;align-items:center;gap:8px;width:100%;padding:12px 13px;display:grid}.risk-row:hover{background:#fafcfb}.risk-icon{border-radius:5px;justify-content:center;align-items:center;width:29px;height:29px;display:flex}.risk-icon.red{background:var(--red-soft);color:var(--red)}.risk-icon.amber{background:var(--amber-soft);color:var(--amber)}.risk-icon.blue{background:var(--blue-soft);color:var(--blue)}.risk-icon.purple{background:var(--purple-soft);color:var(--purple)}.risk-icon.green{background:var(--green-soft);color:var(--green)}.risk-row span:nth-child(2),.issue-row span:nth-child(2){gap:3px;display:grid}.risk-row strong,.issue-row strong{font-size:10px;line-height:1.35}.risk-row small,.issue-row small{color:var(--muted);font-size:9px}.student-layout{grid-template-columns:minmax(0,1.5fr) 365px;gap:18px;display:grid}.table-panel{overflow:hidden}.table-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.table-toolbar>span{color:var(--muted);font-size:10px}.search-field{background:#f4f7f5;border:1px solid #e5ebe7;border-radius:5px;align-items:center;gap:7px;width:300px;padding:7px 9px;display:flex}.search-field svg{color:#819087}.search-field input{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:11px}.student-table{min-width:760px}.table-head,.table-row{text-align:left;grid-template-columns:1.3fr .92fr .45fr 1fr;align-items:center;gap:10px;width:100%;display:grid}.table-head{color:#77847d;background:#f5f8f6;padding:10px 15px;font-size:9px;font-weight:700}.table-row{cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf1ee;padding:11px 15px;font-size:11px}.table-row:hover{background:#fbfdfc}.table-row.selected{box-shadow:inset 3px 0 0 var(--green);background:#eff7f2}.table-person{align-items:center;gap:8px;min-width:0;display:flex}.table-person>span{gap:3px;min-width:0;display:grid}.table-person strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.table-person small,.table-row small{color:var(--muted);font-size:9px}.student-detail{align-self:start;padding:16px}.detail-top{grid-template-columns:40px 1fr 29px;align-items:flex-start;gap:9px;display:grid}.detail-top .avatar{width:40px;height:40px;font-size:12px}.detail-top p{color:var(--muted);margin:0 0 3px;font-family:DM Mono,monospace;font-size:9px}.detail-top h2{margin:0 0 6px;font-size:17px}.detail-section{border-top:1px solid #e6ece8;gap:5px;margin-top:14px;padding-top:13px;display:grid}.detail-section>span,.detail-section div>span,.status-select{color:var(--muted);font-size:9px}.detail-section strong{font-size:11px}.detail-section p{color:#5b6d63;margin:0;font-size:10px}.detail-section.split{grid-template-columns:1fr 1fr}.detail-section.split div{gap:4px;display:grid}.inline-link{color:#286c9e;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:2px;padding:0;font-size:10px;display:inline-flex}.status-select{border-top:1px solid #e6ece8;gap:5px;margin-top:14px;padding-top:13px;display:grid}.status-select select{color:var(--ink);background:#f5f8f6;border:1px solid #dce4de;border-radius:4px;padding:7px;font-size:10px}.timeline{border-top:1px solid #e6ece8;margin-top:14px;padding-top:13px}.timeline-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.timeline-title strong{font-size:11px}.timeline-title small{color:var(--muted);font-size:9px}.timeline-item{grid-template-columns:7px 1fr;gap:7px;margin:0 0 9px;display:grid}.timeline-item i{border-radius:50%;width:7px;height:7px;margin-top:4px}.timeline-item i.red{background:var(--red)}.timeline-item i.amber{background:var(--amber)}.timeline-item i.blue{background:var(--blue)}.timeline-item i.green{background:var(--green)}.timeline-item i.purple{background:var(--purple)}.timeline-item span{gap:2px;display:grid}.timeline-item strong{font-size:10px}.timeline-item small{color:var(--muted);font-size:9px}.matching-banner{background:#e7f1e9;border:1px solid #c9e0d0;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:18px;padding:15px 17px;display:flex}.matching-banner h2{margin:3px 0 5px;font-size:17px}.matching-banner p{color:#50695c;align-items:center;gap:5px;margin:0;font-size:11px;display:flex}.teacher-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.teacher-card{border:1px solid var(--line);background:#fff;border-radius:6px;padding:15px}.teacher-card.selected{border-color:#8fc5a5;box-shadow:0 0 0 2px #2672581a}.teacher-head{grid-template-columns:34px 1fr;align-items:center;gap:8px;display:grid}.teacher-head>.status-pill{grid-column:1/-1;justify-self:start}.teacher-head h2{margin:0;font-size:14px}.teacher-head p{color:var(--muted);margin:3px 0 0;font-size:9px}.teacher-head p strong{color:var(--green)}.teacher-tags{flex-wrap:wrap;gap:4px;margin:13px 0;display:flex}.teacher-tags span{color:#53655b;background:#f1f5f2;border-radius:4px;padding:4px 5px;font-size:9px}.teacher-card dl{border-top:1px solid #e7ece9;gap:8px;margin:0;padding-top:11px;display:grid}.teacher-card dl div{gap:2px;display:grid}.teacher-card dt{color:var(--muted);font-size:9px}.teacher-card dd{margin:0;font-size:10px;line-height:1.45}.choice-button,.selected-choice{cursor:pointer;background:#fff;border:1px solid #cbd7d0;border-radius:4px;width:100%;margin-top:14px;padding:8px;font-size:10px;font-weight:700}.selected-choice{background:var(--green-soft);color:#23664d;border-color:#9dc8ad}.schedule-workspace{grid-template-columns:minmax(0,1fr) 320px;gap:18px;display:grid}.calendar-board{overflow:hidden}.calendar-toolbar{border-bottom:1px solid #e7ece9;justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.calendar-toolbar strong{font-size:11px}.week-grid{grid-template-columns:58px repeat(7,minmax(94px,1fr));min-height:455px;display:grid;overflow-x:auto}.week-side,.day-column{border-right:1px solid #edf1ee;grid-template-rows:47px repeat(4,1fr);display:grid;position:relative}.week-side{background:#fafcfb}.week-side span,.day-column>span{color:#748178;text-align:center;border-bottom:1px solid #edf1ee;padding:14px 8px;font-size:9px}.week-side strong{color:#7b8981;text-align:right;border-bottom:1px solid #edf1ee;padding:14px 8px;font-family:DM Mono,monospace;font-size:9px;font-weight:400}.day-column>span{justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:700;display:flex}.day-column>span small{color:var(--muted);font-size:8px;font-weight:400}.day-column i{border-bottom:1px solid #edf1ee}.lesson-block{cursor:pointer;text-align:left;border-radius:4px;gap:2px;padding:7px;font-size:9px;display:grid;position:absolute;left:4px;right:4px}.lesson-block strong{font-size:9px}.lesson-block small{text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.lesson-block.blue{color:#245c9c;background:#e9f1fa;border:1px solid #bed5ed}.lesson-block.green{color:#246447;background:#e7f4eb;border:1px solid #b6ddc5}.lesson-block.amber{color:#85580d;background:#fff2d9;border:1px solid #ead293}.booking-panel{align-self:start;padding:0 15px 15px}.booking-line{border-top:1px solid #e8edeb;gap:3px;padding:11px 0;display:grid}.booking-line span{color:var(--muted);font-size:9px}.booking-line strong{font-size:11px}.booking-line small{color:#6e7c74;font-size:9px}.check-list{background:#f2f7f3;gap:7px;margin:3px 0 13px;padding:10px;display:grid}.check-list span{color:#446c57;align-items:center;gap:6px;font-size:9px;display:flex}.check-list svg{color:var(--green)}.form-footnote{color:var(--muted);text-align:center;margin:10px 0 0;font-size:9px;line-height:1.5}.workflow-header{border:1px solid var(--line);background:#fff;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:15px;padding:13px 15px;display:flex}.workflow-student{align-items:center;gap:9px;display:flex}.workflow-student h2{margin:0;font-size:14px}.workflow-student p{color:var(--muted);margin:3px 0 0;font-size:10px}.kanban-board{grid-template-columns:repeat(6,minmax(175px,1fr));gap:11px;padding-bottom:4px;display:grid;overflow:auto}.kanban-board>article{background:#eaf0ec;border-radius:6px;min-height:360px;padding:10px}.kanban-board header{align-items:center;gap:6px;margin-bottom:9px;font-size:10px;font-weight:700;display:flex}.kanban-board header strong{color:#76847b;margin-left:auto}.kanban-dot{border-radius:50%;width:7px;height:7px}.kanban-dot.blue{background:var(--blue)}.kanban-dot.green{background:var(--green)}.kanban-dot.amber{background:var(--amber)}.kanban-dot.purple{background:var(--purple)}.kanban-card{background:#fff;border:1px solid #dfe7e1;border-radius:5px;margin-bottom:8px;padding:10px}.kanban-card p{color:#6d7b73;margin:0 0 6px;font-size:9px}.kanban-card h3{margin:0 0 8px;font-size:10px;line-height:1.45}.kanban-card>span{color:var(--muted);font-size:9px;display:block}.card-tags{gap:4px;margin-top:8px;display:flex}.card-action{color:#24654d;cursor:pointer;background:#eff6f1;border:0;border-radius:4px;align-items:center;gap:4px;margin-top:10px;padding:6px;font-size:9px;font-weight:700;display:flex}.two-column,.files-layout,.settings-grid{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px;display:grid}.record-list{border-top:1px solid #e8edeb}.record-row{border-bottom:1px solid #e8edeb;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:13px 15px;display:grid}.record-icon{border-radius:5px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.record-icon.green{background:var(--green-soft);color:var(--green)}.record-icon.amber{background:var(--amber-soft);color:var(--amber)}.record-row>div:nth-child(2){gap:3px;display:grid}.record-row strong{font-size:11px}.record-row span{color:var(--muted);font-size:10px}.record-row small{color:#89968f;font-size:9px}.side-note{align-self:start;padding:16px}.side-note h2{margin:0;font-size:16px}.side-note ul{color:#53645a;gap:11px;margin:15px 0;padding-left:18px;font-size:11px;line-height:1.55;display:grid}.data-panel{overflow:hidden}.data-table{min-width:780px}.data-head,.data-row{align-items:center;gap:12px;display:grid}.data-head{color:#748178;background:#f4f7f5;padding:10px 15px;font-size:9px;font-weight:700}.data-row{border-top:1px solid #edf1ee;padding:11px 15px;font-size:11px}.renewals-table .data-head,.renewals-table .data-row{grid-template-columns:1.25fr .5fr .75fr .7fr .75fr}.payroll-table .data-head,.payroll-table .data-row{grid-template-columns:1.1fr .8fr .65fr .65fr 1.2fr}.payroll-table .data-row>span:last-child{display:grid}.files-table .data-head,.files-table .data-row{grid-template-columns:1.1fr .7fr .65fr 1.15fr .6fr}.file-title{align-items:center;gap:7px;display:flex}.file-icon{background:var(--blue-soft);color:var(--blue);border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.data-row small{color:var(--muted);font-size:9px;line-height:1.4}.routing-layout{grid-template-columns:1.12fr .88fr;gap:18px;display:grid}.routing-list{overflow:hidden}.route-row{cursor:pointer;text-align:left;background:#fff;border:0;border-top:1px solid #edf1ee;grid-template-columns:35px minmax(0,1fr) auto 16px;align-items:center;gap:9px;width:100%;padding:12px 14px;display:grid}.route-row:hover,.route-row.selected{background:#f8fbf9}.route-row.selected{box-shadow:inset 3px 0 0 var(--green)}.route-icon{border-radius:5px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.route-icon.amber{background:var(--amber-soft);color:var(--amber)}.route-icon.blue{background:var(--blue-soft);color:var(--blue)}.route-row>span:nth-child(2){gap:3px;min-width:0;display:grid}.route-row strong{font-size:11px}.route-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.send-log{color:#5f6d65;background:#f5f8f6;gap:5px;padding:12px 14px;font-size:10px;display:grid}.send-log p{align-items:flex-start;gap:6px;margin:0;line-height:1.45;display:flex}.message-preview{align-self:start;padding:0 16px 16px}.preview-header{justify-content:space-between;align-items:flex-start;padding:15px 0 12px;display:flex}.preview-header h2{margin:0;font-size:15px}.route-summary{border-top:1px solid #e8edeb;border-bottom:1px solid #e8edeb;gap:8px;padding:11px 0;display:grid}.route-summary span{color:var(--muted);gap:2px;font-size:9px;display:grid}.route-summary strong{color:var(--ink);font-size:10px}.message-bubble{color:#30493b;white-space:pre-line;background:#e8f5ed;border-radius:4px 4px 4px 0;margin:14px 0 10px;padding:12px;font-size:11px;line-height:1.65}.preview-foot{color:#6d7972;align-items:flex-start;gap:5px;margin-bottom:12px;font-size:9px;line-height:1.45;display:flex}.preview-foot svg{color:var(--amber);flex:none}.sync-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.sync-summary article{border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:9px;padding:13px;display:flex}.sync-icon{border-radius:5px;justify-content:center;align-items:center;width:35px;height:35px;display:flex}.sync-icon.green{background:var(--green-soft);color:var(--green)}.sync-icon.blue{background:var(--blue-soft);color:var(--blue)}.sync-icon.amber{background:var(--amber-soft);color:var(--amber)}.sync-summary strong{font-size:11px;display:block}.sync-summary small{color:var(--muted);margin-top:2px;font-size:9px;display:block}.sync-layout{grid-template-columns:1.05fr .95fr;gap:18px;display:grid}.ownership-panel,.conflict-panel{padding:0 16px 16px}.ownership-panel .panel-header,.conflict-panel .panel-header{padding-left:0;padding-right:0}.ownership-row{border-top:1px solid #e8edeb;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.ownership-row>span{gap:3px;display:grid}.ownership-row strong{font-size:11px}.ownership-row small{color:var(--muted);font-size:9px}.conflict-record{background:#fff7e8;gap:3px;padding:11px;display:grid}.conflict-record span{color:#8b682b;font-size:9px}.conflict-record strong{font-size:11px}.conflict-values{grid-template-columns:1fr 1fr;gap:8px;margin:11px 0;display:grid}.conflict-values div{border:1px solid #e1e8e3;gap:4px;padding:10px;display:grid}.conflict-values span,.conflict-values small{color:var(--muted);font-size:9px}.conflict-values strong{font-size:12px}.conflict-actions{gap:8px;display:flex}.resolved-state{color:#406c55;text-align:center;place-items:center;padding:52px 22px;display:grid}.resolved-state strong{margin-top:8px;font-size:12px}.resolved-state span{color:var(--muted);margin-top:5px;font-size:10px;line-height:1.5}.report-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.report-card{border-radius:6px;gap:3px;padding:15px;display:grid}.report-card.green{background:var(--green-soft);color:#24684e}.report-card.blue{background:var(--blue-soft);color:#2a65a5}.report-card.amber{background:var(--amber-soft);color:#92600f}.report-card.red{background:var(--red-soft);color:#a8433f}.report-card strong{font-family:DM Mono,monospace;font-size:24px}.report-card span{color:var(--ink);font-size:11px;font-weight:700}.report-card small{color:#5f7167;font-size:9px}.chart-panel{padding:0 16px 16px}.chart-panel .panel-header{padding-left:0;padding-right:0}.bar-row{grid-template-columns:45px 1fr 35px;align-items:center;gap:9px;margin:12px 0;display:grid}.bar-row span,.bar-row strong{font-size:10px}.bar-row strong{text-align:right}.bar-row>div{background:#eef2ef;border-radius:999px;height:7px;overflow:hidden}.bar-row i{background:var(--green);border-radius:999px;height:100%;display:block}.issue-row{border-top:1px solid #e9eeeb;grid-template-columns:29px 1fr;align-items:center;gap:9px;padding:10px 0;display:grid}.settings-panel{gap:12px;padding:0 16px 16px;display:grid}.settings-panel .panel-header{padding-left:0;padding-right:0}.settings-panel label{color:#596960;gap:5px;font-size:10px;display:grid}.settings-panel input{color:var(--ink);background:#f7f9f7;border:1px solid #dbe4de;border-radius:4px;padding:8px;font-size:11px}.audit-panel{overflow:hidden}.audit-head,.audit-row{grid-template-columns:120px 110px 150px 1fr;gap:12px;display:grid}.audit-head{color:#77847d;background:#f4f7f5;padding:10px 15px;font-size:9px;font-weight:700}.audit-row{border-top:1px solid #edf1ee;padding:11px 15px;font-size:10px}.audit-row>span:first-child{color:var(--muted);font-family:DM Mono,monospace;font-size:9px}.dialog-backdrop{z-index:20;background:#0f1f186b;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0}.dialog{background:#fff;border-radius:7px;width:100%;max-width:610px;padding:0 20px 20px;box-shadow:0 18px 55px #09181147}.dialog-header{border-bottom:1px solid #e7ece9;justify-content:space-between;align-items:center;padding:17px 0 14px;display:flex}.dialog-header h2{margin:0;font-size:17px}.form-grid{grid-template-columns:1fr 1fr;gap:13px;padding-top:16px;display:grid}.form-grid label{color:#5d6d64;gap:5px;font-size:10px;display:grid}.form-grid input,.form-grid select,.form-grid textarea{color:var(--ink);background:#f8faf8;border:1px solid #d8e2dc;border-radius:4px;width:100%;padding:8px;font-size:11px}.form-grid textarea{resize:vertical;line-height:1.5}.form-grid .span-2{grid-column:1/-1}.form-grid footer{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.form-notice{color:#7b5c22;background:#fff6e5;align-items:flex-start;gap:7px;padding:10px;font-size:10px;line-height:1.45;display:flex}.form-notice svg{flex:none}.toast{background:var(--brand-deep);color:#fff;z-index:30;border:1px solid #ffffff1f;border-radius:5px;align-items:center;gap:7px;padding:11px 13px;font-size:11px;display:flex;position:fixed;bottom:22px;right:24px;box-shadow:0 10px 25px #09191233}.toast svg{color:var(--brand)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1280px){.dashboard-grid{grid-template-columns:1fr 1fr}.risk-panel{grid-column:1/-1}.teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-layout,.routing-layout,.sync-layout,.two-column,.files-layout,.settings-grid{grid-template-columns:1fr}.student-detail{max-width:none}.schedule-workspace{grid-template-columns:1fr}.booking-panel{max-width:none}.metric-grid,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.teacher-toggle{color:#65766c;cursor:pointer;background:0 0;border:0;margin:8px auto 0;padding:2px;font-size:9px;text-decoration:underline;display:block}.top-search kbd,.global-search-input kbd{background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-ink);white-space:nowrap;border-radius:3px;padding:2px 4px;font-family:DM Mono,monospace;font-size:8px}.view-tabs{align-items:center;gap:3px;padding:12px 14px;display:flex;overflow:auto}.view-tabs>span{color:#819087;flex:none;margin-right:6px;font-family:DM Mono,monospace;font-size:9px}.view-tabs button{color:#627168;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;padding:6px 8px;font-size:10px}.view-tabs button:hover{background:var(--brand-soft);color:var(--brand-ink)}.view-tabs button.active{background:var(--brand-soft);color:var(--brand-ink);font-weight:700}.view-bar{border:1px solid var(--line);background:#fff;border-radius:6px 6px 0 0;justify-content:space-between;align-items:center;min-height:48px;display:flex}.filter-select{color:#53635a;background:#f6f8f6;border:1px solid #dce4de;border-radius:4px;padding:7px 25px 7px 8px;font-size:10px}.collection-shell{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:6px;overflow:hidden}.collection-shell .view-tabs{border-bottom:1px solid #e8eeea}.collection-toolbar{border-bottom:1px solid #e8eeea;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;display:flex}.collection-toolbar .search-field{width:min(360px,46%)}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.result-count{color:#77847d;white-space:nowrap;font-family:DM Mono,monospace;font-size:9px}.bulk-bar{background:var(--brand-soft);border-bottom:1px solid var(--brand-line);color:var(--brand-ink);align-items:center;gap:9px;padding:9px 14px;font-size:10px;display:flex}.bulk-bar select{border:1px solid var(--brand-line);background:#fff;border-radius:4px;padding:6px;font-size:10px}.bulk-clear{color:var(--brand-ink);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:10px}.master-detail-layout{background:#fff;grid-template-columns:minmax(640px,1fr) 355px;display:grid}.collection-main{border-right:1px solid #e2e9e4;min-width:0}.collection-head,.collection-row{align-items:center;gap:10px;min-width:680px;display:grid}.collection-head{color:#78867e;background:#f5f8f6;padding:10px 14px;font-size:9px;font-weight:700}.collection-row{cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1ee;width:100%;padding:10px 14px;font-size:10px}.collection-row:hover{background:#f9fcfa}.collection-row.selected{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.collection-row input[type=checkbox],.collection-head input[type=checkbox]{accent-color:var(--brand-deep);cursor:pointer;margin:0}.student-grid{grid-template-columns:22px minmax(200px,1.2fr) .85fr .55fr minmax(130px,.95fr)}.row-primary,.row-cell{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0}.row-primary{align-items:center;gap:8px;min-width:0;display:flex}.row-primary>span{gap:2px;min-width:0;display:grid}.row-primary strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.row-primary small,.row-cell small{color:#7c8981;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.row-cell{color:#526158;min-width:0}.row-cell.stacked{gap:3px;display:grid}.collection-viewport{height:min(58vh,550px);min-height:320px;overflow:auto}.pagination{background:#fafcfb;border-top:1px solid #e8eeea;justify-content:space-between;align-items:center;min-height:46px;padding:9px 13px;display:flex}.pagination span{color:#718077;font-family:DM Mono,monospace;font-size:9px}.pagination div{align-items:center;gap:7px;display:flex}.pagination strong{color:#40534a;white-space:nowrap;justify-content:center;align-items:center;min-width:82px;font-family:DM Mono,monospace;font-size:10px;font-weight:700;line-height:1;display:flex}.pagination button{color:#526158;cursor:pointer;background:#fff;border:1px solid #d8e1db;border-radius:4px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:flex}.pagination button:disabled{cursor:not-allowed;opacity:.4}.collection-empty{color:#718077;text-align:center;place-items:center;min-height:210px;padding:32px;display:grid}.collection-empty svg{color:#9ba9a0}.collection-empty strong{color:#4b5e53;margin-top:8px;font-size:12px}.collection-empty span{max-width:270px;margin-top:4px;font-size:10px;line-height:1.5}.record-preview{background:#fff;align-self:start;min-width:0;padding:16px;position:sticky;top:58px}.record-preview .detail-top{padding-bottom:2px}.record-preview .detail-section{margin-top:12px}.record-preview .timeline{max-height:220px;overflow:auto}.matching-context{background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:15px;padding:13px 15px;display:flex}.matching-context h2{margin:2px 0 0;font-size:15px}.matching-context p:last-child{color:#547062;margin:0;font-size:10px}.teacher-layout{grid-template-columns:minmax(620px,1fr) 340px}.teacher-grid-row{grid-template-columns:minmax(180px,1.1fr) minmax(155px,1fr) .65fr .7fr minmax(94px,.75fr)}.match-score{color:var(--brand-deep);font-family:DM Mono,monospace;font-size:11px;font-weight:700}.teacher-preview{background:#fbfdfb}.teacher-preview .teacher-tags{margin:14px 0 2px}.match-hero{background:var(--brand-soft);border:1px solid var(--brand-line);align-items:center;gap:9px;margin:13px 0;padding:10px;display:flex}.match-hero strong{color:var(--brand-deep);font-size:13px;display:block}.match-hero span{color:#65766c;margin-top:2px;font-size:9px;display:block}.schedule-shell{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:6px;overflow:hidden}.schedule-layout{grid-template-columns:minmax(620px,1fr) 315px;display:grid}.agenda-list{border-right:1px solid #e3e9e5;min-width:0}.agenda-list .schedule-row.selected{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.agenda-grid{grid-template-columns:96px minmax(170px,1fr) minmax(145px,.85fr) minmax(120px,.7fr) 90px}.schedule-shell .calendar-board{border-right:1px solid #e3e9e5}.schedule-shell .booking-panel{background:#fff}.schedule-shell .booking-panel .panel-header{padding-left:0;padding-right:0}.muted-cell{color:#849087;font-size:9px}.kanban-board>article{min-width:190px}.workflow-header{margin-bottom:0}.operation-grid-row{grid-template-columns:minmax(200px,1.1fr) .65fr .75fr minmax(120px,.8fr)}.compact-rules{gap:8px;padding:15px 0 2px;display:grid}.compact-rules div{color:#586a60;border-left:2px solid #90bf9f;padding-left:9px;font-size:10px;line-height:1.55}.renewal-grid-row{grid-template-columns:minmax(155px,1fr) .58fr .72fr .72fr .7fr minmax(100px,.7fr)}.payroll-layout{grid-template-columns:minmax(720px,1fr) minmax(380px,.45fr)}.payroll-grid-row{grid-template-columns:minmax(180px,1.05fr) .58fr .58fr .6fr .55fr minmax(180px,1fr)}.payroll-grid-row strong{color:#2a6149;font-family:DM Mono,monospace;font-size:10px}.payroll-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-line-list{border:1px solid #e2eae5;border-radius:6px;max-height:300px;overflow:auto}.payroll-line{border-bottom:1px solid #edf1ee;grid-template-columns:minmax(120px,1fr) .55fr .55fr .65fr;align-items:center;gap:8px;padding:8px 10px;display:grid}.payroll-line:last-child{border-bottom:0}.payroll-line span:first-child{gap:2px;min-width:0;display:grid}.payroll-line strong,.payroll-line small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.payroll-line small{color:var(--muted);font-size:9px}.payroll-preview .detail-section p{line-height:1.55}.message-layout{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:6px;grid-template-columns:minmax(500px,.9fr) minmax(390px,.7fr);display:grid;overflow:hidden}.message-list{border-right:1px solid #e1e9e3;min-width:0}.message-list-row{cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1ee;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:11px 14px;display:grid}.message-list-row:hover{background:#fafcfb}.message-list-row.selected{background:var(--brand-soft);box-shadow:inset 3px 0 0 var(--brand)}.message-list-row>span:nth-child(2){gap:3px;min-width:0;display:grid}.message-list-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.message-list-row small{color:#748178;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.message-layout .message-preview{background:#fff;min-height:440px}.file-grid-row{grid-template-columns:minmax(190px,1.1fr) .72fr .65fr minmax(135px,1fr) .65fr}.file-grid-row .file-title{min-width:0}.file-grid-row .file-title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-shell{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:6px;overflow:hidden}.settings-intro{color:#64736b;border-bottom:1px solid #e8eeea;padding:0 16px 14px;font-size:10px;line-height:1.6}.settings-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-fields label{color:#596960;gap:5px;font-size:10px;display:grid}.settings-fields input{color:var(--ink);background:#f7f9f7;border:1px solid #dbe4de;border-radius:4px;padding:8px;font-size:11px}.settings-list{gap:1px;display:grid}.settings-list article{border-bottom:1px solid #edf1ee;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:11px 0;display:grid}.settings-list article>span{gap:3px;display:grid}.settings-list strong{font-size:11px}.settings-list small{color:#77847d;font-size:9px}.integration-list{gap:10px;display:grid}.integration-list article{border:1px solid #e0e8e2;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:11px;display:grid}.integration-list article>span{gap:3px;display:grid}.integration-list strong{font-size:11px}.integration-list small{color:#77847d;font-size:9px}.settings-save{margin-top:14px}.audit-grid-row{grid-template-columns:108px 120px 140px minmax(260px,1fr)}.audit-grid-row>span:first-child{color:#77847d;font-family:DM Mono,monospace;font-size:9px}.global-search-backdrop{z-index:40;background:#123f3b6b;justify-content:center;align-items:flex-start;padding:12vh 24px 24px;display:flex;position:fixed;inset:0}.global-search-dialog{background:#fff;border:1px solid #ffffff80;border-radius:8px;width:100%;max-width:700px;overflow:hidden;box-shadow:0 22px 70px #09181152}.global-search-dialog>header{justify-content:space-between;align-items:flex-start;padding:17px 18px 12px;display:flex}.global-search-dialog h2{margin:0;font-size:17px}.global-search-input{background:#f6f8f6;border-top:1px solid #e1e9e3;border-bottom:1px solid #e1e9e3;align-items:center;gap:9px;padding:12px 17px;display:flex}.global-search-input svg{color:var(--brand-deep)}.global-search-input input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:13px}.global-result-list{max-height:440px;padding:7px;overflow:auto}.global-result{cursor:pointer;text-align:left;background:#fff;border:0;border-radius:5px;grid-template-columns:46px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;padding:10px;display:grid}.global-result:hover{background:var(--brand-soft)}.global-result>span:nth-child(2){gap:3px;display:grid}.global-result strong{font-size:11px}.global-result small{color:#748178;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.global-result>svg{color:#92a098}.global-result-badge{text-align:center;border-radius:999px;padding:5px 7px;font-size:9px;font-weight:700}.global-result-badge.green{background:var(--green-soft);color:#256c51}.global-result-badge.blue{background:var(--blue-soft);color:#2967ad}.global-quick-links{padding:20px 18px 22px}.global-quick-links>p{color:#7d8981;margin:0 0 9px;font-family:DM Mono,monospace;font-size:9px}.global-quick-links>div{flex-wrap:wrap;gap:7px;display:flex}.global-quick-links button{background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-ink);cursor:pointer;border-radius:4px;padding:8px 10px;font-size:10px;font-weight:700}@media (max-width:1210px){.master-detail-layout,.operations-layout,.teacher-layout,.schedule-layout,.message-layout,.payroll-layout{grid-template-columns:1fr}.collection-main,.agenda-list,.schedule-shell .calendar-board,.message-list{border-right:0}.record-preview{border-top:1px solid #e2e9e4;position:static}.collection-viewport{height:420px}.settings-fields{grid-template-columns:1fr}}:root{--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--duration-press:.12s;--duration-ui:.18s;--duration-surface:.24s;--surface-raised:#fff;--surface-muted:#f8fbfa;--shadow:0 1px 2px #123f3b0d,0 10px 28px #123f3b14;--shadow-raised:0 1px 2px #123f3b0f,0 16px 40px #123f3b1f;--shadow-float:0 10px 28px #123f3b29,0 28px 80px #123f3b33;--ring:0 0 0 3px #75c9c247}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f4f8f7}body{background:linear-gradient(180deg,#ffffffe0 0%,#eff8f6e6 42%,#f6f9f8f5 100%), var(--canvas);text-rendering:optimizelegibility}.app-shell{background:0 0}.sidebar{background:linear-gradient(#123f3b 0%,#155d56 58%,#0f3734 100%);box-shadow:inset -1px 0 #ffffff14,8px 0 32px #123f3b14}.brand-mark{box-shadow:0 9px 24px #75c9c23d,inset 0 1px #ffffff5c}.workspace-switch{background:#ffffff17;border-color:#ffffff24;box-shadow:inset 0 1px #ffffff14}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;isolation:isolate;z-index:30;background:#fff;box-shadow:0 1px #dfe7e2,0 8px 22px #123f3b0b}.content{padding-top:30px}.panel,.collection-shell,.schedule-shell,.message-layout,.settings-shell{box-shadow:var(--shadow);background:#fffffff0;border-color:#bbd1cbb8}.panel-header,.collection-toolbar,.table-toolbar,.calendar-toolbar,.global-search-dialog>header{background:linear-gradient(#ffffffeb,#fafdfceb)}.collection-head,.table-head,.audit-head{color:#526a64;background:#eef7f5}.primary-button,.secondary-button,.compact-button,.text-button,.icon-button,.nav-item,.new-button,.top-search,.command-strip button,.metric-card,.segmented button,.view-tabs button,.task-copy,.complete-button,.schedule-row,.risk-row,.table-row,.collection-row,.message-list-row,.global-result,.global-quick-links button,.pagination button,.choice-button,.selected-choice,.inline-link,.teacher-toggle,.lesson-block{transition:background-color var(--duration-ui) var(--ease-out), border-color var(--duration-ui) var(--ease-out), box-shadow var(--duration-ui) var(--ease-out), color var(--duration-ui) var(--ease-out), opacity var(--duration-ui) var(--ease-out), transform var(--duration-press) var(--ease-out)}.primary-button,.new-button{box-shadow:inset 0 1px #ffffff38,0 8px 18px #123f3b1f}.primary-button:hover,.new-button:hover{box-shadow:inset 0 1px #ffffff47,0 12px 26px #123f3b29}.secondary-button,.icon-button,.top-search{box-shadow:0 1px 1px #123f3b09}.primary-button:active,.secondary-button:active,.compact-button:active,.icon-button:active,.nav-item:active,.new-button:active,.top-search:active,.command-strip button:active,.metric-card:active,.segmented button:active,.view-tabs button:active,.task-copy:active,.complete-button:active,.schedule-row:active,.risk-row:active,.table-row:active,.collection-row:active,.message-list-row:active,.global-result:active,.global-quick-links button:active,.pagination button:active,.choice-button:active,.selected-choice:active,.inline-link:active,.teacher-toggle:active,.lesson-block:active{transform:scale(.97)}.metric-card:hover{transform:none}.metric-card,.sync-summary article,.report-card{background:linear-gradient(#fff 0%,#fbfdfc 100%)}.metric-card .metric-icon,.sync-icon,.risk-icon,.file-icon,.avatar{box-shadow:inset 0 1px #ffffff7a}.nav-item.active{box-shadow:inset 0 1px #fffc,0 10px 22px #75c9c21f}.command-strip{box-shadow:var(--shadow);border:1px solid #bbd1cbbf;border-radius:8px}.command-strip button{background:#f7fbfa}.command-strip button svg{filter:drop-shadow(0 3px 8px #2f8b791f)}.collection-row.selected,.table-row.selected,.message-list-row.selected,.agenda-list .schedule-row.selected{background:linear-gradient(90deg,#75c9c238,#e7f8f694)}.record-preview{background:linear-gradient(#fff 0%,#f9fcfb 100%)}.matching-banner,.matching-context,.match-hero{border-color:var(--brand-line);background:linear-gradient(135deg,#e7f8f6f2,#ffffffe0);box-shadow:0 12px 30px #123f3b0e}.message-bubble{box-shadow:inset 0 1px #ffffff8f}.dialog-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:overlay-enter var(--duration-surface) var(--ease-out) both;background:#0c24207a}.dialog{box-shadow:var(--shadow-float);transform-origin:50% 48%;animation:dialog-enter var(--duration-surface) var(--ease-drawer) both}.toast{box-shadow:var(--shadow-raised);animation:toast-enter var(--duration-surface) var(--ease-drawer) both}.global-search-backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#123f3b75}.global-search-dialog{box-shadow:var(--shadow-float);background:#fffffffa}@keyframes overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-enter{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (hover:hover) and (pointer:fine){.panel:hover,.collection-shell:hover,.schedule-shell:hover,.message-layout:hover,.settings-shell:hover{box-shadow:var(--shadow-raised)}.metric-card:hover,.teacher-card:hover,.sync-summary article:hover,.report-card:hover{box-shadow:var(--shadow-raised);transform:translateY(-2px)}.collection-row:hover,.table-row:hover,.message-list-row:hover,.schedule-row:hover,.risk-row:hover,.global-result:hover{transform:translate(2px)}.primary-button:hover,.secondary-button:hover,.compact-button:hover,.icon-button:hover,.new-button:hover,.top-search:hover,.command-strip button:hover,.choice-button:hover{transform:translateY(-1px)}}@media (prefers-reduced-transparency:reduce){.topbar,.dialog-backdrop,.global-search-backdrop,.global-search-dialog{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.primary-button:active,.secondary-button:active,.compact-button:active,.icon-button:active,.nav-item:active,.new-button:active,.top-search:active,.command-strip button:active,.metric-card:active,.segmented button:active,.view-tabs button:active,.task-copy:active,.complete-button:active,.schedule-row:active,.risk-row:active,.table-row:active,.collection-row:active,.message-list-row:active,.global-result:active,.global-quick-links button:active,.pagination button:active,.choice-button:active,.selected-choice:active,.inline-link:active,.teacher-toggle:active,.lesson-block:active{transform:none}}@media (prefers-contrast:more){:root{--line:#95aaa4;--brand-line:#5eb9b1}.panel,.collection-shell,.schedule-shell,.message-layout,.settings-shell,.primary-button,.secondary-button,.icon-button,.collection-row,.table-row,.message-list-row{border-color:#6d837c}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.student-facts{background:#f6faf9;border:1px solid #e0ebe7;grid-template-columns:1fr 1fr;gap:1px;margin:14px 0 2px;display:grid}.student-facts>span{background:#fff;gap:3px;min-width:0;padding:10px;display:grid}.student-facts small{color:var(--muted);font-size:10px}.student-facts strong{overflow-wrap:anywhere;font-size:12px}.student-facts em{color:#7b8b83;font-size:9px;font-style:normal}.low-hours{font-weight:800;color:var(--red)!important}.availability-converter select{justify-self:start;margin:2px 0 3px}.availability-converter strong{line-height:1.65}.timezone-audit{background:var(--brand-soft);border-bottom:1px solid var(--brand-line);color:var(--brand-ink);align-items:flex-start;gap:9px;padding:10px 14px;display:flex}.timezone-audit.warning{background:var(--amber-soft);color:#7d530d;border-color:#ead293}.timezone-audit>svg{flex:none;margin-top:2px}.timezone-audit>span{gap:2px;display:grid}.timezone-audit strong{font-size:11px}.timezone-audit small{font-size:9px;line-height:1.45}.check-list.warning{background:var(--amber-soft);color:#7d530d}.exam-reminder-strip{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(240px,1.2fr) repeat(4,minmax(150px,.75fr));align-items:stretch;gap:1px;margin-bottom:14px;display:grid;overflow:hidden}.exam-reminder-strip>div,.exam-reminder-strip>button{text-align:left;background:#fff;border:0;border-right:1px solid #e8eeea;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:11px 13px;display:grid}.exam-reminder-strip>button{cursor:pointer;grid-template-columns:1fr auto}.exam-reminder-strip>button:hover{background:var(--brand-soft)}.exam-reminder-strip span{gap:3px;display:grid}.exam-reminder-strip strong{font-size:11px}.exam-reminder-strip small{color:var(--muted);font-size:9px;line-height:1.45}.exam-reminder-strip svg{color:var(--muted)}.source-summary{margin-bottom:10px}.data-snapshot-bar{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:11px 13px;display:flex}.data-snapshot-bar>span:first-child{grid-template-columns:auto 1fr;align-items:center;gap:4px 9px;display:grid}.data-snapshot-bar svg{color:var(--brand-deep);grid-row:1/3}.data-snapshot-bar strong{font-size:11px}.data-snapshot-bar small{color:var(--muted);font-size:9px}.button-row{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}.checkbox-field{flex-direction:row;align-self:end;align-items:center;min-height:36px;gap:8px!important;display:flex!important}.checkbox-field input{accent-color:var(--brand-deep);flex:none;width:auto}.course-layout{grid-template-columns:minmax(620px,1fr) minmax(330px,.42fr)}.course-grid-row{grid-template-columns:minmax(260px,1.25fr) minmax(130px,.7fr) 90px 86px}.course-grid-row>span:first-child{gap:3px;min-width:0;display:grid}.course-grid-row>span:first-child strong,.course-grid-row>span:first-child small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.course-grid-row>span:first-child small{color:var(--muted);font-family:DM Mono,monospace;font-size:9px}.course-preview{align-self:start}.course-preview .preview-header h2{overflow-wrap:anywhere}.source-detail{background:var(--brand-soft);border-left:3px solid var(--brand);padding-left:11px}@media (max-width:1210px){.course-layout{grid-template-columns:1fr}.course-preview{border-top:1px solid var(--line)}}@media (max-width:760px){.course-grid-row{grid-template-columns:minmax(0,1fr) 78px}.course-grid-row>span:nth-child(2),.course-grid-row>strong{display:none}}.teacher-command-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.teacher-dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;display:grid}.teacher-roster-panel{min-width:0}.teacher-student-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 14px 14px;display:grid}.teacher-student-list>button{border:0;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px;display:grid}.teacher-student-list>button:hover{background:var(--brand-soft)}.teacher-student-list>button>span{gap:2px;min-width:0;display:grid}.teacher-student-list>button strong,.teacher-student-list>button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-student-list>button strong{font-size:11px}.teacher-student-list>button small{color:var(--muted);font-size:9px}.classroom-hub{overflow:hidden}.classroom-hub-layout{grid-template-columns:minmax(0,1fr) 380px;min-height:580px;display:grid}.classroom-room-list{border-right:1px solid var(--line);min-width:0}.classroom-grid-row{grid-template-columns:minmax(240px,1fr) minmax(190px,.8fr) 110px}.classroom-grid-row>span{gap:3px;display:grid}.classroom-grid-row small{color:var(--muted)}.classroom-room-preview,.account-preview{padding:18px}.classroom-link-preview{background:var(--brand-soft);border:1px solid var(--brand-line);align-items:center;gap:12px;margin:18px 0;padding:16px;display:flex}.classroom-link-preview>svg{color:var(--brand-deep)}.classroom-link-preview>span{gap:3px;display:grid}.classroom-link-preview small{color:var(--muted)}.classroom-tool-tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.classroom-tool-tags span{color:#4c655f;background:#eef4f1;border-radius:4px;padding:5px 7px;font-size:9px}.account-admin-shell{overflow:hidden}.account-admin-layout{grid-template-columns:minmax(0,1fr) 410px;min-height:600px;display:grid}.account-list{border-right:1px solid var(--line);min-width:0}.account-grid-row{grid-template-columns:minmax(230px,1fr) 145px 120px}.account-grid-row>.status-pill{justify-self:start}.account-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0}.permission-list{gap:8px;margin-top:10px;display:grid}.permission-list p{color:var(--ink);align-items:center;gap:7px;margin:0;font-size:10px;display:flex}.permission-list svg{color:var(--brand-deep)}.account-actions{gap:8px;margin:18px 0;display:grid}.account-preview .form-notice{margin-top:16px}@media (max-width:1100px){.teacher-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-dashboard-grid,.classroom-hub-layout,.account-admin-layout{grid-template-columns:1fr}.classroom-room-list,.account-list{border-bottom:1px solid var(--line);border-right:0}.classroom-room-preview,.account-preview{position:static}.classroom-hub-layout,.account-admin-layout{min-height:0}}@media (max-width:760px){.teacher-command-strip{grid-template-columns:1fr}.teacher-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-dashboard-grid,.teacher-student-list{grid-template-columns:1fr}.classroom-grid-row{grid-template-columns:minmax(180px,1fr) 130px 80px}.classroom-room-preview,.account-preview{padding:14px}.account-grid-row{grid-template-columns:minmax(190px,1fr) 110px}.account-grid-row>span:last-child{display:none}}@media (min-width:761px){.nav-item,.primary-button,.secondary-button,.view-copy,.breadcrumb{font-size:13px}.collection-row,.row-primary strong,.task-copy strong,.schedule-copy strong,.detail-section strong{font-size:12px}.collection-row small,.row-primary small,.row-cell small,.task-copy span,.task-copy small,.detail-section p,.collection-head,.status-pill,.result-count,.filter-select{font-size:10px}}.mobile-bottom-nav,.mobile-nav-backdrop,.mobile-preview-close{display:none}@media (max-width:760px){html{scroll-padding-bottom:92px}body{overscroll-behavior-y:none;background:#f4f8f7;min-width:0;font-size:14px}.app-shell{min-height:100dvh;display:block}.sidebar{display:none}.main-stage{width:100%}.topbar{height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 14px 0}.breadcrumb>span,.breadcrumb>svg{display:none}.breadcrumb strong{font-size:16px}.top-actions{gap:5px}.top-search{justify-content:center;gap:0;width:44px;height:44px;padding:0;font-size:0}.top-search kbd,.operator{display:none}.icon-button{width:44px;height:44px}.content{max-width:none;padding:18px 14px calc(92px + env(safe-area-inset-bottom))}.view-heading{gap:14px;margin-bottom:18px;display:grid}.view-heading h1{font-size:22px}.view-copy{font-size:12px;line-height:1.55}.heading-actions{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:8px;width:100%;padding:0;display:grid}.heading-actions>button{justify-content:center;width:100%;min-height:44px}.command-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:14px;overflow:visible}.command-strip button{border:1px solid var(--line);border-radius:8px;grid-template-columns:24px 1fr;align-content:start;gap:8px;min-height:100px;padding:13px 12px}.command-strip button>svg:last-child{display:none}.command-strip strong{font-size:12px}.command-strip small{font-size:10px}.metric-grid,.report-grid,.payroll-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.student-facts{grid-template-columns:1fr 1fr}.student-facts>span{min-height:82px}.timezone-audit{padding:12px}.exam-reminder-strip{scroll-snap-type:x proximity;display:flex;overflow-x:auto}.exam-reminder-strip>div,.exam-reminder-strip>button{scroll-snap-align:start;border-right:1px solid #e8eeea;flex:0 0 82vw;min-height:76px}.data-snapshot-bar{align-items:flex-start;gap:10px}.data-snapshot-bar>span:first-child{min-width:0}.button-row{grid-template-columns:1fr;display:grid}.button-row button{justify-content:center;width:100%}.metric-card{grid-template-columns:34px 1fr;gap:8px;min-height:84px;padding:11px}.metric-card>svg:last-child{display:none}.metric-card strong{font-size:18px}.dashboard-grid,.sync-layout,.two-column,.settings-grid,.files-layout,.student-layout,.routing-layout,.schedule-workspace{grid-template-columns:1fr}.dashboard-grid{gap:12px}.panel,.collection-shell,.schedule-shell,.message-layout,.settings-shell{border-radius:8px}.panel-header,.calendar-toolbar,.view-bar{flex-wrap:wrap;align-items:flex-start;gap:10px}.panel-header{padding:14px}.segmented,.view-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.segmented::-webkit-scrollbar{display:none}.view-tabs::-webkit-scrollbar{display:none}.view-tabs{scroll-snap-type:x proximity}.view-tabs button{scroll-snap-align:start;min-height:40px;padding:8px 10px}.collection-toolbar{flex-direction:column;align-items:stretch;padding:12px}.collection-toolbar .search-field{width:100%;min-height:44px}.collection-toolbar .search-field input{font-size:16px}.toolbar-actions{justify-content:flex-start;width:100%}.toolbar-button,.primary-button,.secondary-button,.compact-button,.filter-select{min-height:44px}.result-count{margin-left:auto}.bulk-bar{flex-wrap:wrap;align-items:stretch}.bulk-bar button{min-height:40px}.master-detail-layout,.teacher-layout,.schedule-layout,.message-layout{display:block}.collection-main,.agenda-list,.message-list,.schedule-shell .calendar-board{border-right:0}.collection-head,.audit-head{display:none}.collection-viewport{height:auto;min-height:0;max-height:none;overflow:visible}.collection-row{border:1px solid #dfe9e4;border-radius:8px;width:calc(100% - 20px);min-width:0;margin:10px;padding:12px;font-size:12px}.collection-row.selected{box-shadow:inset 3px 0 0 var(--brand)}.collection-row strong,.row-primary strong,.message-list-row strong{font-size:13px}.collection-row small,.row-primary small,.row-cell small,.message-list-row small{font-size:10px;line-height:1.45}.student-grid{grid-template-columns:28px minmax(0,1fr) auto}.student-grid>input{grid-area:1/1}.student-grid>.row-primary{grid-area:1/2/auto/4}.student-grid>.row-cell:nth-of-type(2){grid-area:2/2}.student-grid>.row-cell:nth-of-type(3){text-align:right;grid-area:2/3;align-self:center}.student-grid>.row-cell:nth-of-type(3):before{color:var(--muted);content:"负责人 · ";font-size:10px}.student-grid>.row-cell:nth-of-type(4){grid-area:3/2/auto/4;padding-top:3px}.teacher-grid-row,.agenda-grid,.lp-grid-row,.operation-grid-row,.renewal-grid-row,.payroll-grid-row,.file-grid-row,.audit-grid-row,.audit-row{grid-template-columns:minmax(0,1fr) auto;gap:9px}.teacher-grid-row>.table-person,.agenda-grid>span:nth-child(2),.lp-grid-row>span:first-child,.operation-grid-row>span:first-child,.renewal-grid-row>span:first-child,.payroll-grid-row>.table-person,.file-grid-row>.file-title,.audit-grid-row>span:last-child{grid-column:1/-1}.teacher-grid-row>span:nth-child(3),.teacher-grid-row>span:nth-child(4),.agenda-grid>span:nth-child(3),.operation-grid-row>span:nth-child(2),.renewal-grid-row>span:nth-child(2),.payroll-grid-row>span,.file-grid-row>small{color:var(--muted)}.message-list-row{border:1px solid #dfe9e4;border-radius:8px;grid-template-columns:32px minmax(0,1fr);width:calc(100% - 20px);margin:10px;padding:12px}.message-list-row>span:last-child{grid-column:2;align-items:center;gap:8px;display:flex}.send-log{margin:10px}.pagination{padding:11px 12px}.pagination button{width:44px;height:44px}.matching-context{align-items:flex-start;gap:10px}.matching-context button{min-height:44px}.calendar-toolbar{padding:12px}.calendar-toolbar>strong{order:3;width:100%}.calendar-toolbar .toolbar-actions{width:auto}.schedule-layout .collection-main{overflow-x:auto}.week-grid{min-width:800px}.kanban-board{scroll-snap-type:x proximity;grid-template-columns:repeat(6,minmax(240px,82vw));padding-bottom:8px;overflow-x:auto}.kanban-board>article{scroll-snap-align:start}.settings-fields,.conflict-values,.sync-summary{grid-template-columns:1fr}.master-detail-layout>.record-preview,.master-detail-layout>.student-detail{display:none}.mobile-detail-open{max-width:none;min-height:100dvh;padding:max(10px,env(safe-area-inset-top)) 16px calc(26px + env(safe-area-inset-bottom));z-index:70;background:#fff;border:0;border-radius:0;inset:0;overflow-y:auto;display:block!important;position:fixed!important}.mobile-preview-close{border:0;border-bottom:1px solid var(--line);color:var(--brand-ink);z-index:2;background:#fffffff0;align-items:center;gap:6px;width:100%;min-height:48px;padding:0;font-size:13px;font-weight:700;display:flex;position:sticky;top:0}.mobile-detail-open .detail-top,.mobile-detail-open .preview-header,.mobile-detail-open .panel-header{padding-top:16px}.mobile-detail-open .primary-button.full,.mobile-detail-open .secondary-button.full{min-height:48px}.mobile-bottom-nav{-webkit-backdrop-filter:saturate(1.3)blur(18px);backdrop-filter:saturate(1.3)blur(18px);height:calc(68px + env(safe-area-inset-bottom));bottom:0;padding:5px 6px env(safe-area-inset-bottom);z-index:50;background:#fffffff0;border-top:1px solid #bbd1cbd6;grid-template-columns:repeat(5,1fr);align-items:start;display:grid;position:fixed;inset-inline:0;overflow:visible;box-shadow:0 -12px 30px #123f3b14}.mobile-bottom-nav button{color:#73827a;background:0 0;border:0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:56px;padding:5px 2px;font-size:10px;font-weight:600;display:flex}.mobile-bottom-nav button.active{background:var(--brand-soft);color:var(--brand-ink)}.mobile-nav-backdrop{z-index:60;background:#0c242073;align-items:flex-end;display:flex;position:fixed;inset:0}.mobile-nav-drawer{animation:mobile-sheet-enter var(--duration-surface) var(--ease-drawer) both;box-shadow:var(--shadow-float);max-height:88dvh;padding:16px 14px calc(18px + env(safe-area-inset-bottom));background:#fff;border-radius:16px 16px 0 0;width:100%;display:block;overflow-y:auto}.mobile-nav-drawer>header{justify-content:space-between;align-items:center;padding:0 2px 14px;display:flex}.mobile-nav-drawer h2{margin:0;font-size:19px}.mobile-operator-picker{background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:8px;justify-content:space-between;align-items:center;margin:0 0 12px;padding:10px 12px;display:flex}.mobile-operator-picker span{color:var(--brand-ink);font-size:12px;font-weight:700}.mobile-operator-picker select{border:1px solid var(--brand-line);color:var(--ink);background:#fff;border-radius:6px;min-height:42px;padding:0 34px 0 10px;font-size:16px}.mobile-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mobile-nav-grid button{color:var(--ink);text-align:left;background:#f8fbfa;border:1px solid #dfe9e4;border-radius:8px;grid-template-columns:24px minmax(0,1fr) 16px;align-items:center;gap:8px;min-height:68px;padding:11px;display:grid}.mobile-nav-grid button.active{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink)}.mobile-nav-grid button>span{gap:2px;min-width:0;display:grid}.mobile-nav-grid strong{font-size:12px}.mobile-nav-grid small{color:var(--muted);font-size:9px}.dialog-backdrop{z-index:90;align-items:flex-end;padding:0}.dialog{max-height:96dvh;padding:0 16px calc(18px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;overflow-y:auto}.form-grid{grid-template-columns:1fr}.form-grid .span-2,.form-grid footer{grid-column:auto}.form-grid input,.form-grid select,.form-grid textarea{min-height:44px;font-size:16px}.form-grid footer{grid-template-columns:1fr 1fr;display:grid}.global-search-backdrop{z-index:90;padding:0}.global-search-dialog{border:0;border-radius:0;min-height:100dvh}.global-search-input{min-height:56px}.global-search-input input{font-size:16px}.global-search-input kbd{display:none}.global-result-list{max-height:calc(100dvh - 145px)}.global-result{min-height:60px}.toast{bottom:calc(78px + env(safe-area-inset-bottom));left:14px;right:14px}}@keyframes mobile-sheet-enter{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (min-width:761px){body{font-size:14px}.content{max-width:none;padding:30px 38px 48px}.view-heading{margin-bottom:24px}.view-heading h1{font-size:28px}.view-copy{max-width:760px;font-size:14px;line-height:1.65}.eyebrow{font-size:10px}.nav-item{padding:10px;font-size:13px}.nav-item b{font-size:10px}.workspace-switch,.top-search,.operator,.breadcrumb{font-size:13px}.primary-button,.secondary-button{min-height:38px;padding:9px 14px;font-size:13px}.compact-button,.text-button{font-size:12px}.icon-button{width:36px;height:36px}.panel-header{padding:18px 20px}.panel-header h2,.preview-header h2{font-size:18px}.segmented button,.view-tabs button,.filter-select{font-size:12px}.view-tabs{padding:14px 18px}.view-tabs>span{font-size:10px}.view-tabs button{padding:7px 10px}.collection-toolbar,.table-toolbar{padding:14px 18px}.collection-toolbar .search-field,.search-field{width:min(420px,48%);min-height:38px}.search-field input{font-size:13px}.result-count{font-size:11px}.master-detail-layout{grid-template-columns:minmax(0,1fr) minmax(420px,.5fr)}.operations-layout{grid-template-columns:minmax(0,1fr) minmax(450px,.58fr)}.teacher-layout{grid-template-columns:minmax(0,1fr) minmax(420px,.5fr)}.schedule-layout{grid-template-columns:minmax(0,1fr) minmax(400px,.48fr)}.message-layout{grid-template-columns:minmax(0,1fr) minmax(430px,.56fr)}.payroll-layout{grid-template-columns:minmax(0,1fr) minmax(440px,.52fr)}.collection-head{padding:12px 18px;font-size:11px}.collection-row{min-height:58px;padding:13px 18px;font-size:13px}.collection-row,.row-primary strong,.task-copy strong,.schedule-copy strong{font-size:13px}.collection-row small,.row-primary small,.row-cell small,.task-copy span,.task-copy small{font-size:11px;line-height:1.45}.row-primary strong{font-size:14px}.status-pill{padding:6px 9px;font-size:11px}.collection-viewport{height:auto;min-height:0;max-height:min(58vh,560px)}.student-collection .collection-viewport{max-height:none}.collection-empty{min-height:220px}.pagination{min-height:48px;padding:10px 16px}.pagination span{font-size:11px}.pagination button{width:32px;height:32px}.record-preview{padding:22px 24px 24px}.preview-header{padding:2px 0 16px}.detail-top{grid-template-columns:46px 1fr 36px}.detail-top .avatar{width:46px;height:46px}.detail-top h2{font-size:20px}.detail-top p,.detail-section>span,.detail-section div>span,.status-select{font-size:11px}.detail-section{gap:7px;margin-top:17px;padding-top:16px}.detail-section strong{font-size:14px;line-height:1.55}.detail-section p{font-size:12px;line-height:1.55}.record-preview .primary-button,.record-preview .secondary-button{min-height:42px;margin-top:10px}.collection-shell>.master-detail-layout{height:clamp(580px,100dvh - 270px,760px)}.master-detail-layout>.collection-main{grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.master-detail-layout .collection-viewport{height:auto;min-height:0;max-height:none}.master-detail-layout>.record-preview,.master-detail-layout>.student-detail{scrollbar-gutter:stable;height:100%;max-height:none;overflow:auto}.payroll-preview .payroll-line-list{max-height:min(28dvh,260px)}.compact-rules{gap:10px;margin:0;padding:2px 0 4px;list-style:none}.compact-rules li{color:#40594f;padding-left:20px;font-size:13px;line-height:1.55;position:relative}.compact-rules li:before{background:var(--brand-deep);content:"";border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:3px}.operations-queue-insight{border-top:1px solid var(--brand-line);background:linear-gradient(135deg,#f8fbfa 0%,#eef8f6 100%);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.operations-queue-insight>div{background:#ffffffc2;gap:5px;min-height:132px;padding:20px;display:grid}.operations-queue-insight span{color:#5e7a70;font-size:11px}.operations-queue-insight strong{font-size:14px;line-height:1.5}.operations-queue-insight small{color:var(--muted);font-size:11px;line-height:1.5}.message-bubble{padding:15px;font-size:13px;line-height:1.75}.route-summary span,.preview-foot{font-size:11px}.route-summary strong{font-size:13px}.teacher-grid{gap:18px}.teacher-card{padding:18px}.teacher-head h2{font-size:16px}.teacher-card dd,.booking-line strong{font-size:13px}.teacher-card dt,.teacher-head p,.booking-line span,.booking-line small,.week-side span,.week-side strong,.day-column>span,.lesson-block,.lesson-block strong{font-size:11px}.lesson-block small{font-size:10px}.sync-summary strong,.ownership-row strong,.settings-list strong,.integration-list strong{font-size:13px}.sync-summary small,.ownership-row small,.settings-list small,.integration-list small{font-size:11px}.report-card span{font-size:13px}.report-card small{font-size:11px}.settings-panel label,.settings-fields label{font-size:12px}.settings-panel input,.settings-fields input{min-height:38px;font-size:13px}}@media (min-width:1211px) and (max-width:1360px){.content{padding-inline:22px}.master-detail-layout{grid-template-columns:minmax(540px,1fr) minmax(340px,.46fr)}.operations-layout{grid-template-columns:minmax(520px,1fr) minmax(360px,.5fr)}.teacher-layout,.schedule-layout{grid-template-columns:minmax(520px,1fr) minmax(340px,.46fr)}.message-layout{grid-template-columns:minmax(500px,1fr) minmax(340px,.46fr)}.payroll-layout{grid-template-columns:minmax(560px,1fr) minmax(360px,.5fr)}.operations-queue-insight{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:761px) and (max-width:1210px){.collection-shell>.master-detail-layout{height:auto}.master-detail-layout>.collection-main{display:block}.master-detail-layout>.record-preview,.master-detail-layout>.student-detail{height:auto;overflow:visible}}@media (min-width:761px){.master-detail-layout{isolation:isolate;align-items:stretch}.master-detail-layout>.collection-main{border-right:0;min-width:0;overflow:hidden}.master-detail-layout .collection-head,.master-detail-layout .collection-row{width:100%;min-width:0}.master-detail-layout .collection-viewport{overflow:hidden auto}.master-detail-layout>.record-preview,.master-detail-layout>.student-detail{box-shadow:none;background:#fff;border-left:1px solid #dbe5df;border-radius:0;margin:0}.payroll-layout{grid-template-columns:minmax(0,1fr) clamp(400px,29vw,500px)}.payroll-grid-row{grid-template-columns:minmax(0,1.45fr) minmax(0,.72fr) minmax(0,.78fr) minmax(0,.7fr) auto;gap:12px}.payroll-grid-row>*,.teacher-grid-row>*{min-width:0}.payroll-grid-row>.status-pill,.teacher-grid-row>.status-pill{justify-self:start}.teacher-grid-row{grid-template-columns:minmax(0,1.4fr) minmax(0,.4fr) minmax(0,.58fr) minmax(0,.72fr) auto;gap:12px}.teacher-load,.teacher-availability{gap:4px;min-width:0;display:grid}.teacher-load strong,.teacher-availability strong{font-size:12px;line-height:1.25}.teacher-availability small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-availability.raw strong{color:#97600e}.master-detail-layout .collection-row.selected{background:#e7f8f6}}.availability-value{overflow-wrap:anywhere;line-height:1.65;display:block}.availability-value.raw{color:#40594f;background:#f8fbfa;border-left:3px solid #dfb25c;padding:9px 11px;font-size:13px;font-weight:600}.lp-template-strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:-4px 0 18px;display:grid}.lp-template-strip article{border:1px solid var(--line);background:#fff;border-radius:6px;gap:4px;min-height:86px;padding:12px;display:grid}.lp-template-strip strong{color:var(--brand-ink);font-size:11px}.lp-template-strip span{color:var(--muted);font-size:9px;line-height:1.45}.lp-grid-row{grid-template-columns:minmax(185px,1.2fr) .85fr .65fr .74fr .76fr .55fr}.inline-meta{color:var(--muted);margin-top:3px;font-size:10px;display:block}.ava-workbench{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:6px;margin:0 0 18px;overflow:hidden}.ava-workbench>header{border-bottom:1px solid #e3ebe6;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.ava-workbench h2{margin:0 0 3px;font-size:16px}.ava-workbench header>div:first-child>span{color:var(--muted);font-size:10px;line-height:1.5;display:block}.ava-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.ava-week-grid{grid-template-columns:repeat(7,minmax(130px,1fr));display:grid;overflow:auto}.ava-week-grid article{border-right:1px solid #e7eeea;min-height:172px;padding:13px}.ava-week-grid article:last-child{border-right:0}.ava-week-grid article>strong{font-size:11px;display:block}.ava-week-grid article>span{color:var(--muted);margin:3px 0 10px;font-size:9px;display:block}.ava-week-grid article>div{gap:6px;display:grid}.ava-slot,.ava-booked,.ava-empty-day{border-radius:4px;margin:0;padding:7px;font-size:9px;line-height:1.45}.ava-slot{background:var(--brand-soft);color:var(--brand-ink)}.ava-booked{background:var(--amber-soft);color:#84560f}.ava-empty-day{color:#89958e;background:#f6f8f7}.ava-unstructured{color:#79591d;background:#fff8e9;align-items:flex-start;gap:10px;padding:16px 18px;display:flex}.ava-unstructured>div{gap:4px;display:grid}.ava-unstructured strong{font-size:11px}.ava-unstructured span{color:#6a6454;font-size:10px;line-height:1.55}.ava-unstructured small{color:#8a7650;font-size:9px;line-height:1.45}.operation-recommendations{gap:7px;display:grid}.choice-button,.selected-choice{cursor:pointer;text-align:left;background:#fff;border:1px solid #dce7e1;border-radius:5px;justify-content:space-between;align-items:center;gap:9px;width:100%;padding:9px;display:flex}.choice-button:hover{border-color:var(--brand-line);background:#f8fbfa}.selected-choice{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink)}.choice-button>span,.selected-choice>span{gap:2px;display:grid}.choice-button strong,.selected-choice strong{font-size:10px}.choice-button small,.selected-choice small{color:var(--muted);font-size:9px}@media (min-width:761px){.lp-template-strip article{min-height:98px;padding:15px}.lp-template-strip strong{font-size:13px}.lp-template-strip span{font-size:11px}.ava-workbench>header{padding:18px 20px}.ava-workbench h2{font-size:18px}.ava-workbench header>div:first-child>span{font-size:12px}.ava-week-grid article{min-height:196px;padding:16px}.ava-week-grid article>strong{font-size:13px}.ava-week-grid article>span{font-size:11px}.ava-slot,.ava-booked,.ava-empty-day{padding:8px;font-size:11px}.ava-unstructured strong{font-size:13px}.ava-unstructured span{font-size:12px}.ava-unstructured small{font-size:11px}.choice-button strong,.selected-choice strong{font-size:12px}.choice-button small,.selected-choice small{font-size:11px}}@media (max-width:1000px){.lp-template-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.lp-template-strip{grid-template-columns:1fr}.ava-workbench>header{padding:14px;display:grid}.ava-actions{justify-content:stretch}.ava-actions>*{flex:150px}.ava-week-grid{grid-template-columns:repeat(7,150px)}}.login-shell{background:radial-gradient(circle at 12% 14%,#75c9c22e,#0000 34%),linear-gradient(135deg,#f7fbfa 0%,#eef6f3 100%);align-items:center;min-height:100vh;padding:24px;display:flex}.login-panel{background:#ffffffeb;border:1px solid #d9ebe6;border-radius:8px;gap:14px;width:100%;max-width:420px;margin:auto;padding:32px;display:grid;box-shadow:0 24px 70px #184c4321}.brand-mark{background:var(--brand);color:#0a3f3a;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:800;display:flex}.login-panel h1{color:var(--brand-ink);letter-spacing:0;margin:0;font-size:30px}.login-copy{color:var(--muted);margin:0;font-size:14px;line-height:1.65}.login-form{gap:10px;margin-top:8px;display:grid}.login-form label{color:var(--brand-ink);font-size:12px;font-weight:700}.login-form input{color:var(--ink);font:inherit;border:1px solid #cfe3dd;border-radius:6px;min-height:44px;padding:0 12px}.login-form button{background:var(--brand-deep);color:#fff;cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;width:100%;min-height:44px;padding:0 16px;font-weight:800;display:flex}.login-form button:disabled{cursor:wait;opacity:.68}.nixon-access-dialog{max-width:440px}.nixon-access-copy{background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-ink);align-items:flex-start;gap:10px;margin-top:16px;padding:12px;display:flex}.nixon-access-copy svg{flex:none}.nixon-access-copy p{margin:0;font-size:12px;line-height:1.6}.login-error,.login-success{border-radius:6px;padding:9px 10px;font-size:12px;line-height:1.5}.login-error{color:#aa3324;background:#fff0ee}.login-success{color:#12665e;background:#edf8f5}.live-sync{color:#256c61;white-space:nowrap;background:#eef8f5;border:1px solid #cfe8e1;border-radius:999px;align-items:center;gap:6px;min-height:28px;padding:0 9px;font-size:10px;font-weight:700;display:inline-flex}.live-sync i{background:#43a889;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #43a88921}.live-sync.saving{color:#315f7b;background:#edf5fb;border-color:#cddfed}.live-sync.saving i{background:#5b95b8}.live-sync.conflict,.live-sync.error,.live-sync.offline{color:#805a18;background:#fff7e8;border-color:#ead6aa}.live-sync.conflict i,.live-sync.error i,.live-sync.offline i{background:#d89b2e}.source-panel{min-width:0}.source-list{gap:0;display:grid}.source-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.source-row:last-child{border-bottom:0}.source-row>span:first-child{gap:4px;min-width:0;display:grid}.source-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.source-row small{color:var(--muted);font-size:10px}.sync-workspace{gap:14px;display:grid}.sync-workspace .sync-summary{margin:0}.sync-workspace .data-snapshot-bar{margin:0;padding:15px 18px}.sync-workspace .sync-layout{align-items:stretch;gap:14px}.sync-workspace .ownership-panel,.sync-workspace .source-panel{padding:0 20px 18px}.sync-workspace .ownership-panel .panel-header,.sync-workspace .source-panel .panel-header{padding-left:0;padding-right:0}.sync-workspace .source-row{padding:15px 0}@media (min-width:761px){.sync-workspace .sync-layout{grid-template-columns:minmax(360px,.86fr) minmax(0,1.14fr)}}.student-grid input:disabled{cursor:not-allowed;opacity:.25}@media (max-width:760px){.live-sync{display:none}.source-row{align-items:flex-start}}.pagination{box-sizing:border-box;justify-content:space-between;align-items:center;display:flex}.pagination>div{align-items:center;gap:7px;display:flex}.pagination strong{white-space:nowrap;justify-content:center;align-items:center;min-width:96px;min-height:32px;font-family:DM Mono,monospace;font-size:11px;line-height:1;display:flex}.pagination button{flex:none;justify-content:center;align-items:center;padding:0;display:flex}.schedule-shell .calendar-toolbar{flex-wrap:wrap;gap:12px}.schedule-shell .calendar-toolbar>strong{text-align:center;flex:170px}.schedule-shell .toolbar-actions{flex-wrap:wrap}.schedule-main{height:100%;min-height:0;display:block!important}.schedule-main>.agenda-list,.schedule-main>.week-board{height:100%;min-height:0}.schedule-main>.agenda-list{grid-template-rows:auto minmax(0,1fr) auto;display:grid}.schedule-main .agenda-list .collection-viewport{height:auto;min-height:0;max-height:none}.week-board{background:#f6faf8;grid-template-columns:repeat(7,minmax(185px,1fr));height:100%;min-height:0;display:grid;overflow:auto}.week-board.compact{grid-template-columns:repeat(7,minmax(150px,1fr))}.week-board.single-day{grid-template-columns:minmax(360px,1fr)}.week-day{border-right:1px solid #dfe8e3;grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.week-day:last-child{border-right:0}.week-day>header{z-index:2;background:#eef7f4;border-bottom:1px solid #dfe8e3;justify-content:space-between;align-items:center;gap:8px;min-height:56px;padding:10px 11px;display:flex;position:sticky;top:0}.week-day>header span{gap:2px;min-width:0;display:grid}.week-day>header strong{font-size:12px}.week-day>header small,.week-day>header b{color:var(--muted);font-size:10px;font-weight:600}.week-day-events{align-content:start;gap:8px;min-height:0;padding:10px;display:grid;overflow-y:auto}.week-event{color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:1px solid #dce7e1;border-radius:6px;grid-template-columns:auto minmax(0,1fr);gap:2px 8px;width:100%;min-height:76px;padding:9px;display:grid}.week-board.compact .week-event{min-height:64px;padding:7px}.week-event:hover{border-color:var(--brand-line);box-shadow:0 4px 12px #12554c14}.week-event.selected{border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand-deep);background:#e1f6f3}.week-event>span{grid-row:1/4;line-height:1.3;display:grid}.week-event>span strong{color:var(--brand-ink);font-family:DM Mono,monospace;font-size:11px}.week-event>span small,.week-event>small,.week-event>em{color:var(--muted);font-size:9px;font-style:normal}.week-event>b,.week-event>small,.week-event>em{text-overflow:ellipsis;white-space:nowrap;grid-column:2;overflow:hidden}.week-event>b{font-size:11px}.week-event.green{border-left:3px solid #62a47c}.week-event.blue{border-left:3px solid #669bc7}.week-event.amber{border-left:3px solid #d9a13b}.week-day-empty{color:var(--muted);text-align:center;padding:18px 8px;font-size:10px;line-height:1.5}@media (min-width:761px){.schedule-shell>.schedule-layout{height:clamp(610px,100dvh - 300px,790px)}.renewal-collection>.collection-main{grid-template-rows:auto minmax(0,1fr) auto;height:clamp(560px,100dvh - 340px,700px);min-height:0;display:grid}.renewal-collection .collection-viewport{height:auto;min-height:0;max-height:none}.payroll-layout .collection-viewport{grid-auto-rows:minmax(58px,1fr);align-content:stretch;display:grid}}@media (max-width:760px){.pagination{gap:10px;padding:10px 12px}.pagination>span{font-size:10px}.pagination strong{min-width:82px;font-size:10px}.schedule-shell .calendar-toolbar>strong{text-align:left;flex-basis:100%;order:3}.schedule-shell .toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.schedule-shell .toolbar-actions .filter-select{width:100%;min-width:0}.schedule-main>.week-board{height:560px}.week-board,.week-board.compact{grid-template-columns:repeat(7,minmax(260px,1fr))}.week-board.single-day{grid-template-columns:minmax(280px,1fr)}.renewal-collection>.collection-main{height:auto}}.renewal-status-cell{align-items:start;gap:4px;min-width:0;display:grid}.renewal-status-cell .status-pill{justify-self:start}.renewal-status-cell small,.upload-field small{color:var(--muted);font-size:11px;line-height:1.45}.upload-field input[type=file]{padding:9px}.file-source-link{align-items:center;gap:5px;display:inline-flex}@media (min-width:761px){body{font-size:15px}.nav-item,.workspace-switch,.top-search,.operator,.breadcrumb,.primary-button,.secondary-button{font-size:14px}.compact-button,.text-button,.segmented button,.view-tabs button,.filter-select{font-size:13px}.search-field input{font-size:14px}.collection-head{font-size:12px}.collection-row,.collection-row,.row-primary strong,.task-copy strong,.schedule-copy strong{font-size:14px}.row-primary strong{font-size:15px}.collection-row small,.row-primary small,.row-cell small,.task-copy span,.task-copy small,.status-pill,.result-count,.pagination span,.pagination strong,.detail-top p,.detail-section>span,.detail-section div>span,.status-select{font-size:12px}.detail-section strong{font-size:15px}.detail-section p{font-size:13px}.renewal-grid-row{grid-template-columns:minmax(190px,1.15fr) .45fr .6fr .55fr minmax(175px,.95fr) minmax(105px,.55fr)}}
