.teacher-management-form .copy-timetable-day{display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:8px;width:auto}.teacher-management-form .copy-timetable-day>span{flex:0 0 auto!important;width:auto;white-space:nowrap}.teacher-management-form .copy-timetable-day>select{flex:0 1 150px;width:150px!important;min-width:100px;height:38px!important;min-height:38px!important;padding:6px 10px!important;font-size:13px!important}.teacher-management-form .copy-timetable-day>button{flex:0 0 auto;width:auto!important;min-height:38px!important;height:38px!important;padding:6px 12px!important;white-space:nowrap;font-size:13px!important}.teacher-publish-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:grid;place-items:center;padding:16px;background:#17233d99}.teacher-publish-preview{box-sizing:border-box;display:flex;flex-direction:column;width:min(1400px,100%);max-height:92dvh;padding:22px;border-radius:18px;background:var(--card,white);color:var(--text,#17233d);box-shadow:0 20px 60px #17233d33}.teacher-publish-preview header{padding-bottom:12px;border-bottom:2px solid #8054ef}.teacher-publish-preview header>span{color:#8054ef;font-weight:800}.teacher-publish-preview h2{margin:6px 0}.teacher-publish-preview header p{margin:0}.teacher-publish-scroll{min-height:0;overflow:auto;padding:10px 4px}.teacher-publish-preview dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.teacher-publish-preview dd{margin:4px 0;overflow-wrap:anywhere;font-weight:700}.teacher-publish-preview dt{color:var(--muted,#64748b);font-size:12px}.teacher-publish-day h4{margin:14px 0 6px;color:#8054ef}.teacher-publish-table{overflow-x:auto}.teacher-publish-table table{width:100%;border-collapse:collapse;min-width:440px}.teacher-publish-table th,.teacher-publish-table td{padding:9px;text-align:left;border:1px solid #ddd5f2}.teacher-publish-table th{background:var(--primary-soft,#f2edff)}.teacher-publish-table small{display:block}.teacher-publish-preview footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding-top:14px;border-top:1px solid #ddd5f2}.teacher-publish-preview footer button{padding:10px 16px;border:1px solid #8054ef;border-radius:8px;cursor:pointer}.teacher-publish-preview footer button:last-child{background:#8054ef;color:#fff}.teacher-week-review{overflow:auto;max-height:58dvh;border:1px solid #ddd5f2;border-radius:12px;isolation:isolate}.teacher-week-review table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;table-layout:fixed}.teacher-week-review caption{padding:10px;text-align:left;font-size:12px;color:var(--muted,#64748b)}.teacher-week-review th,.teacher-week-review td{padding:10px;border-right:1px solid #ddd5f2;border-bottom:1px solid #ddd5f2;vertical-align:top;text-align:left}.teacher-week-review thead th{position:sticky;top:0;z-index:2;padding:12px 10px;color:var(--text,#17233d);background:var(--primary-soft,#eee8fc);font-size:13px}.teacher-week-review th:first-child{width:76px;position:sticky;left:0;background:var(--card,white);z-index:1}.teacher-week-review thead th:first-child{z-index:3;background:var(--primary-soft,#eee8fc)}.teacher-week-review tbody th{font-size:12px;white-space:nowrap}.teacher-week-review tbody th span{display:block;font-size:10px;color:var(--muted,#64748b);margin:4px 0}.teacher-week-review td{height:86px;background:var(--card,white)}.teacher-week-lesson{display:grid;gap:5px;padding:9px;border-left:3px solid #8054ef;border-radius:7px;background:var(--primary-soft,#f3efff);overflow-wrap:anywhere;font-size:12px}.teacher-week-lesson+.teacher-week-lesson{margin-top:8px}.teacher-week-lesson strong{color:var(--text,#17233d);font-size:13px}.teacher-week-lesson small{color:var(--muted,#64748b)}.teacher-week-free{display:block;padding:10px 0;color:var(--muted,#64748b);font-size:12px}.receipt-particulars-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;padding:16px;background:#17203380}.fee-management-form .receipt-particulars-dialog{box-sizing:border-box;display:block;width:min(600px,100%);max-height:90dvh;overflow-y:auto;padding:24px;border-radius:18px;background:var(--card, white);color:var(--text, #172033);box-shadow:0 20px 60px #0003}.receipt-particulars-dialog h2{margin:0 0 12px}.fee-management-form .receipt-particulars-dialog fieldset{min-width:0;margin:18px 0;padding:16px;border:1px solid #a78bfa80;border-radius:12px}.fee-management-form .receipt-particulars-dialog .receipt-particulars-options{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.fee-management-form .receipt-particulars-dialog .receipt-allocation-row{display:grid!important;grid-template-columns:minmax(0,1fr) 130px!important;align-items:center;gap:16px;min-width:0}.fee-management-form .receipt-particulars-dialog .receipt-allocation-row>label{position:static!important;display:flex!important;align-items:center;gap:10px;width:auto!important;min-width:0;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0;background:transparent!important;font-size:14px;line-height:1.4;cursor:pointer}.fee-management-form .receipt-particulars-dialog .receipt-allocation-row label>span{position:static;min-width:0;overflow-wrap:anywhere}.fee-management-form .receipt-particulars-dialog input[type=checkbox]{position:static!important;-webkit-appearance:auto!important;-moz-appearance:auto!important;appearance:auto!important;flex:0 0 18px;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:0!important;padding:0!important;opacity:1!important;accent-color:#8054ef;cursor:pointer}.fee-management-form .receipt-particulars-dialog .receipt-allocation-row>input[type=number]{box-sizing:border-box;position:static!important;display:block;width:100%!important;min-width:0!important;height:42px!important;min-height:42px!important;margin:0!important;padding:8px 10px!important;border:1px solid #a78bfa80;border-radius:8px;color:var(--text, #172033);background:var(--card, white);font:inherit;text-align:right;opacity:1}.receipt-particulars-dialog .receipt-allocation-row>input:disabled{color:var(--muted, #64748b);background:var(--background, #f5f3ff);cursor:not-allowed}.receipt-particulars-dialog .receipt-allocation-row>strong{text-align:right;white-space:nowrap}.receipt-particulars-total{display:flex;justify-content:space-between;gap:12px}.receipt-particulars-dialog button{padding:10px 14px;border:1px solid #a78bfa80;border-radius:8px;cursor:pointer}.receipt-particulars-dialog button:disabled{opacity:.55;cursor:default}.receipt-particulars-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px}.receipt-particulars-actions button:last-child{background:#8054ef;color:#fff}.fee-management-form .receipt-particulars-dialog p[role=alert]{color:#dc2626!important;font-weight:600}@media (max-width: 420px){.fee-management-form .receipt-particulars-dialog{padding:16px}.fee-management-form .receipt-particulars-dialog fieldset{padding:12px}.fee-management-form .receipt-particulars-dialog .receipt-allocation-row{grid-template-columns:minmax(0,1fr) 96px!important;gap:10px}}.installment-generated-actions{display:flex;align-items:center;gap:8px}.installment-generated-actions .installment-payment-receipt{flex:1;min-width:0;padding-inline:10px}.admin-attendance-page{display:grid;gap:16px;min-width:0}.attendance-admin-editor>.admin-attendance-page{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;display:block;scrollbar-gutter:stable;padding:2px 12px 24px 0}.attendance-admin-editor>.admin-attendance-page>*+*{margin-top:16px}.admin-rollcall .teacher-roster-tools{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.admin-rollcall .teacher-roster-tools label{display:grid;gap:6px}.admin-rollcall .attendance-options{flex-wrap:wrap}.admin-rollcall .feedback-error{color:#dc2626}.admin-attendance-page .admin-rollcall .rollcall-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;flex:0 0 auto}.admin-attendance-page .admin-rollcall .rollcall-actions button{width:auto!important;min-width:0!important;min-height:34px!important;height:34px!important;margin:0;padding:6px 10px!important;border-radius:8px;font-size:12px!important;line-height:1.2;white-space:nowrap}@media (max-width:600px){.admin-rollcall .roster-heading{flex-wrap:wrap}.admin-rollcall .teacher-roster-list article{flex-wrap:wrap}}:root{--brand-navy: #17233d;--brand-violet: #8054ef;--brand-blue: #2563eb;--brand-pink: #ec4899;--brand-orange: #f97316;--brand-teal: #14b8a6;color-scheme:light;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#eef2ff;color:#1f2937}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--background)}html:has(.admin-editor-backdrop,.teacher-edit-backdrop,.generic-item-popup-backdrop,.fee-edit-backdrop,.admission-popup-backdrop,.platform-popup-backdrop,.class-row-popup-backdrop,.student-payment-backdrop,.teacher-marks-backdrop),body:has(.admin-editor-backdrop,.teacher-edit-backdrop,.generic-item-popup-backdrop,.fee-edit-backdrop,.admission-popup-backdrop,.platform-popup-backdrop,.class-row-popup-backdrop,.student-payment-backdrop,.teacher-marks-backdrop){overflow:hidden}.admin-editor-backdrop,.teacher-edit-backdrop,.generic-item-popup-backdrop,.fee-edit-backdrop,.admission-popup-backdrop,.platform-popup-backdrop,.class-row-popup-backdrop,.student-payment-backdrop{overscroll-behavior:contain}button,input,select{font:inherit}.login-page{min-height:100vh;display:grid;place-items:center;padding:clamp(1.25rem,3vw,3rem);background:radial-gradient(circle at top left,#ddd6fe,transparent 38%),linear-gradient(135deg,#f8fafc,#ede9fe)}.login-card{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);width:min(1100px,100%);min-height:min(680px,calc(100vh - 6rem));padding:0;overflow:hidden;border:1px solid rgba(128,84,239,.12);border-radius:24px;background:#fffffff5;box-shadow:0 30px 90px #4c1d952e}.login-brand{display:grid;place-items:center;margin:0;padding:clamp(2rem,5vw,4rem);border-right:1px solid rgba(128,84,239,.14);background:linear-gradient(145deg,#17233d,#293c68 62%,#3b4d82)}.login-brand .tconnect-brand{flex-direction:column;gap:1.3rem;text-align:center}.login-brand .tconnect-mark{width:116px;height:116px}.login-brand .tconnect-wordmark{gap:.45rem}.login-brand .tconnect-wordmark strong{font-size:2rem}.login-brand .tconnect-wordmark small{color:#dbeafe;font-size:.92rem}.login-brand .tconnect-wordmark strong span{color:#172033}.login-brand .tconnect-wordmark small{color:#64748b}.login-brand h1,.login-brand p{margin:0}.login-brand p{margin-top:.35rem;color:#64748b}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#7c3aed;color:#fff;font-size:1.6rem;font-weight:800}.tconnect-brand{display:inline-flex;align-items:center;gap:.8rem;min-width:0}.tconnect-mark{flex:0 0 auto;width:54px;height:54px;filter:drop-shadow(0 8px 14px rgba(79,70,229,.2))}.tconnect-wordmark{display:grid;gap:.12rem;min-width:0}.tconnect-wordmark strong{display:flex;align-items:baseline;color:#172033;font-size:1.35rem;font-weight:900;letter-spacing:-.04em;line-height:1}.tconnect-wordmark strong span{color:#172033}.tconnect-wordmark strong b{margin-left:.18rem;background:linear-gradient(135deg,#8b5cf6,#2563eb);color:transparent;font:inherit;background-clip:text;-webkit-background-clip:text}.tconnect-wordmark small{color:#64748b;font-size:.7rem;letter-spacing:.025em}.tconnect-brand.compact .tconnect-mark{width:42px;height:42px}.tconnect-brand.inverse .tconnect-wordmark strong span{color:#fff}.tconnect-brand.inverse .tconnect-wordmark small{color:#aebbd2}.tconnect-brand.inverse .tconnect-mark{filter:drop-shadow(0 8px 14px rgba(0,0,0,.22))}.sidebar-app-brand{padding:.1rem .45rem .85rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-app-brand .tconnect-mark{width:43px;height:43px}.sidebar-app-brand .tconnect-wordmark strong{font-size:1rem}.sidebar-app-brand .tconnect-wordmark small{font-size:.55rem}.sidebar-avatar img,.profile-avatar img{width:100%;height:100%;border-radius:inherit;object-fit:contain;background:#fff}.focused-school-brand{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;min-width:0}.focused-school-brand img{width:42px;height:42px;flex:0 0 42px;border-radius:11px;object-fit:contain;background:#fff}.focused-school-brand strong{max-width:180px;overflow:hidden;color:var(--text);font-size:.78rem;line-height:1.2;text-align:right;text-overflow:ellipsis;white-space:nowrap}.school-branding-page{display:grid;gap:1rem;width:min(760px,100%);margin-inline:auto}.school-branding-page header h2,.school-branding-page header p{margin:0}.school-branding-page header p:last-child{margin-top:.3rem;color:var(--muted)}.school-logo-editor{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:1.25rem;padding:1rem;border-radius:15px;background:var(--background)}.school-logo-preview{display:grid;place-items:center;width:180px;aspect-ratio:1;overflow:hidden;border:2px dashed color-mix(in srgb,var(--primary) 38%,transparent);border-radius:24px;background:var(--card);color:var(--primary);font-size:2.2rem;font-weight:900}.school-logo-preview img{width:100%;height:100%;object-fit:contain}.school-logo-guidance h3{margin:0 0 .5rem;color:var(--text)}.school-logo-guidance ul{display:grid;gap:.35rem;margin:0;padding-left:1.2rem;color:var(--muted)}.school-logo-actions{display:flex;flex-wrap:wrap;gap:.65rem}.school-logo-actions button{border:0;border-radius:10px;padding:.68rem .9rem;background:var(--primary);color:#fff;font-weight:750;cursor:pointer}.school-logo-actions button.secondary{background:var(--primary-soft);color:var(--primary)}.school-logo-actions button.danger{background:#fee2e2;color:#b91c1c}.school-logo-actions button:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 560px){.school-logo-editor{grid-template-columns:1fr}.school-logo-preview{width:min(180px,100%)}.school-logo-actions{flex-direction:column}.school-logo-actions button{width:100%}}.startup-error-screen{min-height:100vh;display:grid;place-items:center;padding:1.5rem;background:#f2f4ff;color:#172033}.startup-error-screen section{width:min(560px,100%);padding:2rem;border:1px solid #e2e8f0;border-radius:20px;background:#fff;box-shadow:0 20px 60px #0f172a1f}.startup-error-screen h1{margin:0 0 .7rem}.startup-error-screen p{overflow-wrap:anywhere;color:#b91c1c}.startup-error-screen button{padding:.75rem 1rem;border:0;border-radius:10px;background:#6d3df5;color:#fff;font-weight:800;cursor:pointer}.login-form{display:grid;align-self:center;gap:1.1rem;width:min(440px,calc(100% - 4rem));margin-inline:auto;padding-block:2.5rem}.login-form label{display:grid;gap:.45rem;font-weight:650;color:#334155}.login-form input,.login-form select{width:100%;padding:.85rem 1rem;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#0f172a}.login-form button{border:0;border-radius:12px;padding:.9rem;color:#fff;background:#7c3aed;font-weight:750;cursor:pointer}.login-form button:disabled{opacity:.6;cursor:wait}.login-error{margin:0;color:#b91c1c}.login-recovery-heading h1{margin:0;font-size:1.35rem;color:#0f172a}.login-recovery-heading p,.login-recovery-message{margin:.3rem 0 0;color:#64748b;line-height:1.45}.login-form .login-forgot-link{padding:.25rem;background:transparent;color:#6d28d9;box-shadow:none}.required-password-page{min-height:100vh;display:grid;place-items:center;padding:1rem;background:#f3f4ff}.required-password-panel{width:min(480px,100%);padding:2rem;border-radius:8px;background:#fff;border-top:5px solid #7c3aed;box-shadow:0 24px 64px #1e293b29}.required-password-heading{display:flex;align-items:center;gap:.9rem;margin:2rem 0 .75rem}.required-password-heading>span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#ede9fe;font-size:1.25rem}.required-password-heading p,.required-password-heading h1{margin:0}.required-password-heading p{color:#7c3aed;font-size:.75rem;font-weight:800}.required-password-heading h1{margin-top:.2rem;color:#172033;font-size:1.55rem}.required-password-intro{color:#526077;line-height:1.55}.required-password-form{display:grid;gap:1rem;margin-top:1.4rem}.required-password-form label{display:grid;gap:.45rem;color:#26354d;font-weight:700}.required-password-form input{width:100%;padding:.8rem .9rem;border:1px solid #b9c4d4;border-radius:8px;font:inherit}.required-password-form input:focus{outline:3px solid #ddd6fe;border-color:#7c3aed}.required-password-form button{padding:.9rem 1rem;border:0;border-radius:8px;background:#7c3aed;color:#fff;font-weight:800;cursor:pointer}.required-password-form button:disabled{opacity:.65;cursor:wait}.required-password-signout{display:block;margin:1rem auto 0;border:0;background:transparent;color:#526077;font-weight:700;cursor:pointer}.login-format-settings{display:grid;gap:1rem;padding:1rem}.login-format-settings>p{margin:0;color:var(--muted);line-height:1.5}.login-format-settings code{padding:.15rem .3rem;border-radius:4px;background:var(--primary-soft);color:var(--primary)}.login-format-settings label{display:grid;gap:.4rem;font-weight:750}.login-format-settings input{width:100%;padding:.75rem .85rem;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text)}.login-format-settings small{color:var(--muted);font-weight:500}.login-format-settings>button{justify-self:start;padding:.75rem 1rem;border:0;border-radius:8px;background:var(--primary);color:#fff;font-weight:800;cursor:pointer}.server-status{margin:-.45rem 0 0;color:#92400e;font-size:.82rem;line-height:1.45}.demo-accounts{display:grid;gap:.35rem;margin-top:1.5rem;padding:1rem;border-radius:14px;background:#f5f3ff;color:#5b21b6;font-size:.86rem}.session-bar{display:flex;justify-content:flex-end;align-items:center;gap:1rem;min-height:64px;padding:.75rem 0;color:var(--muted)}.session-bar>span{min-width:0;overflow:hidden;padding-right:12rem;text-overflow:ellipsis;white-space:nowrap}.session-bar>button{position:relative;z-index:11;flex:0 0 auto;white-space:nowrap}.session-bar button{border:1px solid var(--primary);border-radius:999px;padding:.45rem .9rem;background:var(--card);color:var(--primary);cursor:pointer}.roster-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem}.roster-heading h2,.roster-heading p{margin:0}.roster-heading p{margin-top:.35rem;color:var(--muted)}.roster-filters{display:flex;gap:.75rem}.roster-filters label{display:grid;gap:.25rem;color:var(--muted);font-size:.82rem}.roster-filters select{min-width:130px;padding:.55rem .7rem;border:1px solid var(--primary-soft);border-radius:10px;background:var(--card);color:var(--text)}@media (max-width: 700px){.roster-heading,.roster-filters{align-items:stretch;flex-direction:column}}.teacher-workspace{display:grid;gap:1.25rem;margin:0 auto;width:min(1160px,100%)}.teacher-hero{display:grid;gap:1.5rem;padding:1.5rem 1.5rem 1.35rem;border-radius:24px;background:var(--card);box-shadow:0 22px 48px #0f172a14}.specialization-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.specialization-list>span{display:inline-flex;align-items:center;min-height:32px;padding:.35rem .7rem;border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-radius:8px;background:color-mix(in srgb,var(--primary-soft) 70%,var(--card));color:var(--text);font-size:.82rem;font-weight:700;line-height:1.2;white-space:normal}@media (min-width: 900px){.teacher-hero{grid-template-columns:1fr minmax(320px,380px);align-items:center}}.next-class-card{display:grid;gap:.65rem;padding:1.2rem 1.3rem;border-radius:18px;background:var(--primary-soft)}.next-class-card span{color:var(--primary);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.next-class-card strong{color:var(--text);font-size:1.15rem}.next-class-card p,.next-class-card time{margin:0;color:var(--muted)}.teacher-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.95rem;padding:1rem;border-radius:24px;background:var(--card);border:1px solid rgba(148,163,184,.18);box-shadow:0 22px 48px #0f172a0a}.teacher-stat-grid article{display:flex;gap:1rem;align-items:center;padding:1rem 1.1rem;border-radius:20px;background:var(--background);border:1px solid rgba(148,163,184,.2)}.teacher-stat-grid .stat-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--primary-soft);color:var(--primary);font-size:1rem}.teacher-stat-grid strong{font-size:1.35rem}.teacher-two-column{display:grid;grid-template-columns:1.5fr minmax(300px,1fr);gap:1.25rem}@media (max-width: 900px){.teacher-two-column{grid-template-columns:1fr}}.section-title{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.section-title h2,.section-title p{margin:0}.section-title p{color:var(--muted)}.teacher-class-grid{display:grid;gap:.85rem}.teacher-class-grid button{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.1rem;border:1px solid rgba(148,163,184,.2);border-radius:18px;background:var(--background);color:var(--text);text-align:left;cursor:pointer;transition:transform .2s,border-color .2s,background .2s}.teacher-class-grid button:hover{transform:translateY(-1px)}.teacher-class-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--primary) 10%,var(--card));color:var(--primary)}.teacher-class-arrow svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.teacher-class-popup-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#0f172a94;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.teacher-class-details-popup{position:relative;width:min(960px,96vw);max-height:min(760px,90dvh);overflow-y:auto;padding:1.25rem;border:1px solid rgba(128,84,239,.2);border-radius:22px;background:var(--card);box-shadow:0 28px 80px #0f172a4d}.teacher-class-details-popup:before{content:"";position:absolute;z-index:2;inset:0 0 auto;height:5px;border-radius:22px 22px 0 0;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange),var(--brand-teal))}.teacher-class-details-popup>header{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem 1.1rem;border:1px solid rgba(128,84,239,.13);border-radius:16px;background:linear-gradient(120deg,#8054ef21,#2563eb12 55%,#ec489914)}.teacher-class-popup-mark{width:50px;height:50px;padding:7px;border-radius:14px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));filter:drop-shadow(0 8px 16px rgba(77,70,229,.2))}.teacher-class-details-popup>header h2,.teacher-class-details-popup>header p{margin:0}.teacher-class-details-popup>header h2{color:var(--brand-navy)}.teacher-class-details-popup>header button{display:grid;flex:0 0 42px;place-items:center;width:42px;height:42px;padding:0 0 3px;border:1px solid rgba(128,84,239,.22);border-radius:50%;background:linear-gradient(135deg,#8054ef1a,#2563eb14);box-shadow:0 7px 18px #312e811a;color:var(--brand-violet);font:400 28px/1 Arial,sans-serif;cursor:pointer}.teacher-class-detail-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);gap:1rem}.teacher-class-detail-grid>div{position:relative;min-width:0;overflow:hidden;padding:1rem;border:1px solid rgba(128,84,239,.14);border-radius:15px;background:linear-gradient(145deg,var(--card),rgba(128,84,239,.045))}.teacher-class-detail-grid>div:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue))}.teacher-class-detail-grid>div:nth-child(2):before{background:linear-gradient(90deg,var(--brand-pink),var(--brand-orange),var(--brand-teal))}.teacher-class-detail-grid h3{margin:0 0 .75rem}.teacher-class-student-list,.teacher-class-week-list{display:grid;gap:.6rem}.teacher-class-student-list article{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.7rem;padding:.7rem;border-radius:12px;background:var(--card)}.teacher-class-student-list article div,.teacher-class-week-list article div{display:grid;gap:.15rem;min-width:0}.teacher-class-student-list small,.teacher-class-week-list span{color:var(--muted);font-size:.78rem}.teacher-class-week-list article{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem .85rem;border-radius:12px;background:var(--card)}.teacher-class-week-list article>div:last-child{text-align:right}.teacher-class-empty{display:flex;align-items:center;gap:.65rem;min-height:72px;margin:0}.teacher-class-empty>span{display:grid;flex:0 0 36px;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:900}@media (max-width: 760px){.teacher-class-detail-grid{grid-template-columns:1fr}.teacher-class-details .section-title{flex-direction:column}}.teacher-class-grid button.active{border-color:var(--primary);background:#3b82f614}.class-monogram{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--primary-soft);color:var(--primary);font-size:.95rem;font-weight:800}.teacher-duty-panel{padding:0}.duty-grid{display:grid;gap:.75rem}.duty-item{display:flex;align-items:center;gap:.75rem;padding:.95rem 1rem;border-radius:18px;background:var(--primary-soft);color:var(--text)}.teacher-schedule-navigation{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.teacher-schedule-navigation button{border:1px solid rgba(148,163,184,.3);border-radius:999px;padding:.7rem 1rem;background:var(--card);color:var(--text);cursor:pointer}.teacher-schedule-navigation strong{flex:1;min-width:0;color:var(--text)}.current-period-button{border-color:transparent;background:var(--primary);color:#fff}.schedule-week-divider{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border-radius:16px;background:var(--primary-soft);color:var(--muted)}.schedule-week-divider i{flex:1;height:1px;background:#94a3b840}.teacher-rollcall{padding:0}.rollcall-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.75rem}.rollcall-actions button{border:0;border-radius:12px;padding:.75rem 1rem;background:var(--primary);color:#fff;font-weight:750;cursor:pointer}.rollcall-actions button.secondary-action{background:var(--primary-soft);color:var(--primary)}.rollcall-actions button:disabled{opacity:.55;cursor:not-allowed}.teacher-rollcall{padding:1.5rem;border-radius:24px;background:var(--card);box-shadow:0 22px 48px #0f172a0f}.teacher-roster-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;align-items:end;margin-bottom:1rem}.teacher-roster-tools label{display:grid;gap:.35rem;color:var(--text);font-size:.85rem}.teacher-roster-tools select,.teacher-roster-tools input{width:100%;padding:.75rem 1rem;border:1px solid rgba(148,163,184,.3);border-radius:12px;background:var(--background);color:var(--text)}.teacher-student-search{min-width:0}.rollcall-progress{justify-self:end;color:var(--muted);font-weight:700}@media (max-width: 900px){.teacher-roster-tools{grid-template-columns:1fr}.rollcall-progress{justify-self:start}}.attendance-success{margin-top:.75rem;color:#15803d;font-weight:700}.teacher-roster-list{display:grid;gap:.85rem}.teacher-roster-list article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;padding:1rem;border:1px solid rgba(148,163,184,.2);border-radius:18px}.student-initials{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--primary-soft);color:var(--primary);font-weight:800}.attendance-options{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.attendance-options button{min-width:82px;border:1px solid rgba(148,163,184,.3);border-radius:999px;padding:.55rem .85rem;background:var(--background);color:var(--text);cursor:pointer;transition:background .2s,border-color .2s,color .2s}.attendance-options button.active{border-color:transparent;box-shadow:0 0 0 3px #8b5cf629;font-weight:800}.attendance-options button.active.present{background:#16a34a;color:#fff}.attendance-options button.active.late{background:#d97706;color:#fff}.attendance-options button.active.absent{background:#dc2626;color:#fff}.schedule-panel{overflow:hidden}.schedule-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}.schedule-heading h2,.schedule-heading p{margin:0}.schedule-heading p{margin-top:.25rem;color:var(--muted)}.schedule-tabs{display:flex;align-items:center;gap:.25rem;padding:.25rem;border-radius:12px;background:var(--primary-soft)}.schedule-tabs button{border:0;border-radius:9px;padding:.6rem .85rem;background:transparent;color:var(--text);font-weight:700;white-space:nowrap;cursor:pointer}.schedule-tabs button.active{background:var(--card);color:var(--primary);box-shadow:0 2px 8px #0f172a1f}.schedule-list{display:grid;gap:.6rem;max-height:520px;overflow:auto;scrollbar-width:thin}.schedule-list article{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.8rem;border:1px solid var(--primary-soft);border-radius:12px}.schedule-date{display:grid;text-align:center}.schedule-date strong{color:var(--primary);font-size:1.25rem}.schedule-date span,.schedule-subject span,.schedule-meta span{color:var(--muted);font-size:.8rem}.schedule-subject,.schedule-meta{display:grid;gap:.25rem}.schedule-subject strong{color:var(--text)}.schedule-meta{text-align:right}.feedback-list-heading{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:1rem}.feedback-list-heading h2,.feedback-list-heading p{margin:0}.feedback-list-heading p{margin-top:.35rem;color:var(--muted)}.feedback-list-heading>span{padding:.35rem .65rem;border-radius:999px;background:var(--primary-soft);white-space:nowrap}.homework-diary-page{display:grid;gap:1rem;width:min(1160px,100%);margin:0 auto}.principal-dashboard{display:grid;gap:.9rem;width:min(1280px,100%);margin:0 auto}.principal-hero{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.2rem 1.35rem;border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);border-radius:18px;background:linear-gradient(125deg,color-mix(in srgb,var(--primary-soft) 68%,var(--card)),var(--card) 60%)}.principal-hero h1,.principal-hero p{margin:0}.principal-hero h1{margin-top:.15rem;color:var(--text);font-size:1.55rem}.principal-hero>div:first-child>p:last-child{margin-top:.35rem;color:var(--muted)}.principal-school-chip{display:grid;min-width:260px;gap:.18rem;padding:.8rem 1rem;border-radius:14px;background:var(--primary-soft)}.principal-school-chip span,.principal-school-chip small{color:var(--muted);font-size:.72rem}.principal-school-chip strong{color:var(--text)}.principal-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.principal-stat-grid article{display:flex;align-items:center;gap:.8rem;min-width:0;padding:.85rem;border:1px solid rgba(148,163,184,.18);border-radius:15px;background:var(--card);box-shadow:0 10px 24px #0f172a0b}.principal-stat-grid article>div{display:grid;min-width:0}.principal-stat-grid small,.principal-stat-grid p{color:var(--muted)}.principal-stat-grid strong{color:var(--text);font-size:1.35rem}.principal-stat-grid p{overflow:hidden;margin:.05rem 0 0;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.principal-stat-icon{display:grid;flex:0 0 auto;place-items:center;width:42px;height:42px;border-radius:12px;color:#fff;font-size:.7rem;font-weight:850}.principal-stat-icon svg{width:22px;height:22px;stroke-width:2.25}.principal-stat-icon.students{background:linear-gradient(135deg,#8b5cf6,#a855f7)}.principal-stat-icon.teachers{background:linear-gradient(135deg,#0ea5e9,#14b8a6)}.principal-stat-icon.staff{background:linear-gradient(135deg,#f97316,#f59e0b)}.principal-stat-icon.classes{background:linear-gradient(135deg,#2563eb,#6366f1)}.principal-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.principal-dashboard .module-card{margin:0}.principal-dashboard .module-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:.85rem}.principal-dashboard .module-card header h2,.principal-dashboard .module-card header p{margin:0}.principal-dashboard .module-card header>span{padding:.28rem .55rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.72rem;font-weight:750;white-space:nowrap}.principal-progress{height:8px;overflow:hidden;border-radius:999px;background:var(--primary-soft)}.principal-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--accent))}.principal-attendance-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin-top:.8rem}.principal-attendance-stats div,.principal-fee-grid div{display:grid;gap:.1rem;padding:.55rem .65rem;border-radius:10px;background:var(--background)}.principal-attendance-stats strong,.principal-fee-grid strong{color:var(--text)}.principal-attendance-stats span,.principal-fee-grid span{color:var(--muted);font-size:.7rem}.principal-fee-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.principal-fee-grid .principal-fee-discounts{background:color-mix(in srgb,#14b8a6 13%,var(--card));border:1px solid color-mix(in srgb,#14b8a6 25%,var(--card))}.principal-fee-grid strong{overflow-wrap:anywhere}.principal-data-note{margin:.7rem 0 0;color:var(--muted);font-size:.78rem}.principal-list{display:grid;gap:.45rem}.principal-list>div{display:grid;grid-template-columns:minmax(80px,auto) 1fr;align-items:center;gap:.7rem;padding:.55rem .65rem;border-radius:10px;background:var(--background)}.principal-list time{color:var(--primary);font-size:.72rem;font-weight:750}.principal-list>div>span{display:grid;min-width:0}.principal-list strong,.principal-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.principal-list strong{color:var(--text);font-size:.84rem}.principal-list small{color:var(--muted);font-size:.72rem}.principal-alert-list{display:grid;gap:.45rem}.principal-alert-list>div{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:.6rem;padding:.6rem .7rem;border-radius:10px;background:var(--background);color:var(--text);font-size:.82rem}.principal-alert-list i{width:8px;height:8px;margin-top:.3rem;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px #fef3c7}.principal-operations>header{align-items:center!important}.principal-operations>header>div>p:last-child{margin-top:.25rem;color:var(--muted)}.principal-operations>header>button,.principal-operation-grid article>button{border:0;border-radius:10px;padding:.62rem .85rem;background:var(--primary);color:#fff;font-weight:750;cursor:pointer;white-space:nowrap}.principal-operation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.principal-operation-grid article{display:grid;align-content:start;gap:.65rem;min-width:0;padding:.8rem;border:1px solid rgba(148,163,184,.2);border-radius:13px;background:var(--background)}.principal-operation-title{display:flex;align-items:center;gap:.65rem}.principal-operation-title>span{display:grid;flex:0 0 auto;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:.68rem;font-weight:850}.principal-operation-title h3{margin:0;color:var(--text);font-size:.9rem}.principal-operation-title small{font-size:.65rem;font-weight:750}.principal-operation-title small.available{color:#15803d}.principal-operation-title small.planned{color:#b45309}.principal-operation-grid ul{display:grid;gap:.2rem;margin:0;padding-left:1.15rem;color:var(--muted);font-size:.72rem}.principal-operation-grid article>button{justify-self:start;padding:.42rem .7rem;font-size:.72rem}.principal-oversight{display:grid;gap:.85rem;width:min(1280px,100%);margin:0 auto}.oversight-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border:1px solid color-mix(in srgb,var(--primary) 14%,transparent);border-radius:16px;background:linear-gradient(120deg,color-mix(in srgb,var(--primary-soft) 62%,var(--card)),var(--card))}.oversight-heading h2,.oversight-heading p{margin:0}.oversight-heading>div>p:last-child{margin-top:.25rem;color:var(--muted)}.oversight-heading>span{padding:.3rem .6rem;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:.72rem;font-weight:800;white-space:nowrap}.oversight-tabs{display:flex;gap:.4rem;overflow-x:auto;padding:.4rem;border-radius:14px;background:color-mix(in srgb,var(--primary-soft) 38%,var(--card));scrollbar-width:none}.oversight-tabs button{flex:0 0 auto;border:0;border-radius:10px;padding:.6rem .8rem;background:transparent;color:var(--text);font-weight:700;cursor:pointer}.oversight-tabs button.active{background:var(--card);color:var(--primary);box-shadow:0 3px 10px #0f172a14}.oversight-search{width:min(420px,100%);padding:.7rem .85rem;border:1px solid rgba(148,163,184,.3);border-radius:10px;background:var(--card);color:var(--text)}.oversight-date-filter{display:flex;flex-wrap:wrap;align-items:end;gap:.65rem;padding:.75rem;border-radius:13px;background:var(--card)}.oversight-date-filter label{display:grid;gap:.25rem;color:var(--muted);font-size:.72rem;font-weight:700}.oversight-date-filter input{padding:.58rem .68rem;border:1px solid rgba(148,163,184,.3);border-radius:9px;background:var(--background);color:var(--text)}.oversight-date-filter button{border:0;border-radius:9px;padding:.62rem .8rem;background:var(--primary);color:#fff;font-weight:750;cursor:pointer}.oversight-date-filter button:disabled{opacity:.6}.oversight-date-filter>span{margin-left:auto;padding:.3rem .55rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.72rem;font-weight:750}.oversight-table-wrap{overflow:auto;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:var(--card);box-shadow:0 10px 26px #0f172a0b}.oversight-table-wrap table{width:100%;min-width:760px;border-collapse:collapse}.oversight-table-wrap th,.oversight-table-wrap td{padding:.7rem .8rem;border-bottom:1px solid var(--primary-soft);text-align:left;color:var(--text);font-size:.8rem}.oversight-table-wrap th{background:var(--primary-soft);color:var(--muted);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.oversight-table-wrap td small{display:block;color:var(--muted)}.oversight-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.oversight-card-grid article{display:grid;gap:.15rem;padding:1rem;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:var(--card)}.oversight-card-grid span,.oversight-card-grid p{color:var(--muted)}.oversight-card-grid strong{color:var(--text);font-size:1.45rem}.oversight-card-grid p{margin:0;font-size:.72rem}.oversight-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.oversight-split .module-card{margin:0}.oversight-feed-item{display:grid;gap:.15rem;padding:.65rem 0;border-bottom:1px solid var(--primary-soft)}.oversight-feed-item strong{color:var(--text)}.oversight-feed-item span{color:var(--primary);font-size:.72rem}.oversight-feed-item p{overflow:hidden;margin:0;color:var(--muted);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.teacher-leave-page{display:grid;gap:.9rem;width:min(1100px,100%);margin:0 auto}.teacher-leave-page .module-card{margin:0}.teacher-leave-page .module-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.teacher-leave-page header h2,.teacher-leave-page header p{margin:0}.teacher-leave-page header>div>p:last-child{margin-top:.25rem;color:var(--muted)}.teacher-leave-page header>span{padding:.32rem .62rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.74rem;font-weight:800}.leave-request-form form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.7rem;padding:.85rem;border-radius:13px;background:var(--background)}.leave-request-form label{display:grid;gap:.35rem;color:var(--text);font-size:.8rem;font-weight:700}.leave-request-form input,.leave-request-form select,.leave-request-form textarea,.leave-request-side textarea{width:100%;padding:.68rem .75rem;border:1px solid rgba(148,163,184,.3);border-radius:9px;background:var(--card);color:var(--text);font:inherit;resize:vertical}.leave-request-form .wide-field{grid-column:1 / -1}.leave-request-form form>button{grid-column:1 / -1;justify-self:end;border:0;border-radius:10px;padding:.68rem 1rem;background:var(--primary);color:#fff;font-weight:750;cursor:pointer}.leave-request-list{display:grid;gap:.65rem}.leave-request-list article{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(250px,.8fr);gap:1rem;padding:.85rem;border:1px solid rgba(148,163,184,.2);border-radius:13px;background:var(--background)}.leave-request-main{display:grid;grid-template-columns:auto 1fr;gap:.75rem;min-width:0}.leave-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-size:.75rem;font-weight:850}.leave-request-main span{color:var(--primary);font-size:.7rem;font-weight:800;text-transform:uppercase}.leave-request-main h3{margin:.1rem 0;color:var(--text);font-size:.95rem}.leave-request-main small{color:var(--muted)}.leave-request-main p{margin:.35rem 0 0;color:var(--text);line-height:1.45}.leave-request-side{display:grid;align-content:start;justify-items:end;gap:.5rem}.leave-request-side>p{margin:0;color:var(--muted);font-size:.75rem;text-align:right}.leave-request-side>div{display:flex;gap:.45rem}.leave-request-side button{border:0;border-radius:9px;padding:.48rem .7rem;color:#fff;font-weight:750;cursor:pointer}.leave-request-side button.approve{background:#16a34a}.leave-request-side button.reject,.leave-request-side button.cancel{background:#dc2626}.leave-status{padding:.27rem .55rem;border-radius:999px;font-size:.68rem;font-weight:850}.leave-status.pending{background:#fef3c7;color:#92400e}.leave-status.approved{background:#dcfce7;color:#166534}.leave-status.rejected,.leave-status.cancelled{background:#fee2e2;color:#991b1b}.leave-centre{display:grid;gap:.85rem;width:min(1280px,100%);margin:0 auto}.leave-centre-header{padding:1rem 1.2rem;border-radius:18px;background:linear-gradient(120deg,var(--card),var(--primary-soft))}.leave-centre-header h1,.leave-centre-header p{margin:0}.leave-centre-header h1{color:var(--text);font-size:1.6rem}.leave-centre-header>div>p:last-child{margin-top:.25rem;color:var(--muted)}.leave-centre-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.leave-centre-tabs button{display:grid;gap:.15rem;padding:.85rem 1rem;border:1px solid var(--primary-soft);border-radius:14px;background:var(--card);color:var(--text);text-align:left;cursor:pointer}.leave-centre-tabs button span{font-weight:850}.leave-centre-tabs button small{color:var(--muted)}.leave-centre-tabs button.active{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 9px 22px color-mix(in srgb,var(--primary) 22%,transparent)}.leave-centre-tabs button.active small{color:#ffffffc7}.leave-centre .teacher-leave-page{width:100%}.leave-status-tabs{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.8rem}.leave-status-tabs button{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .72rem;border:1px solid var(--primary-soft);border-radius:9px;background:var(--background);color:var(--muted);font-weight:750;cursor:pointer}.leave-status-tabs button b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 .3rem;border-radius:999px;background:var(--card);color:var(--primary);font-size:.7rem}.leave-status-tabs button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.leave-table-wrap{overflow-x:auto;border:1px solid var(--primary-soft);border-radius:13px}.leave-table{width:100%;min-width:920px;border-collapse:collapse;background:var(--card)}.leave-table th,.leave-table td{padding:.75rem;border-bottom:1px solid var(--primary-soft);color:var(--text);text-align:left;vertical-align:top}.leave-table th{background:var(--primary-soft);color:var(--muted);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.leave-table td{font-size:.82rem}.leave-table td>strong,.leave-table td>small{display:block}.leave-table td>small{margin-top:.2rem;color:var(--muted)}.leave-table tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 32%,var(--card))}.leave-table-review{display:grid;min-width:230px;gap:.45rem}.leave-table-review textarea{width:100%;padding:.5rem .6rem;border:1px solid var(--primary-soft);border-radius:8px;background:var(--background);color:var(--text);resize:vertical}.leave-table-review span{display:flex;gap:.4rem}.leave-table-review button,.leave-table td>button.cancel{padding:.42rem .62rem;border:0;border-radius:8px;color:#fff;font-weight:750;cursor:pointer}.leave-table-review .approve{background:#16a34a}.leave-table-review .reject,.leave-table td>button.cancel{background:#dc2626}.branded-student-leave{position:relative;width:min(1180px,100%);gap:1rem;padding:1rem;border:1px solid rgba(128,84,239,.15);border-radius:24px;background:radial-gradient(circle at 100% 0,rgba(37,99,235,.075),transparent 28%),radial-gradient(circle at 0 100%,rgba(236,72,153,.045),transparent 28%),var(--card);box-shadow:0 18px 48px #3e308214}.branded-student-leave:before{content:"";position:absolute;z-index:1;inset:0 0 auto;height:5px;border-radius:24px 24px 0 0;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange),var(--brand-teal))}.branded-student-leave>.module-card{position:relative;overflow:hidden;padding:1rem;border:1px solid rgba(128,84,239,.13);border-radius:18px;background:linear-gradient(140deg,var(--card),rgba(128,84,239,.025));box-shadow:0 9px 26px #2c245b0d}.branded-student-leave>.module-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--brand-violet),var(--brand-blue))}.branded-student-leave>.leave-table-card:before{background:linear-gradient(180deg,var(--brand-blue),var(--brand-teal))}.branded-student-leave .leave-request-form>header{padding:.9rem 1rem;border:1px solid rgba(128,84,239,.11);border-radius:15px;background:linear-gradient(110deg,#8054ef1c,#2563eb0e 60%,#ec48990f)}.branded-student-leave .leave-request-form header .admin-eyebrow{color:var(--brand-violet);font-size:.67rem;letter-spacing:.11em}.branded-student-leave .leave-request-form header h2{color:var(--brand-navy);font-size:1.45rem}.branded-student-leave .leave-request-form header>span{display:grid;place-items:center;min-width:46px;height:46px;padding:0;border-radius:14px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-size:1.25rem;box-shadow:0 8px 20px #5b42dc33}.branded-student-leave .leave-request-form form{gap:.75rem;padding:1rem;border:1px solid rgba(128,84,239,.1);border-radius:15px;background:linear-gradient(135deg,#8054ef0e,#2563eb06)}.branded-student-leave .leave-request-form label{color:var(--brand-navy);font-weight:800}.branded-student-leave .leave-request-form input,.branded-student-leave .leave-request-form select,.branded-student-leave .leave-request-form textarea{min-height:48px;padding:.72rem .8rem;border-color:#8054ef2e;border-radius:12px;background:var(--card);transition:border-color .16s,box-shadow .16s}.branded-student-leave .leave-request-form textarea{min-height:105px}.branded-student-leave .leave-request-form :is(input,select,textarea):focus{border-color:var(--brand-violet);outline:3px solid rgba(128,84,239,.12)}.branded-student-leave .leave-request-form form>button{padding:.78rem 1.1rem;border-radius:11px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));box-shadow:0 9px 22px #5b42dc36}.branded-student-leave .leave-table-card>header{padding:.4rem .35rem}.branded-student-leave .leave-table-card header .admin-eyebrow{color:var(--brand-violet);letter-spacing:.1em}.branded-student-leave .leave-table-card header h2{color:var(--brand-navy)}.branded-student-leave .leave-table-card header>span{background:linear-gradient(135deg,#8054ef21,#2563eb17);color:var(--brand-violet)}.branded-student-leave .leave-status-tabs{padding:.4rem;border-radius:13px;background:#8054ef0e}.branded-student-leave .leave-status-tabs button{border-color:transparent;background:transparent}.branded-student-leave .leave-status-tabs button.active{border-color:#8054ef2e;background:var(--card);color:var(--brand-violet);box-shadow:0 4px 12px #5b42dc1a}.branded-student-leave .leave-table-wrap{border-color:#8054ef26}.branded-student-leave .leave-table th{background:linear-gradient(90deg,#8054ef26,#2563eb17,#ec489912);color:color-mix(in srgb,var(--brand-navy) 70%,var(--brand-violet));font-weight:850}.branded-student-leave .leave-table tbody tr:hover{background:linear-gradient(90deg,#8054ef0a,#2563eb06)}.branded-student-leave .leave-status.pending{border:1px solid #fde68a}.branded-student-leave .leave-status.approved{border:1px solid #86efac}.branded-student-leave .leave-status.rejected,.branded-student-leave .leave-status.cancelled{border:1px solid #fecaca}@media (max-width:700px){.branded-student-leave{padding:.7rem;border-radius:18px}.branded-student-leave>.module-card{padding:.8rem}.branded-student-leave .leave-request-form>header{padding:.8rem}.branded-student-leave .leave-request-form header>span{display:none}.branded-student-leave .leave-request-form form{padding:.75rem}.branded-student-leave .leave-status-tabs{flex-wrap:nowrap;overflow-x:auto}.branded-student-leave .leave-status-tabs button{flex:0 0 auto}}.branded-student-leave{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.branded-student-leave:before{display:none}.branded-student-leave>.module-card{padding:0;border:1px solid #e7e2f2;border-radius:22px;background:var(--card);box-shadow:0 12px 32px #221c400e}.branded-student-leave>.module-card:before{display:none}.branded-student-leave .leave-request-form>header{position:relative;margin:0!important;padding:1.25rem 1.4rem 1.1rem;border:0;border-bottom:1px solid #eee9f7;border-radius:0;background:linear-gradient(105deg,#8054ef17,#2563eb0b 62%,#ec48990b)}.branded-student-leave .leave-request-form>header:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange),var(--brand-teal))}.branded-student-leave .leave-request-form header .admin-eyebrow{color:var(--brand-violet);font-size:.7rem}.branded-student-leave .leave-request-form header h2{margin-top:.2rem;font-size:1.45rem}.branded-student-leave .leave-request-form header>span{width:48px;height:48px;min-width:48px;border-radius:15px;background:var(--card);color:var(--brand-violet);box-shadow:0 6px 18px #5b42dc1f}.leave-brand-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.branded-student-leave .leave-request-form form{margin:0;padding:1.3rem 1.4rem 1.4rem;gap:.9rem;border:0;border-radius:0;background:var(--card)}.branded-student-leave .leave-request-form label{gap:.45rem;color:#293248}.branded-student-leave .leave-request-form input,.branded-student-leave .leave-request-form select,.branded-student-leave .leave-request-form textarea{border:1px solid #ded8ea;border-radius:11px;background:#fbfaff;box-shadow:none}.branded-student-leave .leave-request-form :is(input,select,textarea):hover{border-color:#bdb0dd}.branded-student-leave .leave-request-form :is(input,select,textarea):focus{border-color:var(--brand-violet);outline:3px solid rgba(128,84,239,.1);background:#fff}.branded-student-leave .leave-request-form form>button{min-width:160px;padding:.8rem 1.15rem;border-radius:11px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));box-shadow:0 8px 18px #5b42dc2e}.branded-student-leave .leave-table-card{padding:1.25rem 1.4rem}.branded-student-leave .leave-table-card>header{margin-bottom:.8rem;padding:0}.branded-student-leave .leave-table-card header>span{padding:.38rem .65rem;background:#f2edff;color:#7247dc}.branded-student-leave .leave-status-tabs{width:max-content;max-width:100%;margin-bottom:1rem;padding:.3rem;border:1px solid #ebe5f7;border-radius:12px;background:#f8f6fc}.branded-student-leave .leave-status-tabs button{padding:.55rem .72rem;border-radius:9px}.branded-student-leave .leave-status-tabs button.active{border-color:transparent;background:#fff;color:var(--brand-violet);box-shadow:0 3px 10px #32275c17}.branded-student-leave .leave-table-wrap{border:1px solid #e7e1f2;border-radius:14px}.branded-student-leave .leave-table th{background:#f5f1fd;color:#635b73}.branded-student-leave .leave-table tbody tr:hover{background:#fbfaff}@media (max-width:700px){.branded-student-leave{padding:0}.branded-student-leave>.module-card{padding:0}.branded-student-leave .leave-request-form>header{padding:1rem}.branded-student-leave .leave-request-form header>span{display:grid}.branded-student-leave .leave-request-form form,.branded-student-leave .leave-table-card{padding:1rem}.branded-student-leave .leave-status-tabs{width:100%}}.branded-student-leave .leave-table-wrap{overflow:visible}.branded-student-leave .leave-table{width:100%;min-width:0;table-layout:fixed}.branded-student-leave .leave-table th,.branded-student-leave .leave-table td{overflow-wrap:anywhere}.branded-student-leave .leave-status-tabs{scrollbar-width:none}.branded-student-leave .leave-status-tabs::-webkit-scrollbar{display:none}@media (max-width:700px){.branded-student-leave .leave-table-wrap{overflow:visible}.branded-student-leave .leave-table{table-layout:auto}}@media (max-width: 700px){.leave-centre-tabs{grid-template-columns:1fr}.leave-table{min-width:0}.leave-table thead{display:none}.leave-table,.leave-table tbody,.leave-table tr,.leave-table td{display:block;width:100%}.leave-table tr{padding:.65rem;border-bottom:1px solid var(--primary-soft)}.leave-table td{display:grid;grid-template-columns:105px 1fr;gap:.5rem;padding:.42rem;border:0}.leave-table td:before{content:attr(data-label);color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.leave-table-review{min-width:0}}@media (max-width: 900px){.principal-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.principal-two-column{grid-template-columns:1fr}.principal-operation-grid,.oversight-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.oversight-split{grid-template-columns:1fr}.leave-request-list article{grid-template-columns:1fr}.leave-request-side{justify-items:start}.leave-request-side>p{text-align:left}}@media (max-width: 600px){.principal-hero{align-items:stretch;flex-direction:column;padding:1rem}.principal-school-chip{min-width:0}.principal-stat-grid{gap:.5rem}.principal-stat-grid article{align-items:flex-start;flex-direction:column;padding:.7rem}.principal-stat-icon{width:36px;height:36px}.principal-attendance-stats{grid-template-columns:repeat(2,1fr)}.principal-fee-grid{grid-template-columns:1fr}.principal-operations>header{align-items:stretch!important;flex-direction:column}.principal-operations>header>button{width:100%}.principal-operation-grid{grid-template-columns:1fr}.oversight-heading{align-items:flex-start;flex-direction:column}.oversight-card-grid{grid-template-columns:1fr 1fr}.oversight-date-filter{align-items:stretch;flex-direction:column}.oversight-date-filter>span{align-self:flex-start;margin-left:0}.leave-request-form form{grid-template-columns:1fr}.leave-request-form .wide-field,.leave-request-form form>button{grid-column:auto}.leave-request-form form>button{width:100%}}.diary-compose{overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);background:linear-gradient(125deg,color-mix(in srgb,var(--primary-soft) 62%,var(--card)),var(--card) 55%)}.diary-compose-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.15rem}.diary-compose-header h2,.diary-compose-header p{margin:0}.diary-compose-header>div>p:last-child{margin-top:.3rem;color:var(--muted)}.diary-header-icon{display:grid;flex:0 0 auto;place-items:center;width:50px;height:50px;border-radius:15px;background:var(--primary);color:#fff;font-size:1.4rem;box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 24%,transparent)}.diary-compose form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.5fr) repeat(2,minmax(150px,.8fr));gap:.8rem;padding:1rem;border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);border-radius:15px;background:color-mix(in srgb,var(--card) 90%,transparent)}.diary-compose form label{display:grid;align-content:start;gap:.38rem;min-width:0;color:var(--text);font-size:.82rem;font-weight:750}.diary-compose form input,.diary-compose form select,.diary-compose form textarea{width:100%;min-width:0;padding:.72rem .8rem;border:1px solid rgba(148,163,184,.32);border-radius:10px;background:var(--background);color:var(--text);font:inherit;resize:vertical}.diary-compose form textarea{min-height:104px;line-height:1.5}.diary-compose .wide-field{grid-column:1 / -1}.diary-form-actions{display:flex;grid-column:1 / -1;justify-content:flex-end;gap:.65rem}.diary-form-actions button,.diary-due button{border:0;border-radius:10px;padding:.68rem 1rem;background:var(--primary);color:#fff;font-weight:750;cursor:pointer}.diary-form-actions button.secondary{background:var(--primary-soft);color:var(--primary)}.diary-form-actions button:disabled{opacity:.5;cursor:not-allowed}.diary-compose .feedback-error{margin:.75rem 0 0}.diary-history-card{min-width:0}.diary-history-card .feedback-list-heading{padding-bottom:.9rem;border-bottom:1px solid var(--primary-soft)}.diary-view-tabs{width:max-content;margin-bottom:.8rem}.diary-entry-list{display:grid;gap:.7rem}.diary-entry-list article{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(150px,auto);align-items:center;gap:1rem;padding:.85rem;border:1px solid color-mix(in srgb,var(--primary) 12%,rgba(148,163,184,.2));border-radius:14px;background:var(--card);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.diary-entry-list article:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 35%,transparent);box-shadow:0 10px 24px #0f172a0f}.diary-date{display:grid;place-items:center;min-height:64px;padding:.45rem;border-radius:13px;background:var(--primary-soft);color:var(--primary);text-align:center}.diary-date strong{font-size:1.45rem;line-height:1}.diary-date span{margin-top:.25rem;font-size:.68rem;font-weight:750;text-transform:uppercase}.diary-entry-list h3{margin:.22rem 0;color:var(--text);font-size:1rem}.diary-entry-list article>div:nth-child(2)>p{margin:.25rem 0 .35rem;color:var(--muted);line-height:1.5}.diary-entry-list small{color:var(--muted)}.diary-subject{display:inline-flex;padding:.2rem .48rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.68rem;font-weight:800}.diary-due{display:grid;justify-items:end;gap:.3rem;text-align:right}.diary-due>span:first-child{color:var(--muted);font-size:.7rem;font-weight:750;text-transform:uppercase}.diary-due>strong{color:var(--text)}.diary-due button{padding:.42rem .7rem;font-size:.76rem}.diary-due button:disabled{opacity:.55;cursor:default}.diary-ack-status{display:inline-flex;padding:.25rem .5rem;border-radius:999px;font-size:.68rem;font-weight:800}.diary-ack-status.complete{background:#dcfce7;color:#166534}.diary-ack-status.pending{background:#fef3c7;color:#92400e}@media (max-width: 900px){.diary-compose form{grid-template-columns:1fr 1fr}}@media (max-width: 620px){.diary-compose-header{align-items:flex-start}.diary-compose form{grid-template-columns:1fr;padding:.8rem}.diary-compose .wide-field,.diary-form-actions{grid-column:auto}.diary-form-actions{flex-direction:column-reverse}.diary-form-actions button{width:100%}.diary-history-card .feedback-list-heading{align-items:flex-start}.diary-entry-list article{grid-template-columns:54px minmax(0,1fr);align-items:start}.diary-date{min-height:54px}.diary-due{grid-column:1 / -1;grid-template-columns:auto 1fr;align-items:center;justify-items:start;padding-top:.65rem;border-top:1px solid var(--primary-soft);text-align:left}.diary-due .diary-ack-status,.diary-due button{grid-column:1 / -1}.diary-due button,.diary-view-tabs{width:100%}.teacher-schedule-navigation{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.teacher-schedule-navigation .current-period-button{grid-column:1 / -1}}.teacher-feedback-list{display:grid;gap:.75rem}.teacher-feedback-list article{display:grid;gap:.75rem;padding:1rem 1.1rem;border:1px solid var(--primary-soft);border-radius:12px;background:var(--card)}.teacher-feedback-list article>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.teacher-feedback-list article>header>div{display:grid;gap:.18rem}.teacher-feedback-list article header span{color:var(--muted);font-size:.76rem}.teacher-feedback-list article p{margin:0;padding:.75rem .85rem;border-radius:9px;background:var(--background);color:var(--text);line-height:1.5}.teacher-feedback-list article time{color:var(--muted);font-size:.72rem}.teacher-feedback-list .feedback-stars{align-items:center}.teacher-feedback-list .feedback-stars small{margin-left:.35rem;color:var(--muted);font-size:.7rem;letter-spacing:0}.empty-state{color:var(--muted)}.admin-feedback-list{flex:1;overflow:auto;display:grid;align-content:start;gap:.75rem}.admin-feedback-list article{padding:1rem;border:1px solid var(--primary-soft);border-radius:12px}.admin-feedback-list article>div{display:flex;justify-content:space-between;gap:1rem}.admin-feedback-list article span,.admin-feedback-list article small{color:var(--muted)}.admin-feedback-list article p{margin:.7rem 0;color:var(--text)}.feedback-table-wrap{flex:1;overflow:auto;border:1px solid var(--primary-soft);border-radius:12px}.feedback-records-table{width:100%;min-width:980px;border-collapse:collapse;background:var(--card);font-size:.84rem}.feedback-records-table th,.feedback-records-table td{padding:.75rem .7rem;border-bottom:1px solid var(--primary-soft);text-align:left;color:var(--text);vertical-align:top}.feedback-records-table th{position:sticky;top:0;background:var(--primary-soft);color:var(--muted);font-size:.72rem;text-transform:uppercase;white-space:nowrap}.feedback-status{display:inline-flex;padding:.28rem .5rem;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.72rem;font-weight:800}.feedback-message-cell{min-width:300px;white-space:normal;line-height:1.5}.teacher-management-form{flex:1;overflow:auto;display:grid;align-content:start;gap:1rem;padding-right:.25rem}.teacher-management-form label{display:grid;gap:.35rem;color:var(--text);font-size:.85rem;font-weight:700}.teacher-management-form input,.teacher-management-form select,.teacher-management-form textarea{min-width:0;padding:.65rem .7rem;border:1px solid var(--primary-soft);border-radius:9px;background:var(--background);color:var(--text)}.teacher-picker{padding:.8rem;border-radius:12px;background:var(--primary-soft)}.teacher-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.teacher-management-form fieldset{margin:0;padding:1rem;border:1px solid var(--primary-soft);border-radius:12px}.teacher-management-form legend{padding:0 .4rem;color:var(--text);font-weight:800}.specialization-options{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.specialization-options label{display:flex;align-items:center;gap:.5rem;font-weight:600}.specialization-options input{width:auto}.fieldset-help,.subject-catalog-fieldset>p{margin:0 0 .75rem;color:var(--muted);font-size:.82rem;line-height:1.45}.subject-catalog-fieldset{background:linear-gradient(105deg,#8054ef0e,#2563eb08,#ec489906)}.subject-catalog-add{display:grid;grid-template-columns:minmax(220px,1fr) 190px auto;gap:.6rem}.subject-catalog-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}.subject-catalog-list>span{display:grid;grid-template-columns:auto auto 24px;align-items:center;gap:.38rem;min-height:40px;padding:.32rem .35rem .32rem .65rem;border:1px solid rgba(128,84,239,.16);border-radius:999px;background:#ffffffe6}.subject-catalog-list small{color:var(--muted);font-size:.68rem}.teacher-management-form .subject-catalog-list button{display:grid;place-items:center;flex:0 0 24px;width:24px;min-width:24px;height:24px;min-height:24px;padding:0!important;border:1px solid rgba(236,72,153,.2);border-radius:50%;background:linear-gradient(135deg,#8054ef1f,#ec489924);color:#d52865;box-shadow:none}.teacher-management-form .subject-catalog-list button .delete-icon{width:13px;height:13px}.teacher-management-form .subject-catalog-list button:hover{border-color:#dc262647;background:#fee2e2;color:#b91c1c;transform:none}.subject-catalog-message{margin:.6rem 0 0!important;color:var(--brand-violet)!important;font-weight:750}.class-teacher-responsibility{background:linear-gradient(110deg,#2563eb0e,#8054ef0b,#ec489906)}.class-teacher-explanation{padding:.7rem .8rem;border-left:4px solid var(--brand-blue);border-radius:10px;background:#ffffffc2}.class-teacher-explanation strong{color:var(--brand-navy)}.class-teacher-explanation p{margin:.25rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.45}.class-teacher-section-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:.75rem}.class-teacher-section-list label{display:flex;grid-template-columns:none;align-items:center;gap:.6rem;padding:.65rem .7rem;border:1px solid rgba(128,84,239,.14);border-radius:11px;background:#ffffffd1;cursor:pointer}.class-teacher-section-list label.selected{border-color:var(--brand-blue);background:linear-gradient(110deg,#8054ef1a,#2563eb14);box-shadow:0 5px 14px #2563eb14}.class-teacher-section-list input{width:auto}.class-teacher-section-list span{display:grid;gap:.15rem}.class-teacher-section-list small{color:var(--muted);font-size:.68rem;font-weight:600}.teacher-utilization{display:inline-flex;padding:.3rem .55rem;border-radius:999px;font-size:.7rem;font-weight:850}.teacher-utilization.balanced{background:#dcfce7;color:#166534}.teacher-utilization.light{background:#dbeafe;color:#1d4ed8}.teacher-utilization.high{background:#ffedd5;color:#9a3412}.teacher-utilization.unassigned{background:#f1f5f9;color:#64748b}.assignment-form-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(140px,.55fr) 42px;align-items:center;gap:.65rem;margin-bottom:.65rem}.teacher-management-form button{border:0;border-radius:9px;padding:.62rem .8rem;background:var(--primary);color:#fff;font-weight:750;cursor:pointer}.assignment-form-row button,.timetable-form-row button{background:#fee2e2;color:#b91c1c}.assignment-form-row .assignment-delete{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(220,38,38,.14);border-radius:12px;background:#fee2e2;color:#dc2626}.assignment-form-row .assignment-delete .delete-icon{width:17px;height:17px}@media (max-width: 850px){.assignment-form-row{grid-template-columns:1fr 1fr}.assignment-form-row .assignment-delete{justify-self:end}}.form-add-button{margin-top:.35rem;background:var(--primary-soft)!important;color:var(--primary)!important}.duties-field textarea{resize:vertical}.timetable-form{display:grid;gap:.65rem}.timetable-form-row{display:grid;grid-template-columns:1.15fr .85fr .85fr 1.4fr .65fr .65fr 1fr auto;gap:.4rem}.timetable-form-row input,.timetable-form-row select{width:100%;font-size:.8rem}.teacher-form-actions{display:flex;justify-content:flex-end;gap:.75rem;position:sticky;bottom:0;padding:.75rem 0;background:var(--card)}.teacher-form-actions .danger{margin-right:auto;background:#dc2626}.teacher-form-actions .secondary{background:var(--primary-soft);color:var(--text)}.teacher-table-page{display:grid;gap:.75rem}.teacher-table-toolbar{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem .9rem 1.2rem;border:1px solid rgba(128,84,239,.14);border-radius:16px;background:linear-gradient(105deg,#8054ef1a,#2563eb0e 58%,#ec48990f)}.teacher-table-toolbar:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),#f97316)}.teacher-table-toolbar>div{display:grid;gap:.2rem}.teacher-table-toolbar strong{color:var(--brand-navy);font-size:1.12rem}.teacher-table-toolbar span{color:var(--muted);font-size:.8rem}.teacher-table-toolbar>button{border:0;border-radius:10px;padding:.65rem .9rem;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:800;box-shadow:0 8px 20px #5b42dc2e;cursor:pointer}.teacher-search{display:grid;gap:.35rem;color:var(--brand-navy);font-size:.84rem;font-weight:750}.teacher-search input{padding:.65rem .7rem;border:1px solid rgba(128,84,239,.18);border-radius:10px;background:#fffffff0;color:var(--text)}.teacher-list-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:.8rem;align-items:end;padding:.75rem;border:1px solid rgba(37,99,235,.1);border-radius:14px;background:linear-gradient(100deg,#2563eb09,#ec489906)}.teacher-search select{min-height:42px;padding:.65rem .7rem;border:1px solid rgba(37,99,235,.18);border-radius:10px;background:#fffffff0;color:var(--text)}.teacher-search input:focus,.teacher-search select:focus{outline:0;border-color:var(--brand-blue);box-shadow:0 0 0 3px #2563eb1a}.teacher-records-wrap{overflow:auto;border:1px solid rgba(128,84,239,.16);border-radius:14px;box-shadow:0 8px 24px #5b42dc0e}.teacher-records-table{width:100%;min-width:1250px;border-collapse:collapse;background:var(--card);font-size:.82rem}.teacher-records-table th,.teacher-records-table td{padding:.75rem .65rem;border-bottom:1px solid var(--primary-soft);text-align:left;color:var(--text)}.teacher-records-table tbody tr:hover,.admissions-table tbody tr:hover{background:linear-gradient(90deg,#8054ef09,#2563eb06)}.teacher-records-table th{background:linear-gradient(90deg,#8054ef24,#2563eb17,#ec489912);color:color-mix(in srgb,var(--brand-navy) 72%,var(--brand-violet));font-size:.72rem;text-transform:uppercase;white-space:nowrap}.teacher-row-actions{display:flex;gap:.35rem}.teacher-row-actions button{display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:10px;background:linear-gradient(135deg,#8054ef24,#2563eb1a);color:var(--brand-violet)}.teacher-row-actions button.delete{background:#fee2e2;color:#b91c1c}.teacher-edit-backdrop{position:fixed;z-index:145;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.5rem;background:#0f172a94}.teacher-edit-popup{position:relative;width:min(1180px,100%);max-height:calc(100vh - 3rem);overflow:auto;display:grid;gap:1rem;padding:1.25rem;border:1px solid rgba(128,84,239,.18);border-radius:20px;background:radial-gradient(circle at 100% 0,rgba(37,99,235,.07),transparent 28%),radial-gradient(circle at 0 100%,rgba(236,72,153,.05),transparent 30%),var(--card);box-shadow:0 30px 90px #0f172a4d}.teacher-edit-popup:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),#f97316)}.teacher-edit-popup .fee-popup-heading{padding:.8rem .9rem;border-radius:15px;background:linear-gradient(105deg,#8054ef1a,#2563eb0f 58%,#ec489912)}.teacher-edit-popup .teacher-picker,.teacher-edit-popup fieldset,.teacher-edit-popup .duties-field{padding:.8rem;border:1px solid rgba(128,84,239,.11);border-radius:14px;background:linear-gradient(135deg,#8054ef0a,#2563eb05)}.teacher-edit-popup .teacher-form-grid>label{padding:.7rem;border:1px solid rgba(128,84,239,.09);border-radius:13px;background:#ffffffb8}.teacher-edit-popup input,.teacher-edit-popup select,.teacher-edit-popup textarea{border-color:#8054ef33;background:#fffffff0}.teacher-edit-popup input:focus,.teacher-edit-popup select:focus,.teacher-edit-popup textarea:focus{outline:0;border-color:var(--brand-blue);box-shadow:0 0 0 3px #2563eb1a}.teacher-login-fields{background:color-mix(in srgb,var(--primary-soft) 45%,transparent)}.teacher-login-toggle{display:flex!important;align-items:center;gap:.6rem!important;margin-top:.8rem}.teacher-login-toggle input{width:auto}.teacher-login-fields>p{margin:.6rem 0 0;color:var(--muted);font-size:.82rem}.login-status{display:inline-flex;padding:.28rem .5rem;border-radius:999px;font-size:.72rem;font-weight:800}.login-status.enabled{background:#dcfce7;color:#166534}.login-status.disabled{background:#e5e7eb;color:#4b5563}.login-status.active{background:#dcfce7;color:#166534}.login-status.inactive{background:#ffedd5;color:#9a3412}@media (max-width: 700px){.teacher-list-filters{grid-template-columns:1fr}.teacher-table-toolbar{align-items:stretch;flex-direction:column}.teacher-table-toolbar>button{width:100%}.teacher-records-wrap{overflow:visible;border:0;border-radius:0;box-shadow:none}.teacher-records-table{display:block;width:100%;min-width:0;background:transparent}.teacher-records-table thead{display:none}.teacher-records-table tbody{display:grid;gap:.75rem}.teacher-records-table tr{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);overflow:hidden;border:1px solid var(--primary-soft);border-radius:12px;background:var(--card);box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 6%,transparent)}.teacher-records-table td{display:grid;min-width:0;gap:.25rem;align-content:start;padding:.7rem;border:0;border-bottom:1px solid var(--primary-soft);white-space:normal;overflow-wrap:anywhere}.teacher-records-table td:before{content:attr(data-label);color:var(--muted);font-size:.6rem;font-weight:800;text-transform:uppercase}.teacher-records-table td:nth-child(9):before{content:"Class teacher of"}.teacher-records-table td:nth-child(10):before{content:"Weekly load"}.teacher-records-table td:nth-child(3),.teacher-records-table td:nth-child(6),.teacher-records-table td:nth-child(7),.teacher-records-table td:nth-child(8),.teacher-records-table td:nth-child(9),.teacher-records-table td:nth-child(10),.teacher-records-table td:last-child{grid-column:1 / -1}.teacher-records-table td:last-child{border-bottom:0}.teacher-records-table .teacher-row-actions{justify-content:flex-end}.teacher-records-table .empty-state{grid-column:1 / -1;text-align:center}}.content-management-form{flex:1;overflow:auto;display:grid;align-content:start;gap:1rem;padding-right:.25rem}.content-form-toolbar{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;padding:.9rem 1rem .9rem 1.2rem;border:1px solid rgba(128,84,239,.14);border-radius:16px;background:linear-gradient(105deg,#8054ef1a,#2563eb0e 58%,#ec48990f);color:var(--text);font-weight:750}.content-form-toolbar:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),#f97316)}.content-management-form button{border:0;border-radius:9px;padding:.62rem .8rem;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:750;cursor:pointer}.content-item-form{position:relative;margin:0;padding:1rem;border:1px solid var(--primary-soft);border-radius:12px}.content-item-form legend{padding:0 .4rem;color:var(--text);font-weight:800;text-transform:capitalize}.content-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.content-field-grid label{display:grid;gap:.35rem;color:var(--text);font-size:.85rem;font-weight:700}.content-field-grid input,.content-field-grid select,.content-field-grid textarea{width:100%;min-width:0;padding:.65rem .7rem;border:1px solid var(--primary-soft);border-radius:9px;background:var(--background);color:var(--text)}.content-field-grid textarea{resize:vertical}.content-field-grid .wide-field{grid-column:1 / -1}.admin-checkbox{display:flex!important;align-items:center;gap:.6rem!important;padding:.7rem;border-radius:9px;background:var(--primary-soft)}.admin-checkbox input{width:auto}.remove-content-item{margin-top:.75rem;background:#fee2e2!important;color:#b91c1c!important}.content-form-actions{display:flex;justify-content:flex-end;position:sticky;bottom:0;padding:.75rem 0;background:var(--card)}.generic-content-table-wrap{overflow:auto;border:1px solid var(--primary-soft);border-radius:12px}.generic-content-table{width:100%;min-width:900px;border-collapse:collapse;background:var(--card);font-size:.84rem}.generic-content-table th,.generic-content-table td{padding:.75rem .7rem;border-bottom:1px solid var(--primary-soft);text-align:left;color:var(--text);vertical-align:top}.generic-content-table th{position:sticky;z-index:2;top:0;min-height:48px;background:#f3f1fc;color:color-mix(in srgb,var(--brand-navy) 72%,var(--brand-violet));font-size:.72rem;line-height:1.25;text-transform:uppercase;white-space:nowrap}.generic-content-table tbody tr:hover{background:linear-gradient(90deg,#8054ef09,#2563eb06)}.generic-image-thumbnail{display:block;width:88px;height:58px;border:1px solid rgba(128,84,239,.15);border-radius:10px;object-fit:cover;background:var(--primary-soft)}.generic-image-placeholder{display:grid;place-items:center;width:88px;height:58px;border-radius:10px;background:linear-gradient(135deg,#8054ef1f,#2563eb14);color:var(--muted);font-size:.72rem;font-weight:750}.generic-content-table .long-content-cell{min-width:260px;line-height:1.45}.generic-row-actions{display:flex;gap:.35rem}.generic-row-actions button{display:grid;place-items:center;width:32px;height:32px;padding:0;background:var(--primary-soft);color:var(--primary)}.generic-row-actions button.delete{background:#fee2e2;color:#b91c1c}.generic-item-popup-backdrop{position:fixed;z-index:150;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.5rem;background:#0f172a94}.generic-item-popup{width:min(900px,100%);max-height:calc(100vh - 3rem);overflow:auto;display:grid;gap:1rem;padding:1.25rem;border-radius:20px;background:var(--card);box-shadow:0 30px 90px #0f172a4d}.branded-collection-popup{position:relative;border:1px solid color-mix(in srgb,var(--brand-violet) 18%,white);background:radial-gradient(circle at 100% 0,rgba(37,99,235,.07),transparent 28%),radial-gradient(circle at 0 100%,rgba(236,72,153,.055),transparent 30%),var(--card)}.branded-collection-popup:before{content:"";position:absolute;inset:0 0 auto;height:6px;border-radius:20px 20px 0 0;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),#f97316)}.branded-collection-popup .fee-popup-heading{margin:-.1rem -.1rem 0;padding:.8rem .9rem;border-radius:15px;background:linear-gradient(105deg,#8054ef1a,#2563eb0f 55%,#ec489912)}.branded-collection-popup .fee-popup-heading span{color:var(--brand-violet);letter-spacing:.08em}.branded-collection-popup .content-field-grid>div{padding:.75rem;border:1px solid rgba(128,84,239,.1);border-radius:14px;background:linear-gradient(135deg,#8054ef0b,#2563eb05)}.branded-collection-popup .content-field-grid>div:nth-child(3n+2){border-color:#2563eb1f}.branded-collection-popup .content-field-grid>div:nth-child(3n){border-color:#ec48991c}.branded-collection-popup .content-field-grid input,.branded-collection-popup .content-field-grid select,.branded-collection-popup .content-field-grid textarea{min-height:48px;border-color:color-mix(in srgb,var(--brand-violet) 20%,white);background:#ffffffeb}.branded-collection-popup .content-field-grid textarea{min-height:120px}.branded-collection-popup .admission-form-actions button:not(.secondary),.branded-collection-popup .admin-image-upload{border:0;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;box-shadow:0 8px 20px #5b42dc2e}.branded-collection-popup .admin-image-field{padding:.15rem}.branded-collection-popup .admin-image-field>img{width:min(240px,100%);height:140px;padding:0;object-fit:cover;border-color:#8054ef33}.admin-gallery-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.65rem}.admin-gallery-preview>div{position:relative;overflow:hidden;min-height:90px;border-radius:12px;background:var(--primary-soft)}.admin-gallery-preview img{width:100%;height:100%;min-height:90px;max-height:120px;display:block;object-fit:cover}.admin-gallery-preview button{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:#0f172ac7;color:#fff;font-size:1.15rem;cursor:pointer}.exam-management{flex:1;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:.75rem}.exam-filter-bar{display:grid;grid-template-columns:180px 180px minmax(260px,1fr);gap:.7rem}.exam-filter-bar label,.exam-result-editor label{display:grid;gap:.32rem;color:var(--text);font-size:.8rem;font-weight:750}.exam-filter-bar input,.exam-filter-bar select,.exam-result-editor input,.exam-result-editor select{width:100%;padding:.62rem .68rem;border:1px solid var(--primary-soft);border-radius:9px;background:var(--background);color:var(--text)}.exam-roster-count{margin:0;color:var(--muted);font-size:.82rem}.exam-student-table-wrap,.exam-results-table-wrap{overflow:auto;border:1px solid var(--primary-soft);border-radius:12px}.exam-student-table,.exam-results-table{width:100%;min-width:900px;border-collapse:collapse;background:var(--card);font-size:.82rem}.exam-student-table th,.exam-student-table td,.exam-results-table th,.exam-results-table td{padding:.7rem .65rem;border-bottom:1px solid var(--primary-soft);text-align:left;color:var(--text);white-space:nowrap}.exam-student-table th,.exam-results-table th{background:var(--primary-soft);color:var(--muted);font-size:.7rem;text-transform:uppercase}.exam-student-table td small{display:block;margin-top:.18rem;color:var(--muted)}.manage-results-button,.exam-popup-toolbar button,.exam-editor-actions button{border:0;border-radius:8px;padding:.55rem .7rem;background:var(--primary);color:#fff;font-weight:750;cursor:pointer}.exam-results-popup{width:min(1100px,100%)}.exam-popup-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;color:var(--text)}.exam-result-editor{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;padding:.85rem;border:1px solid var(--primary-soft);border-radius:12px;background:var(--background)}.exam-result-editor .wide-field{grid-column:span 2}.exam-editor-actions{display:flex;justify-content:flex-end;align-items:end;gap:.5rem}.exam-editor-actions .secondary{background:var(--primary-soft);color:var(--text)}.exam-module{flex:1;min-height:0;display:grid;align-content:start;gap:.85rem;overflow:auto}.exam-admin-tabs{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.2rem}.exam-admin-tabs button{white-space:nowrap;border:1px solid var(--primary-soft);border-radius:9px;padding:.6rem .75rem;background:var(--card);color:var(--text);font-weight:750;cursor:pointer}.exam-admin-tabs button.active{border-color:var(--primary);background:var(--primary);color:#fff}.exam-admin-message{margin:0;padding:.6rem .75rem;border-radius:9px;background:var(--primary-soft);color:var(--text);font-size:.82rem}.exam-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.exam-section-heading h3,.exam-section-heading p{margin:0}.exam-section-heading h3{color:var(--text)}.exam-section-heading p{margin-top:.25rem;color:var(--muted);font-size:.8rem}.exam-section-heading>button,.exam-mark-actions button{border:0;border-radius:9px;padding:.62rem .8rem;background:var(--primary);color:#fff;font-weight:750;cursor:pointer}.exam-publish-status{display:inline-flex;padding:.28rem .52rem;border-radius:999px;background:#fef3c7;color:#92400e;font-size:.7rem;font-weight:800}.exam-publish-status.published{background:#dcfce7;color:#166534}.exam-mark-filters{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:.65rem}.exam-mark-filters label{display:grid;gap:.3rem;color:var(--text);font-size:.78rem;font-weight:750}.exam-mark-filters select{width:100%;padding:.62rem .68rem;border:1px solid var(--primary-soft);border-radius:9px;background:var(--background);color:var(--text)}.mark-entry-input{width:100px;padding:.55rem .6rem;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--primary-soft));border-radius:8px;background:var(--card);color:var(--text);font-weight:700;cursor:text}.mark-entry-input::placeholder{color:var(--muted);font-weight:500;opacity:.75}.mark-entry-input:hover{border-color:var(--primary)}.mark-entry-input:focus{outline:3px solid color-mix(in srgb,var(--primary) 18%,transparent);border-color:var(--primary);background:var(--card)}.all-subject-mark-table{min-width:980px}.all-subject-mark-table th small{display:block;margin-top:.2rem;color:var(--muted);font-size:.62rem;letter-spacing:.02em}.subject-mark-cell{min-width:160px}.subject-mark-cell .mark-entry-input{display:block;width:100%;margin:0}.subject-mark-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:27px;margin-top:.35rem}.subject-mark-grade{min-width:28px;color:var(--brand-navy);font-weight:800}.subject-mark-cell .exam-publish-status{display:inline-flex;flex:0 0 auto;width:max-content;margin:0}.result-calculation{min-width:105px;text-align:center!important}.result-calculation strong{color:var(--brand-navy)}.result-calculation small{color:#b45309!important;font-weight:750}.teacher-mark-entry-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.teacher-mark-entry-card h3,.teacher-mark-entry-card p{margin:0}.teacher-mark-entry-card>div{display:grid;gap:.3rem}.teacher-mark-entry-card>div>p:last-child{color:var(--muted)}.teacher-mark-entry-card>button{flex:0 0 auto;padding:.7rem 1rem;border:0;border-radius:9px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:800;cursor:pointer}.teacher-mark-entry-card>button:disabled{opacity:.5;cursor:not-allowed}.teacher-marks-backdrop{position:fixed;z-index:170;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#0f172a99}.teacher-marks-popup{width:min(1500px,100%);height:min(900px,calc(100dvh - 2rem));min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.8rem;padding:1rem;border-radius:16px;background:var(--card);box-shadow:0 30px 90px #0f172a52}.teacher-marks-popup>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem .8rem;border-bottom:1px solid var(--primary-soft)}.teacher-marks-popup>header span{color:var(--brand-violet);font-size:.7rem;font-weight:900}.teacher-marks-popup>header h2{margin:.15rem 0 0;color:var(--text)}.teacher-marks-popup>header button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--primary-soft);border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:1.6rem;cursor:pointer}.teacher-marks-popup>.exam-module{min-height:0;overflow-y:auto;padding-right:.25rem}@media (max-width:700px){.teacher-mark-entry-card{align-items:stretch;flex-direction:column}.teacher-marks-backdrop{padding:0}.teacher-marks-popup{height:100dvh;border-radius:0}}.subject-page-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:.7rem 0;padding:.65rem .8rem;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--primary-soft));border-radius:12px;background:linear-gradient(90deg,color-mix(in srgb,var(--primary-soft) 65%,white),color-mix(in srgb,var(--brand-pink) 5%,white))}.subject-page-controls>div{display:flex;align-items:center;gap:.7rem}.subject-page-controls span{color:var(--muted);font-size:.82rem}.subject-page-controls button{min-height:38px;padding:.45rem .75rem;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--primary-soft));border-radius:9px;background:var(--card);color:var(--primary);font-weight:800}.subject-page-controls button:disabled{opacity:.42;cursor:not-allowed}@media (max-width: 720px){.subject-page-controls,.subject-page-controls>div{align-items:stretch;flex-direction:column}}.exam-mark-actions{display:flex;justify-content:flex-end;gap:.6rem}.exam-mark-actions .secondary{background:var(--primary-soft);color:var(--text)}.exam-analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem}.exam-analysis-filters{display:grid;grid-template-columns:repeat(3,minmax(190px,240px));gap:.65rem}.exam-analysis-filters label{display:grid;gap:.3rem;color:var(--text);font-size:.78rem;font-weight:750}.exam-analysis-filters select{width:100%;padding:.62rem .68rem;border:1px solid var(--primary-soft);border-radius:9px;background:var(--background);color:var(--text)}.exam-analysis-hint{margin:0;padding:.65rem .75rem;border-radius:9px;background:#fef3c7;color:#92400e;font-size:.8rem}.exam-analysis-grid article{padding:1rem;border:1px solid var(--primary-soft);border-radius:14px;background:var(--card)}.exam-analysis-grid article>span{color:var(--primary);font-size:.72rem;font-weight:800;text-transform:uppercase}.exam-analysis-grid h4{margin:.25rem 0 .8rem;color:var(--text)}.exam-analysis-grid dl{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:0}.exam-analysis-grid dl div{display:grid;gap:.15rem;padding:.6rem;border-radius:9px;background:var(--background)}.exam-analysis-grid dt{color:var(--muted);font-size:.7rem}.exam-analysis-grid dd{margin:0;color:var(--text);font-weight:800}.exam-config-popup{width:min(760px,100%)}.exam-bulk-schedule-popup{width:min(1180px,100%);max-height:min(88vh,820px);overflow:auto}.exam-bulk-scope{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.exam-bulk-scope label{display:grid;gap:.35rem;color:var(--text);font-size:.78rem;font-weight:800}.exam-bulk-scope select{min-width:0;padding:.75rem;border:1px solid var(--primary-soft);border-radius:8px;background:var(--card);color:var(--text);font:inherit}.exam-bulk-table-wrap{overflow:auto;border:1px solid var(--primary-soft);border-radius:8px}.exam-bulk-table{width:100%;min-width:900px;border-collapse:collapse}.exam-bulk-table th,.exam-bulk-table td{padding:.65rem;border-bottom:1px solid var(--primary-soft);text-align:left}.exam-bulk-table th{background:var(--primary-soft);color:var(--muted);font-size:.7rem;text-transform:uppercase}.exam-bulk-table tr:last-child td{border-bottom:0}.exam-bulk-table input{width:100%;min-width:110px;padding:.65rem .7rem;border:1px solid color-mix(in srgb,var(--primary) 24%,transparent);border-radius:7px;background:var(--card);color:var(--text);font:inherit}.exam-bulk-table td:first-child{min-width:190px}.exam-bulk-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text)}.exam-bulk-list-heading span{color:var(--muted);font-size:.75rem}@media (max-width:1050px){.exam-bulk-scope{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:850px){.exam-bulk-scope{grid-template-columns:1fr 1fr}}@media (max-width:600px){.generic-item-popup.exam-bulk-schedule-popup{width:100vw;height:100dvh;max-height:100dvh;padding:14px;border-radius:0}.exam-bulk-scope{grid-template-columns:1fr}.exam-bulk-table-wrap{max-height:52dvh}.exam-bulk-schedule-popup>.admission-form-actions{position:sticky;bottom:-14px;margin:12px -14px -14px;padding:12px 14px;background:var(--card)}}.student-exam-module{display:grid;gap:1rem}.student-exam-module .card-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.student-exam-module .card-header h2,.student-exam-module .card-header p{margin:0}.student-exam-module .card-header p{margin-top:.25rem;color:var(--muted)}.student-exam-module .card-header select{padding:.6rem;border:1px solid var(--primary-soft);border-radius:9px;background:var(--card);color:var(--text)}.student-exam-card{display:grid;gap:.75rem;padding:1rem;border-radius:14px;background:var(--card);box-shadow:var(--shadow)}.student-exam-card h3{margin:0;color:var(--text)}.student-exam-table-wrap{overflow:auto;border:1px solid var(--primary-soft);border-radius:10px}.student-exam-table{width:100%;min-width:650px;border-collapse:collapse}.student-exam-table th,.student-exam-table td{padding:.7rem;border-bottom:1px solid var(--primary-soft);text-align:left;color:var(--text)}.student-exam-table th{background:var(--primary-soft);color:var(--muted);font-size:.72rem;text-transform:uppercase}.branded-student-exams{position:relative;display:grid;gap:1rem;overflow:visible;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.branded-student-exams:before{display:none}.branded-student-exams .exam-student-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.2rem;border:1px solid rgba(128,84,239,.13);border-radius:19px;background:linear-gradient(115deg,#8054ef21,#2563eb12 60%,#ec489913)}.exam-student-hero>div:nth-child(2){display:grid;gap:.1rem}.exam-student-hero>div:nth-child(2)>span{color:var(--brand-violet);font-size:.66rem;font-weight:900;letter-spacing:.11em}.exam-student-hero h2{color:var(--brand-navy);font-size:1.8rem}.exam-hero-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));box-shadow:0 10px 25px #5b42dc38}.exam-hero-icon svg{width:28px;height:28px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.branded-student-exams .card-header select{min-width:245px;padding:.72rem 2.3rem .72rem .85rem;border-color:#8054ef33;border-radius:12px;background:var(--card);color:var(--brand-navy);font-weight:750;cursor:pointer}.branded-student-exams .student-exam-card{position:relative;overflow:hidden;padding:1rem;border:1px solid rgba(128,84,239,.12);border-radius:18px;background:linear-gradient(140deg,var(--card),rgba(128,84,239,.025));box-shadow:0 8px 25px #2c245b0d}.branded-student-exams .student-exam-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--brand-violet),var(--brand-blue))}.branded-student-exams .student-exam-card>h3{padding-left:.35rem;color:var(--brand-navy)}.exam-series-list-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.7rem}.exam-series-item{position:relative;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;width:100%;padding:.85rem;border:1px solid rgba(128,84,239,.13);border-radius:14px;background:var(--card);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.exam-series-item:hover,.exam-series-item.selected{transform:translateY(-1px);border-color:var(--primary);box-shadow:0 9px 20px #5b42dc17}.exam-series-item.selected{background:linear-gradient(120deg,#8054ef14,#2563eb0b)}.exam-series-item>div:first-child{display:grid;gap:.15rem}.exam-series-item>div:first-child strong{color:var(--brand-navy)}.exam-series-item small{color:var(--muted)}.series-meta{display:grid;justify-items:end;gap:.3rem}.series-meta>span:first-child{color:var(--muted);font-size:.7rem;white-space:nowrap}.series-status{display:inline-flex;padding:.25rem .5rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.62rem;font-weight:900;text-transform:uppercase}.series-status.current{background:#ecfdf5;color:#047857}.series-status.upcoming{background:#fff7ed;color:#c2410c}.exam-series-arrow{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:900}.branded-student-exams .student-exam-table-wrap{border-color:#8054ef26;border-radius:13px}.branded-student-exams .student-exam-table th{background:linear-gradient(90deg,#8054ef26,#2563eb17,#ec489912);color:color-mix(in srgb,var(--brand-navy) 70%,var(--brand-violet));font-weight:850;letter-spacing:.035em}.branded-student-exams .student-exam-table tbody tr{transition:background .16s}.branded-student-exams .student-exam-table tbody tr:hover{background:linear-gradient(90deg,#8054ef0a,#2563eb06)}.branded-student-exams .student-exam-table td strong{color:var(--brand-navy)}.branded-student-exams .printable-report{border-top:4px solid var(--brand-violet)}.branded-student-exams .report-card-heading{padding:.3rem}.branded-student-exams .download-report-button{border:0;border-radius:11px;padding:.7rem .85rem;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:800;cursor:pointer;box-shadow:0 8px 20px #5b42dc2e}.branded-student-exams .student-result-summary div{border:1px solid rgba(128,84,239,.1);background:linear-gradient(135deg,#8054ef0f,#2563eb08)}.branded-student-exams .result-grade{background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff}@media (max-width:700px){.branded-student-exams{padding:.7rem;border-radius:18px}.branded-student-exams .exam-student-hero{grid-template-columns:auto 1fr;padding:.9rem}.exam-hero-icon{width:44px;height:44px}.branded-student-exams .card-header select{grid-column:1/-1;width:100%;min-width:0}.exam-series-list-wrap{grid-template-columns:1fr}.exam-series-item{grid-template-columns:1fr auto}.series-meta{justify-items:start}.exam-series-arrow{grid-column:2;grid-row:1/3}.branded-student-exams .student-exam-card{padding:.8rem}}.branded-student-exams{overflow:hidden;padding:0;border:1px solid #e7e2f2;border-radius:22px;background:#fff;box-shadow:0 14px 36px #2b225212}.branded-student-exams:before{display:block;z-index:2;height:5px;border-radius:22px 22px 0 0;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange),var(--brand-teal))}.branded-student-exams .exam-student-hero{margin:0;padding:1.35rem 1.5rem;border:0;border-bottom:1px solid #eee9f7;border-radius:0;background:linear-gradient(105deg,#8054ef1a,#2563eb0b 62%,#ec48990b)}.branded-student-exams .exam-hero-icon{background:#fff;color:var(--brand-violet);box-shadow:0 7px 20px #5b42dc1f}.branded-student-exams .exam-hero-icon svg{stroke:var(--brand-violet)}.branded-student-exams>.student-exam-card{margin:0;padding:1.25rem 1.5rem;border:0;border-bottom:1px solid #eeeaf5;border-radius:0;background:#fff;box-shadow:none}.branded-student-exams>.student-exam-card:before{display:none}.branded-student-exams>.student-exam-card:last-child{border-bottom:0}.branded-student-exams .student-exam-card>h3{padding:0}.branded-student-exams .exam-series-item{border:1px solid #e4def0;background:#fbfaff;box-shadow:none}.branded-student-exams .exam-series-item:hover,.branded-student-exams .exam-series-item.selected{border-color:#b9a8e7;background:linear-gradient(120deg,#f5f0ff,#f4f7ff);box-shadow:0 7px 18px #5b42dc14}.branded-student-exams .student-exam-table-wrap{border:1px solid #e4def0;box-shadow:none}.branded-student-exams .student-exam-table th{background:#f2edfc;color:#554d65}.branded-student-exams .printable-report{border-top:0}@media (max-width:700px){.branded-student-exams{padding:0;border-radius:18px}.branded-student-exams .exam-student-hero{padding:1rem}.branded-student-exams>.student-exam-card{padding:1rem}}.result-grade{display:inline-grid;place-items:center;min-width:36px;padding:.3rem;border-radius:7px;background:var(--primary-soft);color:var(--primary);font-weight:850}.student-result-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.student-result-summary div{display:grid;gap:.2rem;padding:.75rem;border-radius:10px;background:var(--background)}.student-result-summary span{color:var(--muted);font-size:.72rem}.student-result-summary strong{color:var(--text)}.student-result-summary .pass{color:#15803d}.student-result-summary .fail{color:#b91c1c}.comment-result-button{border:1px solid var(--primary-soft);border-radius:7px;padding:.45rem .55rem;background:var(--card);color:var(--primary);font-weight:750;cursor:pointer}.comment-result-button:disabled{opacity:.45;cursor:not-allowed}.report-card-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.report-card-heading span{color:var(--primary);font-size:.75rem;font-weight:850;text-transform:uppercase}.report-card-heading h3,.report-card-heading p{margin:.2rem 0 0}.report-card-heading p{color:var(--muted)}.download-report-button{border:0;border-radius:9px;padding:.65rem .8rem;background:var(--primary);color:#fff;font-weight:800;cursor:pointer}.report-student-details{display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;padding:.75rem;border:1px solid var(--primary-soft);border-radius:10px}.report-student-details div{display:grid;gap:.15rem}.report-student-details span,.report-comments span{color:var(--muted);font-size:.7rem;font-weight:750;text-transform:uppercase}.report-student-details strong{color:var(--text)}.report-comments{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.report-comments>div{padding:.75rem;border:1px solid var(--primary-soft);border-radius:10px}.report-comments p{margin:.35rem 0 0;color:var(--text);line-height:1.5}.report-signatures{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:1.5rem;padding-top:1rem}.report-signatures div{display:grid;place-items:center;align-content:end;min-height:92px;padding-top:.25rem;border-bottom:1px solid var(--text);color:var(--text);text-align:center;font-weight:700}.report-signatures img{display:block;width:auto;max-width:180px;height:52px;object-fit:contain;margin-bottom:4px}.report-signatures span{display:block;padding:.45rem 0 .1rem}.report-signatures small{min-height:1em;padding-bottom:.3rem;color:var(--muted);font-size:.68rem;font-weight:600}.digital-signature-setting{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);align-items:center;gap:18px}.digital-signature-preview{display:grid;place-items:center;height:110px;padding:12px;border:1px dashed var(--primary-soft);border-radius:8px;background:var(--card);color:var(--muted)}.digital-signature-preview img{display:block;max-width:100%;max-height:82px;object-fit:contain}.digital-signature-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.digital-signature-actions p{flex-basis:100%;margin:0;color:var(--muted);font-size:.78rem}@media (max-width:650px){.digital-signature-setting{grid-template-columns:1fr}.report-signatures{gap:1.25rem}.report-signatures img{max-width:120px}}.fee-management-form{flex:1;overflow:auto;display:grid;align-content:start;gap:1rem;padding-right:.25rem}.fee-management-form label{display:grid;gap:.35rem;color:var(--text);font-size:.85rem;font-weight:700}.fee-management-form input,.fee-management-form select{min-width:0;padding:.62rem .68rem;border:1px solid var(--primary-soft);border-radius:9px;background:var(--background);color:var(--text)}.fee-account-picker{padding:.8rem;border-radius:12px;background:var(--primary-soft)}.fee-account-browser{display:grid;gap:.75rem;padding:1rem;border:1px solid rgba(128,84,239,.15);border-radius:16px;background:radial-gradient(circle at 100% 0,rgba(37,99,235,.045),transparent 25%),var(--card)}.fee-browser-heading{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem .9rem 1.15rem;border:1px solid rgba(128,84,239,.13);border-radius:14px;background:linear-gradient(105deg,#8054ef1a,#2563eb0e 58%,#ec48990f)}.fee-browser-heading:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),#f97316)}.fee-browser-heading>div{display:grid;gap:.2rem}.fee-browser-heading strong{color:var(--brand-navy);font-size:1.08rem}.fee-browser-heading>button{border:0;border-radius:10px;padding:.65rem .85rem;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:800;box-shadow:0 8px 20px #5b42dc2e;cursor:pointer}.fee-browser-heading span{color:var(--muted);font-size:.8rem}.fee-overall-summary{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:.6rem}.fee-overall-summary>div{position:relative;overflow:hidden;display:grid;gap:.2rem;padding:.8rem;border:1px solid rgba(128,84,239,.12);border-radius:12px;background:linear-gradient(140deg,#8054ef0e,#fffffff0 62%,#2563eb09)}.fee-overall-summary>div:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue))}.fee-overall-summary>div:nth-child(3):before{background:linear-gradient(90deg,var(--brand-blue),#14b8a6)}.fee-overall-summary>div:nth-child(4):before{background:linear-gradient(90deg,var(--brand-pink),#f97316)}.fee-overall-summary>div.alert{border-color:#fca5a5;background:#fff1f2}.fee-overall-summary span{color:var(--muted);font-size:.7rem;font-weight:750;text-transform:uppercase}.fee-overall-summary strong{color:var(--text);font-size:1.05rem}.fee-overall-summary small{color:var(--muted)}.long-pending-panel{display:grid;gap:.6rem;padding:.8rem;border:1px solid #fca5a5;border-radius:11px;background:#fff7f7}.long-pending-panel>div:first-child{display:flex;justify-content:space-between;gap:1rem;color:#991b1b}.long-pending-panel>div:first-child span{color:#b45309;font-size:.75rem}.long-pending-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.5rem}.long-pending-list button{display:flex;justify-content:space-between;gap:.75rem;padding:.65rem;border:1px solid #fecaca;border-radius:9px;background:#fff;color:var(--text);text-align:left;cursor:pointer}.long-pending-list button>span{display:grid;gap:.15rem}.long-pending-list button>span:last-child{text-align:right}.long-pending-list small{color:var(--muted)}.overdue-fee-row{background:color-mix(in srgb,var(--card) 94%,#ef4444);color:var(--text)}.overdue-fee-row td:first-child small{display:block;margin-top:.15rem;color:#b91c1c}.fee-browser-filters{display:grid;grid-template-columns:minmax(260px,1fr) repeat(auto-fit,minmax(150px,210px));gap:.65rem;padding:.7rem;border:1px solid rgba(37,99,235,.1);border-radius:13px;background:linear-gradient(100deg,#2563eb09,#ec489906)}.fee-browser-filters input:focus,.fee-browser-filters select:focus{outline:0;border-color:var(--brand-blue);box-shadow:0 0 0 3px #2563eb1a}.fee-student-results{display:grid;gap:.4rem;max-height:230px;overflow:auto}.fee-student-results>button{display:grid;grid-template-columns:minmax(190px,1.5fr) 1fr .75fr;gap:.75rem;align-items:center;text-align:left;background:var(--background);color:var(--text);border:1px solid var(--primary-soft)}.fee-student-results>button.active{border-color:var(--primary);box-shadow:inset 4px 0 0 var(--primary)}.fee-student-results>button span{display:grid;gap:.2rem}.fee-student-results>button small{color:var(--muted);font-weight:500}.fee-table-wrap{overflow:auto;border:1px solid rgba(128,84,239,.16);border-radius:14px;box-shadow:0 8px 24px #5b42dc0d}.fee-records-table{width:100%;min-width:1320px;border-collapse:collapse;background:var(--card);font-size:.82rem}.fee-records-table th,.fee-records-table td{padding:.72rem .65rem;border-bottom:1px solid var(--primary-soft);text-align:left;white-space:nowrap;color:var(--text)}.fee-records-table th{position:sticky;top:0;background:linear-gradient(90deg,#8054ef24,#2563eb17,#ec489912);color:color-mix(in srgb,var(--brand-navy) 72%,var(--brand-violet));font-size:.73rem;text-transform:uppercase;letter-spacing:.03em}.fee-records-table tbody tr:hover{background:linear-gradient(90deg,#8054ef09,#2563eb06)}.fee-status{display:inline-flex;padding:.3rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800}.fee-status.unconfigured{background:#e5e7eb;color:#4b5563}.student-fees-page{display:grid;gap:1.35rem;width:100%;max-width:1180px;margin:0 auto;color:var(--text)}.fee-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.fee-page-heading h2{margin:.2rem 0 .35rem;font-size:clamp(1.6rem,3vw,2rem);line-height:1.2}.fee-page-heading p,.fee-section-title p{margin:0;color:var(--muted)}.fee-eyebrow{color:var(--primary);font-size:.75rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.fee-account-status{display:inline-flex;align-items:center;gap:.45rem;flex:0 0 auto;padding:.55rem .8rem;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:.78rem;font-weight:800}.fee-account-status i{width:8px;height:8px;border-radius:50%;background:#f97316;box-shadow:0 0 0 4px #ffedd5}.fee-account-status.clear{background:#ecfdf5;color:#166534}.fee-account-status.clear i{background:#22c55e;box-shadow:0 0 0 4px #d1fae5}.student-fee-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid rgba(128,84,239,.15);border-radius:18px;background:linear-gradient(140deg,rgba(128,84,239,.045),var(--card) 55%,rgba(37,99,235,.035));box-shadow:0 12px 35px #5b42dc14}.student-fee-summary article{position:relative;display:grid;gap:.4rem;min-height:104px;padding:1.15rem 1.25rem;border-right:1px solid var(--primary-soft);border-bottom:1px solid var(--primary-soft)}.student-fee-summary article:nth-child(3n){border-right:0}.student-fee-summary article:nth-child(n+4){border-bottom:0}.student-fee-summary strong{font-size:1.45rem;letter-spacing:-.025em}.student-fee-summary article.paid strong{color:#15803d}.student-fee-summary article.pending strong{color:#c2410c}.student-fee-summary article.discount strong{color:var(--primary)}.fee-payment-panel,.student-payment-schedule{position:relative;overflow:hidden;display:grid;gap:1rem;padding:1.25rem;border:1px solid rgba(128,84,239,.15);border-radius:18px;background:radial-gradient(circle at 100% 0,rgba(37,99,235,.055),transparent 30%),var(--card);box-shadow:0 12px 35px #5b42dc12}.fee-payment-panel:before,.student-payment-schedule:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),#f97316)}.fee-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.fee-section-title h3{margin:0 0 .28rem;font-size:1.08rem}.fee-section-title p{font-size:.82rem}.fee-section-title>span{padding:.4rem .65rem;border-radius:8px;background:#ecfdf5;color:#166534;font-size:.72rem;font-weight:800}.fee-payment-options{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.fee-payment-options button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:1rem;border:1.5px solid var(--primary-soft);border-radius:13px;background:var(--background);color:var(--text);text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.fee-payment-options button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 50%,var(--primary-soft))}.fee-payment-options button.selected{border-color:var(--brand-blue);background:linear-gradient(135deg,#8054ef12,#2563eb0e);box-shadow:inset 0 0 0 1px var(--brand-violet)}.payment-radio{display:grid;place-items:center;width:19px;height:19px;border:2px solid #b7c0d0;border-radius:50%}.selected .payment-radio{border:5px solid var(--primary)}.fee-payment-options button>span:nth-child(2){display:grid;gap:.25rem}.fee-payment-options small{color:var(--muted);font-size:.75rem}.fee-payment-options b{color:var(--primary);font-size:1.05rem}.fee-payment-action{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;padding-top:.9rem;border-top:1px solid var(--primary-soft)}.fee-payment-action>div{display:grid;gap:.1rem;text-align:right}.fee-payment-action span{color:var(--muted);font-size:.72rem}.fee-payment-action strong{font-size:1.2rem}.fee-payment-action button{padding:.75rem 1.05rem;border:0;border-radius:10px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:800;cursor:pointer;box-shadow:0 8px 18px #5b42dc3d}.fee-payment-action button span{margin-left:.35rem;color:#fff;font-size:1rem}.fee-discount-details{display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;border:1px solid #bbf7d0;border-radius:13px;background:#f0fdf4;color:#166534}.fee-discount-details>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#dcfce7;font-weight:900}.fee-discount-details p{margin:.2rem 0 0;color:#3f6f50;font-size:.78rem}.student-payment-table-wrap{overflow-x:auto;border:1px solid var(--primary-soft);border-radius:12px}.student-payment-table{width:100%;border-collapse:collapse;font-size:.84rem}.student-payment-table th{padding:.78rem .85rem;background:var(--background);color:var(--muted);font-size:.72rem;letter-spacing:.035em;text-align:left;text-transform:uppercase;white-space:nowrap}.student-payment-table td{padding:.9rem .85rem;border-top:1px solid var(--primary-soft);white-space:nowrap}.student-payment-table tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 28%,var(--card))}@media (max-width: 760px){.student-fees-page{min-width:0;padding:0 12px 12px;box-sizing:border-box}.fee-page-heading{align-items:stretch;flex-direction:column}.fee-account-status{align-self:flex-start}.student-fee-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.student-fee-summary article,.student-fee-summary article:nth-child(3n){min-height:92px;border-right:1px solid var(--primary-soft);border-bottom:1px solid var(--primary-soft)}.student-fee-summary article:nth-child(2n){border-right:0}.student-fee-summary article:nth-child(n+5){border-bottom:0}.student-fee-summary strong{font-size:1.18rem}.fee-payment-options{grid-template-columns:1fr}.fee-payment-action{justify-content:space-between}.student-payment-table-wrap{overflow:visible;border:0}.student-payment-table,.student-payment-table tbody{display:grid;gap:.75rem}.student-payment-table thead{display:none}.student-payment-table tr{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--primary-soft);border-radius:12px}.student-payment-table td{display:grid;gap:.2rem;padding:.7rem .8rem;border-top:1px solid var(--primary-soft);white-space:normal}.student-payment-table td:before{content:attr(data-label);color:var(--muted);font-size:.67rem;font-weight:750;text-transform:uppercase}.student-payment-table td:nth-child(-n+2){border-top:0}}@media (max-width: 460px){.fee-payment-panel,.student-payment-schedule{padding:.9rem}.fee-section-title>span{display:none}.fee-payment-options button{grid-template-columns:auto 1fr}.fee-payment-options b{grid-column:2}.fee-payment-action{align-items:stretch;flex-direction:column;gap:.7rem}.fee-payment-action>div{text-align:left}.student-payment-table tr{grid-template-columns:1fr}.student-payment-table td:nth-child(2){border-top:1px solid var(--primary-soft)}}.teacher-directory-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.teacher-directory-heading h2{margin:0 0 .25rem}.teacher-directory-heading p{margin:0;color:var(--muted);font-size:.84rem}.teacher-directory-wrap{overflow-x:auto;border:1px solid var(--primary-soft);border-radius:13px}.teacher-directory-table{min-width:760px}.rate-teacher-button{padding:.52rem .72rem;border:1px solid color-mix(in srgb,var(--primary) 35%,var(--primary-soft));border-radius:9px;background:var(--primary-soft);color:var(--primary);font-weight:800;white-space:nowrap;cursor:pointer}.rate-teacher-button:hover{background:var(--primary);color:#fff}.inline-teacher-rating{display:inline-flex;gap:.08rem;white-space:nowrap}.inline-teacher-rating button{padding:.1rem;border:0;background:transparent;color:#d5dbe5;font-size:1.35rem;line-height:1;cursor:pointer}.inline-teacher-rating button:hover,.inline-teacher-rating button:has(~button:hover){color:#f5b51b}.inline-teacher-rating button.active{color:#f5b51b}.inline-rating-label{display:block;margin-top:.25rem;color:var(--muted);font-size:.68rem;font-weight:700}.inline-rating-label.already-rated{color:#15803d}.teacher-name-rating{display:grid;gap:.28rem}.teacher-name-rating>span{color:var(--muted);font-size:.7rem;white-space:nowrap}.teacher-name-rating b{color:#b77900;font-size:.76rem}.teacher-rating-backdrop{position:fixed;z-index:210;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.25rem;background:#0f172a94}.teacher-rating-dialog{width:min(460px,100%);overflow:hidden;border-radius:18px;background:var(--card);box-shadow:0 30px 90px #0f172a4d}.teacher-rating-dialog>header{display:flex;justify-content:space-between;gap:1rem;padding:1.35rem 1.4rem;border-bottom:1px solid var(--primary-soft)}.teacher-rating-dialog header span{color:var(--primary);font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.teacher-rating-dialog header h2{margin:.2rem 0}.teacher-rating-dialog header p{margin:0;color:var(--muted);font-size:.78rem}.teacher-rating-dialog header>button{width:34px;height:34px;padding:0;border:0;border-radius:50%;background:var(--primary-soft);color:var(--muted);font-size:1.4rem;cursor:pointer}.teacher-rating-dialog form{display:grid;gap:1rem;padding:1.35rem 1.4rem}.compact-rating-summary{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.65rem;padding:.7rem .8rem;border-radius:10px;background:var(--background)}.compact-rating-summary>span{color:var(--muted);font-size:.78rem;font-weight:750}.compact-rating-summary>strong{color:var(--primary);font-size:.85rem}.compact-rating-summary .teacher-star-rating button{font-size:1.45rem}.teacher-rating-dialog fieldset{display:grid;justify-items:center;gap:.45rem;margin:0;padding:1rem;border:1px solid var(--primary-soft);border-radius:13px}.teacher-rating-dialog legend{padding:0 .45rem;font-size:.84rem;font-weight:750}.teacher-rating-dialog fieldset small,.teacher-rating-dialog label small{color:var(--muted);font-size:.72rem}.teacher-star-rating{display:flex;gap:.25rem}.teacher-star-rating button{padding:0;border:0;background:transparent;color:#d6dbe3;font-size:2.2rem;line-height:1;cursor:pointer;transition:color .15s ease,transform .15s ease}.teacher-star-rating button.active{color:#f5b51b;transform:translateY(-2px)}.teacher-rating-dialog label{display:grid;gap:.4rem;font-size:.84rem;font-weight:750}.teacher-rating-dialog .optional-label{display:inline-flex;width:fit-content;margin-top:-1.45rem;margin-left:5.2rem;color:var(--muted);font-size:.7rem;font-weight:600}.teacher-rating-dialog textarea{width:100%;resize:vertical;padding:.8rem;border:1px solid var(--primary-soft);border-radius:11px;background:var(--background);color:var(--text);font:inherit;line-height:1.5}.teacher-rating-dialog label small{text-align:right}.teacher-rating-actions{display:flex;justify-content:flex-end;gap:.7rem}.teacher-rating-actions button{padding:.7rem .9rem;border:0;border-radius:9px;background:var(--primary-soft);color:var(--text);font-weight:800;cursor:pointer}.teacher-rating-actions button:last-child{background:var(--primary);color:#fff}.teacher-rating-actions button:disabled{opacity:.6;cursor:wait}.rating-success{margin:0;padding:.7rem;border-radius:9px;background:#ecfdf5;color:#166534;font-size:.82rem}.feedback-stars{display:inline-flex;color:#f5b51b;font-size:.9rem;letter-spacing:.04em;white-space:nowrap}.feedback-stars i{color:#d7dde5;font-style:normal}@media (max-width: 600px){.teacher-directory-wrap{overflow:visible;border:0}.teacher-directory-table{min-width:0}.teacher-directory-table thead{display:none}.teacher-directory-table,.teacher-directory-table tbody{display:grid;gap:.75rem}.teacher-directory-table tr{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border:1px solid var(--primary-soft);border-radius:12px}.teacher-directory-table td{display:grid;gap:.15rem;padding:.7rem;border:0;border-bottom:1px solid var(--primary-soft)}.teacher-directory-table td:before{content:attr(data-label);color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase}.teacher-directory-table td:first-child,.teacher-directory-table td:last-child{grid-column:1 / -1}.teacher-rating-backdrop{align-items:end;padding:0}.teacher-rating-dialog{max-height:92vh;overflow-y:auto;border-radius:22px 22px 0 0}}.announcements-module-panel{max-width:980px}.announcements-page,.announcement-detail-page{overflow:hidden;border:1px solid #e5eaf0;border-radius:22px;background:#f4f7fa;color:#405873;box-shadow:0 14px 40px #2d415514}.announcements-page-header{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;min-height:78px;padding:0 1.5rem;border-bottom:1px solid #d8e0e8;background:#ffffffa3}.announcements-page-header h2{margin:0;font-size:1.65rem;text-align:center}.announcements-page-header button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:transparent;color:#405873;font-size:2rem;cursor:pointer}.announcements-page-header button:hover{background:#e8eef4}.announcements-page-header .announcement-share-button{color:#1677df;font-size:1.5rem}.announcements-page-content{padding:2rem clamp(1rem,5vw,3rem) 3rem}.announcements-page-content>h1{margin:0 0 1.4rem;font-size:1.55rem}.announcements-list-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.announcements-list-heading h1,.announcements-list-heading p{margin:0}.announcements-list-heading h1{font-size:1.55rem}.announcements-list-heading p{margin-top:.25rem;color:#7892ab;font-size:.82rem}.announcements-list-heading>span{padding:.35rem .6rem;border-radius:999px;background:#e8eef9;color:#506b84;font-size:.75rem;font-weight:750;white-space:nowrap}.announcements-feed{display:grid;gap:1rem}.announcement-feed-card{position:relative;display:grid;gap:.4rem;width:100%;overflow:hidden;padding:1.1rem 3.4rem 1.1rem 1.55rem;border:0;border-radius:0 16px 16px 0;background:#fff;color:#405873;box-shadow:0 8px 24px #374b5f0f;text-align:left;cursor:pointer}.announcement-feed-card:before{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:linear-gradient(#1479e8,#0da4ed)}.announcement-feed-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px #374b5f1c}.announcement-feed-type{color:#8da3ba;font-size:.72rem;font-weight:700;letter-spacing:.065em;text-transform:uppercase}.announcement-feed-new{position:absolute;top:1rem;right:1rem;padding:.18rem .45rem;border-radius:4px;background:#20c99a;color:#fff;font-size:.62rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.announcement-feed-card strong{overflow:hidden;padding-right:2rem;font-size:1.1rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.announcement-feed-card p{overflow:hidden;margin:0;color:#60758b;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.announcement-feed-card time{margin-top:.35rem;color:#8ca5be;font-size:.82rem}.announcement-feed-arrow{position:absolute;right:1.1rem;bottom:1.05rem;color:#7e9bb6;font-size:1.65rem;line-height:1}.announcements-empty{padding:2rem;border-radius:14px;background:#fff;color:var(--muted);text-align:center}.announcements-pagination{display:grid;grid-template-columns:auto 1fr auto;gap:.75rem;align-items:center;margin-top:1.35rem}.announcements-pagination>div{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.announcements-pagination button{min-width:38px;height:38px;padding:0 .75rem;border:1px solid #d7e0e8;border-radius:9px;background:#fff;color:#405873;font-weight:750;cursor:pointer}.announcements-pagination button.active{border-color:#1677df;background:#1677df;color:#fff}.announcements-pagination button:disabled{opacity:.45;cursor:not-allowed}.announcement-detail{display:grid;gap:.9rem;padding:2.3rem clamp(1.25rem,6vw,4rem) 3rem}.announcement-detail-date{margin:0;color:#7892ab;font-size:1rem}.announcement-detail-type{margin:0;color:#0875cf;font-size:.85rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}.announcement-detail h1{max-width:780px;margin:.4rem 0 0;color:#253a50;font-size:clamp(1.65rem,4vw,2.5rem);line-height:1.3}.announcement-detail-description{max-width:780px;margin:0;color:#506b84;font-size:1.05rem;line-height:1.7}.announcement-detail img{width:100%;max-height:480px;margin-top:1rem;border-radius:18px;object-fit:cover}.announcement-share-backdrop{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.25rem;background:#17212c94}.announcement-share-dialog{display:grid;gap:1rem;width:min(570px,100%);padding:1.7rem;border-radius:24px;background:#fff;box-shadow:0 28px 80px #0000003d}.announcement-share-dialog h2{margin:0 0 .35rem;color:#405873;font-size:1.5rem}.announcement-share-dialog>button{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;padding:.9rem 1rem;border:1.5px solid #d9e3eb;border-radius:12px;background:#fff;color:#405873;text-align:left;cursor:pointer}.announcement-share-dialog>button.selected{border-color:#20c99a;box-shadow:inset 0 0 0 1px #20c99a}.announcement-share-dialog>button i{width:20px;height:20px;border:2px solid #87a2ba;border-radius:50%}.announcement-share-dialog>button.selected i{border:6px solid #20c99a}.announcement-share-dialog>button span{display:grid;gap:.18rem}.announcement-share-dialog>button strong{font-size:1rem}.announcement-share-dialog>button small{color:#71849a}.announcement-share-dialog>button b{color:#7894ad;font-size:1.2rem}.announcement-share-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.4rem}.announcement-share-actions button{min-width:100px;padding:.75rem 1rem;border:0;border-radius:10px;background:transparent;color:#1677df;font-weight:800;cursor:pointer}.announcement-share-actions button:last-child{background:#1677df;color:#fff}@media (max-width: 600px){.announcements-module-panel{padding:0}.announcements-page,.announcement-detail-page{min-height:calc(100vh - 1rem);border:0;border-radius:0;box-shadow:none}.announcements-page-header{min-height:68px;padding:0 .65rem}.announcements-page-header h2{font-size:1.4rem}.announcements-page-content{padding:1.7rem 1rem 2.5rem}.announcements-page-content>h1{font-size:1.35rem}.announcements-list-heading{align-items:start}.announcements-list-heading h1{font-size:1.35rem}.announcement-feed-card{padding:1rem 2.8rem 1rem 1.25rem}.announcement-share-backdrop{align-items:end;padding:0}.announcement-share-dialog{border-radius:24px 24px 0 0;padding:1.35rem 1rem calc(1.35rem + env(safe-area-inset-bottom))}.announcement-share-actions button{flex:1}}.fee-row-actions{display:flex;gap:.35rem}.fee-row-actions button{display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:10px;background:linear-gradient(135deg,#8054ef24,#2563eb1a);color:var(--brand-violet);font-size:1rem}.fee-row-actions button.delete{background:#fee2e2;color:#b91c1c}.fee-edit-backdrop{position:fixed;z-index:130;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.5rem;background:#0f172a94}.fee-edit-popup{width:min(1120px,100%);max-height:calc(100vh - 3rem);overflow:auto;display:grid;gap:1rem;padding:1.25rem;border-radius:20px;background:var(--card);box-shadow:0 30px 90px #0f172a4d}.fee-popup-heading{position:sticky;z-index:2;top:-1.25rem;display:flex;justify-content:space-between;align-items:start;padding:.25rem 0 .75rem;background:var(--card)}.fee-popup-heading span{color:var(--primary);font-size:.76rem;font-weight:800;text-transform:uppercase}.fee-popup-heading h2{margin:.2rem 0 0;color:var(--text)}.fee-popup-heading>button{padding:.2rem .55rem;background:transparent;color:var(--muted);font-size:1.8rem}.fee-form-actions .secondary{background:var(--primary-soft);color:var(--text)}.admissions-management{flex:1;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:.8rem}.admissions-toolbar{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem .9rem 1.2rem;border:1px solid rgba(128,84,239,.14);border-radius:16px;background:linear-gradient(105deg,#8054ef1a,#2563eb0e 58%,#ec48990f)}.admissions-toolbar:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),#f97316)}.admissions-toolbar>div{display:grid;gap:.2rem}.admissions-toolbar strong{color:var(--brand-navy);font-size:1.12rem}.admissions-toolbar span{color:var(--muted);font-size:.8rem}.admissions-toolbar button,.admission-form-actions button{border:0;border-radius:10px;padding:.65rem .85rem;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:750;cursor:pointer;box-shadow:0 8px 20px #5b42dc29}.admissions-toolbar .admission-wallet-gate{display:grid;justify-items:end;gap:5px;max-width:360px;text-align:right}.admissions-toolbar .admission-wallet-gate small{font-size:.68rem;font-weight:750;line-height:1.35}.admissions-toolbar .admission-wallet-gate.blocked small{color:#b91c1c}.admissions-toolbar .admission-wallet-gate.ready small{color:#15803d}.admissions-toolbar .admission-wallet-gate button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none;filter:grayscale(.25)}.admissions-filters{display:grid;grid-template-columns:minmax(260px,1.35fr) repeat(4,minmax(165px,.65fr));gap:.75rem;padding:.75rem;border:1px solid rgba(37,99,235,.1);border-radius:14px;background:linear-gradient(100deg,#2563eb09,#ec489906)}.admissions-filters label,.admission-form-grid label{display:grid;gap:.35rem;color:var(--text);font-size:.84rem;font-weight:700}.admissions-filters input,.admissions-filters select,.admission-form-grid input,.admission-form-grid select,.admission-form-grid textarea{width:100%;padding:.65rem .7rem;border:1px solid rgba(128,84,239,.18);border-radius:10px;background:#fffffff0;color:var(--text)}.admissions-filters input:focus,.admissions-filters select:focus{outline:0;border-color:var(--brand-blue);box-shadow:0 0 0 3px #2563eb1a}.admissions-table-wrap{overflow:auto;border:1px solid rgba(128,84,239,.16);border-radius:14px;box-shadow:0 8px 24px #5b42dc0e}.admissions-table{width:100%;min-width:1320px;border-collapse:collapse;background:var(--card);font-size:.82rem}.admissions-table th,.admissions-table td{padding:.72rem .65rem;border-bottom:1px solid var(--primary-soft);text-align:left;color:var(--text);white-space:nowrap}.admissions-table th{position:sticky;top:0;background:linear-gradient(90deg,#8054ef24,#2563eb17,#ec489912);color:color-mix(in srgb,var(--brand-navy) 72%,var(--brand-violet));font-size:.72rem;text-transform:uppercase}.admissions-table td small{display:block;margin-top:.2rem;color:var(--muted)}.admission-status{display:inline-flex;padding:.3rem .55rem;border-radius:999px;background:var(--primary-soft);font-size:.72rem;font-weight:800}.admission-status.enrolled,.admission-status.approved{background:#dcfce7;color:#166534}.admission-status.rejected{background:#fee2e2;color:#b91c1c}.admission-edit-button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:var(--primary-soft);color:var(--primary);cursor:pointer}.admission-row-actions{display:flex;gap:.35rem}.admission-delete-button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:#fee2e2;color:#b91c1c;cursor:pointer}.delete-icon{display:block;width:17px;height:17px;fill:currentColor}.admission-delete-button:hover{background:#dc2626;color:#fff}.admission-offboard-button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:#ffedd5;color:#c2410c;font-size:1.1rem;cursor:pointer}.admission-details-button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:#e0e7ff;color:#4338ca;font-size:1rem;cursor:pointer}.offboarded-status-button{border:0;cursor:pointer}.offboarded-status-button:hover{text-decoration:underline}.offboarding-popup{width:min(760px,100%)}.offboarding-warning{margin:0;padding:.8rem 1rem;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#9a3412;font-weight:650}.offboarding-status-summary{display:grid;gap:5px;padding:16px 18px;border:1px solid #fecaca;border-radius:14px;background:linear-gradient(120deg,#fff1f2,#fff7ed)}.offboarding-status-summary span{width:max-content;padding:4px 8px;border-radius:999px;background:#fee2e2;color:#b91c1c;font-size:11px;font-weight:900}.offboarding-status-summary strong{color:#7f1d1d;font-size:17px}.offboarding-status-summary small{color:#7c2d12}.offboarding-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.offboarding-details-grid>div{padding:13px 15px;border:1px solid var(--primary-soft);border-radius:12px;background:var(--background)}.offboarding-details-grid .wide{grid-column:1/-1}.offboarding-details-grid dt{margin-bottom:5px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.offboarding-details-grid dd{margin:0;color:var(--text);font-weight:750;white-space:pre-wrap}.admission-form-actions .offboard-confirm{background:#c2410c}@media (max-width: 1050px){.admissions-filters{grid-template-columns:1fr 1fr}}@media (max-width:600px){.offboarding-details-grid{grid-template-columns:1fr}.offboarding-details-grid .wide{grid-column:auto}}.admission-popup-backdrop{position:fixed;z-index:140;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.5rem;background:#0f172a94}.admission-popup{width:min(900px,100%);max-height:calc(100vh - 3rem);overflow:auto;display:grid;gap:1rem;padding:1.25rem;border-radius:20px;background:var(--card);box-shadow:0 30px 90px #0f172a4d}.admission-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.admission-form-grid .wide-field{grid-column:1 / -1}.admission-form-actions{display:flex;justify-content:flex-end;gap:.75rem;position:sticky;bottom:-1.25rem;padding:.8rem 0 1.25rem;background:var(--card)}.admission-form-actions .secondary{background:var(--primary-soft);color:var(--text)}.admission-workflow-table{min-width:1450px}.admission-workflow-popup{width:min(1180px,100%)}.admission-stage-strip{display:flex;gap:.5rem;overflow-x:auto;padding:.25rem .1rem .75rem;scrollbar-width:thin}.admission-stage-strip button{flex:0 0 128px;display:grid;justify-items:center;gap:.35rem;min-height:82px;padding:.55rem;border:1px solid var(--primary-soft);border-radius:12px;background:var(--background);color:var(--muted);cursor:pointer}.admission-stage-strip button span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:850}.admission-stage-strip button small{line-height:1.2;text-align:center;font-weight:750}.admission-stage-strip button.complete{border-color:#86efac;background:#f0fdf4;color:#166534}.admission-stage-strip button.complete span{background:#22c55e;color:#fff}.admission-stage-strip button.current{border:2px solid var(--primary);background:var(--primary-soft);color:var(--text)}.admission-stage-strip button.active{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 24%,transparent)}.admission-stage-strip button.complete.active{border-color:#22c55e;background:#f0fdf4;color:#166534;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 24%,transparent)}.admission-form-section{display:grid;gap:.75rem;padding:1rem;border:1px solid var(--primary-soft);border-radius:14px}.admission-form-section h3{margin:0;color:var(--text);font-size:1rem}.admission-form-grid .check-field{display:flex;align-items:center;gap:.55rem;align-self:end;min-height:42px}.admission-form-grid .check-field input{width:18px;height:18px}.admission-document-list{display:grid;gap:.5rem}.admission-document-list>div{display:grid;grid-template-columns:minmax(220px,1fr) 180px;gap:.6rem}.admission-document-list input,.admission-document-list select{width:100%;padding:.65rem .7rem;border:1px solid var(--primary-soft);border-radius:9px;background:var(--background);color:var(--text)}.global-admin-workspace{display:grid;gap:1.1rem}.global-admin-heading{display:flex;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.35rem 1.5rem;border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);border-radius:20px;background:var(--card);box-shadow:0 12px 32px #0f172a0d}.global-admin-heading h2,.global-admin-heading p{margin:0}.global-admin-heading h2{margin:.25rem 0;color:var(--text)}.global-admin-heading p:last-child{color:var(--muted)}.global-admin-heading>div:last-child{display:flex;gap:.65rem}.global-admin-heading button,.platform-popup button{border:0;border-radius:12px;padding:.75rem 1rem;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 78%,#2563eb));color:#fff;font-weight:800;cursor:pointer;box-shadow:0 7px 18px color-mix(in srgb,var(--primary) 20%,transparent)}.global-admin-heading>div:last-child button{min-width:142px;white-space:nowrap}.hierarchy-stats{display:grid;grid-template-columns:repeat(2,minmax(180px,260px));gap:.85rem}.hierarchy-stats>div{display:flex;align-items:center;gap:.85rem;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);border-radius:16px;background:var(--card);box-shadow:0 8px 24px #0f172a0a}.hierarchy-stats>div>div{display:grid;gap:.1rem}.hierarchy-stat-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--primary-soft);font-size:1.25rem}.hierarchy-stats strong{color:var(--primary);font-size:1.7rem}.hierarchy-stats span{color:var(--muted)}.hierarchy-table-wrap{overflow:auto;border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);border-radius:18px;background:var(--card);box-shadow:0 12px 32px #0f172a0d}.hierarchy-table{width:100%;min-width:960px;table-layout:fixed;border-collapse:collapse}.hierarchy-table .serial-column{width:5%}.hierarchy-table .school-name-column{width:15%}.hierarchy-table .school-code-column{width:10%}.hierarchy-table .school-actions-column{width:20%}.hierarchy-table .branch-name-column{width:13%}.hierarchy-table .branch-code-column,.hierarchy-table .branch-wallet-column{width:9%}.hierarchy-table .branch-actions-column{width:14%}.hierarchy-table .serial-cell{color:var(--primary);font-weight:900;text-align:center}.hierarchy-table th,.hierarchy-table td{padding:.85rem;border-bottom:1px solid var(--primary-soft);text-align:left;color:var(--text)}.hierarchy-table th{background:var(--primary-soft);color:var(--muted);font-size:.76rem;text-transform:uppercase}.branch-wallet-balance{display:grid;gap:1px;color:var(--text)}.branch-wallet-balance strong{color:#15803d;font-size:1rem}.branch-wallet-balance small{color:var(--muted);font-size:.68rem}.branch-wallet-unset{display:inline-flex;padding:4px 7px;border-radius:7px;background:var(--primary-soft);color:var(--muted);font-size:.7rem;font-weight:750;white-space:nowrap}.platform-row-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:.35rem;white-space:nowrap}.platform-row-actions select,.platform-row-actions button{min-width:0;min-height:34px;padding:.4rem .58rem;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--primary-soft));border-radius:9px;background:var(--card);color:var(--text);font:inherit;font-size:.82rem;cursor:pointer}.platform-row-actions select{width:92px}.platform-row-actions button{color:var(--primary);font-weight:750}.platform-row-actions button.danger{border-color:color-mix(in srgb,#dc2626 22%,transparent);color:#dc2626;background:color-mix(in srgb,#dc2626 5%,var(--card))}.tenant-console-brand{display:flex;align-items:center;gap:1rem;min-width:0}.tenant-console-brand .tconnect-mark{width:54px;height:54px}.tenant-console-brand .tconnect-wordmark strong{font-size:1.15rem}.tenant-console-brand>div:last-child{display:grid;gap:.12rem;padding-left:1rem;border-left:1px solid color-mix(in srgb,var(--muted) 20%,transparent)}.tenant-console-brand>div:last-child small{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.tenant-console-brand>div:last-child strong{color:var(--text);font-size:1rem}.platform-form-grid small{color:var(--muted);font-size:.72rem;font-weight:500;line-height:1.4}.principal-management-form{display:grid;gap:1rem}.principal-account-summary{display:flex;align-items:center;gap:.8rem;padding:.85rem;border-radius:14px;background:var(--primary-soft)}.principal-account-summary>span{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:12px;background:var(--card);font-size:1.35rem}.principal-account-summary h3,.principal-account-summary p{margin:0}.principal-account-summary p{margin-top:.2rem;color:var(--muted);font-size:.82rem}.principal-save-message{margin:0;padding:.7rem .85rem;border-radius:10px;background:#ecfdf5;color:#047857;font-weight:700}@media (max-width: 1100px){.tenant-console-brand>div:last-child{display:none}.global-admin-heading{align-items:stretch;flex-direction:column}.global-admin-heading>div:last-child{align-self:flex-start}.hierarchy-stats{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media (min-width: 1101px){html:has(.global-admin-workspace),body:has(.global-admin-workspace){height:100%;overflow:hidden}.dashboard-content:has(.global-admin-workspace){display:grid;grid-template-rows:auto minmax(0,1fr);gap:.65rem;height:calc(100vh - 2rem);min-height:0;overflow:hidden}.dashboard-content:has(.global-admin-workspace)>.module-panel{width:96%;height:100%;min-height:0;padding-bottom:0;overflow:hidden}.global-admin-workspace{display:flex;flex-direction:column;gap:.65rem;height:100%;min-height:0}.global-admin-heading{flex:0 0 auto;padding:.85rem 1.15rem}.global-admin-heading h2{font-size:1.55rem}.global-admin-heading p:last-child{font-size:.9rem}.hierarchy-stats{flex:0 0 auto}.hierarchy-stats>div{padding:.7rem .9rem}.hierarchy-stat-icon{width:38px;height:38px}.hierarchy-stats strong{font-size:1.45rem}.hierarchy-table-wrap{flex:1 1 auto;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto}.hierarchy-table{width:100%;min-width:0}.hierarchy-table th,.hierarchy-table td{padding:.68rem .75rem}.hierarchy-table th:last-child,.hierarchy-table td:last-child{padding-right:.5rem}.hierarchy-table td{overflow-wrap:anywhere}.platform-row-actions{max-width:100%;gap:.25rem}.platform-row-actions select{width:84px}.platform-row-actions select,.platform-row-actions button{padding-inline:.48rem;font-size:.78rem}}.platform-popup-backdrop{position:fixed;z-index:150;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.5rem;background:#0f172a94}.platform-popup{width:min(760px,100%);max-height:calc(100dvh - 3rem);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:1rem;padding:1.25rem;overflow:hidden;border-radius:20px;background:var(--card)}.platform-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:.15rem .45rem .35rem .1rem}.platform-form-grid label{display:grid;gap:.35rem;color:var(--text);font-size:.84rem;font-weight:700}.required-label{display:inline-flex;align-items:baseline;gap:.2rem;width:fit-content}.required-label:after{content:"*";color:#ef233c;font-size:1rem;font-weight:950;line-height:1}.platform-form-grid input,.platform-form-grid select,.platform-form-grid textarea{width:100%;padding:.65rem .7rem;border:1px solid var(--primary-soft);border-radius:9px;background:var(--background);color:var(--text);font:inherit}.platform-form-grid textarea{min-height:92px;line-height:1.45;resize:vertical}.platform-form-grid .wide-field{grid-column:1 / -1}.crm-workspace{display:grid;gap:1rem}.crm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.crm-stats article{display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid rgba(128,84,239,.14);border-radius:8px;background:var(--card)}.crm-stats article>svg,.crm-won-mark{display:grid;place-items:center;width:38px;height:38px;padding:8px;border-radius:8px;background:#8054ef1a;color:var(--primary);font-weight:900}.crm-stats article div{display:grid}.crm-stats strong{font-size:1.35rem;color:var(--text)}.crm-stats span{color:var(--muted);font-size:.76rem}.crm-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 160px 145px auto;gap:.65rem;align-items:end;padding:.8rem;border:1px solid rgba(128,84,239,.12);background:var(--card);border-radius:8px}.crm-toolbar label{display:grid;gap:.3rem;color:var(--text);font-size:.72rem;font-weight:800}.crm-toolbar input,.crm-toolbar select{height:42px;border:1px solid rgba(128,84,239,.18);border-radius:8px;background:var(--background);color:var(--text);padding:0 .7rem}.crm-toolbar button{display:flex;align-items:center;justify-content:center;gap:.35rem;height:42px;border:0;border-radius:8px;background:linear-gradient(135deg,var(--primary),#2563eb);color:#fff;font-weight:800;padding:0 .75rem;cursor:pointer;white-space:nowrap}.crm-toolbar button.secondary{border:1px solid rgba(128,84,239,.22);background:var(--card);color:var(--primary)}.crm-toolbar button:disabled{opacity:.45;cursor:not-allowed}.crm-export-actions{display:flex;gap:.4rem}.crm-search{position:relative}.crm-search svg{position:absolute;left:.7rem;bottom:12px;color:var(--muted)}.crm-search input{padding-left:2.15rem}.crm-table-wrap{overflow:auto;border:1px solid rgba(128,84,239,.13);border-radius:8px;background:var(--card)}.crm-table{width:100%;border-collapse:collapse;min-width:1080px}.crm-table th{padding:.7rem;text-align:left;background:#8054ef14;color:var(--muted);font-size:.68rem;text-transform:uppercase}.crm-table td{padding:.72rem;border-top:1px solid rgba(128,84,239,.1);color:var(--text);font-size:.78rem;vertical-align:middle}.crm-table td>strong,.crm-table td>small{display:block}.crm-table td>small{margin-top:.2rem;color:var(--muted)}.crm-stage,.crm-priority{display:inline-flex;padding:.3rem .48rem;border-radius:999px;font-size:.68rem;font-weight:800;white-space:nowrap}.crm-stage{background:#eef2ff;color:#4338ca}.crm-stage.stage-won{background:#dcfce7;color:#15803d}.crm-stage.stage-lost{background:#fee2e2;color:#b91c1c}.crm-priority{background:#f1f5f9;color:#475569}.crm-priority.priority-important{background:#fef3c7;color:#a16207}.crm-priority.priority-urgent{background:#fee2e2;color:#b91c1c}.crm-actions{display:flex;gap:.35rem}.crm-actions button{border:1px solid rgba(128,84,239,.2);border-radius:7px;background:var(--card);color:var(--primary);font-weight:750;padding:.4rem .55rem;cursor:pointer}.crm-actions button.danger{color:#dc2626;border-color:#dc262633}.crm-empty{display:grid;justify-items:center;gap:.35rem;padding:3rem;color:var(--muted)}.crm-empty svg{color:var(--primary)}.crm-lead-popup{width:min(850px,100%)}@media (max-width:1000px){.crm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-toolbar{grid-template-columns:1fr 1fr}.crm-search{grid-column:1/-1}}@media (max-width:600px){.crm-stats,.crm-toolbar{grid-template-columns:1fr}.crm-search{grid-column:auto}.crm-export-actions{display:grid;grid-template-columns:1fr 1fr}.crm-export-actions button:last-child{grid-column:1/-1}.crm-toolbar button{width:100%}}.crm-access-popup{width:min(900px,100%)}.crm-access-content{min-height:0;overflow:auto;display:grid;grid-template-columns:280px minmax(0,1fr);gap:1rem}.crm-account-list{display:grid;align-content:start;gap:.45rem;padding-right:.3rem}.crm-account-list>button{display:flex;justify-content:space-between;align-items:center;gap:.6rem;width:100%;padding:.7rem;border:1px solid rgba(128,84,239,.13);border-radius:8px;background:var(--background);color:var(--text);text-align:left;cursor:pointer}.crm-account-list>button.active{border-color:var(--primary);background:#8054ef14}.crm-account-list span,.crm-account-list small{display:block}.crm-account-list small{margin-top:.2rem;color:var(--muted)}.crm-account-list em{padding:.25rem .4rem;border-radius:999px;background:#dcfce7;color:#15803d;font-size:.65rem;font-style:normal;font-weight:800}.crm-account-list em.disabled{background:#fee2e2;color:#b91c1c}.crm-account-form{padding:.1rem;overflow:visible}.crm-role-workspace{padding:1rem 1.5rem 2rem}.crm-role-shell .dashboard-content{min-width:0}@media (max-width:760px){.crm-access-content{grid-template-columns:1fr}.crm-role-shell .sidebar-panel{display:none}.crm-role-shell .dashboard-content{grid-column:1/-1}.crm-role-workspace{padding:.75rem}}.branch-credential-reset{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid rgba(128,84,239,.16);border-radius:13px;background:linear-gradient(120deg,#8054ef17,#2563eb0b)}.branch-credential-reset>div{display:grid;gap:.2rem}.branch-credential-reset small{color:var(--muted);font-size:.72rem}.platform-popup .branch-credential-reset>button{flex:0 0 auto;padding:.55rem .75rem;color:var(--brand-violet);background:var(--card);border:1px solid rgba(128,84,239,.22);box-shadow:none}@media (max-width:600px){.branch-credential-reset{align-items:stretch;flex-direction:column}.branch-credential-reset>button{width:100%}}.ratings-admin-dashboard{display:grid;gap:1rem;min-height:0}.branded-ratings-panel{position:relative;overflow:hidden;padding:1rem;border:1px solid rgba(128,84,239,.16);border-radius:22px;background:radial-gradient(circle at 100% 0,rgba(37,99,235,.07),transparent 28%),radial-gradient(circle at 0 100%,rgba(236,72,153,.045),transparent 28%),var(--card);box-shadow:0 18px 48px #3e308217}.branded-ratings-panel:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange),var(--brand-teal))}.ratings-brand-intro{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.85rem;padding:.9rem 1rem;border:1px solid rgba(128,84,239,.12);border-radius:16px;background:linear-gradient(110deg,#8054ef1c,#2563eb0e 58%,#ec48990f)}.ratings-brand-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fbbf24;font-size:1.55rem;box-shadow:0 8px 20px #5b42dc33}.ratings-brand-intro>div:nth-child(2){display:grid;gap:.12rem}.ratings-brand-intro p,.ratings-brand-intro h3{margin:0}.ratings-brand-intro p{color:var(--brand-violet);font-size:.65rem;font-weight:900;letter-spacing:.1em}.ratings-brand-intro h3{color:var(--brand-navy);font-size:1.15rem}.ratings-brand-intro>div:nth-child(2)>span{color:var(--muted);font-size:.78rem}.ratings-brand-colors{display:flex;gap:.4rem}.ratings-brand-colors i{width:10px;height:10px;border-radius:50%;background:var(--brand-violet)}.ratings-brand-colors i:nth-child(2){background:var(--brand-teal)}.ratings-brand-colors i:nth-child(3){background:var(--brand-orange)}.ratings-brand-colors i:nth-child(4){background:var(--brand-blue)}.rating-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.rating-admin-stats>div{position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 .7rem;padding:1rem;border:1px solid color-mix(in srgb,var(--primary) 12%,transparent);border-radius:16px;background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--primary-soft) 23%,var(--card)));box-shadow:0 8px 22px #2c245b0e}.rating-admin-stats>div:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue))}.rating-admin-stats>div:nth-child(2):before{background:linear-gradient(90deg,var(--brand-blue),var(--brand-teal))}.rating-admin-stats>div:nth-child(3):before{background:linear-gradient(90deg,var(--brand-orange),#fbbf24)}.rating-admin-stats>div:nth-child(4):before{background:linear-gradient(90deg,var(--brand-pink),var(--brand-violet))}.rating-admin-stats span{grid-row:1 / 3;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--primary-soft),color-mix(in srgb,var(--brand-blue) 12%,var(--card)));color:var(--primary);font-size:1.25rem}.rating-admin-stats strong{color:var(--text);font-size:1.45rem;line-height:1}.rating-admin-stats small{color:var(--muted);font-weight:650}.ratings-admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--primary-soft);border-radius:14px;background:var(--card)}.ratings-admin-toolbar>div{display:grid}.ratings-admin-toolbar small{color:var(--muted)}.ratings-admin-toolbar label{display:flex;align-items:center;gap:.6rem;color:var(--muted);font-size:.78rem;font-weight:750}.ratings-admin-toolbar select{padding:.55rem .75rem;border:1px solid var(--primary-soft);border-radius:10px;background:var(--background);color:var(--text);cursor:pointer}.app-ratings-table-wrap{min-height:0;overflow:auto;border:1px solid var(--primary-soft);border-radius:16px;background:var(--card)}.app-ratings-table{width:100%;border-collapse:collapse;font-size:.78rem}.app-ratings-table th{position:sticky;z-index:1;top:0;padding:.8rem;background:color-mix(in srgb,var(--primary-soft) 55%,var(--card));color:var(--muted);text-align:left;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}.app-ratings-table td{max-width:270px;padding:.8rem;border-top:1px solid color-mix(in srgb,var(--primary) 9%,transparent);color:var(--text);vertical-align:top}.app-ratings-table td>strong,.app-ratings-table td>small{display:block}.app-ratings-table td>small{max-width:240px;margin-top:.2rem;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.anonymous-badge{width:fit-content;padding:.18rem .4rem;border-radius:999px;background:var(--primary-soft);color:var(--primary)!important;font-weight:750}.rating-role{display:inline-flex;padding:.3rem .55rem;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:.7rem;font-weight:800;white-space:nowrap}.rating-role.role-parent{background:#ecfdf5;color:#047857}.rating-role.role-student{background:#eff6ff;color:#1d4ed8}.rating-role.role-teacher{background:#fff7ed;color:#c2410c}.rating-role.role-school_admin,.rating-role.role-branch_admin{background:#fdf4ff;color:#a21caf}.admin-rating-stars{display:inline-flex;align-items:center;color:#f5b51b;white-space:nowrap}.admin-rating-stars i{color:#d9dde8;font-style:normal}.admin-rating-stars b{margin-left:.35rem;color:var(--text)}.rating-comment{min-width:190px;line-height:1.45;overflow-wrap:anywhere}.rating-comment em{color:var(--muted)}.app-ratings-table time{white-space:nowrap}.ratings-empty{display:grid;justify-items:center;padding:3rem 1rem;color:var(--muted);text-align:center}.ratings-empty span{color:var(--primary);font-size:2.5rem}.ratings-empty h3,.ratings-empty p{margin:.2rem}.ratings-service-message{display:flex;align-items:center;gap:.8rem;padding:.9rem 1rem;border:1px solid #fed7aa;border-radius:14px;background:linear-gradient(120deg,#fff7ed,#fffaf5);color:#9a3412}.ratings-service-message>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:#fb923c;color:#fff;font-weight:900}.ratings-service-message strong,.ratings-service-message p{margin:0}.ratings-service-message p{margin-top:.15rem;color:#9a5a35;font-size:.75rem}@media (max-width: 900px){.rating-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.branded-ratings-panel{padding:.75rem}.ratings-brand-intro{grid-template-columns:auto 1fr;padding:.75rem}.ratings-brand-colors{display:none}.ratings-brand-intro>div:nth-child(2)>span{display:none}.rating-admin-stats{grid-template-columns:1fr 1fr}.rating-admin-stats>div{padding:.75rem}.rating-admin-stats span{width:34px;height:34px}.rating-admin-stats strong{font-size:1.15rem}.ratings-admin-toolbar{align-items:stretch;flex-direction:column}.ratings-admin-toolbar label{justify-content:space-between}.ratings-admin-toolbar select{flex:1}.app-ratings-table,.app-ratings-table tbody,.app-ratings-table tr,.app-ratings-table td{display:block}.app-ratings-table thead{display:none}.app-ratings-table tr{padding:.65rem;border-top:1px solid var(--primary-soft)}.app-ratings-table tr:first-child{border-top:0}.app-ratings-table td{display:grid;grid-template-columns:105px 1fr;max-width:none;padding:.45rem;border:0}.app-ratings-table td:before{content:attr(data-label);color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.app-ratings-table td>*{min-width:0}}@media (min-width:1101px){html:has(.ratings-admin-dashboard),body:has(.ratings-admin-dashboard){height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.dashboard-content:has(.ratings-admin-dashboard){display:block;height:auto;min-height:calc(100vh - 2rem);overflow:visible}.dashboard-content:has(.ratings-admin-dashboard)>.module-panel{width:96%;height:auto;min-height:0;padding-bottom:1rem;overflow:visible}.global-admin-workspace:has(.ratings-admin-dashboard){display:grid;height:auto;min-height:0;overflow:visible}.ratings-admin-dashboard{display:grid;min-height:560px;overflow:visible}.app-ratings-table-wrap{min-height:190px;max-height:none;overflow-x:auto;overflow-y:visible}.app-ratings-table th{position:static}}.announcements-management{flex:1;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);gap:.8rem}.announcements-toolbar{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem .9rem 1.2rem;border:1px solid rgba(128,84,239,.14);border-radius:16px;background:linear-gradient(105deg,#8054ef1a,#2563eb0e 58%,#ec48990f)}.announcements-toolbar:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),#f97316)}.announcements-toolbar>div{display:grid;gap:.2rem}.announcements-toolbar strong{color:var(--brand-navy);font-size:1.12rem}.announcements-toolbar>div>span{color:var(--muted);font-size:.8rem}.announcements-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:10px;padding:.65rem .85rem;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:750;box-shadow:0 8px 20px #5b42dc2e;cursor:pointer}.announcements-toolbar button span{color:inherit;font-size:inherit}.announcements-toolbar button svg,.announcement-row-actions button svg{width:1.05rem;height:1.05rem;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.announcements-table-wrap{overflow:auto;border:1px solid rgba(128,84,239,.16);border-radius:14px;box-shadow:0 8px 24px #5b42dc0e}.announcements-table{width:100%;min-width:880px;border-collapse:collapse;background:var(--card)}.announcements-table th,.announcements-table td{padding:.75rem;border-bottom:1px solid var(--primary-soft);text-align:left;color:var(--text);vertical-align:top}.announcements-table th{background:linear-gradient(90deg,#8054ef24,#2563eb17,#ec489912);color:color-mix(in srgb,var(--brand-navy) 72%,var(--brand-violet));font-size:.72rem;text-transform:uppercase}.announcements-table tbody tr:hover{background:linear-gradient(90deg,#8054ef09,#2563eb06)}.announcements-table img,.announcement-image-placeholder{width:64px;height:48px;display:grid;place-items:center;border-radius:8px;object-fit:cover;background:var(--primary-soft);color:var(--primary);font-weight:800}.announcement-description-cell{min-width:320px;line-height:1.45}.announcement-row-actions{display:flex;align-items:center;gap:.5rem}.announcement-row-actions button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid transparent;border-radius:11px;font:inherit;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.announcement-row-actions button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a1f}.announcement-row-actions button:focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}.announcement-row-actions .edit{border-color:#8054ef29;background:linear-gradient(135deg,#8054ef24,#2563eb1a);color:var(--brand-violet)}.announcement-row-actions .edit:hover{background:#bfdbfe}.announcement-row-actions .delete{border-color:#fecaca;background:#fee2e2;color:#b91c1c}.announcement-row-actions .delete:hover{background:#fecaca}.announcement-popup{position:relative;width:min(760px,100%);display:grid;gap:1rem;padding:1.25rem;border:1px solid rgba(128,84,239,.18);border-radius:20px;background:radial-gradient(circle at 100% 0,rgba(37,99,235,.07),transparent 28%),radial-gradient(circle at 0 100%,rgba(236,72,153,.05),transparent 30%),var(--card)}.announcement-popup:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),#f97316)}.announcement-popup .fee-popup-heading{padding:.8rem .9rem;border-radius:15px;background:linear-gradient(105deg,#8054ef1a,#2563eb0f 58%,#ec489912)}.announcement-form{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.announcement-form>label{display:grid;gap:.35rem;padding:.7rem;border:1px solid rgba(128,84,239,.1);border-radius:13px;background:linear-gradient(135deg,#8054ef0a,#2563eb05);color:var(--brand-navy);font-size:.84rem;font-weight:700}.announcement-form input,.announcement-form select,.announcement-form textarea{width:100%;padding:.65rem .7rem;border:1px solid rgba(128,84,239,.2);border-radius:10px;background:#fffffff0;color:var(--text)}.announcement-classification{display:inline-flex;padding:.25rem .5rem;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:.72rem;font-weight:800}.announcement-classification.important{background:#fee2e2;color:#b91c1c}.achievement-tag.important,.announcement-detail-type.important,.announcement-kicker.important{color:#c62828}.announcement-form .wide-field{grid-column:1 / -1}.announcement-image-upload{display:grid;gap:.4rem;color:var(--text);font-size:.84rem;font-weight:700}.announcement-image-upload>div{display:flex;align-items:center;gap:.65rem;padding:.65rem;border:1px dashed color-mix(in srgb,var(--primary) 38%,var(--primary-soft));border-radius:12px;background:var(--background)}.announcement-upload-preview{display:grid;place-items:center;width:96px;height:64px;overflow:hidden;flex:0 0 auto;border-radius:9px;background:var(--primary-soft);font-size:1.4rem}.announcement-upload-preview img{width:100%;height:100%;object-fit:cover}.announcement-browse-button{display:inline-flex!important;padding:.58rem .78rem;border-radius:9px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff!important;box-shadow:0 7px 18px #5b42dc2b;cursor:pointer}.announcement-browse-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.announcement-remove-image{padding:.54rem .7rem;border:1px solid #fecaca;border-radius:9px;background:#fff1f2;color:#dc2626;font-weight:750;cursor:pointer}.announcement-image-upload>small{color:var(--muted);font-weight:500}.fee-summary-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}.fee-summary-strip div{position:relative;overflow:hidden;display:grid;gap:.25rem;padding:.8rem;border:1px solid rgba(128,84,239,.11);border-radius:12px;background:linear-gradient(140deg,#8054ef0f,#fffffff0,#2563eb09)}.fee-summary-strip div:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue))}.fee-summary-strip span{color:var(--muted);font-size:.78rem}.fee-summary-strip strong{color:var(--text)}.student-fees-page{display:grid;gap:1.15rem;color:var(--text)}.student-fees-page>.card-header h2,.student-fees-page>.card-header p,.student-payment-schedule .card-header h3{margin:0}.student-fees-page>.card-header p{margin-top:.3rem;color:var(--muted)}.student-fee-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.student-fee-summary article{display:grid;gap:.35rem;min-height:92px;padding:1rem;border:1px solid var(--primary-soft);border-radius:14px;background:var(--card);box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 6%,transparent)}.student-fee-summary span{color:var(--muted);font-size:.78rem;font-weight:700}.student-fee-summary strong{color:var(--text);font-size:1.3rem}.student-fee-summary article.paid{border-color:#bbf7d0;background:#f0fdf4}.student-fee-summary article.paid strong{color:#166534}.student-fee-summary article.pending{border-color:#fde68a;background:#fffbeb}.student-fee-summary article.pending strong{color:#92400e}.fee-discount-details{display:grid;gap:.25rem;padding:.85rem 1rem;border:1px solid #c4b5fd;border-radius:12px;background:color-mix(in srgb,var(--primary-soft) 52%,var(--card))}.fee-discount-details strong{color:var(--primary)}.fee-discount-details p{margin:0;color:var(--muted)}.student-payment-schedule{display:grid;gap:.75rem}.student-payment-table-wrap{overflow-x:auto;border:1px solid var(--primary-soft);border-radius:14px;background:var(--card)}.student-payment-table{width:100%;min-width:920px;border-collapse:collapse}.student-payment-table th,.student-payment-table td{padding:.8rem .9rem;border-bottom:1px solid var(--primary-soft);text-align:left;color:var(--text);white-space:nowrap}.student-payment-table th{background:var(--primary-soft);color:var(--muted);font-size:.72rem;text-transform:uppercase}.student-payment-table tbody tr:last-child td{border-bottom:0}.fee-status{display:inline-flex;padding:.3rem .58rem;border-radius:999px;font-size:.72rem;font-weight:800}.fee-status.paid{background:#dcfce7;color:#166534}.fee-status.pending{background:#fef3c7;color:#92400e}.fee-status.overdue{background:#fee2e2;color:#b91c1c}.fee-status.waived{background:#e0e7ff;color:#3730a3}.student-pay-button{border:0;border-radius:9px;padding:.52rem .75rem;background:var(--primary);color:#fff;font-weight:750;cursor:pointer}.payment-complete{color:#166534;font-size:.78rem;font-weight:750}.student-payment-backdrop{position:fixed;z-index:170;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#0f172a94}.student-payment-dialog{width:min(520px,100%);display:grid;gap:1rem;padding:1.25rem;border-radius:18px;background:var(--card);box-shadow:0 30px 90px #0f172a4d}.student-payment-dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}.student-payment-dialog-heading span{color:var(--primary);font-size:.75rem;font-weight:800;text-transform:uppercase}.student-payment-dialog-heading h3{margin:.2rem 0 0;color:var(--text)}.student-payment-dialog-heading button{border:0;background:transparent;color:var(--muted);font-size:1.6rem;cursor:pointer}.payment-review{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.payment-review div{display:grid;gap:.25rem;padding:.8rem;border-radius:10px;background:var(--primary-soft)}.payment-review span{color:var(--muted);font-size:.75rem}.payment-review strong{color:var(--text)}.payment-unavailable{margin:0;padding:.8rem;border-radius:10px;background:#fffbeb;color:#92400e;line-height:1.45}.student-payment-dialog-actions{display:flex;justify-content:flex-end;gap:.6rem}.student-payment-dialog-actions button,.student-payment-dialog-actions a{border:0;border-radius:9px;padding:.62rem .85rem;background:var(--primary);color:#fff;font-weight:750;text-decoration:none;cursor:pointer}.student-payment-dialog-actions .secondary{background:var(--primary-soft);color:var(--text)}.fee-management-form fieldset{margin:0;padding:1rem;border:1px solid rgba(128,84,239,.14);border-radius:14px;background:linear-gradient(135deg,#8054ef09,#2563eb05)}.fee-management-form legend{padding:0 .4rem;color:var(--brand-violet);font-weight:850}.fee-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.installment-table{min-width:940px;display:grid;gap:.45rem;overflow:auto}.installment-header,.installment-row{display:grid;grid-template-columns:1fr 1.05fr .85fr .9fr 1.05fr 1.3fr auto;gap:.4rem;align-items:center}.installment-header{color:var(--muted);font-size:.76rem;font-weight:750}.fee-management-form button{border:0;border-radius:9px;padding:.62rem .8rem;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:750;cursor:pointer}.installment-row button{background:#fee2e2;color:#b91c1c}.fee-component-help{margin:0 0 .75rem;color:var(--muted)}.fee-component-list{display:grid;gap:.55rem}.fee-component-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(140px,.4fr) 44px;gap:.6rem;align-items:center}.fee-component-row input{min-height:46px;padding:.65rem .8rem;border:1px solid var(--primary-soft);border-radius:10px;background:color-mix(in srgb,var(--primary-soft) 35%,white);color:var(--text);font:inherit}.fee-component-row .delete{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:10px;background:#fee2e2;color:#c81e1e}@media (max-width: 720px){.fee-component-row{grid-template-columns:1fr 120px 42px}}.fee-form-actions{display:flex;justify-content:flex-end;gap:.75rem;position:sticky;bottom:0;padding:.75rem 0;background:var(--card)}.fee-form-actions .danger{margin-right:auto;background:#dc2626}@media (max-width: 700px){.schedule-heading{align-items:stretch;flex-direction:column}.schedule-tabs{align-self:stretch}.schedule-tabs button{flex:1}.schedule-list article{grid-template-columns:54px 1fr}.schedule-meta{grid-column:2;text-align:left;display:flex;gap:.75rem}.teacher-form-grid,.specialization-options,.content-field-grid{grid-template-columns:1fr}.content-field-grid .wide-field{grid-column:auto}.generic-item-popup-backdrop{padding:0}.generic-item-popup{max-height:100vh;border-radius:0}.exam-filter-bar,.exam-result-editor{grid-template-columns:1fr}.exam-result-editor .wide-field{grid-column:auto}.exam-mark-filters,.student-result-summary,.exam-analysis-filters{grid-template-columns:1fr 1fr}.exam-section-heading,.student-exam-module .card-header,.report-card-heading{align-items:stretch;flex-direction:column}.report-student-details,.report-comments,.fee-summary-strip,.fee-form-grid,.fee-overall-summary{grid-template-columns:1fr 1fr}.fee-browser-filters{grid-template-columns:1fr}.fee-student-results>button{grid-template-columns:1fr 1fr}.fee-student-results>button span:last-child{grid-column:2;grid-row:1;text-align:right}.fee-edit-backdrop{padding:0}.fee-edit-popup{max-height:100vh;border-radius:0}.admissions-filters,.admission-form-grid{grid-template-columns:1fr}.admission-form-grid .wide-field{grid-column:auto}.admission-popup-backdrop{padding:0}.admission-popup{max-height:100vh;border-radius:0}.admission-document-list>div{grid-template-columns:1fr}.global-admin-heading{align-items:stretch;flex-direction:column}.global-admin-heading>div:last-child button{flex:1}.platform-form-grid{grid-template-columns:1fr}.platform-form-grid .wide-field{grid-column:auto}.announcement-form{grid-template-columns:1fr}.announcement-form .wide-field{grid-column:auto}.timetable-form-row{grid-template-columns:1fr 1fr;padding-bottom:.75rem;border-bottom:1px solid var(--primary-soft)}.timetable-form-row button{grid-column:1 / -1}.teacher-edit-backdrop{padding:0}.teacher-edit-popup{max-height:100vh;border-radius:0}}.admin-workspace{display:grid;gap:1.25rem}.admin-workspace-heading{padding:1.4rem 1.5rem;border-radius:20px;background:var(--card);box-shadow:0 10px 35px #0f172a0f}.admin-workspace-heading h2,.admin-workspace-heading p{margin:0}.admin-workspace-heading h2{margin:.25rem 0 .4rem;color:var(--text);font-size:1.65rem}.admin-workspace-heading p:last-child{color:var(--muted)}.admin-eyebrow{color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.admin-module-list{overflow:hidden;border-radius:20px;background:var(--card);box-shadow:0 10px 35px #0f172a0f}.admin-module-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--primary-soft)}.admin-module-row:last-child{border-bottom:0}.admin-module-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-weight:850}.admin-module-copy h3,.admin-module-copy p{margin:0}.admin-module-copy h3{color:var(--text);font-size:1rem}.admin-module-copy p{margin-top:.25rem;color:var(--muted);font-size:.88rem}.admin-module-count{padding:.35rem .65rem;border-radius:999px;background:var(--primary-soft);color:var(--text);font-size:.78rem;white-space:nowrap}.admin-module-row>button,.admin-editor-actions button{padding:.58rem .9rem;border:0;border-radius:10px;background:var(--primary);color:#fff;font-weight:750;cursor:pointer}.admin-module-row>button:disabled{opacity:.6;cursor:wait}.admin-editor-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#0f172a7a}.admin-editor{width:min(820px,100%);height:100%;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--card);box-shadow:-20px 0 60px #0f172a38}.admin-editor.teacher-editor,.admin-editor.fee-editor,.admin-editor.admissions-editor{width:min(1440px,100%)}.admin-editor.announcements-editor{width:min(1200px,100%)}.admin-editor.collection-table-editor{width:min(1440px,100%)}.admin-editor-heading{display:flex;justify-content:space-between;align-items:start}.admin-editor-heading span{color:var(--primary);font-size:.78rem;font-weight:800;text-transform:uppercase}.admin-editor-heading h2{margin:.2rem 0 0;color:var(--text)}.admin-editor>p{margin:0;color:var(--muted)}.editor-close{border:0;background:transparent;color:var(--muted);font-size:2rem;cursor:pointer}.admin-editor>textarea{width:100%;flex:1;resize:none;padding:1rem;border:1px solid var(--primary-soft);border-radius:14px;background:var(--background);color:var(--text);font:13px/1.55 Consolas,monospace}.editor-message{color:var(--primary)!important;font-weight:700}.admin-editor-actions{display:flex;justify-content:flex-end;gap:.75rem}.admin-editor-actions .secondary{background:var(--primary-soft);color:var(--text)}.editor-load-error{display:grid;place-items:start;gap:1rem;padding:1rem;border-radius:12px;background:#fef2f2;color:#b91c1c}.editor-load-error p{margin:0}.editor-load-error button{border:0;border-radius:9px;padding:.6rem .8rem;background:#b91c1c;color:#fff;font-weight:750;cursor:pointer}.admin-editor-loading{flex:1;display:grid;place-content:center;justify-items:center;gap:.75rem;color:var(--muted)}.admin-loading-spinner{width:34px;height:34px;border:3px solid var(--primary-soft);border-top-color:var(--primary);border-radius:50%;animation:admin-spin .7s linear infinite}@keyframes admin-spin{to{transform:rotate(360deg)}}.admin-page-error{margin:0}.class-management-form{flex:1;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;align-content:start;gap:.75rem;overflow:hidden}.class-master-toolbar{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem 1rem 1.25rem;border:1px solid color-mix(in srgb,var(--brand-violet) 22%,white);border-radius:16px;background:linear-gradient(105deg,color-mix(in srgb,var(--brand-violet) 10%,white),color-mix(in srgb,var(--brand-blue) 7%,white) 55%,color-mix(in srgb,var(--brand-pink) 7%,white));box-shadow:0 10px 28px #5b42dc14}.class-master-toolbar:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,var(--brand-violet),var(--brand-blue),var(--brand-pink))}.class-master-toolbar>div:first-child{display:grid;gap:.15rem}.class-master-toolbar strong{color:var(--text);font-size:1.15rem}.class-master-toolbar span{color:var(--muted);font-size:.82rem}.class-master-toolbar-actions,.class-row-actions,.teacher-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:.5rem}.class-master-toolbar button,.class-row-actions button,.teacher-form-actions button{border:0;border-radius:9px;padding:.55rem .75rem;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:750;cursor:pointer}.class-master-toolbar button.bulk-delete,.class-row-actions button.delete{background:#fee2e2;color:#b91c1c}.class-row-actions button.edit,.teacher-form-actions button.secondary{background:var(--primary-soft);color:var(--primary)}.class-row-actions button{width:40px;height:40px;padding:0;display:inline-grid;place-items:center;border-radius:12px;transition:transform .16s ease,box-shadow .16s ease}.class-row-actions button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 7px 16px #5b42dc29}.class-action-icon,.class-row-actions .delete-icon{width:19px;height:19px;fill:currentColor}.class-master-toolbar button:disabled,.class-row-actions button:disabled,.teacher-form-actions button:disabled{opacity:.55;cursor:not-allowed}.class-structure-table-wrap{min-height:0;overflow:auto;border:1px solid var(--primary-soft);border-radius:13px;background:var(--card)}.class-structure-table{width:100%;min-width:720px;border-collapse:collapse}.class-structure-table th{position:sticky;top:0;z-index:1;background:linear-gradient(90deg,color-mix(in srgb,var(--brand-violet) 12%,white),color-mix(in srgb,var(--brand-blue) 9%,white));color:color-mix(in srgb,var(--text) 65%,var(--brand-violet));font-size:.78rem;letter-spacing:.03em;text-align:left;text-transform:uppercase}.class-structure-table th,.class-structure-table td{padding:.7rem .8rem;border-bottom:1px solid var(--primary-soft)}.class-structure-table tbody tr:last-child td{border-bottom:0}.class-structure-table tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 35%,var(--card))}.class-structure-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--primary)}.section-badge{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 .55rem;border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-violet) 16%,white),color-mix(in srgb,var(--brand-blue) 10%,white));color:var(--brand-violet);font-weight:850}.class-row-popup-backdrop{position:fixed;z-index:160;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#0f172a94}.class-row-popup{position:relative;width:min(720px,100%);max-height:calc(100vh - 2rem);overflow:auto;display:grid;gap:1rem;padding:1.15rem;border:1px solid color-mix(in srgb,var(--brand-violet) 20%,white);border-radius:20px;background:radial-gradient(circle at 100% 0,rgba(37,99,235,.08),transparent 30%),radial-gradient(circle at 0 100%,rgba(236,72,153,.06),transparent 32%),var(--card);box-shadow:0 30px 90px #0f172a4d}.class-row-popup:before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),#f97316)}.class-row-popup .fee-popup-heading{padding:.8rem .9rem;border-radius:15px;background:linear-gradient(105deg,#8054ef1a,#2563eb0f 58%,#ec489912)}.class-row-popup .fee-popup-heading span{color:var(--brand-violet);letter-spacing:.08em}.class-row-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.class-row-form label{display:grid;gap:.4rem;padding:.75rem;border:1px solid rgba(128,84,239,.11);border-radius:14px;background:linear-gradient(135deg,#8054ef0b,#2563eb05);color:var(--brand-navy);font-weight:750}.class-row-form label:nth-child(2){border-color:#2563eb21;background:linear-gradient(135deg,#2563eb0b,#8054ef05)}.class-row-form label:nth-child(3){border-color:#ec48991f;background:linear-gradient(135deg,#ec489909,#f9731606)}.class-row-form input,.class-row-form select{width:100%;min-width:0;min-height:50px;padding:.7rem .8rem;border:1px solid color-mix(in srgb,var(--brand-violet) 22%,white);border-radius:11px;background:#fffffff0;color:var(--text);outline:none}.class-row-form input:focus,.class-row-form select:focus{border-color:var(--brand-blue);box-shadow:0 0 0 3px #2563eb1c}.class-row-form .wide-field{grid-column:1 / -1}.class-row-form .class-subject-allocation{grid-column:1 / -1;margin:0;padding:.9rem;border:1px solid color-mix(in srgb,var(--brand-violet) 20%,white);border-radius:14px;background:linear-gradient(135deg,#8054ef0b,#2563eb06)}.class-subject-allocation>header{display:grid;gap:.3rem;margin:0 0 .8rem;padding:.15rem .2rem .8rem;border-bottom:1px solid color-mix(in srgb,var(--brand-violet) 14%,transparent)}.class-subject-allocation>header h3,.class-subject-allocation>header p{margin:0}.class-subject-allocation>header h3{color:var(--brand-violet);font-size:1rem}.class-subject-allocation>header h3 span{color:#dc2626}.class-subject-allocation>header p{color:var(--muted);font-size:.9rem;line-height:1.45}.class-subject-allocation .specialization-options label{display:flex;grid-auto-flow:initial;gap:.5rem;padding:.55rem .65rem;border:1px solid var(--primary-soft);border-radius:10px;background:#fff;font-weight:650}.class-subject-allocation .specialization-options label small{margin-left:auto;color:var(--muted);font-weight:500}.class-subject-allocation .specialization-options input{width:17px;min-height:auto;padding:0}.class-row-popup .teacher-form-actions button:not(.secondary){background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));box-shadow:0 8px 20px #5b42dc33}.class-row-popup .teacher-form-actions .secondary{background:color-mix(in srgb,var(--brand-violet) 11%,white);color:var(--brand-violet)}:is(.generic-item-popup,.fee-edit-popup,.admission-popup,.platform-popup,.teacher-edit-popup,.class-row-popup,.announcement-popup){position:relative;border:1px solid rgba(128,84,239,.18);background:radial-gradient(circle at 100% 0,rgba(37,99,235,.07),transparent 28%),radial-gradient(circle at 0 100%,rgba(236,72,153,.05),transparent 30%),var(--card);box-shadow:0 30px 90px #1e184847}:is(.generic-item-popup,.fee-edit-popup,.admission-popup,.platform-popup,.teacher-edit-popup,.class-row-popup,.announcement-popup):before{content:"";position:absolute;z-index:3;inset:0 0 auto;height:6px;border-radius:inherit;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),#f97316)}:is(.generic-item-popup,.fee-edit-popup,.admission-popup,.platform-popup,.teacher-edit-popup,.class-row-popup,.announcement-popup)>.fee-popup-heading{padding:.8rem .9rem;border-radius:15px;background:linear-gradient(105deg,#8054ef1a,#2563eb0f 58%,#ec489912)}:is(.generic-item-popup,.fee-edit-popup,.admission-popup,.platform-popup,.teacher-edit-popup,.class-row-popup,.announcement-popup) .fee-popup-heading span{color:var(--brand-violet);letter-spacing:.08em}:is(.generic-item-popup,.fee-edit-popup,.admission-popup,.platform-popup,.teacher-edit-popup,.class-row-popup,.announcement-popup) :is(.admission-form-grid,.platform-form-grid,.fee-form-grid)>label{padding:.72rem;border:1px solid rgba(128,84,239,.1);border-radius:13px;background:linear-gradient(135deg,#8054ef0a,#2563eb05)}:is(.generic-item-popup,.fee-edit-popup,.admission-popup,.platform-popup,.teacher-edit-popup,.class-row-popup,.announcement-popup) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){border-color:#8054ef33;background:#fffffff0}:is(.generic-item-popup,.fee-edit-popup,.admission-popup,.platform-popup,.teacher-edit-popup,.class-row-popup,.announcement-popup) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea):focus{outline:0;border-color:var(--brand-blue);box-shadow:0 0 0 3px #2563eb1a}:is(.generic-item-popup,.fee-edit-popup,.admission-popup,.platform-popup,.teacher-edit-popup,.class-row-popup,.announcement-popup) :is(.admission-form-actions,.teacher-form-actions,.fee-form-actions) button:not(.secondary):not(.danger):not(.offboard-confirm){background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));box-shadow:0 8px 20px #5b42dc2e}:is(.generic-item-popup,.fee-edit-popup,.admission-popup,.platform-popup,.teacher-edit-popup,.class-row-popup,.announcement-popup) :is(.admission-form-actions,.teacher-form-actions,.fee-form-actions) .secondary{background:color-mix(in srgb,var(--brand-violet) 11%,white);color:var(--brand-violet);box-shadow:none}.exam-admin-tabs{padding:.35rem;border:1px solid rgba(128,84,239,.11);border-radius:13px;background:linear-gradient(100deg,#8054ef0f,#2563eb09)}.exam-admin-tabs button.active{border-color:transparent;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));box-shadow:0 7px 18px #5b42dc2e}.exam-section-heading{position:relative;overflow:hidden;padding:.85rem 1rem .85rem 1.15rem;border:1px solid rgba(128,84,239,.13);border-radius:14px;background:linear-gradient(105deg,#8054ef14,#2563eb0b 58%,#ec48990d)}.exam-section-heading:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--brand-violet),var(--brand-blue),var(--brand-pink))}.exam-section-heading>button,.exam-mark-actions button,.manage-results-button,.exam-popup-toolbar button,.exam-editor-actions button{background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));box-shadow:0 7px 18px #5b42dc29}.exam-mark-filters,.exam-filter-bar,.exam-analysis-filters{padding:.7rem;border:1px solid rgba(37,99,235,.1);border-radius:13px;background:linear-gradient(100deg,#2563eb09,#ec489906)}.exam-student-table-wrap,.exam-results-table-wrap{border-color:#8054ef29;border-radius:14px;box-shadow:0 8px 24px #5b42dc0d}.exam-student-table th,.exam-results-table th{background:linear-gradient(90deg,#8054ef24,#2563eb17,#ec489912);color:color-mix(in srgb,var(--brand-navy) 72%,var(--brand-violet))}.exam-student-table tbody tr:hover,.exam-results-table tbody tr:hover{background:linear-gradient(90deg,#8054ef09,#2563eb06)}.exam-analysis-grid article{position:relative;overflow:hidden;border-color:#8054ef24;background:linear-gradient(140deg,#8054ef0b,#fffffff2 48%,#2563eb09);box-shadow:0 9px 25px #5b42dc0f}.exam-analysis-grid article:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink))}.teacher-calendar-fieldset{min-width:0;display:grid;gap:.75rem;padding:.9rem;border:1px solid var(--primary-soft);border-radius:14px}.teacher-timetable-guide{display:grid;grid-template-columns:auto repeat(3,1fr);align-items:center;gap:.65rem;padding:.75rem;border:1px solid rgba(128,84,239,.15);border-radius:13px;background:linear-gradient(100deg,#8054ef17,#2563eb0e,#ec48990a)}.teacher-timetable-guide>strong{color:var(--brand-navy)}.teacher-timetable-guide>span{display:flex;align-items:center;gap:.45rem;color:var(--text);font-size:.78rem;font-weight:700}.teacher-timetable-guide>span b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff}.teacher-timetable-guide p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.76rem}.admin-timetable-readonly{display:grid;gap:.45rem}.admin-timetable-readonly article{display:grid;grid-template-columns:110px 120px 1fr 130px 150px;gap:.65rem;align-items:center;padding:.62rem .7rem;border:1px solid rgba(128,84,239,.12);border-radius:10px;background:#ffffffd6;color:var(--text);font-size:.78rem}.admin-timetable-readonly article strong{color:var(--brand-violet)}.admin-weekly-timetable-head,.admin-weekly-timetable-row{display:grid;grid-template-columns:.9fr .8fr .8fr .85fr .9fr 1.35fr .85fr 48px;gap:.4rem;align-items:center}.admin-weekly-timetable-head{padding:0 .2rem;color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.admin-weekly-timetable-row{padding:.5rem;border:1px solid rgba(128,84,239,.12);border-radius:11px;background:#ffffffd6}.admin-weekly-timetable-row input,.admin-weekly-timetable-row select{width:100%;min-width:0}.admin-weekly-timetable-row select:disabled{color:var(--muted);background:#eff1f9c7;border-style:dashed;cursor:not-allowed;opacity:1}.teacher-management-form .admin-period-delete{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid rgba(236,72,153,.2);border-radius:50%;background:linear-gradient(135deg,#8054ef1a,#ec48991f);color:#d52865}.teacher-management-form .admin-period-delete .delete-icon{width:14px;height:14px}.admin-timetable-day-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.admin-timetable-day-tabs{display:flex;gap:.35rem;padding:.25rem;border-radius:11px;background:var(--primary-soft)}.teacher-management-form .admin-timetable-day-tabs button{min-width:48px;padding:.5rem .65rem;background:transparent;color:var(--muted);box-shadow:none}.teacher-management-form .admin-timetable-day-tabs button.active{background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff}.copy-timetable-day{display:flex;align-items:center;gap:.45rem;color:var(--brand-navy);font-size:.76rem;font-weight:800}.copy-timetable-day select{min-width:120px}.teacher-management-form .copy-timetable-day button{padding:.55rem .72rem;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue))}.admin-period-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#8054ef26,#2563eb1a);color:var(--brand-violet)}.timetable-column-headings{display:grid;grid-template-columns:1.15fr .85fr .85fr 1.4fr .65fr .65fr 1fr auto;gap:.4rem;padding:0 .2rem;color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.oversight-load-note{padding:.7rem .85rem;border-left:4px solid var(--brand-blue);border-radius:10px;background:linear-gradient(90deg,#2563eb12,#8054ef0a);color:var(--muted);font-size:.84rem}.class-timetable-manager{position:relative;overflow:hidden;display:grid;gap:.85rem}.class-timetable-manager:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),#f97316)}.class-timetable-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.class-timetable-heading h2,.class-timetable-heading p{margin:.18rem 0}.class-timetable-heading>label{display:grid;gap:.3rem;min-width:220px;color:var(--brand-navy);font-size:.78rem;font-weight:800}.class-timetable-heading select,.class-timetable-edit-table select,.class-timetable-edit-table input{width:100%;min-width:115px;padding:.58rem .62rem;border:1px solid rgba(128,84,239,.18);border-radius:9px;background:#fff;color:var(--text)}.class-timetable-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;padding:.65rem;border:1px solid rgba(128,84,239,.13);border-radius:12px;background:linear-gradient(100deg,#8054ef14,#2563eb0b,#ec489909)}.class-timetable-guide span{display:flex;align-items:center;gap:.5rem;color:var(--brand-navy);font-size:.78rem;font-weight:750}.class-timetable-guide b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff}.class-timetable-table-wrap{overflow:auto;border:1px solid rgba(128,84,239,.15);border-radius:13px}.class-timetable-edit-table{width:100%;min-width:980px;border-collapse:collapse}.class-timetable-edit-table th{padding:.65rem;background:linear-gradient(90deg,#8054ef24,#2563eb17,#ec489912);color:color-mix(in srgb,var(--brand-navy) 72%,var(--brand-violet));font-size:.7rem;text-align:left;text-transform:uppercase}.class-timetable-edit-table td{padding:.5rem;border-top:1px solid var(--primary-soft)}.class-timetable-edit-table .remove-period{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid rgba(236,72,153,.2);border-radius:50%;background:linear-gradient(135deg,#8054ef1a,#ec48991f);color:#d52865;font-size:1.15rem}.class-timetable-actions{display:flex;justify-content:flex-end;gap:.65rem}.class-timetable-actions button{border:0;border-radius:10px;padding:.65rem .9rem;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:800;cursor:pointer}.class-timetable-actions .secondary-action{background:var(--primary-soft);color:var(--brand-violet)}.class-timetable-message{margin:0;padding:.65rem .75rem;border-radius:10px;background:#8054ef14;color:var(--brand-navy);font-weight:700}.teacher-calendar-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem}.calendar-view-tabs,.calendar-navigation{display:flex;align-items:center;gap:.4rem}.calendar-view-tabs{padding:.25rem;border-radius:11px;background:var(--primary-soft)}.calendar-view-tabs button,.calendar-navigation button,.calendar-period-summary button{border:0;border-radius:8px;padding:.55rem .75rem;background:transparent;color:var(--muted);font-weight:750;white-space:nowrap;cursor:pointer}.calendar-view-tabs button.active{background:var(--card);color:var(--primary);box-shadow:0 2px 8px #0f172a1a}.calendar-navigation button{min-width:36px;background:var(--primary-soft);color:var(--primary)}.calendar-navigation strong{min-width:180px;color:var(--text);text-align:center;white-space:nowrap}.calendar-navigation .today-button{background:var(--primary);color:#fff}.calendar-period-summary{display:flex;justify-content:space-between;align-items:center;gap:.75rem;min-height:42px;padding:.55rem .7rem;border-radius:10px;background:color-mix(in srgb,var(--primary-soft) 55%,var(--card));color:var(--muted)}.calendar-period-summary button{background:var(--card);color:var(--primary)}.calendar-period-summary button:disabled{opacity:.5;cursor:not-allowed}.timetable-date-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.35rem}.timetable-date-field span{min-width:30px;color:var(--text);font-size:.75rem;font-weight:800}@media (max-width: 700px){.admin-module-row{grid-template-columns:42px 1fr auto}.admin-module-count,.admin-module-copy p{display:none}}.app-shell{min-height:100vh;color:var(--text);background:radial-gradient(circle at 92% 4%,color-mix(in srgb,var(--brand-blue) 14%,transparent),transparent 25%),radial-gradient(circle at 8% 94%,color-mix(in srgb,var(--brand-violet) 12%,transparent),transparent 27%),linear-gradient(180deg,color-mix(in srgb,var(--background) 92%,white),var(--background))}.theme-purple{--background: #f8f3ff;--panel: rgba(255, 255, 255, .88);--card: #ffffff;--primary: var(--brand-violet);--primary-soft: #ede9fe;--text: #1f2937;--muted: #6b7280;--accent: #ec4899}.theme-teal{--background: #ecfeff;--panel: rgba(255, 255, 255, .92);--card: #ffffff;--primary: #14b8a6;--primary-soft: #ccfbf1;--text: #0f172a;--muted: #475569;--accent: #0ea5e9}.theme-orange{--background: #fff7ed;--panel: rgba(255, 255, 255, .94);--card: #ffffff;--primary: #f97316;--primary-soft: #ffedd5;--text: #1f2937;--muted: #6b7280;--accent: #f59e0b}.theme-blue{--background: #eff6ff;--panel: rgba(255, 255, 255, .94);--card: #ffffff;--primary: #2563eb;--primary-soft: #dbeafe;--text: #1f2937;--muted: #475569;--accent: #3b82f6}.appearance-light{color-scheme:light}.appearance-dark{color-scheme:dark;--brand-navy: #f4f7ff;--background: #0b1224;--panel: rgba(18, 27, 49, .94);--card: #121b31;--primary: #a78bfa;--primary-soft: #29224f;--text: #f4f7ff;--muted: #aebbd2;--accent: #60a5fa}.appearance-dark .tconnect-wordmark strong span{color:#f8faff}.appearance-dark .tconnect-wordmark small{color:#aebbd2}.appearance-system{color-scheme:light}@media (prefers-color-scheme: dark){.appearance-system{color-scheme:dark;--brand-navy: #f4f7ff;--background: #0b1224;--panel: rgba(18, 27, 49, .94);--card: #121b31;--primary: #a78bfa;--primary-soft: #29224f;--text: #f4f7ff;--muted: #aebbd2;--accent: #60a5fa}.appearance-system .tconnect-wordmark strong span{color:#f8faff}.appearance-system .tconnect-wordmark small{color:#aebbd2}}.appearance-dark :is(.admin-editor,.platform-popup,.admission-popup,.teacher-edit-popup,.fee-edit-popup,.generic-item-popup,.class-row-popup,.announcement-popup,.settings-dialog,.activity-management-popup,.teacher-class-details-popup) :is(label,legend,h2,h3,strong),.appearance-dark :is(.admin-editor,.platform-popup,.admission-popup,.teacher-edit-popup,.fee-edit-popup,.generic-item-popup,.class-row-popup,.announcement-popup,.settings-dialog,.activity-management-popup,.teacher-class-details-popup) label>span{color:var(--text)!important}.appearance-dark :is(.admin-editor,.platform-popup,.admission-popup,.teacher-edit-popup,.fee-edit-popup,.generic-item-popup,.class-row-popup,.announcement-popup,.settings-dialog,.activity-management-popup,.teacher-class-details-popup) :is(small,.field-help){color:var(--muted)!important}@media (prefers-color-scheme: dark){.appearance-system :is(.admin-editor,.platform-popup,.admission-popup,.teacher-edit-popup,.fee-edit-popup,.generic-item-popup,.class-row-popup,.announcement-popup,.settings-dialog,.activity-management-popup,.teacher-class-details-popup) :is(label,legend,h2,h3,strong),.appearance-system :is(.admin-editor,.platform-popup,.admission-popup,.teacher-edit-popup,.fee-edit-popup,.generic-item-popup,.class-row-popup,.announcement-popup,.settings-dialog,.activity-management-popup,.teacher-class-details-popup) label>span{color:var(--text)!important}.appearance-system :is(.admin-editor,.platform-popup,.admission-popup,.teacher-edit-popup,.fee-edit-popup,.generic-item-popup,.class-row-popup,.announcement-popup,.settings-dialog,.activity-management-popup,.teacher-class-details-popup) :is(small,.field-help){color:var(--muted)!important}}.container{width:min(1080px,92%);margin:0 auto}.centered-screen{min-height:80vh;display:grid;place-items:center}.student-header{display:grid;gap:1rem;padding:1.5rem 0 0}.student-profile-card,.announcement-card{background:var(--panel);border-radius:28px;box-shadow:0 24px 80px #0f172a1f}.student-profile-card{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:1.5rem}.profile-avatar{width:92px;height:92px;border-radius:48px;background:linear-gradient(180deg,var(--primary) 0%,var(--accent) 100%);box-shadow:inset 0 0 0 5px #fff6}.profile-info{color:var(--text)}.profile-intro-line{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem}.profile-role-badge,.sidebar-role-badge{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;font-size:.7rem;font-weight:850;line-height:1;text-transform:uppercase}.profile-role-badge{padding:.38rem .55rem}.profile-role-badge.parent{color:#047857;background:#d1fae5;border:1px solid #a7f3d0}.profile-role-badge.student{color:#1d4ed8;background:#dbeafe;border:1px solid #bfdbfe}.profile-role-badge.teacher{color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4}.linked-student-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:.15rem .55rem;max-width:520px;margin-top:.55rem;padding:.65rem .8rem;border-left:3px solid #2563eb;background:#eff6ff}.linked-student-summary span{color:#1d4ed8;font-size:.7rem;font-weight:850;text-transform:uppercase}.linked-student-summary strong{min-width:0;overflow-wrap:anywhere}.linked-student-summary small{grid-column:2;color:#64748b}.profile-context-strip,.linked-student-context{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.profile-context-strip{margin-top:.55rem}.profile-context-strip>*,.linked-student-context>*{padding:.3rem .5rem;border:1px solid transparent;border-radius:6px;font-size:.72rem;font-weight:800;line-height:1.15;letter-spacing:0;white-space:nowrap}.profile-context-strip .school,.linked-student-context>:nth-child(1){color:#087ea4;background:#ecfeff;border-color:#a5f3fc}.profile-context-strip .branch{color:#be185d;background:#fdf2f8;border-color:#fbcfe8}.profile-context-strip .board,.linked-student-context>:nth-child(2){color:#c2410c;background:#fff7ed;border-color:#fed7aa}.profile-context-strip .class,.linked-student-context>:nth-child(3){color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.profile-context-strip .section,.linked-student-context>:nth-child(4){color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.profile-context-strip .subject{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.profile-context-strip .assignment-0{color:#6d28d9;background:#f5f3ff;border-color:#ddd6fe}.profile-context-strip .assignment-1{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.teacher-profile-card{position:relative;overflow:hidden}.teacher-profile-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#13b8c8 0,#13b8c8 25%,#ec4899 25%,#ec4899 50%,#f97316 50%,#f97316 75%,#2563eb 75%)}.teacher-context-strip{margin-top:.65rem}.teacher-profile-overview{align-self:stretch;display:grid;align-content:center;gap:.8rem;min-width:0;padding-left:1.25rem;border-left:1px solid #e9d5ff}.teacher-profile-overview header{display:flex;align-items:center;justify-content:space-between;color:#7c3aed}.teacher-profile-overview header div{display:grid;gap:.16rem}.teacher-profile-overview header span{font-size:.7rem;font-weight:850;text-transform:uppercase}.teacher-profile-overview header strong{color:#172033;font-size:1rem}.teacher-overview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-overview-metrics>div{display:grid;grid-template-columns:auto 1fr;gap:.08rem .4rem;align-items:center;min-width:0;padding:.35rem .7rem;border-right:1px solid #e2e8f0}.teacher-overview-metrics>div:first-child{padding-left:0}.teacher-overview-metrics>div:last-child{border-right:0}.teacher-overview-metrics svg{grid-row:1 / 3;color:#0ea5b7}.teacher-overview-metrics strong{color:#172033;font-size:1rem}.teacher-overview-metrics span{overflow:hidden;color:#64748b;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.teacher-next-session{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.18rem .65rem;align-items:baseline;padding-top:.65rem;border-top:1px solid #e2e8f0}.teacher-next-session>span{grid-row:1 / 3;align-self:center;color:#c2410c;font-size:.7rem;font-weight:850;text-transform:uppercase}.teacher-next-session strong{min-width:0;overflow:hidden;color:#172033;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.teacher-next-session small{color:#64748b;font-size:.72rem}.linked-student-context{grid-column:2}.linked-student-context b{color:inherit}.profile-class-teacher{display:grid;grid-template-columns:auto auto minmax(0,auto) minmax(0,1fr);align-items:center;gap:.4rem;width:fit-content;max-width:100%;margin-top:.55rem;padding:.45rem .65rem;border:1px solid #d8b4fe;border-radius:7px;background:#faf5ff;color:#6b21a8;cursor:pointer;text-align:left}.profile-class-teacher span{font-size:.68rem;font-weight:850;text-transform:uppercase}.profile-class-teacher strong{min-width:0;overflow-wrap:anywhere;color:#111827;font-size:.8rem}.profile-class-teacher small{color:#6b7280;font-size:.72rem}.profile-class-teacher:hover{border-color:#a855f7;background:#f3e8ff}.greeting{margin:0 0 .45rem;color:var(--muted)}.student-profile-card h1{margin:0;font-size:clamp(1.7rem,2.4vw,2.5rem)}.subtext{margin:.65rem 0 0;color:var(--muted)}.id-text,.school-code{font-size:.92rem}.announcement-card{padding:1.15rem 1.25rem;position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:1.1rem;align-items:center;min-height:112px;height:112px;overflow:hidden}.profile-name-rating{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem}.profile-name-rating>span{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .7rem;border:1px solid #fde68a;border-radius:999px;background:#fffbeb;white-space:nowrap;box-shadow:0 3px 10px #a1620714}.profile-name-rating>span b{color:#a16207;font-size:.86rem}.profile-name-rating>span small{color:#7c6a43;font-size:.7rem;font-weight:700}.profile-name-rating>span.unrated{border-color:var(--primary-soft);background:var(--background)}.profile-name-rating>span.unrated small{color:var(--muted)}.announcement-action{border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);background:var(--panel);text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.announcement-action:hover,.announcement-action:focus-visible{transform:translateY(-1px);box-shadow:0 20px 60px #0f172a24}.announcement-preview{display:grid;place-items:center;width:76px;height:76px;overflow:hidden;border-radius:18px;min-height:0;background:color-mix(in srgb,var(--primary) 10%,var(--card))}.announcement-preview img{width:100%;height:100%;object-fit:cover;display:block}@media (max-width: 900px){.subject-catalog-add,.class-teacher-section-list,.class-timetable-guide{grid-template-columns:1fr}.class-timetable-heading{align-items:stretch;flex-direction:column}.teacher-timetable-guide{grid-template-columns:1fr}.teacher-timetable-guide p{grid-column:auto}.admin-timetable-readonly article{grid-template-columns:1fr 1fr}.timetable-column-headings{display:none}}.announcement-copy{display:grid;gap:.35rem;min-width:0;position:relative;padding-right:120px}.announcement-inline-actions{position:absolute;top:50%;right:0;display:flex;align-items:center;gap:.38rem;transform:translateY(-50%);white-space:nowrap}.announcement-inline-actions .announcement-position{display:flex;align-items:center;gap:.25rem}.announcement-kicker{color:var(--primary);font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.announcement-card p.announcement-description{margin:0;color:var(--muted);line-height:1.45;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.announcement-card{position:relative}.announcement-label{position:static;background:#22c55e;color:#fff;font-size:.75rem;padding:.32rem .65rem;border-radius:999px;letter-spacing:.04em}.announcement-card h2{margin:0;padding-right:0;font-size:1.08rem;line-height:1.35;color:var(--text)}.announcement-date{display:flex;align-items:center;gap:.35rem;margin:.15rem 0 0;color:var(--muted);font-size:.78rem}.announcement-date span{color:var(--primary);font-size:1rem}.announcement-open{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:1.1rem;transition:transform .18s ease,background .18s ease}.announcement-action:hover .announcement-open{transform:translate(3px);background:var(--primary);color:#fff}.announcement-card.admin-compact{grid-template-columns:68px minmax(0,1fr) auto;gap:.9rem;min-height:96px;height:96px;padding:.75rem 1rem}.announcement-card.admin-compact .announcement-preview{width:68px;height:60px;min-height:0;border-radius:12px;background:var(--primary-soft)}.announcement-card.admin-compact .announcement-copy{gap:.25rem}.announcement-card.admin-compact .announcement-description{line-height:1.35;-webkit-line-clamp:2}.announcement-card.admin-compact .announcement-date{margin-top:.1rem;font-size:.82rem}.theme-toggle-bar{display:flex;justify-content:flex-end;gap:.75rem;margin:1rem 0}.theme-toggle-bar button{background:var(--panel);color:var(--text);border:1px solid rgba(148,163,184,.2);border-radius:999px;padding:.8rem 1.4rem;cursor:pointer}.theme-toggle-bar button.active{background:var(--primary);color:#fff;border-color:transparent}.module-nav{display:flex;gap:.85rem;flex-wrap:wrap;margin-bottom:1.5rem}.module-nav button{--tab-color: #7c3aed;--tab-soft: #f5f3ff;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:112px;min-height:48px;background:var(--tab-soft);color:var(--tab-color);border:1px solid color-mix(in srgb,var(--tab-color) 24%,transparent);border-radius:10px;padding:.9rem 1.3rem;cursor:pointer;font-weight:750;box-shadow:inset 0 3px color-mix(in srgb,var(--tab-color) 68%,transparent);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.module-nav button.active{background:var(--tab-color);color:#fff;border-color:var(--tab-color);box-shadow:0 8px 18px color-mix(in srgb,var(--tab-color) 24%,transparent)}.module-nav button:hover{transform:translateY(-1px);box-shadow:inset 0 3px 0 var(--tab-color),0 7px 15px #0f172a14}.module-nav button.active:hover{box-shadow:0 8px 18px color-mix(in srgb,var(--tab-color) 28%,transparent)}.module-nav .module-tab-school{--tab-color: #0891b2;--tab-soft: #ecfeff}.module-nav .module-tab-teachers{--tab-color: #db2777;--tab-soft: #fdf2f8}.module-nav .module-tab-students{--tab-color: #ea580c;--tab-soft: #fff7ed}.module-panel{padding-bottom:2rem}.dashboard-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:1.5rem}.dashboard-shell{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;min-height:100vh;padding:2rem 0}.sidebar-panel{background:#0f172aeb;color:#fff;border-radius:36px;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1.5rem}.sidebar-backdrop{display:none}.sidebar-header{display:flex;align-items:center;gap:1rem}.sidebar-avatar{width:56px;height:56px;border-radius:50%;background:#ffffff29;display:grid;place-items:center;overflow:hidden}.announcement-controls{display:flex;align-items:center;justify-content:flex-start;gap:.55rem;min-width:0;white-space:nowrap}.announcement-controls>.announcement-label,.announcement-controls>.announcement-position,.announcement-controls>.announcement-open{display:none}.upcoming-holiday-preview{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;min-width:0;padding:.55rem .7rem;border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-radius:13px;background:color-mix(in srgb,var(--primary-soft) 46%,var(--card));cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.upcoming-holiday-preview:hover,.upcoming-holiday-preview:focus-visible{border-color:var(--primary);background:color-mix(in srgb,var(--primary-soft) 72%,var(--card));transform:translateY(-1px)}.upcoming-holiday-title{display:flex;align-items:center;gap:.45rem;padding-right:.65rem;border-right:1px solid color-mix(in srgb,var(--primary) 18%,transparent);white-space:nowrap}.upcoming-holiday-title>span:last-child{display:grid;gap:.12rem}.upcoming-holiday-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--card);font-size:1rem}.upcoming-holiday-title b{color:var(--primary);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.upcoming-holiday-title small{color:var(--muted);font-size:.65rem}.upcoming-holiday-items{display:flex;align-items:center;gap:.7rem;min-width:0}.upcoming-holiday-items>span{display:grid;gap:.06rem;min-width:86px}.upcoming-holiday-items time{color:var(--primary);font-size:.66rem;font-weight:850;text-transform:uppercase}.upcoming-holiday-items b{overflow:hidden;max-width:120px;color:var(--text);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.upcoming-holiday-items .upcoming-holiday-empty{min-width:140px;color:var(--muted);font-size:.74rem;font-weight:700}.holiday-fallback-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;width:100%;min-height:112px;padding:18px 22px;border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:20px;background:color-mix(in srgb,var(--primary-soft) 42%,var(--card));color:var(--text);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease}.holiday-fallback-card:hover,.holiday-fallback-card:focus-visible{border-color:var(--primary);transform:translateY(-1px)}.holiday-fallback-heading{display:flex;align-items:center;gap:12px}.holiday-fallback-heading .upcoming-holiday-icon{width:44px;height:44px;font-size:1.25rem}.holiday-fallback-heading>span:last-child{display:grid;gap:3px}.holiday-fallback-heading small{color:var(--primary);font-size:11px;font-weight:850}.holiday-fallback-heading strong{font-size:17px}.holiday-fallback-items{display:flex;align-items:center;gap:12px;min-width:0}.holiday-fallback-items>span{display:grid;gap:3px;min-width:130px;padding:10px 14px;border-left:3px solid var(--primary);border-radius:6px;background:var(--card)}.holiday-fallback-items time{color:var(--primary);font-size:11px;font-weight:850;text-transform:uppercase}.holiday-fallback-items b{overflow:hidden;max-width:180px;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.holiday-fallback-open{color:var(--primary);font-size:13px;font-weight:850;white-space:nowrap}@media (max-width:700px){.holiday-fallback-card{grid-template-columns:1fr;gap:12px;padding:16px}.holiday-fallback-items{overflow-x:auto}.holiday-fallback-open{justify-self:end}}.announcement-position{display:flex;align-items:center;gap:.32rem}.announcement-position>span{width:7px;height:7px;border-radius:999px;background:color-mix(in srgb,var(--primary) 25%,transparent);transition:width .2s ease,background .2s ease}.announcement-position>span.active{width:32px;background:var(--primary)}.announcement-preview img,.announcement-copy h2,.announcement-copy p{animation:announcement-enter .35s ease both}@keyframes announcement-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.metric-card{position:relative;display:grid;align-content:start;gap:.3rem;min-height:0;height:124px;padding:.72rem 2.4rem .65rem .85rem;overflow:hidden;border:1px solid transparent;border-radius:15px;background:var(--card);color:var(--text);text-align:left;box-shadow:0 10px 28px #0f172a0e;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.metric-card:hover,.metric-card:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 30%,transparent);box-shadow:0 15px 34px #0f172a1a}.metric-card h2,.metric-card p{margin:0}.metric-card h2{font-size:.98rem}.metric-card-arrow{position:absolute;top:.75rem;right:.75rem;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:800}.metric-due-date{color:var(--muted);font-size:.72rem}.metric-due-date b{margin-right:.25rem;color:#dc2626;text-transform:uppercase}.metric-notification-preview{overflow:hidden;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.metric-next-due{color:var(--muted);font-size:.7rem}.metric-next-due b{margin-right:.25rem;color:#c2410c;text-transform:uppercase}.metric-primary{display:flex;align-items:baseline;gap:.5rem}.metric-primary p{color:var(--text);font-size:1.15rem;font-weight:850}.metric-primary small,.metric-details small{color:var(--muted)}.metric-primary small.fully-paid{color:#15803d;font-weight:800}.metric-details{display:flex;gap:.55rem;padding-top:.35rem;border-top:1px solid color-mix(in srgb,var(--muted) 15%,transparent)}.metric-details span{display:flex;align-items:baseline;gap:.25rem}.metric-details b{color:var(--primary);font-size:.9rem}.metric-details small{font-size:.68rem}.mobile-header{display:none}.sidebar-avatar-fallback{color:#fff;font-size:.95rem;font-weight:900}.profile-photo-setting{display:flex;align-items:center;gap:1rem}.settings-profile-photo{display:grid;place-items:center;width:86px;height:86px;flex:0 0 86px;overflow:hidden;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent));font-size:1.2rem;font-weight:900}.settings-profile-photo img{width:auto;max-width:100%;height:100%;object-fit:contain;background:#fff}.profile-photo-upload{display:inline-flex;padding:.65rem .9rem;border-radius:10px;color:#fff;background:var(--primary);font-weight:800;cursor:pointer}.profile-photo-upload input{display:none}.profile-photo-remove{margin-left:.5rem;padding:.6rem .85rem;border:1px solid #cbd5e1;border-radius:10px;background:var(--card);color:var(--text);cursor:pointer}.profile-photo-setting p{margin:.5rem 0 0;color:var(--muted);font-size:.82rem}.sidebar-name{margin:0;font-size:1rem;font-weight:700}.home-brand-identity{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.25rem;border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);border-radius:22px;background:var(--panel);box-shadow:0 14px 40px #0f172a12}.school-banner-actions{display:flex;align-items:center;gap:1rem}.school-banner-themes{display:flex;align-items:center;gap:.7rem}.school-banner-sign-out{padding:.55rem 1rem;border:1px solid var(--primary);border-radius:999px;background:var(--card);color:var(--primary);font-weight:750;cursor:pointer;white-space:nowrap}.home-school-brand{display:flex;align-items:center;gap:.85rem;min-width:0}.home-school-brand>img,.home-school-brand>span{width:64px;height:64px;flex:0 0 64px;border-radius:16px;object-fit:contain;background:#fff}.home-school-brand>span{display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent));font-size:1.5rem;font-weight:900}.home-school-brand div{display:grid;width:100%;gap:.18rem;min-width:0}.home-school-brand small{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.home-school-brand strong{overflow:hidden;color:var(--text);font-size:clamp(1rem,2vw,1.35rem);text-overflow:ellipsis;white-space:nowrap}.home-school-brand .global-curriculum-chip{box-sizing:border-box;width:fit-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-app-brand{padding-left:1rem;border-left:1px solid color-mix(in srgb,var(--muted) 20%,transparent)}.ptm-page{display:grid;gap:18px;min-width:0}.ptm-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px}.ptm-hero h2,.ptm-hero p{margin:0}.ptm-hero>div:nth-child(2){display:grid;gap:5px}.ptm-hero-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:8px;background:linear-gradient(135deg,var(--primary),var(--brand-blue));color:#fff}.ptm-hero-icon svg{width:25px;height:25px}.ptm-stats{display:flex;gap:8px}.ptm-stats span{display:grid;min-width:76px;padding:8px 12px;border:1px solid rgba(128,84,239,.14);border-radius:8px;background:var(--primary-soft);color:var(--muted);font-size:.68rem;text-align:center}.ptm-stats b{color:var(--text);font-size:1rem}.ptm-request,.ptm-list{padding:20px}.ptm-request header h2,.ptm-list header h2{margin:2px 0 0}.ptm-request form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px;margin-top:16px}.ptm-request fieldset{min-width:0;margin:0;padding:0;border:0}.ptm-request legend{margin-bottom:7px;color:var(--text);font-weight:750}.ptm-mode{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ptm-mode button,.ptm-actions button{display:flex;align-items:center;justify-content:center;gap:7px}.ptm-mode button{height:50px;border:1px solid rgba(128,84,239,.2);background:var(--card);color:var(--text)}.ptm-mode button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.ptm-mode svg,.ptm-actions svg{width:18px;height:18px}.ptm-request form>button{justify-self:start}.ptm-list>header{display:flex;align-items:center;justify-content:space-between}.ptm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.ptm-card{display:grid;gap:13px;min-width:0;padding:16px;border:1px solid rgba(128,84,239,.15);border-radius:8px;background:var(--card)}.ptm-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.ptm-card h3{margin:7px 0 2px}.ptm-card small{display:block;color:var(--muted)}.ptm-mode-label{display:flex;align-items:center;gap:6px;color:var(--primary);font-size:.75rem;font-weight:800;white-space:nowrap}.ptm-mode-label svg{width:17px}.ptm-card dl{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:14px;margin:0;padding:11px;background:var(--primary-soft);border-radius:8px}.ptm-card dt{color:var(--muted);font-size:.68rem}.ptm-card dd{margin:3px 0 0;color:var(--text);font-weight:700;overflow-wrap:break-word}.ptm-review{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ptm-review>div{display:flex;flex-wrap:wrap;gap:8px}.ptm-review .danger,.ptm-cancel{border:1px solid #fecaca;background:#fff;color:#b91c1c;box-shadow:none}.ptm-review .secondary{border:1px solid rgba(128,84,239,.2);background:var(--primary-soft);color:var(--primary);box-shadow:none}.ptm-note,.ptm-completed{margin:0;padding:11px;border-left:3px solid var(--primary);background:var(--primary-soft)}.ptm-report{display:grid;gap:10px}.ptm-completed h4,.ptm-completed p{margin:0}.ptm-completed{display:grid;gap:7px}.ptm-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.ptm-video-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:#0f172ac7}.ptm-video-dialog{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1100px,100%);height:min(760px,calc(100vh - 32px));overflow:hidden;border-radius:8px;background:#111827;box-shadow:0 30px 90px #00000073}.ptm-video-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;background:#fff}.ptm-video-dialog>header>div{display:flex;align-items:center;gap:10px}.ptm-video-dialog>header span{display:grid}.ptm-video-dialog>header button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;background:transparent;color:var(--text)}.ptm-video-dialog iframe{width:100%;height:100%;border:0}@media (max-width:900px){.ptm-grid{grid-template-columns:1fr}.ptm-hero{grid-template-columns:auto minmax(0,1fr)}.ptm-stats{grid-column:1/-1}.ptm-stats span{flex:1}}@media (max-width:620px){.ptm-request form,.ptm-review,.ptm-card dl{grid-template-columns:1fr}.ptm-card>header,.ptm-actions{align-items:flex-start;flex-direction:column}.ptm-stats{width:100%;overflow-x:auto}.ptm-video-backdrop{padding:0}.ptm-video-dialog{width:100%;height:100vh;border-radius:0}}.published-dashboard-results{display:grid;gap:14px;min-width:0;padding:18px}.published-dashboard-results>header{display:grid;grid-template-columns:minmax(260px,1fr) minmax(520px,1.35fr);align-items:end;gap:18px}.published-dashboard-title{display:flex;align-items:flex-start;gap:12px;min-width:0}.published-dashboard-title>span{display:grid;flex:0 0 42px;place-items:center;width:42px;height:42px;border-radius:8px;background:linear-gradient(135deg,var(--primary),var(--brand-blue));color:#fff}.published-dashboard-title svg{width:21px}.published-dashboard-title h2,.published-dashboard-title p{margin:0}.published-dashboard-title>div{display:grid;gap:3px;min-width:0}.published-dashboard-filters{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:10px;min-width:0}.published-dashboard-filters label{min-width:0}.published-dashboard-filters select{width:100%;min-width:0}.published-dashboard-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:8px;background:var(--primary-soft)}.published-dashboard-meta span{display:flex;align-items:center;gap:7px;color:var(--primary);font-weight:800}.published-dashboard-meta svg{width:18px}.published-dashboard-table-wrap{width:100%;overflow-x:auto;border:1px solid rgba(128,84,239,.14);border-radius:8px}.published-dashboard-table-wrap table{width:100%;min-width:760px;border-collapse:collapse}.published-dashboard-table-wrap th,.published-dashboard-table-wrap td{padding:12px;text-align:left;border-bottom:1px solid rgba(128,84,239,.12);white-space:nowrap}.published-dashboard-table-wrap th{background:var(--primary-soft);color:var(--text);font-size:.72rem;text-transform:uppercase}.published-dashboard-table-wrap tbody tr:last-child td{border-bottom:0}.published-result-outcome{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.7rem;font-weight:900}.published-result-outcome.pass{background:#dcfce7;color:#166534}.published-result-outcome.fail{background:#fee2e2;color:#b91c1c}.published-dashboard-results.compact{margin-top:14px}@media (max-width:1000px){.published-dashboard-results>header{grid-template-columns:1fr}.published-dashboard-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:650px){.published-dashboard-filters{grid-template-columns:1fr}.published-dashboard-meta{align-items:flex-start;flex-direction:column}}.ptm-scheduler{overflow:hidden}.ptm-scheduler>header{padding-bottom:16px;border-bottom:1px solid rgba(128,84,239,.12)}.ptm-scheduler>form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:start!important;gap:16px!important}.ptm-scheduler-group{display:grid;min-width:0;gap:10px;margin:0;padding:14px;border:1px solid rgba(128,84,239,.14)!important;border-radius:8px!important;background:color-mix(in srgb,var(--primary-soft) 55%,var(--card))}.ptm-scheduler-group h3,.ptm-scheduler-group legend{margin:0;color:var(--text);font-size:.84rem;font-weight:850}.ptm-scheduler-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ptm-scheduler-fields.three{grid-template-columns:1.2fr 1fr .8fr}.ptm-scheduler label,.ptm-scheduler-group label,.ptm-scheduler-message{position:relative;display:grid!important;grid-template-columns:1fr!important;align-items:start!important;gap:7px!important;min-width:0;width:100%;color:var(--text);font-size:.76rem;font-weight:800}.ptm-scheduler label>span{display:block}.ptm-scheduler input,.ptm-scheduler select,.ptm-scheduler textarea{box-sizing:border-box;width:100%!important;min-width:0;height:48px;margin:0!important;padding:0 12px!important;border:1px solid rgba(128,84,239,.2)!important;border-radius:8px!important;background:var(--card)!important;color:var(--text)!important;font:inherit}.ptm-scheduler textarea{height:auto;min-height:82px;padding:11px 12px!important;resize:vertical}.ptm-scheduler .ptm-mode{height:48px}.ptm-scheduler-message{grid-column:1/-1}.ptm-scheduler>form>footer{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid rgba(128,84,239,.12)}.ptm-scheduler>form>footer p{margin:0;color:var(--muted);font-size:.75rem}.ptm-scheduler>form>footer button{flex:0 0 auto}.ptm-video-request{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;border:1px solid #fbbf24;border-radius:8px;background:#fffbeb}.ptm-video-request p{display:grid;gap:3px;margin:0;color:#92400e}.ptm-video-request p span{font-size:.75rem}.ptm-video-request>div{display:flex;gap:8px}.ptm-request-video{display:flex;align-items:center;justify-content:center;gap:7px;width:max-content}.ptm-request-video svg{width:17px}@media (max-width:900px){.ptm-scheduler>form{grid-template-columns:1fr!important}}@media (max-width:650px){.ptm-scheduler-fields,.ptm-scheduler-fields.three{grid-template-columns:1fr}.ptm-scheduler>form>footer,.ptm-video-request{align-items:flex-start;flex-direction:column}.ptm-scheduler>form>footer button{width:100%}}.profile-avatar{display:grid;place-items:center;overflow:hidden}.profile-avatar-fallback{color:#fff;font-size:1.45rem;font-weight:900}.profile-photo-shortcut{display:inline-flex;margin:.35rem .7rem 0 0;padding:.38rem .68rem;border:1px solid var(--primary);border-radius:999px;background:var(--card);color:var(--primary);font-size:.75rem;font-weight:800;cursor:pointer}.class-activity-gallery{position:relative;align-self:stretch;min-width:0;overflow:hidden;border-radius:17px;background:var(--primary-soft)}.class-activity-gallery.empty{display:grid;place-items:center;padding:1rem;border:1px dashed color-mix(in srgb,var(--primary) 28%,transparent);text-align:center}.class-activity-gallery.empty div{display:grid;gap:.2rem}.class-activity-gallery.empty span,.activity-copy small{color:var(--primary);font-size:.65rem;font-weight:900;letter-spacing:.1em}.class-activity-gallery.empty strong{color:var(--text)}.class-activity-gallery.empty small{color:var(--muted)}.activity-slide{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;overflow:hidden;border:0;background:transparent;color:#fff;text-align:left;cursor:zoom-in}.activity-slide img,.activity-slide video{width:100%;height:100%;display:block;object-fit:cover}.activity-slide.is-video{cursor:default}.activity-slide.is-video video{position:relative;z-index:1;background:#090e1b;object-fit:contain}.activity-slide.is-video .activity-shade,.activity-slide.is-video .activity-copy{z-index:2;pointer-events:none}.activity-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#070f26c7,#070f260d 72%),linear-gradient(0deg,rgba(7,15,38,.45),transparent 60%)}.activity-copy{position:absolute;z-index:1;left:1rem;right:3rem;bottom:.8rem;display:grid;gap:.1rem}.activity-copy small{color:#d8ccff}.activity-copy strong{overflow:hidden;color:#fff;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.activity-copy em{color:#fffc;font-size:.68rem;font-style:normal}.activity-expand{position:absolute;z-index:2;top:.6rem;right:.7rem;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#00000061;font-size:1rem}.activity-arrow{position:absolute;z-index:3;top:50%;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:#ffffffe6;color:#172033;font-size:1.4rem;cursor:pointer;transform:translateY(-50%)}.activity-arrow.previous{left:.45rem}.activity-arrow.next{right:.45rem}.activity-dots{position:absolute;z-index:3;left:50%;top:.5rem;display:flex;gap:.28rem;transform:translate(-50%)}.activity-dots button{width:6px;height:6px;padding:0;border:0;border-radius:50%;background:#ffffff8c}.activity-dots button.active{width:18px;border-radius:8px;background:#fff}.activity-category-tabs{position:absolute;z-index:4;top:.55rem;left:.55rem;right:2.8rem;display:flex;gap:.35rem;overflow-x:auto;scrollbar-width:none}.activity-category-tabs::-webkit-scrollbar{display:none}.activity-category-tabs button{display:inline-flex;flex:0 0 auto;align-items:center;gap:.35rem;padding:.35rem .55rem;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:#0f172a9e;color:#fff;font-size:.67rem;font-weight:800;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer}.activity-category-tabs button.active{background:linear-gradient(135deg,var(--primary),var(--accent));border-color:transparent}.activity-category-tabs small{display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#fff3;color:inherit}.class-activity-gallery:has(.activity-category-tabs) .activity-dots{top:3rem}.activity-viewer{position:fixed;z-index:500;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:64px minmax(0,1fr) 64px;place-items:center;padding:2rem;background:#040814eb}.activity-viewer figure{display:grid;max-width:min(1100px,100%);max-height:calc(100vh - 4rem);margin:0}.activity-viewer figure img,.activity-viewer figure video{max-width:100%;max-height:calc(100vh - 9rem);border-radius:14px 14px 0 0;object-fit:contain;background:#090e1b}.activity-viewer figcaption{display:grid;gap:.2rem;padding:.8rem 1rem;border-radius:0 0 14px 14px;background:#fff;color:#172033}.activity-viewer figcaption span,.activity-viewer figcaption small{color:#64748b}.viewer-close,.viewer-arrow{border:0;background:#ffffff21;color:#fff;cursor:pointer}.viewer-close{position:fixed;z-index:2;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;font-size:2rem}.viewer-arrow{width:50px;height:50px;border-radius:50%;font-size:2.5rem}.class-activity-manager header{display:flex;justify-content:space-between;gap:1rem}.class-activity-manager header h2,.class-activity-manager header p{margin:0}.class-activity-manager header>span{align-self:start;padding:.3rem .6rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.75rem;font-weight:800}.activity-upload-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:.7rem;align-items:end;margin-top:1rem}.activity-upload-form label{display:grid;gap:.3rem;color:var(--text);font-size:.76rem;font-weight:800}.activity-upload-form input,.activity-upload-form select{width:100%;min-height:42px;padding:.55rem .65rem;border:1px solid var(--primary-soft);border-radius:9px;background:var(--background);color:var(--text)}.activity-file-picker{grid-column:span 2;padding:.55rem .7rem;border:1px dashed var(--primary);border-radius:9px;color:var(--primary)!important;cursor:pointer}.activity-file-picker input{display:none}.activity-file-picker span{color:var(--muted);font-size:.68rem;font-weight:500}.activity-upload-form>button{min-height:48px;padding:.6rem 1rem;border:0;border-radius:10px;background:var(--primary);color:#fff;font-weight:800;cursor:pointer}.activity-upload-form>button:disabled{opacity:.6;cursor:wait}.activity-manager-message{margin:.7rem 0 0;color:var(--primary);font-weight:700}.activity-manager-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.65rem;margin-top:.8rem}.activity-manager-grid article{position:relative;display:grid;grid-template-columns:64px 1fr;gap:.6rem;align-items:center;overflow:hidden;padding:.45rem 2rem .45rem .45rem;border:1px solid var(--primary-soft);border-radius:12px}.activity-manager-grid img,.activity-manager-grid video{width:64px;height:52px;border-radius:8px;object-fit:cover;background:#090e1b}.activity-manager-grid article div{display:grid;min-width:0}.activity-manager-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-manager-grid small{color:var(--muted)}.activity-manager-grid article button{position:absolute;top:.3rem;right:.3rem;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:#fee2e2;color:#b91c1c;cursor:pointer}.activity-group-list{display:grid;gap:.8rem;margin-top:.9rem}.activity-group-card{padding:.8rem;border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);border-radius:15px;background:color-mix(in srgb,var(--primary-soft) 24%,var(--card))}.class-activity-manager .activity-group-card>header{align-items:center}.activity-group-card>header div{display:grid;gap:.15rem;min-width:0}.activity-group-card>header strong{color:var(--text)}.activity-group-card>header small{color:var(--muted);font-size:.75rem}.activity-delete-group{flex:0 0 auto;padding:.48rem .65rem;border:1px solid #fecaca;border-radius:9px;background:#fff1f2;color:#be123c;font-size:.72rem;font-weight:850;cursor:pointer}.activity-group-card .activity-manager-grid{margin-top:.65rem}.activity-home-actions{display:flex;align-items:center;gap:.55rem}.class-activity-manager .activity-home-actions>span{padding:.3rem .6rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.75rem;font-weight:800}.activity-home-actions button{padding:.55rem .75rem;border:0;border-radius:10px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-size:.76rem;font-weight:850;cursor:pointer}.recent-activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:.9rem}.recent-activity-grid>button{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:.65rem;min-width:0;padding:.55rem;border:1px solid rgba(128,84,239,.15);border-radius:13px;background:linear-gradient(135deg,var(--card),rgba(128,84,239,.05));color:var(--text);text-align:left;cursor:pointer}.recent-activity-grid img,.recent-activity-grid video{width:68px;height:56px;border-radius:9px;object-fit:cover;background:#090e1b}.recent-activity-grid div{display:grid;gap:.1rem;min-width:0}.recent-activity-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-activity-grid small{overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.recent-activity-grid span{color:var(--brand-violet);font-size:.7rem;font-weight:800}.recent-activity-grid b{color:var(--brand-violet);font-size:1.1rem}.activity-management-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#0f172a9e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.activity-management-popup{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1180px,96vw);max-height:92dvh;overflow:hidden;padding:1rem;border:1px solid rgba(128,84,239,.2);border-radius:22px;background:var(--card);box-shadow:0 28px 80px #0f172a4d}.activity-management-popup:before{content:"";position:absolute;z-index:3;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange),var(--brand-teal))}.class-activity-manager .activity-management-popup>header{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.9rem 1rem;border-radius:15px;background:linear-gradient(120deg,#8054ef21,#2563eb12 55%,#ec489914)}.activity-management-popup>header img{width:48px;height:48px;padding:7px;border-radius:13px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue))}.activity-management-popup>header button{display:grid;place-items:center;width:42px;height:42px;padding:0 0 3px;border:1px solid rgba(128,84,239,.22);border-radius:50%;background:#ffffffbf;color:var(--brand-violet);font-size:28px;cursor:pointer}.activity-management-body{min-height:0;overflow-y:auto;padding:.85rem .35rem .3rem;scrollbar-gutter:stable}.activity-add-mode{display:grid;grid-template-columns:minmax(280px,1fr) 1fr;align-items:end;gap:1rem;padding:.8rem;border:1px solid rgba(128,84,239,.14);border-radius:14px;background:#8054ef0b}.activity-add-mode label{display:grid;gap:.3rem;font-size:.78rem;font-weight:850}.activity-add-mode select{min-height:44px;padding:.55rem .7rem;border:1px solid var(--primary-soft);border-radius:10px;background:var(--card);color:var(--text)}.activity-add-mode p{margin:0 0 .65rem;color:var(--muted);font-size:.78rem}.activity-library-heading{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.activity-library-heading h3,.activity-library-heading p{margin:0}.activity-library-heading>span{color:var(--brand-violet);font-size:.75rem;font-weight:850}@media (max-width:850px){.recent-activity-grid,.activity-add-mode{grid-template-columns:1fr}.class-activity-manager>header{align-items:flex-start;flex-direction:column}.activity-home-actions{width:100%;justify-content:space-between}}@media (max-width: 1050px){.student-profile-card{grid-template-columns:88px minmax(0,1fr);height:auto;min-height:128px}.student-profile-card .class-activity-gallery{grid-column:1 / -1;min-height:180px}.teacher-profile-overview{grid-column:1 / -1;padding:.85rem 0 0;border-top:1px solid #e9d5ff;border-left:0}.activity-upload-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 620px){.student-profile-card{grid-template-columns:1fr}.student-profile-card .class-activity-gallery{min-height:190px}.activity-upload-form{grid-template-columns:1fr}.activity-file-picker{grid-column:auto}.activity-viewer{grid-template-columns:1fr;padding:3.5rem .75rem 1rem}.activity-viewer .viewer-arrow{position:fixed;z-index:2;top:50%}.activity-viewer .viewer-arrow.previous{left:.5rem}.activity-viewer .viewer-arrow.next{right:.5rem}}.sidebar-school-name{margin:.3rem 0 0;color:#fff;font-size:.78rem;font-weight:700;line-height:1.25}.sidebar-subtext{margin:.25rem 0 0;color:#94a3b8;font-size:.95rem}.sidebar-menu{display:grid;gap:.65rem}.sidebar-item{display:flex;align-items:center;gap:.85rem;border:none;background:transparent;color:#cbd5e1;padding:.95rem 1rem;border-radius:18px;text-align:left;cursor:pointer;transition:background .2s ease,color .2s ease}.sidebar-item:hover,.sidebar-item.active{background:#ffffff1a;color:#fff}.sidebar-icon{width:32px;height:32px;display:grid;place-items:center;background:#ffffff24;border-radius:12px}.dashboard-content{min-height:100vh;position:relative}.top-right-theme-palette{position:absolute;top:1.25rem;right:8.5rem;display:flex;gap:.75rem;align-items:center;z-index:10}.theme-dot{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.95);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.theme-dot.purple{background:#8b5cf6}.theme-dot.teal{background:#14b8a6}.theme-dot.orange{background:#f97316}.theme-dot.blue{background:#2563eb}.theme-dot.active{transform:scale(1.15);box-shadow:0 0 0 4px #3b82f62e}@media (max-width: 900px){.session-bar>span{padding-right:0}.top-right-theme-palette{position:static;margin:0 0 1rem;justify-content:flex-end}}.dashboard-menu{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding-bottom:2rem}.feature-card{display:grid;justify-items:center;gap:.75rem;padding:1.35rem;border-radius:28px;border:1px solid rgba(148,163,184,.18);background:var(--card);color:var(--text);text-align:center;box-shadow:0 22px 48px #0f172a1a;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.feature-card:hover,.feature-card:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 32%,transparent);box-shadow:0 26px 54px color-mix(in srgb,var(--primary) 14%,rgba(15,23,42,.1))}.feature-icon{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--primary),var(--accent))}.module-card{background:var(--card);border:1px solid rgba(148,163,184,.18);border-radius:24px;padding:1.5rem;box-shadow:0 22px 48px #0f172a14;margin-bottom:1.25rem}.module-card h2{margin-top:0}.about-page{display:grid;gap:1.5rem}.about-hero{display:grid;padding:2rem;border-radius:28px;background:linear-gradient(135deg,#8b5cf61f,#ec48991f)}.about-hero-content{max-width:680px}.about-badge{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:999px;background:#ffffffc7;color:var(--primary);font-size:.85rem;font-weight:700;letter-spacing:.04em;margin-bottom:1rem}.about-summary{margin:1rem 0 0;line-height:1.75;color:var(--muted)}.about-body{display:grid;gap:1.5rem}.about-body section h2{margin:0 0 .75rem}.about-body section p{margin:0;line-height:1.75;color:var(--text)}.about-logo-card{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:1.5rem;border-radius:24px;background:var(--panel)}.about-logo-placeholder{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(180deg,var(--primary),var(--accent));color:#fff;font-size:1.5rem;font-weight:800}.about-logo-card img.about-logo-placeholder{object-fit:contain;padding:.35rem}.admin-image-field{display:grid;gap:.7rem}.admin-image-field>span{font-weight:700}.admin-image-field>img{width:96px;height:96px;padding:.35rem;border:1px solid var(--border);border-radius:18px;background:var(--card);object-fit:contain}.admin-image-actions{display:flex;flex-wrap:wrap;gap:.6rem}.admin-image-upload,.admin-image-remove{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.65rem 1rem;border:1px solid var(--primary);border-radius:12px;color:var(--primary);background:var(--card);font-weight:700;cursor:pointer}.admin-image-upload input{display:none}.admin-image-remove{border-color:#dc2626;color:#dc2626}.admin-image-field small{color:var(--muted)}.about-logo-title{margin:0 0 .35rem;font-weight:700;letter-spacing:.02em}.about-logo-tagline{margin:0;color:var(--muted)}.notification-panel{padding:1.5rem}.notification-page{width:min(1040px,100%);margin:0 auto;padding:.5rem 0 1.25rem}.notification-focused-view{overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 10%,transparent);border-radius:22px;background:color-mix(in srgb,var(--background) 90%,var(--card));box-shadow:0 18px 42px #0f172a0f}.notification-page-header,.focused-module-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:.75rem;min-height:66px;padding:.65rem 1rem;border-bottom:1px solid rgba(148,163,184,.22);background:var(--card)}.focused-module-header{width:min(1280px,96%);margin:.5rem auto 1rem;border:1px solid color-mix(in srgb,var(--primary) 10%,rgba(148,163,184,.2));border-radius:18px;box-shadow:0 10px 28px #0f172a0d;grid-template-columns:44px 1fr minmax(150px,auto)}.notification-page-header h1,.focused-module-header h1{margin:0;color:var(--text);font-size:1.45rem;text-align:center}.notification-page-header button,.focused-module-header button,.notification-list-heading button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:12px;background:transparent;color:var(--text);font-size:1.55rem;cursor:pointer}.notification-page-header button:hover,.focused-module-header button:hover,.notification-list-heading button:hover{background:var(--primary-soft);color:var(--primary)}.notification-focused-view .notification-panel{padding:1.25rem 1.5rem 1.5rem}.notification-list-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.notification-list-heading>div{display:flex;align-items:center;gap:.75rem}.notification-list-heading h2{margin:0;color:var(--text);font-size:1.35rem}.notification-heading-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--primary-soft)}.notification-list-heading button{color:var(--muted);font-size:1.25rem}.notification-list-heading>button{width:auto;height:auto;padding:.5rem .7rem;border:1px solid var(--primary-soft);color:var(--primary);font-size:.75rem;font-weight:800}.notification-list-heading small{color:var(--muted)}.notification-filter-tabs{display:flex;gap:.4rem;margin-top:1rem;padding-bottom:.2rem;overflow-x:auto}.notification-filter-tabs button{padding:.45rem .65rem;border:1px solid var(--primary-soft);border-radius:999px;background:var(--card);color:var(--muted);font-weight:750;white-space:nowrap;cursor:pointer}.notification-filter-tabs button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.feedback-page{display:grid;gap:1.5rem;position:relative;overflow:hidden}.feedback-hero{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem;overflow:hidden;border:1px solid rgba(255,255,255,.18);background:linear-gradient(125deg,var(--brand-violet) 0%,var(--brand-blue) 62%,var(--brand-pink) 145%);color:#fff;border-radius:24px;padding:2rem;box-shadow:0 18px 44px #5b42dc38}.feedback-hero:after{content:"";position:absolute;right:-70px;top:-100px;width:260px;height:260px;border:42px solid rgba(255,255,255,.08);border-radius:50%}.feedback-hero-icon{position:relative;z-index:1;display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#ffffff29;box-shadow:inset 0 0 0 1px #ffffff38;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.feedback-hero-icon svg{width:27px;height:27px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.feedback-hero>div{position:relative;z-index:1}.feedback-hero h2{margin:0;font-size:clamp(1.45rem,2.2vw,2rem)}.feedback-title{margin:0 0 .75rem;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;font-weight:850}.feedback-subtext{margin:.5rem 0 0;max-width:620px;line-height:1.7}.feedback-form{display:grid;gap:1rem}.feedback-label{font-weight:700;color:var(--text)}.feedback-input{width:100%;min-height:170px;padding:1rem;border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-radius:16px;background:color-mix(in srgb,var(--primary-soft) 22%,var(--card));resize:vertical;font-size:1rem;color:var(--text);font-family:inherit;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.feedback-input:focus{border-color:var(--primary);background:var(--card);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}.feedback-input::placeholder{color:var(--muted)}.feedback-error{margin:0;color:#dc2626;font-weight:700}.feedback-actions{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.cancel-button,.save-button{min-width:140px;border:none;border-radius:999px;padding:.95rem 1.4rem;font-weight:700;cursor:pointer}.cancel-button{background:var(--card);color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 25%,transparent)}.save-button{background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;box-shadow:0 9px 22px #5b42dc38}.cancel-button:hover,.save-button:hover{transform:translateY(-1px)}.save-button span{margin-left:.35rem}@media (max-width: 600px){.feedback-hero{grid-template-columns:1fr;padding:1.4rem}.feedback-hero-icon{width:46px;height:46px}.feedback-actions{display:grid;grid-template-columns:1fr 1fr}.cancel-button,.save-button{min-width:0;width:100%}}.wellness-page{display:grid;gap:1.5rem}.wellness-header{display:flex;align-items:center;gap:1rem}.wellness-filter-bar{display:grid;gap:.75rem}.filter-label{font-weight:700;color:#475569}.bus-tracking-page{display:grid;gap:1.5rem}.bus-tracking-header h1{margin:0 0 .35rem}.bus-tracking-header p{margin:0;color:var(--muted)}.bus-tracking-grid{display:grid;gap:1.5rem;grid-template-columns:1fr 1.05fr}.bus-status-panel,.bus-map-panel{display:grid;gap:1.25rem}.bus-status-card,.bus-detail-card,.bus-route-card,.map-legend-card{background:var(--card);border:1px solid rgba(148,163,184,.18);border-radius:28px;padding:1.5rem;box-shadow:0 20px 50px #0f172a14}.bus-status-card{display:flex;justify-content:space-between;align-items:center;gap:1rem}.status-label{display:inline-flex;align-items:center;gap:.35rem;color:#0f766e;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.8rem}.status-copy{margin:.35rem 0 0;color:var(--muted)}.status-meta{text-align:right}.status-meta span{display:block;color:var(--muted)}.status-meta strong{font-size:2rem;display:block;margin-top:.25rem;color:var(--text)}.bus-detail-card{display:grid;gap:1rem}.bus-detail-card h3,.bus-route-card h3,.map-legend-card .legend-title{margin:0 0 .75rem;color:var(--text)}.bus-detail-card p{margin:.25rem 0 0;color:var(--muted)}.bus-stop-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.bus-stop-list li{display:flex;justify-content:space-between;align-items:center;padding:.95rem 1rem;border-radius:18px;background:#0f172a08}.bus-stop-list li.completed{background:#38bdf81f}.stop-name{font-weight:700}.stop-time{color:var(--muted)}.bus-map-frame{min-height:420px;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#dbeafe,#eff6ff);border:1px solid rgba(59,130,246,.22);position:relative}.bus-map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:1fr 1fr 1fr 1fr;padding:2rem;gap:1.75rem}.map-stop{position:relative;padding-left:3.5rem;display:flex;align-items:center;gap:.85rem;color:var(--text);font-weight:700}.map-stop:before{content:"";position:absolute;left:1rem;width:1rem;height:1rem;border-radius:50%;background:#fff;border:3px solid var(--primary)}.map-start:before,.map-end:before{background:#fff}.map-current:before{background:#0ea5e9;border-color:#0ea5e9}.map-stop strong{display:block;font-size:.95rem;font-weight:700;color:var(--text)}.bus-map-overlay:after{content:"";position:absolute;left:1.45rem;top:3.75rem;bottom:3.75rem;width:4px;background:linear-gradient(180deg,#3b82f6cc,#38bdf84d);border-radius:999px}.map-legend-card{padding:1.5rem}.legend-title{margin:0;font-weight:700}.legend-copy{margin:.75rem 0 0;color:var(--muted);line-height:1.75}@media (max-width: 980px){.bus-tracking-grid{grid-template-columns:1fr}}@media (max-width: 600px){.bus-tracking-page{min-width:0;gap:1rem;padding:0 12px 12px;box-sizing:border-box}.bus-tracking-header h1{font-size:1.55rem;line-height:1.2}.bus-tracking-header p{font-size:.82rem;line-height:1.5}.bus-tracking-grid,.bus-status-panel,.bus-map-panel{min-width:0;gap:1rem}.bus-status-card,.bus-detail-card,.bus-route-card,.map-legend-card{min-width:0;padding:1.15rem;border-radius:20px}.bus-status-card{align-items:flex-start}.status-meta strong{font-size:1.55rem}}.filter-chips{display:flex;flex-wrap:wrap;gap:.75rem}.filter-chip{background:#f8fafc;border:1px solid rgba(148,163,184,.25);border-radius:999px;padding:.85rem 1.25rem;cursor:pointer;color:#475569;font-weight:700}.filter-chip.active{background:linear-gradient(135deg,#3b82f6,#10b981);border-color:transparent;color:#fff}.wellness-summary{display:flex;justify-content:space-between;align-items:center;gap:1rem}.wellness-summary-title{margin:0;font-size:1.1rem;font-weight:700}.wellness-summary-count{margin:0;color:#64748b}.wellness-list{display:grid;gap:1rem}.wellness-card{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:start;width:100%;text-align:left;border:1px solid rgba(148,163,184,.18);border-radius:28px;background:var(--card);padding:1.25rem;color:inherit;cursor:pointer}.wellness-card:hover{box-shadow:0 22px 48px #0f172a14}.wellness-card-content h2{margin:.45rem 0 .8rem;font-size:1.05rem}.wellness-card-category{display:inline-flex;padding:.35rem .85rem;border-radius:999px;background:#3b82f61f;color:#1d4ed8;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.wellness-card-content p{margin:.4rem 0 0;color:#475569;line-height:1.6}.wellness-card-date{margin-top:1rem;color:#94a3b8;font-size:.95rem}.wellness-card-arrow{font-size:1.8rem;color:#94a3b8;align-self:center}.wellness-empty-state{padding:2rem;text-align:center;border:1px dashed rgba(148,163,184,.35);border-radius:24px;color:#64748b}.attendance-page{display:grid;gap:1.5rem}.attendance-header{display:flex;align-items:center;gap:1rem}.back-button{border:none;background:transparent;color:var(--text);font-size:1.3rem;cursor:pointer}.attendance-tabs{display:flex;gap:.75rem;margin-bottom:1rem}.attendance-tab{flex:1;background:var(--card);border:1px solid rgba(148,163,184,.2);padding:.95rem 1rem;border-radius:18px;cursor:pointer;font-weight:700}.attendance-tab.active{border-color:transparent;background:linear-gradient(135deg,#6366f1,#ec4899);color:#fff}.attendance-oversight{display:grid;gap:1rem}.attendance-overview-filters{display:flex;align-items:end;gap:.75rem;padding:.8rem;border-radius:12px;background:var(--primary-soft)}.attendance-overview-filters label{display:grid;gap:.3rem;color:var(--muted);font-size:.75rem;font-weight:750}.attendance-overview-filters input,.attendance-overview-filters select{padding:.55rem .65rem;border:1px solid transparent;border-radius:8px;background:var(--card);color:var(--text)}.attendance-overview-filters>span{margin-left:auto;align-self:center;color:var(--muted);font-size:.78rem}.attendance-exam-view,.attendance-class-view{display:grid;gap:1rem}.attendance-summary-card,.attendance-secondary-card,.attendance-month-card,.attendance-summary-list{background:var(--card);border:1px solid rgba(148,163,184,.22);border-radius:28px;padding:1.5rem;box-shadow:0 22px 48px #0f172a0d}.attendance-summary-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.attendance-summary-title{margin:0 0 .5rem;letter-spacing:.1em;text-transform:uppercase;color:#0f172aa6;font-size:.75rem}.attendance-summary-card h2{margin:0;font-size:3rem}.attendance-term-select{border:1px solid rgba(148,163,184,.3);border-radius:18px;padding:.85rem 1rem;color:#475569;cursor:pointer;min-width:120px;text-align:center}.attendance-chart-placeholder{display:flex;justify-content:center;align-items:center;min-height:210px;background:#f8fafc;border-radius:24px;font-size:.95rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.opinion-poll-page{display:grid;gap:1.5rem}.opinion-poll-page h1{margin:0;font-size:clamp(2rem,2.6vw,2.6rem)}.page-description{margin:0;max-width:740px;color:var(--muted);line-height:1.8}.poll-form{display:grid;gap:1.5rem}.poll-question{border:1px solid rgba(148,163,184,.22);border-radius:24px;padding:1.5rem;background:var(--card)}.poll-question legend{font-size:1rem;font-weight:700;margin-bottom:1rem}.poll-options{display:grid;gap:.75rem}.poll-option{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.85rem;border:1px solid rgba(148,163,184,.18);padding:1rem 1.2rem;border-radius:18px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.poll-option:hover,.poll-option input:checked+span{background:#3b82f612}.poll-option input{accent-color:var(--primary)}.poll-submit-button{width:fit-content;border:none;border-radius:999px;background:var(--primary);color:#fff;padding:1rem 1.8rem;font-weight:700;cursor:pointer}.poll-success-card{border:1px solid rgba(16,185,129,.22);background:#10b98114;border-radius:24px;padding:1.5rem}.poll-success-card h3{margin:0 0 .5rem}.poll-success-card p{margin:0;color:var(--muted)}.poll-list{display:grid;gap:1rem}.poll-list-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;text-align:left;padding:1.3rem 1.4rem;border-radius:24px;background:var(--card);border:1px solid rgba(148,163,184,.22);color:var(--text);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.poll-list-card:hover{transform:translateY(-2px);box-shadow:0 20px 50px #0f172a14}.poll-list-card h2{margin:0 0 .3rem;font-size:1.05rem}.poll-list-card p{margin:0;color:var(--muted)}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:84px;padding:.55rem .85rem;border-radius:999px;font-size:.8rem;font-weight:700;color:#fff}.status-badge.active{background:#2563eb}.status-badge.completed{background:#22c55e}.branded-wellness-page{position:relative;overflow:hidden;padding:1.2rem;border:1px solid rgba(128,84,239,.15);border-radius:24px;background:radial-gradient(circle at 100% 0,rgba(37,99,235,.075),transparent 30%),radial-gradient(circle at 0 100%,rgba(236,72,153,.045),transparent 28%),var(--card);box-shadow:0 18px 48px #3e308214}.branded-wellness-page:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange),var(--brand-teal))}.branded-wellness-page .wellness-header{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;padding:1.2rem;border:1px solid rgba(128,84,239,.13);border-radius:19px;background:linear-gradient(115deg,#8054ef21,#2563eb12 60%,#ec489913)}.branded-wellness-page .wellness-header .back-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(128,84,239,.18);border-radius:13px;background:var(--card);color:var(--primary);font-size:1.2rem;cursor:pointer}.branded-wellness-page .wellness-header>div:nth-child(2){display:grid;gap:.1rem}.branded-wellness-page .wellness-header p,.branded-wellness-page .wellness-header h1{margin:0}.branded-wellness-page .wellness-header p{color:var(--brand-violet);font-size:.66rem;font-weight:900;letter-spacing:.11em}.branded-wellness-page .wellness-header h1{color:var(--brand-navy);font-size:1.9rem}.branded-wellness-page .wellness-header>div:nth-child(2)>span{color:var(--muted);font-size:.82rem}.wellness-brand-dots{display:flex!important;align-items:center;gap:.4rem}.wellness-brand-dots i{width:10px;height:10px;border-radius:50%;background:var(--brand-violet)}.wellness-brand-dots i:nth-child(2){background:var(--brand-teal)}.wellness-brand-dots i:nth-child(3){background:var(--brand-orange)}.wellness-brand-dots i:nth-child(4){background:var(--brand-blue)}.branded-wellness-page .wellness-filter-bar{padding:.9rem 1rem;border:1px solid rgba(128,84,239,.1);border-radius:16px;background:#8054ef09}.branded-wellness-page .filter-chip{padding:.65rem .9rem;background:var(--card);border-color:#8054ef29;color:var(--muted)}.branded-wellness-page .filter-chip:hover{border-color:var(--primary);color:var(--primary)}.branded-wellness-page .filter-chip.active{background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));box-shadow:0 8px 19px #5b42dc2e}.wellness-summary>div{display:grid}.wellness-summary small{color:var(--muted)}.branded-wellness-page .wellness-card{position:relative;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;overflow:hidden;padding:1rem 1.1rem;border-color:#8054ef21;border-radius:18px;background:linear-gradient(120deg,var(--card),rgba(128,84,239,.03),rgba(37,99,235,.02));transition:transform .18s,border-color .18s,box-shadow .18s}.branded-wellness-page .wellness-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--brand-violet),var(--brand-blue))}.branded-wellness-page .wellness-card.wellness-soft-skills:before{background:linear-gradient(180deg,var(--brand-blue),var(--brand-teal))}.branded-wellness-page .wellness-card.wellness-wellness-corner:before{background:linear-gradient(180deg,var(--brand-pink),var(--brand-orange))}.branded-wellness-page .wellness-card:hover{transform:translateY(-2px);border-color:#8054ef61;box-shadow:0 16px 38px #5b42dc1c}.wellness-card-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:linear-gradient(135deg,#8054ef26,#2563eb1a);color:var(--brand-violet);font-size:1.55rem;font-weight:900}.wellness-soft-skills .wellness-card-icon{background:#14b8a61c;color:var(--brand-teal)}.wellness-wellness-corner .wellness-card-icon{background:#ec48991a;color:var(--brand-pink)}.wellness-card-topline{display:flex;align-items:center;gap:.55rem}.wellness-latest-badge{padding:.24rem .5rem;border-radius:999px;background:#ecfdf5;color:#047857;font-size:.6rem;font-weight:900;text-transform:uppercase}.branded-wellness-page .wellness-card-category{background:var(--primary-soft);color:var(--primary);font-size:.65rem}.branded-wellness-page .wellness-card-content h2{margin:.35rem 0 .25rem;color:var(--brand-navy)}.branded-wellness-page .wellness-card-content>p:not(.wellness-card-date){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.branded-wellness-page .wellness-card-date{margin-top:.45rem;font-size:.78rem}.branded-wellness-page .wellness-card-arrow{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:1rem;font-weight:900}.wellness-detail-page{position:relative;display:grid;gap:1.1rem;overflow:hidden;border:1px solid rgba(128,84,239,.15)}.wellness-detail-page:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange),var(--brand-teal))}.wellness-detail-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--primary-soft)}.wellness-detail-header>button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--primary-soft);border-radius:13px;background:var(--card);color:var(--primary);font-size:1.25rem;cursor:pointer}.wellness-detail-header p,.wellness-detail-header h2{margin:0}.wellness-detail-header p{color:var(--primary);font-size:.65rem;font-weight:900;letter-spacing:.1em}.wellness-detail-header h2{margin-top:.15rem}.wellness-detail-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-size:1.5rem}.wellness-detail-hero{padding:clamp(1.25rem,3vw,2.2rem);border-radius:22px;background:linear-gradient(125deg,var(--brand-violet),var(--brand-blue) 65%,var(--brand-pink) 140%);color:#fff}.wellness-detail-hero>span{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.wellness-detail-hero h1{margin:.35rem 0;font-size:clamp(1.6rem,3vw,2.35rem)}.wellness-detail-hero p{margin:0;color:#ffffffdb}.wellness-detail-content{display:grid;gap:.9rem}.wellness-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border:1px solid var(--primary-soft);border-radius:15px;background:var(--primary-soft)}.wellness-detail-meta>span{display:grid;gap:.2rem;padding:.9rem;background:var(--card)}.wellness-detail-meta small{color:var(--muted);font-size:.65rem;font-weight:850;text-transform:uppercase}.wellness-detail-label{margin:.3rem 0 0;color:var(--primary);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.wellness-detail-description{margin:0;color:var(--text);font-size:1rem;line-height:1.8;white-space:pre-wrap}.wellness-detail-note{display:flex;align-items:center;gap:.8rem;padding:1rem;border-radius:16px;background:linear-gradient(120deg,#8054ef1a,#2563eb0e)}.wellness-detail-note>span{color:#f5b51b;font-size:1.7rem}.wellness-detail-note p{margin:.15rem 0 0;color:var(--muted)}@media (max-width:640px){.branded-wellness-page{padding:.75rem}.branded-wellness-page .wellness-header{grid-template-columns:auto 1fr;padding:.9rem}.wellness-brand-dots,.branded-wellness-page .wellness-header>div:nth-child(2)>span{display:none!important}.branded-wellness-page .wellness-card{grid-template-columns:auto 1fr auto;padding:.8rem}.wellness-card-icon{width:42px;height:42px}.branded-wellness-page .wellness-card-content>p:not(.wellness-card-date){display:none}.wellness-detail-header h2{font-size:1rem}.wellness-detail-icon{display:none}.wellness-detail-meta{grid-template-columns:1fr}}.opinion-poll-page{position:relative;display:grid;gap:1rem;overflow:hidden;padding:1.25rem;border:1px solid rgba(128,84,239,.15);border-radius:24px;background:radial-gradient(circle at 100% 0,rgba(37,99,235,.08),transparent 30%),radial-gradient(circle at 0 100%,rgba(236,72,153,.05),transparent 30%),var(--card);box-shadow:0 18px 48px #3e308214}.opinion-poll-page:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange),var(--brand-teal))}.opinion-poll-header{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.35rem;border:1px solid rgba(128,84,239,.13);border-radius:20px;background:linear-gradient(115deg,#8054ef21,#2563eb12 60%,#ec489914)}.opinion-poll-header .back-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(128,84,239,.18);border-radius:13px;background:var(--card);color:var(--brand-violet);font-size:1.25rem;cursor:pointer}.opinion-poll-header>div:nth-child(2){display:grid;gap:.12rem}.opinion-poll-header .page-tag{margin:0;color:var(--brand-violet);font-size:.68rem;font-weight:900;letter-spacing:.12em}.opinion-poll-header h1{color:var(--brand-navy);font-size:clamp(1.55rem,2.6vw,2.25rem)}.opinion-poll-header>div:nth-child(2)>span{color:var(--muted);font-size:.86rem}.opinion-poll-brand-icon{position:relative;display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));box-shadow:0 11px 28px #5b42dc3b}.opinion-poll-brand-icon svg{width:31px;height:31px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.opinion-poll-brand-icon i{position:absolute;right:5px;top:3px;color:#fbbf24;font-style:normal}.poll-list{gap:.8rem}.poll-list-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;overflow:hidden;gap:1rem;padding:1rem 1.1rem;border:1px solid rgba(128,84,239,.13);border-radius:18px;background:linear-gradient(120deg,var(--card),rgba(128,84,239,.035),rgba(37,99,235,.025));box-shadow:0 8px 24px #261f4d0b}.poll-list-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--brand-violet),var(--brand-blue))}.poll-list-card.completed-poll:before{background:linear-gradient(180deg,var(--brand-teal),#22c55e)}.poll-list-card:hover{border-color:#8054ef5c;box-shadow:0 16px 38px #5b42dc1f}.poll-card-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#8054ef24,#2563eb1a);color:var(--brand-violet)}.completed-poll .poll-card-icon{background:#ecfdf5;color:#059669}.poll-card-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.poll-card-copy{display:grid;gap:.12rem}.poll-card-copy>span{color:var(--brand-violet);font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.completed-poll .poll-card-copy>span{color:#059669}.poll-list-card h2{margin:0;color:var(--brand-navy);font-size:1rem}.poll-list-card p{font-size:.82rem}.poll-card-arrow{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-weight:900}.status-badge{min-width:90px;padding:.42rem .7rem}.status-badge.active{background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff!important}.status-badge.completed{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.poll-detail-intro{display:flex;align-items:center;gap:.65rem;padding:.8rem 1rem;border:1px solid rgba(128,84,239,.13);border-radius:14px;background:linear-gradient(100deg,#8054ef14,#2563eb0a)}.poll-detail-intro>span{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:900}.poll-detail-intro .page-description{line-height:1.5}.poll-question{border-color:#8054ef26;border-radius:18px;background:linear-gradient(135deg,var(--card),rgba(128,84,239,.025))}.poll-question legend{color:var(--brand-navy)}.poll-option{border-color:#8054ef21;border-radius:13px;background:var(--card)}.poll-option:hover{border-color:#8054ef66;background:var(--primary-soft)}.poll-submit-button{background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));box-shadow:0 9px 22px #5b42dc38}@media (max-width:640px){.opinion-poll-page{padding:.75rem;border-radius:18px}.opinion-poll-header{grid-template-columns:auto 1fr;padding:1rem}.opinion-poll-brand-icon{display:none}.opinion-poll-header>div:nth-child(2)>span{display:none}.poll-list-card{grid-template-columns:auto 1fr auto;gap:.7rem;padding:.8rem}.poll-list-card .status-badge{grid-column:2;width:max-content;min-width:0}.poll-card-arrow{grid-column:3;grid-row:1/3}.poll-card-icon{width:42px;height:42px}.poll-list-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.poll-question{padding:1rem}.poll-submit-button{width:100%}}.poll-empty-state{display:grid;justify-items:center;padding:3rem 1rem;border:1px dashed rgba(128,84,239,.25);border-radius:18px;background:linear-gradient(120deg,#8054ef0e,#2563eb09);color:var(--muted);text-align:center}.poll-empty-state>span{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-size:1.5rem}.poll-empty-state h2,.poll-empty-state p{margin:.35rem 0 0}.poll-empty-state h2{color:var(--brand-navy)}.attendance-status-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.attendance-status-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:22px;background:#f8fafc}.status-dot{width:.75rem;height:.75rem;border-radius:999px;display:inline-block;margin-right:.5rem}.status-dot.present{background:#16a34a}.status-dot.absent{background:#f97316}.status-dot.holiday{background:#22c55e}.attendance-details-button{width:100%;border:1px solid #fb7185;background:transparent;color:#fb7185;border-radius:18px;padding:.95rem 1rem;font-weight:700;cursor:pointer}.attendance-secondary-card h3{margin:0 0 .75rem}.attendance-secondary-card p{color:#64748b}.attendance-month-labels h2{margin:0}.attendance-calendar-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.attendance-calendar-title>div{display:grid;gap:.2rem}.attendance-calendar-title .admin-eyebrow{margin:0}.attendance-calendar-title>div>span{color:var(--muted);font-size:.78rem;font-weight:700}.attendance-calendar-title>button{padding:.58rem .78rem;border:1px solid var(--primary-soft);border-radius:10px;background:var(--card);color:var(--primary);font-size:.76rem;font-weight:800;cursor:pointer}.attendance-month-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1.5rem}.attendance-month-picker button{position:relative;display:flex;align-items:baseline;justify-content:center;gap:.4rem;border:1px solid rgba(148,163,184,.25);border-radius:18px;padding:.9rem 1rem;background:var(--card);text-align:center;color:#475569;cursor:pointer}.attendance-month-picker button strong{font-size:1rem}.attendance-month-picker button span{font-size:.78rem;font-weight:700}.attendance-month-picker button small{position:absolute;top:-8px;right:10px;padding:.15rem .38rem;border-radius:999px;background:#14b8a6;color:#fff;font-size:.55rem;font-weight:900;text-transform:uppercase}.attendance-month-picker .selected-month{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.attendance-calendar{display:grid;gap:.5rem}.calendar-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem}.calendar-headings span{color:#94a3b8;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.calendar-day{position:relative;min-height:48px;border-radius:16px;display:grid;place-items:center;background:#f8fafc;color:#334155}.calendar-day.outside-month{opacity:.35;background:color-mix(in srgb,var(--background) 55%,var(--card))}.calendar-day.today{outline:3px solid var(--primary);outline-offset:-3px;color:var(--primary);font-weight:900}.calendar-day.today small{position:absolute;right:5px;bottom:4px;color:var(--primary);font-size:.5rem;font-weight:900;text-transform:uppercase}.calendar-day.present{background:#d1fae5}.calendar-day.absent{background:#fee2e2}.calendar-day.holiday{background:#e0f2fe}.calendar-day.selected{background:#3b82f6;color:#fff}.attendance-calendar-legend{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--primary-soft)}.attendance-calendar-legend span{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.7rem;font-weight:750}.attendance-calendar-legend i{width:11px;height:11px;border-radius:4px;background:#f8fafc}.attendance-calendar-legend i.present{background:#d1fae5}.attendance-calendar-legend i.absent{background:#fee2e2}.attendance-calendar-legend i.holiday{background:#e0f2fe}.attendance-calendar-legend i.not-updated{background:#f8fafc;border:1px solid #dce3ec}.attendance-calendar-legend i.today{background:#fff;border:2px solid var(--primary)}@media (max-width: 600px){.attendance-calendar-title{align-items:flex-start;flex-direction:column}.attendance-month-picker{gap:.35rem}.attendance-month-picker button{display:grid;gap:0;padding:.65rem .25rem;border-radius:12px}.attendance-month-picker button small{display:none}.calendar-row{gap:.25rem}.calendar-day{min-height:42px;border-radius:11px}.calendar-day.today small{display:none}}.attendance-summary-list{display:grid;gap:1rem}.attendance-summary-item{display:flex;justify-content:space-between;align-items:center}.attendance-summary-status-grid{display:grid;gap:.75rem}.attendance-summary-badge{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:22px;background:#f8fafc}.attendance-summary-badge span{width:12px;height:12px;border-radius:999px;display:inline-block}.attendance-summary-badge.present span{background:#16a34a}.attendance-summary-badge.absent span{background:#f97316}.attendance-summary-badge.muted span{background:#fbbf24}.attendance-summary-badge.holiday span{background:#3b82f6}.events-page{display:grid;gap:1.5rem}.events-header,.events-detail-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.events-header h1,.events-detail-header h1{margin:0}.event-count{color:#64748b;margin-top:.35rem}.events-filter-button{border:1px solid rgba(148,163,184,.25);background:#fff;border-radius:18px;padding:.9rem 1rem;cursor:pointer;font-size:1rem}.events-list{display:grid;gap:1rem}.event-card{display:grid;grid-template-columns:110px minmax(0,1fr) 24px;gap:1rem;align-items:center;padding:1rem;background:var(--card);border:1px solid rgba(148,163,184,.2);border-radius:24px;text-align:left;color:inherit;cursor:pointer}.event-card-image{width:110px;height:90px;overflow:hidden;border-radius:20px}.event-card-image img{width:100%;height:100%;object-fit:cover}.event-card-body h2{margin:0;font-size:1rem}.event-card-subtitle,.event-card-meta,.event-meta{margin:.35rem 0 0;color:#64748b;font-size:.95rem}.event-card-action{font-size:1.5rem;color:#94a3b8}.event-detail-description{padding:1.25rem 1.5rem;background:var(--card);border:1px solid rgba(148,163,184,.2);border-radius:24px;color:#475569}.event-gallery-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.event-gallery-card{border-radius:24px;overflow:hidden;min-height:170px;background:#f8fafc}.event-gallery-card img{width:100%;height:100%;object-fit:cover}@media (max-width: 600px){.events-page{min-width:0;gap:1rem;padding:0 12px 12px;box-sizing:border-box}.events-header{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:start;gap:.75rem}.events-header>div{min-width:0}.events-header h1{font-size:1.45rem;line-height:1.2;overflow-wrap:anywhere}.event-count{margin:.3rem 0 0;font-size:.78rem}.events-filter-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:14px}.events-list{min-width:0;gap:.75rem}.event-card{grid-template-columns:92px minmax(0,1fr) 16px;min-width:0;gap:.75rem;padding:.8rem;border-radius:18px}.event-card-image{width:92px;height:84px;border-radius:15px}.event-card-body{min-width:0}.event-card-body h2{font-size:.88rem;line-height:1.35;overflow-wrap:anywhere}.event-card-subtitle,.event-card-meta{font-size:.76rem;line-height:1.45;overflow-wrap:anywhere}.event-card-action{justify-self:end;font-size:1.15rem}.events-detail-header{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:.7rem}.events-detail-header>div{min-width:0}.events-detail-header h1{font-size:1.3rem;line-height:1.25;overflow-wrap:anywhere}.event-detail-description{min-width:0;padding:1rem;border-radius:16px;overflow-wrap:anywhere}.event-gallery-grid{grid-template-columns:1fr}.event-gallery-card{min-height:190px;border-radius:16px}}@media (max-width: 380px){.event-card{grid-template-columns:78px minmax(0,1fr) 14px;gap:.6rem;padding:.7rem}.event-card-image{width:78px;height:76px;border-radius:13px}}.feedback-success{background:var(--panel);border-radius:24px;padding:1.75rem}.feedback-success h3{margin:0 0 .75rem}.feedback-success p{margin:0 0 1rem;color:var(--text)}.settings-page{display:grid;gap:1.5rem}.settings-header{display:grid;gap:.75rem}.settings-label{margin:0;color:var(--primary);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase}.settings-page h2{margin:0}.settings-subtitle{margin:.5rem 0 0;color:var(--muted);line-height:1.6}.settings-theme-list{display:grid;gap:.85rem}.settings-theme-item{display:flex;align-items:center;gap:.85rem;background:var(--panel);padding:.9rem 1rem;border-radius:18px;border:1px solid rgba(148,163,184,.22);cursor:pointer;color:var(--text);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.rate-app-page{display:grid;gap:1.25rem;overflow:hidden;padding:0;border:1px solid color-mix(in srgb,var(--brand-violet) 16%,transparent)}.rate-app-brandbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.4rem;border-bottom:1px solid var(--primary-soft);background:color-mix(in srgb,var(--card) 94%,var(--brand-violet))}.rate-school-brand{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;min-width:0;text-align:right}.rate-school-brand img{width:44px;height:44px;flex:0 0 44px;object-fit:contain;border-radius:12px;background:#fff}.rate-school-brand span{display:grid;min-width:0}.rate-school-brand small{color:var(--primary);font-size:.68rem;font-weight:800;text-transform:uppercase}.rate-school-brand strong{max-width:260px;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.rate-app-hero{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;overflow:hidden;margin:0 1.4rem;padding:clamp(1.5rem,4vw,2.6rem);border-radius:24px;background:linear-gradient(125deg,var(--brand-violet),var(--brand-blue) 65%,var(--brand-pink) 140%);color:#fff;box-shadow:0 18px 42px #4c46d233}.rate-app-hero:before{content:"";position:absolute;width:250px;height:250px;right:-75px;bottom:-150px;border:36px solid rgba(255,255,255,.08);border-radius:50%}.rate-app-hero-copy{position:relative;z-index:1}.rate-eyebrow{font-size:.73rem;font-weight:900;letter-spacing:.15em}.rate-app-hero h1{max-width:650px;margin:.45rem 0 .35rem;font-size:clamp(1.55rem,3vw,2.45rem);line-height:1.1}.rate-app-hero p{max-width:680px;margin:0;color:#ffffffe0;line-height:1.55}.rate-hero-mark{position:relative;display:grid;place-items:center;width:92px;height:92px;border:1px solid rgba(255,255,255,.25);border-radius:28px;background:#ffffff26;transform:rotate(5deg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.rate-hero-mark span{color:#fbbf24;font-size:3.4rem;line-height:1;filter:drop-shadow(0 5px 8px rgba(30,41,59,.2))}.rate-hero-mark i{position:absolute;right:8px;top:5px;color:#67e8f9;font-style:normal}.rate-app-form{display:grid;gap:1rem;padding:0 1.4rem 1.4rem}.rate-question{padding:1.15rem;border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);border-radius:18px;background:color-mix(in srgb,var(--primary-soft) 18%,var(--card))}.rate-question h2{margin:.45rem 0 1rem;font-size:1.15rem}.rate-step{display:flex;align-items:center;gap:.5rem;margin:0;color:var(--text);font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.rate-step>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff}.rate-step small{color:var(--muted);font-size:.65rem;font-weight:700;text-transform:none}.app-star-rating{display:flex;gap:clamp(.2rem,1vw,.65rem)}.app-star-rating button{padding:.1rem;border:0;background:transparent;color:#d9dceb;font-size:clamp(2.5rem,6vw,4rem);line-height:1;cursor:pointer;transition:color .15s,transform .15s,filter .15s}.app-star-rating button:hover,.app-star-rating button.selected{color:#fbbf24;transform:translateY(-3px) scale(1.04);filter:drop-shadow(0 6px 8px rgba(245,158,11,.2))}.rating-description{display:block;min-height:1.3em;margin-top:.45rem;color:var(--primary)}.rating-categories{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}.rating-categories button{padding:.65rem .85rem;border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:999px;background:var(--card);color:var(--muted);font-weight:750;cursor:pointer}.rating-categories button:hover,.rating-categories button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.rate-question textarea{width:100%;margin-top:.9rem;padding:.9rem;resize:vertical;border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:14px;background:var(--card);color:var(--text);font:inherit;line-height:1.5;outline:0}.rate-question textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 12%,transparent)}.rating-form-meta,.rate-app-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.rating-form-meta{margin-top:.65rem}.rating-form-meta small{color:var(--muted)}.anonymous-choice{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.78rem;font-weight:700;cursor:pointer}.anonymous-choice input{width:17px;height:17px;accent-color:var(--primary)}.app-rating-success{margin:0;padding:.8rem 1rem;border-radius:12px;background:#ecfdf5;color:#166534;font-weight:750}.rate-app-actions p{margin:0;color:var(--muted);font-size:.75rem}.rate-app-actions p span{color:var(--brand-teal)}.rate-app-actions button{padding:.85rem 1.2rem;border:0;border-radius:999px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:850;cursor:pointer;box-shadow:0 9px 22px #5b42dc33}.rate-app-actions button:hover{transform:translateY(-1px)}.rate-app-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 640px){.rate-app-brandbar{align-items:flex-start;padding:1rem}.rate-app-brandbar .tconnect-wordmark small,.rate-school-brand small{display:none}.rate-school-brand strong{max-width:130px;font-size:.76rem}.rate-app-hero{grid-template-columns:1fr;margin:0 1rem;padding:1.35rem}.rate-hero-mark{display:none}.rate-app-form{padding:0 1rem 1rem}.rate-app-actions{align-items:stretch;flex-direction:column}.rate-app-actions button{width:100%}}.settings-theme-item:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--card));box-shadow:inset 4px 0 0 var(--primary),0 6px 18px color-mix(in srgb,var(--primary) 10%,transparent)}.settings-language-list{display:grid;gap:.6rem}.settings-language-item{display:flex;align-items:center;gap:.85rem;background:var(--panel);padding:.75rem 1rem;border-radius:12px;border:1px solid rgba(148,163,184,.12);cursor:pointer}.settings-language-item input{accent-color:var(--primary)}.settings-language-popover{position:relative}.settings-language-dropdown{position:absolute;z-index:30;top:calc(100% + .55rem);right:.75rem;display:grid;gap:.35rem;width:min(320px,calc(100% - 1.5rem));padding:.5rem;border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-radius:16px;background:var(--card);box-shadow:0 18px 48px #0f172a2e}.settings-language-option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;border-radius:12px;background:transparent;border:1px solid rgba(148,163,184,.08);color:var(--text);cursor:pointer}.settings-language-option.active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--card))}.settings-theme-item input{width:1rem;height:1rem;flex:0 0 auto;accent-color:var(--primary)}.student-roster-identity{display:flex;align-items:center;gap:.6rem;min-width:180px}.student-roster-photo{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-size:.7rem;font-weight:900}.student-roster-photo img{width:auto;max-width:100%;height:100%;object-fit:contain;background:#fff}.student-photo-upload{display:inline-flex;padding:.42rem .65rem;border:1px solid var(--primary);border-radius:999px;color:var(--primary);background:var(--card);font-size:.72rem;font-weight:800;cursor:pointer;white-space:nowrap}.student-photo-upload input{display:none}.student-photo-message{margin:.5rem 0;color:var(--primary);font-size:.82rem;font-weight:700}.password-settings-section{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;padding:1.5rem;overflow:hidden;position:relative;border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 8%,var(--panel)),var(--panel) 55%)}.password-brand-icon{display:grid;place-items:center;width:48px;height:48px;grid-row:span 2;border-radius:15px;background:var(--primary);color:#fff;font-size:1.35rem;box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 28%,transparent)}.password-settings-copy p{margin:.4rem 0 0;color:var(--muted);line-height:1.5}.password-form{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:1rem;margin-top:1.15rem}.password-form label{display:grid;gap:.45rem;min-width:0;color:var(--text);font-size:.82rem;font-weight:700}.password-form input{width:100%;min-width:0;box-sizing:border-box;padding:.82rem .95rem;border:1px solid rgba(148,163,184,.35);border-radius:12px;background:var(--card);color:var(--text);font:inherit;outline:none}.password-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.password-submit{min-height:45px;padding:.75rem 1.25rem;border:0;border-radius:12px;background:var(--primary);color:#fff;font-weight:800;cursor:pointer;white-space:nowrap}.password-settings-section .editor-message{grid-column:1 / -1;margin:.75rem 0 0}.settings-item-value,.language-check{margin-left:auto;color:var(--muted);font-weight:700}@media (max-width: 900px){.password-form{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.password-settings-section{padding:1.1rem}.password-form{grid-template-columns:1fr}.password-submit{width:100%}}.theme-label{color:var(--text);font-weight:700}.settings-list{display:grid;gap:.75rem}.settings-list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1rem 1.25rem;border-radius:18px;background:var(--panel);border:1px solid rgba(148,163,184,.18);color:var(--text);font-size:1rem;cursor:pointer}.settings-item-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:color-mix(in srgb,var(--primary) 11%,var(--card));color:var(--primary)}.settings-item-icon svg,.settings-dialog-icon svg,.settings-address-card>svg,.settings-help-grid svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.settings-color-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.85rem}.settings-color-swatch{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem 1rem;border-radius:18px;border:1px solid transparent;cursor:pointer;font-weight:700;color:#fff;min-height:58px}.settings-color-swatch span{text-transform:capitalize}.settings-color-swatch.purple{background:linear-gradient(135deg,#8b5cf6,#ec4899)}.settings-color-swatch.teal{background:linear-gradient(135deg,#14b8a6,#0ea5e9)}.settings-color-swatch.orange{background:linear-gradient(135deg,#f97316,#f59e0b)}.settings-color-swatch.blue{background:linear-gradient(135deg,#2563eb,#3b82f6)}.settings-color-swatch.active{border-color:#fff;box-shadow:0 0 0 3px #ffffff40}.settings-item-arrow{color:var(--muted)}.settings-brand{background:var(--panel);border-radius:24px;padding:1.5rem;text-align:center}.settings-brand-badge{display:inline-flex;padding:.55rem 1rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-weight:700;margin-bottom:.75rem}.settings-brand p{margin:0;color:var(--muted)}.spotlight-page{display:grid;gap:1.5rem}.spotlight-header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.spotlight-label{margin:0 0 .5rem;color:var(--primary);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.spotlight-subtext{margin:.5rem 0 0;color:var(--muted)}.spotlight-list{display:grid;gap:1rem}.spotlight-card{background:var(--card);border:1px solid rgba(148,163,184,.18);border-radius:24px;padding:1.35rem 1.5rem;box-shadow:0 18px 32px #0f172a14}.spotlight-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.95rem}.spotlight-card-badge{display:inline-flex;padding:.45rem .85rem;border-radius:999px;color:#fff;background:var(--primary);font-size:.8rem;font-weight:700}.spotlight-card h3{margin:0 0 .5rem}.spotlight-card p{margin:0;color:var(--text)}.spotlight-footer{display:flex;justify-content:flex-end}.continue-button{background:var(--primary);color:#fff;border:none;padding:.95rem 1.6rem;border-radius:999px;font-weight:700;cursor:pointer}.notification-list{display:grid;gap:1rem;margin-top:1rem}.notification-card{border-radius:22px;background:var(--card);padding:1.25rem 1.5rem;box-shadow:0 16px 36px #0f172a14;border:1px solid rgba(148,163,184,.14)}.notification-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem}.notification-title{font-weight:700;color:var(--primary)}.notification-badge{background:#10b981;color:#fff;padding:.35rem .75rem;border-radius:999px;font-size:.75rem;letter-spacing:.04em}.notification-body{margin:0;color:var(--text);line-height:1.6}.notification-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;color:#64748b;font-size:.92rem}.notification-more{border:0;padding:.15rem .25rem;background:transparent;color:#94a3b8;font-weight:900;letter-spacing:.08em;cursor:pointer}@media (max-width: 720px){.home-brand-identity{grid-template-columns:1fr;gap:.8rem;padding:.85rem}.school-banner-actions{justify-content:space-between;width:100%}.home-school-brand{align-items:flex-start}.home-school-brand .global-curriculum-chip{width:100%;border-radius:8px;overflow:visible;overflow-wrap:break-word;text-overflow:clip;white-space:normal}.home-app-brand{padding:.75rem 0 0;border-top:1px solid color-mix(in srgb,var(--muted) 20%,transparent);border-left:0}.home-school-brand>img,.home-school-brand>span{width:52px;height:52px;flex-basis:52px;border-radius:13px}.home-app-brand .tconnect-mark{width:42px;height:42px}.home-app-brand .tconnect-wordmark strong{font-size:1rem}.notification-page{width:100%;padding:0}.notification-focused-view{min-height:100vh;border:0;border-radius:0;box-shadow:none}.notification-page-header,.focused-module-header{position:sticky;top:0;z-index:5;min-height:58px;padding:.45rem .75rem}.focused-module-header{width:100%;margin:0 0 .6rem;border-width:0 0 1px;border-radius:0}.focused-module-header{grid-template-columns:44px 1fr 44px}.focused-school-brand strong{display:none}.notification-page-header h1,.focused-module-header h1{font-size:1.25rem}.notification-focused-view .notification-panel{padding:1rem .75rem 1.5rem}.notification-list-heading{padding:.15rem .2rem .4rem}.notification-list-heading h2{font-size:1.15rem}.notification-heading-icon{display:none}.notification-list{gap:.75rem;margin-top:.6rem}.notification-card{padding:1rem;border-radius:16px;box-shadow:0 8px 22px #0f172a0f}.notification-header{margin-bottom:.45rem}.notification-body{line-height:1.45}.notification-footer{gap:.5rem;margin-top:.7rem;font-size:.78rem}}.notification-card.notification-link{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 32px;align-items:center;gap:.8rem;color:inherit;text-align:left;cursor:pointer}.notification-card.notification-link.read{opacity:.72;box-shadow:none}.notification-card.notification-link.unread{border-left:4px solid var(--primary)}.notification-card.notification-link.urgent{border-left-color:#f97316}.notification-category-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--primary-soft);font-size:1.15rem}.notification-card-copy{display:grid;gap:.28rem;min-width:0}.notification-card-copy .notification-header{justify-content:flex-start;margin:0}.notification-card-copy .notification-body{display:block}.notification-card-copy .notification-date{color:var(--muted);font-size:.72rem}.notification-priority{padding:.22rem .42rem;border-radius:999px;background:#ffedd5;color:#c2410c;font-size:.62rem;font-weight:850}.notification-go{color:var(--primary);font-size:1.2rem}.settings-brand .tconnect-brand{justify-content:center}.settings-brand .tconnect-wordmark strong span{color:#172033}.appearance-dark .settings-brand .tconnect-wordmark strong span{color:#e5edff}.settings-brand .tconnect-wordmark small{color:#64748b}.settings-brand .tconnect-brand+p{margin-top:.8rem}.settings-dialog-backdrop{position:fixed;z-index:250;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1rem;background:#0a102094;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.settings-dialog{width:min(560px,100%);max-height:min(720px,calc(100vh - 2rem));overflow-y:auto;border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-radius:22px;background:var(--card);color:var(--text);box-shadow:0 30px 90px #03071252}.settings-dialog>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:1.1rem 1.2rem;border-bottom:1px solid var(--primary-soft);background:linear-gradient(115deg,color-mix(in srgb,var(--primary-soft) 68%,var(--card)),var(--card))}.settings-dialog>header p,.settings-dialog>header h2{margin:0}.settings-dialog>header p{color:var(--primary);font-size:.68rem;font-weight:850;letter-spacing:.09em}.settings-dialog>header h2{font-size:1.25rem}.settings-dialog>header>button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:var(--primary-soft);color:var(--text);font-size:1.4rem;cursor:pointer}.settings-dialog-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff}.settings-dialog-content{display:grid;gap:1rem;padding:1.2rem}.settings-dialog-content>p{margin:0;color:var(--muted);line-height:1.55}.notification-preference-list{display:grid;gap:.55rem}.notification-preference-list label{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .85rem;border:1px solid var(--primary-soft);border-radius:12px;background:var(--background);cursor:pointer}.notification-preference-list label>span{display:grid;gap:.15rem}.notification-preference-list small{color:var(--muted)}.notification-preference-list input{width:19px;height:19px;accent-color:var(--primary)}.settings-dialog-primary{justify-self:end;padding:.68rem .9rem;border:0;border-radius:10px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:800;cursor:pointer}.settings-address-card{display:grid;grid-template-columns:auto 1fr;gap:.8rem;padding:1rem;border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);border-radius:14px;background:var(--background);color:var(--primary)}.settings-address-card>div{display:grid;gap:.18rem}.settings-address-card small{color:var(--muted);font-weight:750;text-transform:uppercase}.settings-address-card strong,.settings-address-card span{color:var(--text)}.settings-address-card span{line-height:1.5}.settings-policy-copy h3{margin:.15rem 0 0}.settings-policy-copy ul{display:grid;gap:.55rem;margin:0;padding-left:1.2rem;color:var(--text);line-height:1.45}.settings-dialog:has(.legal-information){width:min(760px,100%)}.legal-information{gap:.8rem}.legal-information .legal-introduction{padding:.9rem 1rem;border-left:4px solid var(--primary);border-radius:0 12px 12px 0;background:color-mix(in srgb,var(--primary-soft) 55%,var(--card))}.legal-information .legal-introduction strong{color:var(--text);font-size:1.02rem}.legal-information .legal-introduction p{margin:.3rem 0 0;color:var(--muted);line-height:1.55}.legal-information section{padding:.8rem .9rem;border:1px solid color-mix(in srgb,var(--primary) 12%,transparent);border-radius:12px;background:color-mix(in srgb,var(--background) 62%,var(--card))}.legal-information section h3{margin:0 0 .35rem;color:var(--text);font-size:.92rem}.legal-information section p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.55}.legal-information section ul{gap:.35rem;color:var(--muted);font-size:.86rem}.legal-information a{color:var(--primary);font-weight:750}.legal-footer{display:grid;gap:.25rem;padding-top:.8rem;border-top:1px solid var(--primary-soft);color:var(--text)}.legal-footer small{color:var(--muted);line-height:1.45}.contact-page{display:grid;gap:1rem}.contact-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:linear-gradient(120deg,color-mix(in srgb,var(--primary-soft) 72%,var(--card)),var(--card))}.contact-hero h2,.contact-hero p{margin:0}.contact-hero p:last-child{margin-top:.25rem;color:var(--muted)}.contact-hero>span{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-size:1.4rem}.contact-channel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.contact-channel{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;margin:0;color:var(--text);text-decoration:none}.contact-channel>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--primary-soft);color:var(--primary);font-weight:900}.contact-channel>div{display:grid;gap:.12rem;min-width:0}.contact-channel small{color:var(--muted);font-weight:800;text-transform:uppercase}.contact-channel strong{overflow-wrap:anywhere}.contact-channel p{margin:.12rem 0 0;color:var(--muted);font-size:.76rem;line-height:1.4}.contact-channel.emergency{border-color:#fecaca;background:color-mix(in srgb,#fff1f2 55%,var(--card))}.contact-channel.emergency>span{background:#fee2e2;color:#b91c1c}.contact-safety-note{margin:0;padding:.75rem .9rem;border:1px solid #fed7aa;border-radius:12px;background:#fff7ed;color:#9a3412;line-height:1.45}.contact-enquiry-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1rem}.contact-enquiry-form{display:grid;gap:1rem}.contact-enquiry-form header h2,.contact-enquiry-form header p{margin:0}.contact-enquiry-form header p:last-child{margin-top:.2rem;color:var(--muted)}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.contact-form-grid label{display:grid;gap:.3rem;color:var(--text);font-size:.82rem;font-weight:750}.contact-form-grid input,.contact-form-grid select,.contact-form-grid textarea{width:100%;padding:.68rem .75rem;border:1px solid var(--primary-soft);border-radius:10px;background:var(--background);color:var(--text);font:inherit}.contact-form-grid textarea{resize:vertical}.contact-form-grid .wide-field{grid-column:1/-1}.contact-enquiry-form>button{justify-self:end;padding:.7rem 1rem;border:0;border-radius:10px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:800;cursor:pointer}.contact-app-support{align-self:start;padding:1rem;border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);border-radius:14px;background:var(--primary-soft)}.contact-app-support h3,.contact-app-support p{margin:0}.contact-app-support p:not(.admin-eyebrow){margin-top:.45rem;color:var(--muted)}.contact-app-support a{display:block;margin:.8rem 0;color:var(--primary);font-weight:800;overflow-wrap:anywhere}.contact-app-support small{color:var(--muted);line-height:1.45}.contact-history{display:grid;gap:.85rem}.contact-history>header{display:flex;justify-content:space-between;gap:1rem}.contact-history h2,.contact-history header p{margin:0}.contact-history>header>span{padding:.35rem .6rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.72rem;font-weight:800}.contact-table-wrap{overflow-x:auto;border:1px solid var(--primary-soft);border-radius:13px}.contact-table-wrap table{width:100%;min-width:780px;border-collapse:collapse}.contact-table-wrap th,.contact-table-wrap td{padding:.7rem .75rem;border-bottom:1px solid var(--primary-soft);color:var(--text);text-align:left;vertical-align:top}.contact-table-wrap th{background:var(--primary-soft);color:var(--muted);font-size:.68rem;text-transform:uppercase}.contact-table-wrap td>strong,.contact-table-wrap td>small{display:block}.contact-table-wrap td>small{margin-top:.15rem;max-width:320px;color:var(--muted)}.contact-table-wrap select{padding:.42rem .5rem;border:1px solid var(--primary-soft);border-radius:8px;background:var(--card);color:var(--text)}.contact-status{display:inline-flex;padding:.3rem .5rem;border-radius:999px;background:#ffedd5;color:#9a3412;font-size:.7rem;font-weight:850;text-transform:capitalize}.contact-status.resolved{background:#dcfce7;color:#166534}.contact-status.in_progress{background:#dbeafe;color:#1d4ed8}@media (max-width:1000px){.contact-channel-grid{grid-template-columns:1fr 1fr}.contact-enquiry-layout{grid-template-columns:1fr}.contact-app-support{width:100%}}@media (max-width:600px){.contact-channel-grid,.contact-form-grid{grid-template-columns:1fr}.contact-form-grid .wide-field{grid-column:auto}.contact-enquiry-form>button{width:100%}.contact-table-wrap{overflow:visible;border:0}.contact-table-wrap table{min-width:0}.contact-table-wrap thead{display:none}.contact-table-wrap table,.contact-table-wrap tbody,.contact-table-wrap tr,.contact-table-wrap td{display:block;width:100%}.contact-table-wrap tbody{display:grid;gap:.7rem}.contact-table-wrap tr{overflow:hidden;border:1px solid var(--primary-soft);border-radius:12px}.contact-table-wrap td{display:grid;grid-template-columns:100px 1fr;gap:.5rem}.contact-table-wrap td:before{content:attr(data-label);color:var(--muted);font-size:.66rem;font-weight:850;text-transform:uppercase}.contact-table-wrap td>*{grid-column:2}.contact-table-wrap .empty-state{display:block}.contact-table-wrap .empty-state:before{content:none}}.settings-help-grid{grid-template-columns:1fr 1fr}.settings-help-grid a,.settings-help-grid button{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.7rem;padding:.9rem;border:1px solid var(--primary-soft);border-radius:13px;background:var(--background);color:var(--primary);text-align:left;text-decoration:none;cursor:pointer}.settings-help-grid span{display:grid;gap:.15rem}.settings-help-grid strong{color:var(--text)}.settings-help-grid small{color:var(--muted);line-height:1.35}.settings-version{display:flex;align-items:center;gap:.75rem;padding:.8rem;border-radius:13px;background:var(--background)}.settings-version>span{display:grid}.settings-version small{color:var(--muted)}@media (max-width: 600px){.settings-dialog-backdrop{align-items:end;padding:0}.settings-dialog{max-height:88vh;border-radius:22px 22px 0 0}.settings-help-grid{grid-template-columns:1fr}}.gate-pass-page{display:grid;gap:1rem}.gate-pass-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);background:linear-gradient(120deg,color-mix(in srgb,var(--primary-soft) 72%,var(--card)),var(--card) 60%,color-mix(in srgb,var(--brand-blue) 7%,var(--card)))}.gate-pass-hero h2,.gate-pass-hero p,.gate-pass-form-card header h2,.gate-pass-form-card header p,.gate-pass-list-card header h2,.gate-pass-list-card header p{margin:0}.gate-pass-hero>div:nth-child(2)>p:last-child,.gate-pass-form-card header p:last-child,.gate-pass-list-card header p:last-child{margin-top:.25rem;color:var(--muted)}.gate-pass-hero-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-size:1.6rem;font-weight:900;box-shadow:0 10px 25px #5b42dc38}.gate-pass-summary{display:flex;gap:.55rem}.gate-pass-summary span{display:grid;min-width:82px;padding:.65rem .8rem;border-radius:13px;background:var(--card);color:var(--muted);font-size:.68rem;font-weight:750;text-align:center}.gate-pass-summary b{color:var(--primary);font-size:1.2rem}.gate-pass-form-card,.gate-pass-list-card{display:grid;gap:1rem}.gate-pass-form-card>header,.gate-pass-list-card>header{display:flex;align-items:start;justify-content:space-between;gap:1rem}.gate-pass-list-card>header>span{padding:.35rem .65rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.72rem;font-weight:800;white-space:nowrap}.gate-pass-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.gate-pass-form label{display:grid;gap:.35rem;color:var(--text);font-size:.82rem;font-weight:750}.gate-pass-form input,.gate-pass-form select,.gate-pass-form textarea{width:100%;min-width:0;padding:.68rem .75rem;border:1px solid var(--primary-soft);border-radius:10px;background:var(--background);color:var(--text);font:inherit}.gate-pass-form textarea{resize:vertical}.gate-pass-form .wide-field{grid-column:1 / -1}.gate-pass-form>button{grid-column:1 / -1;justify-self:end;padding:.72rem 1rem;border:0;border-radius:10px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:800;cursor:pointer}.gate-pass-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.gate-pass-record{position:relative;display:grid;align-content:start;gap:.75rem;padding:1rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 15%,transparent);border-radius:16px;background:var(--card);box-shadow:0 8px 24px #0f172a0d}.gate-pass-record:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#f59e0b}.gate-pass-record.approved:before{background:#22c55e}.gate-pass-record.rejected:before,.gate-pass-record.cancelled:before{background:#ef4444}.gate-pass-record-heading{display:flex;align-items:start;justify-content:space-between;gap:.8rem;min-height:24px}.gate-pass-record-heading>div{display:grid;gap:.12rem}.gate-pass-record-heading small,.gate-pass-reviewed{color:var(--muted);font-size:.72rem}.gate-pass-ticket{display:grid;grid-template-columns:1fr .8fr 1.2fr;overflow:hidden;border:1px dashed color-mix(in srgb,var(--primary) 35%,transparent);border-radius:12px;background:color-mix(in srgb,var(--primary-soft) 38%,var(--card))}.gate-pass-ticket>div{display:grid;gap:.15rem;padding:.65rem .75rem;border-right:1px solid color-mix(in srgb,var(--primary) 15%,transparent)}.gate-pass-ticket>div:last-child{border-right:0}.gate-pass-ticket span,.gate-pass-pickup small{color:var(--muted);font-size:.62rem;font-weight:850;letter-spacing:.05em}.gate-pass-ticket strong{color:var(--text);font-size:.82rem}.gate-pass-reason{margin:0;color:var(--text);line-height:1.45}.gate-pass-pickup{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.65rem;padding:.65rem .75rem;border-radius:11px;background:var(--background)}.gate-pass-pickup>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:.55rem}.gate-pass-pickup>div{display:grid;gap:.08rem}.gate-pass-pickup a{color:var(--primary);font-size:.75rem;font-weight:750;text-decoration:none}.gate-pass-note{margin:0;padding:.6rem .7rem;border-radius:9px;background:var(--primary-soft);color:var(--text);font-size:.78rem}.gate-pass-cancel{justify-self:start;padding:.5rem .7rem;border:1px solid #fecaca;border-radius:9px;background:#fff1f2;color:#b91c1c;font-weight:750;cursor:pointer}.gate-pass-grid>.empty-state{grid-column:1 / -1}.gate-pass-table-wrap{overflow-x:auto;border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);border-radius:15px;background:var(--card)}.gate-pass-table{width:100%;min-width:900px;border-collapse:collapse;color:var(--text)}.gate-pass-table th{padding:.72rem .8rem;background:linear-gradient(90deg,color-mix(in srgb,var(--primary-soft) 75%,var(--card)),color-mix(in srgb,var(--brand-blue) 7%,var(--card)));color:var(--muted);font-size:.7rem;letter-spacing:.045em;text-align:left;text-transform:uppercase;white-space:nowrap}.gate-pass-table td{position:relative;padding:.8rem;border-top:1px solid var(--primary-soft);vertical-align:top}.gate-pass-table tbody tr{box-shadow:inset 4px 0 #f59e0b}.gate-pass-table tbody tr.approved{box-shadow:inset 4px 0 #22c55e}.gate-pass-table tbody tr.rejected,.gate-pass-table tbody tr.cancelled{box-shadow:inset 4px 0 #ef4444}.gate-pass-table tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 25%,var(--card))}.gate-pass-table td>strong,.gate-pass-table td>small,.gate-pass-table td>a{display:block}.gate-pass-table td>small{max-width:250px;margin-top:.22rem;color:var(--muted);line-height:1.4}.gate-pass-table td>a{margin-top:.25rem;color:var(--primary);font-size:.78rem;font-weight:800;text-decoration:none}.gate-pass-table .gate-pass-cancel{white-space:nowrap}.gate-pass-message{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border-radius:10px;background:var(--primary-soft)}.gate-pass-message p{margin:0}.gate-pass-message button{padding:.48rem .7rem;border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);border-radius:8px;background:var(--card);color:var(--primary);font-weight:800;cursor:pointer}@media (max-width: 850px){.gate-pass-form{grid-template-columns:1fr 1fr}}@media (max-width: 700px){.gate-pass-table-wrap{overflow:visible;border:0;background:transparent}.gate-pass-table{min-width:0}.gate-pass-table thead{display:none}.gate-pass-table,.gate-pass-table tbody,.gate-pass-table tr,.gate-pass-table td{display:block;width:100%}.gate-pass-table tbody{display:grid;gap:.75rem}.gate-pass-table tbody tr{overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);border-radius:14px;background:var(--card)}.gate-pass-table td{display:grid;grid-template-columns:minmax(105px,.42fr) 1fr;gap:.65rem;padding:.65rem .75rem;border-top:1px solid var(--primary-soft)}.gate-pass-table td:first-child{border-top:0}.gate-pass-table td:before{content:attr(data-label);color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase}.gate-pass-table td>:not(.leave-table-review){grid-column:2}.gate-pass-table td>strong:first-of-type,.gate-pass-table td>.leave-status:first-of-type{grid-row:1}.gate-pass-table .leave-table-review{grid-column:2}.gate-pass-table .empty-state{display:block;padding:1.5rem}.gate-pass-table .empty-state:before{content:none}}@media (max-width: 600px){.gate-pass-hero{grid-template-columns:auto 1fr}.gate-pass-summary{grid-column:1 / -1}.gate-pass-summary span{flex:1}.gate-pass-form{grid-template-columns:1fr}.gate-pass-form .wide-field,.gate-pass-form>button{grid-column:auto}.gate-pass-form>button{width:100%}.gate-pass-ticket{grid-template-columns:1fr 1fr}.gate-pass-ticket>div:last-child{grid-column:1 / -1;border-top:1px solid color-mix(in srgb,var(--primary) 15%,transparent)}}.module-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:1rem}.module-table{width:100%;border-collapse:collapse;margin-top:1rem}.module-table th,.module-table td{padding:.95rem 1rem;border:1px solid rgba(148,163,184,.12);text-align:left}.status-badge{display:inline-flex;padding:.35rem .7rem;border-radius:999px;background:#38bdf826;color:#0369a1;font-weight:700}@media (max-width: 600px){.student-profile-card{grid-template-columns:1fr;text-align:center}.profile-avatar{margin:0 auto}.dashboard-shell{grid-template-columns:1fr}.sidebar-panel{position:fixed;inset:0 auto 0 0;width:min(280px,80vw);max-width:280px;height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;transform:translate(-100%);transition:transform .25s ease;z-index:30;border-radius:0 24px 24px 0;padding:1.5rem 1rem;overscroll-behavior:contain}.sidebar-panel .sidebar-app-brand,.sidebar-panel .sidebar-header{flex:0 0 auto}.sidebar-panel .sidebar-menu{flex:1 1 auto;min-height:0;align-content:start;grid-auto-rows:max-content;overflow-x:hidden;overflow-y:auto;padding:0 .3rem calc(1rem + env(safe-area-inset-bottom)) 0;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(196,181,253,.65) transparent;touch-action:pan-y;-webkit-overflow-scrolling:touch}.sidebar-panel.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:20}.sidebar-backdrop.active{opacity:1;pointer-events:auto}.mobile-header{display:flex;justify-content:flex-start;padding:0 0 1rem}.mobile-menu-button{background:var(--card);color:var(--text);border:1px solid rgba(148,163,184,.2);border-radius:999px;padding:.85rem 1.2rem;cursor:pointer;width:max-content}.student-header{gap:1rem}.dashboard-content{min-height:auto}}.parent-concerns-page{display:grid;gap:1.5rem}.concern-action-bar{display:grid;gap:.35rem}.concern-action-bar .section-label,.concern-action-bar .section-description{margin:0}.concern-action-bar .section-label{color:var(--text);font-weight:750}.concern-action-bar .section-description{color:var(--muted);line-height:1.55}.page-header{display:grid;gap:1rem;align-items:start}.page-tag{margin:0 0 .35rem;color:#64748b;text-transform:uppercase;font-size:.78rem;letter-spacing:.12em}.parent-concerns-page h1{margin:0;font-size:clamp(2rem,2.6vw,2.6rem)}.concern-grid{display:grid;gap:1.5rem;grid-template-columns:1fr 1.1fr}.concern-list-panel,.concern-detail-panel{display:grid;gap:1rem}.concern-list-header{display:flex;justify-content:space-between;align-items:center}.concern-list-header h2{margin:0}.concern-list-header p{margin:0;color:var(--muted)}.concern-list{display:grid;gap:.9rem}.concern-card{width:100%;text-align:left;padding:1rem 1.2rem;border-radius:22px;background:var(--card);border:1px solid rgba(148,163,184,.18);display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.concern-card:hover,.concern-card.selected{transform:translateY(-1px);box-shadow:0 20px 50px #0f172a14}.concern-card h3{margin:0;font-size:1rem}.concern-card p{margin:.35rem 0 0;color:var(--muted)}.concern-status{font-size:.8rem;font-weight:700;padding:.55rem .9rem;border-radius:999px;color:#fff;text-transform:uppercase}.concern-status.open{background:#2563eb}.concern-status.resolved{background:#22c55e}.concern-add-card,.concern-detail-card,.concern-empty-state{background:var(--card);border:1px solid rgba(148,163,184,.22);border-radius:24px;padding:1.5rem}.input-label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--text)}.text-input,select.text-input{width:100%;border:1px solid rgba(148,163,184,.3);border-radius:18px;padding:.95rem 1rem;background:var(--panel);color:var(--text)}.text-input:focus,select.text-input:focus{outline:none;border-color:#3b82f699}.primary-button{border:none;border-radius:999px;background:var(--primary);color:#fff;padding:1rem 1.3rem;font-weight:700;cursor:pointer;margin-top:1rem}.success-note{margin-top:.85rem;color:#16a34a}.concern-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.concern-detail-category{margin:0;font-size:.85rem;font-weight:700;text-transform:uppercase;color:var(--muted)}.concern-detail-card h2{margin:.35rem 0 0}.concern-detail-date{margin:1rem 0 0;color:var(--muted)}.concern-detail-description{margin:1rem 0 0;line-height:1.75;color:var(--text)}.concern-empty-state{display:grid;place-items:center;min-height:220px;color:var(--muted)}@media (max-width: 980px){.concern-grid{grid-template-columns:1fr}}@media (max-width: 600px){.parent-concerns-page{min-width:0;gap:1rem;padding:0 12px 12px;box-sizing:border-box}.parent-concerns-page .page-header{gap:.35rem}.parent-concerns-page h1{font-size:1.55rem;line-height:1.2;overflow-wrap:anywhere}.parent-concerns-page .page-tag{margin-bottom:.25rem;font-size:.68rem}.concern-action-bar{gap:.3rem}.concern-action-bar .section-label{font-size:.86rem}.concern-action-bar .section-description{font-size:.8rem}.concern-grid{gap:1rem}.concern-list-header h2{font-size:1.25rem}.concern-card{min-width:0;padding:.85rem 1rem;border-radius:17px}.concern-card>div{min-width:0}.concern-card h3{overflow-wrap:anywhere}}.feature-icon{width:54px;height:54px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,var(--primary),var(--accent))}.feature-icon img{width:100%;height:100%;object-fit:cover;display:block}.feature-card span{display:block;font-size:.95rem;font-weight:700}.student-footer{text-align:center;color:var(--muted);padding:1.5rem 0 2rem}.achievements-view{display:grid;gap:1.5rem}.achievements-view .card-header h2{margin:0 0 .35rem}.achievements-view .card-header p{margin:0;color:var(--muted)}.achievement-list{display:grid;gap:1rem}.achievement-card{background:var(--panel);border-radius:24px;overflow:hidden;box-shadow:0 20px 45px #0f172a14;display:grid;grid-template-columns:120px 1fr;gap:1rem;padding:1rem;align-items:center}.achievement-image img{width:100%;height:100%;object-fit:cover}.achievement-details{display:grid;gap:.5rem}.achievement-tag{margin:0;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--primary)}.achievement-card h3{margin:0}.achievement-details p{margin:0;color:var(--muted)}.achievement-date{font-size:.9rem;font-weight:600;color:var(--text)}.loader-card,.error-card{background:var(--panel);padding:1.5rem 2rem;border-radius:22px;box-shadow:0 12px 40px #0f172a1a}.exam-scope-note{margin:0;padding:.75rem .9rem;border:1px solid var(--primary-soft);border-radius:10px;background:var(--primary-soft);color:var(--text);font-weight:650}.admin-editor,.generic-item-popup,.fee-edit-popup,.admission-popup,.teacher-edit-popup{scrollbar-width:thin;scrollbar-color:var(--primary) transparent}.exam-student-table-wrap,.hierarchy-table-wrap,.fee-table-wrap,.feedback-table-wrap{border:1px solid var(--primary-soft);box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 7%,transparent)}.exam-student-table tbody tr,.hierarchy-table tbody tr,.fee-records-table tbody tr{transition:background .18s ease}.exam-student-table tbody tr:hover,.hierarchy-table tbody tr:hover,.fee-records-table tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 42%,var(--card))}.exam-admin-tabs{overflow-x:auto;scrollbar-width:none}.exam-admin-tabs button{white-space:nowrap}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 35%,transparent);outline-offset:2px}html{font-size:15px}body{line-height:1.4}.container{width:min(1280px,96%)}.dashboard-shell{grid-template-columns:260px minmax(0,1fr);gap:1rem;padding:1rem 0}.dashboard-content{min-height:calc(100vh - 2rem)}.sidebar-panel{gap:1rem;padding:1.25rem 1rem;border-radius:22px}.sidebar-item{gap:.7rem;padding:.7rem .8rem;border-radius:12px}.sidebar-icon{width:28px;height:28px;border-radius:9px}.sidebar-icon.gate-pass{background:linear-gradient(135deg,#8054ef52,#2563eb57);color:#dcd5ff}.gate-pass-sidebar-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.student-header{gap:.7rem;padding-top:.8rem}.student-profile-card,.announcement-card{border-radius:20px}.home-brand-identity{gap:.75rem;padding:.7rem 1rem;border-radius:18px}.home-school-brand>img{width:auto;height:50px;max-width:180px;flex:0 0 auto;border-radius:12px;object-fit:contain}.home-school-brand>span{width:50px;height:50px;flex-basis:50px;border-radius:13px}.home-school-brand strong{font-size:1.15rem}.student-header{gap:.55rem;padding-top:.55rem}.student-profile-card{grid-template-columns:112px minmax(300px,.9fr) minmax(360px,1.1fr);gap:1rem;height:auto;min-height:144px;padding:.75rem 1.15rem;overflow:visible}.profile-avatar{width:112px;height:112px;border-radius:50%}.greeting{margin:0 0 .15rem;font-size:.85rem}.student-profile-card h1{font-size:clamp(1.45rem,2vw,2rem);line-height:1.1}.profile-info>.subtext{display:inline-block;margin:.3rem .8rem 0 0;font-size:.82rem}.profile-info>.school-code{display:block;margin-top:.25rem}.announcement-card{grid-template-columns:76px minmax(0,1fr) auto;gap:.85rem;min-height:128px;height:128px;padding:.75rem 1rem}.announcement-preview{width:76px;height:100px;border-radius:14px}.announcement-preview img{width:100%;height:100%}.announcement-copy{gap:.18rem;align-content:center;min-height:100px}.announcement-card h2{font-size:1rem}.announcement-card p.announcement-description{font-size:.82rem;line-height:1.3}.announcement-date{margin-top:.05rem;font-size:.75rem;line-height:1.2}.module-panel{padding-bottom:1rem}.module-nav{gap:.55rem;margin-block:.65rem 1rem}.module-nav button{padding:.62rem 1rem}.dashboard-grid{gap:.8rem;margin-bottom:1rem}.dashboard-menu{gap:.75rem;padding-bottom:1rem}.feature-card{gap:.5rem;padding:.9rem;border-radius:18px}.feature-icon{width:44px;height:44px;border-radius:14px}.module-card{padding:1rem 1.15rem;border-radius:18px;margin-bottom:.9rem;box-shadow:0 12px 30px #0f172a11}.module-card h2{margin-bottom:.5rem;font-size:1.35rem}.teacher-workspace{gap:.85rem;width:min(1280px,100%)}.teacher-hero{gap:1rem;padding:1rem 1.15rem;border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);border-radius:18px;background:linear-gradient(125deg,color-mix(in srgb,var(--primary-soft) 72%,var(--card)) 0%,var(--card) 62%,color-mix(in srgb,var(--primary) 10%,var(--card)) 100%)}.next-class-card{gap:.4rem;padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);border-radius:14px;background:color-mix(in srgb,var(--primary-soft) 78%,var(--card))}.teacher-stat-grid{gap:.65rem;padding:.7rem;border-radius:18px}.teacher-stat-grid article{gap:.7rem;padding:.7rem .8rem;border-radius:14px}.teacher-stat-grid .stat-icon{width:38px;height:38px;border-radius:11px}.teacher-stat-grid strong{font-size:1.2rem}.teacher-stat-grid article>div{min-width:0;display:flex;align-items:baseline;gap:.55rem;white-space:nowrap}.teacher-stat-grid article p{margin:0;color:var(--text);font-size:.9rem}.teacher-two-column{gap:.85rem}.section-title,.roster-heading,.teacher-schedule-navigation{margin-bottom:.7rem}.teacher-class-grid,.teacher-roster-list{gap:.6rem}.teacher-class-grid button,.teacher-roster-list article{padding:.7rem .8rem;border-radius:13px}.class-monogram{box-sizing:border-box;width:auto;min-width:42px;height:42px;padding:0 10px;border-radius:12px;white-space:nowrap}.duty-item{padding:.7rem .8rem;border-radius:13px}.schedule-list article{padding:.65rem .7rem}.admin-workspace-heading h2{font-size:1.4rem}.admin-workspace{gap:.85rem}.admin-workspace-heading{padding:1rem 1.15rem;border:1px solid color-mix(in srgb,var(--primary) 12%,transparent);border-radius:16px;background:linear-gradient(120deg,color-mix(in srgb,var(--primary-soft) 60%,var(--card)),var(--card))}.admin-module-list{display:grid;grid-template-columns:minmax(0,1fr);gap:.55rem;padding:.7rem;overflow:visible;border-radius:16px;background:color-mix(in srgb,var(--primary-soft) 28%,var(--card))}.admin-module-row{grid-template-columns:38px minmax(0,1fr) auto;gap:.7rem;padding:.8rem;border:1px solid color-mix(in srgb,var(--primary) 12%,transparent);border-radius:13px;background:var(--card)}.admin-module-row:last-child{border-bottom:1px solid color-mix(in srgb,var(--primary) 12%,transparent)}.admin-module-icon{width:36px;height:36px;border-radius:10px}.admin-module-copy p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-module-count{display:none}.admin-module-row>button{padding:.52rem .7rem}.admin-editor{gap:.7rem;padding:1rem 1.15rem}.admin-editor-heading h2,.fee-popup-heading h2{font-size:1.4rem}.editor-close,.fee-popup-heading>button{font-size:1.55rem}.generic-item-popup,.fee-edit-popup,.admission-popup,.teacher-edit-popup{padding:1.15rem;border-radius:18px}.admission-form-grid{gap:.75rem}.admission-form-grid label{gap:.3rem}.admission-form-grid input,.admission-form-grid select,.admission-form-grid textarea,.teacher-roster-tools input,.teacher-roster-tools select{padding:.62rem .75rem;border-radius:9px}.admission-form-actions{gap:.6rem;margin-top:.8rem}.admission-form-actions button{padding:.62rem .9rem}.class-structure-table th,.class-structure-table td,.exam-student-table th,.exam-student-table td,.hierarchy-table th,.hierarchy-table td,.fee-records-table th,.fee-records-table td,.feedback-records-table th,.feedback-records-table td{padding:.65rem .75rem}.exam-management,.exam-module{gap:.6rem}.exam-admin-tabs{gap:.4rem}.exam-admin-tabs button{padding:.55rem .75rem}.exam-section-heading{margin-bottom:.65rem}.exam-scope-note{padding:.55rem .7rem}.login-page{padding:1rem}.login-card{padding:1.5rem;border-radius:20px}.login-brand{margin-bottom:1.25rem}.login-form{gap:.8rem}.login-form input,.login-form select{padding:.7rem .8rem}.student-footer{padding:.8rem 0 1rem}@media (max-width: 600px){html{font-size:14px}.metric-card{height:auto;min-height:125px}.student-profile-card{grid-template-columns:1fr}.student-profile-card{height:auto;min-height:0;padding:.85rem;overflow:visible}.profile-avatar{width:88px;height:88px}.profile-info{width:100%;text-align:center}.profile-intro-line{justify-content:center;width:100%}.profile-intro-line .greeting{margin:0}.profile-name-rating{justify-content:center}.profile-info>.subtext{margin-right:.4rem;margin-left:.4rem}.profile-info>.school-code{text-align:center}.profile-context-strip,.linked-student-context{justify-content:center;width:100%}.profile-class-teacher{grid-template-columns:auto auto minmax(0,1fr);width:100%;margin:.45rem 0 0;padding:.5rem .65rem;text-align:left}.profile-class-teacher strong{grid-column:auto}.profile-class-teacher small{grid-column:2 / -1}.student-profile-card .class-activity-gallery{margin-top:-.2rem}.teacher-profile-overview{text-align:left}.teacher-overview-metrics>div{padding:.3rem .45rem}.teacher-overview-metrics>div:first-child{padding-left:0}.linked-student-summary{grid-template-columns:1fr;text-align:center;border-left:0;border-top:3px solid #2563eb}.linked-student-summary small,.linked-student-context{grid-column:1}.profile-photo-shortcut{margin-right:auto;margin-left:auto}.home-school-brand>img{width:auto;height:48px;max-width:125px}.app-shell{width:100%;overflow-x:hidden}.dashboard-shell{display:block;width:100%;min-width:0;padding:.5rem 0}.dashboard-content{width:100%;min-width:0;min-height:auto}.container{width:min(100% - 1rem,1280px)}.student-header{width:100%;padding-top:.4rem}.announcement-card{width:100%;min-width:0;grid-template-columns:58px minmax(0,1fr);gap:.8rem;min-height:0;height:auto;padding:.9rem;overflow:visible}.announcement-copy{padding-right:0}.announcement-inline-actions{position:static;transform:none;margin-top:.2rem}.announcement-controls{grid-column:1 / -1;width:100%;min-width:0;justify-content:stretch}.upcoming-holiday-preview{width:100%;grid-template-columns:30px minmax(0,1fr);column-gap:.55rem;row-gap:.35rem;padding:.65rem .7rem;text-align:left;white-space:normal}.upcoming-holiday-preview .upcoming-holiday-icon{grid-column:1;grid-row:1 / 3;align-self:center}.upcoming-holiday-items{grid-column:2;grid-row:2;width:100%;flex-wrap:wrap;gap:.45rem .8rem}.upcoming-holiday-items>span{display:flex;align-items:baseline;gap:.5rem;min-width:0;max-width:100%}.upcoming-holiday-items time{flex-shrink:0;white-space:nowrap}.upcoming-holiday-items b{min-width:0;max-width:none;white-space:normal;overflow-wrap:anywhere;text-overflow:clip}.upcoming-holiday-title{display:contents;padding-right:0;border-right:0}.upcoming-holiday-title>span:last-child{grid-column:2;grid-row:1;display:flex;min-width:0;gap:.4rem;justify-content:space-between;align-items:baseline}.upcoming-holiday-title b{white-space:normal;line-height:1.3}.upcoming-holiday-title small{flex-shrink:0;white-space:nowrap}.upcoming-holiday-items{overflow-x:visible}.announcement-preview{width:58px;height:58px;border-radius:14px}.announcement-preview img{width:100%;height:100%}.announcement-card h2{padding-right:3rem;font-size:.98rem}.announcement-card p.announcement-description{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.78rem}.announcement-open{display:none}.module-nav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%;gap:.3rem;padding:0 .35rem .25rem;overflow:visible}.module-nav button{min-width:0;min-height:44px;gap:.3rem;padding:.5rem .28rem;font-size:.78rem;white-space:nowrap}.module-nav button svg{width:15px;height:15px;flex:0 0 15px}.module-panel,.admin-workspace{width:100%;min-width:0}.admin-workspace-heading{width:100%;padding:.8rem}.admin-workspace-heading h2{font-size:1.18rem}.admin-workspace-heading p:last-child{font-size:.82rem}.module-card{padding:.85rem;border-radius:15px}.teacher-hero,.teacher-stat-grid{padding:.8rem}.teacher-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-stat-grid article{padding:.6rem}.teacher-stat-grid article>div{gap:.35rem}.teacher-stat-grid article p{font-size:.78rem}.admin-editor{padding:.8rem}.admin-module-list{grid-template-columns:1fr;padding:.5rem}.admin-module-row{grid-template-columns:34px minmax(0,1fr) auto;padding:.65rem}.admin-module-copy p{display:none}.admin-module-copy h3{font-size:.88rem;line-height:1.2}.admin-module-row>button{padding:.48rem .6rem;font-size:.8rem}.class-management-form{overflow:visible;grid-template-rows:auto auto auto auto}.class-master-toolbar{align-items:stretch;flex-direction:column}.class-master-toolbar-actions{justify-content:stretch}.class-master-toolbar-actions button{flex:1}.class-structure-table-wrap{max-height:calc(100vh - 240px)}.class-row-form{grid-template-columns:1fr}.class-row-form .wide-field{grid-column:auto}.teacher-calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-view-tabs{width:100%}.calendar-view-tabs button{flex:1}.calendar-navigation{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;width:100%}.calendar-navigation strong{min-width:0;overflow:hidden;text-overflow:ellipsis}.calendar-period-summary{align-items:stretch;flex-direction:column}.calendar-period-summary button{width:100%}.generic-item-popup,.fee-edit-popup,.admission-popup,.teacher-edit-popup{padding:.85rem}.teacher-roster-list article{grid-template-columns:auto 1fr}.attendance-options{grid-column:1 / -1;justify-content:stretch}.attendance-options button{flex:1;min-width:0}.exam-section-heading{align-items:stretch}.exam-section-heading>button{width:100%}.exam-admin-tabs{display:flex}.exam-admin-tabs button{flex:0 0 auto}}.holidays-view{display:grid;gap:1rem}.holiday-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.holiday-heading h2{margin:.2rem 0;color:var(--text);font-size:1.65rem}.holiday-heading p{margin:0;color:var(--muted)}.holiday-heading-actions{display:flex;align-items:center;gap:.65rem}.holiday-count{padding:.48rem .72rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-weight:800;white-space:nowrap}.holiday-heading-actions button,.holiday-form-actions button:last-child{padding:.66rem .9rem;border:0;border-radius:10px;background:var(--primary);color:#fff;font-weight:800;cursor:pointer}.holiday-message{margin:0;padding:.7rem .85rem;border-radius:10px;background:#fff4e5;color:#9a5a00;font-weight:700}.holiday-table{min-width:850px}.holiday-table td:first-child strong{white-space:nowrap}.holiday-state{display:inline-block;margin-top:.35rem;padding:.2rem .45rem;border-radius:999px;background:#e9f1ff;color:#2563eb;font-size:.65rem;font-weight:850;text-transform:uppercase}.holiday-state.today{background:#dcfce7;color:#15803d}.holiday-state.past{background:#f1f5f9;color:#64748b}.holiday-row-actions{display:flex;gap:.4rem}.holiday-row-actions button{padding:.4rem .62rem;border:1px solid var(--primary-soft);border-radius:8px;background:var(--background);color:var(--primary);font-weight:800;cursor:pointer}.holiday-row-actions button.delete{color:#dc2626}.holiday-empty{padding:2rem!important;text-align:center!important;color:var(--muted)!important}.holiday-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:1rem;background:#0f172a8c}.holiday-form{width:min(580px,100%);display:grid;gap:.9rem;padding:1.25rem;border-radius:18px;background:var(--card);box-shadow:0 24px 70px #0f172a4d}.holiday-form-title{display:flex;justify-content:space-between;align-items:flex-start}.holiday-form-title h3{margin:.15rem 0 0;color:var(--text);font-size:1.35rem}.holiday-form-title>button{border:0;background:transparent;color:var(--muted);font-size:1.65rem;cursor:pointer}.holiday-form label{display:grid;gap:.35rem;color:var(--text);font-size:.78rem;font-weight:800}.holiday-form input,.holiday-form select,.holiday-form textarea{width:100%;padding:.7rem .78rem;border:1px solid var(--primary-soft);border-radius:10px;background:var(--background);color:var(--text);font:inherit}.holiday-date-fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.holiday-form-actions{display:flex;justify-content:flex-end;gap:.55rem}.holiday-form-actions button:first-child{padding:.66rem .9rem;border:1px solid var(--primary-soft);border-radius:10px;background:var(--background);color:var(--text);font-weight:800;cursor:pointer}@media (max-width: 680px){.holiday-heading{flex-direction:column}.holiday-heading-actions{width:100%;justify-content:space-between}.holiday-date-fields{grid-template-columns:1fr}.holidays-view{min-width:0;overflow:hidden;padding:0 12px 12px;box-sizing:border-box}.holidays-view .leave-status-tabs{display:flex;max-width:100%;overflow-x:auto;scrollbar-width:none}.holidays-view .leave-status-tabs::-webkit-scrollbar{display:none}.holidays-view .leave-status-tabs button{flex:0 0 auto}.holidays-view .leave-table-wrap{overflow:visible;border:0;border-radius:0}.holidays-view .holiday-table{display:block;width:100%;min-width:0;background:transparent}.holidays-view .holiday-table tbody{display:grid;gap:.75rem}.holidays-view .holiday-table tr{display:grid;width:100%;min-width:0;padding:0;overflow:hidden;border:1px solid var(--primary-soft);border-radius:12px;background:var(--card);box-shadow:0 5px 16px color-mix(in srgb,var(--primary) 6%,transparent)}.holidays-view .holiday-table td{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;gap:.3rem;padding:.7rem .8rem;border:0;border-bottom:1px solid var(--primary-soft);white-space:normal;overflow-wrap:anywhere;word-break:break-word}.holidays-view .holiday-table td:before{font-size:.6rem}.holidays-view .holiday-table td:first-child{grid-template-columns:minmax(0,1fr) auto;align-items:center;background:var(--primary-soft)}.holidays-view .holiday-table td:first-child:before{grid-column:1 / -1}.holidays-view .holiday-table td:first-child strong{min-width:0;white-space:normal}.holidays-view .holiday-table td:last-child{border-bottom:0}.holidays-view .holiday-table .holiday-state{justify-self:end;margin:0}.holidays-view .holiday-table .holiday-empty{display:block;padding:1.25rem!important}.holidays-view .holiday-table .holiday-empty:before{content:none}.holidays-view .holiday-row-actions{flex-wrap:wrap}}@media print{body{background:#fff!important}.app-shell *{visibility:hidden}.printable-report,.printable-report *{visibility:visible}.printable-report{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;padding:24px;box-shadow:none;background:#fff;color:#111827}.printable-report .no-print{display:none!important}.printable-report .student-exam-table-wrap{overflow:visible}.printable-report .student-exam-table{min-width:0}.printable-report .student-result-summary{grid-template-columns:repeat(5,1fr)}}.school-hub{display:grid;gap:18px;color:#192438}.school-hub-hero,.school-hub-panel,.school-hub-principal{background:#fff;border:1px solid #ebe6fb;border-radius:24px;box-shadow:0 12px 35px #3f2b6f0f}.school-hub-hero{display:flex;align-items:center;gap:20px;padding:22px 26px;background:linear-gradient(120deg,#fff 55%,#f1ebff)}.school-hub-hero img,.school-hub-logo{width:78px;height:78px;border-radius:20px;object-fit:contain;background:#f6f2ff;padding:8px}.school-hub-logo{display:grid;place-items:center;color:#fff;background:#8054ef;font-size:32px;font-weight:900}.school-hub-kicker,.school-hub-title span{font-size:12px;font-weight:900;letter-spacing:.12em;color:#8155ef}.school-hub-hero h2{margin:4px 0;font-size:30px}.school-hub-hero p{margin:0;color:#667085}.school-hub-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:18px;align-items:start}.school-hub-main,.school-hub-side{display:grid;gap:18px}.school-hub-panel{padding:22px}.school-hub-panel h3,.school-hub-principal h3{margin:0 0 16px;font-size:21px}.school-hub-principal{display:flex;gap:16px;padding:24px;background:linear-gradient(135deg,#30215c,#8256ef);color:#fff}.school-hub-principal>span{font:700 70px/1 Georgia;color:#cbb8ff}.school-hub-principal p{line-height:1.6;margin:0 0 15px;max-width:720px}.school-hub-principal strong,.school-hub-principal small{display:block}.school-hub-principal small{opacity:.72;margin-top:3px}.school-hub-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#eee8fc;border:1px solid #eee8fc;border-radius:16px;overflow:hidden}.school-hub-details div{display:grid;gap:7px;padding:17px;background:#faf9fe}.school-hub-details span{font-size:12px;text-transform:uppercase;color:#7a7190;font-weight:800}.school-hub-details strong{font-size:15px}.school-hub-title{display:flex;justify-content:space-between}.school-hub-title h3{margin:3px 0 16px}.school-hub-calendar{display:grid;gap:10px}.school-hub-calendar>div{display:grid;grid-template-columns:108px 64px 1fr;align-items:center;gap:10px;padding:13px;border-radius:13px;background:#f8f5ff}.school-hub-calendar time{font-weight:800}.school-hub-calendar span{font-size:10px;font-weight:900;color:#8256ef}.school-hub-calendar strong{font-size:14px}.school-hub-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.school-hub-actions a{padding:12px;text-align:center;border-radius:12px;background:#8054ef;color:#fff;text-decoration:none;font-weight:800}.school-hub-actions a:last-child{grid-column:1/-1;background:#f2edff;color:#6840ce}.school-hub-documents{display:grid;gap:10px}.school-hub-documents a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid #ebe5fb;border-radius:13px;text-decoration:none;color:#20283a}.school-hub-documents a span{display:grid;place-items:center;height:38px;border-radius:9px;background:#fff0ed;color:#e6482e;font-size:10px;font-weight:900}.school-hub-documents a i{font-style:normal;font-size:12px;color:#8054ef;font-weight:800}.school-hub-empty{color:#7b728d;margin:5px 0}.school-hub-editor{display:grid;gap:20px}.school-hub-editor label{display:grid;gap:8px;font-weight:800}.school-hub-editor input,.school-hub-editor textarea{border:1px solid #ddd4f5;border-radius:12px;padding:13px;font:inherit;background:#f9f7ff}.school-hub-editor textarea{min-height:120px;resize:vertical}.school-hub-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.school-hub-upload{border-top:1px solid #eee8fa;padding-top:18px}.school-hub-upload h3,.school-hub-upload p{margin:0 0 8px}.school-hub-upload>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.school-hub-upload label{position:relative;padding:16px;border:1px dashed #9d7cf3;border-radius:14px}.school-hub-upload label span{font-size:12px;color:#716984}.school-hub-upload input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.school-hub-upload i{font-style:normal;color:#8054ef;font-size:13px}.form-success{color:#168142;font-weight:800}.form-error{color:#c62929;font-weight:800}@media (max-width:900px){.school-hub-layout{grid-template-columns:1fr}.school-hub-details{grid-template-columns:1fr 1fr}.school-hub-upload>div{grid-template-columns:1fr}.school-hub-editor-grid{grid-template-columns:1fr}}@media (max-width:560px){.school-hub-hero{align-items:flex-start}.school-hub-hero h2{font-size:23px}.school-hub-details{grid-template-columns:1fr}.school-hub-calendar>div{grid-template-columns:1fr}.school-hub-documents a{grid-template-columns:40px 1fr}.school-hub-documents a i{grid-column:2}.school-hub-principal{padding:18px}.school-hub-principal>span{display:none}}.earned-leave-summary{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:10px;margin:0 0 18px;padding:14px;border:1px solid #e8defd;border-radius:16px;background:#faf8ff}.earned-leave-summary>div{display:grid;gap:3px;padding:10px 12px;border-radius:12px;background:#fff}.earned-leave-summary span{font-size:11px;font-weight:800;text-transform:uppercase;color:#746b87}.earned-leave-summary strong{font-size:23px}.earned-leave-summary .available{background:#eee8ff;color:#7041da}.earned-leave-summary>small{grid-column:1/-1;color:#706681}.leave-balance-inline{margin-top:5px!important;color:#7143d7!important;font-weight:800}.leave-table td>small{display:block}.leave-duration{display:flex;grid-column:1/-1;align-items:center;gap:9px;min-height:46px;padding:9px 14px;border:1px solid #dcd2f7;border-radius:13px;background:#fff}.leave-duration span{color:#6f6680;font-size:12px;font-weight:800}.leave-duration strong{color:#7143db;font-size:20px}.leave-duration small{color:#b42318;font-weight:800}.leave-duration.over-limit{border-color:#f5b7b1;background:#fff5f4}.leave-request-form button:disabled{cursor:not-allowed;opacity:.5}.leave-duration .leave-policy-note{margin-left:auto;color:#756c86;font-weight:700}@media (max-width:620px){.earned-leave-summary{grid-template-columns:1fr 1fr}}.admission-sort{display:inline-flex;align-items:center;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.admission-sort:hover,.admission-sort:focus-visible{color:var(--primary)}.admission-stage-control{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(420px,1.25fr);gap:12px;padding:10px;border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-radius:18px;background:var(--card);box-shadow:0 8px 24px #3a276912}.admission-editing-context{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:13px;background:linear-gradient(125deg,color-mix(in srgb,var(--primary) 16%,var(--card)),color-mix(in srgb,var(--accent) 10%,var(--card)))}.admission-editing-context i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--primary);color:#fff;font-style:normal;font-size:20px}.admission-editing-context>span,.admission-status-context>span{display:grid;gap:3px;color:var(--muted);font-size:.69rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.admission-editing-context strong{color:var(--primary);font-size:1.05rem;letter-spacing:0;text-transform:none}.admission-status-context{display:grid!important;grid-template-columns:minmax(175px,.75fr) minmax(230px,1.25fr);align-items:center;gap:12px!important;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:13px;background:linear-gradient(125deg,color-mix(in srgb,var(--accent) 9%,var(--card)),color-mix(in srgb,var(--primary) 6%,var(--card)))}.admission-status-context small{color:var(--muted);font-size:.7rem;font-weight:600;letter-spacing:0;text-transform:none}.admission-stage-control select{width:100%;min-width:0;padding:.7rem .75rem;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--primary-soft));border-radius:10px;background:var(--card);color:var(--text);font-weight:800}.admission-workflow-popup .admission-form-section{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--primary) 20%,transparent);box-shadow:0 10px 28px #412a730f}.admission-workflow-popup .admission-form-section:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--primary),var(--accent))}.admission-workflow-popup .admission-form-section h3{color:var(--primary)}.admission-workflow-popup .admission-form-grid input:focus,.admission-workflow-popup .admission-form-grid select:focus,.admission-workflow-popup .admission-form-grid textarea:focus{border-color:var(--primary);outline:3px solid color-mix(in srgb,var(--primary) 14%,transparent);background:var(--card)}@media (max-width:800px){.admission-stage-control,.admission-status-context{grid-template-columns:1fr}}.admission-document-row{display:grid!important;grid-template-columns:minmax(230px,1fr) 92px minmax(170px,auto) 130px!important;align-items:center;gap:9px}.admission-document-name{display:grid;gap:3px}.admission-document-name small{overflow:hidden;color:var(--muted);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.admission-document-upload{position:relative;display:grid!important;place-items:center;padding:.65rem;border-radius:9px;background:var(--primary)!important;color:#fff!important;font-weight:850;cursor:pointer}.admission-document-upload input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.admission-document-actions{display:flex;gap:5px}.admission-document-actions a,.admission-document-actions button{padding:.45rem .55rem;border:1px solid var(--primary-soft);border-radius:8px;background:var(--card);color:var(--primary);font-size:.72rem;font-weight:800;text-decoration:none;cursor:pointer}.admission-document-actions button{color:#c43131}.admission-document-help{margin:.65rem 0 0;color:var(--muted);font-size:.75rem}@media (max-width:850px){.admission-document-row{grid-template-columns:1fr 90px!important}.admission-document-actions{grid-column:1/-1}.admission-document-row>select{grid-column:2}}.admin-workspace-heading{position:relative;overflow:hidden;border:1px solid rgba(128,84,239,.16)!important;background:linear-gradient(120deg,#8054ef1c,#2563eb0f 52%,#ec489914)!important}.admin-workspace-heading:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange))}.admin-workspace-heading h2{color:var(--brand-navy)}.admin-eyebrow{color:var(--brand-violet)!important}.admin-module-list{display:grid;gap:8px;padding:10px;border:1px solid rgba(128,84,239,.12);border-radius:18px;background:#ffffff73}.admin-module-row{transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.admin-module-row:hover{transform:translateY(-1px);border-color:#8054ef4d;box-shadow:0 10px 24px #17233d12}.admin-module-row:nth-child(4n+1) .admin-module-icon{background:#8054ef21;color:var(--brand-violet)}.admin-module-row:nth-child(4n+2) .admin-module-icon{background:#2563eb1f;color:var(--brand-blue)}.admin-module-row:nth-child(4n+3) .admin-module-icon{background:#ec48991c;color:var(--brand-pink)}.admin-module-row:nth-child(4n) .admin-module-icon{background:#f973161f;color:var(--brand-orange)}.admin-module-row>button,.admin-editor-actions button{background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));box-shadow:0 7px 16px #8054ef33}.admin-editor-heading{border-bottom-color:#8054ef29!important}.admin-editor-heading span{color:var(--brand-violet)!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(128,84,239,.2);outline-offset:2px}:is(.admin-editor,.platform-popup,.admission-popup,.teacher-edit-backdrop,.fee-edit-backdrop,.class-row-popup-backdrop) label{color:var(--brand-navy);font-weight:750}:is(.admin-editor,.platform-popup,.admission-popup,.teacher-edit-backdrop,.fee-edit-backdrop,.class-row-popup-backdrop) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select){width:100%;height:50px;min-height:50px;padding:0 14px;border:1px solid rgba(128,84,239,.18);border-radius:12px;background:linear-gradient(135deg,#8054ef0e,#2563eb09);color:var(--text);font:inherit;line-height:1.2}:is(.admin-editor,.platform-popup,.admission-popup,.teacher-edit-backdrop,.fee-edit-backdrop,.class-row-popup-backdrop) textarea{width:100%;min-height:96px;padding:13px 14px;border:1px solid rgba(128,84,239,.18);border-radius:12px;background:linear-gradient(135deg,#8054ef0e,#2563eb09);color:var(--text);font:inherit;resize:vertical}:is(.admin-editor,.platform-popup,.admission-popup,.teacher-edit-backdrop,.fee-edit-backdrop,.class-row-popup-backdrop) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea):hover{border-color:#8054ef61}:is(.admin-editor,.platform-popup,.admission-popup,.teacher-edit-backdrop,.fee-edit-backdrop,.class-row-popup-backdrop) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea):focus{border-color:var(--brand-violet);outline:3px solid rgba(128,84,239,.13);background:var(--card)}:is(.admin-editor,.platform-popup,.admission-popup,.teacher-edit-backdrop,.fee-edit-backdrop,.class-row-popup-backdrop) :is(input,select,textarea):disabled{cursor:not-allowed;opacity:.62}.platform-form-grid,.teacher-form-grid,.content-field-grid,.admission-form-grid,.school-hub-editor-grid{align-items:start}.admin-editor.school-hub-admin-editor{overflow:hidden;background:linear-gradient(180deg,#fff 0,#fdfcff)}.school-hub-admin-editor>.admin-editor-heading{flex:0 0 auto;padding-bottom:12px;border-bottom:1px solid rgba(128,84,239,.14)}.school-hub-admin-editor>.school-hub-editor{position:relative;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start;padding:4px 10px 8px 2px;scrollbar-gutter:stable}.school-hub-admin-editor>.school-hub-editor:before{content:"";position:absolute;inset:0 10px auto 2px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange))}.school-hub-editor-intro{display:flex;align-items:center;gap:14px;margin-top:12px;padding:16px 18px;border:1px solid rgba(128,84,239,.15);border-radius:16px;background:linear-gradient(120deg,#8054ef1f,#2563eb12 60%,#ec489912)}.school-hub-editor-intro>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-size:20px;font-weight:900;box-shadow:0 8px 18px #8054ef38}.school-hub-editor-intro strong{color:var(--brand-navy);font-size:16px}.school-hub-editor-intro p{margin:4px 0 0;color:var(--muted)}.school-hub-admin-editor .school-hub-editor label{color:var(--brand-navy)}.school-hub-admin-editor .school-hub-editor input,.school-hub-admin-editor .school-hub-editor textarea{border-color:#8054ef38;background:linear-gradient(135deg,#8054ef0e,#2563eb09);color:var(--brand-navy);transition:border-color .16s,box-shadow .16s,background .16s}.school-hub-admin-editor .school-hub-editor input:focus,.school-hub-admin-editor .school-hub-editor textarea:focus{outline:0;border-color:var(--brand-violet);background:#fff;box-shadow:0 0 0 3px #8054ef21}.school-hub-admin-editor .school-hub-upload{border-top-color:#8054ef24}.school-hub-admin-editor .school-hub-upload h3{color:var(--brand-navy)}.school-hub-admin-editor .school-hub-upload label{min-height:116px;background:#8054ef09}.school-hub-admin-editor .school-hub-upload label:nth-child(2){border-color:var(--brand-blue);background:#2563eb09}.school-hub-admin-editor .school-hub-upload label:nth-child(3){border-color:var(--brand-pink);background:#ec489909}.school-hub-save-bar{position:sticky;z-index:3;bottom:0;justify-content:space-between;align-items:center;margin:0 -10px 0 -2px;padding:14px 12px;background:#fffffff2;border-top:1px solid rgba(128,84,239,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.school-hub-save-bar small{color:var(--muted)}.curriculum-settings{position:relative;display:grid;gap:15px;padding:18px;border:1px solid rgba(128,84,239,.16);border-radius:18px;background:linear-gradient(125deg,#8054ef12,#2563eb0a 55%,#ec48990a);overflow:hidden}.curriculum-settings:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange))}.curriculum-settings-heading{display:flex;align-items:center;gap:12px}.curriculum-settings-heading>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:900}.curriculum-settings-heading h3,.curriculum-settings-heading p{margin:0}.curriculum-settings-heading h3{color:var(--brand-navy)}.curriculum-settings-heading p{margin-top:3px;color:var(--muted);font-size:.82rem}.curriculum-document{position:relative;grid-template-columns:auto 1fr auto!important;align-items:center;padding:13px 15px;border:1px dashed rgba(128,84,239,.55);border-radius:13px;background:#fff}.curriculum-document span{color:var(--muted);font-size:.78rem}.curriculum-document input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.curriculum-document i{color:var(--brand-violet);font-style:normal;font-size:.8rem;font-weight:900}.board-curriculum-editor{display:grid;gap:18px;min-height:0;overflow-y:auto;padding:4px 8px 80px 2px}.curriculum-summary{display:flex;align-items:center;gap:15px;padding:18px;border:1px solid rgba(128,84,239,.16);border-radius:18px;background:linear-gradient(120deg,#8054ef21,#2563eb12,#ec48990f)}.curriculum-summary>span{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:900}.curriculum-summary small{color:var(--brand-violet);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.curriculum-summary h3,.curriculum-summary p{margin:3px 0 0}.curriculum-summary p{color:var(--muted)}.global-curriculum-chip{display:block;width:max-content;margin-top:3px;padding:3px 8px;border:1px solid rgba(128,84,239,.18);border-radius:999px;background:linear-gradient(90deg,#8054ef1a,#2563eb12);color:var(--brand-violet);font-size:.65rem;font-style:normal;font-weight:850;line-height:1.25}.focused-school-brand{flex-wrap:wrap}.focused-school-brand .global-curriculum-chip{flex-basis:100%;margin-left:auto}.school-hub-curriculum-context{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:13px;padding:14px 16px;border:1px solid rgba(128,84,239,.17);border-radius:16px;background:linear-gradient(120deg,#8054ef1a,#2563eb0d,#ec48990d)}.school-hub-curriculum-context>span{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:900}.school-hub-curriculum-context div{display:grid;gap:2px}.school-hub-curriculum-context small{color:var(--brand-violet);font-weight:900;text-transform:uppercase;letter-spacing:.06em}.school-hub-curriculum-context strong{color:var(--brand-navy);font-size:1.05rem}.school-hub-curriculum-context p{margin:0;color:var(--muted);font-size:.78rem}.school-hub-curriculum-context em{padding:7px 10px;border-radius:999px;background:#fff;color:var(--brand-violet);font-size:.72rem;font-style:normal;font-weight:850}@media (max-width:700px){.school-hub-curriculum-context{grid-template-columns:44px 1fr}.school-hub-curriculum-context em{grid-column:1/-1;width:max-content}}:is(.school-hub-curriculum-context,.curriculum-settings-heading,.school-curricula-list>div,.focused-school-brand)>*{min-width:0}:is(.school-hub-curriculum-context,.curriculum-settings,.school-curricula-list,.focused-school-brand) :is(strong,span,p,small,em){overflow-wrap:anywhere;white-space:normal}.school-hub-upload>div{grid-template-columns:1fr!important}.school-hub-upload label,.curriculum-document{display:grid!important;grid-template-columns:minmax(190px,1fr) minmax(140px,.7fr) 120px!important;align-items:center;gap:16px;min-height:76px!important;text-align:left}.school-hub-upload label input,.curriculum-document input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.school-hub-upload label i,.curriculum-document i{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:10px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff!important;text-align:center;cursor:pointer}.school-hub-upload .school-document-name{display:grid;min-width:0;gap:5px;color:var(--brand-navy);font-size:inherit}.school-hub-upload .school-document-name small{overflow:hidden;color:#746d86;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.school-hub-upload .school-document-status{justify-self:start;padding:5px 9px;border-radius:999px;background:#f1f3f7;color:#666f80;font-size:12px;font-weight:800}.school-hub-upload .school-document-status.ready{background:#e8f8ee;color:#168142}.school-document-row{position:relative;display:grid;grid-template-columns:minmax(190px,1fr) minmax(120px,.55fr) 90px 120px;align-items:center;gap:12px;min-height:76px;padding:16px;border:1px dashed #9d7cf3;border-radius:14px;background:#8054ef09}.school-document-row:nth-child(2){border-color:var(--brand-blue)}.school-document-row:nth-child(3){border-color:var(--brand-pink)}.school-hub-upload .school-document-upload{display:block!important;position:static;padding:0;border:0;min-height:0!important;background:transparent}.school-document-upload input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important}.school-document-upload i,.school-document-preview{display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border:0;border-radius:8px;font-style:normal;font-weight:800;cursor:pointer}.school-document-upload i{background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff}.school-document-preview{background:#eef2ff;color:#4f46e5}.school-hub-document-row{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding:14px;border:1px solid #ebe5fb;border-radius:8px}.school-hub-document-row>.school-document-type{display:grid;place-items:center;width:48px;height:44px;border-radius:8px;background:#fff0ed;color:#e6482e;font-size:10px;font-weight:900}.school-hub-document-row>strong{min-width:0;line-height:1.3;word-break:normal}.school-document-user-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:2px}.school-hub-document-row .school-document-user-actions button,.school-hub-document-row .school-document-user-actions a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:36px;padding:8px;border:0;border-radius:6px;background:#f3efff;color:#7045dc;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap;cursor:pointer}.school-hub-document-row .school-document-user-actions a{background:#f8f6ff}.pdf-preview-backdrop{position:fixed;z-index:10000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:16px;background:#0f172ab8}.pdf-preview-dialog{display:grid;grid-template-rows:auto 1fr;width:min(1000px,96vw);height:min(850px,92vh);overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 28px 80px #0000004d}.pdf-preview-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid #e5e7eb}.pdf-preview-dialog h2,.pdf-preview-dialog small{margin:0}.pdf-preview-dialog small{color:#7c3aed;font-weight:800}.pdf-preview-dialog header>div:last-child{display:flex;align-items:center;gap:10px}.pdf-preview-dialog header a{color:#4f46e5;font-weight:800;text-decoration:none}.pdf-preview-dialog header button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#f1f5f9;font-size:24px;cursor:pointer}.pdf-preview-dialog object{width:100%;height:100%;border:0;background:#eef1f5}@media (max-width:700px){.school-document-row{grid-template-columns:1fr auto}.school-document-row .school-document-status{grid-column:1}.school-document-preview{grid-column:2;grid-row:1}.school-document-upload{grid-column:2;grid-row:2}.pdf-preview-dialog{width:100%;height:94vh}.pdf-preview-dialog header h2{font-size:16px}}:is(.generic-content-table,.admissions-table,.fee-records-table,.teacher-management-table,.class-management-table) th:last-child,:is(.generic-content-table,.admissions-table,.fee-records-table,.teacher-management-table,.class-management-table) td:last-child{min-width:116px;padding-left:14px;padding-right:14px;text-align:center}:is(.generic-row-actions,.admission-row-actions,.teacher-row-actions,.class-row-actions){display:flex;align-items:center;justify-content:center;gap:8px;min-width:max-content;padding:2px}:is(.generic-row-actions,.admission-row-actions,.teacher-row-actions,.class-row-actions)>button{flex:0 0 auto}:is(.generic-content-table-wrap,.admissions-table-wrap,.fee-table-wrap,.teacher-table-wrap,.class-table-wrap){max-width:100%;padding-right:8px;overflow:auto;scrollbar-gutter:stable}:is(.generic-content-table,.admissions-table,.fee-records-table) :is(th,td){line-height:1.35;overflow-wrap:normal}.admissions-filters,.fee-browser-filters{align-items:end}.admissions-filters label,.fee-browser-filters label{min-width:0}.admissions-filters select,.fee-browser-filters select{width:100%;min-width:0}.admission-stage-strip{overflow-x:auto;overflow-y:hidden;padding-bottom:6px;scrollbar-width:thin}.admission-stage-strip button{flex:0 0 108px;min-width:108px}.admission-workflow-popup{overflow-y:auto;overscroll-behavior:contain;scroll-padding-top:110px}.admission-workflow-popup .fee-popup-heading{top:-1.15rem;z-index:8}.admission-workflow-popup :is(.admission-stage-control,.admission-form-section){isolation:isolate}.admission-document-row{grid-template-columns:minmax(210px,1.4fr) 100px minmax(190px,1fr) 150px!important;align-items:center;gap:12px!important}.admission-document-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.admission-document-name,.admission-document-name input{min-width:0}.installment-table{box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow-x:scroll;overflow-y:hidden;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:var(--primary) transparent;-webkit-overflow-scrolling:touch}.installment-header,.installment-row{min-width:1640px;grid-template-columns:1fr 1.05fr .75fr .85fr 1.05fr .95fr 1fr 1.05fr 1.15fr auto}.installment-receipt-upload{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;min-height:48px;padding:7px 10px;border:1px dashed rgba(128,84,239,.35);border-radius:11px;background:#8054ef0b;cursor:pointer}.installment-receipt-upload>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--brand-violet);font-size:.78rem}.installment-receipt-upload input{position:absolute;width:1px;height:1px;opacity:0}.installment-receipt-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0}.installment-receipt-view{align-self:stretch;padding:0 10px!important;border:1px solid rgba(37,99,235,.2)!important;border-radius:9px!important;background:#2563eb14!important;color:var(--brand-blue)!important;font-size:.75rem!important;font-weight:850!important}.installment-payment-receipt{min-height:42px;padding:7px 10px!important;border:1px solid rgba(37,99,235,.2)!important;border-radius:9px!important;background:#2563eb14!important;color:var(--brand-blue)!important;font-size:.75rem!important;font-weight:850!important}.installment-receipt-pending{color:var(--muted);font-size:.72rem}.settings-list-item{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.settings-list-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 45%,transparent);box-shadow:0 8px 22px #412a7317}.settings-list-item:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 22%,transparent);outline-offset:2px}.appearance-dark :is(.settings-page,.settings-section,.settings-list,.settings-list-item,.settings-dialog,.settings-language-dropdown){color:var(--text)}.appearance-dark .settings-list-item{background:color-mix(in srgb,var(--card) 94%,var(--primary));border-color:color-mix(in srgb,var(--primary) 28%,transparent)}.appearance-dark .settings-list-item :is(span,strong,small),.appearance-dark .settings-section-title{color:var(--text)}.appearance-dark .settings-item-arrow,.appearance-dark .settings-item-value{color:color-mix(in srgb,var(--primary) 65%,white)}@media (max-width:800px){.school-hub-upload label,.curriculum-document{grid-template-columns:1fr auto!important}.school-hub-upload label span,.curriculum-document span{grid-column:1}.school-hub-upload label i,.curriculum-document i{grid-column:2;grid-row:1/3}.admission-stage-control{grid-template-columns:1fr}.admission-status-context{grid-template-columns:1fr!important}.admission-document-row{grid-template-columns:1fr auto!important}.admission-document-actions{grid-column:1/-1}.admission-document-row>select{grid-column:1/-1}}@media (max-width:520px){.school-hub-upload label,.curriculum-document{grid-template-columns:1fr!important;text-align:center}.school-hub-upload label i,.curriculum-document i{grid-column:1;grid-row:auto;width:100%}}.school-curricula-list{display:grid;gap:10px}.school-curricula-list>div{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(150px,.85fr) minmax(220px,1.4fr);align-items:center;gap:12px;padding:13px 15px;border:1px solid rgba(128,84,239,.14);border-radius:13px;background:linear-gradient(120deg,#8054ef0f,#2563eb08)}.school-curricula-list span{width:fit-content;max-width:100%;padding:4px 8px;border-radius:999px;background:#8054ef1f;color:var(--brand-violet);font-size:.72rem;font-weight:900;overflow-wrap:anywhere;white-space:normal}.school-curricula-list p{margin:0;color:var(--muted);font-size:.8rem}.exam-curriculum-context{display:inline-block;margin-top:5px;padding:4px 8px;border-radius:999px;background:#8054ef1a;color:var(--brand-violet);font-weight:800}@media (max-width:650px){.school-curricula-list>div{grid-template-columns:1fr}.school-curricula-list p{grid-column:1}}.about-curriculum-section{grid-column:1/-1;padding:18px;border:1px solid rgba(128,84,239,.14);border-radius:18px;background:linear-gradient(125deg,#8054ef0f,#2563eb06)}.about-curriculum-section>.about-badge{width:max-content}.about-curriculum-section h2{margin:8px 0 14px}.school-hub-curricula-list{padding:2px 0}.about-curriculum-section>.about-badge{background:#ede9fe;color:#5b21b6;border:1px solid #c4b5fd}.appearance-dark .about-curriculum-section>.about-badge{background:#312e81;color:#f5f3ff;border-color:#6d5ce7}@media (prefers-color-scheme: dark){.appearance-system .about-curriculum-section>.about-badge{background:#312e81;color:#f5f3ff;border-color:#6d5ce7}}.admin-editor.board-curriculum-admin-editor{height:100dvh;max-height:100dvh;min-height:0;overflow:hidden}.board-curriculum-admin-editor>.admin-editor-heading{flex:0 0 auto}.board-curriculum-admin-editor>.board-curriculum-editor{flex:1 1 0;height:0;min-height:0;max-height:100%;overflow-x:hidden;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;padding:8px 14px 92px 2px}.curriculum-summary{display:grid;grid-template-columns:52px 1fr auto}.curriculum-summary>button{padding:11px 15px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-weight:900;cursor:pointer}.curriculum-profile-tabs{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px}.curriculum-profile-tabs>button{display:grid;flex:0 0 210px;gap:3px;padding:12px 14px;border:1px solid rgba(128,84,239,.16);border-radius:14px;background:#fff;color:var(--brand-navy);text-align:left;cursor:pointer}.curriculum-profile-tabs>button.active{border-color:var(--brand-violet);background:linear-gradient(135deg,#8054ef21,#2563eb0f);box-shadow:0 7px 18px #8054ef1f}.curriculum-profile-tabs small,.curriculum-profile-tabs span{color:var(--muted);font-size:.7rem}.curriculum-profile-tabs button.active small{color:var(--brand-violet);font-weight:900}.curriculum-settings-heading{grid-template-columns:38px 1fr auto}.curriculum-delete{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:10px;background:#fee2e2;color:#c91f1f;cursor:pointer}.curriculum-delete svg{width:15px;height:15px}.curriculum-save-bar{position:sticky;z-index:4;bottom:-92px;justify-content:space-between;align-items:center;margin:0 -14px -92px -2px;padding:14px;background:#fffffff5;border-top:1px solid rgba(128,84,239,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (max-width:700px){.curriculum-summary{grid-template-columns:48px 1fr}.curriculum-summary>button{grid-column:1/-1}.curriculum-save-bar small{display:none}}.board-curriculum-admin-editor>.board-curriculum-editor{display:block!important;height:auto!important;max-height:none!important;min-height:0!important;overflow-y:scroll!important;padding:8px 14px 24px 2px!important;scrollbar-gutter:stable}.board-curriculum-editor>.curriculum-summary,.board-curriculum-editor>.curriculum-profile-tabs,.board-curriculum-editor>.curriculum-settings,.board-curriculum-editor>.form-success,.board-curriculum-editor>.form-error{margin-bottom:18px}.board-curriculum-editor>.curriculum-settings{display:grid!important;height:auto!important;min-height:max-content!important;overflow:visible!important}.board-curriculum-editor .school-hub-editor-grid{height:auto!important;overflow:visible!important}.board-curriculum-editor>.curriculum-save-bar{position:static!important;bottom:auto!important;margin:0!important;padding:16px 2px 2px!important;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}@media (max-width:560px){.school-hub-save-bar small{display:none}.school-hub-save-bar{justify-content:flex-end}}.admin-editor.about-school-admin-editor{height:100dvh;max-height:100dvh;min-height:0;overflow:hidden;background:linear-gradient(180deg,var(--card) 0,color-mix(in srgb,var(--card) 96%,var(--primary)) 100%)}.about-school-admin-editor>.admin-editor-heading{flex:0 0 auto;padding-bottom:12px;border-bottom:1px solid rgba(128,84,239,.14)}.about-school-admin-editor>.about-school-form{position:relative;display:block;flex:1 1 0;height:0;min-height:0;max-height:100%;overflow-x:hidden;overflow-y:scroll!important;overscroll-behavior-y:contain;touch-action:pan-y;padding:5px 12px 96px 2px;scrollbar-gutter:stable}.about-school-form>.about-school-form-intro,.about-school-form>.content-item-form,.about-school-form>.editor-message{margin-bottom:16px}.about-school-form:before{content:"";position:absolute;inset:0 10px auto 2px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange))}.about-school-form-intro{display:flex;align-items:center;gap:14px;margin-top:12px;padding:16px 18px;border:1px solid rgba(128,84,239,.15);border-radius:16px;background:linear-gradient(120deg,#8054ef1f,#2563eb12 58%,#ec489912)}.about-school-form-intro>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;font-size:20px;font-weight:900;box-shadow:0 8px 18px #8054ef38}.about-school-form-intro strong{color:var(--brand-navy);font-size:16px}.about-school-form-intro p{margin:4px 0 0;color:var(--muted)}.about-school-form .content-item-form{position:relative;overflow:hidden;margin:0;padding:20px;border:1px solid rgba(128,84,239,.16);border-radius:18px;background:color-mix(in srgb,var(--card) 92%,var(--primary-soft));box-shadow:0 12px 30px #17233d0b}.about-school-form .content-item-form:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink))}.about-school-form .content-item-form legend{padding:0 10px;color:var(--brand-violet);font-size:17px;font-weight:900}.about-school-form .content-field-grid>div{position:relative;padding:12px;border:1px solid rgba(128,84,239,.08);border-radius:13px;background:linear-gradient(135deg,#8054ef09,#2563eb05)}.about-school-form .content-field-grid>div:nth-child(4n+2){border-color:#2563eb1a}.about-school-form .content-field-grid>div:nth-child(4n+3){border-color:#ec48991a}.about-school-form .content-field-grid>div:nth-child(4n){border-color:#f973161a}.about-school-form .content-field-grid label{color:var(--brand-navy)}.about-school-form .content-form-actions{position:sticky;z-index:4;bottom:-96px;justify-content:space-between;align-items:center;margin:0 -12px -96px -2px;padding:14px 12px;border-top:1px solid rgba(128,84,239,.15);background:color-mix(in srgb,var(--card) 96%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.about-school-form .content-form-actions small{color:var(--muted)}@media (max-width:600px){.about-school-form .content-item-form{padding:14px}.about-school-form .content-field-grid>div{padding:8px}.about-school-form .content-form-actions small{display:none}.about-school-form .content-form-actions{justify-content:flex-end}}:is(.editor-close,.fee-popup-heading>button,.holiday-form-title>button,.teacher-rating-dialog>header>button){flex:0 0 42px!important;display:grid!important;place-items:center!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;margin:0!important;padding:0 0 3px!important;border:1px solid rgba(128,84,239,.22)!important;border-radius:50%!important;background:linear-gradient(135deg,#8054ef1a,#2563eb14)!important;box-shadow:0 7px 18px #312e811a!important;color:var(--brand-violet)!important;font:400 28px/1 Arial,sans-serif!important;text-decoration:none!important;cursor:pointer!important;transition:transform .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease!important}.achievement-page-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--primary-soft)}.achievement-page-heading h2,.achievement-page-heading p{margin:0}.achievement-page-heading h2{margin:.2rem 0}.achievement-page-heading p:last-child{color:var(--muted)}.achievement-page-heading>span{padding:.45rem .7rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.72rem;font-weight:850;white-space:nowrap}.achievement-card{width:100%;border:1px solid color-mix(in srgb,var(--primary) 12%,transparent);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.achievement-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 38%,transparent);box-shadow:0 18px 42px color-mix(in srgb,var(--primary) 12%,transparent)}.achievement-image{height:104px;overflow:hidden;border-radius:16px;background:var(--primary-soft)}.achievement-image-placeholder{display:grid;place-items:center;color:#f5b51b;font-size:2.5rem}.achievement-card-topline,.achievement-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.achievement-card-topline>span{padding:.22rem .5rem;border-radius:999px;background:#ecfdf5;color:#047857;font-size:.62rem;font-weight:900;text-transform:uppercase}.achievement-excerpt{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.achievement-card-footer{margin-top:.2rem}.achievement-card-footer time{color:var(--muted);font-size:.78rem;font-weight:700}.achievement-card-footer>strong{color:var(--primary);font-size:.75rem}.achievements-pagination{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;padding-top:.8rem;border-top:1px solid var(--primary-soft)}.achievements-pagination>div{display:flex;justify-content:center;gap:.35rem}.achievements-pagination button{min-width:38px;padding:.55rem .7rem;border:1px solid var(--primary-soft);border-radius:10px;background:var(--card);color:var(--primary);font-weight:800;cursor:pointer}.achievements-pagination button.active{background:var(--primary);color:#fff}.achievements-pagination button:disabled{opacity:.42;cursor:not-allowed}.achievements-pagination small{grid-column:1/-1;color:var(--muted);text-align:center}.achievements-empty{display:grid;justify-items:center;padding:3rem;color:var(--muted);text-align:center}.achievements-empty span{color:var(--primary);font-size:2.8rem}.achievements-empty h3,.achievements-empty p{margin:.2rem}.achievement-detail-page{display:grid;gap:1.25rem;overflow:hidden}.achievement-detail-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--primary-soft)}.achievement-detail-header>button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--primary-soft);border-radius:13px;background:var(--card);color:var(--primary);font-size:1.3rem;cursor:pointer}.achievement-detail-header p,.achievement-detail-header h2{margin:0}.achievement-detail-header p{color:var(--primary);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.achievement-detail-header h2{margin-top:.15rem}.achievement-detail-trophy{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fbbf24;font-size:1.7rem}.achievement-detail-image{position:relative;max-height:430px;overflow:hidden;border-radius:22px;background:var(--primary-soft)}.achievement-detail-image img{display:block;width:100%;max-height:430px;object-fit:cover}.achievement-detail-image span{position:absolute;left:1rem;bottom:1rem;padding:.45rem .7rem;border-radius:999px;background:#17233dc7;color:#fff;font-size:.7rem;font-weight:850;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.achievement-detail-content{display:grid;gap:.8rem}.achievement-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border:1px solid var(--primary-soft);border-radius:15px;background:var(--primary-soft)}.achievement-detail-meta>span{display:grid;gap:.2rem;padding:.9rem;background:var(--card)}.achievement-detail-meta small{color:var(--muted);font-size:.65rem;font-weight:800;text-transform:uppercase}.achievement-detail-label{margin:.5rem 0 0;color:var(--primary);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.achievement-detail-content h1,.achievement-detail-description{margin:0}.achievement-detail-description{color:var(--muted);font-size:1rem;line-height:1.7}.achievement-congratulations{display:flex;align-items:center;gap:.8rem;margin-top:.4rem;padding:1rem;border-radius:16px;background:linear-gradient(120deg,color-mix(in srgb,var(--brand-violet) 12%,var(--card)),color-mix(in srgb,var(--brand-blue) 8%,var(--card)))}.achievement-congratulations>span{color:#f5b51b;font-size:1.8rem}.achievement-congratulations p{margin:.2rem 0 0;color:var(--muted)}@media (max-width:600px){.achievement-page-heading{align-items:flex-start}.achievement-card{grid-template-columns:82px 1fr;padding:.7rem;border-radius:16px}.achievement-image{height:82px}.achievement-excerpt{display:none}.achievement-card-footer{align-items:flex-start;flex-direction:column;gap:.25rem}.achievements-pagination{grid-template-columns:1fr 1fr}.achievements-pagination>div{grid-column:1/-1;grid-row:1}.achievements-pagination>button:last-of-type{text-align:right}.achievement-detail-header h2{font-size:1rem}.achievement-detail-trophy{display:none}.achievement-detail-meta{grid-template-columns:1fr}.achievement-detail-content h1{font-size:1.5rem}}:is(.editor-close,.fee-popup-heading>button,.holiday-form-title>button,.teacher-rating-dialog>header>button):hover{transform:translateY(-1px) scale(1.04);border-color:transparent!important;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue))!important;box-shadow:0 10px 22px #6348d63d!important;color:#fff!important}:is(.editor-close,.fee-popup-heading>button,.holiday-form-title>button,.teacher-rating-dialog>header>button):focus-visible{outline:3px solid rgba(128,84,239,.2)!important;outline-offset:3px!important}:is(.editor-close,.fee-popup-heading>button,.holiday-form-title>button,.teacher-rating-dialog>header>button):active{transform:scale(.96)}.activity-viewer .viewer-close{display:grid;place-items:center;width:42px;height:42px;padding:0 0 3px;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:linear-gradient(135deg,#8054efd9,#2563ebd9);box-shadow:0 10px 26px #00000047;color:#fff;font:400 28px/1 Arial,sans-serif;transition:transform .16s ease,box-shadow .16s ease}.activity-viewer .viewer-close:hover{transform:translateY(-1px) scale(1.04);box-shadow:0 14px 30px #00000059}.principal-account-summary{position:relative;overflow:hidden;border:1px solid rgba(128,84,239,.14);background:linear-gradient(120deg,#8054ef21,#2563eb12 58%,#ec489914)}.principal-account-summary:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange))}.principal-account-summary>span{background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff}.principal-management-form .platform-form-grid>label{grid-template-rows:auto 50px auto}.principal-management-form .platform-form-grid>label>small{align-self:start}.principal-management-form select{height:50px!important;min-height:50px!important}.admin-editor :is(fieldset,.admission-form-section,.content-item-form){border-color:#8054ef26}.admin-editor legend,.admin-editor .fee-popup-heading>div>span{color:var(--brand-violet)}.field-label{display:inline-flex;align-items:center;gap:3px}.field-label b{color:#dc2626;font-size:1rem;line-height:1}.field-label b:after{content:""}label:not(.login-form label):not(:has(.field-label)):not(:has(.required-label)):has(>input:required,>select:required,>textarea:required){position:relative}label:not(.login-form label):not(:has(.field-label)):not(:has(.required-label)):has(>input:required,>select:required,>textarea:required):after{content:"*";position:absolute;top:0;right:2px;color:#dc2626;font-size:1rem;font-weight:900;line-height:1}.about-page,.spotlight-page{position:relative;overflow:hidden}.about-page:before,.spotlight-page:before{content:"";position:absolute;z-index:2;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange))}.about-hero{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:linear-gradient(125deg,var(--brand-violet),var(--brand-blue) 65%,var(--brand-pink) 145%);color:#fff;box-shadow:0 18px 44px #5b42dc33}.about-hero:after{content:"";position:absolute;right:-75px;top:-105px;width:270px;height:270px;border:44px solid rgba(255,255,255,.08);border-radius:50%}.about-hero-content{position:relative;z-index:1}.about-hero-content h1{margin:0;font-size:clamp(1.7rem,3vw,2.4rem)}.about-hero .about-badge{background:#ffffff29;color:#fff}.about-hero .about-summary{color:#ffffffdb}.about-body{grid-template-columns:repeat(2,minmax(0,1fr))}.about-body>section:not(.about-curriculum-section){position:relative;overflow:hidden;padding:1.25rem;border:1px solid color-mix(in srgb,var(--primary) 14%,transparent);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary-soft) 42%,var(--card)),var(--card))}.about-body>section:not(.about-curriculum-section):before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--brand-violet),var(--brand-blue))}.about-logo-card{grid-column:1/-1;border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);background:linear-gradient(115deg,color-mix(in srgb,var(--primary-soft) 65%,var(--card)),var(--card))}.about-logo-placeholder{background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue))}.spotlight-header{padding:1.5rem;border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);border-radius:20px;background:linear-gradient(120deg,color-mix(in srgb,var(--primary-soft) 72%,var(--card)),var(--card) 60%,color-mix(in srgb,var(--brand-blue) 8%,var(--card)))}.spotlight-header h2{margin:0;font-size:clamp(1.45rem,2.5vw,2rem)}.spotlight-list{grid-template-columns:repeat(2,minmax(0,1fr))}.spotlight-card{position:relative;overflow:hidden;border-radius:18px}.spotlight-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue))}.spotlight-card:nth-child(3n+2):before{background:linear-gradient(90deg,var(--brand-blue),var(--brand-pink))}.spotlight-card:nth-child(3n):before{background:linear-gradient(90deg,var(--brand-pink),var(--brand-orange))}.spotlight-card-badge,.continue-button{background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue))}.continue-button{box-shadow:0 9px 22px #5b42dc38}.continue-button:hover{transform:translateY(-1px)}@media (max-width:700px){.about-body,.spotlight-list{grid-template-columns:1fr}.about-hero,.spotlight-header{padding:1.25rem}}:where(.module-card,.login-card,.settings-section,.holiday-form,.teacher-rating-dialog,.admin-editor):has(form),.admin-editor,.announcement-popup,.generic-item-popup,.admission-popup,.class-row-popup,.fee-edit-popup,.teacher-edit-popup,.platform-popup,.poll-form,.small-form{position:relative;overflow:hidden}.sidebar-role-badge{margin-top:.45rem;padding:.35rem .5rem}.sidebar-role-badge.parent{color:#a7f3d0;background:#10b9812e;border:1px solid rgba(167,243,208,.3)}.sidebar-role-badge.student{color:#bfdbfe;background:#2563eb38;border:1px solid rgba(191,219,254,.3)}.announcement-popup{max-height:calc(100dvh - 2rem);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.announcements-editor .announcements-management,.announcements-editor .announcements-table-wrap{min-height:0}:where(.module-card,.login-card,.settings-section,.holiday-form,.teacher-rating-dialog,.admin-editor):has(form):before,.admin-editor:before,.announcement-popup:before,.generic-item-popup:before,.admission-popup:before,.class-row-popup:before,.fee-edit-popup:before,.teacher-edit-popup:before,.platform-popup:before,.poll-form:before,.small-form:before{content:"";position:absolute;z-index:6;inset:0 0 auto;width:auto;height:5px;border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange),var(--brand-teal));pointer-events:none}.poll-question-builder{display:grid;gap:14px}.poll-builder-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.poll-builder-heading>span{color:var(--brand-navy);font-weight:900}.poll-builder-heading>button,.poll-builder-question header>button{border:0;border-radius:10px;background:var(--primary-soft);color:var(--brand-violet);font-weight:850;cursor:pointer}.poll-builder-heading>button{padding:9px 13px}.poll-builder-question{display:grid;gap:12px;padding:15px;border:1px solid rgba(128,84,239,.16);border-radius:15px;background:linear-gradient(135deg,#8054ef0e,#2563eb06)}.poll-builder-question>header{display:flex;align-items:center;justify-content:space-between}.poll-builder-question header>strong{color:var(--brand-violet)}.poll-builder-question header>button{padding:7px 10px;background:#fff1f2;color:#be123c}.poll-builder-question label{display:grid;gap:6px;font-weight:800}.poll-builder-question label small{color:var(--muted);font-size:.7rem;font-weight:600}.poll-question legend{display:grid;gap:4px}.poll-question legend small{color:var(--brand-violet);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}@media (max-width:640px){.poll-builder-heading{align-items:flex-start;flex-direction:column}.poll-builder-heading>button{width:100%}}.opinionPolls-item-popup{grid-template-rows:auto minmax(0,1fr) auto;width:min(960px,100%);height:min(900px,calc(100dvh - 3rem));max-height:calc(100dvh - 3rem);overflow:hidden}.opinionPolls-item-popup>.content-field-grid{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 6px 18px 2px}.opinionPolls-item-popup>.admission-form-actions{position:static;bottom:auto;z-index:2;margin:0;padding:14px 0 0;border-top:1px solid rgba(128,84,239,.14);background:var(--card)}@media (max-width:640px){.opinionPolls-item-popup{height:100dvh;max-height:100dvh}.opinionPolls-item-popup>.content-field-grid{padding-right:2px}}.branded-collection-popup .poll-builder-question .poll-question-text-input{min-height:68px;height:68px;resize:vertical}.branded-collection-popup .poll-builder-question .poll-answer-options-input{min-height:92px}.poll-descriptive-answer{width:100%;min-height:110px;padding:.8rem;border:1px solid rgba(128,84,239,.2);border-radius:13px;background:var(--card);color:var(--text);font:inherit;resize:vertical}.poll-descriptive-answer:focus{outline:3px solid rgba(128,84,239,.11);border-color:var(--brand-violet)}.poll-option input[type=checkbox]{accent-color:var(--brand-violet)}.poll-detail-intro+.poll-form{margin-top:22px;padding-top:8px;overflow:visible}.poll-detail-intro+.poll-form:before{top:0;border-radius:999px}.poll-form>.poll-question{margin:0;min-width:0;padding-top:22px}.poll-form>.poll-question legend{max-width:calc(100% - 28px);margin:0 0 8px;padding:0 8px;background:var(--card);line-height:1.35}@media (max-width:640px){.poll-detail-intro+.poll-form{margin-top:16px;padding-top:7px}.poll-form>.poll-question{padding-top:18px}}.poll-already-completed{display:flex;align-items:center;gap:14px;margin-top:22px;padding:20px;border:1px solid rgba(16,185,129,.24);border-radius:18px;background:linear-gradient(120deg,#10b9811a,#2563eb0b)}.poll-already-completed>span{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:14px;background:#10b981;color:#fff;font-size:1.35rem;font-weight:900}.poll-already-completed h3,.poll-already-completed p{margin:0}.poll-already-completed p{margin-top:4px;color:var(--muted)}.poll-responses-button{position:relative;background:#2563eb1a!important;color:var(--brand-blue)!important}.poll-responses-button small{position:absolute;right:-6px;top:-7px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--brand-violet);color:#fff;font-size:.62rem;font-weight:900}.poll-responses-popup{grid-template-rows:auto minmax(0,1fr) auto;width:min(980px,100%);height:min(780px,calc(100dvh - 3rem));overflow:hidden}.poll-response-list{display:grid;align-content:start;gap:14px;min-height:0;overflow:auto;padding:2px 7px 14px 2px;scrollbar-gutter:stable}.poll-response-list>article{overflow:hidden;border:1px solid rgba(128,84,239,.14);border-radius:16px;background:#fff}.poll-response-list article>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;background:linear-gradient(110deg,#8054ef17,#2563eb0b)}.poll-response-list article>header div{display:grid;gap:2px}.poll-response-list article>header span,.poll-response-list time{color:var(--muted);font-size:.72rem}.poll-response-list article>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#8054ef1a}.poll-response-list article p{display:grid;gap:5px;margin:0;padding:13px 15px;background:#fff}.poll-response-list article p small{color:var(--muted);font-weight:700}.poll-response-list article p strong{color:var(--brand-navy)}.poll-response-empty{display:grid;place-items:center;gap:6px;padding:48px;text-align:center}.poll-response-empty>span{font-size:2rem;color:var(--brand-violet)}.poll-response-empty h3,.poll-response-empty p{margin:0}.poll-response-empty p{color:var(--muted)}.poll-responses-popup>.admission-form-actions{position:static;margin:0;padding:13px 0 0;border-top:1px solid rgba(128,84,239,.13)}@media (max-width:640px){.poll-responses-popup{height:100dvh;max-height:100dvh}.poll-response-list article>header{align-items:flex-start;flex-direction:column}.poll-response-list article>div{grid-template-columns:1fr}}.poll-readonly-responses{display:grid;gap:14px;margin-top:18px;padding:20px;border:1px solid rgba(128,84,239,.15);border-radius:20px;background:linear-gradient(135deg,#8054ef0a,#2563eb05)}.poll-readonly-responses>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid rgba(128,84,239,.13)}.poll-readonly-responses header span{color:var(--brand-violet);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.poll-readonly-responses header h2{margin:3px 0 0;color:var(--brand-navy)}.poll-readonly-responses header>small{padding:6px 10px;border-radius:999px;background:#8054ef1a;color:var(--brand-violet);font-weight:850}.poll-readonly-responses>article{display:grid;gap:6px;padding:16px;border:1px solid rgba(128,84,239,.12);border-radius:15px;background:#fff}.poll-readonly-responses article>span{color:var(--brand-violet);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.poll-readonly-responses article h3{margin:0;color:var(--brand-navy)}.poll-readonly-responses article>div{margin-top:5px;padding:12px 14px;border-radius:11px;background:linear-gradient(100deg,#8054ef17,#2563eb0e);color:var(--text);font-weight:750;white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width:640px){.poll-readonly-responses{padding:14px}.poll-readonly-responses>header{align-items:flex-start}.poll-readonly-responses header h2{font-size:1.15rem}}.poll-response-list{grid-auto-rows:max-content;align-items:start;padding-bottom:28px}.poll-response-list>article{display:block;height:auto;min-height:max-content;overflow:hidden;flex:none}.poll-response-list article>div{grid-auto-rows:max-content}.poll-response-list article>div>p{min-height:82px;align-content:center}.poll-response-list article>div>p:last-child:nth-child(odd){grid-column:1/-1}.poll-responses-popup>.admission-form-actions{position:relative;z-index:4;box-shadow:0 -10px 24px #2b22520a}@media (max-width:640px){.poll-response-list article>div>p:last-child:nth-child(odd){grid-column:auto}.poll-response-list article>div>p{min-height:0}}.achievements-page{position:relative}.achievements-page:before{content:"";position:absolute;z-index:3;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange),var(--brand-teal))}.achievement-feed-card{grid-template-columns:92px minmax(0,1fr);align-items:center;gap:16px;min-height:124px;padding:14px 54px 14px 18px;border-radius:0 17px 17px 0}.achievement-feed-card:before{background:linear-gradient(180deg,var(--brand-violet),var(--brand-blue))}.achievement-feed-image{display:grid;place-items:center;width:92px;height:92px;overflow:hidden;border-radius:14px;background:linear-gradient(135deg,#8054ef24,#2563eb17);color:#f5b51b;font-size:2rem}.achievement-feed-image img{display:block;width:100%;height:100%;object-fit:cover}.achievement-feed-copy{display:grid;min-width:0;gap:6px}.achievement-feed-copy>strong{color:#405873;font-size:1.08rem;font-weight:750}.achievement-feed-copy .announcement-feed-type{color:var(--brand-violet)}.achievements-page .announcement-feed-new{background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue))}@media (max-width:600px){.achievement-feed-card{grid-template-columns:68px minmax(0,1fr);gap:11px;min-height:100px;padding:12px 40px 12px 14px}.achievement-feed-image{width:68px;height:68px;border-radius:12px}.achievement-feed-copy p{display:none}.achievement-feed-copy>strong{font-size:.95rem}.achievement-feed-card .announcement-feed-new{top:8px;right:8px}.achievement-feed-card .announcement-feed-arrow{right:10px}}.class-row-popup{grid-template-rows:auto minmax(0,1fr) auto auto;height:min(820px,calc(100dvh - 2rem));max-height:calc(100dvh - 2rem);overflow:hidden!important}.class-row-popup>.fee-popup-heading{position:relative;top:auto;z-index:3;margin:0}.class-row-popup>.class-row-form{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding-bottom:18px;padding:3px 8px 20px 2px}.class-row-popup>.teacher-form-actions{position:relative;bottom:auto;z-index:3;margin:0;padding:14px 0 0;border-top:1px solid rgba(128,84,239,.14);background:var(--card)}.class-row-popup .class-subject-allocation{min-height:max-content}.class-row-popup .class-subject-allocation .specialization-options{max-height:none;overflow:visible}@media (max-width:640px){.class-row-popup{height:100dvh;max-height:100dvh;border-radius:0}.class-row-popup-backdrop{padding:0}}.admissions-table{border-collapse:separate;border-spacing:0}.admissions-table thead{position:relative;z-index:5}.admissions-table th{z-index:5;min-height:56px;padding-top:15px;padding-bottom:15px;background:linear-gradient(90deg,color-mix(in srgb,var(--brand-violet) 14%,var(--card)),color-mix(in srgb,var(--brand-blue) 9%,var(--card)),color-mix(in srgb,var(--brand-pink) 7%,var(--card)))!important;box-shadow:0 1px 0 var(--primary-soft),0 6px 12px #2b22520a}.admissions-table tbody tr{position:relative;background:var(--card)}.admissions-table tbody td{background:inherit}.admission-workflow-popup{grid-template-rows:auto minmax(0,1fr) auto;height:min(920px,calc(100dvh - 3rem));max-height:calc(100dvh - 3rem);overflow:hidden!important}.admission-workflow-popup>.fee-popup-heading{position:relative;top:auto;z-index:4;margin:0}.admission-workflow-scroll{display:grid;align-content:start;gap:1rem;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 9px 24px 2px}.admission-workflow-popup>.admission-form-actions{position:relative;bottom:auto;z-index:4;margin:0;padding:14px 0 0;border-top:1px solid rgba(128,84,239,.14);background:var(--card)}@media (max-width:640px){.admission-workflow-popup{height:100dvh;max-height:100dvh;border-radius:0}.admission-popup-backdrop{padding:0}}.admission-popup.admission-workflow-popup{display:flex!important;flex-direction:column;gap:14px;height:calc(100dvh - 3rem)!important;min-height:0;overflow:hidden!important}.admission-workflow-popup>.fee-popup-heading{flex:0 0 auto}.admission-workflow-popup>.admission-workflow-scroll{flex:1 1 0;width:100%;height:0!important;min-height:0!important;max-height:none;overflow-x:hidden!important;overflow-y:scroll!important;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding-bottom:40px}.admission-workflow-popup>.admission-form-actions{flex:0 0 auto}@media (max-width:640px){.admission-popup.admission-workflow-popup{height:100dvh!important}}.admission-popup.admission-workflow-popup{display:block!important;width:min(1180px,calc(100vw - 32px));height:auto!important;max-height:calc(100dvh - 32px)!important;min-height:0;padding:20px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.admission-workflow-popup>.fee-popup-heading{position:relative!important;top:auto!important;margin:0 0 16px!important}.admission-workflow-popup>.admission-workflow-scroll{display:grid;gap:16px;width:100%;height:auto!important;min-height:0!important;max-height:none!important;padding:0 0 24px!important;overflow:visible!important}.admission-workflow-popup>.admission-form-actions{position:relative!important;inset:auto!important;width:100%;margin:0!important;padding:16px 0 2px!important;background:var(--card)}.admission-workflow-popup .admission-stage-strip{display:flex;width:100%;min-width:0;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-gutter:auto;padding:4px 3px 12px}.admission-workflow-popup .admission-stage-strip>button{flex:0 0 150px!important;width:150px;min-width:150px!important;min-height:108px;padding:10px 8px}.admission-workflow-popup .admission-stage-strip button small{display:block;width:100%;min-height:42px;overflow:visible;color:inherit;line-height:1.25;white-space:normal;overflow-wrap:normal;word-break:normal}.admission-workflow-popup :is(.admission-stage-control,.admission-form-section,.admission-form-grid){min-width:0;max-width:100%}@media (max-width:640px){.admission-popup.admission-workflow-popup{width:100vw;height:100dvh!important;max-height:100dvh!important;padding:14px!important;border-radius:0}.admission-workflow-popup .admission-stage-strip>button{flex-basis:138px!important;width:138px;min-width:138px!important}}.teacher-edit-popup{display:flex!important;flex-direction:column;width:min(1180px,calc(100vw - 32px));height:calc(100dvh - 32px)!important;max-height:calc(100dvh - 32px)!important;min-height:0;overflow:hidden!important}.teacher-edit-popup>.fee-popup-heading{position:relative!important;top:auto!important;flex:0 0 auto;margin:0}.teacher-edit-popup>.teacher-edit-scroll{display:grid;align-content:start;gap:16px;flex:1 1 0;width:100%;height:0;min-height:0;overflow-x:hidden!important;overflow-y:scroll!important;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:2px 9px 32px 2px}.teacher-edit-popup>.editor-message{flex:0 0 auto;margin:0}.teacher-edit-popup>.teacher-form-actions{position:relative!important;inset:auto!important;flex:0 0 auto;width:100%;margin:0;padding:14px 0 0;border-top:1px solid rgba(128,84,239,.14);background:var(--card)}@media (max-width:640px){.teacher-edit-backdrop{padding:0}.teacher-edit-popup{width:100vw;height:100dvh!important;max-height:100dvh!important;border-radius:0}}.generic-item-popup.branded-collection-popup:has(>.content-popup-scroll){display:flex!important;flex-direction:column;width:min(900px,calc(100vw - 32px));height:calc(100dvh - 32px)!important;max-height:calc(100dvh - 32px)!important;min-height:0;overflow:hidden!important}.generic-item-popup.branded-collection-popup>.fee-popup-heading{position:relative!important;top:auto!important;flex:0 0 auto;margin:0}.generic-item-popup.branded-collection-popup>.content-popup-scroll{display:grid;align-content:start;gap:14px;flex:1 1 0;width:100%;height:0;min-height:0;overflow-x:hidden!important;overflow-y:scroll!important;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:2px 9px 32px 2px}.generic-item-popup.branded-collection-popup>.content-popup-scroll>.content-field-grid{width:100%;min-width:0}.generic-item-popup.branded-collection-popup>.admission-form-actions{position:relative!important;inset:auto!important;flex:0 0 auto;width:100%;margin:0;padding:14px 0 0;border-top:1px solid rgba(128,84,239,.14);background:var(--card)}@media (max-width:640px){.generic-item-popup.branded-collection-popup:has(>.content-popup-scroll){width:100vw;height:100dvh!important;max-height:100dvh!important;border-radius:0}}.generic-item-popup.exam-config-popup{display:block!important;width:min(760px,calc(100vw - 32px));height:auto!important;max-height:calc(100dvh - 32px)!important;min-height:0;padding:20px!important;overflow-x:hidden!important;overflow-y:scroll!important;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;touch-action:pan-y}.exam-config-popup>.fee-popup-heading{position:relative!important;top:auto!important;margin:0 0 18px!important}.exam-config-popup>.admission-form-grid{width:100%;min-width:0;margin-bottom:18px}.exam-config-popup>.exam-scope-note{margin:0 0 18px}.exam-config-popup>.admission-form-actions{position:relative!important;inset:auto!important;width:100%;margin:0!important;padding:16px 0 2px!important;border-top:1px solid rgba(128,84,239,.14);background:var(--card)}@media (max-width:640px){.generic-item-popup.exam-config-popup{width:100vw;height:100dvh!important;max-height:100dvh!important;padding:14px!important;border-radius:0}}.exam-module{grid-auto-rows:max-content;row-gap:16px!important;min-width:0;padding:2px}.exam-module>*{min-width:0}.exam-admin-tabs{align-items:center;gap:8px!important;min-height:56px;padding:8px!important}.exam-admin-tabs button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 16px!important;line-height:1.2}.exam-section-heading{min-height:78px;margin:0!important;padding:14px 20px 14px 26px!important}.exam-section-heading>div{display:grid;min-width:0;gap:7px}.exam-section-heading h3,.exam-section-heading p{position:relative;z-index:1;max-width:100%;line-height:1.3;overflow-wrap:anywhere}.exam-section-heading p{margin:0!important}.exam-analysis-filters{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:end;gap:14px!important;padding:16px!important}.exam-analysis-filters label{min-width:0;gap:8px!important;line-height:1.25}.exam-analysis-filters select{min-width:0;height:50px;padding:0 14px!important}.exam-analysis-grid{gap:16px!important}.exam-analysis-grid article{display:grid;align-content:start;gap:8px;min-width:0;padding:22px!important}.exam-analysis-grid article>span,.exam-analysis-grid h4{line-height:1.35;overflow-wrap:anywhere}.exam-analysis-grid h4{margin:0 0 10px!important}.exam-analysis-grid dl{gap:14px!important}.exam-analysis-grid dl div{min-width:0;min-height:76px;align-content:center;gap:7px!important;padding:14px!important}.exam-analysis-grid dt,.exam-analysis-grid dd{line-height:1.25;overflow-wrap:anywhere}@media (max-width:800px){.exam-analysis-filters{grid-template-columns:1fr!important}.exam-analysis-grid dl{grid-template-columns:1fr}.exam-admin-tabs,.exam-section-heading{min-height:0}}.published-result-detail{display:grid;gap:12px;min-width:0;padding:16px;border:1px solid rgba(128,84,239,.16);border-radius:14px;background:var(--card);box-shadow:0 8px 24px #5b42dc0d}.published-result-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}.published-result-heading>div{display:grid;gap:3px;min-width:0}.published-result-heading span{color:var(--muted);font-size:.72rem;font-weight:750}.published-result-heading h4{margin:0;color:var(--text);font-size:1rem}.published-result-heading>strong{color:var(--primary);font-size:.76rem;white-space:nowrap}.published-result-table{min-width:980px}.published-result-table td{white-space:nowrap}.published-results-empty{padding:24px!important;border:1px dashed var(--primary-soft);border-radius:12px}@media (max-width:650px){.published-result-heading{align-items:flex-start;flex-direction:column}.published-result-heading>strong{white-space:normal}}.attendance-overview-filters{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end!important;gap:12px!important;width:100%;max-width:100%;overflow:hidden}.attendance-overview-filters label{min-width:0;gap:8px!important;color:var(--text)!important;line-height:1.25}.attendance-overview-filters :is(input,select){width:100%;min-width:0;height:50px;padding:0 38px 0 14px!important;color:var(--text)!important;font-weight:750;text-overflow:ellipsis}.attendance-overview-filters input{padding-right:14px!important}.attendance-overview-filters .attendance-student-search{width:100%;min-width:0!important;max-width:100%}.attendance-overview-filters .attendance-student-search input{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.attendance-overview-filters select:disabled{opacity:.7;color:var(--muted)!important}.attendance-overview-filters>span{grid-column:1/-1;min-width:0;margin:0!important;align-self:center!important;padding:2px 3px 0;line-height:1.4;overflow-wrap:anywhere}@media (max-width:1100px){.attendance-overview-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-overview-filters>span{grid-column:1/-1}}@media (max-width:650px){.attendance-overview-filters{grid-template-columns:1fr 1fr}.attendance-overview-filters label:nth-of-type(5),.attendance-overview-filters>span{grid-column:1/-1}}.fee-edit-popup{display:flex!important;flex-direction:column;width:min(1180px,calc(100vw - 32px));height:calc(100dvh - 32px)!important;max-height:calc(100dvh - 32px)!important;min-height:0;overflow:hidden!important}.fee-edit-popup>.fee-popup-heading{position:relative!important;top:auto!important;flex:0 0 auto;margin:0}.fee-edit-popup>.fee-edit-scroll{display:grid;align-content:start;gap:16px;flex:1 1 0;width:100%;height:0;min-height:0;overflow-x:hidden!important;overflow-y:scroll!important;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;padding:2px 9px 36px 2px}.fee-edit-scroll>fieldset:last-child{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.fee-edit-popup>.editor-message{flex:0 0 auto;margin:0}.fee-edit-popup>.fee-form-actions{position:relative!important;inset:auto!important;flex:0 0 auto;width:100%;margin:0;padding:14px 0 0;border-top:1px solid rgba(128,84,239,.14);background:var(--card)}@media (max-width:640px){.fee-edit-backdrop{padding:0}.fee-edit-popup{width:100vw;height:100dvh!important;max-height:100dvh!important;border-radius:0}}.announcement-card.admin-compact{grid-template-columns:76px minmax(0,1fr) auto!important;align-items:center;min-height:122px!important;height:auto!important;padding:12px 16px!important;overflow:hidden}.announcement-card.admin-compact .announcement-preview{width:76px!important;height:88px!important;align-self:center;border-radius:14px}.announcement-card.admin-compact .announcement-copy{align-content:center;gap:4px!important;min-height:88px;padding-block:2px}.announcement-card.admin-compact .announcement-copy :is(.announcement-kicker,h2,.announcement-description,.announcement-date){min-width:0;line-height:1.25}.announcement-card.admin-compact .announcement-description{-webkit-line-clamp:1!important}.announcement-card.admin-compact .announcement-date{display:flex!important;margin:1px 0 0!important;min-height:18px;overflow:visible}.parent-account-section{display:grid;gap:18px}.parent-account-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.parent-account-heading h3,.parent-account-heading p{margin:0}.parent-account-heading p{margin-top:5px;color:var(--muted);font-size:.78rem}.parent-account-heading>button{flex:0 0 auto}.parent-reset-result{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:14px 16px;border:1px solid #86efac;border-radius:8px;background:#f0fdf4;color:#166534}.parent-reset-result>strong{flex-basis:100%}.parent-reset-result span{font-size:.78rem}.parent-reset-result small{flex-basis:100%;color:#4b5563}.parent-account-section .admission-form-grid label small{margin-top:5px;color:var(--muted);font-size:.7rem;font-weight:600}@media (max-width:650px){.parent-account-heading{flex-direction:column}.parent-account-heading>button{width:100%}.parent-reset-result{display:grid}}@media (max-width:700px){.announcement-card.admin-compact{grid-template-columns:62px minmax(0,1fr)!important}.announcement-card.admin-compact .announcement-preview{width:62px!important;height:72px!important}.announcement-card.admin-compact .announcement-copy{min-height:72px}.announcement-card.admin-compact .announcement-inline-actions{right:0}}.curriculum-document{grid-template-columns:minmax(180px,1fr) minmax(130px,.7fr) auto 120px!important}.curriculum-document>label{position:relative;display:block!important}.curriculum-document-preview{min-height:38px;padding:8px 14px;border:0;border-radius:8px;background:#f0edff;color:#6742d5;font-weight:850;cursor:pointer}.school-hub-document-row>strong small{display:block;margin-top:4px;color:var(--muted);font-size:11px;font-weight:600}@media (max-width:700px){.curriculum-document{grid-template-columns:1fr auto!important}.curriculum-document>span{grid-column:1}.curriculum-document-preview{grid-column:2;grid-row:1}.curriculum-document>label{grid-column:2;grid-row:2}.curriculum-document>label i{width:100%}}.document-image-preview{display:grid;place-items:center;min-height:0;padding:20px;overflow:auto;background:#eef1f5}.document-image-preview img{display:block;max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 8px 30px #0f172a2e}.ptm-list{display:grid;align-content:start;gap:14px;min-width:0;padding:24px!important}.ptm-list>header{min-height:54px}.ptm-list>header h2{margin:4px 0 0!important;line-height:1.2}.ptm-list>.leave-status-tabs{margin:0!important}.ptm-list>.editor-message{margin:0!important}.ptm-list>.ptm-grid{margin:0!important}.ptm-card{align-content:start;padding:20px!important;box-shadow:0 8px 24px #5b42dc0b}.ptm-card>header{min-height:82px}.ptm-card>header h3{line-height:1.25;overflow-wrap:break-word}.ptm-card>dl{grid-template-columns:130px 64px minmax(0,1fr)!important;min-height:96px;padding:14px 16px!important}.ptm-card>dl>div{display:grid;align-content:start;gap:5px;min-width:0}.ptm-card>dl dd{line-height:1.35}.ptm-report{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important;gap:14px!important;margin-top:2px;padding:16px;border:1px solid rgba(128,84,239,.16);border-radius:8px;background:color-mix(in srgb,var(--primary-soft) 48%,var(--card))}.ptm-report-heading{padding-bottom:11px;border-bottom:1px solid rgba(128,84,239,.14)}.ptm-report-heading h4,.ptm-report-heading p{margin:0}.ptm-report-heading h4{color:var(--text);font-size:.92rem}.ptm-report-heading p{margin-top:3px;color:var(--muted);font-size:.72rem}.ptm-report>label,.ptm-report-row>label{position:relative!important;display:grid!important;grid-template-columns:1fr!important;align-items:start!important;gap:7px!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;color:var(--text)!important;font-size:.75rem!important;font-weight:800!important;line-height:1.25!important}.ptm-report label>span{display:block;min-width:0}.ptm-report textarea,.ptm-report input{box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0!important;border:1px solid rgba(128,84,239,.2)!important;border-radius:8px!important;background:var(--card)!important;color:var(--text)!important;font:inherit!important}.ptm-report textarea{height:auto!important;min-height:78px!important;padding:11px 12px!important;resize:vertical}.ptm-report input{height:46px!important;padding:0 12px!important}.ptm-report-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(150px,.6fr);align-items:start;gap:12px;min-width:0}.ptm-report>button{justify-self:end;min-width:220px;min-height:46px;padding:10px 18px!important}.ptm-report>label:has(>textarea:required):after{top:0!important;right:0!important}.ptm-report-row>label:after{content:none!important}@media (max-width:900px){.ptm-card>dl{grid-template-columns:1fr 1fr!important}.ptm-card>dl>div:last-child{grid-column:1/-1}.ptm-report-row{grid-template-columns:1fr}}@media (max-width:620px){.ptm-list{padding:15px!important}.ptm-grid{grid-template-columns:1fr!important}.ptm-card{padding:15px!important}.ptm-card>header{min-height:0}.ptm-card>dl{grid-template-columns:1fr!important}.ptm-card>dl>div:last-child{grid-column:auto}.ptm-report{padding:13px}.ptm-report>button{justify-self:stretch;width:100%;min-width:0}}.announcements-achievement-view{position:relative;overflow:hidden}.announcements-achievement-view:before{content:"";position:absolute;z-index:2;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue),var(--brand-pink),var(--brand-orange),var(--brand-teal))}.announcement-achievement-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.announcement-achievement-heading>button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--primary-soft);border-radius:13px;background:var(--card);color:var(--primary);font-size:1.25rem;cursor:pointer}.announcement-achievement-heading>div{min-width:0}.announcement-image-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#8054ef21,#2563eb14);color:var(--brand-violet);font-size:2rem}.announcement-achievement-card .achievement-tag{color:var(--brand-blue)}.announcement-achievement-card .achievement-card-topline>span{background:#ecfdf5;color:#047857}@media (max-width:600px){.announcement-achievement-heading{grid-template-columns:auto minmax(0,1fr);align-items:start}.announcement-achievement-heading>span{grid-column:2;width:max-content}.announcement-achievement-heading>button{width:38px;height:38px}}.generic-item-popup.exam-bulk-schedule-popup{display:grid!important;grid-template-rows:auto auto auto minmax(180px,1fr) auto auto;width:min(1180px,calc(100vw - 32px));height:min(860px,calc(100dvh - 32px));max-height:calc(100dvh - 32px)!important;min-height:0;overflow:hidden!important}.exam-bulk-schedule-popup>.fee-popup-heading{position:relative!important;z-index:3;top:auto!important;min-width:0;min-height:88px;margin:0!important;padding:14px 64px 14px 18px!important;flex:0 0 auto}.exam-bulk-schedule-popup>.fee-popup-heading>div{min-width:0}.exam-bulk-schedule-popup>.fee-popup-heading>button{position:absolute;top:12px;right:14px}.exam-bulk-schedule-popup>.exam-bulk-scope,.exam-bulk-schedule-popup>.exam-bulk-list-heading,.exam-bulk-schedule-popup>.editor-message,.exam-bulk-schedule-popup>.admission-form-actions{min-width:0;flex:0 0 auto}.exam-bulk-schedule-popup>.exam-bulk-table-wrap{min-width:0;min-height:0;max-height:none;overflow:auto!important;scrollbar-gutter:stable}.exam-bulk-schedule-popup>.exam-bulk-table-wrap thead{position:sticky;z-index:2;top:0}.exam-bulk-schedule-popup>.admission-form-actions{position:relative!important;inset:auto!important;margin:0!important;padding:12px 0 0!important;border-top:1px solid rgba(128,84,239,.14);background:var(--card)}@media (max-width:600px){.generic-item-popup.exam-bulk-schedule-popup{width:100vw;height:100dvh;max-height:100dvh!important;padding:14px!important;border-radius:0}.exam-bulk-list-heading{align-items:flex-start;flex-direction:column;gap:3px}}@media (min-width:701px){.generic-item-popup.exam-bulk-schedule-popup{grid-template-rows:auto auto auto auto auto;gap:9px!important;height:auto!important;max-height:calc(100dvh - 12px)!important;padding:12px 16px!important;overflow-x:hidden!important;overflow-y:auto!important}.exam-bulk-schedule-popup>.fee-popup-heading{min-height:78px!important;margin:0!important;padding:10px 58px 10px 14px!important;border-radius:8px}.exam-bulk-schedule-popup>.fee-popup-heading>div{gap:2px}.exam-bulk-schedule-popup>.fee-popup-heading h2{margin:1px 0!important;font-size:1.35rem;line-height:1.15}.exam-bulk-schedule-popup>.fee-popup-heading p{margin:2px 0 0!important;font-size:.78rem;line-height:1.25}.exam-bulk-schedule-popup>.fee-popup-heading>button{width:38px;height:38px}.exam-bulk-schedule-popup>.exam-bulk-scope{gap:9px;margin:0!important}.exam-bulk-schedule-popup>.exam-bulk-scope label{gap:4px}.exam-bulk-schedule-popup>.exam-bulk-scope select{height:44px!important;padding:0 34px 0 11px!important}.exam-bulk-schedule-popup>.exam-bulk-list-heading{min-height:24px}.exam-bulk-schedule-popup>.exam-bulk-table-wrap{min-height:0;max-height:none!important;overflow-x:auto!important;overflow-y:visible!important;scrollbar-gutter:auto}.exam-bulk-schedule-popup .exam-bulk-table th{padding:7px 10px}.exam-bulk-schedule-popup .exam-bulk-table td{height:48px;padding:5px 10px}.exam-bulk-schedule-popup .exam-bulk-table input{height:38px!important;min-height:38px!important;padding:5px 9px!important}.exam-bulk-schedule-popup>.admission-form-actions{min-height:48px;padding:7px 0 0!important}.exam-bulk-schedule-popup>.admission-form-actions button{min-height:40px;padding:7px 13px!important}}.teacher-results-workspace{display:grid;gap:24px;min-width:0}.teacher-results-workspace .teacher-mark-entry-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;overflow:hidden;margin:0;padding:28px 32px 0;border:1px solid color-mix(in srgb,var(--brand-violet) 17%,var(--card));border-radius:22px;background:linear-gradient(115deg,var(--card) 40%,color-mix(in srgb,var(--brand-violet) 7%,var(--card)) 78%,color-mix(in srgb,var(--brand-blue) 9%,var(--card)));box-shadow:0 10px 30px #17233d0b}.teacher-mark-entry-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue) 62%,var(--brand-pink) 82%,var(--brand-orange))}.teacher-mark-entry-card .teacher-exam-intro{gap:8px}.teacher-exam-brand{display:flex;align-items:center;gap:8px;margin-bottom:6px;color:var(--muted);font-size:.66rem;font-weight:800;letter-spacing:.1em}.teacher-exam-brand img{width:32px;height:32px}.teacher-exam-intro .admin-eyebrow{color:var(--brand-violet);font-size:.7rem;letter-spacing:.09em}.teacher-mark-entry-card h3{color:var(--text);font-size:clamp(1.35rem,2.2vw,1.8rem);letter-spacing:-.035em;line-height:1.25}.teacher-mark-entry-card .teacher-exam-intro>p:last-child{max-width:650px;font-size:.9rem;line-height:1.6}.teacher-mark-entry-card>button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;border-radius:12px;box-shadow:0 7px 16px color-mix(in srgb,var(--brand-violet) 20%,transparent)}.teacher-mark-entry-card .teacher-exam-guidance{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 28px;padding:16px 0;border-top:1px solid color-mix(in srgb,var(--brand-violet) 13%,transparent);color:var(--muted);font-size:.76rem}.teacher-exam-guidance span{display:flex;align-items:center;gap:8px}.teacher-exam-guidance svg{color:var(--brand-violet)}.teacher-mark-entry-card>.feedback-error{grid-column:1/-1;padding-bottom:18px}.teacher-results-workspace .published-dashboard-results.compact{margin:0}.published-dashboard-results{gap:22px;padding:26px;border:1px solid color-mix(in srgb,var(--brand-violet) 13%,var(--card));border-radius:22px;box-shadow:0 10px 30px #17233d0a}.published-dashboard-results>header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.published-dashboard-title{gap:14px;align-items:center}.published-dashboard-title>span{width:48px;height:48px;flex-basis:48px;border-radius:14px}.published-dashboard-title h2{font-size:1.25rem;letter-spacing:-.025em;color:var(--text)}.published-dashboard-title p:last-child{margin-top:5px;font-size:.82rem;line-height:1.5;color:var(--muted)}.published-dashboard-title .admin-eyebrow{font-size:.65rem;letter-spacing:.09em;color:var(--brand-violet)}.exam-published-label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.72rem;white-space:nowrap}.exam-published-label svg{color:var(--brand-teal)}.published-dashboard-filters{display:flex;flex-wrap:wrap;gap:14px;padding:18px;border:1px solid var(--primary-soft);border-radius:14px;background:color-mix(in srgb,var(--primary-soft) 35%,var(--card))}.published-dashboard-filters label{display:grid;gap:7px;flex:1 1 150px;color:var(--muted);font-size:.74rem;font-weight:700}.published-dashboard-filters label:first-child{flex:2 1 280px}.published-dashboard-filters select{min-height:44px;padding:10px 34px 10px 12px;border:1px solid color-mix(in srgb,var(--brand-violet) 22%,var(--card));border-radius:9px;background:var(--card);color:var(--text);font-size:.85rem;font-weight:600}.exam-overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.exam-overview-stats article{display:flex;align-items:flex-start;gap:12px;padding:18px 14px;border:1px solid var(--primary-soft);border-radius:13px;background:var(--card)}.exam-overview-stats article>svg{width:32px;height:32px;padding:7px;flex-shrink:0;border-radius:9px;background:var(--primary-soft);color:var(--brand-violet)}.exam-overview-stats article:nth-child(2)>svg{color:var(--brand-blue);background:color-mix(in srgb,var(--brand-blue) 10%,var(--card))}.exam-overview-stats article:nth-child(3)>svg{color:var(--brand-teal);background:color-mix(in srgb,var(--brand-teal) 10%,var(--card))}.exam-overview-stats article:nth-child(4)>svg{color:var(--brand-orange);background:color-mix(in srgb,var(--brand-orange) 10%,var(--card))}.exam-overview-stats article>div{display:grid;gap:5px}.exam-overview-stats span,.exam-overview-stats small{color:var(--muted);font-size:.7rem;line-height:1.4}.exam-overview-stats strong{color:var(--text);font-size:1.6rem;line-height:1.1;letter-spacing:-.04em}.exam-overview-stats strong small{font-size:.85rem;letter-spacing:0;font-weight:500}.published-dashboard-meta{padding:0 2px;background:transparent}.published-dashboard-meta span{color:var(--text);font-size:.9rem}.published-dashboard-meta svg{color:var(--brand-violet)}.published-dashboard-meta>strong{font-size:.74rem;font-weight:600;color:var(--muted)}.published-dashboard-table-wrap{border-radius:13px}.published-dashboard-table-wrap th{padding:14px 16px;background:color-mix(in srgb,var(--brand-violet) 8%,var(--card));color:var(--muted);font-size:.65rem;letter-spacing:.055em}.published-dashboard-table-wrap td{padding:17px 16px;font-size:.84rem;color:var(--text)}.published-dashboard-table-wrap td:first-child{font-size:.77rem;color:var(--muted);font-variant-numeric:tabular-nums}.published-dashboard-table-wrap tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 24%,var(--card))}.exam-rank{display:inline-grid;place-items:center;min-width:34px;min-height:30px;font-weight:750;color:var(--muted)}.exam-rank.first{border-radius:8px;color:var(--brand-violet);background:var(--primary-soft)}.published-result-outcome{padding:6px 11px;font-size:.68rem;text-transform:uppercase;letter-spacing:.025em}.published-result-outcome.absent{color:#9a3412;background:#ffedd5}.published-result-outcome.incomplete{color:var(--muted);background:var(--primary-soft)}.exam-absence-text{display:block;margin-top:5px;color:var(--brand-orange);font-size:.7rem;font-weight:600}.exam-results-footnote{margin:0;color:var(--muted);font-size:.74rem;line-height:1.6}.exam-results-empty{display:grid;justify-items:center;gap:8px;padding:35px 18px;text-align:center;border:1px dashed var(--primary-soft);border-radius:14px}.exam-results-empty>svg{color:var(--brand-violet)}.exam-results-empty h3,.exam-results-empty p{margin:0}.exam-results-empty p{color:var(--muted);font-size:.85rem}.teacher-marks-popup{border:1px solid color-mix(in srgb,var(--brand-violet) 20%,transparent);border-radius:22px;padding:0;gap:0}.teacher-marks-popup>header{padding:22px 26px;background:linear-gradient(110deg,color-mix(in srgb,var(--brand-violet) 7%,var(--card)),var(--card))}.teacher-marks-popup>header h2{font-size:1.35rem;letter-spacing:-.02em}.teacher-marks-popup>.exam-module{padding:20px 24px;gap:18px;overscroll-behavior:contain}.teacher-marks-popup .exam-admin-tabs{gap:8px}.teacher-marks-popup .exam-admin-tabs button{border-radius:9px;font-size:.8rem}.teacher-marks-popup .exam-section-heading h3{font-size:1rem}.teacher-marks-popup .exam-section-heading p{color:var(--muted);font-size:.8rem}.teacher-marks-popup .exam-scope-note{font-size:.76rem;font-weight:500;line-height:1.55}.teacher-marks-popup .exam-mark-filters{padding:16px;gap:12px}.teacher-marks-popup .exam-mark-filters select{min-height:44px;background:var(--card)}.exam-absence-note{margin:0;padding:12px 16px;border-left:3px solid var(--brand-orange);border-radius:0 9px 9px 0;background:color-mix(in srgb,var(--brand-orange) 6%,var(--card));color:var(--muted);font-size:.78rem;line-height:1.65}.exam-absence-note strong{color:var(--text)}.exam-absence-control{display:flex!important;align-items:center;gap:7px;width:max-content;margin:0 0 8px;color:var(--muted);font-size:.7rem;font-weight:600;cursor:pointer}.exam-absence-control input[type=checkbox]{width:15px!important;height:15px!important;min-height:0;padding:0;margin:0;accent-color:var(--brand-orange)}.exam-absence-control>span{padding:1px 5px;border-radius:4px;background:var(--primary-soft);font-size:.6rem;font-weight:800}.is-absent .exam-absence-control{color:var(--brand-orange)}.is-absent .mark-entry-input{border-style:dashed;border-color:var(--brand-orange);background:color-mix(in srgb,var(--brand-orange) 6%,var(--card))}.is-absent .mark-entry-input::placeholder{color:var(--brand-orange);opacity:1;font-weight:800}.subject-mark-cell>small[role=status]{display:block;max-width:210px;margin-top:7px;color:var(--muted);font-size:.68rem;line-height:1.45}.mark-entry-input:disabled{cursor:not-allowed}.subject-mark-meta{margin-top:8px}.teacher-marks-popup .exam-mark-actions{position:sticky;bottom:-20px;z-index:4;margin:0 -24px -20px;padding:16px 24px;border-top:1px solid var(--primary-soft);background:var(--card);box-shadow:0 -5px 20px #17233d0a}.exam-mark-actions button:disabled{opacity:.45;cursor:not-allowed}@media (max-width:1000px){.exam-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.published-dashboard-results>header{grid-template-columns:1fr;gap:12px}.teacher-marks-popup .exam-mark-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.teacher-results-workspace{gap:16px}.teacher-results-workspace .teacher-mark-entry-card{grid-template-columns:1fr;padding:22px 20px 0;gap:18px;border-radius:17px}.teacher-mark-entry-card>button{justify-self:start}.teacher-exam-guidance{font-size:.7rem!important}.published-dashboard-results{padding:18px;gap:18px;border-radius:17px}.published-dashboard-title>span{width:40px;height:40px;flex-basis:40px}.published-dashboard-title h2{font-size:1.08rem}.published-dashboard-filters{padding:12px;gap:12px}.published-dashboard-filters label{flex-basis:110px}.published-dashboard-filters label:first-child{flex-basis:100%}.exam-overview-stats{gap:8px}.exam-overview-stats article{padding:13px 10px;gap:8px}.exam-overview-stats article>svg{width:27px;height:27px;padding:5px}.exam-overview-stats strong{font-size:1.35rem}.published-dashboard-meta{align-items:flex-start;flex-direction:column;gap:7px}.teacher-marks-popup{height:100dvh;border-radius:0}.teacher-marks-popup>header{padding:16px}.teacher-marks-popup>.exam-module{padding:16px}.teacher-marks-popup .exam-mark-actions{bottom:-16px;margin:0 -16px -16px;padding:12px 16px}.teacher-marks-popup .exam-mark-actions button{flex:1;font-size:.76rem}.teacher-marks-popup .exam-mark-filters{padding:12px}}@media (max-width:600px){.teacher-marks-popup .marks-only-exam-module .exam-student-table-wrap{overflow:visible;border:0;border-radius:0;box-shadow:none}.teacher-marks-popup .marks-only-exam-module .exam-student-table{display:block;width:100%;min-width:0;background:transparent}.teacher-marks-popup .marks-only-exam-module .exam-student-table thead{display:none}.teacher-marks-popup .marks-only-exam-module .exam-student-table tbody{display:grid;gap:12px}.teacher-marks-popup .marks-only-exam-module .exam-student-table tr{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);overflow:hidden;border:1px solid var(--primary-soft);border-radius:12px;background:var(--card);box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 6%,transparent)}.teacher-marks-popup .marks-only-exam-module .exam-student-table td{min-width:0;padding:11px 12px;border:0;white-space:normal}.teacher-marks-popup .marks-only-exam-module .mark-student-id,.teacher-marks-popup .marks-only-exam-module .mark-student-name{display:grid;gap:4px;align-content:center;background:var(--primary-soft);font-size:.76rem;overflow-wrap:anywhere}.teacher-marks-popup .marks-only-exam-module .mark-student-id:before,.teacher-marks-popup .marks-only-exam-module .mark-student-name:before{content:attr(data-label);color:var(--muted);font-size:.58rem;font-weight:800;text-transform:uppercase}.teacher-marks-popup .marks-only-exam-module .subject-mark-cell{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:14px 12px;border-top:1px solid var(--primary-soft)}.teacher-marks-popup .marks-only-exam-module .subject-mark-cell:before{content:"Subject marks";grid-column:1 / -1;color:var(--text);font-size:.7rem;font-weight:800;text-transform:uppercase}.teacher-marks-popup .marks-only-exam-module .subject-mark-cell .exam-absence-control{align-self:center;margin:0}.teacher-marks-popup .marks-only-exam-module .subject-mark-cell .mark-entry-input{grid-column:1 / -1;width:100%;min-width:0}.teacher-marks-popup .marks-only-exam-module .subject-mark-cell>small[role=status]{grid-column:1 / -1;max-width:none}.teacher-marks-popup .marks-only-exam-module .subject-mark-meta{grid-column:1 / -1;margin-top:0}.teacher-marks-popup .marks-only-exam-module .result-calculation{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--primary-soft);font-size:.72rem}.teacher-marks-popup .marks-only-exam-module .result-calculation:before{color:var(--muted);font-size:.6rem;font-weight:800;text-transform:uppercase}.teacher-marks-popup .marks-only-exam-module .result-calculation:nth-last-child(5):before{content:"Total"}.teacher-marks-popup .marks-only-exam-module .result-calculation:nth-last-child(4):before{content:"Percentage"}.teacher-marks-popup .marks-only-exam-module .result-calculation:nth-last-child(3):before{content:"Grade"}.teacher-marks-popup .marks-only-exam-module .result-calculation:nth-last-child(2):before{content:"Rank"}.teacher-marks-popup .marks-only-exam-module .exam-student-table td:last-child{grid-column:1 / -1;border-top:1px solid var(--primary-soft)}.teacher-marks-popup .marks-only-exam-module .comment-result-button{width:100%}.teacher-marks-popup .marks-only-exam-module .empty-state{grid-column:1 / -1;text-align:center}}.admin-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;min-width:0}.admin-module-tile{--tile-color:var(--brand-violet);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;min-width:0;padding:24px 18px 22px;border:1px solid color-mix(in srgb,var(--tile-color) 16%,var(--card));border-radius:18px;background:var(--card);color:var(--text);text-align:center;cursor:pointer;box-shadow:0 5px 18px #17233d09;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.admin-module-tile:nth-child(5n+2){--tile-color:var(--brand-blue)}.admin-module-tile:nth-child(5n+3){--tile-color:var(--brand-pink)}.admin-module-tile:nth-child(5n+4){--tile-color:var(--brand-orange)}.admin-module-tile:nth-child(5n){--tile-color:var(--brand-teal)}.admin-tile-icon{display:grid;place-items:center;width:64px;height:64px;flex-shrink:0;border-radius:18px;background:color-mix(in srgb,var(--tile-color) 11%,var(--card));color:var(--tile-color)}.admin-tile-title{max-width:230px;font-size:.94rem;font-weight:750;line-height:1.4;color:var(--text)}.admin-tile-description{max-width:260px;font-size:.73rem;line-height:1.55;color:var(--muted)}.admin-tile-arrow{position:absolute;top:15px;right:15px;color:var(--tile-color);opacity:.55}.admin-module-tile:hover:not(:disabled){transform:translateY(-3px);border-color:color-mix(in srgb,var(--tile-color) 48%,var(--card));box-shadow:0 10px 26px color-mix(in srgb,var(--tile-color) 12%,transparent)}.admin-module-tile:focus-visible{outline:3px solid var(--tile-color);outline-offset:3px}.admin-module-tile:disabled{cursor:wait;opacity:.65}@media (min-width:1500px){.admin-module-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (max-width:1050px){.admin-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:700px){.admin-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-module-tile{padding:22px 12px 18px;gap:10px;border-radius:14px}.admin-tile-icon{width:54px;height:54px;border-radius:15px}.admin-tile-title{font-size:.83rem}.admin-tile-description{font-size:.7rem}}@media (prefers-reduced-motion:reduce){.admin-module-tile{transition:none}.admin-module-tile:hover:not(:disabled){transform:none}}.teacher-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0}.teacher-quick-actions a{--action-color:var(--brand-violet);display:flex;align-items:center;gap:12px;min-width:0;padding:18px 14px;border:1px solid color-mix(in srgb,var(--action-color) 18%,var(--card));border-radius:14px;background:var(--card);color:var(--text);text-decoration:none;box-shadow:0 5px 18px #17233d09;transition:transform .15s ease,border-color .15s ease}.teacher-quick-actions a:nth-child(2){--action-color:var(--brand-blue)}.teacher-quick-actions a:nth-child(3){--action-color:var(--brand-pink)}.teacher-quick-actions a:nth-child(4){--action-color:var(--brand-teal)}.teacher-action-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px;color:var(--action-color);background:color-mix(in srgb,var(--action-color) 11%,var(--card))}.teacher-action-icon svg{width:21px;height:21px}.teacher-quick-actions a>span:nth-child(2){display:grid;gap:5px;min-width:0}.teacher-quick-actions strong{font-size:.83rem;line-height:1.35}.teacher-quick-actions small{font-size:.68rem;line-height:1.4;color:var(--muted)}.teacher-action-arrow{width:15px;height:15px;flex:0 0 15px;margin-left:auto;color:var(--action-color)}.teacher-quick-actions a:hover{transform:translateY(-2px);border-color:var(--action-color)}.teacher-quick-actions a:focus-visible{outline:3px solid var(--action-color);outline-offset:3px}#teacher-class-attendance,#teacher-timetable,#teacher-feedback,#teacher-duties{scroll-margin-top:24px}@media (max-width:1100px){.teacher-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.teacher-quick-actions{gap:8px}.teacher-quick-actions a{align-items:flex-start;gap:9px;padding:13px 10px}.teacher-action-icon{width:32px;height:32px;flex-basis:32px;border-radius:9px}.teacher-action-icon svg{width:18px;height:18px}.teacher-quick-actions strong{font-size:.75rem}.teacher-quick-actions small{font-size:.64rem}.teacher-action-arrow{display:none}}@media (prefers-reduced-motion:reduce){.teacher-quick-actions a{transition:none}.teacher-quick-actions a:hover{transform:none}}.attendance-insights{display:grid;gap:20px;min-width:0}.attendance-insights-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px;border:1px solid var(--primary-soft);border-radius:16px;background:linear-gradient(115deg,color-mix(in srgb,var(--brand-violet) 9%,var(--card)),var(--card))}.attendance-insights-heading span{color:var(--brand-violet);font-size:.68rem;font-weight:850;letter-spacing:.07em}.attendance-insights-heading h3{margin:6px 0;color:var(--text);font-size:1.2rem}.attendance-insights-heading p{margin:0;color:var(--muted);font-size:.8rem}.attendance-insights-heading>svg{color:var(--brand-violet);width:32px;height:32px;flex-shrink:0}.attendance-insight-filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding:16px;border:1px solid var(--primary-soft);border-radius:14px;background:color-mix(in srgb,var(--primary-soft) 40%,var(--card))}.attendance-insight-filters label,.attendance-search{display:grid;gap:7px;min-width:0;color:var(--muted);font-size:.74rem;font-weight:700}.attendance-insight-filters select,.attendance-insight-filters input,.attendance-search input{min-width:0;width:100%;min-height:43px;padding:10px;border:1px solid var(--primary-soft);border-radius:9px;background:var(--card);color:var(--text);font:inherit}.attendance-insight-filters button{align-self:end}.attendance-period-label,.attendance-method-note{margin:0;color:var(--muted);font-size:.73rem;line-height:1.65}.attendance-insight-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.attendance-insight-stats article{position:relative;display:grid;gap:8px;padding:18px;border:1px solid var(--primary-soft);border-radius:14px;background:var(--card)}.attendance-insight-stats svg{color:var(--brand-violet);width:21px;height:21px}.attendance-insight-stats article:nth-child(2) svg{color:var(--brand-teal)}.attendance-insight-stats article:nth-child(3) svg{color:var(--brand-orange)}.attendance-insight-stats span{color:var(--muted);font-size:.75rem;font-weight:650}.attendance-insight-stats strong{color:var(--text);font-size:1.65rem}.attendance-insight-stats small{color:var(--muted);font-size:.67rem;line-height:1.5}.attendance-best-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.attendance-best-grid section{padding:18px;border:1px solid var(--primary-soft);border-radius:14px;background:var(--card)}.attendance-best-grid h4{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--text);font-size:.9rem}.attendance-best-grid h4 svg{color:var(--brand-orange)}.attendance-best-grid p{color:var(--muted);font-size:.8rem}.attendance-best-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--primary-soft)}.attendance-best-row>div{display:grid;gap:5px;min-width:0}.attendance-best-row strong{color:var(--text);font-size:.82rem}.attendance-best-row small{color:var(--muted);font-size:.68rem}.attendance-best-row b{margin-left:auto;color:var(--brand-violet);font-size:.9rem}.attendance-place{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:var(--primary-soft);color:var(--primary);font-size:.8rem;font-weight:800}.attendance-insight-tabs{display:flex;flex-wrap:wrap;gap:8px}.attendance-insight-tabs button,.attendance-report-pages button,.attendance-insight-filters button{padding:10px 14px;border:1px solid var(--primary-soft);border-radius:9px;background:var(--card);color:var(--text);font-size:.77rem;font-weight:700;cursor:pointer}.attendance-insight-tabs button.active,.attendance-insight-filters button{color:#fff;background:linear-gradient(120deg,var(--brand-violet),var(--brand-blue))}.attendance-insight-tabs button span{margin-left:8px;padding:2px 6px;border-radius:5px;background:color-mix(in srgb,var(--brand-orange) 16%,var(--card));color:var(--brand-orange)}.attendance-search{max-width:340px}.attendance-insight-table{overflow-x:auto;border:1px solid var(--primary-soft);border-radius:13px}.attendance-insight-table table{width:100%;min-width:900px;border-collapse:collapse}.attendance-insight-table th{padding:14px;background:color-mix(in srgb,var(--primary-soft) 65%,var(--card));color:var(--muted);font-size:.67rem;text-align:left;text-transform:uppercase}.attendance-insight-table td{padding:14px;border-top:1px solid var(--primary-soft);color:var(--text);font-size:.8rem}.attendance-insight-table td small{display:block;margin-top:5px;color:var(--muted);font-size:.65rem}.attendance-coverage{display:grid;gap:6px;min-width:90px}.attendance-coverage progress{width:90px;height:6px;accent-color:var(--brand-teal)}.attendance-update-status{display:inline-flex;padding:6px 9px;border-radius:8px;font-size:.67rem;font-weight:750;white-space:nowrap}.attendance-update-status.complete{background:#dcfce7;color:#166534}.attendance-update-status.missing{background:#fee2e2;color:#991b1b}.attendance-update-status.partial{background:#ffedd5;color:#9a3412}.attendance-update-status.neutral{background:var(--primary-soft);color:var(--muted)}.attendance-report-pages{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--muted);font-size:.75rem}.attendance-report-pages button:disabled{opacity:.45;cursor:not-allowed}@media (max-width:950px){.attendance-insight-filters,.attendance-insight-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.attendance-best-grid{grid-template-columns:1fr}.attendance-insight-stats article{padding:13px}.attendance-insights-heading{padding:16px}.attendance-insight-filters{padding:12px}.attendance-insights{gap:16px}}.attendance-live-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--primary-soft);border-radius:13px;background:var(--card)}.attendance-live-toolbar p,.attendance-live-note{margin:0;font-size:.78rem;color:var(--muted);line-height:1.6}.attendance-live-toolbar button{padding:10px 14px;flex-shrink:0;border:1px solid var(--primary-soft);border-radius:9px;background:var(--primary-soft);color:var(--primary);font-weight:750;cursor:pointer}.calendar-day.late,.attendance-calendar-legend i.late{background:#fef3c7;color:#92400e}.calendar-day.leave,.attendance-calendar-legend i.leave{background:#fce7f3;color:#9d174d}.calendar-day.future{opacity:.55}.calendar-day.not-enrolled{opacity:.4}.calendar-day.not-updated{border:1px dashed color-mix(in srgb,var(--muted) 25%,transparent)}.calendar-day>small{position:absolute;bottom:4px;right:6px;font-size:.5rem;text-transform:uppercase;font-weight:750}.attendance-summary-badge.late>span{background:#f59e0b}.attendance-summary-badge.leave>span{background:#ec4899}.attendance-summary-list>.attendance-live-note{padding:12px 0}@media (max-width:600px){.attendance-live-toolbar{align-items:stretch;flex-direction:column}.calendar-day>small{font-size:.42rem;right:3px;bottom:3px}}.attendance-summary-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.attendance-month-card>.attendance-live-note{margin-top:14px}@media (max-width:700px){.attendance-summary-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-summary-status-grid .attendance-summary-badge{padding:14px}}.sidebar-icon{width:36px;height:36px;flex:0 0 36px;border-radius:11px;color:var(--nav-icon-color, #c4b5fd);background:linear-gradient(145deg,var(--nav-icon-tint, #8b5cf633),#ffffff06);border:1px solid var(--nav-icon-tint, #8b5cf633);box-shadow:inset 0 1px #ffffff0d}.sidebar-icon--purple{--nav-icon-color: #c4b5fd;--nav-icon-tint: #8b5cf633}.sidebar-icon--blue{--nav-icon-color: #93c5fd;--nav-icon-tint: #3b82f633}.sidebar-icon--teal{--nav-icon-color: #5eead4;--nav-icon-tint: #14b8a633}.sidebar-icon--pink{--nav-icon-color: #f9a8d4;--nav-icon-tint: #ec489933}.sidebar-icon--amber{--nav-icon-color: #fcd34d;--nav-icon-tint: #f59e0b33}.sidebar-item.active{background:linear-gradient(100deg,#8b5cf62b,#3b82f610);box-shadow:inset 3px 0 #a78bfa}.sidebar-item.active .sidebar-icon{border-color:var(--nav-icon-color)}.sidebar-item:focus-visible{outline:2px solid #c4b5fd;outline-offset:3px}@media (max-width: 700px){.focused-module-header{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}.focused-module-header>button{grid-column:1;grid-row:1}.focused-module-header h1{grid-column:2;grid-row:1;min-width:0;font-size:1.1rem;overflow-wrap:normal}.focused-module-header .focused-school-brand{display:contents}.focused-module-header .focused-school-brand img{grid-column:3;grid-row:1}.focused-module-header .focused-school-brand strong{display:none}.focused-module-header .global-curriculum-chip{grid-column:1 / -1;grid-row:2;justify-self:center;width:auto;max-width:100%;min-width:0;margin:0;padding:5px 10px;border-radius:10px;text-align:center;white-space:normal;word-break:normal;overflow-wrap:break-word;line-height:1.45}}.ptm-parent-request{position:relative;overflow:hidden;padding:28px}.ptm-parent-request:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#8054ef,#2563eb,#ec4899,#ff7a18)}.ptm-parent-request>header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.ptm-request-symbol{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#8054ef,#2563eb)}.ptm-parent-request header h2{margin:4px 0 8px}.ptm-parent-request header p:last-child{margin:0;color:var(--muted);font-size:.9rem}.ptm-parent-request>form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ptm-parent-request form>label{display:grid;align-content:start;gap:9px;min-width:0;font-size:.88rem;font-weight:750;color:var(--text)}.ptm-parent-request input,.ptm-parent-request textarea{box-sizing:border-box;width:100%;min-width:0;margin:0;padding:13px 15px;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--border, #e4def4));border-radius:12px;background:var(--card);color:var(--text);font:inherit;font-weight:500}.ptm-parent-request input{min-height:50px}.ptm-parent-request textarea{resize:vertical;min-height:116px}.ptm-parent-request input:focus-visible,.ptm-parent-request textarea:focus-visible,.ptm-parent-request button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.ptm-parent-request fieldset,.ptm-parent-request .wide-field{grid-column:1 / -1}.ptm-parent-request fieldset{min-width:0;margin:0;padding:0;border:0}.ptm-parent-request legend{margin-bottom:10px;font-size:.88rem;font-weight:750}.ptm-parent-request .ptm-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ptm-parent-request .ptm-mode button{display:flex;justify-content:flex-start;align-items:center;gap:12px;padding:16px;min-height:78px;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border, #e4def4));border-radius:14px;background:var(--card);color:var(--text);text-align:left;cursor:pointer}.ptm-parent-request .ptm-mode button.active{border-color:var(--primary);background:linear-gradient(120deg,var(--primary-soft),var(--card));box-shadow:inset 0 0 0 1px var(--primary);color:var(--primary)}.ptm-parent-request .ptm-mode svg{flex:0 0 24px}.ptm-parent-request .ptm-mode span{display:grid;gap:4px}.ptm-parent-request .ptm-mode strong{font-size:.9rem}.ptm-parent-request .ptm-mode small,.ptm-reason-count{font-size:.75rem;font-weight:500;color:var(--muted)}.ptm-reason-count{text-align:right}.ptm-parent-request form>footer{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;border-top:1px solid var(--border, #e4def4)}.ptm-parent-request footer p{margin:0;color:var(--muted);font-size:.82rem}.ptm-parent-request footer button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;gap:9px;min-height:48px;padding:12px 22px;border:0;border-radius:12px;background:linear-gradient(120deg,#8054ef,#2563eb);color:#fff;font:inherit;font-weight:750;cursor:pointer;box-shadow:0 6px 16px #8054ef26}@media (max-width:620px){.ptm-parent-request{padding:20px}.ptm-parent-request>header{align-items:flex-start;gap:12px}.ptm-parent-request>form{grid-template-columns:minmax(0,1fr)}.ptm-parent-request .ptm-mode{grid-template-columns:minmax(0,1fr)}.ptm-parent-request form>footer{align-items:stretch;flex-direction:column}}.principal-student-report{display:grid;gap:20px;min-width:0}.principal-report-heading h3,.principal-report-list-heading h3{margin:0;font-size:1.3rem}.principal-report-heading p:last-child{color:var(--muted);margin-bottom:0;font-size:.85rem}.principal-student-filters{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr)) minmax(180px,1.5fr) auto;gap:12px;align-items:end;padding:18px;background:var(--card);border:1px solid #8054ef20;border-radius:18px}.principal-student-filters label{display:grid;gap:7px;min-width:0;font-size:.8rem;font-weight:750}.principal-student-filters select,.principal-student-search{height:44px;width:100%;min-width:0;box-sizing:border-box;border:1px solid #8054ef30;border-radius:10px;background:var(--card);color:var(--text);padding:0 10px;font:inherit}.principal-student-search{display:flex;align-items:center;gap:8px}.principal-student-search input{width:100%;min-width:0;border:0;background:transparent;color:var(--text);font:inherit}.principal-student-filters button{display:flex;gap:6px;align-items:center;justify-content:center;min-height:44px;padding:10px;border:0;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-weight:750;cursor:pointer}.principal-student-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.principal-student-stats article{display:flex;align-items:center;gap:12px;padding:20px;border:1px solid #8054ef20;border-radius:16px;background:linear-gradient(120deg,var(--primary-soft),var(--card))}.principal-student-stats svg{color:var(--primary);flex-shrink:0}.principal-student-stats article div{display:grid;gap:5px}.principal-student-stats strong{font-size:1.8rem}.principal-student-stats span{font-size:.75rem;color:var(--muted)}.principal-student-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.principal-enrolment-chart{padding:22px;background:var(--card);border:1px solid #8054ef20;border-radius:18px;min-width:0}.principal-enrolment-chart h3{margin:0;font-size:1rem}.principal-enrolment-chart p{color:var(--muted);font-size:.8rem}.principal-chart-bars{display:grid;gap:15px;max-height:340px;overflow:auto}.principal-chart-row{display:grid;grid-template-columns:minmax(65px,1fr) minmax(60px,3fr) 35px;align-items:center;gap:10px;font-size:.82rem}.principal-chart-row>span{overflow-wrap:anywhere}.principal-chart-track{background:var(--primary-soft);height:14px;border-radius:6px;overflow:hidden}.principal-chart-track>div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#8054ef,#2563eb)}.principal-enrolment-chart:nth-child(2) .principal-chart-track>div{background:linear-gradient(90deg,#14b8a6,#2563eb)}.principal-report-list-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.principal-report-list-heading span{color:var(--muted);font-size:.85rem}@media (max-width:1000px){.principal-student-filters,.principal-student-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.principal-student-charts,.principal-student-filters{grid-template-columns:minmax(0,1fr)}.principal-student-stats article{padding:14px;gap:8px}}.principal-student-report{--report-line: color-mix(in srgb,var(--brand-violet) 18%,transparent)}.principal-report-heading{position:relative;display:flex;align-items:center;gap:16px;overflow:hidden;padding:24px;border:1px solid var(--report-line);border-radius:20px;background:linear-gradient(115deg,color-mix(in srgb,var(--brand-violet) 10%,var(--card)),var(--card) 65%,color-mix(in srgb,var(--brand-pink) 6%,var(--card)))}.principal-report-heading:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--brand-teal),var(--brand-violet),var(--brand-pink),var(--brand-orange))}.principal-report-emblem{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:16px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff;box-shadow:0 8px 18px #8054ef24}.principal-report-emblem svg{width:27px;height:27px}.principal-report-heading .admin-eyebrow{margin:0 0 7px;color:var(--brand-violet);font-size:.7rem;letter-spacing:.1em}.principal-student-filters{background:linear-gradient(110deg,color-mix(in srgb,var(--brand-violet) 5%,var(--card)),var(--card));border-color:var(--report-line)}.principal-student-filters select:focus-visible,.principal-student-filters input:focus-visible,.principal-student-filters button:focus-visible{outline:2px solid var(--brand-violet);outline-offset:3px}.principal-student-filters button{color:var(--brand-violet);border:1px solid var(--report-line)}.principal-student-stats article{--stat-accent: var(--brand-violet);position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--stat-accent) 20%,transparent);background:linear-gradient(135deg,var(--card),color-mix(in srgb,var(--stat-accent) 6%,var(--card)));box-shadow:0 8px 24px #17233d05}.principal-student-stats article:nth-child(2){--stat-accent: var(--brand-teal)}.principal-student-stats article:nth-child(3){--stat-accent: var(--brand-pink)}.principal-student-stats article:nth-child(4){--stat-accent: var(--brand-orange)}.principal-student-stats article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--stat-accent)}.principal-student-stats svg{box-sizing:content-box;width:22px;height:22px;padding:11px;border-radius:13px;color:var(--stat-accent);background:color-mix(in srgb,var(--stat-accent) 10%,transparent)}.principal-enrolment-chart{border-color:var(--report-line);box-shadow:0 10px 28px #17233d05}.principal-enrolment-chart h3{padding-bottom:12px;border-bottom:1px solid var(--report-line)}.principal-chart-track{background:color-mix(in srgb,var(--brand-violet) 8%,var(--card))}.principal-chart-track>div{background:linear-gradient(90deg,var(--brand-violet),var(--brand-blue))}.principal-enrolment-chart:nth-child(2) .principal-chart-track>div{background:linear-gradient(90deg,var(--brand-teal),var(--brand-blue))}.principal-chart-row>strong{justify-self:end;min-width:28px;padding:4px;border-radius:7px;text-align:center;background:var(--primary-soft);color:var(--text)}.principal-report-list-heading{padding:0 4px}.principal-report-list-heading>span{padding:7px 12px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-weight:750}.principal-student-report .oversight-table-wrap{border:1px solid var(--report-line);border-radius:18px;box-shadow:0 10px 28px #17233d05}.principal-student-report th{background:color-mix(in srgb,var(--brand-violet) 10%,var(--card));color:var(--text)}.principal-student-report td{border-bottom-color:var(--report-line)}.principal-student-report tbody tr:hover{background:color-mix(in srgb,var(--brand-violet) 4%,var(--card))}@media (max-width:620px){.principal-report-heading{padding:20px 16px;align-items:flex-start;gap:12px}.principal-report-emblem{flex-basis:42px;height:42px;border-radius:12px}.principal-student-stats article{flex-direction:column;align-items:flex-start}}.principal-chart-row{grid-template-columns:minmax(65px,1fr) minmax(60px,3fr) 60px}.principal-chart-row>strong{display:grid;gap:3px;padding:5px 7px}.principal-chart-row>strong small{font-size:.65rem;font-weight:600;color:var(--muted)}.principal-chart-scale{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-top:12px;color:var(--muted);font-size:.7rem}.principal-chart-legend{margin-top:18px;padding:15px;border:1px solid var(--report-line);border-radius:13px;background:color-mix(in srgb,var(--brand-violet) 3%,var(--card))}.principal-chart-legend h4{margin:0 0 12px;font-size:.78rem;color:var(--text)}.principal-chart-legend ul{list-style:none;display:grid;gap:9px;max-height:190px;overflow-y:auto;margin:0;padding:0}.principal-chart-legend li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.78rem}.principal-chart-legend li>i{width:10px;height:10px;border-radius:3px}.principal-chart-legend li>span{overflow-wrap:anywhere;font-weight:650}.principal-chart-legend li>small{color:var(--muted);font-size:.7rem}.principal-chart-legend li b{display:inline-block;min-width:44px;margin-left:7px;text-align:right;color:var(--text)}.principal-chart-legend>p{margin:12px 0 0;font-size:.7rem;line-height:1.5}.principal-pie-wrap{display:grid;justify-items:center;gap:12px;padding:16px 0}.principal-pie{width:min(240px,100%);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;box-shadow:0 8px 22px #17233d0c}.principal-pie>div{display:flex;flex-direction:column;align-items:center;justify-content:center;width:62%;height:62%;border-radius:50%;background:var(--card);box-shadow:0 0 0 5px color-mix(in srgb,var(--card) 70%,transparent)}.principal-pie strong{font-size:2.2rem;color:var(--text)}.principal-pie span{margin-top:4px;font-size:.8rem;color:var(--muted)}.principal-staff-report .principal-student-filters{grid-template-columns:1fr 1fr 1.4fr auto}.principal-workload-plot{overflow-x:auto}.principal-workload-plot svg{display:block;width:100%;min-width:540px;max-height:380px}.principal-workload-plot text{fill:var(--muted);font:12px sans-serif}.workload-grid{stroke:var(--report-line);stroke-dasharray:4 4}.principal-workload-legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:14px;border-radius:12px;background:var(--primary-soft);color:var(--muted);font-size:.78rem}.principal-workload-legend span{display:flex;align-items:center;gap:8px}.principal-workload-legend i{width:25px;height:3px;background:var(--brand-violet)}.principal-workload-bands{display:flex;flex-wrap:wrap;gap:18px;padding:18px;border:1px solid var(--report-line);border-radius:16px;background:var(--card)}.principal-workload-bands>span{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted)}@media (max-width:800px){.principal-staff-report .principal-student-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:500px){.principal-staff-report .principal-student-filters{grid-template-columns:minmax(0,1fr)}}.principal-academic-report .principal-student-filters{grid-template-columns:1fr 2fr auto}.principal-academic-track{display:flex;height:16px;border-radius:6px;overflow:hidden;background:var(--primary-soft)}.principal-academic-track>span{height:100%}.academic-status{display:inline-block;padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:750}.academic-status-published{color:#0f766e;background:#ccfbf1}.academic-status-draft{color:#6d28d9;background:#ede9fe}@media (max-width:620px){.principal-academic-report .principal-student-filters{grid-template-columns:minmax(0,1fr)}}.principal-operation-grid .principal-operation-link{padding:0;margin:0;border:0;background:transparent;box-shadow:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.principal-operation-grid .principal-operation-link:hover{color:var(--brand-violet);text-decoration:underline}.principal-operation-link:focus-visible,.principal-report-navigation button:focus-visible{outline:2px solid var(--brand-violet);outline-offset:4px}.principal-report-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.principal-report-navigation button{display:grid;gap:12px;padding:24px;border:1px solid #8054ef30;border-radius:18px;background:linear-gradient(120deg,var(--primary-soft),var(--card));color:var(--text);text-align:left;cursor:pointer}.principal-report-navigation strong{font-size:1rem}.principal-report-navigation strong span{color:var(--primary)}.principal-report-navigation small{color:var(--muted);font-size:.85rem}@media (max-width:620px){.principal-report-navigation{grid-template-columns:minmax(0,1fr)}}.report-hub-filters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.report-hub-filters input{min-width:0;width:100%;box-sizing:border-box;height:44px;border:1px solid #8054ef30;border-radius:10px;padding:10px;color:var(--text);background:var(--card);font:inherit}.report-export-actions{display:flex;flex-wrap:wrap;gap:10px}.report-export-actions button{display:flex;align-items:center;gap:8px;padding:12px 16px;border:0;border-radius:10px;color:#fff;background:linear-gradient(120deg,var(--brand-violet),var(--brand-blue));font-weight:750;cursor:pointer}.report-export-actions button:disabled{opacity:.5;cursor:not-allowed}.principal-finance-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.principal-finance-stats article:nth-child(5){--stat-accent:var(--brand-orange)}.principal-finance-stats article:nth-child(6){--stat-accent:var(--brand-blue)}@media (max-width:800px){.principal-finance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:420px){.principal-finance-stats{grid-template-columns:1fr}}.report-context{font-size:.8rem;color:var(--muted);margin:0}@media print{body:has(.principal-reports-hub) *{visibility:hidden}body:has(.principal-reports-hub) .principal-reports-hub,body:has(.principal-reports-hub) .principal-reports-hub *{visibility:visible}.principal-reports-hub{position:absolute;top:0;right:0;bottom:0;left:0;display:block;background:#fff;color:#000}.principal-reports-hub .report-type-tabs,.principal-reports-hub .report-hub-filters,.principal-reports-hub .report-export-actions{display:none}.principal-reports-hub .oversight-table-wrap{overflow:visible;box-shadow:none}.principal-reports-hub table{width:100%;font-size:9pt}.principal-reports-hub tr{break-inside:avoid}.principal-reports-hub .principal-chart-bars{max-height:none;overflow:visible}.principal-reports-hub .principal-enrolment-chart{break-inside:avoid}}.principal-operation-grid{align-items:start;gap:14px}.principal-operation-grid .principal-operation-card{--operation-accent: var(--brand-violet);position:relative;padding:20px;gap:18px;border:1px solid color-mix(in srgb,var(--operation-accent) 18%,transparent);border-radius:18px;background:linear-gradient(125deg,var(--card),color-mix(in srgb,var(--operation-accent) 5%,var(--card)));box-shadow:0 6px 20px #17233d05}.principal-operation-card.operation-tf,.principal-operation-card.operation-cm{--operation-accent: var(--brand-pink)}.principal-operation-card.operation-at,.principal-operation-card.operation-ap{--operation-accent: var(--brand-teal)}.principal-operation-card.operation-fn,.principal-operation-card.operation-te{--operation-accent: var(--brand-orange)}.principal-operation-card.operation-ac{--operation-accent: var(--brand-blue)}.principal-operation-card .principal-operation-title{padding-right:34px;align-items:flex-start;gap:12px;min-height:56px}.principal-operation-card .principal-operation-title>span{width:48px;height:48px;border-radius:14px;color:var(--operation-accent);background:color-mix(in srgb,var(--operation-accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--operation-accent) 15%,transparent)}.principal-operation-card .principal-operation-title h3{line-height:1.4;padding-top:2px}.principal-operation-grid article>.operation-view{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid color-mix(in srgb,var(--operation-accent) 22%,transparent);border-radius:10px;background:var(--card);color:var(--operation-accent)}.principal-operation-grid article>.operation-view:hover{background:color-mix(in srgb,var(--operation-accent) 12%,var(--card))}.operation-description summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;cursor:pointer;font-size:.76rem;font-weight:650;color:var(--muted)}.operation-description summary::-webkit-details-marker{display:none}.operation-description[open] summary{color:var(--operation-accent);margin-bottom:12px}.operation-description[open] summary svg{transform:rotate(180deg)}.operation-description summary:focus-visible,.operation-view:focus-visible{outline:2px solid var(--operation-accent);outline-offset:4px}.principal-operation-grid .operation-st,.principal-operation-grid .operation-ap{--operation-accent: #db2777}.principal-operation-grid .operation-tf,.principal-operation-grid .operation-ra{--operation-accent: #2563eb}.principal-operation-grid .operation-fn,.principal-operation-grid .operation-ac{--operation-accent: #9333ea}.principal-operation-grid .operation-cm,.principal-operation-grid .operation-at{--operation-accent: #0d9488}.principal-operation-grid .operation-te{--operation-accent: #ea580c}.principal-operation-grid .principal-operation-card{background:linear-gradient(130deg,color-mix(in srgb,var(--operation-accent) 8%,var(--card)),color-mix(in srgb,var(--operation-accent) 3%,var(--card)))}.principal-operation-card .principal-operation-title>span{width:52px;height:52px;border-radius:15px;border:0;background:linear-gradient(140deg,color-mix(in srgb,var(--operation-accent) 22%,var(--card)),color-mix(in srgb,var(--operation-accent) 10%,var(--card)));box-shadow:inset 0 1px #ffffff60,0 5px 12px color-mix(in srgb,var(--operation-accent) 10%,transparent)}.principal-operation-title>span svg{filter:drop-shadow(0 2px 1px color-mix(in srgb,var(--operation-accent) 20%,transparent))}.about-page.module-card{padding:clamp(16px,2.5vw,30px)}.about-page .about-hero{padding:clamp(24px,4vw,44px);border:1px solid color-mix(in srgb,var(--brand-violet) 15%,transparent);border-radius:20px;background:linear-gradient(120deg,color-mix(in srgb,var(--brand-violet) 7%,var(--card)),var(--card) 70%,color-mix(in srgb,var(--brand-teal) 4%,var(--card)));color:var(--text);box-shadow:none}.about-page .about-hero:after{display:none}.about-page .about-hero-content{max-width:780px}.about-page .about-hero-content h1{margin:14px 0 18px;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:750;line-height:1.25;color:var(--text)}.about-page .about-hero .about-badge{display:inline-block;margin:0;padding:7px 12px;border-radius:8px;background:color-mix(in srgb,var(--brand-violet) 10%,var(--card));color:var(--brand-violet);font-size:.75rem;letter-spacing:.04em}.about-page .about-hero .about-summary{max-width:68ch;margin:0;font-size:1rem;line-height:1.8;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere}.about-read-more{margin-top:18px;padding:9px 0;border:0;background:transparent;color:var(--primary);font:inherit;font-size:.85rem;font-weight:750;cursor:pointer}.about-read-more:hover{text-decoration:underline}.about-read-more:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.about-page .about-body{margin-top:24px;gap:20px}.about-page .about-body h2{font-size:1.15rem;margin:0 0 12px}.about-page .about-body>section>p{color:var(--muted);line-height:1.75;font-size:.95rem;white-space:pre-line;overflow-wrap:anywhere}.about-page .about-hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,1fr);align-items:start;gap:28px;background:linear-gradient(125deg,color-mix(in srgb,var(--brand-violet) 12%,var(--card)),color-mix(in srgb,var(--brand-blue) 5%,var(--card)) 60%,color-mix(in srgb,var(--brand-pink) 8%,var(--card)))}.about-page .about-hero-content{min-width:0;max-width:none}.about-reading-area{max-width:100%}.about-reading-area.expanded{max-height:min(340px,45vh);overflow-y:auto;scrollbar-gutter:stable;padding-right:12px}.about-page .about-hero .about-summary{max-width:none;font-size:.95rem;line-height:1.75}.about-reading-area:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.about-school-identity{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0;padding:30px 22px;border:1px solid #ffffff40;border-radius:20px;background:linear-gradient(140deg,var(--brand-violet),var(--brand-blue));color:#fff;text-align:center;box-shadow:0 14px 30px #8054ef24}.about-school-identity img{width:100px;height:80px;object-fit:contain;background:#fff;padding:12px;border-radius:18px}.about-school-identity>span{font-size:.65rem;letter-spacing:.16em;font-weight:800;opacity:.85}.about-school-identity h2{margin:0;font-size:1.3rem;line-height:1.4;color:#fff}.about-school-identity p{margin:0;color:#fff;font-size:.85rem;line-height:1.6}.about-school-identity small{padding:6px 10px;border-radius:8px;background:#ffffff1f;color:#fff}.about-page .about-read-more{padding:10px 15px;border:1px solid color-mix(in srgb,var(--brand-violet) 22%,transparent);background:var(--card);border-radius:10px}.about-section-icon{box-sizing:content-box;width:23px;height:23px;padding:10px;margin-bottom:14px;border-radius:12px;background:var(--primary-soft);color:var(--brand-violet)}@media (max-width:760px){.about-page .about-hero{grid-template-columns:minmax(0,1fr);gap:20px;padding:22px}.about-school-identity{padding:22px}}.admin-editor.attendance-admin-editor{box-sizing:border-box;height:100dvh;max-height:100dvh;min-height:0;overflow:hidden}.attendance-admin-editor>.admin-editor-heading{flex:0 0 auto}.attendance-admin-editor>.attendance-insights{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;display:block;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 12px 24px 0}.attendance-admin-editor>.attendance-insights>*+*{margin-top:20px}.events-page .events-detail-header{justify-content:flex-start;align-items:flex-start;gap:18px}.events-detail-header>.back-button{flex:0 0 auto;margin-top:4px}.events-detail-header>div{min-width:0;text-align:left}.events-detail-header h1,.events-detail-header .event-meta{text-align:left;overflow-wrap:anywhere}.admission-popup-backdrop>.announcement-popup{display:flex;flex-direction:column;box-sizing:border-box;max-height:calc(100dvh - 2rem);min-height:0;overflow:hidden}.announcement-popup>.fee-popup-heading{position:static;flex:0 0 auto;margin:0;background:var(--card)}.announcement-popup>.fee-popup-heading>div{min-width:0}.announcement-popup>.fee-popup-heading h2{overflow-wrap:anywhere;max-height:3.2em;overflow-y:auto}.announcement-popup>.announcement-form{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 8px 12px 0}.announcement-popup>.announcement-form>label{min-width:0}.announcement-popup .announcement-form :is(input,select,textarea){box-sizing:border-box;min-width:0;background:var(--card);color:var(--text)}.announcement-popup>.admission-form-actions{position:static;flex:0 0 auto;margin:0;background:var(--card)}.announcement-popup>.feedback-error{flex:0 0 auto;max-height:70px;overflow-y:auto;margin:0}.fee-management-form .fee-overall-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}.fee-management-form .fee-overall-summary>div{min-width:0;background:color-mix(in srgb,var(--card) 96%,var(--primary));overflow-wrap:anywhere}.fee-management-form .fee-overall-summary>div.alert,.fee-management-form .long-pending-panel{background:color-mix(in srgb,var(--card) 94%,#ef4444);border-color:color-mix(in srgb,var(--card) 65%,#ef4444)}.fee-management-form .long-pending-panel>div:first-child{flex-wrap:wrap;color:var(--text)}.fee-management-form .long-pending-panel>div:first-child span{color:var(--muted)}.fee-management-form .long-pending-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.fee-management-form .long-pending-list button{display:flex;flex-wrap:wrap;align-items:flex-start;background:var(--card);color:var(--text);border:1px solid var(--primary-soft)}.fee-management-form .long-pending-list button>span{min-width:0;flex:1 1 150px;overflow-wrap:anywhere}.fee-management-form .long-pending-list button>span:last-child{flex:0 1 auto;text-align:left}.fee-management-form .long-pending-list button:hover{border-color:var(--primary)}.fee-management-form .long-pending-list button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.fee-management-form .fee-records-table td{vertical-align:top}.fee-management-form .overdue-fee-row td:first-child small{color:var(--muted)}.content-management-form .generic-content-table th{background:color-mix(in srgb,var(--card) 88%,var(--primary));color:var(--text)}.branded-collection-popup .content-field-grid :is(input,select,textarea){background:var(--card);color:var(--text);border-color:var(--primary-soft)}.branded-collection-popup .content-field-grid :is(input,textarea)::placeholder{color:var(--muted);opacity:1}.branded-collection-popup .content-field-grid>div{min-width:0}.poll-response-list>article,.poll-response-list article p,.poll-readonly-responses>article{background:var(--card);color:var(--text);overflow-wrap:anywhere}.content-management-form .poll-responses-button{color:var(--text)!important}.content-management-form .poll-responses-button small{background:var(--primary-soft);color:var(--text)!important}.admin-editor:has(>.login-format-settings){box-sizing:border-box;height:100dvh;max-height:100%;min-height:0;overflow:hidden}.admin-editor:has(>.login-format-settings)>.admin-editor-heading{flex:0 0 auto}.admin-editor>.login-format-settings{display:flex;flex-direction:column;flex:1 1 0;min-height:0;min-width:0;gap:0;padding:0;overflow:hidden}.login-format-scroll{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding:.5rem .75rem 1rem}.login-format-scroll>*+*{margin-top:1.25rem}.login-format-help{color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.login-format-help p{margin:0 0 .75rem}.login-format-help summary{color:var(--primary);font-weight:750;cursor:pointer}.login-format-help dl{display:grid;gap:.65rem}.login-format-help dl>div{display:grid;grid-template-columns:8rem 1fr;gap:.5rem}.login-format-help dd{margin:0}.login-format-scroll label small{overflow-wrap:anywhere}.login-format-actions{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.75rem;padding:.85rem .75rem max(.85rem,env(safe-area-inset-bottom));border-top:1px solid var(--border, var(--primary-soft));background:var(--card)}.login-format-actions .editor-message{flex:1 1 15rem;margin:0}.login-format-actions button{padding:.75rem 1rem;border:0;border-radius:8px;background:var(--primary);color:#fff;font-weight:800;cursor:pointer}.login-format-actions button:disabled{opacity:.65;cursor:wait}.login-password-field{position:relative;display:block}.login-password-field>input{padding-right:76px!important}.login-password-actions{position:absolute;inset:50% 10px auto auto;display:flex;align-items:center;gap:3px;transform:translateY(-50%)}.login-password-actions button{display:grid!important;place-items:center;width:30px!important;height:30px!important;padding:0!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#526077!important;box-shadow:none!important}.login-password-actions button:hover{background:#eef2ff!important;color:#5b36d6!important}@media (max-width: 480px){.login-format-help dl>div{grid-template-columns:1fr;gap:.2rem}.login-format-actions button{width:100%}}.subscription-wallet-page{display:grid;gap:16px;min-width:0}.subscription-wallet-page>header{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--primary-soft);border-radius:16px;background:var(--card)}.subscription-wallet-page>header h3,.subscription-wallet-page>header p{margin:0}.subscription-wallet-page>header h3{font-size:1.35rem}.subscription-wallet-page>header>div>p:last-child{margin-top:5px;color:var(--muted)}.subscription-wallet-page>header label{display:grid;min-width:300px;gap:5px;color:var(--muted);font-size:.75rem;font-weight:800}.subscription-wallet-page select,.subscription-wallet-page input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--primary-soft);border-radius:9px;background:var(--card);color:var(--text)}.wallet-message{margin:0;padding:11px 14px;border-radius:10px;background:var(--primary-soft);color:var(--text);font-weight:750}.wallet-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.wallet-stats article{display:grid;gap:4px;min-width:0;padding:16px;border:1px solid var(--primary-soft);border-radius:14px;background:var(--card)}.wallet-stats span,.wallet-stats small{color:var(--muted)}.wallet-stats strong{font-size:1.4rem;overflow-wrap:anywhere}.wallet-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.wallet-panel{display:grid;align-content:start;gap:13px;min-width:0;padding:18px;border:1px solid var(--primary-soft);border-radius:16px;background:var(--card)}.wallet-panel h4,.wallet-panel p{margin:0}.wallet-panel>p{color:var(--muted);font-size:.82rem}.wallet-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.wallet-plans button{display:grid;gap:4px;padding:13px 10px;border:1px solid var(--primary-soft);border-radius:11px;background:var(--background);color:var(--text);text-align:left;cursor:pointer}.wallet-plans button.selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:var(--primary-soft)}.wallet-plans strong{color:var(--primary)}.wallet-plans small{color:var(--muted)}.wallet-primary{justify-self:start;padding:11px 15px;border:0;border-radius:9px;background:var(--primary);color:#fff;font-weight:850;cursor:pointer}.wallet-primary:disabled{opacity:.5;cursor:not-allowed}.wallet-payment-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wallet-payment-form label{display:grid;gap:5px;color:var(--muted);font-size:.72rem;font-weight:800}.wallet-payment-form .wide-field{grid-column:1/-1}.wallet-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--primary-soft);border-radius:11px}.wallet-table-wrap table{width:100%;min-width:760px;border-collapse:collapse}.wallet-table-wrap th,.wallet-table-wrap td{padding:10px 12px;border-bottom:1px solid var(--primary-soft);text-align:left}.wallet-table-wrap th{background:var(--primary-soft);color:var(--muted);font-size:.68rem;text-transform:uppercase}.wallet-table-wrap td small{display:block;color:var(--muted)}.wallet-table-wrap button{padding:6px 9px;border:0;border-radius:7px;background:var(--primary-soft);color:var(--primary);font-weight:800;cursor:pointer}.wallet-credit{color:#15803d;font-weight:850}.wallet-debit{color:#c2410c;font-weight:850}@media (max-width:900px){.wallet-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.wallet-columns{grid-template-columns:1fr}.subscription-wallet-page>header{align-items:stretch;flex-direction:column}.subscription-wallet-page>header label{min-width:0}}@media (max-width:560px){.subscription-wallet-page{padding:0 10px 12px}.wallet-stats{grid-template-columns:1fr 1fr;gap:8px}.wallet-stats article{padding:12px}.wallet-stats strong{font-size:1.1rem}.wallet-plans,.wallet-payment-form{grid-template-columns:1fr}.wallet-payment-form .wide-field{grid-column:auto}.wallet-primary{width:100%}}@media (min-width:1101px){.global-admin-workspace:has(>.subscription-wallet-page){overflow:hidden}.global-admin-workspace>.subscription-wallet-page{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:8px;padding-bottom:24px}}.wallet-branch-name{display:grid;justify-items:end;gap:3px;text-align:right}.wallet-branch-name small,.wallet-branch-name span{color:var(--muted)}.wallet-branch-name strong{color:var(--text)}.wallet-coverage-active,.wallet-coverage-expired{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:850}.wallet-coverage-active{background:#dcfce7;color:#15803d}.wallet-coverage-expired{background:#fee2e2;color:#b91c1c}.branch-wallet-panel{min-width:0}.branch-wallet-panel .subscription-wallet-page{padding-bottom:24px}@media (max-width:900px){.wallet-branch-name{justify-items:start;text-align:left}}.branch-wallet-summary{align-self:stretch;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;min-width:0;padding:16px 18px;border:1px solid rgba(128,84,239,.2);border-radius:16px;background:linear-gradient(120deg,#8054ef1a,#2563eb0e,#14b8a612);color:var(--text);text-align:left;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.branch-wallet-summary:hover{transform:translateY(-1px);border-color:var(--primary);box-shadow:0 10px 24px #5b42dc1f}.branch-wallet-summary-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--brand-violet),var(--brand-blue));color:#fff}.branch-wallet-summary-copy{display:grid;gap:3px;min-width:0}.branch-wallet-summary-copy>small{color:var(--primary);font-size:.67rem;font-weight:900}.branch-wallet-summary-copy>strong{font-size:1.35rem;overflow-wrap:anywhere}.branch-wallet-summary-copy>span{display:flex;flex-wrap:wrap;gap:5px 12px;color:var(--muted);font-size:.76rem;text-transform:capitalize}.branch-wallet-summary-copy>span b{color:var(--text);font-weight:750}.branch-wallet-summary-open{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--card);color:var(--primary)}.branch-wallet-summary.wallet-warning{border:2px solid #f97316;background:linear-gradient(120deg,#fff7edfa,#fef2f2fa);box-shadow:0 12px 30px #ea580c33}.branch-wallet-summary.wallet-warning .branch-wallet-summary-icon{background:linear-gradient(135deg,#ea580c,#dc2626)}.branch-wallet-summary.wallet-warning .branch-wallet-summary-copy>small,.branch-wallet-summary.wallet-warning .branch-wallet-summary-open{color:#c2410c}.branch-wallet-summary.wallet-warning .branch-wallet-summary-copy>span b{color:#b91c1c}.appearance-dark .branch-wallet-summary.wallet-warning{background:linear-gradient(120deg,#7c2d124d,#7f1d1d42);border-color:#fb923c}@media (prefers-color-scheme:dark){.appearance-system .branch-wallet-summary.wallet-warning{background:linear-gradient(120deg,#7c2d124d,#7f1d1d42);border-color:#fb923c}}@media (max-width:900px){.branch-wallet-summary{grid-column:1/-1}}@media (max-width:600px){.global-admin-workspace{width:100%;min-width:0;gap:.75rem;overflow-x:hidden}.global-admin-heading{width:100%;min-width:0;padding:1rem;border-radius:14px}.global-admin-heading h2{font-size:1.3rem;overflow-wrap:anywhere}.global-admin-heading p:last-child{font-size:.8rem;line-height:1.45;overflow-wrap:anywhere}.global-admin-heading>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;width:100%;gap:.5rem}.global-admin-heading>div:last-child button{width:100%;min-width:0;padding:.7rem .45rem;font-size:.78rem;white-space:normal}.hierarchy-stats{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.55rem}.hierarchy-stats>div{min-width:0;padding:.75rem}.hierarchy-stat-icon{width:36px;height:36px;flex:0 0 36px}.hierarchy-stats strong{font-size:1.35rem}.hierarchy-stats span{font-size:.78rem}.hierarchy-table-wrap{width:100%;min-width:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.hierarchy-table,.hierarchy-table tbody{display:block;width:100%;min-width:0}.hierarchy-table colgroup,.hierarchy-table thead{display:none}.hierarchy-table tr{display:block;width:100%;margin-bottom:.75rem;overflow:hidden;border:1px solid var(--primary-soft);border-radius:14px;background:var(--card);box-shadow:0 7px 20px #0f172a0d}.hierarchy-table td{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:start;gap:.6rem;width:100%;min-width:0;padding:.65rem .75rem;border-bottom:1px solid var(--primary-soft);font-size:.8rem;overflow-wrap:anywhere}.hierarchy-table td:last-child{border-bottom:0}.hierarchy-table td:empty{display:none}.hierarchy-table td:before{color:var(--muted);font-size:.65rem;font-weight:850;text-transform:uppercase}.hierarchy-table td:nth-child(1):before{content:"School no."}.hierarchy-table td:nth-child(2):before{content:"School"}.hierarchy-table td:nth-child(3):before{content:"School code"}.hierarchy-table td:nth-child(4):before{content:"School actions"}.hierarchy-table td:nth-child(5):before{content:"Branch no."}.hierarchy-table td:nth-child(6):before{content:"Branch"}.hierarchy-table td:nth-child(7):before{content:"Branch code"}.hierarchy-table td:nth-child(8):before{content:"Wallet balance"}.hierarchy-table td:nth-child(9):before{content:"Branch actions"}.hierarchy-table .serial-cell{text-align:left}.hierarchy-table td>strong,.hierarchy-table td>span,.hierarchy-table td>div{min-width:0}.platform-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.4rem;white-space:normal}.platform-row-actions select{grid-column:1/-1;width:100%}.platform-row-actions button{width:100%}}.appearance-dark .admin-editor.school-hub-admin-editor{background:linear-gradient(180deg,var(--card),color-mix(in srgb,var(--card) 94%,var(--primary)))}.appearance-dark .school-hub-admin-editor .school-hub-editor-intro,.appearance-dark .school-hub-admin-editor .school-hub-curriculum-context,.appearance-dark .school-hub-admin-editor .school-document-row{background:color-mix(in srgb,var(--primary-soft) 45%,var(--card));border-color:color-mix(in srgb,var(--primary) 32%,transparent)}.appearance-dark .school-hub-admin-editor .school-hub-editor :is(p,h3,strong,label){color:var(--text)!important}.appearance-dark .school-hub-admin-editor .school-hub-editor :is(small,.school-document-name small){color:var(--muted)!important}.appearance-dark .school-hub-admin-editor .school-hub-editor :is(input,textarea),.appearance-dark .school-hub-admin-editor .school-hub-editor :is(input,textarea):focus{background:var(--background);color:var(--text);border-color:color-mix(in srgb,var(--primary) 42%,transparent)}.appearance-dark .school-hub-admin-editor .school-hub-save-bar{background:color-mix(in srgb,var(--card) 94%,transparent);border-top-color:color-mix(in srgb,var(--primary) 28%,transparent)}@media (prefers-color-scheme:dark){.appearance-system .admin-editor.school-hub-admin-editor{background:linear-gradient(180deg,var(--card),color-mix(in srgb,var(--card) 94%,var(--primary)))}.appearance-system .school-hub-admin-editor .school-hub-editor-intro,.appearance-system .school-hub-admin-editor .school-hub-curriculum-context,.appearance-system .school-hub-admin-editor .school-document-row{background:color-mix(in srgb,var(--primary-soft) 45%,var(--card));border-color:color-mix(in srgb,var(--primary) 32%,transparent)}.appearance-system .school-hub-admin-editor .school-hub-editor :is(p,h3,strong,label){color:var(--text)!important}.appearance-system .school-hub-admin-editor .school-hub-editor :is(small,.school-document-name small){color:var(--muted)!important}.appearance-system .school-hub-admin-editor .school-hub-editor :is(input,textarea),.appearance-system .school-hub-admin-editor .school-hub-editor :is(input,textarea):focus{background:var(--background);color:var(--text);border-color:color-mix(in srgb,var(--primary) 42%,transparent)}.appearance-system .school-hub-admin-editor .school-hub-save-bar{background:color-mix(in srgb,var(--card) 94%,transparent);border-top-color:color-mix(in srgb,var(--primary) 28%,transparent)}}.appearance-dark .curriculum-profile-tabs>button{background:color-mix(in srgb,var(--card) 92%,var(--primary));border-color:color-mix(in srgb,var(--primary) 32%,transparent);color:var(--text)}.appearance-dark .curriculum-profile-tabs>button:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary-soft) 58%,var(--card))}.appearance-dark .curriculum-profile-tabs>button.active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 30%,var(--card)),color-mix(in srgb,var(--brand-blue) 16%,var(--card)));color:var(--text)}.appearance-dark .curriculum-profile-tabs :is(strong,span,small){color:var(--text)!important}.appearance-dark .curriculum-profile-tabs small{color:var(--muted)!important}@media (prefers-color-scheme:dark){.appearance-system .curriculum-profile-tabs>button{background:color-mix(in srgb,var(--card) 92%,var(--primary));border-color:color-mix(in srgb,var(--primary) 32%,transparent);color:var(--text)}.appearance-system .curriculum-profile-tabs>button:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary-soft) 58%,var(--card))}.appearance-system .curriculum-profile-tabs>button.active{background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 30%,var(--card)),color-mix(in srgb,var(--brand-blue) 16%,var(--card)));color:var(--text)}.appearance-system .curriculum-profile-tabs :is(strong,span,small){color:var(--text)!important}.appearance-system .curriculum-profile-tabs small{color:var(--muted)!important}}.appearance-dark .admin-editor.about-school-admin-editor{background:linear-gradient(180deg,var(--card),color-mix(in srgb,var(--card) 94%,var(--primary)))}.appearance-dark .about-school-form .about-school-form-intro,.appearance-dark .about-school-form .content-item-form,.appearance-dark .about-school-form .content-field-grid>div{background:color-mix(in srgb,var(--primary-soft) 38%,var(--card));border-color:color-mix(in srgb,var(--primary) 28%,transparent)}.appearance-dark .about-school-form :is(h2,h3,legend,label,strong,p){color:var(--text)!important}.appearance-dark .about-school-form :is(small,.field-help){color:var(--muted)!important}.appearance-dark .about-school-form :is(input,select,textarea),.appearance-dark .about-school-form :is(input,select,textarea):focus{background:var(--background);color:var(--text);border-color:color-mix(in srgb,var(--primary) 42%,transparent)}.appearance-dark .about-school-form .content-form-actions{background:color-mix(in srgb,var(--card) 94%,transparent);border-top-color:color-mix(in srgb,var(--primary) 28%,transparent)}@media (prefers-color-scheme:dark){.appearance-system .admin-editor.about-school-admin-editor{background:linear-gradient(180deg,var(--card),color-mix(in srgb,var(--card) 94%,var(--primary)))}.appearance-system .about-school-form .about-school-form-intro,.appearance-system .about-school-form .content-item-form,.appearance-system .about-school-form .content-field-grid>div{background:color-mix(in srgb,var(--primary-soft) 38%,var(--card));border-color:color-mix(in srgb,var(--primary) 28%,transparent)}.appearance-system .about-school-form :is(h2,h3,legend,label,strong,p){color:var(--text)!important}.appearance-system .about-school-form :is(small,.field-help){color:var(--muted)!important}.appearance-system .about-school-form :is(input,select,textarea),.appearance-system .about-school-form :is(input,select,textarea):focus{background:var(--background);color:var(--text);border-color:color-mix(in srgb,var(--primary) 42%,transparent)}.appearance-system .about-school-form .content-form-actions{background:color-mix(in srgb,var(--card) 94%,transparent);border-top-color:color-mix(in srgb,var(--primary) 28%,transparent)}}.appearance-dark .class-master-toolbar{background:linear-gradient(105deg,color-mix(in srgb,var(--brand-violet) 24%,var(--card)),color-mix(in srgb,var(--brand-blue) 15%,var(--card)) 55%,color-mix(in srgb,var(--brand-pink) 12%,var(--card)));border-color:color-mix(in srgb,var(--primary) 35%,transparent)}.appearance-dark .class-master-toolbar :is(strong,span){color:var(--text)!important}.appearance-dark .class-master-toolbar span{color:var(--muted)!important}.appearance-dark .class-structure-table th{background:linear-gradient(90deg,color-mix(in srgb,var(--brand-violet) 28%,var(--card)),color-mix(in srgb,var(--brand-blue) 18%,var(--card)));color:var(--text)}.appearance-dark .class-structure-table td{color:var(--text)}.appearance-dark .section-badge{background:color-mix(in srgb,var(--primary) 28%,var(--card));color:#ddd6fe}@media (prefers-color-scheme:dark){.appearance-system .class-master-toolbar{background:linear-gradient(105deg,color-mix(in srgb,var(--brand-violet) 24%,var(--card)),color-mix(in srgb,var(--brand-blue) 15%,var(--card)) 55%,color-mix(in srgb,var(--brand-pink) 12%,var(--card)));border-color:color-mix(in srgb,var(--primary) 35%,transparent)}.appearance-system .class-master-toolbar :is(strong,span){color:var(--text)!important}.appearance-system .class-master-toolbar span{color:var(--muted)!important}.appearance-system .class-structure-table th{background:linear-gradient(90deg,color-mix(in srgb,var(--brand-violet) 28%,var(--card)),color-mix(in srgb,var(--brand-blue) 18%,var(--card)));color:var(--text)}.appearance-system .class-structure-table td{color:var(--text)}.appearance-system .section-badge{background:color-mix(in srgb,var(--primary) 28%,var(--card));color:#ddd6fe}}.app-shell.appearance-dark .admin-editor.about-school-admin-editor{background:#121b31!important;color:#f4f7ff!important}.app-shell.appearance-dark .about-school-admin-editor .admin-editor-heading{background:#121b31!important}.app-shell.appearance-dark .about-school-form .about-school-form-intro{background:#1a2540!important;border-color:#4b3f78!important}.app-shell.appearance-dark .about-school-form .content-item-form{background:#151f37!important;border-color:#403563!important}.app-shell.appearance-dark .about-school-form .content-field-grid>div{background:#18233d!important;border-color:#39335c!important}.app-shell.appearance-dark .about-school-form :is(input,select,textarea){background:#0b1224!important;color:#f4f7ff!important;border-color:#4b3f78!important;-webkit-text-fill-color:#f4f7ff!important}.app-shell.appearance-dark .about-school-form :is(input,textarea)::placeholder{color:#7f8da8!important;-webkit-text-fill-color:#7f8da8!important}.app-shell.appearance-dark .about-school-form :is(h2,h3,legend,label,strong,p){color:#f4f7ff!important}.app-shell.appearance-dark .about-school-form :is(small,.field-help){color:#aebbd2!important}.app-shell.appearance-dark .about-school-form .content-form-actions{background:#121b31!important;border-top-color:#403563!important}@media (prefers-color-scheme:dark){.app-shell.appearance-system .admin-editor.about-school-admin-editor{background:#121b31!important;color:#f4f7ff!important}.app-shell.appearance-system .about-school-admin-editor .admin-editor-heading{background:#121b31!important}.app-shell.appearance-system .about-school-form .about-school-form-intro{background:#1a2540!important;border-color:#4b3f78!important}.app-shell.appearance-system .about-school-form .content-item-form{background:#151f37!important;border-color:#403563!important}.app-shell.appearance-system .about-school-form .content-field-grid>div{background:#18233d!important;border-color:#39335c!important}.app-shell.appearance-system .about-school-form :is(input,select,textarea){background:#0b1224!important;color:#f4f7ff!important;border-color:#4b3f78!important;-webkit-text-fill-color:#f4f7ff!important}.app-shell.appearance-system .about-school-form :is(input,textarea)::placeholder{color:#7f8da8!important;-webkit-text-fill-color:#7f8da8!important}.app-shell.appearance-system .about-school-form :is(h2,h3,legend,label,strong,p){color:#f4f7ff!important}.app-shell.appearance-system .about-school-form :is(small,.field-help){color:#aebbd2!important}.app-shell.appearance-system .about-school-form .content-form-actions{background:#121b31!important;border-top-color:#403563!important}}.feedback-submit-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.feedback-submit-options label,.feedback-inbox-filters label,.feedback-detail label{display:grid;gap:7px;color:var(--text);font-weight:700}.feedback-submit-options select,.feedback-inbox-filters select,.feedback-detail select,.feedback-detail textarea{width:100%;border:1px solid var(--primary-soft);border-radius:10px;background:var(--card);color:var(--text);padding:.75rem;font:inherit}.feedback-character-count{display:block;margin-top:-12px;text-align:right;color:var(--muted)}.feedback-actions .save-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.feedback-success>svg{width:42px;height:42px;color:#16a34a}.feedback-inbox{display:grid;gap:18px;min-width:0}.feedback-inbox-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.feedback-inbox-header h2,.feedback-inbox-header p{margin:0}.feedback-inbox-header>div>p:last-child{margin-top:6px;color:var(--muted)}.feedback-inbox-header>span{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border-radius:8px;background:var(--primary-soft);color:var(--primary);font-weight:800;white-space:nowrap}.feedback-inbox-header>span.has-new{background:#fff3cd;color:#8a5800}.feedback-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.feedback-counts button{display:flex;align-items:center;gap:10px;padding:14px;border:1px solid var(--primary-soft);border-radius:8px;background:var(--card);color:var(--text);text-align:left}.feedback-counts button.active{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 14%,transparent)}.feedback-counts strong{font-size:1.35rem;color:var(--primary)}.feedback-inbox-filters{display:flex;align-items:end;gap:12px;padding:14px;background:var(--background);border-radius:8px}.feedback-inbox-filters>span{display:flex;align-items:center;gap:6px;margin-right:auto;font-weight:800;align-self:center}.feedback-inbox-filters label{min-width:150px;font-size:.78rem}.feedback-success-note{margin:0;color:#15803d;font-weight:700}.feedback-inbox-layout{display:grid;grid-template-columns:minmax(280px,35%) minmax(0,1fr);min-height:470px;border:1px solid var(--primary-soft);border-radius:8px;overflow:hidden}.feedback-inbox-list{overflow:auto;max-height:650px;border-right:1px solid var(--primary-soft);background:var(--background)}.feedback-inbox-list>button{position:relative;display:grid;width:100%;gap:7px;padding:16px;border:0;border-bottom:1px solid var(--primary-soft);background:transparent;color:var(--text);text-align:left}.feedback-inbox-list>button.active{background:var(--card);box-shadow:inset 4px 0 var(--primary)}.feedback-inbox-list p{margin:0;color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.feedback-inbox-list small,.feedback-inbox-list time{color:var(--muted);font-size:.75rem}.feedback-inbox-list time{position:absolute;right:14px;bottom:14px}.feedback-priority{width:max-content;padding:3px 7px;border-radius:999px;background:#e5e7eb;color:#374151;font-size:.68rem;font-weight:800}.feedback-priority.priority-important{background:#fff3cd;color:#8a5800}.feedback-priority.priority-urgent{background:#fee2e2;color:#b91c1c}.feedback-detail{display:grid;align-content:start;gap:16px;padding:20px;background:var(--card);color:var(--text);overflow:auto}.feedback-detail>header{display:flex;justify-content:space-between;gap:18px}.feedback-detail h3,.feedback-detail p{margin:4px 0}.feedback-detail header span,.feedback-detail header small,.feedback-detail header time{color:var(--muted)}.feedback-detail blockquote{margin:0;padding:16px;border-left:4px solid var(--primary);background:var(--background);line-height:1.65;overflow-wrap:anywhere}.feedback-detail-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.feedback-escalate{display:flex!important;grid-template-columns:auto 1fr;align-items:center;min-height:47px;padding:0 10px;border:1px solid var(--primary-soft);border-radius:8px}.feedback-detail>.save-button{justify-self:end}@media (max-width:760px){.feedback-submit-options,.feedback-counts{grid-template-columns:1fr}.feedback-inbox-header{align-items:stretch;flex-direction:column}.feedback-inbox-header>span{align-self:flex-start}.feedback-inbox-filters{align-items:stretch;overflow-x:auto}.feedback-inbox-filters>span{display:none}.feedback-inbox-filters label{min-width:135px}.feedback-inbox-layout{grid-template-columns:1fr}.feedback-inbox-list{max-height:320px;border-right:0;border-bottom:1px solid var(--primary-soft)}.feedback-detail{padding:15px}.feedback-detail>header{display:grid}.feedback-detail-controls{grid-template-columns:1fr}.feedback-detail>.save-button{width:100%}}.admin-media-field{min-width:0}.admin-media-preview{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,220px);gap:12px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity}.admin-media-preview figure{position:relative;margin:0;overflow:hidden;border:1px solid var(--primary-soft);border-radius:8px;background:var(--background);scroll-snap-align:start}.admin-media-preview img,.admin-media-preview video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#0b1020}.admin-media-preview figcaption{padding:8px 10px;color:var(--text);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-media-preview figcaption small{display:block;margin-top:3px;color:var(--muted);font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-media-preview figure>label{display:grid;gap:5px;padding:0 10px 10px;color:var(--muted);font-size:.7rem;font-weight:700}.admin-media-preview figure>label input{width:100%;min-width:0;padding:8px;border:1px solid var(--primary-soft);border-radius:6px;background:var(--card);color:var(--text);font:inherit}.admin-media-preview button{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:#0f172ad1;color:#fff;font-size:1.2rem}.admin-media-upload-actions{display:flex;flex-wrap:wrap;gap:10px}.admin-media-upload-actions .admin-image-upload{flex:1 1 180px;text-align:center}.admin-activity-upload{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.3fr);gap:12px;align-items:end;padding:14px;border:1px solid var(--primary-soft);border-radius:8px;background:var(--background)}.admin-activity-upload>label:first-child{display:grid;gap:7px;color:var(--text);font-weight:800}.admin-activity-upload input[type=text]{width:100%;min-width:0;padding:12px;border:1px solid var(--primary-soft);border-radius:8px;background:var(--card);color:var(--text);font:inherit}.admin-activity-upload .admin-image-upload{display:flex;align-items:center;justify-content:center;min-height:47px;text-align:center}.about-media-gallery{min-width:0;margin-top:24px;padding-top:20px;border-top:1px solid var(--primary-soft)}.about-media-gallery>header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.about-media-gallery h2{display:flex;align-items:center;gap:9px;margin:5px 0 0;color:var(--text);font-size:1.2rem}.about-media-gallery h2 svg{color:var(--primary)}.about-media-controls{display:flex;gap:8px}.about-media-controls button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--primary-soft);border-radius:50%;background:var(--card);color:var(--primary)}.about-media-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,42%);gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--primary) var(--primary-soft);padding:2px 2px 12px}.about-media-item{position:relative;display:block;margin:0;padding:0;overflow:hidden;border:1px solid var(--primary-soft);border-radius:8px;background:#0b1020;color:#fff;text-align:left;scroll-snap-align:start;cursor:pointer}.about-media-item img,.about-media-item video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.about-media-item figcaption{position:absolute;inset:auto 0 0;padding:24px 12px 10px;color:#fff;background:linear-gradient(transparent,#000000c7);font-weight:700;overflow-wrap:anywhere}.about-photo-caption{position:absolute;inset:auto 0 0;padding:24px 12px 10px;color:#fff;background:linear-gradient(transparent,#000000c7);font-weight:700;overflow-wrap:anywhere}.about-photo-category+.about-photo-category{margin-top:20px}.about-photo-category-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.about-photo-category-heading h3{margin:0;color:var(--text);font-size:1rem}.about-photo-category-heading span{color:var(--muted);font-size:.78rem}.about-photo-gallery>header>span{color:var(--muted);font-size:.82rem}.about-activity-card-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,32%);gap:14px;overflow-x:auto;padding:2px 2px 12px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--primary) var(--primary-soft)}.about-activity-cover{position:relative;display:grid;grid-template-rows:auto auto;min-width:0;padding:0;overflow:hidden;border:1px solid var(--primary-soft);border-radius:8px;background:var(--card);color:var(--text);text-align:left;scroll-snap-align:start}.about-activity-cover>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.about-activity-cover-copy{display:grid;gap:5px;padding:12px 13px}.about-activity-cover-copy strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.about-activity-cover-copy small{display:flex;align-items:center;gap:6px;color:var(--muted)}.about-activity-open{position:absolute;top:10px;right:10px;display:flex;align-items:center;gap:3px;padding:7px 9px;border-radius:999px;background:#0f172ad1;color:#fff;font-size:.72rem;font-weight:800}.about-video-gallery{min-width:0;margin-top:24px;padding-top:20px;border-top:1px solid var(--primary-soft)}.about-video-gallery>header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.about-video-gallery h2{display:flex;align-items:center;gap:9px;margin:5px 0 0;color:var(--text);font-size:1.2rem}.about-video-gallery h2 svg{color:var(--primary)}.about-video-gallery>header>span{color:var(--muted)}.about-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.about-video-category+.about-video-category{margin-top:20px}.about-video-card{position:relative;display:grid;padding:0;overflow:hidden;border:1px solid var(--primary-soft);border-radius:8px;background:var(--card);color:var(--text);text-align:left}.about-video-card>video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#080d1c;pointer-events:none}.about-video-play{position:absolute;top:0;right:0;bottom:58px;left:0;display:grid;place-content:center;justify-items:center;gap:6px;color:#fff;background:#050a1947;text-shadow:0 1px 5px #000}.about-video-play svg{width:44px;height:44px;fill:#00000052}.about-video-copy{display:grid;gap:3px;padding:11px 13px}.about-video-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.about-video-copy small{color:var(--muted)}.about-video-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:#040814d1;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.about-video-modal>section{width:min(1000px,96vw);max-height:92vh;overflow:auto;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#080d1c;box-shadow:0 30px 80px #00000073}.about-video-modal header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;color:#fff}.about-video-modal header span{color:#c4b5fd;font-size:.75rem;font-weight:800;text-transform:uppercase}.about-video-modal header h2{margin:3px 0 0;font-size:1.1rem}.about-video-modal header button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#ffffff14;color:#fff}.about-video-modal video{display:block;width:100%;max-height:calc(92vh - 72px);background:#000}.about-photo-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:20px;background:#040814e0;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.about-photo-modal>section{width:min(1200px,96vw);max-height:94vh;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#080d1c;box-shadow:0 30px 80px #00000080}.about-photo-modal header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;color:#fff}.about-photo-modal header span{color:#c4b5fd;font-size:.75rem;font-weight:800;text-transform:uppercase}.about-photo-modal header h2{margin:3px 0 0;font-size:1.05rem}.about-photo-modal header>div:last-child{display:flex;align-items:center;gap:12px}.about-photo-modal header small{color:#cbd5e1}.about-photo-modal header button,.about-photo-stage>button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:#0f172ac7;color:#fff}.about-photo-stage{position:relative;display:grid;place-items:center;min-height:260px;height:min(78vh,820px);background:#02040a}.about-photo-stage img{display:block;width:100%;height:100%;object-fit:contain}.about-photo-stage>button{position:absolute;top:50%;transform:translateY(-50%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.about-photo-stage>button.previous{left:14px}.about-photo-stage>button.next{right:14px}@media (max-width:700px){.about-media-scroll{grid-auto-columns:88%}.about-media-gallery>header{align-items:center}.about-media-controls button{width:36px;height:36px}.admin-media-preview{grid-auto-columns:78%}.admin-activity-upload{grid-template-columns:1fr}.about-activity-card-scroll{grid-auto-columns:86%}}@media (max-width:900px){.about-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.about-video-grid{grid-template-columns:1fr}.about-video-gallery>header{align-items:start}.about-video-modal,.about-photo-modal{padding:8px}.about-video-modal>section,.about-photo-modal>section{width:100%}.about-photo-stage{height:70vh}.about-photo-stage>button.previous{left:7px}.about-photo-stage>button.next{right:7px}}.my-feedback-history{display:grid;gap:16px;margin-top:28px;padding-top:24px;border-top:1px solid var(--primary-soft)}.my-feedback-history>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.my-feedback-history h2,.my-feedback-history p{margin:0}.my-feedback-history>header p:last-child{margin-top:5px;color:var(--muted)}.my-feedback-history>header>span{padding:7px 11px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-weight:800;white-space:nowrap}.my-feedback-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.my-feedback-list article{display:grid;gap:12px;padding:16px;border:1px solid var(--primary-soft);border-radius:8px;background:var(--card);color:var(--text)}.my-feedback-list article>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.my-feedback-list article>header>div{display:flex;align-items:center;gap:9px}.my-feedback-list article>p{margin:0;line-height:1.55;overflow-wrap:anywhere}.my-feedback-list article footer{display:grid;gap:10px;color:var(--muted);font-size:.78rem}.my-feedback-list article footer>div{padding:11px;border-left:3px solid #16a34a;border-radius:0 6px 6px 0;background:color-mix(in srgb,#16a34a 8%,var(--background));color:var(--text)}.my-feedback-list article footer>div p{margin:4px 0 0;line-height:1.5}.my-feedback-status{padding:4px 8px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.7rem;font-weight:800;white-space:nowrap}.my-feedback-status.status-resolved{background:#dcfce7;color:#15803d}.my-feedback-status.status-in-progress{background:#fef3c7;color:#92400e}@media (max-width:700px){.my-feedback-list{grid-template-columns:1fr}.my-feedback-history>header{display:grid}.my-feedback-history>header>span{justify-self:start}}.teacher-help-feedback{display:grid;gap:18px}.teacher-help-feedback>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.teacher-help-feedback>header h2,.teacher-help-feedback>header p{margin:0}.teacher-help-feedback>header>div>p:last-child{margin-top:6px;color:var(--muted)}.teacher-help-feedback>header>span{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:8px;background:var(--primary-soft);color:var(--primary);font-weight:800;white-space:nowrap}.teacher-help-feedback-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.teacher-help-feedback-list article{display:grid;align-content:start;gap:12px;padding:17px;border:1px solid var(--primary-soft);border-radius:8px;background:var(--card);color:var(--text)}.teacher-help-feedback-list article>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.teacher-help-feedback-list article>header div{display:grid;gap:4px}.teacher-help-feedback-list article header span,.teacher-help-feedback-list article time{color:var(--muted);font-size:.76rem}.teacher-help-feedback-list article>p{margin:0;padding:12px;border-radius:7px;background:var(--background);line-height:1.55;overflow-wrap:anywhere}@media (max-width:700px){.teacher-help-feedback>header{display:grid}.teacher-help-feedback>header>span{justify-self:start}.teacher-help-feedback-list{grid-template-columns:1fr}}.app-shell.appearance-dark .attendance-summary-badge{background:#1a2540!important;border:1px solid #344263}.app-shell.appearance-dark .attendance-summary-badge :is(p,strong){color:#f4f7ff!important}.app-shell.appearance-dark .attendance-summary-list>:is(.attendance-summary-item,.attendance-live-note){color:#dbe5f7!important}.app-shell.appearance-dark .branded-student-exams{background:#111a2f!important;border-color:#344263!important;color:#f4f7ff!important}.app-shell.appearance-dark .branded-student-exams .exam-student-hero,.app-shell.appearance-dark .branded-student-exams>.student-exam-card{background:#151f37!important;border-color:#344263!important}.app-shell.appearance-dark .branded-student-exams :is(h2,h3,strong,p,td){color:#f4f7ff!important}.app-shell.appearance-dark .branded-student-exams :is(small,.card-header p,.report-card-heading p,.report-student-details span,.report-comments span){color:#aebbd2!important}.app-shell.appearance-dark .branded-student-exams .exam-series-item{background:#1a2540!important;border-color:#3d4a6d!important;color:#f4f7ff!important}.app-shell.appearance-dark .branded-student-exams .exam-series-item.selected{background:#202c4b!important;border-color:#8b6cff!important}.app-shell.appearance-dark .branded-student-exams .student-exam-table-wrap,.app-shell.appearance-dark .branded-student-exams .report-student-details{border-color:#3d4a6d!important}.app-shell.appearance-dark .branded-student-exams .student-exam-table th{background:#242d4b!important;color:#d8dff0!important}.app-shell.appearance-dark .branded-student-exams .student-exam-table td{background:#151f37!important;border-color:#344263!important}.app-shell.appearance-dark .branded-student-exams .student-result-summary>div,.app-shell.appearance-dark .branded-student-exams .report-comments>div{background:#1a2540!important;border-color:#3d4a6d!important}.app-shell.appearance-dark .branded-student-exams .student-result-summary span{color:#aebbd2!important}.app-shell.appearance-dark .branded-student-exams .student-result-summary strong{color:#f4f7ff!important}.app-shell.appearance-dark .branded-student-exams .student-result-summary .pass{color:#4ade80!important}.app-shell.appearance-dark .branded-student-exams .student-result-summary .fail{color:#f87171!important}.app-shell.appearance-dark .branded-student-exams .report-signatures>div{border-color:#3d4a6d!important;color:#f4f7ff!important}@media (prefers-color-scheme:dark){.app-shell.appearance-system .attendance-summary-badge{background:#1a2540!important;border:1px solid #344263}.app-shell.appearance-system .attendance-summary-badge :is(p,strong){color:#f4f7ff!important}.app-shell.appearance-system .branded-student-exams{background:#111a2f!important;border-color:#344263!important;color:#f4f7ff!important}.app-shell.appearance-system .branded-student-exams .exam-student-hero,.app-shell.appearance-system .branded-student-exams>.student-exam-card{background:#151f37!important;border-color:#344263!important}.app-shell.appearance-system .branded-student-exams :is(h2,h3,strong,p,td){color:#f4f7ff!important}.app-shell.appearance-system .branded-student-exams :is(small,.card-header p,.report-card-heading p,.report-student-details span,.report-comments span){color:#aebbd2!important}.app-shell.appearance-system .branded-student-exams .exam-series-item,.app-shell.appearance-system .branded-student-exams .student-result-summary>div,.app-shell.appearance-system .branded-student-exams .report-comments>div{background:#1a2540!important;border-color:#3d4a6d!important}.app-shell.appearance-system .branded-student-exams .student-exam-table th{background:#242d4b!important;color:#d8dff0!important}.app-shell.appearance-system .branded-student-exams .student-exam-table td{background:#151f37!important;border-color:#344263!important}}.app-shell.appearance-dark .bus-map-frame{background:linear-gradient(180deg,#182641,#111b31)!important;border-color:#3f5680!important}.app-shell.appearance-dark .bus-map-frame .map-stop,.app-shell.appearance-dark .bus-map-frame .map-stop :is(span,strong){color:#f4f7ff!important}.app-shell.appearance-dark .bus-map-frame .map-stop:before{background:#111b31;border-color:#a78bfa}.app-shell.appearance-dark .bus-map-frame .map-current:before{background:#38bdf8;border-color:#38bdf8}.app-shell.appearance-dark .bus-map-overlay:after{background:linear-gradient(180deg,#60a5fa,#22d3ee)!important}.app-shell.appearance-dark .bus-stop-list li{background:#19253e!important;color:#f4f7ff!important}.app-shell.appearance-dark .bus-stop-list li.completed{background:#15334a!important}.app-shell.appearance-dark .branded-student-leave>.module-card,.app-shell.appearance-dark .branded-student-leave .leave-request-form>header,.app-shell.appearance-dark .branded-student-leave .leave-request-form form{background:#151f37!important;border-color:#344263!important;color:#f4f7ff!important}.app-shell.appearance-dark .branded-student-leave .leave-request-form :is(h2,p,label){color:#f4f7ff!important}.app-shell.appearance-dark .branded-student-leave .leave-request-form :is(input,select,textarea),.app-shell.appearance-dark .branded-student-leave .leave-request-form :is(input,select,textarea):focus{background:#0b1224!important;color:#f4f7ff!important;-webkit-text-fill-color:#f4f7ff!important;border-color:#4b5b7d!important;color-scheme:dark}.app-shell.appearance-dark .branded-student-leave .leave-request-form textarea::placeholder{color:#8fa0bc!important;-webkit-text-fill-color:#8fa0bc!important}.app-shell.appearance-dark .branded-student-leave .leave-status-tabs{background:#111a2f!important;border-color:#344263!important}.app-shell.appearance-dark .branded-student-leave .leave-status-tabs button{color:#cbd5e1!important}.app-shell.appearance-dark .branded-student-leave .leave-status-tabs button.active{background:#202c4b!important;color:#c4b5fd!important}.app-shell.appearance-dark .branded-student-leave .leave-table-wrap{border-color:#344263!important}.app-shell.appearance-dark .branded-student-leave .leave-table th{background:#242d4b!important;color:#d8dff0!important}.app-shell.appearance-dark .branded-student-leave .leave-table td{background:#151f37!important;color:#f4f7ff!important;border-color:#344263!important}.app-shell.appearance-dark .branded-student-leave .leave-table td small{color:#aebbd2!important}.app-shell.appearance-dark .branded-student-leave .leave-table-review textarea{background:#0b1224!important;color:#f4f7ff!important;border-color:#4b5b7d!important}@media (prefers-color-scheme:dark){.app-shell.appearance-system .bus-map-frame{background:linear-gradient(180deg,#182641,#111b31)!important;border-color:#3f5680!important}.app-shell.appearance-system .bus-map-frame .map-stop,.app-shell.appearance-system .bus-map-frame .map-stop :is(span,strong){color:#f4f7ff!important}.app-shell.appearance-system .bus-map-frame .map-stop:before{background:#111b31;border-color:#a78bfa}.app-shell.appearance-system .bus-map-frame .map-current:before{background:#38bdf8;border-color:#38bdf8}.app-shell.appearance-system .bus-map-overlay:after{background:linear-gradient(180deg,#60a5fa,#22d3ee)!important}.app-shell.appearance-system .branded-student-leave>.module-card,.app-shell.appearance-system .branded-student-leave .leave-request-form>header,.app-shell.appearance-system .branded-student-leave .leave-request-form form{background:#151f37!important;border-color:#344263!important;color:#f4f7ff!important}.app-shell.appearance-system .branded-student-leave .leave-request-form :is(h2,p,label){color:#f4f7ff!important}.app-shell.appearance-system .branded-student-leave .leave-request-form :is(input,select,textarea){background:#0b1224!important;color:#f4f7ff!important;-webkit-text-fill-color:#f4f7ff!important;border-color:#4b5b7d!important;color-scheme:dark}.app-shell.appearance-system .branded-student-leave .leave-table th{background:#242d4b!important;color:#d8dff0!important}.app-shell.appearance-system .branded-student-leave .leave-table td{background:#151f37!important;color:#f4f7ff!important;border-color:#344263!important}}@media (min-width: 801px){.login-card{padding:0}.login-brand{margin:0}.login-brand .tconnect-wordmark strong span{color:#fff}}@media (max-width: 800px){.login-page{padding:1rem}.login-card{display:block;width:min(460px,100%);min-height:0;padding:1.5rem;border-radius:20px}.login-brand{display:flex;justify-content:flex-start;margin:0 0 1.25rem;padding:0;border:0;background:transparent}.login-brand .tconnect-brand{flex-direction:row;gap:.8rem;text-align:left}.login-brand .tconnect-mark{width:54px;height:54px}.login-brand .tconnect-wordmark{gap:.12rem}.login-brand .tconnect-wordmark strong{font-size:1.35rem}.login-brand .tconnect-wordmark strong span{color:#172033}.login-brand .tconnect-wordmark small{color:#64748b;font-size:.7rem}.login-form{width:100%;padding-block:0}}.login-form .login-onboard-link{border:1px solid #c4b5fd;background:#f5f3ff;color:#6d28d9;box-shadow:none}.onboarding-page{min-height:100vh;padding:clamp(1rem,3vw,2.5rem);background:#eef2ff}.onboarding-shell{width:min(1180px,100%);min-height:calc(100vh - clamp(2rem,6vw,5rem));margin-inline:auto;overflow:hidden;border:1px solid #ddd6fe;border-radius:20px;background:#fff;box-shadow:0 24px 70px #4c1d9524}.onboarding-shell>header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #ede9fe}.onboarding-shell>header button{display:flex;align-items:center;gap:.45rem;padding:.65rem .85rem;border:1px solid #ddd6fe;border-radius:8px;background:#fff;color:#6d28d9;font-weight:800;cursor:pointer}.onboarding-shell>nav{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #ede9fe;background:#fafaff}.onboarding-shell>nav span{display:flex;justify-content:center;align-items:center;gap:.5rem;min-height:58px;color:#7c8598}.onboarding-shell>nav span.active{border-bottom:3px solid #6d3df5;background:#f5f3ff;color:#6d3df5}.onboarding-content{width:min(900px,calc(100% - 2rem));margin:0 auto;padding:clamp(1.5rem,4vw,3rem) 0}.onboarding-content>form:not(.onboarding-details){display:grid;gap:1rem;width:min(460px,100%);margin:5vh auto 0}.onboarding-content h1,.onboarding-content p{margin:0}.onboarding-content form>p{color:#64748b}.onboarding-content label{display:grid;gap:.4rem;color:#17233d;font-weight:750}.onboarding-content :is(input,textarea){width:100%;padding:.8rem .9rem;border:1px solid #d9d6f7;border-radius:8px;background:#fbfbff;color:#17233d}.onboarding-content form>button,.onboarding-success button{padding:.85rem 1rem;border:0;border-radius:8px;background:linear-gradient(135deg,#7c3aed,#2563eb);color:#fff;font-weight:850;cursor:pointer}.onboarding-content button:disabled{opacity:.6;cursor:wait}.onboarding-details{display:grid;gap:1.25rem}.onboarding-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.onboarding-grid .wide{grid-column:1/-1}.onboarding-details fieldset{margin:0;padding:0;border:0}.onboarding-details legend{margin-bottom:.65rem;color:#17233d;font-weight:850}.onboarding-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.onboarding-plans label{position:relative;gap:.3rem;padding:1rem;border:1px solid #ddd6fe;border-radius:8px;background:#fafaff;cursor:pointer}.onboarding-plans label.selected{border-color:#6d3df5;background:#f3f0ff;box-shadow:inset 0 0 0 1px #6d3df5}.onboarding-plans input{position:absolute;opacity:0}.onboarding-plans strong{color:#6d3df5;font-size:1.35rem}.onboarding-plans small{color:#64748b;font-weight:500}.onboarding-message,.onboarding-error{width:min(900px,100%);margin:1rem auto 0!important;padding:.75rem .9rem;border-radius:8px}.onboarding-message{background:#ecfdf5;color:#047857}.onboarding-error{background:#fef2f2;color:#b91c1c}.onboarding-success{display:grid;justify-items:center;gap:1rem;max-width:520px;margin:8vh auto 0;text-align:center}.onboarding-success>span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#dcfce7;color:#15803d}@media (max-width:700px){.onboarding-page{padding:0}.onboarding-shell{min-height:100vh;border:0;border-radius:0}.onboarding-shell>header{padding:1rem}.onboarding-shell>header button span{display:none}.onboarding-shell>nav span b{display:none}.onboarding-content{width:calc(100% - 2rem);padding:1.5rem 0}.onboarding-grid,.onboarding-plans{grid-template-columns:1fr}.onboarding-grid .wide{grid-column:auto}}.module-card.birthday-wishes{padding:14px 18px;margin-bottom:16px}.birthday-wishes>header{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.birthday-wishes h2{display:flex;align-items:center;gap:10px}.birthday-wishes h2 svg{color:#b45309}.birthday-copy-status:empty{display:none}.upcoming-birthdays{margin-top:24px;border-top:1px solid #b4530930;padding-top:16px}.upcoming-birthdays ul{list-style:none;padding:0;margin:0}.upcoming-birthdays li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #b4530920}.upcoming-birthdays small{display:block;margin-top:4px}.upcoming-birthdays time{text-align:right;flex-shrink:0}.birthday-compact>header{align-items:center;margin-bottom:10px;gap:8px}.birthday-compact h2{margin:0;font-size:1rem;gap:8px}.birthday-count{font-size:.75rem;opacity:.7}.wallet-pricing-tabs{display:flex;flex-wrap:wrap;gap:7px}.wallet-pricing-tabs button,.custom-pricing-panel button{border:1px solid var(--primary-soft);border-radius:8px;background:var(--primary-soft);color:var(--primary);padding:8px 12px;font-size:.8rem;cursor:pointer;font-weight:650}.wallet-pricing-tabs button[aria-pressed=true],.custom-agreement-form>button,.custom-agreement-payment>button{background:var(--primary);color:#fff}.custom-pricing-panel button:disabled{opacity:.55;cursor:wait}.custom-pricing-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.custom-pricing-panel>header p{margin-bottom:0}.custom-agreement-form,.custom-agreement-payment{display:grid;gap:14px;padding:16px;border:1px solid var(--primary-soft);border-radius:12px;margin-top:16px}.custom-agreement-form label,.custom-agreement-payment label,.custom-agreement-picker{display:grid;gap:6px;color:var(--text);font-size:.8rem}.custom-pricing-panel input,.custom-pricing-panel select,.custom-pricing-panel textarea{min-width:0;width:100%;padding:10px;border:1px solid var(--primary-soft);border-radius:9px;background:var(--card);color:var(--text);font:inherit}.custom-agreement-form small,.custom-agreement-payment>small{color:var(--muted);font-size:.7rem}.custom-price-preview{display:flex;flex-wrap:wrap;gap:12px 24px;padding:14px;border-radius:10px;background:var(--primary-soft);color:var(--text)}.custom-price-preview span,.custom-price-preview strong{display:grid;gap:6px;font-size:.8rem}.custom-agreement-form>button,.custom-agreement-payment>button{justify-self:start}.custom-agreement-picker{max-width:420px;margin-top:16px}.custom-agreement-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.custom-agreement-summary>span{display:grid;gap:6px;padding:12px;border:1px solid var(--primary-soft);border-radius:10px}.custom-agreement-summary small{color:var(--muted);font-size:.72rem}.custom-agreement-summary strong{color:var(--primary);font-size:1rem;overflow-wrap:anywhere}.custom-agreement-period{font-size:.8rem;color:var(--muted);line-height:1.5}.custom-pricing-panel .wallet-table-wrap{margin-top:16px}.custom-pricing-panel .wallet-table-wrap small{display:block;margin-top:3px;font-size:.7rem;color:var(--muted)}@media (max-width:600px){.custom-agreement-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-agreement-form,.custom-agreement-payment{padding:12px}.custom-agreement-summary>span{padding:10px}}.global-admin-heading{flex-direction:column;align-items:stretch;gap:12px;padding:16px 18px}.global-admin-heading>div:first-child{min-width:0}.global-admin-heading h2{font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.25;margin:5px 0}.global-admin-heading .admin-eyebrow{font-size:.65rem;letter-spacing:.07em}.global-admin-heading p:last-child{font-size:.8rem;line-height:1.4}.global-admin-heading>div:last-child{display:flex;align-self:stretch;flex-wrap:wrap;gap:7px;width:auto}.global-admin-heading>div:last-child button{width:auto;min-width:0;min-height:32px;padding:7px 12px;font-size:.76rem;border-radius:8px;font-weight:650;box-shadow:none}.global-admin-heading>div:last-child .console-secondary-action{background:var(--primary-soft);color:var(--primary)}.global-admin-workspace .hierarchy-stats{grid-template-columns:repeat(2,minmax(0,180px));gap:10px}.global-admin-workspace .hierarchy-stats>div{gap:10px;padding:9px 12px;border-radius:12px}.global-admin-workspace .hierarchy-stat-icon{width:30px;height:30px;flex:0 0 30px;border-radius:9px;font-size:1rem}.global-admin-workspace .hierarchy-stats strong{font-size:1.15rem;line-height:1.2}.global-admin-workspace .hierarchy-stats span{font-size:.74rem}.global-admin-workspace .hierarchy-table-wrap{min-width:0;overflow-x:auto;border-radius:12px}.global-admin-workspace .hierarchy-table{min-width:0}.hierarchy-table .serial-column{width:4%}.hierarchy-table .school-name-column{width:23%}.hierarchy-table .school-actions-column{width:19%}.hierarchy-table .branch-name-column{width:25%}.hierarchy-table .branch-wallet-column{width:10%}.hierarchy-table .branch-actions-column{width:19%}.global-admin-workspace .hierarchy-table th{position:sticky;top:0;z-index:1;padding:9px 8px;font-size:.64rem;letter-spacing:.03em}.global-admin-workspace .hierarchy-table td{padding:10px 8px;font-size:.8rem;line-height:1.4;vertical-align:middle}.hierarchy-table td>strong{display:block;font-size:.84rem}.hierarchy-table td>small{display:block;margin-top:3px;color:var(--muted);font-size:.66rem;overflow-wrap:anywhere}.global-admin-workspace .platform-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.global-admin-workspace .platform-row-actions select,.global-admin-workspace .platform-row-actions button{width:auto;min-height:28px;height:28px;padding:3px 6px;border-radius:7px;font-size:.68rem}.global-admin-workspace .platform-row-actions select{width:73px;padding-left:4px}.global-admin-workspace .platform-row-actions button{font-weight:650}@media (max-width:600px){.global-admin-heading{padding:13px}.global-admin-heading>div:last-child{display:flex;gap:6px}.global-admin-heading>div:last-child button{flex:0 1 auto;padding:7px 10px;font-size:.73rem}.global-admin-workspace .hierarchy-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.global-admin-workspace .hierarchy-table-wrap{overflow:visible}.global-admin-workspace .hierarchy-table td{grid-template-columns:70px minmax(0,1fr);padding:9px 10px}.global-admin-workspace .hierarchy-table td:nth-child(1):before{content:"School no."}.global-admin-workspace .hierarchy-table td:nth-child(2):before{content:"School"}.global-admin-workspace .hierarchy-table td:nth-child(3):before{content:"Actions"}.global-admin-workspace .hierarchy-table td:nth-child(4):before{content:"Branch"}.global-admin-workspace .hierarchy-table td:nth-child(5):before{content:"Wallet"}.global-admin-workspace .hierarchy-table td:nth-child(6):before{content:"Actions"}.global-admin-workspace .hierarchy-table td>strong,.global-admin-workspace .hierarchy-table td>small{grid-column:2}.global-admin-workspace .hierarchy-table td>strong{grid-row:1}.global-admin-workspace .platform-row-actions{display:flex;flex-wrap:wrap}}.teacher-delegations{min-width:0}.teacher-delegations>header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px}.teacher-delegations h2{display:flex;align-items:center;gap:8px;margin:4px 0}.teacher-delegations header p:not(.admin-eyebrow){margin:6px 0;color:var(--muted);font-size:.85rem}.delegation-header-actions{display:flex;align-items:center;gap:8px}.teacher-delegations button{border:1px solid var(--primary-soft);border-radius:9px;background:var(--primary-soft);color:var(--primary);padding:9px 12px;cursor:pointer;font-weight:650}.teacher-delegations button:disabled{opacity:.6;cursor:wait}.teacher-delegations button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.delegation-form{display:grid;gap:14px;margin:16px 0;padding:16px;border:1px solid var(--primary-soft);border-radius:14px}.delegation-form label{display:grid;gap:6px;font-size:.85rem;color:var(--text)}.delegation-form select,.delegation-form input[type=date],.delegation-form textarea{width:100%;min-width:0;padding:10px;border:1px solid var(--primary-soft);border-radius:9px;background:var(--card);color:var(--text);font:inherit}.delegation-form fieldset{border:1px solid var(--primary-soft);border-radius:10px;padding:12px;min-width:0}.delegation-form legend{font-size:.85rem;font-weight:700}.delegation-duties{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.delegation-duties label{display:flex;align-items:center;gap:8px}.delegation-duties input{width:auto;accent-color:var(--primary)}.delegation-teacher-options{max-height:210px;overflow-y:auto}.delegation-teacher-options small{display:block;margin-top:3px;color:var(--muted);font-size:.7rem}.delegation-form>button[type=submit]{justify-self:start;background:var(--primary);color:#fff}.delegation-table-wrap{width:100%;margin-top:14px;max-height:360px;overflow:auto;border:1px solid var(--primary-soft);border-radius:12px}.delegation-table{width:100%;min-width:640px;border-collapse:collapse;color:var(--text);text-align:left;font-size:.78rem}.delegation-table th{position:sticky;top:0;z-index:1;background:var(--card);box-shadow:inset 0 -1px var(--primary-soft);padding:10px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.03em}.delegation-table td{padding:9px 10px;border-bottom:1px solid var(--primary-soft);vertical-align:middle}.delegation-table tr:last-child td{border-bottom:0}.delegation-table tbody tr:hover{background:color-mix(in srgb,var(--primary-soft) 30%,transparent)}.delegation-table td:first-child{white-space:nowrap}.delegation-table td:nth-child(2){min-width:130px}.delegation-table td:nth-child(4){min-width:170px;max-width:300px}.delegation-table td>strong{display:block;font-size:.8rem}.delegation-teacher-direction{display:block;margin-bottom:2px;font-size:.65rem;color:var(--muted)}.delegation-dates{white-space:nowrap;font-size:.72rem}.delegation-dates small{display:block;margin-top:3px;color:var(--muted);font-size:.68rem}.delegation-table-duties{line-height:1.5}.delegation-handover-note{margin-top:4px;font-size:.7rem}.delegation-handover-note summary{color:var(--primary);cursor:pointer}.delegation-handover-note p{margin:6px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.teacher-delegations .delegation-table button{padding:6px 9px;font-size:.72rem}.delegation-no-action{color:var(--muted)}.delegation-status{display:inline-block;padding:3px 7px;border-radius:6px;background:var(--primary-soft);font-size:.7rem;color:var(--muted)}.delegation-status.active{background:#dcfce7;color:#166534}.delegation-status.scheduled{background:#dbeafe;color:#1d4ed8}.delegation-duty-tags{display:flex;flex-wrap:wrap;gap:5px}.delegation-duty-tags span{border-radius:6px;background:var(--primary-soft);padding:4px 7px;font-size:.7rem}@media (max-width:600px){.delegation-form{padding:12px}.delegation-duties{grid-template-columns:1fr}.delegation-header-actions{width:100%}.delegation-header-actions>button:last-child{flex:1}.delegation-table-wrap{max-height:300px}}.metric-mobile-icon,.metric-mobile-label{display:none}@media (max-width:600px){.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:14px}.dashboard-grid .metric-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;height:auto;min-height:0;padding:12px 4px 10px;border-radius:13px;text-align:center;overflow:hidden}.metric-mobile-icon{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border-radius:11px;background:#dbeafe;color:#2563eb}.metric-mobile-icon svg{width:21px;height:21px}.metric-icon-homework{background:#fef3c7;color:#b45309}.metric-icon-notifications{background:#ede9fe;color:#7c3aed}.metric-icon-fees{background:#d1fae5;color:#047857}.dashboard-grid .metric-card h2{font-size:clamp(.62rem,2.6vw,.78rem);line-height:1.25;font-weight:700}.metric-desktop-label{display:none}.metric-mobile-label{display:inline}.dashboard-grid .metric-primary{display:block;width:100%;min-width:0}.dashboard-grid .metric-primary p{font-size:clamp(.65rem,2.7vw,.85rem);line-height:1.3;overflow-wrap:anywhere}.dashboard-grid .metric-primary small,.dashboard-grid .metric-details,.dashboard-grid .metric-card-arrow,.dashboard-grid .metric-due-date,.dashboard-grid .metric-notification-preview,.dashboard-grid .metric-next-due{display:none}}.teacher-detail-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));flex:0 0 auto;gap:6px;margin:12px 0;padding:5px;border-radius:12px;background:var(--primary-soft)}.teacher-detail-tabs button{padding:10px 6px;border:0;border-radius:9px;background:transparent;color:var(--text);font-size:.85rem;font-weight:700;cursor:pointer}.teacher-detail-tabs button[aria-selected=true]{background:var(--primary);color:#fff;box-shadow:0 3px 10px #8054ef22}.teacher-detail-tabs button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.teacher-detail-panel{display:grid;align-content:start;gap:16px;min-width:0}.teacher-detail-panel[hidden]{display:none!important}.teacher-profile-summary{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--primary-soft);border-radius:14px;background:linear-gradient(110deg,var(--primary-soft),var(--card))}.teacher-profile-summary>span{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;overflow:hidden;background:var(--primary);color:#fff;font-size:1.2rem;font-weight:700;flex-shrink:0}.teacher-profile-summary img{width:100%;height:100%;object-fit:cover}.teacher-profile-summary strong{display:block;font-size:1rem}.teacher-profile-summary small,.teacher-list-id{display:block;margin-top:4px;font-size:.75rem;color:var(--muted)}.teacher-load-summary{display:flex;flex-wrap:wrap;gap:8px 20px;padding:12px;border-radius:12px;background:var(--primary-soft);color:var(--text);font-size:.85rem}.teacher-danger-zone{border:1px solid #ef444430;border-radius:12px;padding:14px;font-size:.85rem}.teacher-danger-zone p{color:var(--muted);line-height:1.5}.teacher-danger-zone button{padding:8px 12px;border:1px solid #ef444440;border-radius:8px;background:#ef444410;color:#b91c1c;cursor:pointer}.teacher-clear-list .teacher-simple-table{min-width:0;table-layout:auto}.teacher-view-details{border:1px solid var(--primary-soft);border-radius:8px;padding:8px 12px;background:var(--primary-soft);color:var(--primary);white-space:nowrap;font-weight:700;cursor:pointer}.teacher-subject-filter{display:grid;gap:5px;max-width:280px;margin:0 0 12px;font-size:.8rem;color:var(--text);font-weight:600}.teacher-subject-filter select{padding:9px;border:1px solid var(--primary-soft);border-radius:9px;color:var(--text);background:var(--card)}.school-subject-catalog{display:grid;align-content:start;gap:16px;min-height:0;overflow:auto}.school-subject-catalog>p{margin:0;color:var(--muted);font-size:.9rem}.school-subject-catalog form>button{justify-self:start;padding:10px 16px;border:0;border-radius:9px;background:var(--primary);color:#fff;cursor:pointer}.teacher-clear-list .teacher-simple-table td{overflow-wrap:anywhere}@media (max-width:700px){.teacher-clear-list .teacher-simple-table tbody{display:grid;gap:12px}.teacher-clear-list .teacher-simple-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-clear-list .teacher-simple-table td{grid-column:auto}.teacher-clear-list .teacher-simple-table td:first-child{grid-column:1/-1;padding-bottom:10px}.teacher-clear-list .teacher-simple-table td:first-child:before{display:none}.teacher-clear-list .teacher-simple-table td:first-child>strong{font-size:1rem}.teacher-clear-list .teacher-simple-table td:last-child{grid-column:1/-1}.teacher-clear-list .teacher-simple-table td:last-child:before{display:none}.teacher-clear-list .teacher-view-details{width:100%}.teacher-detail-tabs{gap:3px;padding:4px}.teacher-detail-tabs button{font-size:.78rem;padding:9px 3px}.teacher-form-actions{flex-wrap:wrap;gap:8px}.teacher-form-actions>button:last-child{margin-left:auto}}.announcement-hub{width:100%;min-width:0;justify-self:stretch}.announcement-hub>.announcement-card{width:100%;min-width:0;box-sizing:border-box}.announcement-hub.has-birthdays{position:relative;border-radius:20px;background:var(--card, white);box-shadow:0 12px 30px #0f172a10;isolation:isolate;z-index:11}.announcement-hub.has-birthdays>.announcement-card{width:100%;height:auto;min-height:96px;border:0;box-shadow:none;border-radius:0 0 20px 20px}.announcement-hub.has-birthdays>.holiday-fallback-card{box-shadow:none;border:0}.announcement-birthday-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 1.15rem 4px}.birthday-today-carousel{position:relative;min-width:0;flex:1;max-width:450px}.birthday-today-trigger{display:flex;align-items:center;gap:6px;width:100%;padding:0;border:0;text-align:left;background:transparent;color:var(--text);cursor:pointer}.birthday-slide-window{display:block;flex:1;min-width:0;overflow:hidden}.birthday-slide-track{display:flex;width:100%;transition:transform .45s ease}.birthday-slide{display:flex;align-items:center;gap:7px;min-width:0;flex:0 0 100%}.birthday-slide .birthday-notice-avatar{width:32px;height:32px}.birthday-slide-copy{display:block;min-width:0}.birthday-slide-copy small{display:flex;align-items:center;gap:4px;color:var(--primary);text-transform:uppercase;font-size:.65rem;font-weight:700}.birthday-slide-copy strong{display:block;margin:2px 0;font-size:.78rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.birthday-slide-copy>span{display:block;color:var(--muted);font-size:.65rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.birthday-slide-count{display:inline-flex;align-items:center;gap:2px;flex-shrink:0;font-size:.65rem;color:var(--muted)}.birthday-today-panel{z-index:13}.birthday-today-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:6px}@media (prefers-reduced-motion:reduce){.birthday-slide-track{transition:none}}@media (max-width:600px){.birthday-slide-copy small{font-size:.58rem}.birthday-slide-copy strong{font-size:.72rem}.birthday-slide .birthday-notice-avatar{width:28px;height:28px}}.announcement-hub.has-birthdays .birthday-announcement-notice{position:relative;margin:0 0 0 auto;flex-shrink:0;z-index:12}.birthday-announcement-notice .birthday-notice-trigger{gap:5px;padding:5px 8px;font-size:.7rem;border-radius:8px;box-shadow:none}.birthday-announcement-notice .birthday-notice-panel{left:auto;right:0;width:min(360px,calc(100vw - 52px))}.announcement-birthdays{display:flex;flex-direction:column;flex:1;gap:8px;min-width:0;max-height:150px;overflow-y:auto}.announcement-birthdays article{display:flex;align-items:center;gap:7px;min-width:0;flex-shrink:0}.announcement-birthdays .birthday-notice-avatar{width:32px;height:32px}.announcement-birthdays article>div{min-width:0}.announcement-birthdays small{display:flex;align-items:center;gap:4px;color:var(--primary, #7536e9);text-transform:uppercase;letter-spacing:.03em;font-size:.65rem;font-weight:700}.announcement-birthdays strong{display:block;margin:2px 0;overflow-wrap:anywhere;font-size:.78rem;color:var(--text)}.announcement-birthdays p{margin:0;font-size:.65rem;color:var(--muted);overflow-wrap:anywhere}@media (max-width:600px){.announcement-birthday-header{padding:9px .9rem 3px;gap:7px}.birthday-announcement-notice .birthday-notice-trigger{padding:5px 6px;gap:4px}.announcement-birthdays small{font-size:.58rem;letter-spacing:0}}.birthday-notice{position:relative;width:fit-content;max-width:100%;margin-bottom:14px;z-index:10}.birthday-notice-trigger{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 14px;max-width:100%;border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:12px;background:var(--card, white);color:var(--text, #17233d);cursor:pointer;box-shadow:0 3px 12px #8054ef08;font-size:.8rem}.birthday-notice-trigger>svg:first-child{color:#c47b12}.birthday-notice-trigger>span{display:inline-flex;align-items:center;gap:5px;font-size:.75rem}.birthday-notice-trigger b{display:inline-grid;place-items:center;min-width:20px;padding:2px 5px;border-radius:7px;background:#8b5cf615;color:var(--primary, #7536e9);font-size:.7rem}.birthday-notice-trigger .expanded{transform:rotate(180deg)}.birthday-notice-panel{position:absolute;top:100%;left:0;width:min(390px,calc(100vw - 42px));padding:14px;border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:14px;background:var(--card, white);color:var(--text, #17233d);box-shadow:0 12px 40px #17233d26}.birthday-notice-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.9rem}.birthday-notice-panel>header button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:#8b5cf610;color:inherit;cursor:pointer}.birthday-notice-tabs{display:flex;gap:6px;margin-top:10px}.birthday-notice-tabs button{flex:1;padding:7px 8px;border-radius:8px;border:1px solid #8b5cf625;background:transparent;color:inherit;font-size:.78rem;cursor:pointer}.birthday-notice-tabs button[aria-pressed=true]{background:var(--primary, #7536e9);color:#fff;border-color:transparent}.birthday-notice-panel ul{list-style:none;margin:8px 0 0;padding:0;max-height:min(320px,50dvh);overflow-y:auto}.birthday-notice-panel li{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid #8b5cf618}.birthday-notice-panel li:last-child{border-bottom:0}.birthday-notice-avatar{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:50%;overflow:hidden;background:#8b5cf620;color:var(--primary, #7536e9);font-size:.75rem;font-weight:700}.birthday-notice-avatar img{width:100%;height:100%;object-fit:cover}.birthday-notice-person{flex:1;min-width:0}.birthday-notice-person strong{display:block;overflow-wrap:anywhere;font-size:.8rem}.birthday-notice-panel small{display:block;margin-top:3px;font-size:.68rem;opacity:.75}.birthday-notice-panel time{text-align:right;flex-shrink:0;font-size:.72rem}.birthday-notice-note,.birthday-notice-empty{font-size:.75rem;opacity:.75;margin:10px 0 2px}.birthday-notice button:focus-visible{outline:2px solid var(--primary, #7536e9);outline-offset:2px}@media (max-width:400px){.birthday-notice-trigger{gap:7px;padding:9px 10px}.birthday-notice-trigger>span{font-size:.7rem}}.student-profile-card.student-birthday-profile{background:radial-gradient(ellipse at 0% 0%,#ffe5a540,transparent 42%),radial-gradient(ellipse at 55% 100%,#e9b8fa45,transparent 65%),linear-gradient(115deg,#fffaf4,#f5f0ff 60%,#edf8ff);border:1px solid #c4b5fd90;box-shadow:0 4px 20px #8054ef12}.student-birthday-profile .profile-avatar{position:relative;overflow:visible;display:block;align-self:center;flex-shrink:0}.student-birthday-profile .profile-avatar>img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:cover;border-radius:50%;border:3px solid white}.student-birthday-profile .profile-avatar>.profile-avatar-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:50%}.profile-birthday-crown{position:absolute;top:-30px;left:12px;z-index:2;color:#d99a0a;font-size:39px;line-height:1;transform:rotate(-18deg);filter:drop-shadow(0 2px 2px #a9751620);pointer-events:none}.student-birthday-profile .profile-info h1{color:#7536e9}.student-birthday-profile .profile-info .greeting{color:#6d28d9;font-weight:700}.profile-birthday-wish{margin:4px 0 6px;color:#334155;font-size:.8rem;line-height:1.35}.profile-birthday-wish span{display:block;margin-top:2px;font-size:.7rem;color:#6d28d9}.app-shell.appearance-dark .student-profile-card.student-birthday-profile{background:radial-gradient(ellipse at 0% 0%,#e4a31618,transparent 40%),linear-gradient(115deg,#292038,#252543 65%,#193343);border-color:#8b5cf660}.app-shell.appearance-dark .student-birthday-profile .profile-info h1,.app-shell.appearance-dark .student-birthday-profile .profile-info .greeting,.app-shell.appearance-dark .profile-birthday-wish span{color:#d8b4fe}.app-shell.appearance-dark .profile-birthday-wish{color:#e2e8f0}@media (max-width:600px){.student-profile-card.student-birthday-profile{grid-template-rows:auto;row-gap:14px;padding-top:26px}.student-birthday-profile .profile-avatar{width:88px;height:88px;min-height:88px;margin:0 auto}.student-birthday-profile .profile-info{position:relative;min-width:0;margin:0}.student-birthday-profile .profile-name-rating h1{overflow-wrap:anywhere;line-height:1.2}.student-birthday-profile .profile-intro-line{row-gap:5px;margin-bottom:5px}.student-birthday-profile .profile-avatar:before,.student-birthday-profile .profile-avatar:after{position:absolute;top:24px;width:36px;line-height:1;text-align:center;font-size:30px;pointer-events:none}.student-birthday-profile .profile-avatar:before{content:"🎈";left:-48px;transform:rotate(-14deg)}.student-birthday-profile .profile-avatar:after{content:"🎁";right:-48px;transform:rotate(12deg)}.profile-birthday-crown{top:-24px;left:7px;font-size:32px}.profile-birthday-wish{font-size:.75rem}}.birthday-personal{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:linear-gradient(110deg,#8b5cf618,#ec489912,#f59e0b18);border:1px solid #a78bfa40}.birthday-party{font-size:1.8rem;flex-shrink:0}.birthday-personal>div{flex:1;min-width:0}.birthday-personal strong{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:1rem}.birthday-personal strong svg{color:#a97516}.birthday-personal p{margin:4px 0;font-size:.85rem;line-height:1.4}.birthday-personal small{font-size:.72rem;opacity:.75}.birthday-copy{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;padding:0;border:1px solid #a78bfa50;border-radius:8px;background:transparent;color:inherit;cursor:pointer}.birthday-today{display:flex;align-items:baseline;gap:10px;margin-top:8px}.birthday-label{font-size:.75rem;font-weight:600}.birthday-chips{display:flex;flex-wrap:wrap;gap:6px}.birthday-chip{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:6px;padding:6px 10px;border-radius:8px;background:#f59e0b0c;border:1px solid #f59e0b25;font-size:.8rem}.birthday-chip small{font-size:.72rem;opacity:.75}.birthday-compact .birthday-empty{margin:6px 0;font-size:.8rem;opacity:.7}.birthday-copy-status{margin:6px 0 0;font-size:.75rem}.birthday-compact .upcoming-birthdays{margin-top:10px;border-color:#a78bfa25;padding-top:8px}.upcoming-birthdays summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-size:.8rem;font-weight:600}.upcoming-birthdays summary::-webkit-details-marker{display:none}.upcoming-birthdays summary>span:first-child{flex-shrink:0}.upcoming-birthdays summary small{display:inline;margin:0 0 0 6px;font-size:.7rem;font-weight:400;opacity:.7}.birthday-next{margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:400;opacity:.75}.upcoming-birthdays summary>svg{margin-left:auto;flex-shrink:0}.upcoming-birthdays[open] summary>svg{transform:rotate(180deg)}.birthday-compact .upcoming-birthdays li{gap:12px;padding:8px 0;border-color:#a78bfa20;font-size:.8rem}.upcoming-birthdays li small{margin-top:2px;font-size:.7rem;opacity:.7}@media (max-width: 600px){.module-card.birthday-wishes{padding:12px}.birthday-personal{gap:8px;padding:10px}.birthday-party{font-size:1.4rem}.birthday-personal strong{font-size:.9rem}.birthday-next{display:none}}.wallet-current-pricing{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid #e7dfff;border-radius:12px;background:#fff;font-size:13px}.wallet-current-pricing button,.wallet-remove-agreement{padding:6px 10px;font-size:12px;border:1px solid #fecaca;border-radius:8px;color:#b42318;background:#fff7f7}.custom-history-toggle{display:flex;align-items:center;gap:8px;font-size:12px;margin:12px 0}.custom-history-toggle input{width:auto;margin:0}.wallet-transaction-history>summary{cursor:pointer;font-weight:700;font-size:14px}.wallet-transaction-history>summary small{margin-left:8px;font-weight:400;color:#778195}.wallet-ledger-actions{display:flex;flex-wrap:wrap;gap:6px}.wallet-ledger-actions button{padding:5px 9px;font-size:12px}.wallet-reversed{color:#b42318;font-weight:600}.wallet-reversal-form{display:grid;gap:10px;margin-top:14px;padding:14px;border:1px solid #fecaca;border-radius:12px}.wallet-reversal-form label{display:grid;gap:6px;font-size:13px}.wallet-reversal-form p{margin:0;font-size:12px}.wallet-reversal-form textarea{width:100%;box-sizing:border-box;padding:8px;border:1px solid #ddd6fe;border-radius:8px}.school-expenses{display:grid;gap:14px;min-width:0}.expense-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.expense-toolbar label{display:grid;gap:5px;font-size:12px;min-width:140px}.school-expenses input,.school-expenses select{padding:8px 10px;border:1px solid #e3dcff;border-radius:8px;min-width:0;max-width:100%;box-sizing:border-box}.school-expenses button{padding:7px 11px;font-size:12px;border-radius:8px}.expense-entry-form{display:grid;gap:12px;padding:14px;border:1px solid #e6ddff;border-radius:12px;background:#faf9ff}.expense-entry-form>button{justify-self:start}.school-expenses .wallet-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.school-expenses .wallet-table-wrap{min-width:0;max-width:100%;overflow-x:auto}.school-expenses .wallet-table-wrap table{width:100%;min-width:580px}@media (max-width:600px){.school-expenses .wallet-stats{grid-template-columns:1fr;gap:8px}.school-expenses .wallet-stats article{padding:10px}.school-expenses .wallet-payment-form{grid-template-columns:1fr}.expense-toolbar label{flex:1}}.admin-editor.expenses-admin-editor{width:min(1120px,100%);height:100dvh;max-height:100dvh;min-height:0;box-sizing:border-box;overflow:hidden;padding:16px;background:var(--card)}.expenses-admin-editor>.admin-editor-heading{flex:0 0 auto;margin:0;padding:12px 14px;border:1px solid var(--primary-soft);border-radius:14px;background:linear-gradient(110deg,var(--primary-soft),var(--card))}.expenses-admin-editor .admin-editor-heading h2{margin:4px 0 0;font-size:20px;line-height:1.25}.expenses-admin-editor>.school-expenses{flex:1 1 0;min-height:0;overflow:hidden}.school-expenses{display:flex;flex-direction:column;gap:0;color:var(--text)}.expense-scroll{display:flex;flex-direction:column;flex:1 1 auto;gap:14px;min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 8px 16px 0}.expense-scroll>*{flex-shrink:0}.school-expenses .expense-toolbar{padding:10px 12px;border:1px solid var(--primary-soft);border-radius:12px;background:var(--card)}.school-expenses button{min-height:34px;padding:7px 12px;border:1px solid var(--primary-soft);background:var(--primary-soft);color:var(--primary);font-family:inherit;font-size:12px;font-weight:700;line-height:1.3;cursor:pointer;box-shadow:none}.school-expenses button:disabled{opacity:.5;cursor:not-allowed}.school-expenses button.expense-primary,.school-expenses .wallet-pricing-tabs button[aria-pressed=true]{border-color:transparent;background:linear-gradient(120deg,var(--primary),var(--brand-blue));color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 18%,transparent)}.school-expenses :is(input,select){width:100%;height:38px;min-height:38px;padding:8px 10px;border:1px solid var(--primary-soft);border-radius:9px;background:var(--card);color:var(--text);font-family:inherit;font-size:13px;font-weight:500;line-height:1.3;box-shadow:none}.school-expenses :is(input,select):focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 40%,transparent);outline-offset:2px}.school-expenses input[type=file]{height:auto;padding:6px}.school-expenses input[type=file]::file-selector-button{margin-right:8px;padding:5px 8px;border:0;border-radius:6px;background:var(--primary-soft);color:var(--primary);font-weight:700}.school-expenses .wallet-payment-form{align-items:start;gap:12px 16px}.school-expenses .wallet-payment-form label{gap:5px;margin:0;color:var(--text);font-size:12px}.school-expenses .wallet-payment-form small{color:var(--muted);font-size:11px;font-weight:400;line-height:1.4}.school-expenses .expense-entry-form{margin:0;padding:16px;gap:14px;border-color:var(--primary-soft);background:linear-gradient(140deg,color-mix(in srgb,var(--primary-soft) 45%,var(--card)),var(--card))}.expense-entry-form h4{margin:0;padding-bottom:10px;border-bottom:1px solid var(--primary-soft);font-size:15px;color:var(--primary)}.school-expenses .wallet-stats article{padding:12px 14px;gap:5px;border-left:3px solid var(--primary);background:var(--card)}.school-expenses .wallet-stats article:nth-child(2){border-left-color:#f59e0b}.school-expenses .wallet-stats article:nth-child(3){border-left-color:#14b8a6}.school-expenses .wallet-stats span{font-size:11px}.school-expenses .wallet-stats strong{font-size:20px}.school-expenses .wallet-pricing-tabs{margin:0;gap:8px}.expense-save-bar{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:10px;padding:12px 4px 0;border-top:1px solid var(--primary-soft);background:var(--card)}.expense-save-bar small{color:var(--muted);font-size:11px}.expense-save-bar>div{display:flex;gap:8px}@media (max-width:600px){.admin-editor.expenses-admin-editor{padding:10px}.expenses-admin-editor .admin-editor-heading h2{font-size:17px}.school-expenses .wallet-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.school-expenses .wallet-stats article{padding:8px;border-radius:10px}.school-expenses .wallet-stats span{font-size:10px}.school-expenses .wallet-stats strong{font-size:15px}.school-expenses .expense-entry-form{padding:12px}.expense-save-bar small{display:none}.expense-save-bar{justify-content:flex-end;padding-bottom:env(safe-area-inset-bottom)}}.expenses-admin-editor .school-expenses :is(input,select){height:40px!important;min-height:40px!important;padding:7px 10px!important;font-size:13px!important}.expenses-admin-editor .school-expenses input[type=file]{height:auto!important;padding:6px!important}.school-expenses .wallet-stats.expense-summary-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.expense-summary-stats small{font-size:10px}.expense-charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.expense-chart-card{min-width:0;padding:16px;border:1px solid var(--primary-soft);border-radius:14px;background:var(--card)}.expense-chart-card header{margin-bottom:18px}.expense-chart-card h3{margin:0 0 4px;color:var(--text);font-size:15px}.expense-chart-card header p,.expense-chart-empty{margin:0;font-size:12px;color:var(--muted)}.expense-category-bars{display:grid;gap:14px}.expense-category-bars>div>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin-bottom:6px}.expense-bar-track{height:10px;border-radius:10px;background:var(--primary-soft);overflow:hidden}.expense-bar-track i{display:block;height:100%;border-radius:10px;background:linear-gradient(90deg,var(--primary),var(--brand-blue))}.expense-donut-layout{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px}.expense-donut{display:grid;place-items:center;width:170px;height:170px;border-radius:50%}.expense-donut>span{display:grid;align-content:center;gap:6px;text-align:center;width:130px;height:130px;border-radius:50%;background:var(--card)}.expense-donut small{color:var(--muted);font-size:11px}.expense-donut strong{font-size:17px}.expense-chart-legend p{display:flex;align-items:center;gap:8px;font-size:12px}.expense-chart-legend p i{width:9px;height:9px;border-radius:50%;background:var(--primary)}.expense-chart-legend p:nth-child(2) i{background:#f59e0b}.expense-trend-card{grid-column:1/-1}.expense-trend-bars{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.expense-trend-column{display:grid;gap:8px;text-align:center;font-size:11px;min-width:0}.expense-trend-column>strong{font-size:11px;overflow-wrap:anywhere}.expense-trend-track{display:flex;flex-direction:column;justify-content:flex-end;height:130px;margin:0 auto;width:60%;max-width:64px;border-radius:8px 8px 0 0;overflow:hidden;background:color-mix(in srgb,var(--primary-soft) 35%,var(--card))}.expense-trend-track i{display:block}.trend-paid{background:var(--primary)}.trend-pending{background:#f59e0b}.expense-trend-key{display:flex;gap:14px;justify-content:center;padding-top:14px;font-size:11px;color:var(--primary)}.expense-trend-key span:nth-child(2){color:#b77900}.principal-expense-report{min-width:0;padding:16px;border:1px solid var(--primary-soft);border-radius:16px;background:var(--card)}.principal-expense-report .expense-scroll{overflow:visible;padding:0}.principal-expenses-link{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:16px;border:1px solid var(--primary-soft);border-radius:14px;background:var(--primary-soft);color:var(--primary);font-weight:800;cursor:pointer}.principal-expenses-link span{font-size:12px;font-weight:500}@media (max-width:600px){.school-expenses .wallet-stats.expense-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-charts{grid-template-columns:1fr}.expense-trend-bars{gap:5px}.expense-trend-column>strong{font-size:9px}.expense-chart-card{padding:12px}.principal-expense-report{padding:10px}}.expense-source-card{grid-column:1/-1}.expense-combined-total{display:flex;justify-content:space-between;gap:12px;margin:16px 0 0;padding-top:12px;border-top:1px solid var(--primary-soft);color:var(--primary);font-size:13px;font-weight:700}.principal-expenses-link{align-items:center;text-align:left;background:var(--card);gap:16px}.principal-expenses-link .principal-expenses-title{display:grid;gap:5px;font-size:17px;font-weight:800}.principal-expenses-link .principal-expenses-title small{font-size:11px;color:var(--muted);font-weight:500}.principal-expenses-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:100%}.principal-expenses-summary>span{display:grid;gap:4px}.principal-expenses-summary .principal-expense-total{align-content:start;gap:8px;min-width:0;padding:16px;border:1px solid color-mix(in srgb,var(--expense-color) 25%,var(--card));border-radius:14px;background:color-mix(in srgb,var(--expense-color) 12%,var(--card))}.principal-expense-total.combined{--expense-color:#8b5cf6}.principal-expense-total.school{--expense-color:#3b82f6}.principal-expense-total.petty{--expense-color:#f59e0b}.principal-expense-total.pending{--expense-color:#f97316}.principal-expense-total.available{--expense-color:#14b8a6}.principal-expenses-summary small{font-size:10px;color:var(--muted)}.principal-expenses-summary strong{font-size:19px;color:var(--text);overflow-wrap:anywhere}.principal-expenses-cta{font-size:12px}@media (max-width:1000px){.principal-expenses-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:650px){.principal-expenses-link{gap:14px}.principal-expenses-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.principal-expenses-summary .principal-expense-total{padding:12px}.principal-expenses-summary strong,.principal-expenses-link .principal-expenses-title{font-size:16px}}@media (max-width:380px){.principal-expenses-summary{grid-template-columns:1fr}}.student-timetable-shortcut{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:14px 16px;border:1px solid var(--primary-soft);border-radius:14px;background:linear-gradient(110deg,var(--primary-soft),var(--card));color:var(--primary);font:inherit;font-weight:800;text-align:left;cursor:pointer}.student-timetable-shortcut span{font-size:12px;font-weight:500}.school-hub>.student-timetable{min-width:0;width:100%;box-sizing:border-box}.student-timetable .student-calendar-day.today>header{color:var(--primary);background:var(--primary-soft)}.student-timetable .student-calendar-events time{white-space:normal}@media (max-width:600px){.student-timetable .schedule-heading{flex-direction:column;align-items:stretch}.student-timetable .teacher-schedule-navigation{flex-wrap:wrap}.student-timetable .student-calendar.calendar-week{overflow-x:auto}.student-timetable .schedule-tabs{display:flex;flex-wrap:wrap}}.student-timetable{display:grid;gap:14px;min-width:0}.student-timetable .schedule-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.student-timetable .schedule-heading h2{margin:4px 0}.student-timetable .schedule-heading p:last-child{margin:0;font-size:12px;color:var(--muted)}.student-calendar{display:grid;gap:10px;min-width:0;max-width:100%}.student-calendar.calendar-week,.student-calendar.calendar-month{grid-template-columns:repeat(7,minmax(125px,1fr));overflow-x:auto}.student-calendar-day{min-width:0;border:1px solid var(--primary-soft);border-radius:12px;overflow:hidden;background:var(--card)}.student-calendar-day.today{border-color:var(--primary)}.student-calendar-day.outside-month{opacity:.5}.student-calendar-day>header{display:flex;align-items:center;gap:8px;padding:10px;border-bottom:1px solid var(--primary-soft);font-size:12px}.student-calendar-day>header strong{font-size:17px}.student-calendar-events{display:grid;gap:8px;padding:10px}.student-calendar-events article{display:grid;gap:5px;padding:10px;border-radius:9px;background:var(--primary-soft);font-size:12px}.student-calendar-events time{color:var(--primary);font-size:11px;font-weight:800}.student-calendar-events small,.calendar-free-day{color:var(--muted);font-size:11px}@media (max-width:700px){.student-calendar.calendar-week{grid-template-columns:1fr}.student-timetable .schedule-tabs{max-width:100%}.student-calendar.calendar-month{grid-template-columns:repeat(7,minmax(110px,1fr))}}.module-nav .module-tab-timetable{--tab-color:#0d9488;--tab-soft:#f0fdfa}@media (max-width:700px){.module-nav.student-parent-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;min-width:0;gap:5px;overflow:visible;padding:0;box-sizing:border-box}.module-nav.student-parent-tabs .module-tab{min-width:0;width:100%;min-height:44px;padding:7px 3px;gap:4px;font-size:11px;border-radius:9px;white-space:nowrap;box-sizing:border-box}.module-nav.student-parent-tabs .module-tab svg{width:14px;height:14px;flex:0 0 14px}}@media (max-width:360px){.module-nav.student-parent-tabs .module-tab{flex-direction:column;gap:3px;font-size:10px}}.compact-id-preset{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;align-items:end;gap:12px;margin:14px 0;padding:14px;border:1px solid var(--primary-soft);border-radius:12px;background:linear-gradient(120deg,var(--primary-soft),var(--card))}.compact-id-preset h3{margin:0 0 5px;font-size:15px;color:var(--primary)}.compact-id-preset p{margin:0;font-size:12px;line-height:1.5}.compact-id-preset>label{margin:0;font-size:12px}.compact-id-preset>button{padding:9px 12px;border:0;border-radius:9px;background:var(--primary);color:#fff;font-weight:700;cursor:pointer}.compact-id-preset>small{grid-column:1/-1;color:var(--muted);font-size:11px}@media (max-width:600px){.compact-id-preset{grid-template-columns:minmax(0,1fr) auto}.compact-id-preset>div{grid-column:1/-1}.compact-id-preset>label{min-width:0}.compact-id-preset>button{font-size:11px}}.teacher-management-form,.teacher-detail-panel,.teacher-calendar-fieldset,.teacher-calendar-fieldset>*,.teacher-timetable-guide>*{min-width:0}.teacher-management-form .teacher-period-field{display:contents}.teacher-period-field>span{display:none}.teacher-timetable-guide{overflow-wrap:anywhere}.teacher-timetable-guide>span b{flex-shrink:0}@media (max-width: 700px){.teacher-calendar-fieldset{max-width:100%;box-sizing:border-box}.teacher-calendar-fieldset legend{max-width:100%;white-space:normal}.teacher-calendar-fieldset .admin-timetable-day-toolbar{flex-direction:column;align-items:stretch}.teacher-calendar-fieldset .admin-timetable-day-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}.teacher-management-form .admin-timetable-day-tabs button{min-width:0;padding:.5rem .15rem}.teacher-calendar-fieldset .copy-timetable-day{display:flex;flex-wrap:wrap;gap:.4rem}.teacher-calendar-fieldset .copy-timetable-day>span{flex-basis:100%}.teacher-calendar-fieldset .copy-timetable-day select{flex:1;min-width:0;max-width:100%}.teacher-calendar-fieldset .calendar-period-summary{flex-wrap:wrap;overflow-wrap:anywhere}.teacher-calendar-fieldset .admin-weekly-timetable-head{display:none}.teacher-calendar-fieldset .admin-weekly-timetable-row{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-management-form .teacher-period-field{display:grid;min-width:0;gap:.3rem}.teacher-period-field>span{display:block;font-size:.72rem;color:var(--muted)}.teacher-period-field input,.teacher-period-field select{box-sizing:border-box;max-width:100%}.teacher-calendar-fieldset .admin-period-number{grid-column:1/-1}.teacher-calendar-fieldset .admin-period-number:before{content:"Period "}.teacher-calendar-fieldset .admin-period-delete{justify-self:end;align-self:end}.teacher-calendar-fieldset .form-add-button{width:100%;white-space:normal;overflow-wrap:anywhere}}.teacher-calendar-panel{min-width:0}.teacher-calendar-panel .student-calendar-day.today>header{color:var(--primary);background:var(--primary-soft)}.teacher-calendar-panel .student-calendar-events article{overflow-wrap:anywhere}.teacher-calendar-panel .student-calendar-events time{white-space:normal}@media (max-width:700px){.teacher-calendar-panel .schedule-heading{flex-direction:column;align-items:stretch}.teacher-calendar-panel .schedule-tabs{display:flex;flex-wrap:wrap}.teacher-calendar-panel .teacher-schedule-navigation{flex-wrap:wrap}}.teacher-calendar-panel .student-calendar.calendar-week{grid-template-columns:repeat(7,minmax(125px,1fr));overflow-x:auto}.teacher-calendar-panel .student-calendar.calendar-day{grid-template-columns:minmax(0,1fr)}.teacher-calendar-panel .calendar-day .student-calendar-events{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));align-items:start}.family-fee-receipt{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}.family-fee-receipt button{display:inline-flex;align-items:center;justify-content:center;gap:6px;justify-self:start;max-width:100%;padding:7px 10px;border:0;border-radius:8px;background:var(--primary-soft);color:var(--primary);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.family-fee-receipt small{color:var(--muted)}.roster-fee-year{display:block;margin-top:4px;color:var(--muted);font-size:10px;font-weight:500}.roster-fee-balance{font-weight:750}.roster-fee-balance.pending{color:#c2410c}.roster-fee-balance.clear{color:#047857}.roster-fee-balance.unconfigured{color:var(--muted);font-weight:500}.roster-mobile-meta,.roster-photo-icon{display:none}.roster-student-details{min-width:0;display:grid;gap:4px}.roster-due-date{display:block;margin-top:4px;font-size:11px;color:var(--muted)}@media (max-width:700px){.student-roster-table{display:block;width:100%;margin-top:.75rem;background:transparent}.student-roster-table thead{display:none}.student-roster-table tbody{display:grid;gap:6px}.student-roster-table tr{width:100%;overflow:hidden;border:1px solid var(--primary-soft);border-radius:12px;background:var(--card)}.student-roster-table .student-roster-photo{width:34px;height:34px;flex-basis:34px}.student-roster-table tr{display:flex;align-items:center;gap:8px;padding:10px 8px;box-sizing:border-box;box-shadow:none}.student-roster-table td{display:none;padding:0;border:0;background:transparent}.student-roster-table td:before{content:none;display:none}.student-roster-table td:nth-child(2){display:block;flex:1;min-width:0;background:transparent}.student-roster-table .student-roster-identity{gap:7px;min-width:0}.student-roster-table .student-roster-identity strong{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.student-roster-table .roster-mobile-meta{display:block;font-size:10px;color:var(--muted);overflow-wrap:anywhere}.student-roster-table td.roster-fee-cell{display:grid;flex:0 0 86px;gap:2px;text-align:right}.student-roster-table .roster-fee-balance{font-size:12px}.student-roster-table .roster-due-date{font-size:10px;margin:0}.student-roster-table td.roster-photo-action{display:block;flex:0 0 28px}.student-roster-table .student-photo-upload{width:28px;height:28px;padding:0;box-sizing:border-box;display:grid;place-items:center}.student-roster-table .student-photo-upload>span{display:none}.student-roster-table .roster-photo-icon{display:block}}.crm-workspace{min-width:0;grid-template-columns:minmax(0,1fr);grid-auto-rows:max-content;align-content:start}.global-admin-workspace>.crm-workspace{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding-right:8px;padding-bottom:24px}.crm-workspace .crm-table-wrap{min-width:0;max-width:100%;overflow-x:auto}.crm-workspace .crm-toolbar{min-width:0;grid-template-columns:minmax(180px,1fr) minmax(110px,.5fr) minmax(110px,.5fr)}.crm-workspace .crm-toolbar input,.crm-workspace .crm-toolbar select{width:100%;min-width:0}.crm-workspace .crm-export-actions{grid-column:1 / -1;flex-wrap:wrap;justify-content:flex-end}@media (max-width: 600px){.crm-workspace .crm-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.crm-workspace .crm-search{grid-column:1 / -1}.crm-workspace .crm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
