:root{--bg: #f5f6fa;--surface: #fff;--ink: #202e35;--muted: #748089;--line: #e7ecee;--teal: #087d72;--teal-soft: #e9f5f1;--radius: 16px}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.55}a{color:var(--teal);text-decoration:none}button,input{font:inherit}button,.button-link{cursor:pointer}button{transition:background .15s,transform .15s}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #74cbb8;outline-offset:3px}input:not([type=checkbox]){width:100%;border:1px solid #dce3e5;border-radius:9px;padding:12px 14px;background:#fff;color:var(--ink);min-height:46px}input::placeholder{color:#9aa5ab}input[type=checkbox]{accent-color:var(--teal);width:16px;height:16px}label{display:block;font-size:13px;font-weight:600;margin:17px 0 7px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(26px,3vw,34px);letter-spacing:-1.1px;line-height:1.2;margin-bottom:12px;font-weight:650}h2{font-size:19px;font-weight:650;letter-spacing:-.4px;margin-bottom:8px}p{margin-bottom:16px}.muted{color:var(--muted)}.eyebrow{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1.8px;margin-bottom:13px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:9px;font-weight:600;min-height:45px;white-space:nowrap}.primary{color:#fff;border:1px solid var(--teal);background:var(--teal)}.primary:hover:not(:disabled){background:#066b62}.secondary{color:#3c5158;border:1px solid #dce3e5;background:#fff}.secondary:hover:not(:disabled){background:#f2f7f5}.small{padding:7px 12px;min-height:34px;font-size:12px}.full{width:100%}.text-button{background:none;border:0;color:var(--muted);padding:7px;font-size:12px}.danger{color:#af3e3e}.pill{display:inline-flex;align-items:center;gap:8px;color:var(--teal);background:var(--teal-soft);font-size:10px;letter-spacing:.8px;font-weight:650;padding:6px 10px;border-radius:5px}.alert{border-radius:9px;padding:13px 17px;margin:16px 0}.error{color:#a13232;background:#fceeee;border:1px solid #f3d6d6}.success{color:#17634f;background:#e9f5ef;border:1px solid #cde9dc}.field-hint{display:block;color:var(--muted);font-size:12px;margin-top:8px}.brand{display:flex;align-items:center;color:var(--ink);font-size:27px;font-weight:750;letter-spacing:-1.2px;gap:10px}.brand-mark{display:inline-flex;justify-content:center;align-items:center;width:35px;height:35px;background:var(--teal);color:#fff;font-size:28px;line-height:1;border-radius:10px;padding-bottom:5px}.brand-dot{color:var(--teal);margin-left:-10px}.workspace{display:flex;min-height:100vh}.sidebar{width:230px;flex:0 0 230px;background:#fff;border-right:1px solid var(--line);padding:31px 23px;display:flex;flex-direction:column}.sidebar-label{font-size:9px;color:#98a2a7;letter-spacing:1.4px;margin:52px 10px 15px}.nav-item{display:flex;align-items:center;gap:11px;padding:12px;border-radius:8px;font-size:13px;margin-bottom:6px;white-space:nowrap}.nav-item>span{font-size:20px;width:20px}.nav-item.active{background:var(--teal-soft);color:var(--teal);font-weight:600}.unavailable{color:#9ca7ad}.nav-item small{font-size:8px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding:40px 4px 0;font-size:11px;color:#62787d}.sidebar-bottom p{color:#99a3a8;font-size:11px;margin:12px 0 0}.live-dot{display:inline-block;width:6px;height:6px;background:#3eab85;border-radius:50%;margin-right:5px}.main-area{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:81px;padding:0 42px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;gap:15px}.breadcrumb{font-size:11px;color:#7e8a91}.breadcrumb span{color:#bcc4c8;margin:0 13px}.account{display:flex;align-items:center;gap:10px}.account-name{font-size:12px}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:33px;height:33px;background:#f2e9d9;color:#8c7045;font-weight:600;flex-shrink:0}.content{width:100%;max-width:1500px;margin:0 auto;padding:40px 42px;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading p{font-size:13px;margin-bottom:0}.welcome-banner{padding:30px 34px;background:#eaf3ef;border:1px solid #deebe3;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:33px;overflow:hidden}.welcome-banner h2{font-size:26px;margin-top:18px}.welcome-banner p{font-size:13px;color:#658077;margin-bottom:0}.welcome-banner .pill{background:#dcece3;font-size:9px}.banner-art{position:relative;font-size:100px;line-height:1;font-weight:200;color:#75a794;margin-right:25px;transform:rotate(-10deg)}.banner-art span{position:absolute;top:-15px;right:-35px;font-size:50px;color:#c4a773}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0 20px}.section-heading h2{margin-bottom:0}.section-heading p{margin:6px 0 0;font-size:12px}.section-heading>span{font-size:11px}.count{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:23px;background:#e8ecee;border-radius:6px;font-size:11px;margin-left:7px;color:#74828a;vertical-align:middle}.school-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}.school-card{position:relative;display:block;border:1px solid var(--line);background:#fff;padding:25px 25px 0;border-radius:12px;color:var(--ink);transition:border-color .2s,transform .2s}.school-card:hover{border-color:#90bfb1;transform:translateY(-2px)}.school-card h2{margin-top:21px}.school-card p{font-size:11px}.school-icon{display:inline-flex;align-items:center;justify-content:center;background:#f1f5f1;color:#538c73;width:48px;height:48px;border-radius:11px;font-size:26px}.card-arrow{position:absolute;right:25px;top:25px;color:#a2adb1}.badge-list{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 24px}.badge{display:inline-block;font-size:10px;border:1px solid #e3e9e7;background:#f4f7f5;color:#5f7e70;padding:3px 7px;border-radius:5px;margin:2px;white-space:nowrap}.card-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:15px 0;color:#5b7178;font-size:11px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;margin-bottom:22px}.panel .section-heading{margin-top:0}.inline-form{display:flex;align-items:flex-end;gap:15px}.inline-form>div:first-child{flex:2}.inline-form>div{flex:1}.school-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:0 20px}.school-create-form>div{min-width:0}.school-create-form select{width:100%;min-height:46px}.school-create-form .school-administrator-name{grid-column:1/-1}.school-create-form>button{justify-self:end;margin-top:20px}.person-name-fields{border:0;padding:0;margin:17px 0 7px;min-width:0}.person-name-fields legend{font-size:13px;font-weight:600;padding:0}.person-name-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:15px}.person-name-grid label{min-width:0;margin-top:8px}.person-name-grid small{font-weight:400}app-person-name-fields{display:block;min-width:0;grid-column:1/-1}@media(max-width:760px){.school-create-form,.person-name-grid{grid-template-columns:1fr}.school-create-form>button{width:100%}}.empty-state{grid-column:1/-1;text-align:center;padding:45px 25px}.empty-state p{max-width:440px;margin:12px auto 23px}.empty-icon{font-size:40px;color:#a0b7af;display:block;margin-bottom:15px}.workspace-footer{display:flex;justify-content:space-between;font-size:10px;color:#9ca6ac;border-top:1px solid var(--line);padding:18px 42px}.back-link{display:inline-block;font-size:12px;margin-bottom:26px;color:#7b8d94}.separator{margin:0 9px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin:30px 0}.stat-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:21px 24px}.stat-card span,.stat-card small{display:block;color:var(--muted);font-size:11px}.stat-card strong{display:block;font-size:33px;font-weight:600;margin:8px 0 3px}.stat-card small{color:#a0a9af;font-size:10px}.tabs{display:flex;gap:25px;border-bottom:1px solid #dde4e5;margin:30px 0 25px;overflow-x:auto}.tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:0 0 13px;font-size:13px;white-space:nowrap}.tabs button.selected{color:var(--teal);border-bottom-color:var(--teal);font-weight:600}.annual-table{min-width:850px}.annual-table th,.annual-table td{min-width:95px}.annual-table th:first-child,.annual-table td:first-child{min-width:160px;position:sticky;left:0;background:var(--surface);z-index:1}.annual-table .grade-mark.no-grade{font-size:11px;white-space:normal}.annual-table .final-grade-form{min-width:270px}.annual-stale{padding:8px 10px;border-radius:8px;font-size:11px;color:#a26820;background:#fff5df;max-width:300px}.annual-panel>label select{display:block;width:100%;min-height:44px;margin-top:7px}.annual-panel .average-value{white-space:nowrap}.period-filters{align-items:end;padding-top:0}.period-filters label{margin-top:0;min-width:190px}.period-filters select,.period-panel>label select{display:block;width:100%;min-height:44px;margin-top:7px}.period-filters>.primary{margin:0 0 7px auto}.period-row-actions,.period-summary{display:flex;align-items:center;gap:12px}.period-summary{justify-content:space-between;flex-wrap:wrap;padding:22px 0;border-top:1px solid var(--line)}.period-summary p{color:var(--muted);font-size:11px;margin:7px 0 0}.period-results td{vertical-align:middle}.period-results th:first-child{min-width:160px}.average-value{color:var(--teal);font-size:23px;font-weight:600}.suggest-grade{display:block;font-size:10px;padding-left:0;white-space:nowrap}.final-grade-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:280px;max-width:520px}.final-grade-form select{min-height:38px;padding:7px 28px 7px 10px}.final-grade-form input:not([type=checkbox]){flex:1;min-width:160px;min-height:38px;width:180px;padding:7px 10px;font-size:11px}.final-comment{font-size:11px;margin:10px 0 0;max-width:350px}.period-results .grade-mark.no-grade{font-size:12px;white-space:normal}.period-family-toggle{display:flex;align-items:center;gap:8px;margin:0 0 10px auto!important;min-width:0!important;font-size:11px;font-weight:400}.closure-missing{max-height:220px;overflow:auto;color:var(--muted);font-size:12px;padding-left:22px}.education-dialog textarea{display:block;width:100%;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:9px;font:inherit;padding:12px;resize:vertical;margin-top:7px}@media(max-width:760px){.period-filters label{flex:1 1 100%;min-width:0}.period-filters>.primary{margin:0;width:100%}.period-family-toggle{margin-left:0!important}.period-row-actions{flex-wrap:wrap}.period-summary{gap:14px}.final-grade-form{min-width:240px}}.member-dialog.journal-dialog{width:min(1000px,100vw - 32px)}.journal-filters{align-items:end;padding-top:0}.journal-filters label{margin-top:0;min-width:220px}.journal-filters select{display:block;width:100%;margin-top:7px}.journal-scale-key{margin:0 0 10px auto;font-size:10px;color:var(--muted)}.journal-scale-key strong{display:block;font-size:15px;color:var(--teal);margin-top:4px}.journal-table{text-align:center}.journal-table th:first-child,.journal-table td:first-child{text-align:left;min-width:210px;position:sticky;left:0;background:var(--surface);z-index:1}.journal-table th:not(:first-child){min-width:110px}.journal-table .journal-lesson-heading{background:none;border:0;color:var(--ink);width:100%;padding:0;text-align:center}.journal-lesson-heading span,.journal-lesson-heading small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:4px}.journal-lesson-heading small{max-width:170px;white-space:normal}.journal-cell{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:10px;min-width:75px;min-height:50px;background:var(--surface)}.journal-cell:hover{background:var(--teal-soft)}.grade-mark{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:3px 8px;min-height:34px;border-radius:9px;color:var(--teal);background:var(--teal-soft);font-size:19px;font-weight:700;white-space:nowrap}.grade-mark.no-grade{color:var(--muted);background:transparent;font-weight:400}.attendance-chip{color:var(--muted);font-size:10px}.journal-dialog{width:min(1000px,100vw - 32px);max-height:92vh}.journal-dialog fieldset{border:0;padding:0;margin:0;min-width:0}.journal-dialog textarea{display:block;resize:vertical;width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:12px;border-radius:10px;margin-top:7px}.journal-homework-footer{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.journal-homework-footer label{margin-bottom:0}.journal-content-form{border-bottom:1px solid var(--line)}.journal-student-row{padding:18px 0;border-bottom:1px solid var(--line)}.journal-student-row>strong{display:block;font-size:13px}.journal-student-row fieldset{display:flex;gap:14px;align-items:end}.journal-student-row label{flex:1;min-width:110px}.journal-student-row .record-comment{flex:2}.journal-student-row select{display:block;width:100%;min-height:46px;margin-top:7px}.journal-student-row button{margin-bottom:7px}.scale-panel{max-width:850px}.scale-options{display:grid;grid-template-columns:repeat(5,1fr);gap:15px}.scale-options label span{display:block;font-size:11px;color:var(--muted);margin-bottom:8px}.scale-options input{text-align:center;font-size:22px;font-weight:600}.journal-scale-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:12px}.diary-days{display:grid;gap:25px}.diary-day{border:1px solid var(--line);border-radius:14px;overflow:hidden}.diary-day>header{display:flex;justify-content:space-between;align-items:center;background:var(--bg);border-bottom:1px solid var(--line);padding:15px 20px}.diary-day h2{font-size:16px;margin:0;text-transform:capitalize}.diary-day>header span{font-size:10px;color:var(--teal)}.diary-day.is-today{border-color:var(--teal)}.diary-lesson{display:grid;grid-template-columns:65px minmax(0,1fr) 90px;gap:20px;padding:22px;border-bottom:1px solid var(--line)}.diary-lesson:last-child{border:0}.diary-time{color:var(--teal);font-size:14px;font-weight:600}.diary-time small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:5px}.diary-work h3{font-size:17px;margin-bottom:8px}.diary-work .badge{vertical-align:middle;margin-left:7px}.diary-work p{font-size:12px;margin-bottom:10px;overflow-wrap:anywhere}.diary-result{text-align:center}.diary-result small{display:block;font-size:10px;color:var(--muted);margin-top:9px}.homework-block{padding:14px 16px;background:var(--bg);border-radius:10px;margin-top:14px;font-size:12px}.homework-block>strong{color:var(--teal)}.homework-block p{margin-top:7px;margin-bottom:3px}.homework-block small{color:var(--muted);font-size:11px}.preserve-lines{white-space:pre-wrap}.teacher-comment{padding:12px 0 0}.diary-lesson.cancelled{opacity:.7}.diary-lesson.cancelled h3{text-decoration:line-through}@media(max-width:760px){.journal-filters label{flex:1 1 100%;min-width:0}.journal-scale-key{margin-left:0}.journal-student-row fieldset{flex-wrap:wrap}.journal-student-row .record-comment{flex-basis:100%}.journal-homework-footer{flex-wrap:wrap;gap:12px}.scale-options{grid-template-columns:repeat(2,1fr)}.diary-lesson{grid-template-columns:1fr auto;gap:12px;padding:17px}.diary-time{grid-column:1/-1}.diary-time small{display:inline;margin-left:8px}.diary-work h3{font-size:15px}.diary-work .badge{margin-left:0}.diary-result{max-width:70px}.journal-table th:first-child,.journal-table td:first-child{min-width:150px}}.teaching-panel .tabs{margin-top:0;margin-bottom:8px}.teaching-panel .week-toolbar{padding-top:16px;padding-bottom:18px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{color:#929da3;font-size:10px;font-weight:500;padding:16px 12px;border-bottom:1px solid var(--line)}td{padding:19px 12px;border-bottom:1px solid #eef1f2;vertical-align:middle}tbody tr:last-child td{border-bottom:0}.person-cell{display:flex;align-items:center;gap:10px;min-width:140px}.role-checks{display:flex;flex-wrap:wrap;gap:6px 11px;min-width:190px;max-width:270px}.role-checks label,.role-picker label,.access-check{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:400;margin:0;white-space:nowrap}.invite-form{display:flex;align-items:end;gap:20px}.invite-form>div{flex:1;max-width:430px}.role-picker{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0 5px}.invite-result{background:#f3f8f5;padding:16px;border-radius:10px;margin-top:22px}.invite-result label{margin-top:0}.invite-result input{font-size:11px;margin-bottom:10px}.settings-panel{max-width:650px}.settings-panel button{margin-top:25px}.auth-layout{display:flex;min-height:100vh}.auth-story{width:47%;background:#103e38;color:#fff;padding:45px 60px 28px;display:flex;flex-direction:column}.brand.light{color:#fff}.brand.light .brand-mark{color:#103e38;background:#c6ddc0}.auth-story-content{margin:auto 0;padding:60px 0;max-width:470px}.auth-story .eyebrow{color:#9ab8a9}.auth-story h1{font-size:clamp(32px,3.5vw,49px);font-weight:500;line-height:1.2;letter-spacing:-1.7px;margin:22px 0}.auth-story p{color:#a6beb4;font-size:13px;line-height:1.9}.story-card{margin-top:45px;padding:24px;border:1px solid #406158;border-radius:15px;background:#1a4940;max-width:340px}.story-icon{color:#d9deb0;font-size:24px;margin-bottom:10px}.story-card strong{font-size:14px;font-weight:500}.story-card p{font-size:12px;margin-top:10px}.story-avatars{display:flex;align-items:center;margin-top:23px}.story-avatars span{display:inline-flex;align-items:center;justify-content:center;border:2px solid #1a4940;border-radius:50%;width:30px;height:30px;color:#355449;background:#e2d8bc;margin-right:-8px;font-size:10px}.story-avatars span:nth-child(2){background:#b7c7af}.story-avatars span:nth-child(3){background:#d8bda5}.story-avatars small{margin-left:20px;color:#98b1a7;font-size:10px}.auth-story-footer{color:#8ca99d;font-size:10px}.auth-main{flex:1;background:#fcfcfb;display:flex;align-items:center;justify-content:center;padding:50px}.auth-form-wrap{width:100%;max-width:380px}.auth-form-wrap h2{font-size:30px;letter-spacing:-1px;margin-top:22px}.auth-form-wrap>.muted{font-size:13px;margin:13px 0 30px}.auth-form-wrap form button{margin-top:27px}.auth-switch{text-align:center;font-size:12px;color:#7f8c91;margin-top:25px}.auth-switch a{font-weight:600;margin-left:4px}.auth-note{border-top:1px solid var(--line);padding-top:20px;font-size:10px;color:#99a4a8;text-align:center;margin-top:28px}.join-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:30px}.join-panel{max-width:540px;padding:40px}.join-panel .brand{margin-bottom:38px}.join-panel h1{margin-top:20px;font-size:29px}.join-panel .button-link{margin-top:12px}.join-back{display:block;margin-top:20px;text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.main-area{background:radial-gradient(ellipse at 90% 0,rgba(234,234,250,.5333333333),transparent 55%),radial-gradient(ellipse at 10% 0,rgba(246,240,220,.4),transparent 45%)}.panel,.school-card,.stat-card{border-radius:18px}.stats-grid .stat-card:nth-child(2){background:linear-gradient(120deg,var(--surface) 60%,#eeedfc)}.stats-grid .stat-card:nth-child(3){background:linear-gradient(120deg,var(--surface) 60%,#fff5df)}.header-start{display:flex;align-items:center;gap:16px;min-width:0}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);background:var(--surface);border-radius:10px;color:#6a7785;padding:7px;flex-shrink:0}.icon-button:hover{background:var(--teal-soft)}.icon-button.selected{color:var(--teal);border-color:#a5c9bf}.theme-toggle{border-radius:50%;margin-right:10px}.sidebar .nav-label{font-size:13px;width:auto}.sidebar .nav-item{gap:10px}.nav-collapsed .sidebar{width:76px;flex-basis:76px;padding-left:18px;padding-right:18px}.nav-collapsed .sidebar .brand{font-size:0;gap:0}.nav-collapsed .brand-dot,.nav-collapsed .sidebar-label,.nav-collapsed .sidebar-bottom,.nav-collapsed .nav-label,.nav-collapsed .nav-item small{display:none}.nav-collapsed .sidebar nav{margin-top:35px}.nav-collapsed .nav-item{padding:9px}.table-toolbar{display:flex;flex-wrap:wrap;gap:12px;padding:16px 0 22px}.search-field{position:relative;flex:1;min-width:180px}.search-field span{position:absolute;left:13px;top:7px;font-size:22px;color:#94a0a8}.search-field input:not([type=checkbox]){padding-left:38px}select{font:inherit;font-size:12px;color:var(--ink);padding:10px 30px 10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);max-width:100%}.table-toolbar .icon-button{width:45px;height:46px;font-size:23px}thead{background:#f7f8fc}th{font-size:11px;color:#7d8797}.table-scroll table{min-width:600px}.table-scroll th:first-child{border-radius:9px 0 0 9px}.table-scroll th:last-child{border-radius:0 9px 9px 0}.sort-button{background:none;border:0;color:inherit;padding:0;font:inherit}.row-action{border:0;padding:7px 9px;border-radius:6px;background:#efeffa;color:#6563a8;font-size:11px;white-space:nowrap}.status-badge{display:inline-flex;align-items:center;padding:4px 9px;border-radius:20px;color:#248060;background:#e9f7ee;white-space:nowrap;font-size:10px}.status-badge.inactive{color:#8b8595;background:#f0eef3}.status-badge.inactive .live-dot{background:#a7a0b0}.dense td{padding-top:9px;padding-bottom:9px}.table-footer{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:10px;border-top:1px solid var(--line);padding-top:18px;margin-top:10px}.page-size{display:flex;align-items:center;gap:7px;margin:0 0 0 auto;font-size:10px;font-weight:400}.page-size select{padding:6px}.pagination{display:flex;align-items:center;gap:10px}.pagination .icon-button{width:27px;height:27px;border-radius:7px}.people-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.person-card{padding:22px 14px;border:1px solid var(--line);border-radius:13px;text-align:center}.avatar.large{width:55px;height:55px;font-size:20px}.person-card h3{margin:13px 0 9px;font-size:14px}.person-card .badge-list{justify-content:center;margin:16px 0}.empty-filter{padding:40px 15px;text-align:center;color:var(--muted)}.member-dialog{width:min(520px,100vw - 32px);border:1px solid var(--line);border-radius:22px;padding:30px;background:var(--surface);color:var(--ink);box-shadow:0 30px 100px #142b3930}.member-dialog::backdrop{background:#1e2b3c66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-heading .eyebrow{font-size:9px}.dialog-heading h2{margin-bottom:13px}.member-dialog .muted{font-size:12px}.permission-options{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:24px}.permission-options label{display:flex;align-items:flex-start;gap:12px;padding:15px;margin:0;border-bottom:1px solid var(--line)}.permission-options label:last-child{border-bottom:0}.permission-options strong{font-size:12px}.permission-options small,.access-toggle small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:4px}.permission-options input{margin-top:4px}.access-toggle{display:flex;align-items:center;justify-content:space-between;margin:22px 0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:23px}html[data-theme=dark]{--bg: #171d28;--surface: #222a38;--ink: #e4e9f0;--muted: #a2aebc;--line: #343e4e;--teal: #55bda7;--teal-soft: #24433f}html[data-theme=dark] .main-area{background:radial-gradient(ellipse at top right,rgba(57,49,74,.2666666667),transparent 60%)}html[data-theme=dark] .sidebar,html[data-theme=dark] .topbar,html[data-theme=dark] .panel,html[data-theme=dark] .school-card,html[data-theme=dark] .secondary,html[data-theme=dark] .stat-card,html[data-theme=dark] .auth-main,html[data-theme=dark] input:not([type=checkbox]){background:var(--surface);color:var(--ink);border-color:var(--line)}html[data-theme=dark] .primary{background:#168c78;border-color:#168c78}html[data-theme=dark] .welcome-banner{background:#253f38;border-color:#35574b}html[data-theme=dark] .welcome-banner p{color:#b0c9c0}html[data-theme=dark] .welcome-banner .pill{background:#325348;color:#b0d8c8}html[data-theme=dark] .badge{background:#283f3b;border-color:#39524a;color:#bad2c4}html[data-theme=dark] .stats-grid .stat-card{background:var(--surface)}html[data-theme=dark] .school-icon{background:#2c413c;color:#8fc4ad}html[data-theme=dark] thead{background:#2a3242}html[data-theme=dark] .invite-result{background:#283d37}html[data-theme=dark] .auth-note,html[data-theme=dark] td{border-color:var(--line)}html[data-theme=dark] .text-button{color:#abb7c4}html[data-theme=dark] .breadcrumb{color:#a2aebc}html[data-theme=dark] .row-action{color:#c4bdea;background:#36334c}html[data-theme=dark] .error{background:#482c32;color:#ffc3c3;border-color:#6a3c44}html[data-theme=dark] .success{background:#284438;color:#b1e0c3;border-color:#3c614d}@media(min-width:1500px){.content{padding-top:50px}}@media(max-width:1100px){.sidebar{width:190px;flex-basis:190px;padding:27px 15px}.content{padding:30px 25px}.topbar{padding:0 25px}.auth-story{padding:40px 35px}.auth-main{padding:35px}.invite-form{flex-wrap:wrap}}@media(max-width:760px){.sidebar{width:68px;flex-basis:68px;padding:20px 15px}.sidebar .brand{font-size:0;gap:0}.sidebar .brand-dot,.sidebar-label,.sidebar-bottom{display:none}.sidebar nav{margin-top:35px}.nav-item{padding:10px;font-size:0;gap:0}.nav-item>span{font-size:22px}.nav-item small{display:none}.topbar{height:67px;padding:0 18px}.breadcrumb{display:none}.account{margin-left:auto}.account-name{max-width:130px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.content{padding:25px 17px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading .primary{width:100%}.welcome-banner{padding:25px}.welcome-banner h2{font-size:22px}.banner-art{display:none}.section-heading>span{display:none}.inline-form{flex-direction:column;align-items:stretch}.stats-grid{gap:8px}.stat-card{padding:15px 10px}.stat-card strong{font-size:27px}.stat-card small{display:none}.panel{padding:19px}.workspace-footer{padding:15px 17px}.workspace-footer span{display:none}.tabs{gap:20px}.auth-story{display:none}.auth-main{padding:40px 24px}.invite-form{flex-direction:column;align-items:stretch;gap:15px}.invite-form>div{max-width:none}.join-panel{padding:28px}}@media(max-width:760px){.sidebar .nav-label{display:none}.sidebar .nav-item{padding:9px 7px}.sidebar{padding-left:13px;padding-right:13px}.nav-collapsed .sidebar{display:none}.table-footer{gap:10px}.page-size{margin-left:0}.account{gap:7px}.theme-toggle{margin-right:0}.account-name{max-width:100px}.table-toolbar select{flex:1;min-width:110px}.table-toolbar .search-field{flex-basis:100%}}.education-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border:1px solid #cde4dc;border-radius:15px;background:var(--teal-soft);margin-bottom:25px}.education-entry small{display:block;color:var(--muted);margin-top:4px;font-size:11px}.education-entry>span:last-child{font-size:12px;white-space:nowrap}.nav-item:not(.active):not(.unavailable){color:var(--muted)}.teaching-panel{min-width:0}.teaching-panel .tabs{overflow-x:auto}.teaching-panel .tabs button{white-space:nowrap}.schedule-filters{align-items:end}.schedule-filters label{min-width:200px;margin:0}.schedule-filters select{display:block;width:100%;margin-top:7px}.schedule-timezone{margin:0 0 3px auto;font-size:11px;text-align:right}.schedule-timezone strong{font-weight:500;color:var(--ink)}.week-toolbar,.week-controls{display:flex;align-items:center;gap:14px}.week-toolbar{justify-content:space-between;border-top:1px solid var(--line);padding:22px 0;flex-wrap:wrap}.week-toolbar h2{font-size:19px;margin:0}.week-toolbar label{margin:0;font-size:10px}.week-toolbar input{margin-top:5px}.week-controls .secondary{padding:8px 13px}.schedule-grid{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));gap:10px;overflow-x:auto;padding:2px 0 15px}.schedule-day{background:var(--bg);border:1px solid var(--line);border-radius:13px;min-height:250px;padding:10px}.schedule-day>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 0 12px;border-bottom:1px solid var(--line);margin-bottom:13px}.schedule-day>header span{display:block;text-transform:capitalize;color:var(--muted);font-size:10px;margin-bottom:5px}.schedule-day>header strong{font-size:14px}.schedule-day>header .icon-button{width:24px;height:24px;border-radius:7px;font-size:17px}.schedule-day.is-today{border-color:var(--teal)}.schedule-day.is-today>header strong{color:var(--teal)}.lesson-card{border:1px solid var(--line);border-left:3px solid var(--teal);background:var(--surface);border-radius:9px;padding:12px 10px;margin:10px 0;overflow-wrap:anywhere}.lesson-time{color:var(--teal);font-size:10px;font-weight:600}.lesson-card h3{font-size:13px;margin:10px 0 8px;line-height:1.4}.lesson-card p{font-size:10px;color:var(--muted);line-height:1.5;margin:7px 0}.lesson-card .lesson-class{font-weight:600;color:var(--ink)}.lesson-class span{font-weight:400}.lesson-card .text-button{font-size:10px;padding:5px 0;margin-top:5px}.lesson-card.cancelled{border-left-color:#a1a6b1;opacity:.7}.lesson-card.cancelled h3{text-decoration:line-through}.lesson-time .badge{display:block;margin-top:7px;width:fit-content;font-size:9px}.lesson-card .lesson-warning{color:#ad6227}.lesson-note{border-top:1px dashed var(--line);padding-top:7px}.day-empty{color:var(--muted);font-size:10px;text-align:center;margin-top:24px}.schedule-help{color:var(--muted);font-size:11px;margin:16px 0 0}.cell-note{display:block;color:var(--muted);font-size:10px;margin-top:6px}.form-grid .full{grid-column:1/-1}.hint{color:var(--muted);font-size:11px;line-height:1.7;margin:18px 0 22px}.education-dialog .checkbox{display:flex;align-items:center;gap:8px}.education-dialog small{font-size:10px;color:var(--muted);font-weight:400}.teaching-panel .table-toolbar>input{max-width:350px}.teaching-panel .checkbox{display:flex;align-items:center;gap:8px}.teaching-panel .empty-state{padding:35px 15px;text-align:center;color:var(--muted)}@media(max-width:760px){.schedule-grid{grid-template-columns:1fr;overflow:visible}.schedule-day{min-height:0}.schedule-day>header{margin-bottom:4px}.day-empty{margin:12px 0}.schedule-timezone{margin-left:0;text-align:left}.schedule-filters label{min-width:0;flex:1 1 100%}.week-controls{gap:8px}.week-toolbar h2{font-size:15px}.week-toolbar{gap:18px}.schedule-filters select{min-width:0}.lesson-card h3{font-size:15px}.lesson-card p,.lesson-time,.lesson-card .text-button{font-size:12px}}.stat-card .stat-text{font-size:24px;margin-top:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.spaced{margin-top:20px}.education-dialog{width:min(680px,100vw - 32px);max-height:90vh}.education-dialog select,.profile-main select{width:100%;min-height:44px}.class-card{border:1px solid var(--line);border-radius:14px;padding:22px}.class-card h2{margin-top:18px;font-size:24px}.class-card .muted{font-size:12px}.class-actions{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.class-card .school-icon{font-size:20px}.roster-enroll{border-top:1px solid var(--line);margin-top:22px;padding-top:24px}.roster-enroll h3{margin-bottom:0}.profile-hero{display:flex;align-items:center;gap:22px;padding:30px}.profile-hero .profile-avatar{width:76px;height:76px;font-size:32px;border-radius:22px}.profile-hero h1{font-size:clamp(23px,3vw,31px)}.profile-hero button{margin-left:auto}.profile-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:24px}.profile-grid>*{min-width:0}.person-info{margin:20px 0 0}.person-info>div{display:grid;grid-template-columns:160px 1fr;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.person-info>div:last-child{border-bottom:0}.person-info dt{color:var(--muted);font-size:12px}.person-info dd{margin:0;word-break:break-word;font-size:13px}.profile-note{background:var(--teal-soft)}.profile-note h2{font-size:16px}.profile-note p,.profile-aside p{font-size:12px}.enrollment-timeline{margin-top:20px}.enrollment-item{display:flex;justify-content:space-between;gap:14px;padding:17px 0 17px 18px;border-left:2px solid #d1e5dc;margin-left:5px;position:relative}.enrollment-item:before{content:"";width:8px;height:8px;background:var(--teal);border-radius:50%;position:absolute;left:-5px;top:26px}.enrollment-item h3{margin:10px 0 6px;font-size:20px}.enrollment-item p{font-size:11px;margin-bottom:8px}.enrollment-actions{display:flex;align-items:start;flex-direction:column}.embedded-form{background:var(--bg);padding:22px;border-radius:12px;margin-top:24px}.embedded-form h3{font-size:16px}.embedded-form .permission-options label{background:var(--surface)}.family-item{display:flex;align-items:start;gap:13px;border-bottom:1px solid var(--line);padding:18px 0}.family-item:last-child{border-bottom:0}.family-item>div:nth-child(2){flex:1;min-width:0}.family-item p{color:var(--muted);font-size:11px;margin:5px 0}.family-actions{display:flex;flex-direction:column;align-items:end}.family-item .badge{white-space:normal;font-size:9px}.profile-main .section-heading{align-items:start}.profile-main .section-heading h2{font-size:18px}.profile-aside .invite-result input{font-size:9px}@media(max-width:1100px){.profile-grid{grid-template-columns:1fr}.profile-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profile-hero h1{max-width:360px}.education-entry{padding:18px}}@media(max-width:760px){.form-grid{grid-template-columns:1fr;gap:0}.profile-hero{flex-wrap:wrap;gap:15px;padding:22px}.profile-hero button{margin-left:0}.profile-hero .profile-avatar{width:54px;height:54px;font-size:23px;border-radius:15px}.profile-hero .eyebrow{font-size:8px;letter-spacing:1px}.profile-hero h1{font-size:23px}.profile-aside{grid-template-columns:1fr;gap:0}.profile-grid{gap:0}.person-info>div{grid-template-columns:1fr;gap:4px}.family-item{flex-wrap:wrap}.family-actions{flex-direction:row;flex-basis:100%;margin-left:43px}.enrollment-item{flex-wrap:wrap}.enrollment-actions{flex-direction:row}.education-entry{align-items:start;flex-direction:column;gap:10px}.stat-card .stat-text{font-size:18px}.section-heading{flex-wrap:wrap}.school-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}}.bell-settings{padding:24px}.bell-presets{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}.bell-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:24px 0 32px}.bell-card{border:1px solid var(--border, #e5e9eb);border-radius:16px;padding:20px}.bell-card ol{list-style:none;padding:0;margin:12px 0 0}.bell-card li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border, #e5e9eb)}.bell-slot-editor{margin:20px 0}.bell-slot{display:grid;grid-template-columns:70px 1fr 1fr 32px;gap:10px;align-items:end;margin:12px 0}@media(max-width:560px){.bell-settings{padding:16px}.bell-slot{grid-template-columns:54px 1fr 1fr 28px;gap:6px}}.level-switch{display:flex;flex-wrap:wrap;gap:6px;padding:16px 24px}.level-switch button{border:1px solid #dbe5e3;background:transparent;border-radius:10px;padding:10px 16px;color:inherit}.level-switch button.selected{background:#e2f4ef;color:#146e59;border-color:#4ca88d}.calendar-mode .level-switch{padding:0}.day-grid{width:100%;border-collapse:separate;border-spacing:0}.day-grid th{position:sticky;top:0;z-index:1;background:var(--surface, #f4f8f7);min-width:200px}.day-grid th:first-child{min-width:130px;width:130px;left:0;z-index:2}.day-grid td{min-width:200px;padding:8px;vertical-align:top;border-right:1px solid #e4eae8;height:105px}.day-grid-scroll{max-height:72vh}.grid-lesson{display:flex;flex-direction:column;text-align:left;gap:6px;width:100%;min-height:90px;padding:12px;border-radius:10px;border:1px solid transparent;color:#243e36}.grid-lesson:hover{border-color:#267d65}.grid-lesson.cancelled{opacity:.55;text-decoration:line-through}.grid-lesson.teacher-muted{opacity:.35}.teacher-tone-0{background:#dceee7}.teacher-tone-1{background:#e3eafb}.teacher-tone-2{background:#f6e8d6}.teacher-tone-3{background:#efdef2}.teacher-tone-4{background:#d9f0f3}.teacher-tone-5{background:#f6dfe2}.teacher-tone-6{background:#ecebcf}.teacher-tone-7{background:#e7e3fa}.grid-slot-time{display:block;font-size:12px;color:#75837f;margin:8px}.grid-add{border:1px dashed #cedbd5;background:transparent;color:#267d65;border-radius:8px;padding:8px 12px;width:100%}.week-grid-scroll{max-height:76vh;overflow:auto}.table-scroll table.week-grid{table-layout:fixed;width:100%;min-width:0}.week-grid .week-slot-column{width:72px}.week-grid th,.week-grid th:first-child{min-width:0;width:auto;padding:8px 4px;overflow-wrap:anywhere}.week-grid thead th{text-align:center}.week-grid thead th{top:0;height:40px;box-sizing:border-box;background:var(--surface, #f3f8f6);z-index:5}.week-grid thead th:first-child{z-index:6}.week-grid tbody>tr:not(.week-day-heading)>th{top:auto;background:var(--surface, #f9fbfa);font-size:12px}.week-grid .week-day-heading th{position:sticky;top:40px;z-index:4;padding:12px 16px;background:#e6efec;color:#315d4f;text-align:left;text-transform:capitalize;border-block:1px solid #d6e3dd}.week-day-heading .badge{margin-left:12px;text-transform:none}.week-grid .week-day-heading.is-today th{background:#d5ece4}.week-grid td{height:54px;min-width:0;padding:3px;overflow-wrap:anywhere}.week-grid .grid-lesson{padding:0;min-height:0;cursor:default;gap:0}.grid-lesson-open{background:transparent;border:0;color:inherit;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;padding:6px 4px;width:100%;min-height:48px;justify-content:center;overflow:hidden}.grid-lesson-open strong{font-size:11px;line-height:1.25;font-weight:600;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.grid-lesson-open span,.grid-lesson-open small{font-size:11px}.grid-move{border:0;border-top:1px solid rgba(0,0,0,.0470588235);background:transparent;color:inherit;text-align:left;font-size:11px;padding:5px 12px 7px;width:100%}.grid-move:hover,.grid-move:focus-visible{background:#ffffff50}.week-grid .grid-lesson[draggable=true]{cursor:grab}.week-grid .grid-lesson[draggable=true]:active{cursor:grabbing}.week-grid .drag-source{opacity:.4}.week-grid-cell.drop-available{box-shadow:inset 0 0 0 1px #49a58a66;background:#e9f8f344}.week-grid-cell.drop-hover{box-shadow:inset 0 0 0 3px #168568;background:#d4f0e4}.week-grid-help,.transfer-status{margin-inline:24px}.transfer-status{color:#24765b}.week-grid .grid-slot-time{font-size:9px;margin:2px 0;text-align:center}.week-grid .grid-add{padding:3px;min-height:26px;font-size:16px}.grid-lesson-open:focus-visible{outline:2px solid var(--teal);outline-offset:1px;border-radius:8px}.lesson-details-list{margin:20px 0}.lesson-details-list>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.lesson-details-list dt{color:var(--muted);font-size:12px}.lesson-details-list dd{margin:0;font-size:14px;overflow-wrap:anywhere}.lesson-details-list small{display:block;margin-top:5px}.lesson-details-dialog .dialog-actions{flex-wrap:wrap}@media(max-width:760px){.week-grid .week-slot-column{width:48px}.week-grid th,.week-grid th:first-child{font-size:10px;padding:6px 2px}.week-grid td{padding:2px}.grid-lesson-open{padding:4px 2px}.grid-lesson-open strong{font-size:10px}}.cancel-scope{border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:20px}.cancel-scope legend{font-size:13px;font-weight:600;padding:0 6px}.cancel-scope label{display:block;font-size:13px;margin:10px 0}.cancel-scope small{margin-left:24px}.cancel-scope .hint{margin-bottom:0}.lesson-details-list>div{padding-block:8px}.cancel-scope label{display:grid;grid-template-columns:18px minmax(0,1fr);gap:4px 8px;align-items:center}.cancel-scope input[type=radio]{display:inline-block;width:16px;height:16px;min-height:0;padding:0;margin:0;grid-column:1;grid-row:span 2;accent-color:var(--teal)}.cancel-scope small{grid-column:2;margin:0}.cancellation-dialog>p{font-size:13px;line-height:1.6}.cancellation-totals{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}.cancellation-totals span{background:var(--bg);border:1px solid var(--line);padding:6px 9px;border-radius:8px;font-size:11px}.cancellation-items{max-height:35vh;overflow-y:auto;padding-right:8px}.cancellation-item{border-bottom:1px solid var(--line);padding:12px 0;overflow-wrap:anywhere}.cancellation-item h3{font-size:13px;margin:0 0 10px}.cancellation-item p,.cancellation-record{font-size:12px;line-height:1.6}.cancellation-record{display:flex;flex-direction:column;margin:10px 0;padding:10px;background:var(--bg);border-radius:8px}.lesson-history{margin:1.1rem 0;border-top:1px solid var(--line);padding-top:1rem}.lesson-history summary{cursor:pointer;font-weight:700}.lesson-history-events{list-style:none;padding:0;margin:.8rem 0;display:grid;gap:1rem;max-height:42vh;overflow-y:auto;overscroll-behavior:contain}.lesson-history-events>li{padding:.8rem;border:1px solid var(--line);border-radius:12px}.lesson-history-events header{display:flex;flex-wrap:wrap;gap:.4rem .7rem;align-items:center}.lesson-history-events header small{flex-basis:100%;color:var(--muted)}.history-scope{font-size:.75rem;color:var(--muted)}.history-values{overflow-x:auto;margin-top:.7rem}.history-values table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.83rem}.history-values th,.history-values td{text-align:left;vertical-align:top;padding:.5rem;overflow-wrap:anywhere;white-space:pre-wrap;border-bottom:1px solid var(--line)}.history-values th:first-child{width:28%}.history-student{margin:.7rem 0;font-size:.85rem}.history-related-group{margin-top:1rem}.history-related-group h4{margin:.5rem 0;font-size:.85rem}.history-filters fieldset{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.history-filters legend{font-weight:600;padding:0 5px}.history-filters label{display:grid;gap:5px;min-width:0;margin:0}.history-filters select,.history-filters input{width:100%;min-width:0;margin-top:0}.history-filter-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}@media(max-width:520px){.history-filters fieldset{grid-template-columns:minmax(0,1fr)}}.super-admin-label{display:block;font-size:10px;color:var(--teal);margin-top:3px}.system-user-filters{align-items:end;gap:16px;flex-wrap:wrap}.system-user-filters label{margin:0;min-width:160px}.system-user-filters input,.system-user-filters select{display:block;width:100%;margin-top:6px}.system-user-actions{display:flex;flex-wrap:wrap;gap:10px}.system-user-fields{border:0;margin:0;padding:0;min-width:0}.system-user-fields label{display:block}.system-user-fields input:not([type=checkbox]),.system-user-fields select{width:100%}.system-role-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.system-role-options label,.system-user-fields .checkbox{display:flex;align-items:center;gap:8px;margin:0}.system-memberships{padding-left:20px}.system-memberships li{margin-bottom:12px}.system-memberships span{display:block;color:var(--muted);font-size:12px}.account-security-panel{max-width:680px}.account-security-panel form{max-width:480px}a.account-name{color:inherit;text-decoration:none}a.account-name:hover{color:var(--teal)}.family-parent-draft{border:1px solid var(--line);border-radius:10px;padding:16px;margin:14px 0}
