:root{--ink:#17243d;--muted:#64748b;--line:#e5eaf2;--blue:#175cd3;--navy:#0b2545;--green:#12b76a;--cream:#f7f9fc;--danger:#d92d20}*{box-sizing:border-box}body{margin:0;font:15px/1.5 Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--cream)}a{color:var(--blue);text-decoration:none}.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:24px;padding:14px 4%;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 12px #102a4310}.brand{font-weight:800;color:var(--navy);font-size:17px;white-space:nowrap}.brand span,.crest{display:inline-grid;place-items:center;width:38px;height:38px;margin-right:8px;color:#fff;background:linear-gradient(135deg,var(--blue),var(--navy));border-radius:12px}.top nav{display:flex;gap:5px;flex:1;overflow:auto}.top nav a{padding:9px 11px;border-radius:9px;color:#475467;white-space:nowrap}.top nav a:hover,.top nav a.active{background:#eef4ff;color:var(--blue)}.who{display:grid;line-height:1.2}.who small{text-transform:capitalize;color:var(--muted)}.who a{font-size:12px;margin-top:3px}.menu{display:none}.shell{max-width:1400px;margin:auto;padding:32px 4%;min-height:calc(100vh - 130px)}.public-shell{max-width:960px;margin:auto;padding:50px 24px;min-height:calc(100vh - 55px)}.page-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.page-head h1{font-size:30px;margin:0;letter-spacing:-.5px}.eyebrow{color:var(--blue);font-weight:750;text-transform:uppercase;font-size:11px;letter-spacing:1.5px;margin:0 0 4px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stats article,.panel,.auth-card,.report,.bill-sheet{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 20px #102a430a}.stats article{padding:20px}.stats span{display:block;color:var(--muted)}.stats strong{font-size:32px}.panel{padding:22px;margin-bottom:20px}.panel h2{margin-top:0;font-size:19px}.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:#fafbfc}td small{display:block;color:var(--muted)}label{display:grid;gap:6px;color:#344054;font-weight:650;margin-bottom:14px}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:var(--ink);font:inherit}input:focus,select:focus{outline:3px solid #175cd320;border-color:var(--blue)}button,.button{display:inline-block;border:0;border-radius:9px;padding:11px 16px;background:var(--blue);color:#fff;font-weight:750;cursor:pointer;font:inherit}.secondary{background:var(--navy)!important}.ghost{background:#eaf0f8!important;color:var(--navy)!important}.danger{background:var(--danger)!important}.small{padding:7px 10px;font-size:13px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 18px}.grid-form{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 18px}.grid-form button{align-self:end;margin-bottom:14px}.badge{display:inline-block;padding:4px 9px;border-radius:20px;background:#f2f4f7;font-size:12px;text-transform:capitalize}.badge.active{background:#ecfdf3;color:#027a48}.badge.inactive,.badge.pending{background:#fff4e5;color:#b54708}.alert{padding:13px 16px;border-radius:10px;background:#ecfdf3;color:#027a48;margin-bottom:18px}.alert.danger{background:#fef3f2!important;color:#b42318}.muted{color:var(--muted)}.auth-card{max-width:470px;margin:20px auto;padding:34px}.auth-card.wide{max-width:560px}.auth-card h2{margin-bottom:5px}.auth-card>p{color:var(--muted)}.auth-card button{width:100%;margin-bottom:14px}.hint{font-size:13px;background:#f1f5f9;padding:10px;border-radius:8px}.hero-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#ecfdf3;color:var(--green);font-size:26px;font-weight:bold}.filters{display:flex;gap:16px}.filters label{min-width:220px;margin:0}.scores input{max-width:130px}.term-timeline{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 6px}.timeline-step{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border-radius:999px;background:#f8fafc;border:1px solid var(--line);font-weight:700;color:#475467}.timeline-step.active{background:#ecfdf3;border-color:#bbf7d0;color:#027a48}.timeline-step.closed{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.timeline-step.archived{background:#f3f4f6;border-color:#e5e7eb;color:#6b7280}.timeline-step.new{background:#eef4ff;border-color:#c7d7fe;color:#175cd3}.timeline-arrow{color:#9aa4b2;font-weight:800}.bill-form .bill-row{display:grid;grid-template-columns:minmax(0,1fr) 160px auto;gap:10px;align-items:center;margin-bottom:10px}.bill-form .bill-items{display:grid;gap:8px;margin-bottom:10px}.bill-total{margin-left:auto;font-weight:700;color:var(--navy)}.bill-sheet{padding:28px;max-width:900px;margin:auto}.bill-sheet>header{display:flex;justify-content:center;align-items:center;text-align:center;border-bottom:3px double var(--navy);padding-bottom:18px}.bill-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.bill-summary span,.bill-summary-box span{padding:10px;background:#f8fafc;border:1px solid var(--line);border-radius:8px}.bill-meta{margin-top:0}.bill-signature{display:block;max-width:150px;max-height:48px;object-fit:contain;margin:4px auto 0}.report{padding:32px;max-width:900px;margin:auto}.report>header{display:flex;justify-content:center;text-align:center;align-items:center;border-bottom:3px double var(--navy);padding-bottom:18px}.report>header h2{margin:0;font-size:25px}.report>header p{margin:3px}.report-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.report-meta span{padding:10px;background:#f8fafc;border-radius:8px}.report-meta b{display:block;font-size:11px;text-transform:uppercase;color:var(--muted)}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px;background:#eef4ff;margin:15px 0}.summary span{background:#fff;border:1px solid #dce6f5;padding:10px;border-radius:10px}.summary small{display:block;color:var(--muted);font-size:10px;margin-top:2px;text-transform:uppercase}.sign{display:flex;justify-content:space-between;align-items:flex-end;text-align:center;margin:42px 20px 14px;gap:20px}.report>footer{text-align:center;border-top:1px solid var(--line);padding-top:15px;margin-top:20px}body>footer{text-align:center;color:var(--muted);font-size:12px;padding:18px}.no-print{justify-content:center}
@media(max-width:900px){.top{align-items:flex-start;flex-wrap:wrap}.menu{display:block;margin-left:auto;padding:7px 10px}.top nav{display:none;order:3;width:100%;flex-direction:column}.top nav.open{display:flex}.who{display:none}.stats{grid-template-columns:repeat(2,1fr)}.split,.grid-form{grid-template-columns:1fr}.report-meta,.summary{grid-template-columns:repeat(2,1fr)}}
@media(min-width:901px){.summary small{display:block;color:var(--muted);font-size:10px;margin-top:2px;text-transform:uppercase}}
@media(max-width:560px){.stats{grid-template-columns:1fr}.shell{padding:22px 14px}.public-shell{padding:28px 14px}.panel,.auth-card,.report{padding:18px;border-radius:12px}.filters{display:grid}.report{font-size:12px}.report-meta,.summary{grid-template-columns:1fr}.sign{margin-left:0;margin-right:0}.report table{font-size:10px}.report th,.report td{padding:6px 3px}}
@media print{body{background:#fff}.public-shell{padding:0;max-width:none}.page-head,body>footer,.no-print{display:none!important}.report{border:0;box-shadow:none;max-width:none;padding:12mm}.report table{font-size:11px}.report-meta,.summary{grid-template-columns:repeat(4,1fr)}}

/* School identity, imports, signatures, and denser responsive report layout */
.product{display:flex;align-items:center;gap:9px;color:var(--navy);white-space:nowrap}.product span,.school-brand>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;font-weight:800}.school-brand{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:240px;max-width:350px}.school-brand img{width:42px;height:42px;object-fit:contain;border-radius:9px;background:#fff;border:1px solid var(--line)}.school-brand>div{display:grid;line-height:1.2;min-width:0}.school-brand b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-brand small{color:var(--muted);text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-brand a{font-size:11px;margin-top:3px}.inline-upload{display:flex;align-items:end;gap:10px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-radius:12px}.inline-upload label{margin:0;min-width:230px}.inline-upload input{padding:7px;background:#f8fafc}.inline-upload button{white-space:nowrap}.image-preview{display:flex;gap:18px;align-items:center;min-height:80px}.image-preview img{max-width:100px;max-height:80px;object-fit:contain}.image-preview .signature-preview{max-width:170px}.remark-input{min-width:190px}.report-logo{width:72px;height:72px;object-fit:contain;margin-right:12px;border-radius:16px;background:#fff;border:1px solid var(--line);padding:8px}.report-table{overflow:visible}.report-notes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:9px 0}.report-notes span{padding:7px 9px;background:#f8fafc;border:1px solid var(--line);border-radius:7px}.report-notes b,.head-sign small{display:block;font-size:10px;text-transform:uppercase;color:var(--muted)}.head-sign{min-width:180px}.head-sign img{display:block;width:150px;height:45px;object-fit:contain;margin:-22px auto 2px}.report .crest{width:72px;height:72px;border-radius:18px;font-size:20px}
@media(max-width:1100px){.top{gap:12px}.product b{display:none}.school-brand{min-width:190px}.top nav a{padding:8px}.grid-form{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.top{padding:10px 14px}.product b{display:block}.school-brand{order:2;margin-left:auto;min-width:0;max-width:55%}.school-brand b{font-size:12px}.school-brand small{font-size:10px}.school-brand a{display:none}.menu{order:3}.top nav{order:4}.inline-upload{width:100%;display:grid}.inline-upload label{min-width:0}.split,.grid-form{grid-template-columns:1fr}.report{padding:14px}.report>header h2{font-size:20px}.report-table{overflow-x:auto}.report-meta,.summary,.report-notes{grid-template-columns:1fr 1fr}.scores{min-width:760px}}
@media(max-width:480px){.product b{display:none}.school-brand{max-width:68%}.school-brand img,.school-brand>span{width:34px;height:34px}.page-head h1{font-size:25px}.report>header{justify-content:flex-start;text-align:left}.report-logo,.crest{width:52px;height:52px}.report-meta,.summary,.report-notes{grid-template-columns:1fr;gap:6px}.report-meta span{padding:6px}.summary{padding:8px}.sign{gap:18px}.head-sign{min-width:130px}.head-sign img{width:120px}.report table{min-width:600px}}
.toast{position:fixed;z-index:1000;top:22px;right:22px;display:grid;grid-template-columns:38px minmax(220px,360px) 28px;gap:12px;align-items:start;padding:15px 14px;background:#fff;border:1px solid #abefc6;border-left:4px solid var(--green);border-radius:14px;box-shadow:0 18px 48px #102a4330;animation:toast-in .25s ease-out}.toast.danger{background:#fff!important;color:var(--ink)!important;border-color:#fecdca;border-left-color:var(--danger)}.toast-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#dcfae6;color:#027a48;font-weight:900}.toast.danger .toast-icon{background:#fee4e2;color:#b42318}.toast b{display:block;margin:0 0 2px}.toast p{margin:0;color:#475467}.toast>button{padding:0;width:28px;height:28px;background:transparent;color:#667085;font-size:22px;line-height:1}.toast.leaving{opacity:0;transform:translateY(-8px);transition:.3s ease}@keyframes toast-in{from{opacity:0;transform:translateY(-12px) scale(.98)}}
@media(max-width:600px){.toast{left:12px;right:12px;top:12px;grid-template-columns:34px 1fr 26px}}

/* Centered workflow feedback and confirmations. */
.toast{top:50%;right:auto;left:50%;width:min(440px,calc(100% - 28px));box-sizing:border-box;transform:translate(-50%,-50%);grid-template-columns:38px 1fr 28px;animation:feedback-in .22s ease-out}.toast.leaving{opacity:0;transform:translate(-50%,-54%);transition:.25s ease}@keyframes feedback-in{from{opacity:0;transform:translate(-50%,-46%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.confirm-backdrop{position:fixed;z-index:1200;inset:0;display:grid;place-items:center;padding:16px;background:#081b337a;backdrop-filter:blur(4px)}.confirm-card{width:min(430px,100%);padding:25px;border-radius:18px;background:#fff;box-shadow:0 28px 90px #071b3355;text-align:center}.confirm-card>span{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 13px;border-radius:50%;background:#fff4e5;color:#b54708;font-size:22px;font-weight:900}.confirm-card h2{margin:0 0 7px}.confirm-card p{margin:0 0 20px;color:#667085}.confirm-card .actions{justify-content:center}.unlock-review article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;border-top:1px solid var(--line)}.unlock-review article>div:first-child{display:grid}.unlock-review article span,.unlock-review article small{color:var(--muted)}.unlock-request-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.unlock-request-form input{min-width:230px}
@media(max-width:600px){.toast{top:50%;right:auto;left:50%}.unlock-review article{align-items:flex-start;flex-direction:column}}
.product b{display:block!important;font-size:18px}.school-actions{margin:0;flex-wrap:nowrap}.school-actions form{margin:0}.result-controls{display:grid;gap:14px}.submission-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line);font-weight:700}.submission-line form{margin-left:auto}.result-tabs{display:flex;gap:6px;margin:0 0 14px;padding:5px;background:#eaf0f8;border-radius:12px;width:max-content;max-width:100%}.result-tabs a{padding:9px 16px;border-radius:9px;color:#475467;font-weight:750}.result-tabs a.active{background:#fff;color:var(--blue);box-shadow:0 2px 8px #102a4314}.absent-check{width:20px;height:20px}.score-upload{max-width:720px}.disabled-link{pointer-events:none;opacity:.5}.notice{background:#fffaeb;color:#93370d;border-color:#fedf89}.import-panel h3{margin-top:24px}
@media(max-width:760px){.result-controls .filters{display:grid;grid-template-columns:1fr 1fr;width:100%}.result-controls .filters label{min-width:0}.submission-line form{margin-left:0;width:100%}.score-upload{display:grid}.result-tabs{width:100%}.result-tabs a{flex:1;text-align:center}.scores{min-width:720px}}
.setting-check{display:flex!important;align-items:center;gap:10px;padding:12px;background:#f8fafc;border:1px solid var(--line);border-radius:10px}.setting-check input{width:20px;height:20px}.observation-entry{margin-top:20px}.observation-list{display:grid;gap:14px;margin-bottom:16px}.observation-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fafcff}.observation-card h3{margin:0 0 12px}.observation-card h3 small{color:var(--muted);font-weight:500}.observation-fields{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.observation-fields label{font-size:12px}.observation-card textarea{resize:vertical}@media(max-width:900px){.observation-fields{grid-template-columns:1fr 1fr}}@media(max-width:480px){.observation-fields{grid-template-columns:1fr}}
.password-field{position:relative}.password-field input{padding-right:72px}.auth-card .password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:auto!important;margin:0!important;padding:7px 10px;background:#eef4ff;color:var(--blue);font-size:12px;border-radius:7px}.auth-card .password-toggle:hover{background:#dce8ff}
.attention-panel{border-color:#fedf89;background:linear-gradient(135deg,#fffcf5,#fff9e8)}.attention-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}.attention-heading>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#f79009;color:#fff;font-size:22px;font-weight:900}.attention-heading h2{margin:0}.attention-heading p{margin:2px 0 0;color:#7a5b16}.attention-list{display:grid;gap:8px}.attention-list a{display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:9px;padding:11px 12px;border:1px solid #fedf89;border-radius:10px;background:#fff;color:#7a2e0e;font-weight:700}.attention-list a>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff4e5;color:#b54708}.attention-list a>b{font-size:12px;color:var(--blue)}@media(max-width:560px){.attention-list a{grid-template-columns:25px 1fr}.attention-list a>b{grid-column:2}}
.assignment-period{display:flex;align-items:center;justify-content:space-between}.teacher-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);gap:20px}.teacher-list{display:grid;gap:11px}.teacher-list-card{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff}.teacher-list-card h3,.teacher-list-card p{margin:0}.teacher-list-card small{color:var(--muted)}.teacher-assignment-summary{grid-column:1/-1;padding:10px;background:#f8fafc;border-radius:9px}.teacher-assignment-summary p+ p{margin-top:5px}.teacher-list-card>a{width:max-content}.teacher-editor fieldset{margin:0 0 18px;padding:16px;border:1px solid var(--line);border-radius:12px}.teacher-editor legend{padding:0 8px;color:var(--navy);font-weight:800}.teacher-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.role-checks{display:flex;gap:12px;flex-wrap:wrap}.role-checks label{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.role-checks input{width:19px;height:19px}.subject-assignment-row{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;margin-bottom:9px}.teacher-editor select[multiple]{min-height:125px}@media(max-width:1050px){.teacher-layout{grid-template-columns:1fr}}@media(max-width:600px){.teacher-info-grid{grid-template-columns:1fr}.subject-assignment-row{grid-template-columns:1fr}.teacher-list-card{grid-template-columns:1fr}}
.site-footer{display:grid;place-items:center;gap:1px;padding:17px 20px 20px!important;color:#667085!important;line-height:1.35;letter-spacing:.02em}.site-footer b{color:var(--navy);font-size:12px}.site-footer span{font-size:11px;font-weight:700}.site-footer small{font-size:10px;color:#98a2b3}.premium-report-footer{display:flex;justify-content:space-between;align-items:center;color:#667085;font-size:9px;letter-spacing:.04em}.portal-footer small{line-height:1.55}.portal-footer small>b{color:var(--navy);font-size:12px}
.teacher-signature-form{margin-top:20px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.teacher-signature-form h3{margin:0 0 12px}.media-preview-card{display:flex;align-items:center;gap:14px;min-height:82px;padding:12px;margin-bottom:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.media-preview-card>img{width:150px;height:62px;object-fit:contain;background:transparent}.media-preview-card>div{display:grid;gap:3px}.media-preview-card span{font-size:12px;color:var(--muted)}.remove-media{display:flex;align-items:center;gap:8px;margin:5px 0 0;color:var(--danger);font-size:12px}.remove-media input{width:18px;height:18px}.media-upload-control small{color:var(--muted);font-weight:400}@media(max-width:600px){.media-preview-card{display:grid}.media-preview-card>img{width:100%}}
.enhanced-scores{min-width:1100px}.enhanced-scores input[type=number]{min-width:105px}.exam-score-50,.enhanced-scores .total{font-weight:800;color:var(--blue);white-space:nowrap}.score-row-error{max-width:190px;margin-top:4px;color:var(--danger)!important;font-size:10px!important;line-height:1.25}.import-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.import-stats article{padding:17px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.import-stats span{display:block;color:var(--muted)}.import-stats strong{font-size:28px}.import-stats .success{background:#ecfdf3;color:#027a48}.import-stats .danger-card{background:#fef3f2;color:#b42318}.import-stats .warning{background:#fffaeb;color:#b54708}.import-errors{margin:16px 0;padding:16px;border:1px solid #fecdca;border-radius:12px;background:#fff6f5;color:#b42318}.import-errors h2,.import-errors h3{margin:0 0 8px}.import-errors p{margin:5px 0;padding-left:12px;border-left:3px solid #fda29b}@media(max-width:760px){.import-stats{grid-template-columns:1fr 1fr}}@media(max-width:420px){.import-stats{grid-template-columns:1fr}}
.profile-sections{display:grid!important;grid-template-columns:1fr 1fr;gap:18px!important}.profile-sections>fieldset{margin:0;padding:18px;border:1px solid var(--line);border-radius:13px;background:#fbfcfe}.profile-sections>fieldset legend{padding:0 8px;color:var(--navy);font-weight:850}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.profile-sections>button{grid-column:1/-1;justify-self:start}.profile-sections .image-preview,.profile-sections .media-preview-card{margin-top:8px}.profile-sections .setting-check{grid-column:1/-1}@media(max-width:900px){.profile-sections{grid-template-columns:1fr}.profile-sections>button{grid-column:auto}}@media(max-width:560px){.profile-fields{grid-template-columns:1fr}}
.document-school-header,.bill-sheet>.document-school-header{display:grid!important;grid-template-columns:68px minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important;padding:0 0 13px!important;border:0!important;border-bottom:3px double var(--navy)!important;text-align:left!important}.document-school-logo img,.document-school-logo span{display:grid;width:64px;height:64px;object-fit:contain;place-items:center;padding:5px;border:1px solid var(--line);border-radius:13px;background:#fff}.document-school-logo span{background:var(--navy);color:#fff;font-size:17px;font-weight:850}.document-school-identity{min-width:0}.document-school-identity h1{margin:0 0 2px;font-size:22px;line-height:1.12;color:var(--navy);font-weight:900;text-transform:uppercase}.document-school-identity p{margin:1px 0;color:#475467;font-size:10px;line-height:1.3}.document-school-identity .document-motto{font-size:12px}.document-school-identity .document-codes{font-weight:750;color:var(--navy)}.document-title{display:grid;min-width:175px;text-align:right;text-transform:uppercase}.document-title strong{color:var(--blue);font-size:17px;line-height:1.2}.document-title span{font-size:11px;font-weight:800;color:var(--navy)}@media(max-width:700px){.document-school-header,.bill-sheet>.document-school-header{grid-template-columns:54px 1fr!important}.document-school-logo img,.document-school-logo span{width:50px;height:50px}.document-title{grid-column:1/-1;min-width:0;text-align:right}.document-school-identity h1{font-size:17px}}
@media print{.bill-sheet{width:194mm;max-width:194mm;margin:0!important;padding:4mm!important;border:0!important;box-shadow:none!important}.document-school-header,.bill-sheet>.document-school-header{grid-template-columns:15mm 1fr 42mm!important;gap:3mm!important;padding-bottom:2.5mm!important}.document-school-logo img,.document-school-logo span{width:15mm!important;height:15mm!important}.document-school-identity h1{font-size:15px!important}.document-school-identity p{font-size:7px!important;line-height:1.2!important}.document-school-identity .document-motto{font-size:8px!important}.document-title{grid-column:auto!important;min-width:0!important}.document-title strong{font-size:12px!important}.document-title span{font-size:8px!important}}
@page{size:A4 portrait;margin:7mm}
@media print{html,body{width:210mm;height:auto;overflow:visible}.report{width:196mm;min-height:0;padding:3.5mm!important;font-size:9.2px;page-break-inside:avoid;break-inside:avoid}.report>header{padding-bottom:5px}.report>header h2{font-size:18px}.report-logo,.crest{width:46px;height:46px}.report-meta{grid-template-columns:repeat(4,1fr);gap:3px;margin:6px 0}.report-meta span{padding:3px 4px}.report th,.report td{padding:3px 5px;font-size:8.2px}.summary{padding:5px;margin:5px 0;gap:4px}.summary span{padding:5px}.report-notes{grid-template-columns:repeat(4,1fr);margin:4px 0;gap:4px}.report-notes span{padding:3px 4px}.sign{margin:22px 10px 4px}.head-sign img{height:34px}.report>footer{padding-top:4px;margin-top:4px}.report-table{overflow:visible}}
/* Subject management: responsive filtering and multi-class assignment. */
.subject-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.subject-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(340px,.75fr);gap:20px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.subject-filters{display:grid;grid-template-columns:minmax(150px,1fr) 130px 130px auto;gap:8px;flex:1;max-width:760px}.subject-filters input,.subject-filters select{padding:8px 10px}.subject-editor fieldset{border:1px solid var(--line);border-radius:12px;padding:15px;margin:8px 0 18px}.subject-editor legend{font-weight:800;color:var(--navy);padding:0 7px}.class-quick-select{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}.class-quick-select button{padding:7px 9px;font-size:12px;background:#eaf0f8;color:var(--navy)}.class-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.class-check-grid label{display:flex;align-items:center;gap:7px;margin:0;padding:9px;border:1px solid var(--line);border-radius:9px;background:#f8fafc;cursor:pointer}.class-check-grid input{width:18px;height:18px}.field-error{display:block;color:var(--danger);font-weight:700;margin-top:9px}.empty-state{text-align:center;color:var(--muted);padding:30px}@media(max-width:1100px){.subject-layout{grid-template-columns:1fr}.section-heading{display:block}.subject-filters{max-width:none;margin-bottom:15px}}@media(max-width:700px){.subject-stats{grid-template-columns:1fr}.subject-filters{grid-template-columns:1fr 1fr}.class-check-grid{grid-template-columns:repeat(2,1fr)}}
/* Role-controlled assignment sections must stay hidden even with fieldset styling. */
#classAssignmentSection[hidden],#subjectAssignmentSection[hidden]{display:none!important}
/* Scalable headteacher Report Archive. */
.archive-summary strong{font-size:27px}.archive-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:0 12px;align-items:end}.archive-filter-grid button{margin-bottom:14px}.archive-bulk-actions{display:flex;gap:8px;flex-wrap:wrap}.archive-results td:first-child a{color:var(--ink)}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;padding-top:18px}.pagination a,.pagination span{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.history-timeline{display:grid;gap:9px}.history-timeline article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:#f8fafc}.history-timeline article>div:first-child{display:grid}.history-timeline article>div:first-child span{color:var(--muted)}@media(max-width:1000px){.archive-filter-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.archive-filter-grid{grid-template-columns:1fr}.archive-results .section-heading{display:block}.archive-bulk-actions{margin-bottom:12px}.history-timeline article{grid-template-columns:1fr}.pagination{justify-content:space-between;gap:6px}.pagination a,.pagination span{font-size:12px;padding:7px}}
/* Professional authenticated application shell. */
body.dashboard-shell{--sidebar-width:270px;--header-height:72px;background:#f5f7fb}.app-sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:var(--sidebar-width);display:flex;flex-direction:column;background:#0b2545;color:#fff;box-shadow:8px 0 30px #102a4314;transition:width .25s ease,transform .25s ease}.sidebar-brand{height:var(--header-height);display:flex;align-items:center;gap:11px;padding:0 16px;border-bottom:1px solid #ffffff16}.sidebar-logo,.header-product span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#fff;color:#175cd3;font-weight:900;font-size:19px;flex:0 0 auto}.sidebar-brand>div{display:grid;min-width:0}.sidebar-brand b{font-size:18px}.sidebar-brand small{font-size:10px;color:#b7c7dc;white-space:nowrap}.sidebar-brand button{margin-left:auto;padding:4px 9px;border-radius:8px;background:#ffffff14;font-size:22px}.sidebar-nav{padding:14px 11px 25px;overflow:auto}.sidebar-nav section{margin-bottom:15px}.sidebar-nav h2{margin:0 10px 6px;color:#8ea8c7;font-size:9px;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.sidebar-nav a{position:relative;display:flex;align-items:center;gap:12px;min-height:42px;padding:9px 11px;border-radius:9px;color:#dbe7f5;font-weight:650;white-space:nowrap}.sidebar-nav a:hover{background:#ffffff0e;color:#fff}.sidebar-nav a.active{background:#175cd3;color:#fff;box-shadow:0 7px 18px #04182f55}.nav-icon{display:grid;place-items:center;width:23px;font-size:17px;flex:0 0 auto}.sidebar-nav em{margin-left:auto;min-width:21px;padding:2px 6px;border-radius:99px;background:#ef4444;color:#fff;font-size:10px;text-align:center;font-style:normal}.app-header{position:fixed;z-index:30;top:0;right:0;left:var(--sidebar-width);height:var(--header-height);display:flex;align-items:center;gap:18px;padding:0 28px;background:#fff;border-bottom:1px solid var(--line);transition:left .25s ease}.header-product{display:none}.header-school{display:flex;align-items:center;gap:10px;min-width:0;margin-right:auto}.header-school img{width:36px;height:36px;object-fit:contain;border-radius:9px}.notification-menu{position:relative}.notification-menu summary{position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;cursor:pointer;list-style:none;font-size:20px}.notification-menu summary::-webkit-details-marker{display:none}.notification-menu summary em{position:absolute;right:-5px;top:-6px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:#ef4444;color:#fff;font:700 10px/1 Arial;font-style:normal}.notification-popover{position:absolute;right:0;top:50px;width:330px;padding:13px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 50px #102a4325}.notification-popover h3{margin:2px 5px 9px}.notification-popover>a,.notification-popover>div{display:grid;padding:9px;border-radius:8px;border-top:1px solid #eef2f6;color:var(--ink)}.notification-popover>a{background:#eef4ff}.notification-popover small{color:var(--muted)}.header-user{display:flex;align-items:center;gap:9px}.header-user>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eaf0f8;color:#0b2545;font-weight:850}.header-user>div{display:grid}.header-user small{color:var(--muted);font-size:11px}.header-signout{padding:8px 12px;border-radius:8px;background:#f2f4f7;color:#344054;font-weight:700}.mobile-sidebar-toggle{display:none}.dashboard-shell>.shell{max-width:none;margin:0 0 0 var(--sidebar-width);padding:calc(var(--header-height) + 28px) 3.2% 35px;transition:margin-left .25s ease}.dashboard-shell>.site-footer{margin-left:var(--sidebar-width);transition:margin-left .25s ease}.sidebar-overlay{display:none}.sidebar-collapsed{--sidebar-width:82px}.sidebar-collapsed .sidebar-brand>div,.sidebar-collapsed .sidebar-nav h2,.sidebar-collapsed .nav-label,.sidebar-collapsed .sidebar-nav em{display:none}.sidebar-collapsed .sidebar-brand{justify-content:center;padding:0 10px}.sidebar-collapsed .sidebar-brand button{position:absolute;right:-13px;background:#175cd3}.sidebar-collapsed .sidebar-nav a{justify-content:center}.dashboard-welcome{display:flex;align-items:center;gap:18px;padding:22px 25px;margin-bottom:18px;border-radius:16px;background:linear-gradient(120deg,#0b2545,#175cd3);color:#fff;box-shadow:0 12px 34px #175cd32b}.welcome-school-mark{width:72px;height:72px;display:grid;place-items:center;border-radius:15px;background:#fff;color:#175cd3;font-size:25px;font-weight:900;overflow:hidden;flex:0 0 auto}.welcome-school-mark img{width:100%;height:100%;object-fit:contain;padding:6px}.dashboard-welcome p,.dashboard-welcome h2{margin:0}.dashboard-welcome p{color:#d9e6f7}.dashboard-welcome h2{font-size:25px}.welcome-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:7px}.welcome-meta span:not(.badge),.welcome-meta b{font-size:12px}.dashboard-quick-actions{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;margin-bottom:22px}.dashboard-quick-actions a{display:flex;align-items:center;gap:9px;padding:13px;background:#fff;border:1px solid var(--line);border-radius:11px;color:var(--ink);font-weight:700;box-shadow:0 4px 14px #102a4308}.dashboard-quick-actions a:hover{border-color:#a9c6f5;transform:translateY(-1px)}.dashboard-quick-actions span{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:#eef4ff;color:#175cd3;font-size:17px}@media(max-width:1150px){.dashboard-quick-actions{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){body.dashboard-shell{--sidebar-width:270px}.app-sidebar{transform:translateX(-100%)}.app-header{left:0;padding:0 15px}.dashboard-shell>.shell{margin-left:0;padding-top:calc(var(--header-height) + 20px)}.dashboard-shell>.site-footer{margin-left:0}.mobile-sidebar-toggle{display:block;padding:8px 11px;background:#eef4ff;color:#0b2545}.header-product{display:flex;align-items:center;gap:8px}.header-product span{width:32px;height:32px}.header-school b{display:none}.header-user>div,.header-signout{display:none}.sidebar-mobile-open .app-sidebar{transform:translateX(0)}.sidebar-mobile-open .sidebar-overlay{display:block;position:fixed;z-index:35;inset:0;background:#102a4377}.sidebar-collapsed .sidebar-brand>div,.sidebar-collapsed .sidebar-nav h2,.sidebar-collapsed .nav-label{display:initial}.sidebar-collapsed .sidebar-nav a{justify-content:flex-start}.dashboard-welcome{align-items:flex-start}.dashboard-quick-actions{grid-template-columns:1fr 1fr}}@media(max-width:520px){.notification-popover{position:fixed;left:10px;right:10px;top:65px;width:auto}.dashboard-welcome{display:grid}.dashboard-quick-actions{grid-template-columns:1fr}.header-product b{display:none}}
/* Compact, balanced School Profile sections. */
.school-profile-panel{padding:0;background:transparent;border:0;box-shadow:none}.profile-sections{display:grid;gap:16px}.profile-sections fieldset{margin:0;padding:20px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 20px #102a430a}.profile-sections legend{display:flex;align-items:center;gap:9px;padding:0 8px;color:var(--navy);font-size:16px;font-weight:850}.profile-sections legend span{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#eef4ff;color:var(--blue);font-size:12px}.profile-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 16px}.profile-fields label{min-width:0}.profile-fields input,.profile-fields select{min-height:43px}.profile-fields input[readonly]{background:#f1f5f9;color:#475467;border-style:dashed;cursor:not-allowed}.profile-fields label>small{display:block;color:var(--muted);font-size:11px;font-weight:500}.branding-fields .setting-check{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:9px}.branding-fields .setting-check input{width:18px;min-height:18px}.profile-media-previews{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:5px;padding-top:15px;border-top:1px solid var(--line)}.profile-media-previews figure{display:grid;place-items:center;gap:5px;margin:0;padding:10px;min-width:125px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.profile-media-previews img{width:105px;height:60px;object-fit:contain}.profile-media-previews figcaption{font-size:11px;color:var(--muted)}.profile-media-previews .remove-media{display:flex;align-items:center;gap:6px;margin:0;font-size:11px}.profile-media-previews .remove-media input{width:15px}.profile-save-bar{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 17px;border:1px solid #c9d9ef;border-radius:12px;background:#f8fbffdd;box-shadow:0 10px 30px #102a4320;backdrop-filter:blur(8px)}.profile-save-bar>div{display:grid}.profile-save-bar span{color:var(--muted);font-size:12px}@media(max-width:1000px){.profile-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.profile-fields{grid-template-columns:1fr}.profile-sections fieldset{padding:16px}.profile-save-bar{position:static;display:grid}.profile-save-bar button{width:100%}}

/* Final School Profile layout: four full-width cards in one centered column. */
.school-profile-panel{width:100%;max-width:1280px;margin:0 auto!important}.school-profile-panel .profile-sections{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:20px!important;width:100%}.school-profile-panel .profile-sections>fieldset{grid-column:1/-1;width:100%;min-width:0;padding:22px 24px}.school-profile-panel .profile-fields{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:4px 20px}.school-profile-panel .profile-fields label{width:100%;min-width:0;margin-bottom:12px}.school-profile-panel .profile-fields input,.school-profile-panel .profile-fields select{display:block;width:100%;max-width:100%;height:44px;min-height:44px;padding:10px 12px;overflow:hidden}.school-profile-panel .profile-fields input[type="file"]{height:auto;min-height:44px;padding:8px}.school-profile-panel .branding-fields{align-items:start}.school-profile-panel .branding-fields .setting-check{min-height:44px;margin-top:0}.school-profile-panel .profile-media-previews{display:grid;grid-template-columns:repeat(3,minmax(160px,220px));align-items:stretch;gap:15px;margin-top:10px}.school-profile-panel .profile-media-previews figure{width:100%;min-width:0;min-height:128px;align-content:center}.school-profile-panel .profile-media-previews img{width:130px;height:72px;max-width:100%;object-fit:contain}.school-profile-panel .profile-save-bar{grid-column:1/-1;margin-top:2px}.school-profile-panel .profile-save-bar button{margin-left:auto;min-width:190px}@media(max-width:1100px){.school-profile-panel .profile-fields{grid-template-columns:repeat(2,minmax(220px,1fr))}.school-profile-panel .profile-media-previews{grid-template-columns:repeat(3,minmax(140px,1fr))}}@media(max-width:720px){.school-profile-panel{max-width:100%}.school-profile-panel .profile-sections{gap:15px!important}.school-profile-panel .profile-sections>fieldset{padding:17px 16px}.school-profile-panel .profile-fields{grid-template-columns:minmax(0,1fr)}.school-profile-panel .profile-media-previews{grid-template-columns:1fr}.school-profile-panel .profile-save-bar{position:static;display:grid;gap:12px}.school-profile-panel .profile-save-bar button{width:100%;min-width:0;margin-left:0}}
/* Focused Academic Settings layout; report lists live only in Report Archive. */
.academic-settings-layout{display:grid;gap:20px;max-width:1280px;margin:0 auto}.academic-settings-layout>.panel{margin:0}.academic-workflow .section-heading{align-items:center}.prepare-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;padding:0;list-style:none;counter-reset:steps}.prepare-steps li{counter-increment:steps;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;font-size:12px}.prepare-steps li:before{content:counter(steps);display:grid;place-items:center;width:23px;height:23px;margin-bottom:7px;border-radius:7px;background:#175cd3;color:#fff;font-weight:800}.new-term-card{display:grid;grid-template-columns:minmax(220px,.6fr) minmax(0,1.4fr);gap:30px;align-items:start;padding:26px}.new-term-form{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:2px 15px;align-items:end}.new-term-form button{margin-bottom:14px;min-height:43px}@media(max-width:1000px){.prepare-steps{grid-template-columns:repeat(2,1fr)}.new-term-card{grid-template-columns:1fr}.new-term-form{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.academic-workflow .section-heading{display:grid}.prepare-steps,.new-term-form{grid-template-columns:1fr}.new-term-card{padding:18px}}
.request-message{display:block;min-width:180px;max-width:280px;white-space:normal}.request-actions{min-width:210px;margin:0}.request-actions form{margin:0}.registration-request-stats{margin-bottom:20px}@media(max-width:700px){.registration-request-stats{grid-template-columns:1fr 1fr}}
.signature-page{max-width:920px;margin:auto}.signature-status-card{display:flex;align-items:center;gap:18px}.signature-status-icon,.signature-card-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#eef4ff;color:#175cd3;font-size:25px;font-weight:900}.signature-status-card h2,.signature-status-card p{margin:2px 0}.signature-manager{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.signature-preview,.signature-empty{display:grid;place-items:center;min-height:130px;margin:18px 0 0;border:1px dashed #b7c7da;border-radius:12px;background:#fafcff}.signature-preview img{max-width:260px;max-height:90px;object-fit:contain}.signature-preview figcaption{color:var(--muted);font-size:11px}.signature-empty{color:var(--muted)}.dashboard-signature-card{display:flex;justify-content:space-between;align-items:center;gap:20px}.dashboard-signature-card>div{display:flex;align-items:center;gap:14px}.dashboard-signature-card h2,.dashboard-signature-card p{margin:0}.dashboard-signature-card p{color:var(--muted);font-size:13px}.learner-photo-preview{display:block}.learner-photo-preview img{width:82px;height:82px;margin-top:8px;border-radius:12px;object-fit:cover;border:1px solid var(--line)}@media(max-width:650px){.signature-manager{grid-template-columns:1fr}.dashboard-signature-card,.dashboard-signature-card>div{align-items:flex-start}.dashboard-signature-card{display:grid}.dashboard-signature-card>div:last-child{flex-wrap:wrap}}
.simplified-scores{min-width:980px}.simplified-scores .calculated-score,.import-panel .calculated-score{color:#175cd3;font-weight:850;font-variant-numeric:tabular-nums}.simplified-scores input[type="number"]{min-width:115px}.import-stats.compact{grid-template-columns:repeat(4,minmax(120px,1fr));margin:16px 0}@media(max-width:650px){.import-stats.compact{grid-template-columns:1fr 1fr}}
/* Protected historical-report preview and payment summaries. */
.report-preview-modal{width:min(920px,94vw);max-height:90vh;border:0;border-radius:18px;padding:0;box-shadow:0 24px 70px #0b1f3a55}.report-preview-modal::backdrop{background:#07182fb8;backdrop-filter:blur(3px)}.report-preview-modal>.modal-heading,.report-preview-modal>.actions{padding:16px 22px}.report-preview-modal>.modal-heading{display:flex;justify-content:space-between;align-items:center;background:#102a43;color:#fff}.report-preview-modal>.modal-heading button{width:auto;background:transparent;font-size:24px;padding:2px 8px}.report-preview-modal>.actions{justify-content:flex-end;border-top:1px solid #dde6f0}.report-preview-grid{padding:20px 22px;display:grid;gap:14px}.report-preview-meta,.report-preview-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.report-preview-meta div,.report-preview-summary div{padding:10px;border:1px solid #d9e4f0;border-radius:10px;background:#f8fbff}.report-preview-meta small,.report-preview-summary small{display:block;color:#5d7188;text-transform:uppercase;font-size:10px;font-weight:700}.payment-summary{max-width:720px;margin:auto}.payment-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.payment-breakdown article{padding:16px;border-radius:12px;background:#f3f7fc;border:1px solid #dce6f1}.payment-breakdown strong{display:block;font-size:22px;color:#175cd3}@media(max-width:700px){.report-preview-meta,.report-preview-summary,.payment-breakdown{grid-template-columns:1fr 1fr}}
.talent-picker{grid-column:1/-1;border:1px solid #d6e2ef;border-radius:14px;padding:14px;background:#f9fbfe}.talent-picker legend{font-weight:800;color:#102a43;padding:0 6px}.talent-options{max-height:260px;overflow:auto;margin:10px 0;border:1px solid #e1e9f2;border-radius:10px;background:white;padding:8px}.talent-options section{padding:8px}.talent-options section+section{border-top:1px solid #edf2f7}.talent-options section>b{display:block;color:#175cd3;margin-bottom:7px}.talent-options section>div{display:flex;flex-wrap:wrap;gap:7px}.talent-options label,.talent-other-check{display:flex!important;align-items:center;gap:6px;width:auto!important;padding:7px 10px;border:1px solid #dce6f1;border-radius:999px;background:#fff;font-size:12px}.talent-options input,.talent-other-check input{width:auto;margin:0}.talent-other{margin-top:8px}
/* Premium, protected AJAX report preview. Its modular sections can accept charts later. */
.report-preview-modal{width:min(1040px,96vw);height:min(92vh,920px);max-height:92vh;overflow:hidden;background:#eef4fa}.report-preview-modal>.modal-heading{min-height:72px}.report-preview-modal>.modal-heading small{color:#a9c7e8;text-transform:uppercase;letter-spacing:.1em}.report-preview-modal>.modal-heading h2{margin:2px 0 0}.report-preview-modal #reportPreviewContent{height:calc(100% - 142px);overflow:auto;padding:18px;user-select:none;-webkit-user-select:none}.preview-only-notice{background:#fff;align-items:center;justify-content:space-between;color:#66788c;font-size:12px}.digital-report{background:#fff;border:1px solid #d5e2ef;border-radius:16px;box-shadow:0 10px 30px #102a4314;overflow:hidden;color:#102a43;animation:previewRise .22s ease-out}.digital-report img{user-drag:none;-webkit-user-drag:none;pointer-events:none}.digital-report-header{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px 20px;border-bottom:3px solid #102a43}.digital-report-header h2,.digital-report-header p{margin:0}.digital-report-header small{color:#5f7388;text-transform:uppercase;font-weight:700;font-size:9px}.school-preview-mark,.preview-photo{display:grid;place-items:center;overflow:hidden;background:#102a43;color:#fff;font-weight:800}.school-preview-mark{width:58px;height:58px;border-radius:13px}.school-preview-mark img,.preview-photo img{width:100%;height:100%;object-fit:cover}.digital-report-header .period{text-align:right}.digital-report-header .period span{display:block;color:#175cd3;font-weight:800}.preview-learner{margin:14px;display:grid;grid-template-columns:auto minmax(180px,1fr) 2fr;gap:14px;align-items:center;padding:14px;border:1px solid #dce6f1;border-radius:13px;background:#f8fbff}.preview-photo{width:66px;height:76px;border-radius:10px;background:#eaf2ff;color:#175cd3}.preview-learner-name h3{margin:2px 0 6px}.preview-learner dl{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:0}.preview-learner dl div{padding:7px 9px;background:#fff;border-radius:8px}.preview-learner dt,.preview-remarks small,.preview-summary small{font-size:9px;text-transform:uppercase;color:#60758b;font-weight:800}.preview-learner dd{margin:2px 0 0;font-weight:700}.preview-section{margin:14px;border:1px solid #d8e4ef;border-radius:12px;overflow:hidden}.preview-section>h3{margin:0;padding:9px 12px;background:#102a43;color:#fff;text-transform:uppercase;font-size:11px;letter-spacing:.05em}.preview-section table{font-size:11px}.preview-section table th{background:#eaf2fb;color:#23415f}.preview-section table strong{color:#0d57c7}.grade-pill{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:#e9f2ff;color:#0d57c7;font-weight:800}.preview-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px;padding:8px;background:#edf4ff;border-radius:12px}.preview-summary div{padding:11px;background:#fff;border:1px solid #d8e4ef;border-radius:9px}.preview-summary strong{display:block;margin-top:4px;color:#0d57c7}.preview-remarks{display:grid;grid-template-columns:1fr 1fr}.preview-remarks>div{padding:12px;border-bottom:1px solid #e2e9f1}.preview-remarks>div:nth-child(odd){border-right:1px solid #e2e9f1}.preview-remarks .wide{min-height:68px}.preview-remarks p{margin:5px 0 0}.preview-authorization{display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr;gap:12px;align-items:end;padding:14px 20px;border-top:1px solid #dce6ef}.preview-authorization>div{min-height:82px;display:flex;flex-direction:column;justify-content:end;text-align:center;font-size:10px}.preview-authorization img{max-width:100px;max-height:46px;object-fit:contain;margin:auto}.preview-stamp img{max-height:72px}.preview-qr img{width:54px;height:54px}.preview-qr small{overflow-wrap:anywhere}.report-preview-open{overflow:hidden}@keyframes previewRise{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}@media(max-width:760px){.report-preview-modal #reportPreviewContent{padding:9px}.preview-learner{grid-template-columns:auto 1fr}.preview-learner dl{grid-column:1/-1}.preview-summary{grid-template-columns:repeat(2,1fr)}.preview-authorization{grid-template-columns:1fr 1fr}.digital-report-header{grid-template-columns:auto 1fr}.digital-report-header .period{grid-column:1/-1;text-align:left;display:flex;gap:8px}.preview-remarks{grid-template-columns:1fr}.preview-remarks>div:nth-child(odd){border-right:0}}@media print{body.report-preview-open *{display:none!important}.report-preview-modal{display:none!important}}
/* Subscription workspaces keep the first action obvious and remain usable on tablets. */
.subscription-workspace{align-items:start}.subscription-stats article small{display:block;margin-top:.35rem;color:#64748b}.inline-form{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.inline-form input,.inline-form select{width:auto;min-width:130px;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.attendance-page table select{min-width:130px}.assignment-cards{display:grid;gap:1rem}.assignment-cards>article{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:1.25rem;padding:1.25rem;border:1px solid #dbe7f3;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(15,45,80,.06)}.parent-module{max-width:1100px;margin-inline:auto}.enterprise-child-action{margin-top:.25rem}
@media(max-width:800px){.assignment-cards>article,.form-grid{grid-template-columns:1fr}.inline-form{align-items:stretch}.inline-form input,.inline-form select,.inline-form button{width:100%}}

/* Subscription identity and expiry status on the School System Admin dashboard. */
.subscription-overview{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:18px;margin:0 0 20px;padding:20px 22px;border:1px solid #cfe0f4;border-radius:18px;background:linear-gradient(120deg,#fff 0%,#f4f8ff 100%);box-shadow:0 10px 30px #102a4310;position:relative;overflow:hidden}.subscription-overview:after{content:"";position:absolute;right:-55px;top:-70px;width:190px;height:190px;border-radius:50%;background:#175cd30b}.subscription-plan-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:linear-gradient(145deg,#175cd3,#0b3a88);color:#fff;font-size:21px;font-weight:900;box-shadow:0 8px 20px #175cd32b}.subscription-kicker,.subscription-expiry span,.subscription-plan-actions>span{display:block;color:#64748b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.subscription-plan-main>div{display:flex;align-items:center;gap:9px}.subscription-plan-main h2{margin:1px 0;font-size:22px}.subscription-plan-main p{max-width:680px;margin:4px 0 0;color:#64748b;font-size:12px}.subscription-expiry,.subscription-plan-actions{position:relative;z-index:1;min-width:155px;padding-left:18px;border-left:1px solid #dbe5f0}.subscription-expiry strong,.subscription-plan-actions strong{display:block;margin:3px 0;color:#102a43;font-size:16px}.subscription-expiry small{color:#667085}.subscription-overview.warning{border-color:#fedf89;background:linear-gradient(120deg,#fff 0%,#fffaeb 100%)}.subscription-overview.expired{border-color:#fecdca;background:linear-gradient(120deg,#fff 0%,#fef3f2 100%)}.subscription-plan-actions a{display:block;margin-top:4px;font-size:11px;font-weight:750}.feature-locked-field{display:grid!important;gap:5px;min-height:66px;padding:12px 14px!important;border:1px dashed #b7c7da!important;border-radius:10px;background:#f5f8fc!important;color:#344054}.feature-locked-field small{color:#667085;font-weight:500}.feature-locked-field small b{color:#175cd3}.theme-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #d9e3ef;background:#f7f9fc;color:#18324f;border-radius:11px}.theme-toggle span{font-size:17px;line-height:1}.theme-toggle small{font-size:10px;font-weight:800;text-transform:capitalize}
@media(max-width:1000px){.subscription-overview{grid-template-columns:auto 1fr}.subscription-expiry,.subscription-plan-actions{border-left:0;border-top:1px solid #dbe5f0;padding:12px 0 0}.subscription-plan-actions{grid-column:2}.subscription-expiry{grid-column:1/-1}}@media(max-width:620px){.subscription-overview{grid-template-columns:1fr;padding:17px}.subscription-plan-icon{width:46px;height:46px}.subscription-expiry,.subscription-plan-actions,.subscription-expiry{grid-column:1}.theme-toggle small{display:none}.theme-toggle{padding:8px}}

/* Dashboard dark theme. Printable reports and bills deliberately remain light. */
html[data-theme="dark"] body.dashboard-shell{--ink:#e7edf6;--muted:#9fb0c5;--line:#2a3d55;--cream:#0b1421;--navy:#dce9fa;background:#0b1421;color:var(--ink);color-scheme:dark}html[data-theme="dark"] body.dashboard-shell .app-header{background:#111d2c;border-color:#27394f;color:#e7edf6}html[data-theme="dark"] body.dashboard-shell .app-sidebar{background:#081a2e;border-color:#233851}html[data-theme="dark"] body.dashboard-shell .panel,html[data-theme="dark"] body.dashboard-shell .stats article,html[data-theme="dark"] body.dashboard-shell .subscription-overview,html[data-theme="dark"] body.dashboard-shell .assignment-cards>article,html[data-theme="dark"] body.dashboard-shell .confirm-card{background:#111d2c;border-color:#2a3d55;box-shadow:0 8px 28px #0004}html[data-theme="dark"] body.dashboard-shell input,html[data-theme="dark"] body.dashboard-shell select,html[data-theme="dark"] body.dashboard-shell textarea{background:#0c1725;border-color:#344960;color:#e7edf6}html[data-theme="dark"] body.dashboard-shell th{background:#142236;color:#9fb0c5}html[data-theme="dark"] body.dashboard-shell td{border-color:#283b52}html[data-theme="dark"] body.dashboard-shell label{color:#dbe5f2}html[data-theme="dark"] body.dashboard-shell .muted,html[data-theme="dark"] body.dashboard-shell td small,html[data-theme="dark"] body.dashboard-shell .subscription-plan-main p,html[data-theme="dark"] body.dashboard-shell .subscription-expiry span,html[data-theme="dark"] body.dashboard-shell .subscription-plan-actions>span,html[data-theme="dark"] body.dashboard-shell .subscription-kicker{color:#9fb0c5}html[data-theme="dark"] body.dashboard-shell .subscription-expiry strong,html[data-theme="dark"] body.dashboard-shell .subscription-plan-actions strong{color:#edf4ff}html[data-theme="dark"] body.dashboard-shell .theme-toggle{background:#16263a;border-color:#36506d;color:#e7edf6}html[data-theme="dark"] body.dashboard-shell .ghost{background:#23364d!important;color:#dce9fa!important}html[data-theme="dark"] body.dashboard-shell .setting-check,html[data-theme="dark"] body.dashboard-shell .feature-locked-field,html[data-theme="dark"] body.dashboard-shell .profile-media-previews figure,html[data-theme="dark"] body.dashboard-shell .profile-save-bar,html[data-theme="dark"] body.dashboard-shell .talent-picker,html[data-theme="dark"] body.dashboard-shell .talent-options{background:#142236!important;border-color:#30455e!important;color:#dce6f2}html[data-theme="dark"] body.dashboard-shell .talent-options label{background:#0c1725;border-color:#30455e;color:#dce6f2}html[data-theme="dark"] body.dashboard-shell .page-head h1,html[data-theme="dark"] body.dashboard-shell .panel h2{color:#f3f7fc}html[data-theme="dark"] body.dashboard-shell .site-footer{color:#899cb3}
@media print{html[data-theme="dark"] body{background:#fff!important;color:#102a43!important;color-scheme:light!important}}

/* Complete high-contrast dark palette for every authenticated Gradebook module. */
html[data-theme="dark"] body.dashboard-shell a{color:#78adff}html[data-theme="dark"] body.dashboard-shell p,html[data-theme="dark"] body.dashboard-shell span,html[data-theme="dark"] body.dashboard-shell strong,html[data-theme="dark"] body.dashboard-shell b,html[data-theme="dark"] body.dashboard-shell h1,html[data-theme="dark"] body.dashboard-shell h2,html[data-theme="dark"] body.dashboard-shell h3,html[data-theme="dark"] body.dashboard-shell h4{border-color:inherit}html[data-theme="dark"] body.dashboard-shell input::placeholder,html[data-theme="dark"] body.dashboard-shell textarea::placeholder{color:#7f93aa;opacity:1}html[data-theme="dark"] body.dashboard-shell select option{background:#0c1725;color:#eef4fb}html[data-theme="dark"] body.dashboard-shell input:disabled,html[data-theme="dark"] body.dashboard-shell select:disabled,html[data-theme="dark"] body.dashboard-shell textarea:disabled{background:#172435!important;color:#9aabc0!important;opacity:1}html[data-theme="dark"] body.dashboard-shell input[readonly]{background:#172435!important;color:#b8c7d8!important;border-color:#40546c!important}
html[data-theme="dark"] body.dashboard-shell .dashboard-quick-actions a{background:#142236!important;border-color:#314760!important;color:#f1f6fc!important;box-shadow:0 5px 18px #0003}html[data-theme="dark"] body.dashboard-shell .dashboard-quick-actions a:hover{background:#1a2d45!important;border-color:#5687c5!important}html[data-theme="dark"] body.dashboard-shell .dashboard-quick-actions span{background:#203a5d!important;color:#8bb7ff!important}html[data-theme="dark"] body.dashboard-shell .dashboard-welcome,html[data-theme="dark"] body.dashboard-shell .dashboard-welcome h2,html[data-theme="dark"] body.dashboard-shell .dashboard-welcome p,html[data-theme="dark"] body.dashboard-shell .dashboard-welcome span,html[data-theme="dark"] body.dashboard-shell .dashboard-welcome b{color:#fff}html[data-theme="dark"] body.dashboard-shell .welcome-meta .badge.active{background:#dff9ec!important;color:#067647!important}
html[data-theme="dark"] body.dashboard-shell .header-school b,html[data-theme="dark"] body.dashboard-shell .header-user b{color:#f3f7fc}html[data-theme="dark"] body.dashboard-shell .header-user>span{background:#dbe7f5;color:#0b2545}html[data-theme="dark"] body.dashboard-shell .header-signout{background:#e8eef7;color:#13263d}html[data-theme="dark"] body.dashboard-shell .notification-menu summary{background:#142236;border-color:#36506b;color:#e8f0fa}html[data-theme="dark"] body.dashboard-shell .notification-popover{background:#111d2c;border-color:#344960;box-shadow:0 22px 55px #0008}html[data-theme="dark"] body.dashboard-shell .notification-popover h3{color:#f3f7fc}html[data-theme="dark"] body.dashboard-shell .notification-popover>a,html[data-theme="dark"] body.dashboard-shell .notification-popover>div{background:#142236;border-color:#2c4057;color:#e8f0fa}html[data-theme="dark"] body.dashboard-shell .notification-popover>a:hover{background:#1c3150}html[data-theme="dark"] body.dashboard-shell .notification-popover small{color:#a9bacd}
html[data-theme="dark"] body.dashboard-shell .badge{background:#26384d;color:#dbe7f5}html[data-theme="dark"] body.dashboard-shell .badge.active{background:#123c31;color:#7ce8b9}html[data-theme="dark"] body.dashboard-shell .badge.pending,html[data-theme="dark"] body.dashboard-shell .badge.warning{background:#4a3515;color:#ffd58a}html[data-theme="dark"] body.dashboard-shell .badge.inactive,html[data-theme="dark"] body.dashboard-shell .badge.rejected{background:#4a2226;color:#ffb4b4}html[data-theme="dark"] body.dashboard-shell .notice{background:#3c3018;color:#ffe3a3;border-color:#806226}html[data-theme="dark"] body.dashboard-shell .alert{background:#123c31;color:#9af0c9;border-color:#28664f}html[data-theme="dark"] body.dashboard-shell .alert.danger{background:#452326!important;color:#ffc1c1!important;border-color:#7f3c43}
html[data-theme="dark"] body.dashboard-shell .result-tabs{background:#0b1624}html[data-theme="dark"] body.dashboard-shell .result-tabs a{color:#b7c7da}html[data-theme="dark"] body.dashboard-shell .result-tabs a.active{background:#203a5d;color:#d9e9ff;box-shadow:none}html[data-theme="dark"] body.dashboard-shell .calculated-score{color:#80b5ff!important}html[data-theme="dark"] body.dashboard-shell .score-row-error,html[data-theme="dark"] body.dashboard-shell .field-error{color:#ffaaa5}html[data-theme="dark"] body.dashboard-shell table tbody tr:hover{background:#142236}html[data-theme="dark"] body.dashboard-shell table a{color:#84b6ff}
html[data-theme="dark"] body.dashboard-shell fieldset,html[data-theme="dark"] body.dashboard-shell .profile-sections fieldset,html[data-theme="dark"] body.dashboard-shell .teacher-list-card,html[data-theme="dark"] body.dashboard-shell .teacher-assignment-summary,html[data-theme="dark"] body.dashboard-shell .role-checks label,html[data-theme="dark"] body.dashboard-shell .observation-card,html[data-theme="dark"] body.dashboard-shell .signature-preview,html[data-theme="dark"] body.dashboard-shell .signature-empty,html[data-theme="dark"] body.dashboard-shell .timeline-step,html[data-theme="dark"] body.dashboard-shell .prepare-steps li,html[data-theme="dark"] body.dashboard-shell .bill-row,html[data-theme="dark"] body.dashboard-shell .report-preview-meta div,html[data-theme="dark"] body.dashboard-shell .report-preview-summary div,html[data-theme="dark"] body.dashboard-shell .payment-breakdown article{background:#142236!important;border-color:#30465f!important;color:#e8f0fa}html[data-theme="dark"] body.dashboard-shell legend,html[data-theme="dark"] body.dashboard-shell .teacher-editor legend,html[data-theme="dark"] body.dashboard-shell .profile-sections legend,html[data-theme="dark"] body.dashboard-shell .talent-picker legend{color:#e8f0fa}html[data-theme="dark"] body.dashboard-shell .profile-sections legend span{background:#203a5d;color:#8bb7ff}
html[data-theme="dark"] body.dashboard-shell .attention-panel{background:linear-gradient(135deg,#342a18,#2b2417);border-color:#735927}html[data-theme="dark"] body.dashboard-shell .attention-heading p{color:#f1c978}html[data-theme="dark"] body.dashboard-shell .attention-list a{background:#182638;border-color:#735927;color:#ffdca0}html[data-theme="dark"] body.dashboard-shell .attention-list a>span{background:#4a3515;color:#ffd58a}html[data-theme="dark"] body.dashboard-shell .attention-list a>b{color:#8dbbff}
html[data-theme="dark"] body.dashboard-shell dialog,html[data-theme="dark"] body.dashboard-shell .report-preview-modal,html[data-theme="dark"] body.dashboard-shell .confirm-card,html[data-theme="dark"] body.dashboard-shell .toast{background:#111d2c!important;border-color:#3a506a!important;color:#eef4fb!important}html[data-theme="dark"] body.dashboard-shell .toast p,html[data-theme="dark"] body.dashboard-shell .confirm-card p{color:#b6c5d7}html[data-theme="dark"] body.dashboard-shell .toast.danger{background:#291a20!important;color:#ffd4d4!important}html[data-theme="dark"] body.dashboard-shell .preview-only-notice{background:#142236;color:#b7c7da;border-color:#30465f}html[data-theme="dark"] body.dashboard-shell .report-preview-modal>.actions{border-color:#30465f}
html[data-theme="dark"] body.dashboard-shell .subscription-overview{background:linear-gradient(120deg,#111d2c,#14253b)}html[data-theme="dark"] body.dashboard-shell .subscription-overview.warning{background:linear-gradient(120deg,#111d2c,#302819)}html[data-theme="dark"] body.dashboard-shell .subscription-overview.expired{background:linear-gradient(120deg,#111d2c,#321e24)}html[data-theme="dark"] body.dashboard-shell .subscription-overview .badge.active{background:#123c31;color:#7ce8b9}html[data-theme="dark"] body.dashboard-shell button:disabled,html[data-theme="dark"] body.dashboard-shell .button.disabled,html[data-theme="dark"] body.dashboard-shell .disabled-link{opacity:.58;color:#a8b6c8!important}html[data-theme="dark"] body.dashboard-shell ::-webkit-scrollbar{width:11px;height:11px}html[data-theme="dark"] body.dashboard-shell ::-webkit-scrollbar-track{background:#0b1421}html[data-theme="dark"] body.dashboard-shell ::-webkit-scrollbar-thumb{background:#354b64;border:2px solid #0b1421;border-radius:20px}

/* Parent portal 5-second workflow: attention first, four obvious destinations. */
.enhanced-parent-dashboard{max-width:1160px;margin:auto}.parent-action-guide{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:13px 16px;border:1px solid #cfe0f4;border-radius:13px;background:#eef5ff}.parent-action-guide span{padding:4px 9px;border-radius:99px;background:#175cd3;color:#fff;font-size:11px;font-weight:850;text-transform:uppercase}.parent-action-guide p{margin:0;color:#40566f}.enhanced-parent-dashboard .parent-child-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.enhanced-parent-dashboard .parent-child-card{padding:21px;border:1px solid #d7e3ef;border-radius:20px;background:#fff;box-shadow:0 15px 42px #102a4310;transition:.2s ease}.enhanced-parent-dashboard .parent-child-card.needs-assignment{border:2px solid #4b8deb;background:linear-gradient(145deg,#fff,#f3f8ff);box-shadow:0 16px 45px #175cd320}.enhanced-parent-dashboard .parent-child-card>header{display:flex;align-items:center;gap:13px}.enhanced-parent-dashboard .parent-child-card>header img,.enhanced-parent-dashboard .parent-child-card>header>span{display:grid;place-items:center;width:60px;height:60px;object-fit:contain;border-radius:14px;background:#eef4ff;color:#175cd3;font-weight:850;flex:0 0 auto}.enhanced-parent-dashboard .parent-child-card h2,.enhanced-parent-dashboard .parent-child-card p{margin:2px 0}.child-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.attention-badge{padding:4px 8px;border-radius:99px;background:#fff0d5;color:#a04a00;font-size:10px;text-transform:uppercase}.child-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}.child-status-grid>div{padding:10px 11px;border:1px solid #e0e8f1;border-radius:11px;background:#f8fafc}.child-status-grid span{display:block;margin-bottom:3px;color:#667085;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.status-dot{display:block;font-size:11px}.status-dot.ready{color:#067647}.status-dot.waiting{color:#667085}.status-dot.attention{color:#b54708}.enhanced-parent-dashboard .child-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.enhanced-parent-dashboard .child-actions .button{position:relative;margin:0;padding:9px 7px;text-align:center;font-size:11px}.enhanced-parent-dashboard .child-actions em{position:absolute;right:-5px;top:-7px;display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:#ef4444;color:#fff;font-size:9px;font-style:normal}.assignment-access-page{min-height:65vh;display:grid;place-items:center;padding:20px}.assignment-access-card{width:min(480px,100%);padding:34px;border:1px solid #d8e4ef;border-radius:22px;background:#fff;box-shadow:0 24px 70px #102a4320;text-align:center}.assignment-access-card .access-lock{display:grid;place-items:center;width:60px;height:60px;margin:auto;border-radius:18px;background:#eef4ff;color:#175cd3;font-size:27px}.assignment-access-card form{text-align:left;margin:22px 0 14px}.assignment-access-card button{width:100%}.enhanced-parent-module{max-width:1120px;margin:auto}.parent-module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.parent-module-head h1,.parent-module-head p{margin:2px 0}.attendance-summary-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}.attendance-summary-grid article{padding:15px;border:1px solid #d9e4ef;border-radius:13px;background:#fff}.attendance-summary-grid span{display:block;color:#667085;font-size:10px;text-transform:uppercase}.attendance-summary-grid strong{font-size:21px}.assignment-tabs{display:flex;gap:7px;margin-bottom:18px;padding:5px;border-radius:13px;background:#eaf0f8;overflow:auto}.assignment-tabs a{display:flex;align-items:center;gap:7px;padding:9px 14px;border-radius:9px;color:#475467;font-weight:750;white-space:nowrap}.assignment-tabs a.active{background:#fff;color:#175cd3;box-shadow:0 3px 12px #102a4312}.assignment-tabs em{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:99px;background:#dce8f8;font-size:10px;font-style:normal}.learner-assignment-list{display:grid;gap:15px}.learner-assignment-card{padding:20px;border:1px solid #d9e4ef;border-radius:17px;background:#fff;box-shadow:0 8px 25px #102a430b}.learner-assignment-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.learner-assignment-card h2{margin:4px 0}.learner-assignment-card header p{margin:0;color:#667085}.assignment-subject{color:#175cd3;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.assignment-instructions{margin:15px 0;padding:14px;border-radius:11px;background:#f7f9fc}.assignment-meta{display:flex;justify-content:space-between;gap:12px;padding-bottom:13px}.submitted-work,.assignment-submit-panel{margin-top:10px;padding:15px;border:1px solid #dbe6f1;border-radius:12px;background:#f9fbfe}.submitted-work h3{margin:0 0 6px}.submitted-work small,.submission-lock{display:block;margin-top:9px;color:#667085}.marked-result{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px;padding:12px;border-radius:10px;background:#eafaf2}.marked-result strong{color:#067647;font-size:19px}.marked-result p{margin:0}.assignment-submit-panel summary{cursor:pointer;color:#175cd3;font-weight:800}.assignment-submit-panel form{margin-top:15px}.empty-assignment-state{padding:45px 20px;border:1px dashed #bdcad8;border-radius:17px;text-align:center;background:#fff}.empty-assignment-state>span{font-size:30px;color:#12b76a}.assignment-code-panel{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:20px;align-items:center}.assignment-code-list{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:8px}.assignment-code-list article{display:grid;gap:3px;padding:10px 12px;border:1px solid #dbe5ef;border-radius:11px;background:#f8fafc}.assignment-code-list span{font-size:10px;color:#667085;text-transform:uppercase}.assignment-code-list strong{font-family:Consolas,monospace;letter-spacing:.08em}.assignment-code-list form{margin:4px 0 0}.assignment-code-list button{padding:5px 8px}
@media(max-width:900px){.enhanced-parent-dashboard .parent-child-grid{grid-template-columns:1fr}.attendance-summary-grid{grid-template-columns:repeat(3,1fr)}.assignment-code-panel{grid-template-columns:1fr}.assignment-code-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.enhanced-parent-dashboard .child-actions{grid-template-columns:1fr 1fr}.child-status-grid{grid-template-columns:1fr}.parent-module-head{display:grid}.attendance-summary-grid{grid-template-columns:1fr 1fr}.learner-assignment-card>header,.assignment-meta,.marked-result{display:grid}.assignment-code-list{grid-template-columns:1fr}}
/* Editable subscription catalog and one-time credential panels. */
.plan-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}.plan-editor-card{padding:18px;border:1px solid var(--border,#d8e2ee);border-radius:16px;background:var(--panel,#fff)}.plan-editor-card h3{margin-top:0}.feature-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.feature-check-grid label{display:flex;align-items:center;gap:7px}.credential-panel{border-left:5px solid #1769e0}.credential-values{display:flex;gap:20px;flex-wrap:wrap;margin:14px 0}.credential-values span{padding:12px 14px;border-radius:12px;background:var(--soft,#eef5ff)}.unlock-request-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.unlock-request-form input[name=reason]{min-width:240px}@media(max-width:700px){.feature-check-grid{grid-template-columns:1fr}.plan-editor-grid{grid-template-columns:1fr}.unlock-request-form input[name=reason]{min-width:100%;width:100%}}
.submission-completeness-hint{align-self:center;color:var(--warning-text,#9a6700);font-size:.88rem}.submission-completeness-hint.ready{color:var(--success-text,#087443)}
.header-user{text-decoration:none;color:inherit}.header-user .user-photo,.header-user .user-photo img{width:44px;height:44px;border-radius:50%}.header-user .user-photo{overflow:hidden;background:#e8f1ff}.header-user .user-photo img{display:block;object-fit:cover}.credential-popup{position:relative;border-left:5px solid #1769e0}.credential-close{position:absolute;top:14px;right:14px;width:36px;height:36px;padding:0;border-radius:50%;background:var(--soft,#eef4ff);color:var(--ink,#102a43);font-size:22px;line-height:1}.account-settings-layout{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:20px;max-width:1100px;margin:0 auto}.account-profile-card{display:flex;align-items:center;gap:18px;align-self:start}.account-profile-card h2{margin:3px 0}.account-profile-card p{overflow-wrap:anywhere}.account-avatar-preview{flex:0 0 104px;width:104px;height:104px;display:grid;place-items:center;overflow:hidden;border:4px solid #e8f1ff;border-radius:28px;background:linear-gradient(145deg,#eaf2ff,#d8e7ff);color:#155eef;font-size:38px;font-weight:900}.account-avatar-preview img{width:100%;height:100%;object-fit:cover}.account-settings-form{display:grid;gap:18px}.account-settings-form fieldset{margin:0}.account-settings-form label small{display:block;margin:5px 0;color:var(--muted,#60758b)}html[data-theme="dark"] body.dashboard-shell .credential-close{background:#20344c;color:#e7edf6}html[data-theme="dark"] body.dashboard-shell .account-avatar-preview{border-color:#30465f;background:#142236}@media(max-width:800px){.account-settings-layout{grid-template-columns:1fr}.account-profile-card{align-items:flex-start}.account-avatar-preview{flex-basis:84px;width:84px;height:84px;border-radius:23px}}
.assignment-workspace-stats{margin-bottom:18px}.attendance-page table select{min-width:120px}.alert.warning{margin:14px 0;padding:13px 15px;border:1px solid #f4ca64;border-radius:12px;background:#fff7dd;color:#7a4b00}.badge.inactive{background:#fee4e2;color:#b42318}

/* School System Admin assignment overview: contained, responsive filter workspace. */
.assignment-overview-panel{width:100%;max-width:100%;min-width:0;overflow:hidden}.assignment-overview-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:2px}.assignment-overview-heading h2{margin:0}.assignment-overview-heading .eyebrow{margin:0}.assignment-overview-panel>.muted{margin:7px 0 20px}.assignment-overview-filters{display:grid!important;grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:13px;width:100%;max-width:100%;margin:0 0 22px;padding:17px;border:1px solid var(--line,#dbe5ef);border-radius:15px;background:var(--surface-muted,#f7f9fc)}.assignment-overview-filters label{min-width:0;margin:0!important}.assignment-overview-filters select{width:100%;min-width:0;margin-top:6px}.assignment-overview-filters button{width:100%;min-height:48px;margin:0}.assignment-overview-panel .table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--line,#dbe5ef);border-radius:13px}.assignment-overview-panel table{min-width:920px;margin:0}.assignment-overview-panel th{white-space:nowrap}@media(max-width:1200px){.assignment-overview-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media(max-width:850px){.assignment-overview-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.assignment-overview-filters{grid-template-columns:1fr;padding:13px}.assignment-overview-heading{display:block}.assignment-overview-panel{padding:16px}}
html[data-theme="dark"] body.dashboard-shell .assignment-overview-filters{border-color:#30465f;background:#142236}html[data-theme="dark"] body.dashboard-shell .assignment-overview-panel .table-wrap{border-color:#30465f}
.credentials-panel{position:fixed;z-index:1200;top:50%;left:50%;width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;transform:translate(-50%,-50%);border:1px solid #cbdcf0!important;box-shadow:0 30px 90px #061b3580!important;background:var(--surface,#fff)!important}.credentials-panel:before{content:"School account created successfully";display:block;margin-bottom:14px;color:#087c52;font-size:13px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.credentials-panel pre{padding:16px;border-radius:14px;background:var(--surface-muted,#f4f7fb);white-space:pre-wrap;user-select:text}@media(max-width:600px){.credentials-panel{width:calc(100vw - 20px);padding:20px!important}}
.school-name-link{display:grid;gap:3px;color:var(--text,#102a43)}.school-name-link small{color:var(--primary,#155eef);font-size:11px}.school-intelligence{display:grid;gap:20px}.school-detail-head{display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(135deg,#0c315b,#155eef)!important;color:#fff}.school-detail-head h2{margin:5px 0;font-size:30px}.school-detail-head p{margin:0;color:#dbeaff}.school-detail-head .button{color:#fff;border-color:#ffffff55}.statement-period{margin:18px 0;padding:12px 15px;border-radius:12px;background:var(--surface-muted,#f3f7fc);color:var(--text,#102a43)}@media print{.app-sidebar,.app-header,.site-footer,.no-print,.page-head{display:none!important}.dashboard-shell .shell{margin:0!important;padding:0!important}.school-intelligence{display:block}.school-intelligence>.panel{box-shadow:none!important;margin-bottom:15px}.school-detail-head{color:#102a43!important;background:#fff!important;border:1px solid #ccd8e6!important}.school-detail-head p{color:#455f78!important}}@media(max-width:720px){.school-detail-head{align-items:flex-start;flex-direction:column}.school-detail-head .actions{width:100%}.school-detail-head .button{flex:1}}
.revenue-statement{overflow:hidden}.statement-brand{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:-24px -24px 24px;padding:20px 24px;border-bottom:3px solid #155eef;background:#071d39;color:#fff}.statement-brand img{width:48px;height:48px;padding:5px;border-radius:12px;background:#fff;object-fit:contain}.statement-brand>div{display:grid;gap:2px}.statement-brand b{font-size:20px}.statement-brand span,.statement-brand small{color:#bcd0e8;font-size:11px}.statement-brand>div:last-child{text-align:right}.statement-brand strong{font-size:15px;letter-spacing:.1em}.statement-period{display:flex;align-items:center;justify-content:space-between;gap:15px}.statement-period span{color:var(--muted,#60758b);font-size:11px;font-weight:800;text-transform:uppercase}.share-card{border-color:#9adaba!important;background:#edfbf4!important}.share-card strong{color:#087c52}.statement-pending{display:flex;justify-content:space-between;gap:20px;margin-top:18px;padding:14px 16px;border:1px solid #f2d39c;border-radius:12px;background:#fff8e8;color:#7a5414}.statement-pending span{font-size:12px}.statement-footer{display:flex;justify-content:space-between;gap:20px;margin:24px -24px -24px;padding:15px 24px;border-top:1px solid var(--border,#dbe4ef);color:var(--muted,#60758b);font-size:11px}@media print{.revenue-statement{border:1px solid #b9c7d6!important}.statement-brand{-webkit-print-color-adjust:exact;print-color-adjust:exact}.share-card,.statement-pending{-webkit-print-color-adjust:exact;print-color-adjust:exact}.revenue-statement .section-heading{margin-top:0}.statement-footer{position:relative}}@media(max-width:650px){.statement-brand{grid-template-columns:auto 1fr}.statement-brand>div:last-child{grid-column:1/-1;text-align:left}.statement-period,.statement-pending,.statement-footer{align-items:flex-start;flex-direction:column}}
.admin-command-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:22px;padding:30px;border-radius:23px;background:linear-gradient(135deg,#08294d,#155eef);color:#fff;box-shadow:0 20px 48px #155eef20}.admin-command-hero h2{margin:5px 0 7px;font-size:clamp(25px,3vw,35px)}.admin-command-hero p{margin:0;color:#d9e8ff}.admin-command-hero>div:last-child{display:grid;min-width:210px;padding-left:28px;border-left:1px solid #ffffff35}.admin-command-hero>div:last-child span,.admin-command-hero>div:last-child small{color:#c8dcfa;font-size:11px}.admin-command-hero>div:last-child strong{margin:4px 0;font-size:27px}.admin-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.admin-metric-grid article{display:flex;align-items:center;gap:15px;min-height:112px;padding:20px;border:1px solid var(--border,#dce5ef);border-radius:18px;background:var(--surface,#fff);box-shadow:0 12px 30px #102a4308}.admin-metric-icon{display:grid;place-items:center;flex:0 0 43px;height:43px;border-radius:13px;background:#eaf2ff;color:#155eef;font-weight:900}.admin-metric-grid article>div{display:grid;gap:5px}.admin-metric-grid small{color:var(--muted,#61758a);font-size:12px}.admin-metric-grid strong{font-size:27px}.admin-dashboard-panels{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.admin-operation-list,.admin-plan-list{display:grid;gap:10px}.admin-operation-list a,.admin-plan-list>div{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border:1px solid var(--border,#dce5ef);border-radius:12px;color:var(--text,#102a43);background:var(--surface-muted,#f7f9fc)}.admin-operation-list b{display:grid;place-items:center;min-width:30px;height:30px;border-radius:999px;background:#eaf2ff;color:#155eef}.admin-plan-list b{font-size:12px}.admin-quick-actions .actions{gap:10px}@media(max-width:1050px){.admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.admin-command-hero{align-items:flex-start;flex-direction:column}.admin-command-hero>div:last-child{width:100%;padding:18px 0 0;border-top:1px solid #ffffff35;border-left:0}.admin-dashboard-panels{grid-template-columns:1fr}}@media(max-width:480px){.admin-metric-grid{grid-template-columns:1fr}.admin-metric-grid article{min-height:90px}}
.message-center{display:grid;grid-template-columns:190px minmax(280px,390px) minmax(360px,1fr);gap:16px;min-height:650px}.message-folders{align-self:start;display:grid;gap:6px;padding:12px!important}.message-folders a{display:flex;align-items:center;justify-content:space-between;padding:12px;border-radius:10px;color:var(--text,#102a43);font-weight:750}.message-folders a.active{background:#155eef;color:#fff}.message-folders b{font-size:12px}.message-list,.message-reader{padding:18px!important}.message-search{display:flex;gap:8px;margin-bottom:15px}.message-search input{min-width:0;flex:1}.message-items{display:grid;gap:7px;max-height:535px;overflow:auto}.message-item{display:grid;grid-template-columns:auto 1fr auto;gap:11px;padding:12px;border:1px solid transparent;border-radius:13px;color:var(--text,#102a43);background:var(--surface-muted,#f7f9fc)}.message-item.unread{border-color:#a9c7f2;background:#f0f6ff}.message-item.selected{box-shadow:inset 3px 0 #155eef}.message-item>span:nth-child(2){min-width:0}.message-item small,.message-item p,.message-item time{color:var(--muted,#60758b);font-size:11px}.message-item p{margin:5px 0 0;overflow:hidden}.message-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e8f1ff;color:#155eef;font-weight:900}.message-avatar.large{width:52px;height:52px;border-radius:15px;font-size:19px}.message-reader>header{display:flex;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--border,#dce5ef)}.message-reader h2{margin:0 0 5px}.message-reader header p,.message-reader header small{margin:0;color:var(--muted,#60758b)}.message-body{min-height:260px;padding:25px 5px;color:var(--text,#102a43);font-size:15px;line-height:1.8}.message-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:15px;border-top:1px solid var(--border,#dce5ef)}.message-actions form{margin:0}.message-empty{display:grid;place-items:center;min-height:480px;text-align:center;color:var(--muted,#60758b)}.message-empty span{font-size:40px}.contact-privacy{display:block;margin-top:12px;color:#60758b}@media(max-width:1050px){.message-center{grid-template-columns:160px 1fr}.message-reader{grid-column:1/-1}}@media(max-width:650px){.message-center{grid-template-columns:1fr}.message-folders{grid-template-columns:repeat(4,1fr);overflow:auto}.message-folders a{gap:8px;padding:10px;font-size:12px}.message-list,.message-reader{grid-column:auto}.message-search{display:grid}}
.message-handled{display:flex;justify-content:space-between;gap:15px;margin-top:15px;padding:12px 14px;border-radius:11px;background:#eaf9f1;color:#08704c;font-size:12px}.admin-team-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.admin-team-list{display:grid;gap:11px}.admin-team-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:15px;border:1px solid var(--border,#dce5ef);border-radius:15px;background:var(--surface-muted,#f7f9fc)}.admin-team-list h3,.admin-team-list p{margin:0 0 5px}.permission-grid{display:grid;gap:9px;margin:12px 0 18px}.permission-grid label{display:flex!important;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--border,#dce5ef);border-radius:12px}.permission-grid input{width:auto!important;margin-top:3px}.permission-grid span{display:grid;gap:3px}.admin-credential-card{margin-bottom:20px;border-color:#90d4b3!important;background:#effbf5!important}.admin-credential-card>div{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0}.admin-credential-card span{padding:10px;border-radius:9px;background:#fff}.admin-chat{max-width:900px;margin:auto}.chat-stream{display:flex;flex-direction:column;gap:11px;height:510px;padding:18px;overflow-y:auto;border:1px solid var(--border,#dce5ef);border-radius:17px;background:var(--surface-muted,#f5f8fc)}.chat-stream article{align-self:flex-start;max-width:75%;padding:11px 14px;border-radius:5px 16px 16px;background:var(--surface,#fff);box-shadow:0 6px 18px #102a430b}.chat-stream article.mine{align-self:flex-end;border-radius:16px 5px 16px 16px;background:#155eef;color:#fff}.chat-stream article>div{display:flex;justify-content:space-between;gap:18px}.chat-stream small{opacity:.7}.chat-stream p{margin:7px 0 0;line-height:1.55}.chat-compose{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:13px}.chat-compose textarea{resize:none}@media(max-width:900px){.admin-team-layout{grid-template-columns:1fr}}@media(max-width:650px){.admin-team-list article{grid-template-columns:auto 1fr}.admin-team-list .actions{grid-column:1/-1}.chat-stream article{max-width:90%}.chat-compose{grid-template-columns:1fr}}

/* Rich, privacy-aware administrator chat. */
.rich-admin-chat{max-width:1050px}.rich-admin-chat .chat-stream{height:min(58vh,590px);background:linear-gradient(145deg,var(--surface-muted,#f5f8fc),var(--surface,#fff))}.chat-message-head{display:flex!important;align-items:center;flex-wrap:wrap;justify-content:flex-start!important;gap:7px!important}.chat-message-head small{margin-left:auto}.chat-room-badge{padding:3px 7px;border-radius:999px;background:#e9f1ff;color:#155eef;font-size:10px;font-weight:800}.mine .chat-room-badge{background:#ffffff25;color:#fff}.chat-attachment{display:block!important;margin-top:10px}.chat-attachment img,.chat-attachment video{display:block;width:min(100%,480px);max-height:340px;border-radius:12px;object-fit:contain;background:#061b31}.chat-attachment audio{display:block;width:min(100%,360px)}.rich-admin-chat .chat-compose{grid-template-columns:220px minmax(0,1fr) auto;align-items:end;padding:13px;border:1px solid var(--border,#dce5ef);border-radius:16px;background:var(--surface,#fff)}.chat-recipient{margin:0!important}.chat-recipient select{margin-top:5px}.chat-input-wrap{position:relative}.chat-input-wrap textarea{min-height:76px;padding-bottom:39px}.chat-tools{position:absolute;display:flex;align-items:center;gap:5px;left:8px;right:8px;bottom:7px}.icon-button{display:grid;place-items:center;width:31px;height:31px;padding:0;border:0;border-radius:9px;background:var(--surface-muted,#eef4fc);color:var(--text,#102a43);font-size:17px;cursor:pointer}.chat-tools .muted{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.emoji-panel{position:absolute;z-index:10;left:0;bottom:82px;width:245px;padding:9px;border:1px solid var(--border,#dce5ef);border-radius:13px;background:var(--surface,#fff);box-shadow:0 16px 40px #102a4325}.emoji-panel button{padding:7px;border:0;background:transparent;font-size:21px}.chat-send{min-width:80px}.chat-privacy-note{margin:8px 3px 0;color:var(--muted,#61758a);font-size:10px}@media(max-width:780px){.rich-admin-chat .chat-compose{grid-template-columns:1fr}.chat-recipient{max-width:none}.chat-send{width:100%}.chat-message-head small{width:100%;margin-left:0}.rich-admin-chat .chat-stream{height:52vh}}
.chat-file-remove{flex:0 0 27px;width:27px;height:27px;padding:0;border-radius:999px;background:#feecec;color:#b42318}.chat-upload-preview{position:absolute;z-index:8;left:8px;bottom:45px;max-width:220px;padding:7px;border:1px solid var(--border,#dce5ef);border-radius:12px;background:var(--surface,#fff);box-shadow:0 12px 30px #102a4320}.chat-upload-preview img,.chat-upload-preview video{display:block;max-width:205px;max-height:140px;border-radius:8px;object-fit:contain}.chat-upload-preview audio{width:205px;height:38px}.chat-submit-area{display:grid;gap:6px;align-content:end}.chat-submit-area small{max-width:140px;color:var(--muted,#61758a);font-size:10px;line-height:1.25}.chat-upload-progress{width:100%;height:4px;overflow:hidden;border-radius:999px;background:#dce7f5}.chat-upload-progress i{display:block;width:0;height:100%;border-radius:inherit;background:#20b26b;transition:width .18s}.icon-button.recording{background:#fee4e2;color:#d92d20;animation:chatPulse 1s infinite}.chat-send:disabled{cursor:wait;opacity:.7}@keyframes chatPulse{50%{transform:scale(1.08);box-shadow:0 0 0 5px #f0443820}}@media(max-width:780px){.chat-submit-area small{max-width:none}.chat-upload-preview{max-width:calc(100vw - 90px)}}
.chat-room-tabs{display:flex;gap:7px;margin:0 0 12px;padding:5px;border:1px solid var(--border,#dce5ef);border-radius:14px;background:var(--surface-muted,#f4f7fb)}.chat-room-tabs a{flex:1;padding:11px 15px;border-radius:10px;color:var(--muted,#61758a);text-align:center;font-weight:800}.chat-room-tabs a.active{background:var(--surface,#fff);color:#155eef;box-shadow:0 5px 16px #102a4312}.private-chat-members{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:10px;overflow-x:auto;border:1px solid var(--border,#dce5ef);border-radius:14px;background:var(--surface,#fff)}.private-chat-members>span{flex:0 0 auto;color:var(--muted,#61758a);font-size:11px;font-weight:800}.private-chat-members a{display:flex;align-items:center;flex:0 0 auto;gap:7px;padding:7px 10px;border:1px solid var(--border,#dce5ef);border-radius:999px;color:var(--text,#102a43);font-size:11px;font-weight:750}.private-chat-members a i{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#eaf2ff;color:#155eef;font-style:normal}.private-chat-members a.active{border-color:#155eef;background:#155eef;color:#fff}.private-chat-members a.active i{background:#fff;color:#155eef}@media(max-width:520px){.chat-room-tabs a{padding:10px 7px;font-size:12px}.private-chat-members{align-items:flex-start;flex-direction:column}.private-chat-members>span{padding-left:4px}.private-chat-members a{width:100%}}
.location-manager-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;margin-bottom:20px;border-radius:20px;background:linear-gradient(135deg,#0b2d54,#1765df);color:#fff;box-shadow:0 18px 42px rgba(21,79,166,.16)}
.location-manager-intro .eyebrow,.location-manager-intro p{color:#e7f0ff}.location-manager-intro h2{margin:4px 0 8px;font-size:clamp(24px,3vw,32px)}.location-manager-intro p{margin-bottom:0;max-width:720px}.location-summary{display:flex;gap:10px;flex-wrap:wrap}.location-summary span{min-width:108px;padding:12px 14px;border-radius:13px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22)}.location-summary b{display:block;font-size:22px;color:#fff}
.location-manager-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.location-column{padding:20px!important;min-width:0}.location-editor{display:grid;gap:10px;padding:14px;margin:14px 0;border:1px solid var(--line);border-radius:14px;background:var(--soft,#f7faff)}.location-editor .actions{display:flex;gap:8px;flex-wrap:wrap}.location-items{display:grid;gap:8px;max-height:620px;overflow:auto;padding-right:2px}.location-items article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--panel,#fff)}.location-items article.selected{border-color:#1765df;box-shadow:inset 3px 0 #1765df}.location-items article>a,.location-items article>div:first-child{min-width:0;color:inherit;text-decoration:none}.location-items b,.location-items small{display:block}.location-items small{color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.location-items .actions{grid-column:1/-1;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.location-items form{margin:0}.location-items .badge{align-self:start}.location-items .empty-state{padding:18px;text-align:center;border:1px dashed var(--line);border-radius:13px;color:var(--muted)}
html[data-theme="dark"] .location-editor{background:#0c1b2d}html[data-theme="dark"] .location-items article{background:#0d1c2e}
@media(max-width:1150px){.location-manager-grid{grid-template-columns:1fr 1fr}.location-manager-grid>.location-column:last-child{grid-column:1/-1}}
@media(max-width:750px){.location-manager-intro{align-items:flex-start;flex-direction:column}.location-summary{width:100%}.location-summary span{flex:1}.location-manager-grid{grid-template-columns:1fr}.location-manager-grid>.location-column:last-child{grid-column:auto}}

/* Basic School lesson-note workspace and GES-aligned printable template. */
.academic-week-card,.lesson-note-banner,.lesson-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.academic-week-card form{display:flex;align-items:end;gap:10px}.academic-week-card input{width:110px}.lesson-note-banner{margin-bottom:18px;background:linear-gradient(135deg,#0b2d54,#1765df);color:#fff}.lesson-note-banner .eyebrow,.lesson-note-banner p{color:#e5efff}.lesson-ai-panel{margin-bottom:18px}.lesson-ai-panel>summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer}.lesson-ai-panel form{margin-top:18px}.lesson-note-form{display:grid;gap:16px}.lesson-section-title{margin:-24px -24px 20px;padding:13px 20px;border-radius:16px 16px 0 0;background:#102f50;color:#fff;font-weight:800;letter-spacing:.04em}.lesson-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lesson-fields-grid label{display:grid;gap:7px;font-weight:700}.lesson-fields-grid textarea{min-height:100px;resize:vertical}.lesson-sticky-actions{position:sticky;bottom:12px;z-index:20;display:flex;justify-content:flex-end;gap:10px;padding:12px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel,#fff) 92%,transparent);box-shadow:0 12px 35px rgba(9,40,80,.18);backdrop-filter:blur(10px)}.lesson-dashboard-head{margin-bottom:18px}.lesson-dashboard-head .actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.lesson-dashboard-head form{margin:0}.lesson-note-cards{display:grid;gap:12px}.lesson-note-cards>article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--panel,#fff)}.lesson-note-cards h3{margin:3px 0}.lesson-note-cards .actions,.lesson-query,.lesson-review-form{grid-column:1/-1}.lesson-query{padding:11px;border-radius:11px;background:#fff2e8;color:#8b3e09}.lesson-review-form{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:9px}.lesson-review-form textarea{min-height:52px}.lesson-print{max-width:900px;margin:0 auto;background:#fff;color:#17202b;padding:28px;box-shadow:0 12px 40px rgba(10,35,65,.12)}.lesson-print>header{text-align:center;border-bottom:3px solid #17202b;padding-bottom:15px}.lesson-print>header p{font-weight:800;letter-spacing:.08em}.lesson-print>header h1{margin:5px 0}.lesson-meta{display:grid;grid-template-columns:repeat(2,1fr);margin:18px 0;border:1px solid #bbb}.lesson-meta span{padding:10px;border:1px solid #ddd}.lesson-meta b{display:block;font-size:11px;text-transform:uppercase;color:#536170}.lesson-print section{margin:15px 0}.lesson-print section h2{padding:9px 12px;background:#292929;color:#fff;font-size:16px}.lesson-print table{width:100%;border-collapse:collapse}.lesson-print th,.lesson-print td{padding:9px;border:1px solid #bbb;text-align:left;vertical-align:top}.lesson-print th{width:31%;background:#f0f0f0}.lesson-print footer{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding-top:12px;border-top:1px solid #bbb}.lesson-print-controls{display:flex;justify-content:center;gap:10px;margin:18px}.lesson-dashboard-head+.panel .filters{align-items:end}
html[data-theme="dark"] .lesson-note-cards>article{background:#0d1c2e}html[data-theme="dark"] .lesson-ai-panel,html[data-theme="dark"] .lesson-note-form .panel{background:#102033}
@media(max-width:800px){.academic-week-card,.lesson-note-banner,.lesson-dashboard-head{align-items:flex-start;flex-direction:column}.lesson-fields-grid{grid-template-columns:1fr}.lesson-note-cards>article{grid-template-columns:1fr}.lesson-review-form{grid-template-columns:1fr}.lesson-meta{grid-template-columns:1fr}.lesson-print{padding:14px}}
@media print{.app-sidebar,.app-header,.page-head,.site-footer,.lesson-print-controls,.toast{display:none!important}.dashboard-shell .shell,.shell{margin:0!important;padding:0!important}.lesson-print{max-width:none;box-shadow:none;padding:8mm}.lesson-print section{break-inside:avoid}.lesson-print table{font-size:10px}@page{size:A4 portrait;margin:8mm}}
.lesson-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.lesson-choice-grid label{display:grid;gap:7px}.lesson-choice-grid select{min-height:170px}.lesson-development-scroll{overflow-x:auto}.lesson-development-editor table{width:100%;min-width:850px;border-collapse:collapse}.lesson-development-editor th,.lesson-development-editor td{border:1px solid var(--line);padding:0;vertical-align:top}.lesson-development-editor thead th{padding:13px;background:#0b4a3a;color:#fff;text-align:left}.lesson-development-editor tbody th{width:18%;padding:14px;background:#e8f1ee;color:#0a4335;text-align:left}.lesson-development-editor tbody th small,.lesson-development-print th small{display:block;margin-top:4px}.lesson-development-editor textarea{width:100%;min-height:135px;border:0!important;border-radius:0!important;resize:vertical;background:transparent}.lesson-document-header{display:flex!important;align-items:center;justify-content:center;gap:18px}.lesson-document-header img,.lesson-report-brand img{width:76px;height:76px;object-fit:contain}.lesson-development-print th{width:auto!important}.lesson-development-print thead th{background:#0b4a3a!important;color:#fff}.lesson-development-print tbody th{width:18%!important;background:#e8f1ee!important;color:#0a4335}.lesson-development-print td{min-height:95px}.lesson-approval-signature{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:25px}.lesson-approval-signature>div{display:grid;text-align:center;justify-items:center}.lesson-approval-signature img{width:145px;height:55px;object-fit:contain}.lesson-approval-signature span,.lesson-approval-signature b,.lesson-approval-signature small{display:block}.lesson-report-brand{display:flex;align-items:center;gap:18px;padding:18px;margin:-6px -6px 20px;border-bottom:3px solid #12385f}.lesson-report-brand h2{margin:3px 0}.lesson-report-footer{text-align:center;margin-top:18px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}@media(max-width:800px){.lesson-choice-grid{grid-template-columns:1fr}}@media print{.lesson-submission-report>.section-heading button,.lesson-submission-report>.filters{display:none!important}.lesson-submission-report{box-shadow:none!important;border:0!important}.lesson-development-print tr{break-inside:avoid}}
.lesson-document-header>div{flex:1}.lesson-document-header>div>p{margin:0;font-size:19px}.lesson-school-details{display:grid;justify-items:center;gap:3px;padding:12px 10px 15px;text-align:center;border-bottom:1px solid #cbd5df}.lesson-school-details p,.lesson-school-details span{margin:0;color:#44566a;font-size:11px}.lesson-school-details strong{margin-top:7px;padding:7px 24px;border-radius:999px;background:#0b4a3a;color:#fff;letter-spacing:.12em}.lesson-document-branding{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:20px;padding-top:10px;border-top:1px solid #cbd5df;color:#61758a;font-size:10px}.lesson-document-branding b{color:#102f50}.lesson-submission-report{background:linear-gradient(180deg,var(--panel,#fff),var(--panel,#fff)) padding-box}.lesson-submission-report table thead th{background:#102f50;color:#fff}.lesson-submission-report tbody tr:nth-child(even){background:var(--soft,#f7faff)}@media(max-width:600px){.lesson-document-header{align-items:flex-start!important}.lesson-document-header img{width:58px;height:58px}.lesson-document-branding{flex-wrap:wrap}}

/* Keep the downloaded/printed lesson note visually consistent with its browser preview. */
@media print{
 html,body{width:210mm!important;margin:0!important;background:#fff!important;color:#17202b!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 .public-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
 .lesson-print{width:100%!important;max-width:none!important;margin:0!important;padding:9mm!important;border:0!important;background:#fff!important;box-shadow:none!important;font-size:10.5px!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 .lesson-document-header{display:grid!important;grid-template-columns:18mm minmax(0,1fr)!important;gap:5mm!important;padding:0 0 4mm!important;text-align:left!important;border-bottom:2px solid #102f50!important;break-inside:avoid!important}
 .lesson-document-header img{width:18mm!important;height:18mm!important}.lesson-document-header>div>p{font-size:15px!important}.lesson-school-details{padding:3mm 0!important;break-inside:avoid!important}.lesson-school-details strong{background:#0b4a3a!important;color:#fff!important}
 .lesson-meta{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;margin:4mm 0!important;border:1px solid #b9c5d1!important;break-inside:avoid!important}.lesson-meta span{min-height:16mm!important;padding:2.5mm!important}.lesson-meta b{font-size:8px!important}
 .lesson-print section{margin:4mm 0!important;break-inside:auto!important}.lesson-print section h2{margin:0!important;padding:2.5mm 3mm!important;background:#102f50!important;color:#fff!important;font-size:12px!important;break-after:avoid!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 .lesson-print table{font-size:9.5px!important;page-break-inside:auto!important}.lesson-print tr{page-break-inside:avoid!important;break-inside:avoid!important}.lesson-print th,.lesson-print td{padding:2.5mm!important;border-color:#bac5cf!important}.lesson-print th{background:#edf2f6!important;color:#26394d!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
 .lesson-development-print thead th{background:#0b4a3a!important;color:#fff!important}.lesson-development-print tbody th{background:#e1eee9!important;color:#0a4335!important}.lesson-development-print td{height:20mm!important}
 .lesson-approval-signature{break-inside:avoid!important}.lesson-document-branding{break-inside:avoid!important;margin-top:4mm!important}
 .lesson-print footer{break-inside:avoid!important}
 @page{size:A4 portrait;margin:0}
}
.lesson-download-tip{align-self:center;max-width:330px;color:var(--muted,#61758a);font-size:11px;line-height:1.4}
.enrollment-onboarding{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(420px,1.5fr);gap:24px;align-items:center;margin:0 0 22px;padding:26px 28px;border:1px solid #cfdef2;border-radius:22px;background:linear-gradient(135deg,#f8fbff,#edf5ff);box-shadow:0 14px 34px rgba(20,62,115,.08)}.enrollment-onboarding h2{margin:5px 0 8px}.enrollment-onboarding p{margin:0;color:#64748b;line-height:1.55}.enrollment-downloads{display:grid;grid-template-columns:1fr 1fr;gap:12px}.enrollment-downloads .button{display:grid;gap:3px;justify-content:start;padding:15px 17px;text-align:left}.enrollment-downloads .button small{color:inherit;opacity:.78;font-size:.72rem}.enrollment-code-note{grid-column:1/-1;display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #dce7f5;color:#53657e}.enrollment-code-note b{color:#0f5bcb}.enrollment-code-note strong{color:#0b2545;letter-spacing:.08em}@media(max-width:900px){.enrollment-onboarding{grid-template-columns:1fr}.enrollment-downloads{grid-template-columns:1fr}.enrollment-code-note{align-items:flex-start;flex-direction:column}}
