@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--color-bg-main:#f4f6fc;--color-bg-card:#ffffffbf;--color-bg-phone:#fff;--color-text-primary:#1e293b;--color-text-secondary:#64748b;--color-border:#e2e8f0cc;--primary:250, 84%, 54%;--primary-rgb:99, 102, 241;--secondary:199, 89%, 48%;--accent:322, 81%, 53%;--success:142, 72%, 29%;--danger:0, 72%, 51%;--warning:38, 92%, 50%;--shadow-sm:0 2px 8px #6366f10a;--shadow-md:0 8px 30px #6366f114;--shadow-lg:0 16px 40px #6366f11f;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,system-ui,sans-serif;font-weight:400;line-height:1.5}.dark-theme{--color-bg-main:#0b0f19;--color-bg-card:#111827b3;--color-bg-phone:#111827;--color-text-primary:#f8fafc;--color-text-secondary:#94a3b8;--color-border:#2563eb26;--primary:250, 89%, 65%;--primary-rgb:129, 140, 248;--secondary:199, 89%, 58%;--accent:322, 85%, 60%;--success:142, 68%, 45%;--danger:0, 84%, 60%;--warning:38, 92%, 55%;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 30px #0006;--shadow-lg:0 16px 40px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .3s,border-color .3s}body{background-color:var(--color-bg-main);color:var(--color-text-primary);min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{letter-spacing:0;font-family:Outfit,sans-serif;font-weight:600}.glass-panel{background:var(--color-bg-card);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.glass-panel-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-panel-hover:hover{box-shadow:var(--shadow-lg);border-color:hsla(var(--primary), .25);transform:translateY(-4px)}.ambient-glow{background:radial-gradient(circle, hsla(var(--primary), .15) 0%, #fff0 70%);filter:blur(40px);z-index:-1;pointer-events:none;border-radius:50%;width:300px;height:300px;position:absolute}.glow-1{top:10%;left:5%}.glow-2{background:radial-gradient(circle, hsla(var(--accent), .12) 0%, #fff0 70%);bottom:15%;right:5%}.glow-3{background:radial-gradient(circle, hsla(var(--secondary), .1) 0%, #fff0 70%);top:40%;left:45%}.phone-frame{background-color:#000;border:4px solid #1f2937;border-radius:40px;flex-direction:column;width:360px;height:720px;padding:10px;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #0006,inset 0 0 2px 2px #fff3}.phone-screen{background-color:var(--color-bg-phone);border-radius:32px;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.phone-notch{z-index:50;background-color:#000;border-radius:0 0 16px 16px;justify-content:center;align-items:center;width:110px;height:24px;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.phone-camera{background-color:#111827;border-radius:50%;width:8px;height:8px}.phone-status-bar{background-color:var(--color-bg-phone);height:32px;color:var(--color-text-primary);z-index:40;justify-content:space-between;align-items:center;padding:0 20px 0 24px;font-size:11px;font-weight:600;display:flex}.wa-container{background-color:#efeae2;background-image:url(https://user-images.githubusercontent.com/15075759/28719144-86dc0f70-73b1-11e7-911d-60d70fcded21.png);background-repeat:repeat}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6366f180}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pingGlow{0%{box-shadow:0 0 #6366f166}70%{box-shadow:0 0 0 10px #6366f100}to{box-shadow:0 0 #6366f100}}@keyframes bellRing{0%,to{transform:rotate(0)}20%,60%{transform:rotate(6deg)}40%,80%{transform:rotate(-6deg)}}.animate-slide-up{animation:.4s cubic-bezier(.16,1,.3,1) forwards slideUp}.animate-fade-in{animation:.3s ease-out forwards fadeIn}.glow-active{animation:2s infinite pingGlow}.ring-bell{animation:.5s ease-in-out bellRing}.input-field{border-radius:var(--radius-sm);border:1px solid var(--color-border);width:100%;color:var(--color-text-primary);background-color:#fffc;outline:none;padding:10px 14px;font-family:inherit;font-size:14px;transition:all .2s}.dark-theme .input-field{background-color:#1f293799}.input-field:focus{border-color:hsla(var(--primary), .8);box-shadow:0 0 0 3px hsla(var(--primary), .15)}.btn-primary{background-color:hsla(var(--primary), 1);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary:hover{background-color:hsla(var(--primary), .9);transform:translateY(-1px);box-shadow:0 4px 12px #6366f140}.btn-secondary{color:var(--color-text-primary);border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:pointer;background-color:#0000;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover{background-color:var(--color-border)}.btn-danger{background-color:hsla(var(--danger), 1);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-danger:hover{background-color:hsla(var(--danger), .9)}.badge{border-radius:9999px;align-items:center;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-primary{background-color:hsla(var(--primary), .12);color:hsla(var(--primary), 1)}.badge-secondary{background-color:hsla(var(--secondary), .12);color:hsla(var(--secondary), 1)}.badge-success{background-color:hsla(var(--success), .12);color:hsla(var(--success), 1)}.badge-danger{background-color:hsla(var(--danger), .12);color:hsla(var(--danger), 1)}.badge-warning{background-color:hsla(var(--warning), .12);color:hsla(var(--warning), 1)}.title-gradient{background:linear-gradient(135deg, hsla(var(--primary), 1) 0%, hsla(var(--accent), 1) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.app-shell{color:#172033;background-color:#0000;background-image:linear-gradient(135deg,#ffffffeb,#f1f5f9f0),url(https://images.unsplash.com/photo-1523050854058-8df90110c9f1?w=1800&auto=format&fit=crop&q=80);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;grid-template-columns:260px minmax(0,1fr) 340px;min-height:100vh;display:grid}.panel.academic-records-panel{grid-column:1/-1;min-width:0;padding:0;overflow:hidden}.academic-tabs{background:#f8fafc;border-bottom:1px solid #dbe3ee;gap:6px;padding:14px 18px 0;display:flex}.academic-tabs button{color:#64748b;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:11px 15px;font-weight:750}.academic-tabs button.active{color:#1d4ed8;border-bottom-color:#2563eb}.academic-tab-content{padding:20px}.report-card-toolbar{background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:12px;padding:16px;display:grid}.report-card-toolbar label,.scheme-form-heading label,.certificate-form label,.report-remark-editor label{color:#475569;gap:6px;font-size:12px;font-weight:750;display:grid}.academic-workspace,.certificate-workspace{grid-template-columns:minmax(230px,.36fr) minmax(0,1fr);gap:18px;margin-top:18px;display:grid}.academic-record-list,.certificate-history{align-content:start;gap:8px;display:grid}.academic-record-list h3,.certificate-form h3,.certificate-history h3{margin:0 0 6px}.academic-record-list button,.certificate-history button{color:#334155;text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe3ee;border-radius:10px;gap:4px;width:100%;padding:11px 12px;display:grid}.academic-record-list button.active,.certificate-history button.active{border-color:#60a5fa;box-shadow:0 0 0 3px #dbeafe}.academic-record-list button span,.academic-record-list button small,.certificate-history button span,.certificate-history button small{color:#64748b;font-size:11px}.academic-preview-column{min-width:0}.academic-preview-actions{justify-content:flex-end;gap:8px;width:100%;max-width:900px;margin:0 auto 10px;display:flex}.academic-print-sheet{box-sizing:border-box;color:#172033;background:#fff;border:1px solid #cbd5e1;border-radius:4px;width:100%;max-width:900px;min-height:720px;margin:0 auto;padding:32px;position:relative;box-shadow:0 16px 35px #0f172a14}.academic-document-header{border-bottom:2px solid #1d4ed8;grid-template-columns:64px 1fr auto;align-items:center;gap:16px;padding-bottom:18px;display:grid}.academic-document-header img{object-fit:contain;width:58px;height:58px}.academic-document-header h2{margin:3px 0;font-size:25px}.academic-document-header p{color:#64748b;margin:0;font-size:12px}.academic-document-header>strong{color:#1d4ed8;text-align:right;gap:4px;display:grid}.academic-document-header>strong small{color:#64748b}.report-student-strip,.report-total-strip{background:#f1f5f9;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0;padding:13px;display:grid}.report-student-strip div,.report-total-strip div{gap:3px;display:grid}.report-student-strip span,.report-total-strip span,.report-remarks span{color:#64748b;letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:800}.report-card-table{border-collapse:collapse;width:100%;font-size:12px}.report-card-table th,.report-card-table td{text-align:left;border:1px solid #cbd5e1;padding:9px}.report-card-table th{color:#334155;background:#eaf2ff}.report-remarks{grid-template-columns:1fr 1fr;gap:14px;display:grid}.report-remarks>div{border:1px solid #dbe3ee;border-radius:8px;min-height:90px;padding:12px}.report-remarks p{margin:8px 0 0;line-height:1.55}.academic-signatures{text-align:center;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:76px;display:grid}.academic-signatures span{border-top:1px solid #64748b;padding-top:8px;font-size:11px}.report-remark-editor{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;width:100%;max-width:900px;margin:14px auto 0;display:grid}.academic-empty-preview{color:#64748b;text-align:center;border:1px dashed #94a3b8;border-radius:12px;place-content:center;justify-items:center;gap:8px;min-height:420px;display:grid}.academic-empty-preview p{max-width:390px;margin:0}.published-documents-panel{grid-column:1/-1;min-width:0;overflow:hidden}.published-document-tabs{border-bottom:1px solid #dbe3ee;gap:8px;margin-top:16px;display:flex}.published-document-tabs button{color:#64748b;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:10px 12px;font-weight:800;display:inline-flex}.published-document-tabs button.active{color:#1d4ed8;border-bottom-color:#2563eb}.published-document-tabs button span{color:#475569;text-align:center;background:#e2e8f0;border-radius:999px;min-width:22px;padding:2px 6px;font-size:10px}.published-documents-workspace{grid-template-columns:minmax(240px,.28fr) minmax(0,1fr)}.published-document-list{max-height:760px;padding:3px;overflow:auto}.published-documents-empty{min-height:260px;margin-top:18px}.scheme-summary{background:#eff6ff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:9px;padding:14px;display:flex}.scheme-summary>div{min-width:230px;margin-right:auto;display:grid}.scheme-summary>div span,.scheme-summary>div small{color:#64748b;font-size:11px}.grade-band-chip{color:#1d4ed8;text-align:center;background:#fff;border:1px solid #bfdbfe;border-radius:8px;min-width:58px;padding:8px;font-weight:800;display:grid}.grade-band-chip small{color:#64748b;font-size:9px;font-weight:600}.grading-scheme-form{gap:16px;margin-top:18px;display:grid}.scheme-form-heading{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;display:grid}.scheme-default-check{align-items:center;min-height:42px;display:flex!important}.grade-band-grid{grid-template-columns:.55fr 1fr 1fr .65fr 1.7fr;align-items:center;gap:8px;display:grid}.grade-band-grid>span{color:#64748b;text-transform:uppercase;font-size:10px;font-weight:800}.grade-band-row{display:contents}.certificate-form{align-content:start;gap:12px;display:grid}.certificate-signatory-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.certificate-history{border-top:1px solid #dbe3ee;margin-top:14px;padding-top:16px}.certificate-inner{text-align:center;border:6px double #1d4ed8;flex-direction:column;justify-content:center;align-items:center;min-height:650px;padding:48px;display:flex;position:relative;overflow:hidden}.certificate-inner h2{margin:4px 0;font-size:28px}.certificate-address{color:#64748b;margin:0 0 24px}.certificate-kicker{color:#b45309;letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:900}.certificate-inner svg{color:#d97706;margin:18px}.certificate-inner h1{color:#1d4ed8;margin:4px 0 22px;font-family:Georgia,serif;font-size:38px}.certificate-body{max-width:680px;font-family:Georgia,serif;font-size:17px;line-height:1.8}.certificate-student{border-bottom:1px solid #94a3b8;margin:18px 0 3px;padding:0 30px 5px;font-family:Georgia,serif;font-size:28px}.certificate-footer{grid-template-columns:repeat(3,1fr);gap:24px;width:100%;margin-top:64px;display:grid}.certificate-footer div{border-top:1px solid #64748b;gap:6px;padding-top:8px;font-size:11px;display:grid}.certificate-footer span{color:#64748b}.certificate-void{color:#b91c1c33;font-size:110px;font-weight:900;position:absolute;transform:rotate(-24deg)}@media (width<=980px){.report-card-toolbar,.academic-workspace,.certificate-workspace,.scheme-form-heading,.report-remark-editor{grid-template-columns:1fr}.grade-band-grid{grid-template-columns:repeat(5,minmax(90px,1fr));overflow-x:auto}}@media print{body *{visibility:hidden!important}.academic-print-sheet,.academic-print-sheet *{visibility:visible!important}.academic-print-sheet{width:100%;min-height:100vh;box-shadow:none;border:0;padding:10mm;position:absolute;inset:0}@page{size:A4;margin:8mm}}.login-page{color:#172033;background-color:#0000;background-image:linear-gradient(135deg,#f8fafce6,#dbeafed1),url(https://images.unsplash.com/photo-1523050854058-8df90110c9f1?w=1800&auto=format&fit=crop&q=80);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;grid-template-columns:minmax(0,1fr) 420px;gap:32px;min-height:100vh;padding:48px;display:grid}.login-hero{flex-direction:column;justify-content:space-between;gap:32px;min-height:calc(100vh - 96px);display:flex}.login-brand .brand-mark{width:56px;height:56px}.login-copy{max-width:780px}.login-copy h1{letter-spacing:0;max-width:760px;margin:8px 0 16px;font-size:clamp(42px,6vw,72px);line-height:.98}.login-copy p{color:#334155;max-width:640px;font-size:18px}.about-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:900px;display:grid}.about-grid div,.login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border:1px solid #cbd5e1b8;box-shadow:0 18px 45px #0f172a14}.about-grid div{border-radius:12px;padding:16px}.about-grid strong,.about-grid span{display:block}.about-grid span{color:#475569;margin-top:6px;font-size:13px}.login-card{border-radius:16px;align-self:center;padding:24px}.login-hints{color:#64748b;gap:6px;margin-top:18px;font-size:12px;display:grid}.form-error,.form-note{border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.form-error{color:#991b1b;background:#fef2f2}.form-note{color:#075985;background:#e0f2fe}.platform-shell{color:#172033;background:#f8fafc;min-height:100vh}.platform-topbar{background:#fff;border-bottom:1px solid #cbd5e1bf;justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:18px 28px;display:flex}.platform-workspace{padding:24px 28px 40px}.platform-hero{margin-bottom:16px}.platform-grid{grid-template-columns:minmax(0,1fr) 360px;gap:16px;margin-bottom:16px;display:grid}.platform-form{gap:16px;display:grid}.wizard-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.wizard-tab{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:38px;font-weight:800}.wizard-tab.active{color:#1d4ed8;background:#eff6ff;border-color:#1d4ed8}.wizard-page,.repeatable-list{gap:14px;display:grid}.wizard-actions{justify-content:flex-end;gap:10px;display:flex}.logo-upload-row,.repeatable-header,.repeatable-card-header,.checkbox-row{align-items:center;display:flex}.logo-upload-row{gap:14px}.logo-preview{color:#64748b;background:#fff;border:1px solid #cbd5e1;border-radius:12px;place-items:center;width:86px;height:86px;display:grid;overflow:hidden}.logo-preview img{object-fit:cover;width:100%;height:100%}.repeatable-header{justify-content:space-between;gap:12px}.repeatable-header .panel-header{margin-bottom:0}.repeatable-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:12px;padding:14px;display:grid}.repeatable-card-header{justify-content:space-between;gap:10px}.icon-action{cursor:pointer;border:1px solid #0000;border-radius:8px;place-items:center;width:36px;height:36px;display:inline-grid}.icon-action.add{color:#fff;background:#1d4ed8}.icon-action.remove{color:#991b1b;background:#fef2f2;border-color:#fecaca}.icon-action:disabled{opacity:.45;cursor:not-allowed}.checkbox-row{flex-direction:row;grid-template-columns:none;gap:10px;min-height:42px}.checkbox-row input{width:18px;height:18px}.review-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.school-select-card{text-align:left;width:100%;color:inherit;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:6px;padding:12px;display:grid}.school-select-card:hover,.school-select-card.active{background:#eff6ff;border-color:#1d4ed8}.school-select-card strong,.school-select-card span,.school-select-card p{display:block}.school-select-card span{color:#64748b;font-size:12px}.school-select-card p{color:#475569;margin:0;font-size:13px}.platform-details-panel{gap:16px;display:grid}.detail-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.user-management-grid{grid-template-columns:340px minmax(0,1fr);gap:14px;display:grid}.form-grid,.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.password-input{width:100%;position:relative}.password-input input{width:100%;padding-right:44px}.password-input>button{color:#64748b;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-input>button:hover{color:#1d4ed8;background:#eef2ff}.span-2,.template-grid label{grid-column:1/-1}.relationship-picker{gap:8px;display:grid}.relationship-label{color:#334155;font-size:12px;font-weight:800}.relationship-selected{flex-wrap:wrap;gap:7px;display:flex}.relationship-selected button{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:6px 10px;font-weight:800}.relationship-selected button span{margin-left:4px}.relationship-options{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;gap:6px;max-height:220px;padding:6px;display:grid;overflow-y:auto}.relationship-options>button{text-align:left;color:#172033;background:#fff;border:1px solid #0000;border-radius:8px;gap:2px;width:100%;padding:9px 10px;display:grid}.relationship-options>button:hover,.relationship-options>button.active{background:#eff6ff;border-color:#60a5fa}.relationship-options>button span,.relationship-options>p{color:#64748b;margin:0;font-size:12px}.new-guardian-fields{background:#f8fbff;border:1px solid #dbeafe;border-radius:10px;gap:10px;padding:12px;display:grid}.new-guardian-fields>span{color:#1e3a8a;font-size:12px;font-weight:800}.import-guidance{color:#475569;background:#eff6ff;border:1px solid #dbeafe;border-radius:10px;grid-column:1/-1;gap:7px;padding:10px 12px;font-size:12px;display:flex}.import-guidance strong{color:#1e3a8a;white-space:nowrap}.transport-route-editor{gap:16px;display:grid}.transport-stop-heading,.transport-map-heading,.transport-stop-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.transport-stop-heading>div,.transport-map-heading>div,.transport-map-heading span{gap:2px;display:grid}.transport-stop-heading span,.transport-map-heading small{color:#64748b;font-size:12px}.transport-stop-list{gap:10px;display:grid}.transport-stop-card{background:#fff;border:1px solid #dbe3ef;border-radius:12px;grid-template-columns:40px minmax(180px,1.5fr) minmax(130px,1fr) minmax(130px,1fr);align-items:end;gap:10px;padding:12px;display:grid}.transport-stop-number{color:#1d4ed8;background:#eff6ff;border-radius:9px;align-self:end;place-items:center;width:36px;height:40px;font-size:10px;font-weight:900;display:grid}.transport-stop-number span{line-height:1}.transport-stop-actions{grid-column:2/-1;justify-content:flex-end}.transport-stop-actions a{color:#1d4ed8;font-size:12px;font-weight:800}.transport-map-panel{background:#f8fafc;border:1px solid #dbe3ef;border-radius:12px;overflow:hidden}.transport-map-heading{background:#fff;border-bottom:1px solid #dbe3ef;padding:12px 14px}.transport-map-heading>div{color:#1e3a8a;grid-template-columns:auto 1fr;align-items:center}.transport-map-panel iframe{border:0;width:100%;height:340px;display:block}.transport-map-placeholder{text-align:center;color:#64748b;align-content:center;place-items:center;gap:8px;min-height:220px;padding:28px;display:grid}.transport-map-placeholder strong{color:#334155}.transport-map-placeholder span{max-width:620px;font-size:12px;line-height:1.55}.transport-location-error{color:#b91c1c}.file-upload-button{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:fit-content;min-height:40px;padding:9px 13px;font-weight:800;display:inline-flex}.file-upload-button input{display:none}.sidebar,.notification-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border-color:#cbd5e1bf}.sidebar{border-right:1px solid #cbd5e1bf;flex-direction:column;gap:24px;min-height:100vh;padding:24px;display:flex}.brand-block,.nav-item,.topbar,.panel-header,.toolbar,.hero-actions,.topbar-actions{align-items:center;display:flex}.brand-block{gap:12px}.brand-block strong,.brand-block span,.tenant-card strong,.tenant-card small{display:block}.brand-mark,.panel-icon{color:#fff;background:#1d4ed8;border-radius:12px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 12px 24px #1d4ed838}.brand-block strong{letter-spacing:0;font-size:20px}.brand-block span,.tenant-card small,.eyebrow,.panel-header p,.metric-card small,.compact-item span,.table-row span,.user-pill small{color:#64748b}.school-home-link{color:#4f46e5;text-align:center;margin-top:16px;font-size:12px;font-weight:800;text-decoration:none;display:block}.school-site-config-grid{grid-template-columns:minmax(240px,1fr) minmax(220px,1fr) auto;align-items:end;gap:12px;margin-top:16px;display:grid}.school-site-config-grid label{color:#475569;font-size:11px;font-weight:800}.slug-input-row{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;align-items:center;margin-top:6px;display:flex;overflow:hidden}.slug-input-row span{color:#64748b;white-space:nowrap;padding-left:11px;font-size:12px}.slug-input-row input{min-width:100px;box-shadow:none;background:0 0;border:0}.site-bundle-picker input{opacity:0;width:1px;height:1px;position:absolute}.site-bundle-picker>span{color:#334155;cursor:pointer;background:#f8fafc;border:1px dashed #94a3b8;border-radius:10px;margin-top:6px;padding:10px 12px;display:block}.site-publish-status{color:#0f766e;margin:10px 0 0;font-size:12px;font-weight:800}.school-site-preview-link{color:#4f46e5;align-items:center;gap:5px;margin-top:12px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.role-nav{gap:8px;display:grid}.nav-item{color:#475569;cursor:pointer;background:0 0;border:0;border-radius:8px;gap:10px;width:100%;padding:12px;font-weight:700}.nav-item:hover,.nav-item.active{color:#1d4ed8;background:#eff6ff}.nav-item.active{box-shadow:inset 3px 0 #1d4ed8}.tenant-card,.metric-card,.panel,.hero-panel,.toast{background:#ffffffdb;border:1px solid #cbd5e1b8;box-shadow:0 18px 45px #0f172a14}.tenant-card{border-radius:12px;margin-top:auto;padding:16px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;line-height:1.2}.main-shell{flex-direction:column;min-width:0;min-height:100vh;display:flex}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8fafcb8;border-bottom:1px solid #cbd5e1a6;justify-content:space-between;gap:18px;min-height:84px;padding:20px 28px}.topbar h1{letter-spacing:0;margin:4px 0 0;font-size:clamp(24px,3vw,34px)}.topbar-actions,.hero-actions,.toolbar{flex-wrap:wrap;gap:10px}.user-pill{background:#fff;border:1px solid #e2e8f0;border-radius:999px;min-width:170px;padding:8px 14px}.user-pill span{font-size:13px;font-weight:800;display:block}.workspace{padding:24px 28px 36px;overflow:auto}.admin-section-nav{z-index:8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);scrollbar-width:thin;background:#fffffff0;border-bottom:1px solid #e2e8f0;gap:6px;margin:-24px -28px 24px;padding:12px 28px;display:flex;position:sticky;top:-24px;overflow-x:auto}.admin-section-nav button{color:#475569;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:9px;flex:none;align-items:center;gap:8px;min-height:42px;padding:9px 14px;font-size:13px;font-weight:800;display:inline-flex}.admin-section-nav button:hover{color:#1d4ed8;background:#f8fafc}.admin-section-nav button.active{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;box-shadow:0 4px 14px #2563eb14}.profile-workspace-panel,.fee-management-panel,.admin-section-content .attendance-calendar-panel{grid-column:1/-1}.admin-onboarding-page{grid-column:1/-1;gap:18px;display:grid}.onboarding-page-hero{background:radial-gradient(circle at 90% 15%,#93c5fd59,#0000 30%),linear-gradient(135deg,#eff6ff 0%,#fff 62%);border:1px solid #bfdbfe;border-radius:16px;justify-content:space-between;align-items:flex-end;gap:24px;min-height:150px;padding:26px;display:flex}.onboarding-page-hero h2{color:#172033;margin:6px 0;font-size:clamp(26px,3vw,38px)}.onboarding-page-hero p{color:#475569;max-width:650px;margin:0;line-height:1.55}.onboarding-page-stats{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.onboarding-page-stats span{color:#64748b;text-align:center;background:#ffffffd1;border:1px solid #bfdbfed9;border-radius:10px;min-width:90px;padding:11px 13px;font-size:11px;font-weight:800}.onboarding-page-stats strong{color:#1d4ed8;margin-bottom:2px;font-size:20px;display:block}.onboarding-page-layout{grid-template-columns:minmax(0,2fr) minmax(280px,.85fr);align-items:start;gap:18px;display:grid}.onboarding-form-card{padding:0;overflow:hidden}.onboarding-form-intro,.onboarding-form-section,.onboarding-submit-bar{padding:22px 24px}.onboarding-form-intro,.onboarding-form-section{border-bottom:1px solid #e2e8f0}.onboarding-form-intro h3,.onboarding-section-heading h3,.onboarding-sidebar h3,.onboarding-bulk-card h3{color:#172033;margin:4px 0 0}.onboarding-role-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.onboarding-role-selector button{color:#475569;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:12px;align-items:center;gap:12px;min-height:74px;padding:14px;display:flex}.onboarding-role-selector button:hover{background:#f8fbff;border-color:#93c5fd}.onboarding-role-selector button.active{color:#1d4ed8;background:#eff6ff;border-color:#60a5fa;box-shadow:inset 0 0 0 1px #bfdbfe}.onboarding-role-selector button>span,.onboarding-role-selector strong,.onboarding-role-selector small{display:block}.onboarding-role-selector strong{color:#172033;font-size:14px}.onboarding-role-selector small{color:#64748b;margin-top:3px;font-size:11px;font-weight:600}.onboarding-section-heading{align-items:center;gap:11px;margin-bottom:16px;display:flex}.onboarding-section-heading>span{color:#1d4ed8;background:#dbeafe;border-radius:9px;flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:900;display:grid}.onboarding-section-heading p{color:#64748b;margin:3px 0 0;font-size:12px}.onboarding-field-grid,.onboarding-guardian-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.onboarding-field-grid .full-span,.onboarding-guardian-grid .full-span,.onboarding-guardian-heading{grid-column:1/-1}.onboarding-form-section>.relationship-picker{margin-bottom:12px}.onboarding-guardian-grid{padding:16px}.onboarding-guardian-heading strong,.onboarding-guardian-heading span{display:block}.onboarding-guardian-heading strong{color:#1e3a8a;font-size:13px}.onboarding-guardian-heading span{color:#64748b;margin-top:3px;font-size:11px;font-weight:600}.onboarding-submit-bar{background:#f8fafc;justify-content:space-between;align-items:center;gap:16px;display:flex}.onboarding-submit-bar strong,.onboarding-submit-bar span{display:block}.onboarding-submit-bar strong{color:#172033;font-size:13px}.onboarding-submit-bar span{color:#64748b;margin-top:3px;font-size:11px}.onboarding-sidebar{gap:14px;display:grid;position:sticky;top:82px}.onboarding-preview-person{align-items:center;gap:11px;margin:14px 0;display:flex}.onboarding-preview-person strong,.onboarding-preview-person span{display:block}.onboarding-preview-person span{color:#64748b;margin-top:3px;font-size:12px}.onboarding-preview-facts{gap:8px;display:grid}.onboarding-preview-facts>span{background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.onboarding-preview-facts small{color:#64748b;font-size:11px}.onboarding-preview-facts strong{color:#334155;text-align:right;font-size:12px}.onboarding-help-card h3{margin-top:0}.onboarding-checklist{gap:9px;margin:12px 0 16px;display:grid}.onboarding-checklist span{color:#94a3b8;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.onboarding-checklist span.complete{color:#047857}.onboarding-bulk-card>svg{color:#2563eb}.onboarding-bulk-card p{color:#64748b;margin:5px 0 14px;font-size:12px;line-height:1.5}.onboarding-bulk-card .secondary-button{margin-top:8px}.fee-section-heading{background:linear-gradient(135deg,#eff6ff,#f8fafc);border:1px solid #bfdbfe;border-radius:12px;align-items:center;min-height:116px;padding:18px;display:flex}.fee-section-heading h2,.fee-section-heading p{margin:0}.class-directory-shell,.class-person-detail,.academic-snapshot-panel,.class-admin-panel,.classroom-overview-panel,.payroll-panel{grid-column:1/-1}.classroom-overview-panel{gap:16px;display:grid}.classroom-overview-heading{justify-content:space-between;align-items:end;gap:18px;display:flex}.classroom-overview-heading>label{color:#475569;width:min(360px,100%);font-size:11px;font-weight:800}.classroom-table-shell{border:1px solid #dbe3ef;border-radius:12px;overflow-x:auto}.classroom-table{border-collapse:collapse;background:#fff;width:100%}.classroom-table th{color:#64748b;letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #dbe3ef;padding:10px 12px;font-size:10px;font-weight:900}.classroom-table td{color:#475569;vertical-align:middle;border-bottom:1px solid #edf2f7;max-width:260px;padding:11px 12px;font-size:12px}.classroom-table tbody tr{cursor:pointer;outline:none}.classroom-table tbody tr:last-child td{border-bottom:0}.classroom-table tbody tr:hover,.classroom-table tbody tr:focus-visible{background:#f0f7ff}.classroom-table tbody tr:focus-visible{box-shadow:inset 3px 0 #2563eb}.classroom-table td>strong,.classroom-table td>small{display:block}.classroom-table td>small{color:#64748b;white-space:nowrap;margin-top:2px;font-size:10px}.classroom-table-name{grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-width:170px;display:grid}.classroom-table-name>span{color:#0369a1;background:#e0f2fe;border-radius:9px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.classroom-table-name strong,.classroom-table-name small{display:block}.classroom-table-name small{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9px;overflow:hidden}.classroom-subject-summary{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.classroom-open-button{color:#2563eb;background:0 0;border:0;border-radius:7px;align-items:center;gap:3px;padding:6px 8px;font-weight:800;display:inline-flex}.classroom-open-button:hover{background:#dbeafe}.classroom-table-footer{color:#64748b;justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.classroom-table-footer>div{align-items:center;gap:9px;display:flex}.classroom-table-footer .secondary-button{min-height:34px;padding:6px 9px}.classroom-overview-empty{color:#64748b;text-align:center;border:1px dashed #cbd5e1;border-radius:12px;grid-column:1/-1;align-content:center;place-items:center;gap:7px;min-height:150px;padding:24px;display:grid}.classroom-overview-empty strong{color:#334155}.classroom-overview-empty span{font-size:12px}.class-create-form{grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(220px,1.5fr) repeat(3,minmax(125px,1fr)) auto;align-items:end;gap:10px;display:grid}.form-field>span{color:#475569;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.multi-select-dropdown{position:relative}.multi-select-dropdown summary{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:9px 11px;font-size:12px;font-weight:700;list-style:none;display:flex}.multi-select-dropdown summary::-webkit-details-marker{display:none}.multi-select-dropdown summary:after{content:"⌄";color:#64748b;font-size:14px}.multi-select-dropdown[open] summary{border-color:#818cf8;box-shadow:0 0 0 3px #6366f11a}.multi-select-options{z-index:20;background:#fff;border:1px solid #cbd5e1;border-radius:10px;gap:4px;width:max(100%,240px);max-height:240px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 16px 35px #0f172a29}.multi-select-options label{color:#334155;cursor:pointer;border-radius:7px;grid-template-columns:none;align-items:center;gap:8px;padding:7px 8px;display:flex}.multi-select-options label:hover{background:#f1f5f9}.multi-select-options input{width:16px;height:16px}.subject-create-form{grid-template-columns:minmax(220px,1.5fr) minmax(150px,.7fr) auto;align-items:end;gap:10px;max-width:760px;margin-bottom:16px;display:grid}.subject-management-layout{grid-template-columns:minmax(380px,.85fr) minmax(0,1.6fr);gap:16px;display:grid}.subject-catalog-list,.class-subject-mapping-list{align-content:start;gap:8px;min-width:0;display:grid}.subject-catalog-list h4,.class-subject-mapping-list h4{color:#334155;margin:0 0 4px;font-size:13px}.mapping-picker-toolbar{background:#f8fbff;border:1px solid #dbeafe;border-radius:10px;width:min(520px,100%);margin-bottom:4px;padding:10px}.mapping-picker-toolbar label{color:#475569;font-size:11px;font-weight:800}.teacher-class-picker{margin:16px 0 12px}.subject-edit-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:minmax(150px,1fr) minmax(80px,.45fr) auto auto 36px;align-items:center;gap:7px;padding:9px;display:grid}.subject-edit-row>span{color:#64748b;white-space:nowrap;font-size:10px}.class-subject-mapping-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:minmax(145px,.6fr) minmax(0,2fr) auto;align-items:center;gap:10px;padding:11px;display:grid}.class-subject-mapping-row strong,.class-subject-mapping-row>div>span{display:block}.class-subject-mapping-row>div>span{color:#64748b;margin-top:3px;font-size:10px}.teacher-mapping-list,.salary-config-list{gap:9px;display:grid}.teacher-mapping-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:minmax(180px,.8fr) minmax(0,2fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.teacher-mapping-row strong,.teacher-mapping-row>div>span{display:block}.teacher-mapping-row>div>span{color:#64748b;margin-top:3px;font-size:10px}.teacher-subject-toolbar{grid-template-columns:minmax(280px,1fr) 160px;align-items:end;gap:12px;margin:16px 0 12px;display:grid}.teacher-subject-toolbar>div{background:#eff6ff;border:1px solid #dbeafe;border-radius:9px;align-content:center;min-height:42px;padding:8px 12px;display:grid}.teacher-subject-toolbar span,.teacher-subject-toolbar strong{display:block}.teacher-subject-toolbar span{color:#64748b;font-size:10px;font-weight:800}.teacher-class-subject-list{overscroll-behavior:contain;scrollbar-gutter:stable;gap:8px;max-height:420px;display:grid;overflow-y:auto}.teacher-class-subject-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:minmax(180px,.7fr) minmax(0,2fr);align-items:center;gap:12px;padding:11px;display:grid}.teacher-class-subject-row strong,.teacher-class-subject-row>div>span{display:block}.teacher-class-subject-row>div>span{color:#64748b;margin-top:3px;font-size:10px}.teacher-subject-save{margin-top:12px}.class-checkboxes{flex-wrap:wrap;gap:6px;display:flex}.class-checkbox{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:none;align-items:center;gap:6px;padding:7px 9px;display:flex}.class-checkbox input{width:15px;height:15px}.payroll-heading{background:linear-gradient(135deg,#f5f3ff,#f8fafc);border-color:#ddd6fe}.payroll-toolbar{justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px;display:flex}.payroll-toolbar label{width:min(440px,100%)}.payroll-toolbar>span{color:#64748b;padding-bottom:10px;font-size:11px;font-weight:800}.salary-config-list{max-height:440px;overflow:auto}.salary-config-row{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:minmax(230px,1.5fr) minmax(180px,.8fr) auto;align-items:end;gap:12px;padding:11px 12px;display:grid}.salary-config-row strong,.salary-config-row span{display:block}.salary-config-row span{color:#64748b;margin-top:3px;font-size:10px}.salary-payment-form{gap:14px;display:grid}.salary-teacher-picker{background:#faf9ff;border:1px solid #ddd6fe;border-radius:11px;grid-template-columns:minmax(220px,1fr) minmax(280px,1.35fr) minmax(220px,.9fr);align-items:end;gap:10px;padding:14px;display:grid}.directory-breadcrumb{color:#64748b;align-items:center;gap:5px;margin:-2px 0 14px;font-size:11px;font-weight:800;display:flex}.directory-breadcrumb button{color:#2563eb;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.class-directory-layout{grid-template-columns:minmax(230px,.72fr) minmax(0,2fr);gap:16px;display:grid}.class-directory-picker{background:#f8fbff;border:1px solid #dbeafe;border-radius:11px;grid-template-columns:minmax(300px,1fr) minmax(220px,.65fr);align-items:end;gap:12px;margin:16px 0;padding:12px;display:grid}.class-directory-picker label{color:#475569;font-size:11px;font-weight:800}.class-directory-picker>div{background:#eff6ff;border-radius:9px;align-content:center;min-height:42px;padding:7px 11px;display:grid}.class-directory-picker span,.class-directory-picker strong,.class-directory-picker small{display:block}.class-directory-picker span,.class-directory-picker small{color:#64748b;font-size:10px}.selected-class-directory{grid-template-columns:minmax(0,1fr)}.class-directory-list,.roster-list{align-content:start;gap:8px;display:grid}.class-directory-card,.roster-person{color:#334155;text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;align-items:center;gap:10px;width:100%;display:grid}.class-directory-card{border-radius:11px;grid-template-columns:minmax(0,1fr) auto;min-height:66px;padding:11px 12px}.class-directory-card strong,.class-directory-card span,.roster-person strong,.roster-person small{display:block}.class-directory-card span,.roster-person small{color:#64748b;margin-top:3px;font-size:10px}.class-directory-card:hover,.class-directory-card.active,.roster-person:hover,.roster-person.active{background:#eff6ff;border-color:#93c5fd}.class-directory-card.active,.roster-person.active{box-shadow:inset 3px 0 #2563eb}.class-directory-empty{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;align-content:center;justify-items:center;gap:8px;min-height:390px;padding:28px;display:grid}.class-directory-empty strong{color:#334155;font-size:17px}.class-directory-empty p{max-width:430px;margin:0;font-size:12px;line-height:1.5}.class-roster-workspace{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;min-width:0;overflow:hidden}.class-roster-header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;gap:18px;padding:18px;display:flex}.class-roster-header h3,.class-roster-header p{margin:0}.class-roster-header h3{margin-top:4px;font-size:22px}.class-roster-header p{color:#64748b;margin-top:5px;font-size:11px}.class-roster-stats{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.class-roster-stats span{color:#64748b;text-align:center;background:#f8fafc;border-radius:9px;min-width:82px;padding:9px 10px;font-size:10px}.class-roster-stats strong{color:#1e293b;margin-bottom:2px;font-size:14px;display:block}.roster-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;display:grid}.roster-group{min-width:0}.roster-group h4{color:#334155;align-items:center;gap:7px;margin:0 0 10px;font-size:13px;display:flex}.roster-list{max-height:365px;overflow:auto}.roster-person{border-radius:10px;grid-template-columns:34px minmax(0,1fr) auto;padding:9px}.roster-avatar{color:#1d4ed8;background:#dbeafe;border-radius:9px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.roster-avatar.teacher{color:#6d28d9;background:#ede9fe}.class-person-detail{scroll-margin-top:82px}.class-person-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.academic-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.academic-summary-grid>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:13px}.academic-summary-grid span,.academic-summary-grid strong{display:block}.academic-summary-grid span{color:#64748b;font-size:11px}.academic-summary-grid strong{color:#1e293b;margin-top:5px;font-size:20px}.fee-section-heading h2{margin-top:5px;font-size:23px}.fee-section-heading p{color:#64748b;margin-top:5px;font-size:12px;line-height:1.5}.grid-layout{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.teacher-grid,.parent-grid,.student-grid-page{grid-template-columns:repeat(3,minmax(0,1fr))}.wide,.hero-panel{grid-column:span 2}.hero-panel{border-radius:16px;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px;display:flex}.hero-panel h2{letter-spacing:0;margin:6px 0;font-size:clamp(24px,3vw,38px)}.hero-panel p{color:#475569;max-width:600px;margin:0}.metric-card,.panel{border-radius:12px}.metric-card{justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex}.metric-card-action{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.metric-card-action:hover{border-color:#93c5fd;transform:translateY(-2px);box-shadow:0 20px 46px #2563eb24}.metric-card-action:focus-visible{outline-offset:3px;outline:3px solid #2563eb40}.metric-card span,.metric-card small{display:block}.metric-card span{color:#475569;text-transform:uppercase;font-size:12px;font-weight:800}.metric-card strong{margin-top:6px;font-size:32px;line-height:1;display:block}.metric-card svg{color:#2563eb}.metric-card .metric-card-action-label{color:#2563eb;margin-top:9px;font-weight:800}.panel{min-width:0;padding:18px}.panel-header{gap:10px;margin-bottom:16px}.panel-header h3{letter-spacing:0;margin:0;font-size:18px}.panel-header p{margin:2px 0 0;font-size:12px}.panel-header>svg{color:#94a3b8;margin-left:auto}.collapsible-panel>.collapsible-panel-summary{cursor:pointer;list-style:none}.collapsible-panel>.collapsible-panel-summary::-webkit-details-marker{display:none}.collapsible-panel>.collapsible-panel-summary .panel-header{margin-bottom:0}.collapsible-panel>.collapsible-panel-summary .panel-header>svg{transition:transform .16s}.collapsible-panel[open]>.collapsible-panel-summary .panel-header>svg{transform:rotate(90deg)}.collapsible-panel>.collapsible-panel-summary:focus-visible{outline-offset:4px;border-radius:9px;outline:3px solid #2563eb33}.collapsible-panel-content{margin-top:16px}.panel-icon{color:#0369a1;width:34px;height:34px;box-shadow:none;background:#e0f2fe;border-radius:8px}.table-list,.compact-list{gap:10px;display:grid}.table-row,.compact-item,.student-card,.notification-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px}.table-row{justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:12px 14px;display:flex}.table-row strong,.compact-item strong,.student-card strong{color:#172033;display:block}.table-row span,.compact-item span,.metric-card small{font-size:12px}.status-chip{white-space:nowrap;background:#eff6ff;border-radius:999px;padding:6px 10px;font-weight:800;color:#1d4ed8!important}.stack-form{gap:12px;display:grid}label{color:#475569;gap:6px;font-size:12px;font-weight:800;display:grid}input,select,textarea{color:#172033;width:100%;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;padding:10px 12px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}button{font:inherit}.primary-button,.secondary-button,.ghost-button,.done-button,.split-actions button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 13px;font-weight:800;display:inline-flex}.primary-button{color:#fff;background:#1d4ed8}.primary-button:hover{background:#1e40af}.secondary-button,.ghost-button{color:#1e293b;background:#fff;border-color:#cbd5e1}.secondary-button:hover,.ghost-button:hover{background:#f8fafc}.done-button{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.full{width:100%}.toolbar{margin-bottom:14px}.toolbar select{width:auto;min-width:180px}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.student-card{justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.student-card select{width:126px}.compact-item{padding:12px}.compact-item p{color:#475569;margin:8px 0;font-size:13px;line-height:1.45}.fee-tax-note{color:#075985;background:#f0f9ff;border:1px solid #bae6fd;border-radius:9px;margin:-4px 0 14px;padding:10px 12px;font-size:12px;line-height:1.5}.fee-class-list{gap:10px;display:grid}.fee-class-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:minmax(170px,1.2fr) repeat(3,minmax(115px,.8fr)) auto;align-items:end;gap:10px;padding:13px;display:grid}.fee-class-title strong,.fee-class-title span,.fee-ledger-table td span,.fee-history-row span{display:block}.fee-class-title span,.fee-ledger-table td span,.fee-history-row span{color:#64748b;margin-top:4px;font-size:11px}.fee-payment-form,.student-fee-adjustment-form{gap:14px;display:grid}.student-fee-adjustment-picker{background:#f8fbff;border:1px solid #bfdbfe;border-radius:11px;grid-template-columns:minmax(180px,.75fr) minmax(280px,1.25fr);gap:10px;padding:14px;display:grid}.student-fee-adjustment-workspace{grid-template-columns:minmax(240px,.75fr) minmax(360px,1.5fr);gap:14px;display:grid}.student-fee-adjustment-context,.student-fee-adjustment-fields{background:#fff;border:1px solid #e2e8f0;border-radius:11px;padding:14px}.student-fee-adjustment-context>strong{color:#172033;margin:5px 0 12px;font-size:17px;display:block}.student-fee-adjustment-context>div{gap:7px;display:grid}.student-fee-adjustment-context>div>span{background:#f8fafc;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;display:flex}.student-fee-adjustment-context small{color:#64748b;text-transform:uppercase;font-size:10px;font-weight:800}.student-fee-adjustment-context span strong{color:#1e293b;text-align:right;font-size:12px}.student-fee-adjustment-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-fee-adjustment-fields .form-note,.student-fee-adjustment-actions{grid-column:1/-1}.student-fee-adjustment-actions{justify-content:flex-end;gap:9px;display:flex}.payment-student-picker{background:#f8fbff;border:1px solid #bfdbfe;border-radius:11px;grid-template-columns:minmax(160px,.75fr) minmax(220px,1fr) minmax(280px,1.35fr) minmax(210px,.9fr);align-items:end;gap:10px;padding:14px;display:grid}.payment-details-grid{grid-template-columns:repeat(6,minmax(125px,1fr)) auto;align-items:end;gap:10px;display:grid}.payment-student-summary{background:#fff;border:1px solid #dbeafe;border-radius:9px;align-content:center;min-height:62px;padding:9px 12px;display:grid}.payment-student-summary span,.payment-student-summary strong,.payment-student-summary small{display:block}.payment-student-summary span{color:#64748b;text-transform:uppercase;font-size:10px;font-weight:800}.payment-student-summary strong{color:#1e293b;margin-top:3px;font-size:13px}.payment-student-summary small{color:#64748b;margin-top:2px;font-size:10px}.fee-ledger-panel{grid-column:1/-1}.ledger-toolbar{background:#f8fbff;border:1px solid #dbeafe;border-radius:10px;grid-template-columns:minmax(180px,.75fr) minmax(260px,1.5fr) auto;align-items:end;gap:10px;margin-bottom:14px;padding:12px;display:grid}.ledger-result-count{align-content:center;justify-items:end;min-width:120px;min-height:42px;display:grid}.ledger-result-count strong,.ledger-result-count span{display:block}.ledger-result-count strong{color:#1d4ed8;font-size:18px}.ledger-result-count span{color:#64748b;font-size:10px}.fee-ledger-table-wrap{overflow-x:auto}.fee-ledger-table{border-collapse:collapse;width:100%;font-size:13px}.fee-ledger-table th,.fee-ledger-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;padding:11px 12px}.fee-ledger-table th{color:#64748b;text-transform:uppercase;background:#f8fafc;font-size:11px}.compact-fee-ledger-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid #e2e8f0;border-radius:10px;max-height:310px;overflow:auto}.compact-fee-ledger-scroll .fee-ledger-table th{z-index:2;position:sticky;top:0}.compact-fee-ledger-scroll .fee-ledger-table td{padding-block:8px}.compact-fee-ledger .ledger-pagination{margin-top:9px}.ledger-pagination{color:#64748b;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:11px;display:flex}.ledger-pagination>div{align-items:center;gap:9px;display:flex}.ledger-pagination button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:5px;min-height:34px;padding:7px 10px;font-weight:800;display:inline-flex}.ledger-pagination button:disabled{opacity:.45;cursor:not-allowed}.fee-due{color:#b91c1c}.fee-clear{color:#047857}.fee-history{background:#fff;border:1px solid #e2e8f0;border-radius:9px;margin-top:10px;overflow:hidden}.fee-history summary{color:#334155;cursor:pointer;padding:12px 14px;font-size:12px;font-weight:800}.single-student-payment-history{border-top:1px solid #e2e8f0;margin-top:10px}.payment-history-heading{color:#334155;justify-content:space-between;align-items:center;gap:12px;padding:12px 2px 8px;font-size:12px;display:flex}.payment-history-heading span{color:#64748b;font-weight:700}.single-student-payment-history .fee-history-row{padding-left:2px;padding-right:2px}.payment-history-empty{color:#64748b;border-top:1px solid #f1f5f9;margin:0;padding:12px 2px 2px;font-size:12px}.fee-history-row{border-top:1px solid #f1f5f9;justify-content:space-between;gap:14px;padding:10px 14px;display:flex}.fee-history-row>div:last-child{text-align:right}.split-actions{gap:8px;display:flex}.split-actions button{background:#f8fafc;border-color:#e2e8f0;flex:1}.ai-layout{grid-template-columns:260px minmax(0,1fr);gap:14px;display:grid}.ai-output{min-height:260px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55}.top-gap{margin-top:14px}.attendance-calendar-panel{justify-self:center;width:100%;max-width:680px;padding:14px;overflow:hidden}.attendance-calendar-panel.full-width{grid-column:1/-1;justify-self:stretch;max-width:none}.attendance-calendar-panel.full-width .attendance-calendar-layout{grid-template-columns:minmax(220px,280px) minmax(480px,720px);justify-content:space-between;align-items:start;gap:24px;display:grid}.attendance-calendar-panel.full-width .attendance-calendar-overview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.attendance-calendar-panel.full-width .attendance-calendar-filters{justify-content:stretch;align-items:stretch}.attendance-calendar-panel.full-width .student-picker{width:100%;min-width:0;font-size:12px}.attendance-calendar-panel.full-width .student-picker select{font-size:14px}.attendance-calendar-panel.full-width .attendance-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin:10px 0 0}.attendance-calendar-panel.full-width .attendance-calendar-main{width:100%;max-width:720px}.attendance-calendar-panel.full-width .attendance-summary-strip>div{padding:10px 11px}.attendance-calendar-panel.full-width .attendance-summary-strip strong{font-size:20px}.attendance-calendar-panel.full-width .attendance-summary-strip span,.attendance-calendar-panel.full-width .calendar-toolbar span,.attendance-calendar-panel.full-width .attendance-legend,.attendance-calendar-panel.full-width .calendar-weekday{font-size:11px}.attendance-calendar-panel.full-width .calendar-toolbar{padding:9px 10px}.attendance-calendar-panel.full-width .calendar-toolbar strong{font-size:15px}.attendance-calendar-panel.full-width .calendar-toolbar button{width:34px;height:34px}.attendance-calendar-panel.full-width .attendance-calendar{gap:6px}.attendance-calendar-panel.full-width .calendar-day{min-height:58px;padding:8px}.attendance-calendar-panel.full-width .calendar-day strong{font-size:15px}.attendance-calendar-panel.full-width .calendar-day span{font-size:10px;line-height:1.2}.profile-directory{grid-template-columns:minmax(240px,.75fr) minmax(0,1.6fr);gap:16px;margin-top:16px;display:grid}.profile-directory-sidebar{align-content:start;gap:10px;min-height:0;display:grid}.profile-directory-list{overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;gap:7px;min-height:0;max-height:340px;padding:1px 8px 10px 1px;scroll-padding-bottom:42px;display:grid;overflow:hidden auto}.profile-directory-list:focus-visible{outline-offset:3px;border-radius:10px;outline:2px solid #818cf8}.profile-directory-progress{z-index:1;color:#64748b;text-align:center;background:#f8fafcf5;border-top:1px solid #e2e8f0;padding:9px 8px 8px;font-size:10px;font-weight:800;position:sticky;bottom:-10px}.examination-heading,.examination-setup-panel,.teacher-examination-panel,.exam-results-panel{grid-column:1/-1}.examination-form{grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:12px;margin-top:16px;display:grid}.examination-form label,.exam-selector-row label{color:#475569;font-size:11px;font-weight:800}.examination-form .exam-span-2{grid-column:span 2}.exam-card-list{gap:10px;margin-top:16px;display:grid}.exam-admin-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:58px minmax(260px,1fr) auto minmax(240px,auto);align-items:center;gap:14px;padding:12px;display:grid}.exam-date-tile{color:#3730a3;text-align:center;background:#eef2ff;border-radius:11px;place-content:center;width:58px;height:58px;display:grid}.exam-date-tile strong,.exam-date-tile span,.exam-card-copy strong,.exam-card-copy small{display:block}.exam-date-tile strong{font-size:20px;line-height:1}.exam-date-tile span{text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:900}.exam-card-copy strong{color:#1e293b;margin:4px 0;font-size:14px}.exam-card-copy small{color:#64748b;font-size:10px}.exam-status{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:999px;width:fit-content;padding:6px 9px;font-size:10px;font-weight:900}.exam-status.scheduled{color:#1d4ed8;background:#dbeafe}.exam-status.results-published{color:#166534;background:#dcfce7}.exam-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.exam-card-actions button{min-height:34px;padding:7px 10px;font-size:10px}.exam-selector-row{grid-template-columns:minmax(280px,1.4fr) minmax(240px,1fr) auto;align-items:end;gap:12px;margin-top:16px;display:grid}.exam-selection-summary{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;align-content:center;gap:2px;min-height:66px;padding:10px 13px;display:grid}.exam-selection-summary span,.exam-selection-summary strong,.exam-selection-summary small{display:block}.exam-selection-summary span,.exam-selection-summary small{color:#64748b;font-size:10px}.exam-save-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.marks-register-wrap{scrollbar-gutter:stable;border:1px solid #e2e8f0;border-radius:12px;max-height:520px;margin-top:16px;overflow:auto}.marks-register{border-collapse:collapse;width:100%;min-width:760px}.marks-register th,.marks-register td{text-align:left;border-bottom:1px solid #f1f5f9;padding:10px 12px;font-size:12px}.marks-register th{z-index:2;color:#475569;text-transform:uppercase;background:#f8fafc;font-size:10px;position:sticky;top:0}.marks-register td strong,.marks-register td span{display:block}.marks-register td span{color:#64748b;font-size:10px}.marks-register input[type=number]{width:105px}.marks-register input[type=checkbox]{width:18px;height:18px}.result-summary-strip{grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;margin:16px 0;display:grid}.result-summary-strip>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px}.result-summary-strip span,.result-summary-strip strong{display:block}.result-summary-strip span{color:#64748b;font-size:10px;font-weight:800}.result-summary-strip strong{margin-top:3px;font-size:20px}.result-failed{color:#991b1b;background:#fee2e2}.upcoming-exams{gap:8px;margin-top:18px;display:grid}.upcoming-exams h4{color:#334155;margin:0;font-size:13px}.profile-directory-item{text-align:left;background:#fff;border-color:#e2e8f0;border-radius:11px;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px;display:grid}.profile-directory-item>span{color:#4338ca;background:#eef2ff;border-radius:10px;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.profile-directory-item strong,.profile-directory-item small{display:block}.profile-directory-item small{color:#64748b;margin-top:2px;font-size:10px}.profile-directory-item.active{background:#f5f3ff;border-color:#818cf8;box-shadow:0 0 0 2px #6366f114}.class-attendance-workspace{padding:20px}.class-attendance-toolbar{grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) minmax(260px,1.2fr);align-items:end;gap:14px;display:grid}.class-attendance-context{background:#eff6ff;border:1px solid #dbeafe;border-radius:12px;align-content:center;gap:3px;min-height:68px;padding:10px 14px;display:grid}.class-attendance-context span,.class-attendance-context small{color:#64748b;font-size:11px}.class-attendance-columns{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.class-attendance-roster{min-width:0}.attendance-roster-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.attendance-roster-summary span{color:#64748b;text-align:center;background:#f8fafc;border-radius:10px;gap:2px;padding:9px;font-size:11px;display:grid}.attendance-roster-summary strong{color:#172033;font-size:18px}.attendance-roster-actions{justify-content:flex-end;gap:8px;margin-bottom:12px;display:flex}.attendance-roster-list{gap:8px;max-height:520px;display:grid;overflow:auto}.attendance-roster-person{background:#fff;border:1px solid #e2e8f0;border-radius:11px;grid-template-columns:36px minmax(0,1fr) minmax(120px,.6fr);align-items:center;gap:10px;padding:10px;display:grid}.attendance-roster-person>div:nth-child(2){min-width:0}.attendance-roster-person strong,.attendance-roster-person small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.attendance-roster-person small{color:#64748b;margin-top:2px;font-size:10px}.profile-avatar.compact-avatar{border-radius:10px;width:36px;height:36px;font-size:12px}.attendance-roster-person select{width:100%;min-width:0}.school-settings-panel{gap:14px;display:grid}.settings-save-bar{z-index:4;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#eff6fff5;border:1px solid #bfdbfe;border-radius:14px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex;position:sticky;bottom:14px;box-shadow:0 14px 34px #2563eb24}.settings-save-bar strong,.settings-save-bar span{display:block}.settings-save-bar span{color:#64748b;margin-top:3px;font-size:11px}.profile-detail-card{background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:14px;padding:18px}.profile-empty-detail{color:#64748b;text-align:center;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:14px;align-content:center;justify-items:center;gap:8px;min-height:300px;padding:24px;display:grid}.profile-empty-detail strong{color:#334155;font-size:16px}.profile-empty-detail p{max-width:360px;margin:0;font-size:12px;line-height:1.5}.profile-detail-header{border-bottom:1px solid #e2e8f0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding-bottom:16px;display:grid}.profile-detail-header h3,.profile-detail-header p{margin:0}.profile-detail-header h3{margin-top:3px;font-size:20px}.profile-detail-header p{color:#64748b;margin-top:4px;font-size:12px}.profile-avatar{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:15px;place-items:center;width:52px;height:52px;font-size:17px;font-weight:900;display:grid}.status-chip.active-status{color:#166534;background:#dcfce7;border-color:#86efac}.student-leave-list{gap:8px;display:grid}.student-leave-form{background:#f8fbff;border:1px solid #dbeafe;border-radius:11px;grid-template-columns:minmax(130px,.65fr) minmax(130px,.65fr) minmax(220px,1.6fr) auto;align-items:end;gap:10px;margin-bottom:16px;padding:12px;display:grid}.student-leave-request{background:#fff;border:1px solid #e2e8f0;border-radius:11px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.student-leave-request-copy{min-width:0}.student-leave-request-copy strong,.student-leave-request-copy span,.student-leave-request-copy small{display:block}.student-leave-request-copy span{color:#475569;margin-top:4px;font-size:12px}.student-leave-request-copy small{color:#64748b;margin-top:6px;font-size:11px}.status-chip.leave-status.pending{background:#fef9c3;color:#854d0e!important}.status-chip.leave-status.approved{background:#dcfce7;color:#166534!important}.status-chip.leave-status.rejected{background:#fee2e2;color:#991b1b!important}.staff-leave-heading,.staff-leave-create-panel,.staff-leave-review-panel{grid-column:1/-1}.staff-leave-form{grid-template-columns:minmax(190px,1fr) repeat(2,minmax(135px,.65fr)) minmax(260px,1.5fr) auto;align-items:end;gap:10px;display:grid}.teacher-staff-leave-form{background:#f8fbff;border:1px solid #dbeafe;border-radius:11px;grid-template-columns:repeat(2,minmax(135px,.65fr)) minmax(260px,1.5fr) auto;margin-bottom:16px;padding:12px}.staff-leave-review-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.staff-leave-review-heading .panel-header{margin-bottom:0}.staff-leave-review-heading label{min-width:170px}.staff-leave-list{gap:10px;margin-top:16px;display:grid}.staff-leave-card{background:#fff;border:1px solid #e2e8f0;border-radius:11px;grid-template-columns:minmax(190px,.8fr) minmax(220px,1.4fr) auto auto;align-items:center;gap:14px;padding:13px;display:grid}.staff-leave-person{align-items:center;gap:10px;display:flex}.staff-leave-person strong,.staff-leave-person span,.staff-leave-card small{display:block}.staff-leave-person span,.staff-leave-card p,.staff-leave-card small{color:#64748b;font-size:11px}.staff-leave-card p{margin:0}.staff-leave-card small{margin-top:4px}.staff-leave-actions{gap:7px;display:flex}.staff-leave-actions button{min-height:34px;padding:7px 10px;font-size:11px}.teacher-staff-leave-list .staff-leave-card{grid-template-columns:minmax(0,1fr) auto}.profile-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.profile-facts>div{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:11px}.profile-facts span,.profile-facts strong{display:block}.profile-facts span{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:800}.profile-facts strong{color:#1e293b;margin-top:4px;font-size:12px;line-height:1.4}.credential-manager{background:#f8faff;border:1px solid #c7d2fe;border-radius:14px;gap:12px;margin-top:18px;padding:16px;display:grid}.credential-manager.compact{margin-top:16px}.credential-manager-heading{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.credential-manager-heading h3,.credential-manager-heading p{margin:0}.credential-manager-heading h3{color:#1e293b;margin-top:3px;font-size:16px}.credential-manager-heading p{color:#64748b;max-width:480px;font-size:11px;line-height:1.5}.credential-list{gap:10px;display:grid}.credential-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:minmax(180px,.8fr) minmax(240px,1fr);gap:12px 18px;padding:14px;display:grid}.credential-identity{align-items:center;gap:10px;display:flex}.profile-avatar.small{border-radius:11px;width:40px;height:40px;font-size:12px}.credential-identity strong,.credential-identity span,.credential-facts span,.credential-facts strong{display:block}.credential-identity span,.credential-facts span{color:#64748b;margin-top:3px;font-size:10px}.credential-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.credential-facts>div{background:#f8fafc;border-radius:9px;padding:9px 10px}.credential-facts strong{overflow-wrap:anywhere;color:#1e293b;margin-top:3px;font-size:12px}.credential-reset-row{grid-column:1/-1;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;display:grid}.credential-reset-row label{color:#475569;gap:6px;font-size:11px;font-weight:800;display:grid}.school-danger-zone{background:#fff7f7;border:1px solid #fecaca;border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:16px;display:flex}.school-danger-zone h3,.school-danger-zone p{margin:0}.school-danger-zone h3{color:#991b1b;margin-top:3px;font-size:16px}.school-danger-zone p{color:#7f1d1d;max-width:620px;margin-top:5px;font-size:11px;line-height:1.5}.danger-button{color:#fff;cursor:pointer;background:#dc2626;border:1px solid #dc2626;border-radius:9px;flex:none;min-height:40px;padding:9px 14px;font-weight:850}.danger-button:hover:not(:disabled){background:#b91c1c}.danger-button:disabled{cursor:not-allowed;opacity:.65}.attendance-calendar-heading,.calendar-toolbar,.attendance-legend,.attendance-summary-strip{align-items:center;display:flex}.attendance-calendar-heading{justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:8px}.attendance-calendar-heading .panel-header{margin-bottom:0}.attendance-filters{justify-content:flex-end;align-items:flex-end;gap:8px;display:flex}.attendance-calendar-filters{margin-bottom:8px}.student-picker{color:#64748b;letter-spacing:.08em;text-transform:uppercase;min-width:180px;font-size:11px;font-weight:900}.student-picker select{color:#0f172a;letter-spacing:0;text-transform:none;width:100%;margin-top:4px;font-size:13px;display:block}.attendance-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:7px;display:grid}.attendance-summary-strip>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:9px;padding:5px 7px}.attendance-summary-strip strong,.attendance-summary-strip span{display:block}.attendance-summary-strip strong{color:#0f172a;font-size:14px}.attendance-summary-strip span{color:#64748b;margin-top:2px;font-size:9px;font-weight:800}.attendance-summary-strip .summary-present{background:#ecfdf5;border-color:#a7f3d0}.attendance-summary-strip .summary-absent{background:#fff1f2;border-color:#fecdd3}.attendance-summary-strip .summary-leave{background:#fffbeb;border-color:#fde68a}.calendar-toolbar{background:#f8fafc;border-radius:9px;justify-content:space-between;margin-bottom:6px;padding:5px 7px}.calendar-toolbar button{color:#334155;background:#fff;border-color:#e2e8f0;border-radius:8px;place-items:center;width:26px;height:26px;padding:0;display:grid}.calendar-toolbar button:disabled{cursor:not-allowed;opacity:.4}.calendar-toolbar div{text-align:center}.calendar-toolbar strong,.calendar-toolbar span{display:block}.calendar-toolbar span{color:#64748b;margin-top:2px;font-size:9px}.attendance-legend{color:#475569;flex-wrap:wrap;gap:8px;margin:0 0 6px;font-size:9px;font-weight:700}.attendance-legend span{align-items:center;gap:6px;display:inline-flex}.legend-dot{border-radius:50%;width:7px;height:7px}.legend-dot.present{background:#22c55e}.legend-dot.absent{background:#ef4444}.legend-dot.on-leave{background:#eab308}.legend-dot.late{background:#f97316}.attendance-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;transition:opacity .16s;display:grid}.attendance-calendar.is-loading{opacity:.45}.calendar-weekday{color:#64748b;text-align:center;text-transform:uppercase;padding:2px;font-size:8px;font-weight:900}.calendar-day{background:#fff;border:1px solid #e2e8f0;border-radius:8px;min-height:34px;padding:4px 5px}.calendar-day strong,.calendar-day span{display:block}.calendar-day strong{font-size:11px}.calendar-day span{margin-top:3px;font-size:7px;font-weight:800}.calendar-day.present{color:#166534;background:#dcfce7;border-color:#86efac}.calendar-day.absent{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.calendar-day.on-leave{color:#854d0e;background:#fef9c3;border-color:#fde047}.calendar-day.late,.calendar-day.half-day{color:#9a3412;background:#ffedd5;border-color:#fdba74}.calendar-day.weekend{color:#94a3b8;background:#f8fafc}.calendar-day.unmarked{color:#64748b}.calendar-day.blank{background:0 0;border-color:#0000}.empty-state{color:#64748b;margin:0;font-size:13px}.notification-panel{border-left:1px solid #cbd5e1bf;flex-direction:column;gap:14px;min-height:100vh;padding:20px;display:flex}.notification-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.notification-header h2{letter-spacing:0;align-items:center;gap:8px;margin:4px 0 0;font-size:20px;display:flex}.notification-header button{cursor:pointer;background:#e2e8f0;border:0;border-radius:8px;padding:7px 10px;font-weight:800}.notification-feed{gap:10px;display:grid;overflow:auto}.notification-card{padding:12px}.notification-card small{color:#0f766e;text-transform:uppercase;font-size:10px;font-weight:900}.notification-card p{color:#334155;margin:8px 0;font-size:13px;line-height:1.45}.notification-card span{color:#64748b;font-size:11px}.notification-card.empty{color:#64748b;background:#f8fafc;border-style:dashed;justify-items:start;gap:5px;display:grid}.notification-card.empty strong{color:#334155}.notification-card.empty p{margin:2px 0 6px}.toast{z-index:20;color:#0f172a;border-radius:999px;padding:10px 16px;font-weight:800;position:fixed;top:18px;left:50%;transform:translate(-50%)}.loading-screen{color:#172033;background:#f8fafc;place-items:center;gap:10px;min-height:100vh;font-weight:800;display:grid}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1180px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.notification-panel{border-top:1px solid #cbd5e1bf;border-left:0;grid-column:1/-1;min-height:auto}}@media (width<=900px){.login-page,.platform-grid,.user-management-grid{grid-template-columns:1fr}.login-page{padding:24px}.login-hero{min-height:auto}.about-grid,.form-grid,.wizard-tabs,.review-grid{grid-template-columns:1fr}.transport-stop-card{grid-template-columns:36px minmax(0,1fr);align-items:end}.transport-stop-card label,.transport-stop-actions{grid-column:2}.transport-stop-actions,.transport-map-heading,.transport-stop-heading{flex-direction:column;align-items:stretch}.transport-stop-actions{justify-content:flex-start}.classroom-overview-heading{flex-direction:column;align-items:stretch}.classroom-overview-heading>label{width:100%}.classroom-table-shell{border:0;overflow:visible}.classroom-table,.classroom-table tbody{display:block}.classroom-table thead{display:none}.classroom-table tbody{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;display:grid}.classroom-table tbody tr{background:#fff;border:1px solid #dbe3ef;border-radius:12px;gap:0;padding:12px;display:grid}.classroom-table td{text-align:right;border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:12px;max-width:none;padding:8px 0;display:flex}.classroom-table td:before{content:attr(data-label);color:#64748b;letter-spacing:.03em;text-align:left;text-transform:uppercase;font-size:10px;font-weight:900}.classroom-table td:first-child{justify-content:flex-start;padding-top:0}.classroom-table td:first-child:before{display:none}.classroom-table td:last-child{border-bottom:0;padding-bottom:0}.classroom-table-name{width:100%}.classroom-subject-summary{max-width:65%}.classroom-table-footer{flex-direction:column;align-items:stretch}.classroom-table-footer>div{justify-content:space-between}.app-shell{display:block}.sidebar{border-bottom:1px solid #cbd5e1bf;border-right:0;min-height:auto}.role-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar,.hero-panel{flex-direction:column;align-items:stretch}.workspace{padding:18px}.grid-layout,.teacher-grid,.parent-grid,.student-grid-page,.onboarding-page-layout,.attendance-calendar-panel.full-width .attendance-calendar-layout{grid-template-columns:1fr}.attendance-calendar-panel.full-width .attendance-calendar-main{max-width:none}.attendance-calendar-panel.full-width .attendance-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.onboarding-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.onboarding-bulk-card{grid-column:1/-1}.wide,.hero-panel{grid-column:auto}.student-grid,.ai-layout{grid-template-columns:1fr}.attendance-calendar-heading,.attendance-filters{flex-direction:column;align-items:stretch}.profile-directory,.class-directory-layout,.roster-columns,.class-attendance-toolbar,.class-attendance-columns,.class-directory-picker{grid-template-columns:1fr}.class-create-form,.examination-form,.subject-create-form,.subject-management-layout,.class-subject-mapping-row,.teacher-mapping-row,.salary-config-row,.salary-teacher-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-subject-toolbar,.teacher-class-subject-row,.exam-admin-card,.exam-selector-row{grid-template-columns:1fr}.exam-date-tile{width:50px;height:50px}.exam-card-actions{justify-content:flex-start}.ledger-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-result-count{grid-column:1/-1;justify-items:start}.class-roster-header{flex-direction:column}.class-person-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.school-site-config-grid{grid-template-columns:1fr}.settings-save-bar{flex-direction:column;align-items:stretch;position:static}.admin-section-nav{margin:-18px -18px 18px;padding:10px 18px;top:-18px;overflow-x:auto}.admin-section-nav button{white-space:nowrap;flex:none}.fee-class-card,.payment-student-picker,.payment-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-fee-adjustment-workspace{grid-template-columns:1fr}.staff-leave-form,.teacher-staff-leave-form,.staff-leave-card{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-leave-reason,.staff-leave-actions{grid-column:1/-1}.student-picker{min-width:0}.student-leave-form{grid-template-columns:repeat(2,minmax(0,1fr))}.student-leave-form label:nth-child(3){grid-column:1/-1}}@media (width<=560px){.sidebar,.topbar,.workspace,.notification-panel{padding:16px}.role-nav,.examination-form,.result-summary-strip{grid-template-columns:1fr}.examination-form .exam-span-2{grid-column:auto}.topbar-actions,.hero-actions,.toolbar,.onboarding-page-hero,.onboarding-submit-bar{flex-direction:column;align-items:stretch}.onboarding-page-stats{justify-content:flex-start}.admin-section-nav{margin:-16px -16px 16px;padding:9px 16px;top:-16px}.toolbar select,.student-card select{width:100%}.student-card,.table-row{flex-direction:column;align-items:stretch}.fee-class-card,.payment-student-picker,.payment-details-grid,.student-fee-adjustment-picker,.student-fee-adjustment-fields,.staff-leave-form,.teacher-staff-leave-form,.staff-leave-card{grid-template-columns:1fr}.staff-leave-review-heading,.student-fee-adjustment-actions{flex-direction:column;align-items:stretch}.onboarding-role-selector,.onboarding-field-grid,.onboarding-guardian-grid,.onboarding-sidebar{grid-template-columns:1fr}.onboarding-form-intro,.onboarding-form-section,.onboarding-submit-bar,.onboarding-page-hero{padding:18px}.onboarding-submit-bar .primary-button{width:100%}.fee-history-row{flex-direction:column}.fee-history-row>div:last-child{text-align:left}.attendance-summary-strip,.attendance-calendar-panel.full-width .attendance-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-facts,.profile-detail-header{grid-template-columns:1fr}.credential-manager-heading{flex-direction:column}.school-danger-zone{flex-direction:column;align-items:stretch}.credential-card,.credential-facts,.credential-reset-row,.class-person-facts,.academic-summary-grid,.class-create-form,.subject-create-form,.subject-management-layout,.subject-edit-row,.class-subject-mapping-row,.teacher-mapping-row,.salary-config-row,.salary-teacher-picker{grid-template-columns:1fr}.payroll-toolbar{flex-direction:column;align-items:stretch}.ledger-toolbar{grid-template-columns:1fr}.ledger-result-count{grid-column:auto}.ledger-pagination,.ledger-pagination>div{flex-direction:column;align-items:stretch}.profile-detail-header .status-chip{justify-self:start}.student-leave-request,.student-leave-form{grid-template-columns:1fr}.student-leave-form label:nth-child(3){grid-column:auto}.student-leave-request .leave-status{justify-self:start}.attendance-calendar{gap:3px}.calendar-day{border-radius:6px;min-height:32px;padding:3px}.calendar-day span{margin-top:3px;font-size:0}.calendar-day span:first-letter{font-size:0}}
