:root{--petrol:#1f4b4f;--petrol-mid:#2f6b70;--petrol-muted:#9fbebe;--ocre:#c6693f;--ocre-soft:#d4855e;--ocre-deep:#a4522f;--ocre-light:#f3dccb;--cream:#f7f4ec;--cream-dark:#f0ece0;--white:#fff;--border:#e4ded0;--text-body:#5f6b6b;--success:#2d7a4f;--error:#9e2b2b;--shadow-sm:0 1px 3px #1f4b4f14;--shadow-card:0 2px 8px #1f4b4f14;--shadow-card-hover:0 6px 20px #1f4b4f33;--shadow-lg:0 8px 24px #1f4b4f3d}*{box-sizing:border-box}html,body{min-height:100%}body{color:var(--petrol);background:var(--cream);margin:0;font-family:Arial,Helvetica Neue,sans-serif;font-size:14px;line-height:1.6}button,input,select{font:inherit}button{border:0}button:not(:disabled),label{cursor:pointer}button:disabled{cursor:wait;opacity:.65}h1,h2,h3,p{margin:0}h1,h2,.topbar-title h1,.stat-card strong{letter-spacing:-.02em;font-family:Georgia,serif}.login-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-brand{background:var(--petrol);justify-content:center;align-items:center;min-height:100%;padding:64px;display:flex}.login-logo{width:100%;max-width:420px;height:auto}.brand-on-light{filter:brightness(0)saturate()invert(10%)sepia(21%)saturate(1893%)hue-rotate(164deg)brightness(91%)contrast(94%)}.login-form-side{background:var(--cream);justify-content:center;align-items:center;padding:48px;display:flex}.login-form{flex-direction:column;gap:24px;width:100%;max-width:380px;display:flex}.login-form h1{font-size:24px;line-height:1.2}.login-form p,.filter-row>p,.action-row>p{color:var(--text-body);font-size:14px}.login-form h1+p{margin-top:8px;line-height:1.6}.field-stack,.modal-form,.upload-card,.screen-stack,.detail-sessions{flex-direction:column;gap:20px;display:flex}.field-stack{gap:16px}.field{color:var(--petrol);flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.field input,.field select,.share-link-dialog input{border:1.5px solid var(--border);background:var(--white);width:100%;min-height:42px;color:var(--petrol);border-radius:8px;outline:none;padding:10px 12px;font-size:14px;font-weight:400;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}.field input:focus,.field select:focus,.share-link-dialog input:focus{border-color:var(--petrol);background:var(--cream)}.field input.has-error{border-color:var(--error)}.field-error,.inline-error{color:var(--error);font-size:12px;font-weight:700}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 14px;font-size:14px;font-weight:700;line-height:1.2;transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.button-primary{background:var(--ocre);color:var(--white)}.button-primary:hover{background:var(--ocre-soft)}.button-primary:active{background:var(--ocre-deep)}.button-secondary{border-color:var(--border);background:var(--white);color:var(--petrol)}.button-secondary:hover{background:var(--cream-dark)}.button-ghost{color:var(--text-body);background:0 0}.button-ghost:hover{background:var(--ocre-light);color:var(--petrol)}.button-large{width:100%;min-height:48px}.button-small{min-height:32px;padding:7px 11px;font-size:13px}.button-full{width:100%}.demo-accounts{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding-top:20px;display:flex}.eyebrow{color:var(--text-body);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700;line-height:1.3}.demo-account-row{gap:8px;display:flex}.demo-account-row button{border:1px solid var(--border);background:var(--white);min-width:0;color:var(--petrol);text-align:left;border-radius:8px;flex-direction:column;flex:1;padding:12px;transition:background-color .2s cubic-bezier(.4,0,.2,1);display:flex}.demo-account-row button:hover{background:var(--cream-dark)}.demo-account-row span{color:var(--text-body);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.app-loading,.screen-loading{min-height:100vh;color:var(--text-body);place-items:center;display:grid}.password-gate{background:var(--cream);place-items:center;min-height:100vh;padding:32px;display:grid}.password-card{border:1px solid var(--border);background:var(--white);width:min(100%,420px);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;gap:20px;padding:32px;display:flex}.password-card h1{font-size:24px;line-height:1.2}.password-card h1+p{color:var(--text-body);margin-top:8px}.screen-loading{min-height:200px}.app-shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--petrol);min-height:100vh;padding:20px 0}.sidebar-logo{object-fit:contain;object-position:left center;width:calc(100% - 40px);height:26px;margin:0 20px 32px;display:block}.sidebar nav{flex-direction:column;display:flex}.sidebar-item{min-height:41px;color:var(--petrol-muted);text-align:left;background:0 0;border-left:3px solid #0000;align-items:center;gap:12px;padding:10px 20px 10px 17px;font-size:14px;transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);display:flex}.sidebar-item:hover{color:var(--white)}.sidebar-item.is-active{border-left-color:var(--ocre);background:var(--petrol-mid);color:var(--white);font-weight:700}.app-stage{min-width:0}.topbar{border-bottom:1px solid var(--border);background:var(--white);justify-content:space-between;align-items:center;min-height:64px;padding:0 40px;display:flex}.topbar-title,.topbar-user,.action-row,.filter-row,.card-title-row,.student-heading,.calendar-toolbar,.modal-actions{align-items:center;display:flex}.topbar-title{gap:12px;min-width:0}.topbar-title h1{flex:none;font-size:20px;line-height:1.2}.topbar-title span{color:var(--text-body);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.topbar-user{gap:12px}.topbar-user>span{color:var(--petrol);font-size:13px;font-weight:700}.app-content{background:var(--cream);min-height:calc(100vh - 64px);padding:32px 40px 64px}.screen-stack{max-width:1160px}.action-row,.filter-row{justify-content:space-between;gap:16px}.pill-group{flex-wrap:wrap;gap:8px;display:flex}.pill{border:1px solid var(--border);background:var(--white);color:var(--text-body);border-radius:9999px;padding:7px 16px;font-size:12px;font-weight:700;transition:background-color .2s cubic-bezier(.4,0,.2,1)}.pill:hover{background:var(--ocre-light)}.pill.is-selected{border-color:var(--petrol);background:var(--petrol);color:var(--white)}.material-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.material-card,.student-card,.stat-card,.upload-card,.material-rail,.teacher-list-card,.access-card{border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow-card);border-radius:12px}.material-card{flex-direction:column;gap:14px;min-height:250px;padding:24px;display:flex}.card-title-row{justify-content:space-between;align-items:flex-start;gap:12px}.card-title-row h2{font-size:20px;line-height:1.3}.badge{border:1px solid var(--ocre);background:var(--ocre-light);min-width:34px;color:var(--ocre-deep);border-radius:9999px;justify-content:center;align-items:center;padding:3px 8px;font-size:12px;font-weight:700;line-height:1.2;display:inline-flex}.material-goal{color:var(--text-body);flex:1;line-height:1.6}.material-meta{color:var(--text-body);font-size:12px}.card-footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding-top:16px;display:flex}.empty-state{border:1px dashed var(--border);background:var(--cream-dark);color:var(--text-body);text-align:center;border-radius:12px;padding:40px}.student-grid{grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:16px;display:grid}.student-card{min-height:154px;color:var(--petrol);text-align:left;flex-direction:column;justify-content:space-between;padding:24px;transition:box-shadow .2s cubic-bezier(.4,0,.2,1);display:flex}.student-card:hover{box-shadow:var(--shadow-card-hover)}.student-heading{gap:12px}.student-heading>span{flex-direction:column;min-width:0;display:flex}.student-heading strong{font-size:15px}.student-heading small,.student-card footer span{color:var(--text-body);font-size:12px}.student-card footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:14px;display:flex}.avatar{background:var(--petrol);color:var(--white);border-radius:50%;flex:none;place-items:center;font-family:Georgia,serif;font-weight:700;display:inline-grid}.avatar-small{width:32px;height:32px;font-size:12px}.avatar-medium{width:40px;height:40px;font-size:14px}.avatar-large{width:64px;height:64px;font-size:20px}.modal-backdrop{z-index:70;background:#1f4b4f8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-panel{background:var(--white);width:min(100%,400px);box-shadow:var(--shadow-lg);border-radius:16px;padding:32px}.modal-panel h2{margin-bottom:20px;font-size:24px;line-height:1.2}.modal-form{gap:20px}.modal-actions{justify-content:flex-end;gap:12px}.back-link{color:var(--text-body);background:0 0;align-self:flex-start;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:700;display:inline-flex}.back-link:hover{color:var(--petrol)}.student-detail-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:24px;display:grid}.student-profile-card{border:1px solid var(--border);border-left:4px solid var(--ocre);background:var(--white);box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;gap:20px;padding:24px;display:flex}.student-profile-card h2{font-size:24px;line-height:1.2}.student-profile-card p{color:var(--text-body);margin-top:6px;font-size:13px}.session-list{flex-direction:column;gap:10px;display:flex}.session-row{border:1px solid var(--border);background:var(--white);border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:16px;padding:16px 20px;display:grid}.session-row>div{flex-direction:column;min-width:0;display:flex}.session-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.session-row span{color:var(--text-body);font-size:13px}.calendar-layout{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:24px;max-width:1160px;display:grid}.calendar-card{border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow-card);border-radius:12px;overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px;padding:16px 20px}.calendar-toolbar strong{font-size:13px}.calendar-toolbar select{border:1.5px solid var(--border);background:var(--white);min-height:36px;color:var(--petrol);border-radius:8px;padding:7px 10px}.calendar-toolbar>span{color:var(--text-body);margin-left:auto;font-size:13px}.calendar-grid{grid-template-columns:56px repeat(5,minmax(0,1fr));min-width:680px;display:grid}.calendar-corner,.calendar-day{border-bottom:1px solid var(--border);min-height:56px}.calendar-day{flex-direction:column;justify-content:center;align-items:center;padding:8px;display:flex}.calendar-day strong{font-size:12px}.calendar-day span{color:var(--text-body);font-size:11px}.calendar-hour{min-height:46px;color:var(--text-body);text-align:right;padding:12px 10px 0 0;font-size:11px}.calendar-cell{border-top:1px solid var(--border);border-left:1px solid var(--border);min-height:46px;padding:3px}.calendar-session{border-left:3px solid var(--ocre);background:var(--ocre-light);width:100%;height:100%;min-height:38px;color:var(--petrol);text-align:left;border-radius:4px;flex-direction:column;padding:5px 7px;display:flex;overflow:hidden}.calendar-session strong,.calendar-session span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-session strong{font-size:11px;line-height:1.3}.calendar-session span{color:var(--text-body);font-size:10px}.material-rail{flex-direction:column;gap:14px;padding:20px;display:flex;position:sticky;top:24px}.material-rail>p{color:var(--text-body);font-size:12px;line-height:1.6}.draggable-material{border:1px solid var(--border);background:var(--cream);cursor:grab;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;transition:background-color .2s cubic-bezier(.4,0,.2,1);display:flex}.draggable-material:hover{background:var(--ocre-light)}.draggable-material>span{flex-direction:column;min-width:0;display:flex}.draggable-material strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.draggable-material small{color:var(--text-body);font-size:11px}.class-viewer{z-index:50;background:var(--petrol);position:fixed;inset:0}.class-frame{background:var(--white);border:0;width:100%;height:100%;display:block}.viewer-exit{z-index:60;border:1px solid var(--petrol-mid);background:var(--petrol);color:var(--white);opacity:.28;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:700;transition:opacity .2s cubic-bezier(.4,0,.2,1);position:fixed;top:16px;left:16px}.viewer-exit:hover{opacity:1}.viewer-message{height:100%;color:var(--white);place-items:center;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat-card{flex-direction:column;justify-content:center;gap:8px;min-height:130px;padding:24px;display:flex}.stat-card strong{font-size:36px;line-height:1.1}.stat-card span{color:var(--text-body);font-size:13px}.table-section{flex-direction:column;gap:12px;display:flex}.data-table-wrap{border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow-card);border-radius:12px;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border);padding:13px 16px;font-size:13px}.data-table th{color:var(--text-body);font-weight:700}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background-color .2s cubic-bezier(.4,0,.2,1)}.data-table tbody tr[role],.data-table tbody tr[onclick]{cursor:pointer}.data-table tbody tr:hover{background:var(--ocre-light)}.table-ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:340px;overflow:hidden}.materials-layout{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:24px;max-width:1160px;display:grid}.upload-card{padding:24px}.upload-card h2{font-size:18px}.upload-card h2+p{color:var(--text-body);margin-top:4px;font-size:13px}.drop-zone{border:1.5px dashed var(--border);background:var(--cream);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:135px;padding:24px 16px;transition:background-color .2s cubic-bezier(.4,0,.2,1);display:flex}.drop-zone:hover{background:var(--ocre-light)}.drop-zone strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;overflow:hidden}.drop-zone span{color:var(--text-body);font-size:12px}.drop-zone input{display:none}.two-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.access-checklist{border:0;border-top:1px solid var(--border);flex-direction:column;gap:10px;margin:0;padding:16px 0 0;display:flex}.access-checklist legend{color:var(--petrol);margin-bottom:10px;padding:0;font-size:12px;font-weight:700}.access-checklist label{color:var(--petrol);align-items:center;gap:10px;font-size:13px;display:flex}.access-checklist input{width:16px;height:16px;accent-color:var(--ocre);margin:0}.access-checklist small{color:var(--text-body);font-size:12px}.success-message{color:var(--success);font-size:13px;font-weight:700}.library-table{min-width:0}.temporary-password{border:1px solid var(--border);border-left:4px solid var(--ocre);background:var(--ocre-light);border-radius:8px;padding:12px 16px}.access-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:24px;max-width:1160px;display:grid}.teacher-list-card{overflow:hidden}.teacher-list-card>.eyebrow{border-bottom:1px solid var(--border);padding:16px 20px}.teacher-list-item{border-bottom:1px solid var(--border);background:var(--white);width:100%;color:var(--petrol);text-align:left;border-left:3px solid #0000;flex-direction:column;gap:2px;padding:14px 20px 14px 17px;transition:background-color .2s cubic-bezier(.4,0,.2,1);display:flex}.teacher-list-item:hover{background:var(--ocre-light)}.teacher-list-item.is-selected{border-left-color:var(--ocre);background:var(--ocre-light)}.teacher-list-item strong{font-size:14px}.teacher-list-item span{color:var(--text-body);font-size:12px}.access-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.access-card{color:var(--petrol);text-align:left;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;transition:background-color .2s cubic-bezier(.4,0,.2,1);display:flex}.access-card:hover{background:var(--ocre-light)}.access-card>span{flex-direction:column;min-width:0;display:flex}.access-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.access-card small,.access-card b{color:var(--text-body);font-size:12px}.access-card b{flex:none}.access-card b.access-on{color:var(--success)}.share-link-dialog{color:var(--text-body);flex-direction:column;gap:16px;display:flex}.share-link-dialog p{font-size:14px}.share-link-dialog strong{color:var(--petrol)}.share-expiry{font-size:12px!important}.shared-class-page{background:var(--petrol);grid-template-rows:auto minmax(0,1fr);height:100vh;display:grid}.shared-class-note{background:var(--petrol);color:var(--white);justify-content:space-between;align-items:baseline;gap:16px;padding:10px 18px;display:flex}.shared-class-note span{color:var(--petrol-muted);font-size:12px}.shared-link-error{background:var(--cream);min-height:100vh;color:var(--petrol);text-align:center;place-content:center;gap:8px;padding:32px;display:grid}.shared-link-error h1{font-size:28px}.shared-link-error p{color:var(--text-body)}@media (max-width:1050px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.topbar,.app-content{padding-left:24px;padding-right:24px}.calendar-layout,.materials-layout,.access-layout,.student-detail-layout{grid-template-columns:1fr}.material-rail{position:static}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.student-wizard-backdrop{z-index:70;background:#1f4b4f8c;place-items:center;padding:24px;animation:.2s ease-out both student-wizard-overlay-in;display:grid;position:fixed;inset:0}.student-wizard-panel{background:var(--white);width:min(100%,820px);height:min(88vh,620px);min-height:520px;box-shadow:var(--shadow-lg);border-radius:16px;grid-template-columns:244px minmax(0,1fr);animation:.24s cubic-bezier(.4,0,.2,1) both student-wizard-panel-in;display:grid;overflow:hidden}.student-wizard-rail{background:var(--petrol);min-height:0;color:var(--white);flex-direction:column;padding:32px 24px 24px;display:flex}.student-wizard-eyebrow{color:var(--ocre);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700;line-height:1.3}.student-wizard-rail h2{color:var(--white);font-size:22px;line-height:1.15}.student-wizard-steps{flex-direction:column;gap:12px;margin:40px 0 0;padding:0;list-style:none;display:flex}.student-wizard-step{width:100%;color:var(--petrol-muted);text-align:left;background:0 0;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:10px;padding:0;transition:color .2s cubic-bezier(.4,0,.2,1);display:grid}.student-wizard-step>span{width:26px;height:26px;color:var(--petrol-muted);border:1px solid #9fbebe8c;border-radius:50%;place-items:center;font-size:12px;font-weight:700;transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);display:grid}.student-wizard-step strong{font-size:13px;line-height:1.25}.student-wizard-step.is-done,.student-wizard-step:not(:disabled):hover{color:var(--white)}.student-wizard-step.is-done>span{border-color:var(--ocre);background:var(--ocre);color:var(--petrol)}.student-wizard-step.is-active{color:var(--white)}.student-wizard-step.is-active>span{border-color:var(--white);background:var(--white);color:var(--petrol)}.student-wizard-step:disabled{cursor:default;opacity:1}.student-wizard-rail-note{color:var(--petrol-muted);margin-top:auto;padding-top:24px;font-size:12px;line-height:1.5}.student-wizard-main{grid-template-rows:4px auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.student-wizard-progress{background:var(--cream-dark);overflow:hidden}.student-wizard-progress span{background:var(--ocre);height:100%;transition:width .3s cubic-bezier(.4,0,.2,1);display:block}.student-wizard-header{border-bottom:1px solid var(--cream-dark);justify-content:space-between;align-items:baseline;gap:16px;padding:20px 32px 16px;display:flex}.student-wizard-header h1{font-size:24px;line-height:1.15}.student-wizard-header span{color:var(--text-body);flex:none;font-size:12px}.student-wizard-body{min-height:0;padding:24px 32px 28px;animation:.2s cubic-bezier(.4,0,.2,1) both student-wizard-content-in;overflow-y:auto}.student-wizard-fields{flex-direction:column;gap:24px;display:flex}.student-wizard-field{color:var(--petrol);flex-direction:column;gap:7px;font-size:14px;font-weight:700;display:flex}.student-wizard-field input,.student-wizard-field textarea{border:1.5px solid var(--border);background:var(--white);width:100%;min-height:42px;color:var(--petrol);font:inherit;resize:vertical;border-radius:8px;outline:none;padding:10px 12px;font-size:14px;font-weight:400;line-height:1.45;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}.student-wizard-field textarea{min-height:78px}.student-wizard-field textarea[rows="2"]{min-height:62px}.student-wizard-field input:focus,.student-wizard-field textarea:focus{border-color:var(--petrol);background:var(--cream)}.student-wizard-field small,.student-wizard-chip-group>small{color:var(--text-body);font-size:12px;font-weight:400;line-height:1.45}.student-wizard-chip-group{flex-direction:column;gap:7px;display:flex}.student-wizard-label{color:var(--petrol);font-size:14px;font-weight:700}.student-wizard-chips{flex-wrap:wrap;gap:8px;display:flex}.student-wizard-chip{border:1px solid var(--border);background:var(--white);min-height:38px;color:var(--petrol);border-radius:999px;padding:8px 15px;font-size:13px;font-weight:700;line-height:1.15;transition:background-color .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1)}.student-wizard-chip:hover{border-color:var(--ocre);background:var(--ocre-light)}.student-wizard-chip.is-selected{border-color:var(--petrol);background:var(--petrol);color:var(--white)}.student-wizard-chip.is-wide{min-width:72px}.student-wizard-chip:focus-visible,.student-wizard-step:focus-visible,.student-wizard-ghost:focus-visible{outline-offset:3px;outline:3px solid #c6693f73}.student-wizard-divider{background:var(--cream-dark);height:1px}.student-wizard-conditional{border:1px solid var(--border);border-left:4px solid var(--ocre);background:var(--cream);border-radius:12px;flex-direction:column;gap:20px;padding:20px;display:flex}.student-wizard-two-fields{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.student-wizard-summary{background:var(--petrol);color:var(--white);border-radius:12px;padding:20px 24px}.student-wizard-summary>span{color:var(--ocre-soft);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.student-wizard-summary p{color:var(--white);margin-top:6px;font-family:Georgia,serif;font-size:15px;line-height:1.5}.student-wizard-footer{border-top:1px solid var(--cream-dark);background:var(--white);justify-content:space-between;align-items:center;gap:20px;padding:20px 32px;display:flex}.student-wizard-ghost{min-height:40px;color:var(--text-body);background:0 0;padding:9px 0;font-size:14px;font-weight:700}.student-wizard-ghost:hover{color:var(--petrol)}.student-wizard-next{justify-content:flex-end;align-items:center;gap:14px;display:flex}.student-wizard-missing{color:var(--text-body);text-align:right;font-size:12px}.student-wizard-continue:disabled{cursor:not-allowed;opacity:.45}.student-wizard-confirmation{flex-direction:column;grid-row:2/-1;justify-content:center;align-items:flex-start;padding:48px;animation:.25s cubic-bezier(.4,0,.2,1) both student-wizard-content-in;display:flex}.student-wizard-confirm-icon{background:var(--ocre-light);width:56px;height:56px;color:var(--petrol);border-radius:50%;place-items:center;display:grid}.student-wizard-confirmation h1{margin-top:24px;font-size:26px;line-height:1.15}.student-wizard-confirmation>p{max-width:405px;color:var(--text-body);margin-top:12px;font-size:14px}.student-wizard-confirmation>div:last-child{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.student-detail-main{flex-direction:column;gap:24px;min-width:0;display:flex}.student-profile-detail{border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow-card);border-radius:12px;padding:24px}.student-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin-top:18px;display:grid}.student-profile-grid>div{min-width:0}.student-profile-grid span{color:var(--text-body);font-size:12px;font-weight:700;display:block}.student-profile-grid p{color:var(--petrol);overflow-wrap:anywhere;margin-top:3px;font-size:14px;line-height:1.5}@keyframes student-wizard-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes student-wizard-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes student-wizard-content-in{0%{opacity:0}to{opacity:1}}@media (max-width:760px){.student-wizard-backdrop{padding:12px}.student-wizard-panel{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;height:min(94vh,720px);min-height:0}.student-wizard-rail{padding:18px 20px 16px;display:block}.student-wizard-rail h2{font-size:19px}.student-wizard-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.student-wizard-step{justify-content:center;display:flex}.student-wizard-step strong,.student-wizard-rail-note{display:none}.student-wizard-main{grid-template-rows:4px auto minmax(0,1fr) auto}.student-wizard-header{padding:16px 20px 14px}.student-wizard-header h1{font-size:22px}.student-wizard-body{padding:20px}.student-wizard-footer{padding:16px 20px}.student-wizard-confirmation{padding:32px 24px}.student-profile-grid{grid-template-columns:1fr}}@media (max-width:520px){.student-wizard-header{flex-direction:column;align-items:flex-start;gap:4px}.student-wizard-footer,.student-wizard-next{flex-direction:column-reverse;align-items:stretch;gap:8px}.student-wizard-missing{text-align:left}.student-wizard-two-fields{grid-template-columns:1fr}.student-wizard-chip{padding-left:13px;padding-right:13px}}.schedule-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;width:100%;max-width:1160px;display:grid}.schedule-main{flex-direction:column;gap:16px;min-width:0;display:flex}.schedule-student-switcher,.schedule-week-card,.schedule-material-card{border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow-card);border-radius:12px}.schedule-student-switcher{flex-wrap:wrap;align-items:center;gap:8px;padding:16px;display:flex}.schedule-student-label{color:var(--text-body);letter-spacing:.08em;text-transform:uppercase;margin-right:2px;font-size:11px;font-weight:700;line-height:1.3}.schedule-student-chip{border:1.5px solid var(--border);background:var(--white);min-height:36px;color:var(--petrol);text-align:left;border-radius:999px;align-items:center;gap:7px;padding:5px 13px 5px 6px;font-size:13px;font-weight:700;line-height:1;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.schedule-student-chip:hover{border-color:var(--ocre-soft);background:var(--ocre-light)}.schedule-student-chip.is-selected{border-color:var(--petrol);background:var(--petrol);color:var(--white)}.schedule-student-chip.is-selected:hover{background:var(--petrol-mid)}.schedule-student-chip:focus-visible,.schedule-week-button:focus-visible,.schedule-cell:focus-visible,.schedule-plus:focus-visible,.schedule-session:focus-visible,.schedule-session-open:focus-visible,.schedule-session-remove:focus-visible,.schedule-material:focus-visible,.schedule-add-student:focus-visible,.schedule-add-class:focus-visible,.schedule-add-footer button:focus-visible,.schedule-toast button:focus-visible{outline-offset:2px;outline:3px solid #c6693f85}.schedule-student-avatar{background:var(--cream-dark);width:24px;height:24px;color:var(--petrol);letter-spacing:.02em;border-radius:50%;flex:0 0 24px;place-items:center;font-size:10px;font-weight:700;display:inline-grid;overflow:hidden}.schedule-student-chip.is-selected .schedule-student-avatar{background:var(--ocre);color:var(--petrol)}.schedule-student-chip small{color:var(--text-body);font-size:11px;font-weight:400}.schedule-student-chip.is-selected small{color:var(--petrol-muted)}.schedule-week-card{overflow:hidden}.schedule-week-toolbar{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"nav title summary""nav return summary";align-items:center;gap:8px 16px;min-height:120px;padding:16px 20px;display:grid}.schedule-week-nav{grid-area:nav;align-self:start;gap:6px;display:inline-flex}.schedule-week-button{border:1.5px solid var(--border);background:var(--white);width:32px;height:32px;color:var(--petrol);border-radius:8px;place-items:center;padding:0;font-size:20px;line-height:1;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);display:inline-grid}.schedule-week-button:hover:not(:disabled){border-color:var(--border);background:var(--cream-dark)}.schedule-week-button:disabled{cursor:not-allowed}.schedule-week-title{min-width:0;color:var(--petrol);grid-area:title;font-size:14px;font-weight:700;line-height:1.35}.schedule-week-toolbar>a,.schedule-week-toolbar>button:not(.schedule-week-button){color:var(--ocre-deep);background:0 0;grid-area:return;justify-self:start;padding:0;font-size:12px;font-weight:700;line-height:1.3;text-decoration:none}.schedule-week-toolbar>a:hover,.schedule-week-toolbar>button:not(.schedule-week-button):hover{color:var(--petrol)}.schedule-week-summary{color:var(--text-body);text-align:right;grid-area:summary;font-size:13px;line-height:1.45}.schedule-grid-scroll{scrollbar-color:var(--border) transparent;scrollbar-width:thin;width:100%;overflow:auto hidden}.schedule-grid{background:var(--white);grid-template-columns:56px repeat(5,minmax(0,1fr));min-width:680px;display:grid}.schedule-day,.schedule-hour,.schedule-cell{min-width:0}.schedule-corner{border-bottom:1px solid var(--border);min-height:60px}.schedule-day{border-bottom:1px solid var(--border);min-height:60px;color:var(--petrol);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:8px;font-size:12px;font-weight:700;line-height:1.25;display:flex}.schedule-day:first-child{padding:0}.schedule-day small,.schedule-day span{color:var(--text-body);font-size:11px;font-weight:400}.schedule-hour{min-height:52px;color:var(--text-body);text-align:right;padding:12px 10px 0 0;font-size:11px;line-height:1.2}.schedule-cell{border-top:1px solid var(--border);border-left:1px solid var(--border);background:var(--white);min-height:52px;color:var(--petrol);align-items:stretch;padding:3px;transition:background-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.schedule-cell.is-free:hover{background:var(--cream)}.schedule-cell.is-free{cursor:pointer}.schedule-cell.is-covered{background:var(--cream)}.schedule-cell.is-drag-legal{background:#fbede4}.schedule-cell.is-drag-over{z-index:1;background:var(--ocre-light);box-shadow:inset 0 0 0 1.5px var(--ocre)}.schedule-plus{width:100%;min-height:100%;color:var(--ocre-deep);opacity:0;background:0 0;place-items:center;padding:0;font-size:23px;font-weight:400;line-height:1;transition:opacity .15s cubic-bezier(.4,0,.2,1);display:grid;position:absolute;inset:0}.schedule-cell.is-free:hover .schedule-plus,.schedule-cell.is-drag-over .schedule-plus{opacity:1}.schedule-session{border:0;border-left:3px solid var(--ocre);background:var(--ocre-light);width:100%;min-height:44px;color:var(--petrol);cursor:grab;text-align:left;border-radius:4px;flex-direction:column;justify-content:center;padding:5px 22px 5px 7px;transition:background-color .15s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.schedule-session:hover{background:#efc4ac}.schedule-session.is-dragging{cursor:grabbing;opacity:.35}.schedule-session.is-keyboard-selected{box-shadow:inset 0 0 0 1.5px var(--petrol)}.schedule-session.is-other{border-left-color:var(--border);background:var(--cream-dark);color:var(--text-body);cursor:pointer}.schedule-session.is-other:hover{background:var(--cream-dark)}.schedule-session-open{width:100%;min-width:0;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;display:block;overflow:hidden}.schedule-session-open strong,.schedule-session-open span,.schedule-session>strong,.schedule-session>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.schedule-session-open strong,.schedule-session>strong{color:inherit;font-size:11px;font-weight:700;line-height:1.3}.schedule-session-open span,.schedule-session>span{color:var(--text-body);margin-top:1px;font-size:10px;font-weight:400;line-height:1.25}.schedule-session.is-other .schedule-session-open strong,.schedule-session.is-other .schedule-session-open span{color:var(--text-body)}.schedule-session-remove{width:18px;height:18px;color:var(--text-body);cursor:pointer;opacity:.5;background:0 0;border-radius:4px;place-items:center;padding:0;font-size:16px;font-weight:400;line-height:1;transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1);display:grid;position:absolute;top:3px;right:3px}.schedule-session-remove:hover{color:var(--error);opacity:1;background:#efc4ac}.schedule-continuation{color:var(--text-body);align-items:center;gap:4px;font-size:10px;font-style:italic;line-height:1.2;display:inline-flex}.schedule-rail{flex-direction:column;gap:16px;display:flex;position:sticky;top:24px}.schedule-material-card{flex-direction:column;gap:14px;padding:20px;display:flex}.schedule-material-card>div>p{color:var(--text-body);margin-top:8px;font-size:12px;line-height:1.6}.schedule-search{border:1.5px solid var(--border);background:var(--white);width:100%;min-height:36px;color:var(--petrol);border-radius:8px;outline:none;padding:8px 10px;font-size:13px;line-height:1.3;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}.schedule-search::placeholder{color:var(--text-body);opacity:1}.schedule-search:focus{border-color:var(--petrol);background:var(--cream)}.schedule-material-list,.schedule-add-list{flex-direction:column;gap:8px;display:flex}.schedule-material-list{max-height:420px;overflow-y:auto}.schedule-material-list .empty-state,.schedule-add-list .empty-state{padding:20px;font-size:12px}.schedule-material{border:1px solid var(--border);background:var(--cream);min-width:0;color:var(--petrol);cursor:grab;text-align:left;border-radius:8px;flex-direction:column;gap:1px;padding:10px 12px;transition:background-color .15s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1);display:flex}.schedule-material:hover{border-color:var(--ocre-soft);background:var(--ocre-light)}.schedule-material>span{flex-direction:column;min-width:0;display:flex}.schedule-material:active{cursor:grabbing}.schedule-material[aria-grabbed=true],.schedule-material.is-dragging{opacity:.4}.schedule-material strong{color:var(--petrol);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;line-height:1.3;overflow:hidden}.schedule-material small,.schedule-material span{color:var(--text-body);font-size:11px;line-height:1.35}.schedule-week-stats{background:var(--petrol);color:var(--white);border-radius:12px;flex-direction:column;gap:10px;padding:20px;display:flex}.schedule-week-stats .eyebrow{color:var(--ocre);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700;line-height:1.3}.schedule-week-stats>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.schedule-week-stats span,.schedule-week-stats small{color:var(--petrol-muted);font-size:13px;font-weight:400;line-height:1.3}.schedule-week-stats strong{color:var(--white);font-family:Georgia,serif;font-size:20px;font-weight:400;line-height:1.15}.schedule-add-backdrop{z-index:70;background:#1f4b4f8c;place-items:center;padding:24px;animation:.22s cubic-bezier(.4,0,.2,1) both schedule-add-backdrop-in;display:grid;position:fixed;inset:0}.schedule-add-dialog{background:var(--white);width:min(100%,520px);max-height:min(82vh,680px);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;animation:.22s cubic-bezier(.4,0,.2,1) both schedule-add-dialog-in;display:flex;overflow:hidden}.schedule-add-header{flex-direction:column;gap:6px;padding:28px 28px 20px;display:flex}.schedule-add-header h2{color:var(--petrol);font-size:24px;line-height:1.15}.schedule-add-header>p:not(.schedule-slot-eyebrow){color:var(--text-body);font-size:13px}.schedule-slot-eyebrow{color:var(--ocre-deep);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700;line-height:1.3}.schedule-add-students{flex-direction:column;gap:8px;padding:0 28px 18px;display:flex}.schedule-add-students>span{color:var(--petrol);font-size:12px;font-weight:700}.schedule-add-students>div{flex-wrap:wrap;gap:8px;display:flex}.schedule-add-student{border:1.5px solid var(--border);background:var(--white);min-height:34px;color:var(--petrol);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:700;line-height:1;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.schedule-add-student:hover{border-color:var(--ocre-soft);background:var(--ocre-light)}.schedule-add-student.is-selected{border-color:var(--petrol);background:var(--petrol);color:var(--white)}.schedule-add-search{padding:0 28px 12px}.schedule-add-search input{border:1.5px solid var(--border);background:var(--white);width:100%;min-height:42px;color:var(--petrol);font:inherit;border-radius:8px;outline:none;padding:10px 12px;font-size:14px;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}.schedule-add-search input:focus{border-color:var(--petrol);background:var(--cream)}.schedule-add-list{border-top:1px solid var(--border);min-height:0;padding:16px 28px 20px;overflow-y:auto}.schedule-add-class{border:1px solid var(--border);background:var(--white);width:100%;color:var(--petrol);text-align:left;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1);display:grid}.schedule-add-class:hover:not(:disabled){border-color:var(--ocre-soft);background:var(--cream)}.schedule-add-class.is-selected,.schedule-add-class[aria-pressed=true]{border-color:var(--ocre);background:var(--ocre-light)}.schedule-add-class:disabled{cursor:not-allowed}.schedule-add-class>span:first-child{flex-direction:column;min-width:0;display:flex}.schedule-add-class strong{color:var(--petrol);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;line-height:1.3;overflow:hidden}.schedule-add-class small{color:var(--text-body);font-size:11px;line-height:1.35}.schedule-add-class>span:last-child{color:var(--ocre-deep);background:#fff0e7;border:1px solid #e7b69b;border-radius:999px;justify-content:center;align-items:center;padding:3px 8px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.schedule-add-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 28px 20px;display:flex}.schedule-add-footer p,.schedule-add-footer>span{color:var(--text-body);font-size:12px;line-height:1.45}.schedule-add-footer button{color:var(--ocre-deep);background:0 0;flex:none;padding:0;font-size:13px;font-weight:700}.schedule-add-footer button:hover{color:var(--petrol)}.schedule-toast{z-index:80;background:var(--petrol);max-width:calc(100vw - 32px);color:var(--white);box-shadow:var(--shadow-lg);border-radius:999px;align-items:center;gap:12px;padding:14px 20px;font-size:13px;line-height:1.35;animation:.2s cubic-bezier(.4,0,.2,1) both schedule-toast-in;display:inline-flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.schedule-toast>span{min-width:0}.schedule-toast button{color:var(--ocre);background:0 0;flex:none;padding:0;font-size:13px;font-weight:700}.schedule-toast button:hover{color:var(--white)}.schedule-loading{color:var(--text-body);margin:-4px 0 0;font-size:12px}@keyframes schedule-add-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes schedule-add-dialog-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes schedule-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:1050px){.schedule-layout{grid-template-columns:1fr}.schedule-rail{position:static}.schedule-material-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (max-width:680px){.schedule-student-switcher{padding:14px}.schedule-student-label{width:100%}.schedule-week-toolbar{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"nav summary""title title""return return";gap:12px;min-height:0;padding:16px}.schedule-week-title{font-size:14px}.schedule-grid-scroll{-webkit-overflow-scrolling:touch}.schedule-grid{min-width:680px}.schedule-rail{padding:0}.schedule-material-list{grid-template-columns:1fr}.schedule-week-stats{padding:16px}.schedule-add-backdrop{align-items:end;padding:12px}.schedule-add-dialog{width:100%;max-height:min(90vh,760px)}.schedule-add-header{padding:24px 20px 16px}.schedule-add-header h2{font-size:22px}.schedule-add-students,.schedule-add-list,.schedule-add-search{padding-left:20px;padding-right:20px}.schedule-add-footer{padding:16px 20px}.schedule-toast{align-items:flex-start;padding:13px 16px;bottom:16px}}@media (max-width:420px){.schedule-student-chip{padding-right:10px}.schedule-student-chip:not(.is-selected),.schedule-week-summary{font-size:12px}.schedule-add-footer{flex-direction:column;align-items:flex-start;gap:8px}.schedule-week-stats{gap:8px}}@media (prefers-reduced-motion:reduce){.schedule-student-chip,.schedule-week-button,.schedule-cell,.schedule-plus,.schedule-session,.schedule-session-remove,.schedule-material,.schedule-search,.schedule-add-student,.schedule-add-class,.schedule-add-backdrop,.schedule-add-dialog,.schedule-toast{transition-duration:.01ms!important;animation-duration:.01ms!important}}.modal-backdrop{background:#1f4b4f8c;animation:.2s cubic-bezier(.4,0,.2,1) both admin-fade}.modal-panel{animation:.22s cubic-bezier(.4,0,.2,1) both admin-modal-in}.button-danger{background:var(--error);color:var(--white)}.button-danger:hover{background:#7a1f1f}.app-shell--admin .sidebar-item.is-active{background:var(--petrol-mid)}.admin-screen{flex-direction:column;gap:20px;width:min(100%,1160px);display:flex}.admin-screen button:focus-visible,.admin-screen input:focus-visible{outline-offset:2px;outline:3px solid #c6693f6b}.admin-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.admin-stat-card,.admin-panel-card,.admin-toolbar-card,.admin-table-card,.admin-teachers-list,.admin-access-matrix-card{border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow-card);border-radius:12px}.admin-stat-card{flex-direction:column;justify-content:center;gap:4px;min-height:184px;padding:25px;display:flex}.admin-stat-card>strong{color:var(--petrol);letter-spacing:-.04em;font-family:Georgia,serif;font-size:45px;font-weight:400;line-height:1}.admin-stat-card>span{color:var(--text-body);font-size:14px;line-height:1.45}.admin-stat-status{min-height:21px;margin-top:14px;font-size:12px;font-weight:700}.admin-stat-status.is-success{color:var(--success)}.admin-stat-status.is-warning{color:var(--error)}.admin-stat-status.is-neutral{color:var(--text-body);font-weight:400}.admin-dashboard-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:16px;display:grid}.admin-panel-card{min-height:278px;overflow:hidden}.admin-panel-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;display:flex}.admin-panel-heading>span,.admin-detail-section-heading>span{color:var(--petrol);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.admin-panel-heading small,.admin-detail-section-heading small{color:var(--text-body);font-size:12px}.admin-attention-list{flex-direction:column;display:flex}.admin-attention-item{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:21px 24px;display:grid}.admin-attention-item:last-child{border-bottom:0}.admin-attention-item strong{color:var(--petrol);font-size:15px;line-height:1.3;display:block}.admin-attention-item p,.admin-everything-ok p{color:var(--text-body);margin-top:5px;font-size:13px;line-height:1.5}.admin-everything-ok{align-items:flex-start;gap:12px;padding:24px;display:flex}.admin-everything-ok svg{color:var(--success);flex:none}.admin-load-list{flex-direction:column;padding:9px 24px 17px;display:flex}.admin-load-row{border-bottom:1px solid var(--border);color:inherit;text-align:left;background:0 0;flex-direction:column;gap:7px;padding:15px 0;display:flex}.admin-load-row:last-child{border-bottom:0}.admin-load-row>span{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.admin-load-row strong{color:var(--petrol);font-size:14px}.admin-load-row small{color:var(--text-body);font-size:11px}.admin-load-row i{background:var(--cream-dark);border-radius:99px;width:100%;height:4px;display:block;overflow:hidden}.admin-load-row b{border-radius:inherit;background:var(--ocre);height:100%;transition:width .2s cubic-bezier(.4,0,.2,1);display:block}.admin-toolbar-card{flex-wrap:wrap;align-items:center;gap:12px;padding:16px;display:flex}.admin-search-field{border:1.5px solid var(--border);background:var(--white);min-width:250px;color:var(--text-body);border-radius:8px;flex:310px;align-items:center;gap:9px;padding:0 13px;transition:border-color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);display:flex}.admin-search-field:focus-within{border-color:var(--petrol);background:var(--cream)}.admin-search-field input{width:100%;min-height:40px;color:var(--petrol);font:inherit;background:0 0;border:0;outline:0;font-size:14px}.admin-filter-chips{flex-wrap:wrap;gap:8px;display:flex}.admin-chip{border:1.5px solid var(--border);background:var(--white);min-height:34px;color:var(--text-body);border-radius:999px;padding:6px 15px;font-size:12px;font-weight:700;line-height:1;transition:color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1)}.admin-chip:hover{border-color:var(--ocre);background:var(--ocre-light);color:var(--ocre-deep)}.admin-chip.is-active{border-color:var(--petrol);background:var(--petrol);color:var(--white)}.admin-toolbar-bottom{justify-content:space-between;align-items:center;gap:14px;width:100%;display:flex}.admin-selection-bar{background:var(--petrol);min-height:56px;color:var(--white);border-radius:10px;align-items:center;gap:12px;padding:10px 16px;animation:.2s cubic-bezier(.4,0,.2,1) both admin-fade;display:flex}.admin-selection-bar>strong{font-size:13px}.admin-selection-bar>span{flex:1}.admin-selection-bar .button-secondary{color:var(--white);background:0 0;border-color:#9fbebe8c}.admin-selection-danger,.admin-selection-cancel{color:var(--petrol-muted);background:0 0;align-items:center;gap:6px;padding:8px;font-size:13px;font-weight:700;display:inline-flex}.admin-selection-danger:hover{color:#f5b4ad}.admin-selection-cancel:hover{color:var(--white)}.admin-table-card{overflow:hidden}.admin-table-scroll,.admin-access-matrix-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-data-table,.admin-access-matrix{border-collapse:collapse;width:100%;color:var(--petrol);font-size:13px}.admin-data-table th{border-bottom:1px solid var(--border);background:var(--cream);height:46px;color:var(--text-body);letter-spacing:.07em;text-align:left;text-transform:uppercase;font-size:11px;font-weight:700}.admin-data-table td,.admin-data-table th{padding:10px 16px}.admin-data-table tbody tr{transition:background-color .15s cubic-bezier(.4,0,.2,1)}.admin-data-table tbody tr:hover{background:var(--ocre-light)}.admin-data-table tbody td{border-bottom:1px solid var(--border);height:62px}.admin-data-table tbody tr:last-child td{border-bottom:0}.admin-data-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--ocre)}.admin-material-name{min-width:250px}.admin-material-name strong,.admin-material-name span{text-overflow:ellipsis;white-space:nowrap;max-width:350px;display:block;overflow:hidden}.admin-material-name strong{color:var(--petrol);font-size:14px}.admin-material-name span{color:var(--text-body);margin-top:2px;font-size:12px}.admin-access-summary{text-align:left;background:0 0;min-width:96px;padding:0}.admin-no-access{color:var(--error);font-size:12px;font-weight:700}.admin-access-avatars{align-items:center;gap:3px;display:inline-flex}.admin-access-avatars .avatar{border:2px solid var(--white);width:25px;height:25px;font-size:9px}.admin-access-avatars b{background:var(--cream-dark);width:25px;height:25px;color:var(--petrol);border-radius:999px;place-items:center;font-size:10px;display:grid}.admin-access-avatars em{color:var(--text-body);margin-left:5px;font-size:11px;font-style:normal}.admin-row-actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.admin-row-actions button{border:1px solid var(--border);background:var(--white);width:32px;height:32px;color:var(--petrol);border-radius:7px;place-items:center;transition:color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);display:grid}.admin-row-actions button:hover{border-color:var(--ocre);background:var(--ocre-light);color:var(--ocre-deep)}.admin-row-actions button.is-danger:hover{border-color:var(--error);color:var(--error);background:#f6e4e1}.admin-class-modal{width:min(100%,900px);height:min(90dvh,700px);max-height:min(90vh,700px);padding:0;overflow:hidden}.admin-class-modal>h2,.admin-student-profile-modal>h2{display:none}.admin-class-upload{grid-template-columns:minmax(270px,.75fr) minmax(0,1.25fr);height:100%;min-height:0;display:grid}.admin-upload-preview{background:var(--petrol);min-height:0;color:var(--white);flex-direction:column;gap:20px;padding:30px;display:flex}.admin-kicker{color:var(--ocre-soft);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:700}.admin-upload-preview h2{color:var(--white);margin-top:9px;font-family:Georgia,serif;font-size:27px;line-height:1.1}.admin-upload-preview p{color:var(--petrol-muted);margin-top:13px;font-size:13px;line-height:1.6}.admin-html-preview{background:var(--white);min-height:175px;color:var(--ocre-soft);border:1px solid #9fbebe73;border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.admin-html-preview iframe{transform-origin:0 0;pointer-events:none;border:0;width:250%;height:250%;position:absolute;top:0;left:0;transform:scale(.4)}.admin-upload-preview dl{border-top:1px solid #9fbebe59;flex-direction:column;gap:10px;margin:auto 0 0;padding-top:18px;display:flex}.admin-upload-preview dl>div{justify-content:space-between;gap:10px;display:flex}.admin-upload-preview dt{color:var(--petrol-muted);font-size:12px}.admin-upload-preview dd{color:var(--white);margin:0;font-size:12px;font-weight:700}.admin-upload-preview dl>div:last-child dd{color:var(--ocre-soft)}.admin-upload-fields{flex-direction:column;min-height:0;display:flex;overflow:hidden}.admin-upload-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;flex:auto;gap:17px;min-height:0;padding:30px;display:flex;overflow-y:auto}.admin-upload-dropzone{border:1.5px dashed var(--border);background:var(--cream);min-height:80px;color:var(--ocre-deep);border-radius:8px;align-items:center;gap:14px;padding:15px;transition:border-color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);display:flex}.admin-upload-dropzone:hover,.admin-upload-dropzone.has-file{border-color:var(--ocre);background:var(--ocre-light)}.admin-upload-dropzone span{flex-direction:column;min-width:0;display:flex}.admin-upload-dropzone strong{color:var(--petrol);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.admin-upload-dropzone small{color:var(--text-body);margin-top:2px;font-size:12px}.admin-upload-dropzone input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.admin-choice-fieldset,.admin-teacher-selector{border:0;margin:0;padding:0}.admin-choice-fieldset legend,.admin-teacher-selector legend{color:var(--petrol);margin-bottom:8px;font-size:12px;font-weight:700}.admin-selector-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.admin-selector-heading span{gap:9px;display:flex}.admin-selector-heading button,.admin-detail-section-heading button{color:var(--ocre-deep);background:0 0;padding:0;font-size:12px;font-weight:700}.admin-selector-heading button:hover,.admin-detail-section-heading button:hover{color:var(--petrol);text-decoration:underline}.admin-teacher-selector-list{border:1px solid var(--border);border-radius:8px;overflow:hidden}.admin-selector-teacher{border-bottom:1px solid var(--border);background:var(--white);width:100%;color:var(--petrol);text-align:left;align-items:center;gap:10px;padding:9px 11px;display:flex}.admin-selector-teacher:last-child{border-bottom:0}.admin-selector-teacher:hover,.admin-selector-teacher.is-selected{background:var(--ocre-light)}.admin-selector-teacher:disabled{cursor:not-allowed;opacity:.55}.admin-selector-teacher>span:not(.avatar){flex-direction:column;flex:1;min-width:0;display:flex}.admin-selector-teacher strong{font-size:13px}.admin-selector-teacher small{color:var(--text-body);font-size:11px}.admin-selector-teacher i{border:1px solid var(--border);border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.admin-selector-teacher.is-selected i{border-color:var(--ocre);background:var(--ocre);color:var(--white)}.admin-small-empty,.admin-modal-intro{color:var(--text-body);font-size:13px;line-height:1.5}.admin-upload-footer{border-top:1px solid var(--border);background:var(--white);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:16px 30px 20px;display:flex;box-shadow:0 -8px 18px #1f4b4f0d}.admin-upload-footer>span{color:var(--ocre-deep);font-size:12px;font-weight:700}.admin-upload-footer>div{gap:8px;display:flex}.admin-access-dialog,.admin-confirm-dialog,.admin-created-teacher{flex-direction:column;gap:18px;display:flex}.admin-access-dialog>p,.admin-confirm-dialog>p,.admin-created-teacher>p{color:var(--text-body);font-size:14px;line-height:1.55}.admin-access-dialog-list{border:1px solid var(--border);border-radius:8px;overflow:hidden}.admin-access-dialog-list button{border-bottom:1px solid var(--border);background:var(--white);width:100%;color:var(--petrol);text-align:left;align-items:center;gap:10px;padding:11px;display:flex}.admin-access-dialog-list button:last-child{border-bottom:0}.admin-access-dialog-list button:hover,.admin-access-dialog-list button.is-selected{background:var(--ocre-light)}.admin-access-dialog-list button:disabled{opacity:.55}.admin-access-dialog-list>button>span:not(.avatar){flex-direction:column;flex:1;display:flex}.admin-access-dialog-list strong{font-size:13px}.admin-access-dialog-list small{color:var(--text-body);font-size:11px}.admin-confirm-dialog>svg{color:var(--error)}.admin-list-toolbar{grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:12px;display:grid}.admin-list-toolbar>span{color:var(--text-body);white-space:nowrap;font-size:13px}.admin-teachers-list{overflow:hidden}.admin-teacher-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.admin-teacher-row:last-child{border-bottom:0}.admin-teacher-row-main{background:var(--white);width:100%;color:var(--petrol);text-align:left;grid-template-columns:auto minmax(190px,1fr) minmax(100px,.35fr) minmax(80px,.25fr) auto;align-items:center;gap:16px;padding:18px 20px;transition:background-color .15s cubic-bezier(.4,0,.2,1);display:grid}.admin-teacher-row-main:hover{background:var(--ocre-light)}.admin-teacher-identity{flex-direction:column;min-width:0;display:flex}.admin-teacher-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.admin-teacher-identity small,.admin-teacher-count{color:var(--text-body);font-size:12px}.admin-teacher-count{white-space:nowrap}.admin-status-pill{border:1px solid var(--border);background:var(--cream-dark);min-height:27px;color:var(--text-body);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}button.admin-status-pill{margin-right:20px;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}button.admin-status-pill:hover{border-color:var(--petrol)}.admin-status-pill i{background:var(--text-body);border-radius:99px;width:6px;height:6px}.admin-status-pill.is-active{color:var(--success);background:#e8f0ea;border-color:#cde0d2}.admin-status-pill.is-active i{background:var(--success)}.admin-created-teacher{align-items:flex-start}.admin-created-icon{width:40px;height:40px;color:var(--success);background:#e8f0ea;border-radius:50%;place-items:center;display:grid}.admin-credential-box{border:1px solid var(--border);background:var(--cream);border-radius:8px;grid-template-columns:1fr auto;gap:3px 12px;width:100%;padding:13px;display:grid}.admin-credential-box span{color:var(--text-body);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700}.admin-credential-box strong{color:var(--petrol);text-overflow:ellipsis;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;overflow:hidden}.admin-credential-box button{color:var(--ocre-deep);grid-area:span 2/2;align-self:center;font-size:12px;font-weight:700}.admin-teacher-detail>.back-link{margin-bottom:-2px}.admin-teacher-detail-grid{grid-template-columns:minmax(265px,.8fr) minmax(0,1.4fr);align-items:start;gap:24px;display:grid}.admin-teacher-profile{border:1px solid var(--border);border-left:4px solid var(--ocre);background:var(--white);box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;gap:16px;padding:26px;display:flex}.admin-teacher-profile .avatar-large{width:80px;height:80px;font-size:28px}.admin-teacher-profile h2{color:var(--petrol);font-size:26px;line-height:1.1}.admin-teacher-profile h2+p{color:var(--text-body);margin-top:7px;font-size:13px}.admin-profile-status-line{align-items:center;gap:10px;display:flex}.admin-profile-status-line small{color:var(--text-body);font-size:12px}.admin-profile-metrics{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin:2px 0 0;padding-top:17px;display:flex}.admin-profile-metrics>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.admin-profile-metrics dt{color:var(--text-body);font-size:13px}.admin-profile-metrics dd{color:var(--petrol);margin:0;font-family:Georgia,serif;font-size:20px}.admin-account-note{color:var(--text-body);font-size:12px;line-height:1.5}.admin-danger-zone{background:var(--cream-dark);border-radius:8px;margin-top:6px;padding:15px}.admin-danger-zone strong{color:var(--petrol);font-size:12px}.admin-danger-zone p{color:var(--text-body);margin:5px 0 11px;font-size:12px;line-height:1.5}.admin-danger-zone button{color:var(--error);background:0 0;padding:0;font-size:12px;font-weight:700}.admin-danger-zone button:disabled{color:var(--text-body);cursor:not-allowed;opacity:.65}.admin-teacher-detail-content{flex-direction:column;gap:28px;display:flex}.admin-detail-section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.admin-detail-students{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.admin-detail-students article{border:1px solid var(--border);background:var(--white);box-shadow:var(--shadow-card);border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:16px;display:grid}.admin-detail-students article>span:not(.avatar){flex-direction:column;min-width:0;display:flex}.admin-detail-students strong{color:var(--petrol);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.admin-detail-students small{color:var(--text-body);font-size:11px}.admin-detail-students .button{grid-column:1/-1;width:100%;margin-top:7px}.admin-material-tags{flex-wrap:wrap;gap:8px;display:flex}.admin-material-tags>span{border:1px solid var(--ocre);background:var(--ocre-light);max-width:100%;color:var(--ocre-deep);border-radius:999px;align-items:center;gap:6px;padding:6px 8px 6px 12px;font-size:12px;font-weight:700;display:inline-flex}.admin-material-tags button{width:18px;height:18px;color:inherit;background:0 0;border-radius:50%;place-items:center;display:grid}.admin-material-tags button:hover{background:#a4522f24}.admin-student-filter-label{color:var(--text-body);letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:700}.admin-students .admin-toolbar-card .admin-filter-chips{width:100%}.admin-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-student-card{border:1px solid var(--border);background:var(--white);min-height:180px;box-shadow:var(--shadow-card);border-radius:12px;flex-direction:column;gap:14px;padding:20px;display:flex}.admin-student-card-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.admin-student-card-heading>span:not(.avatar){flex-direction:column;min-width:0;display:flex}.admin-student-card-heading strong{color:var(--petrol);text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.admin-student-card-heading small{color:var(--text-body);font-size:12px}.admin-student-card>p{border-top:1px solid var(--border);color:var(--text-body);flex:1;padding-top:13px;font-size:13px}.admin-student-card>.button{width:100%}.admin-student-profile-modal{width:min(100%,600px);max-height:min(90vh,640px);padding:0;overflow:hidden}.admin-student-profile-header{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:28px;display:grid}.admin-student-profile-header .avatar-large{width:64px;height:64px;font-size:23px}.admin-student-profile-header h2{color:var(--petrol);font-size:25px;line-height:1.15}.admin-student-profile-header p{color:var(--text-body);margin-top:4px;font-size:13px}.admin-student-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 34px;max-height:min(48vh,315px);margin:0;padding:27px 28px;display:grid;overflow-y:auto}.admin-student-profile-fields dt{color:var(--text-body);font-size:12px}.admin-student-profile-fields dd{color:var(--petrol);margin:4px 0 0;font-size:14px;font-weight:700;line-height:1.45}.admin-student-profile-modal>.empty-state{margin:25px 28px}.admin-student-profile-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;display:flex}.admin-student-profile-footer>p{max-width:180px;color:var(--text-body);font-size:12px;line-height:1.45}.admin-student-profile-footer>div{gap:8px;display:flex}.admin-access-instructions{max-width:660px;color:var(--text-body);font-size:14px;line-height:1.55}.admin-access-matrix-card{overflow:hidden}.admin-access-matrix{min-width:610px}.admin-access-matrix th,.admin-access-matrix td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;padding:10px 14px}.admin-access-matrix th:last-child,.admin-access-matrix td:last-child{border-right:0}.admin-access-matrix tr:last-child td{border-bottom:0}.admin-access-matrix thead th{background:var(--cream);height:60px;color:var(--text-body);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.admin-access-matrix thead th:first-child{text-align:left;min-width:225px}.admin-access-matrix thead button{width:100%;color:var(--petrol);background:0 0;flex-direction:column;align-items:center;gap:2px;display:flex}.admin-access-matrix thead button:hover:not(:disabled) strong{color:var(--ocre-deep)}.admin-access-matrix thead button:disabled{opacity:.45}.admin-access-matrix thead small{color:var(--text-body);letter-spacing:0;text-transform:none;font-size:10px;font-weight:400}.admin-access-matrix tbody td:first-child{text-align:left;max-width:270px}.admin-access-matrix tbody td:first-child strong{max-width:210px;color:var(--petrol);text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;font-size:13px;display:inline-block;overflow:hidden}.admin-access-matrix tbody td:first-child span{color:var(--text-body);margin-left:7px;font-size:11px}.admin-matrix-toggle{border:1.5px solid var(--border);background:var(--white);width:27px;height:27px;color:var(--white);border-radius:50%;place-items:center;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1);display:inline-grid}.admin-matrix-toggle:hover:not(:disabled){border-color:var(--ocre);background:var(--ocre-light)}.admin-matrix-toggle.is-on{border-color:var(--ocre);background:var(--ocre)}.admin-matrix-toggle:disabled{cursor:not-allowed;opacity:.4}.admin-toast{z-index:90;background:var(--petrol);max-width:min(430px,100vw - 32px);color:var(--white);box-shadow:var(--shadow-lg);border-radius:10px;align-items:center;gap:10px;padding:13px 14px;font-size:13px;animation:.22s cubic-bezier(.4,0,.2,1) both admin-toast-in;display:flex;position:fixed;bottom:24px;right:24px}.admin-toast>svg{color:var(--ocre-soft);flex:none}.admin-toast span{flex:1}.admin-toast button{width:24px;height:24px;color:var(--petrol-muted);background:0 0;border-radius:5px;place-items:center;display:grid}.admin-toast button:hover{background:var(--petrol-mid);color:var(--white)}@keyframes admin-fade{0%{opacity:0}to{opacity:1}}@keyframes admin-modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes admin-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:980px){.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-dashboard-grid,.admin-teacher-detail-grid{grid-template-columns:1fr}.admin-teacher-profile{grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.admin-teacher-profile>.admin-profile-status-line,.admin-teacher-profile>.admin-profile-metrics,.admin-teacher-profile>.button,.admin-teacher-profile>.admin-account-note,.admin-teacher-profile>.admin-danger-zone{grid-column:1/-1}.admin-class-upload{grid-template-columns:290px minmax(0,1fr)}}@media (max-width:760px){.app-shell{min-height:100dvh;display:block}.app-stage{min-width:0;padding-bottom:70px}.sidebar{z-index:40;background:var(--petrol);min-height:64px;padding:0;display:block;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #1f4b4f38}.sidebar-logo{display:none}.sidebar nav{flex-direction:row;width:100%;display:flex;overflow-x:auto}.sidebar-item{text-align:center;border-top:3px solid #0000;border-left:0;flex-direction:column;flex:1 0 74px;justify-content:center;gap:3px;min-width:74px;min-height:64px;padding:6px 8px;font-size:10px}.sidebar-item.is-active{border-top-color:var(--ocre);border-left-color:#0000}.topbar{min-height:60px;padding:0 16px}.topbar-title{gap:0}.topbar-title h1{font-size:19px}.topbar-title>span,.topbar-user>span{display:none}.topbar-user{gap:8px}.topbar-user .button{min-height:32px;padding:6px 8px;font-size:12px}.admin-student-grid,.admin-detail-students{grid-template-columns:1fr}.admin-list-toolbar{grid-template-columns:1fr auto}.admin-list-toolbar>.admin-search-field{grid-column:1/-1}.admin-class-modal{height:94dvh;max-height:94dvh}.admin-class-upload{grid-template-columns:1fr}.admin-upload-preview{min-height:auto;padding:24px}.admin-html-preview,.admin-upload-preview dl{display:none}.admin-upload-fields{max-height:none}.admin-upload-scroll{padding:24px 20px}.admin-upload-footer{padding-left:20px;padding-right:20px}.admin-teacher-row-main{grid-template-columns:auto minmax(0,1fr) auto}.admin-teacher-count{display:none}}@media (max-width:640px){.app-content{padding:20px 16px 48px}.admin-stats-grid{grid-template-columns:1fr 1fr;gap:10px}.admin-stat-card{min-height:154px;padding:18px}.admin-stat-card>strong{font-size:36px}.admin-dashboard-grid{gap:12px}.admin-attention-item{grid-template-columns:1fr;gap:12px}.admin-attention-item .button{justify-self:start}.admin-toolbar-card,.admin-toolbar-bottom,.admin-selection-bar,.admin-student-profile-footer{flex-direction:column;align-items:stretch}.admin-search-field{flex-basis:100%;min-width:0}.admin-toolbar-bottom>.button{width:100%}.admin-selection-bar>span{display:none}.admin-selection-bar .button,.admin-selection-danger,.admin-selection-cancel{justify-content:center}.admin-table-scroll{margin-right:-1px}.admin-materials-table{min-width:730px}.admin-material-name{min-width:190px}.admin-list-toolbar{grid-template-columns:1fr}.admin-list-toolbar>*{grid-column:auto}.admin-list-toolbar>.button{width:100%}.admin-teacher-row{grid-template-columns:1fr}.admin-teacher-row-main{padding:16px}button.admin-status-pill{justify-self:start;margin:0 0 14px 58px}.admin-teacher-profile{display:flex}.admin-student-profile-header{grid-template-columns:auto minmax(0,1fr);padding:22px 20px}.admin-student-profile-header .badge{grid-column:2;justify-self:start}.admin-student-profile-fields{grid-template-columns:1fr;gap:16px;padding:22px 20px}.admin-student-profile-footer{padding:16px 20px}.admin-student-profile-footer>p{max-width:none}.admin-student-profile-footer>div{flex-direction:column}.admin-student-profile-footer .button{width:100%}.admin-toast{bottom:16px;right:16px}}@media (prefers-reduced-motion:reduce){.modal-backdrop,.modal-panel,.admin-load-row b,.admin-selection-bar,.admin-toast{transition-duration:.01ms!important;animation-duration:.01ms!important}}
