:root{--table-serial-column-width:58px;--table-border-color:var(--glass-border);--table-hover-bg:var(--glass-bg-hover);--table-surface:var(--bg-surface);--table-text-muted:var(--text-muted);--table-row-height-compact:40px;--table-row-height-default:48px;--table-row-height-comfortable:56px;--bg-deepest:#fdf4ee;--bg-deep:#fffaf6;--bg-base:#fffdfb;--bg-elevated:#ffffff;--bg-surface:#ffffff;--bg-primary:var(--bg-base);--bg-secondary:var(--bg-deep);--bg-tertiary:var(--bg-elevated);--bg-card:var(--bg-surface);--surface-sunken:var(--bg-deep);--glass-hover:var(--glass-bg-hover);--warning-light:var(--accent-gold-dim);--glass-bg:rgba(255,255,255,0.9);--glass-bg-hover:rgba(255,255,255,0.98);--glass-border:rgba(165,226,225,0.7);--glass-border-hover:rgba(255,153,81,0.55);--overlay-bg:rgba(15,23,42,0.46);--toast-bg:rgba(255,255,255,0.96);--toast-shadow:0 10px 28px rgba(15,23,42,0.18);--modal-bg:#ffffff;--modal-shadow:0 20px 50px rgba(15,23,42,0.22);--password-surface:#fff1e5;--password-value-surface:#ffffff;--password-value-border:rgba(36,50,56,0.25);--password-text:#243238;--input-bg:#ffffff;--input-border:#cbd5e1;--accent-primary:#ff9951;--accent-primary-rgb:255,153,81;--accent-primary-dim:rgba(255,153,81,0.16);--accent-primary-glow:rgba(255,153,81,0.28);--accent-secondary:#a5e2e1;--accent-secondary-dim:rgba(165,226,225,0.24);--accent-gold:#ffd046;--accent-gold-dim:rgba(255,208,70,0.22);--status-success:#10b981;--status-warning:#946200;--status-danger:#ef4444;--status-error:var(--status-danger);--status-info:#287f83;--status-muted:#9ca3af;--rating-4:#10b981;--rating-4-bg:rgba(16,185,129,0.08);--rating-3:#287f83;--rating-3-bg:rgba(40,127,131,0.1);--rating-2:#946200;--rating-2-bg:rgba(255,208,70,0.18);--rating-1:#ef4444;--rating-1-bg:rgba(239,68,68,0.08);--rating-0:#9ca3af;--rating-0-bg:rgba(156,163,175,0.08);--rating-na:#6b7280;--rating-na-bg:rgba(107,114,128,0.12);--text-primary:#243238;--text-secondary:#4d5b60;--text-muted:#718087;--text-inverse:#ffffff;--button-primary-text:#243238;--button-disabled-bg:#eef2f3;--button-disabled-text:#8a979b;--shadow-sm:0 1px 3px rgba(0,0,0,0.06),0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 12px rgba(0,0,0,0.07),0 2px 4px rgba(0,0,0,0.04);--shadow-lg:0 12px 32px rgba(0,0,0,0.1),0 4px 8px rgba(0,0,0,0.05);--shadow-glow:0 0 24px rgba(255,153,81,0.24);--font-family:"Avenir Next","Segoe UI",sans-serif;--font-xs:0.75rem;--font-sm:0.8125rem;--font-base:0.875rem;--font-md:1rem;--font-lg:1.125rem;--font-xl:1.5rem;--font-2xl:2rem;--font-3xl:2.5rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:400ms cubic-bezier(0.4,0,0.2,1);--sidebar-width:280px;--header-height:64px;--sidebar-bg:#fffaf6;--sidebar-border:rgba(203,213,225,0.8);--sidebar-shadow:4px 0 20px rgba(0,0,0,0.03);--sidebar-section-bg:rgba(255,255,255,0.72);--sidebar-section-border:rgba(120,132,142,0.55);--sidebar-section-label-bg:rgba(255,255,255,0.88);--sidebar-section-label-border:rgba(114,126,138,0.8);--sidebar-section-label-hover-bg:rgba(255,244,234,0.98);--header-bg:#ffffff;--header-border:rgba(203,213,225,0.8);--header-shadow:0 4px 12px rgba(0,0,0,0.03);--footer-bg:#e2e8f0;--footer-border:rgba(203,213,225,1)}.cookie-consent{position:fixed;left:1.25rem;bottom:1.25rem;z-index:2000;display:flex;align-items:center;gap:1.25rem;max-width:min(42rem,calc(100vw - 2.5rem));padding:1rem 1.25rem;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:8px;box-shadow:var(--shadow-lg)}.cookie-consent p{margin:.25rem 0 0;color:var(--text-secondary);font-size:var(--font-sm);line-height:1.45}.cookie-consent-actions{display:flex;gap:.5rem;flex-shrink:0}@media (max-width:640px){.cookie-consent{left:.75rem;right:.75rem;bottom:.75rem;display:block;max-width:none}.cookie-consent-actions{margin-top:.75rem}}[data-theme=dark]{--bg-deepest:#0a0a14;--bg-deep:#0f1119;--bg-base:#131820;--bg-elevated:#1a1f2e;--bg-surface:#131820;--bg-primary:var(--bg-base);--bg-secondary:var(--bg-deep);--bg-tertiary:var(--bg-elevated);--bg-card:var(--bg-surface);--surface-sunken:var(--bg-deepest);--glass-hover:var(--glass-bg-hover);--warning-light:var(--accent-gold-dim);--sidebar-bg:#0f1119;--sidebar-border:rgba(165,226,225,0.25);--sidebar-shadow:6px 0 28px rgba(0,0,0,0.6);--header-bg:#1a1f2e;--header-border:rgba(165,226,225,0.25);--header-shadow:0 4px 16px rgba(0,0,0,0.5);--sidebar-section-bg:rgba(15,23,42,0.26);--sidebar-section-border:rgba(165,226,225,0.22);--sidebar-section-label-bg:rgba(22,27,38,0.8);--sidebar-section-label-border:rgba(165,226,225,0.26);--sidebar-section-label-hover-bg:rgba(26,31,46,0.96);--footer-bg:#0a0a14;--footer-border:rgba(165,226,225,0.22);--glass-bg:rgba(26,31,46,0.8);--glass-bg-hover:rgba(26,31,46,0.95);--glass-border:rgba(165,226,225,0.24);--glass-border-hover:rgba(255,153,81,0.46);--overlay-bg:rgba(0,0,0,0.62);--toast-bg:#1a1f2e;--toast-shadow:0 14px 34px rgba(0,0,0,0.5);--modal-bg:#1a1f2e;--modal-shadow:0 24px 60px rgba(0,0,0,0.58);--password-surface:#252b3b;--password-value-surface:#131820;--password-value-border:rgba(165,226,225,0.5);--password-text:#f8f9fa;--input-bg:rgba(10,10,20,0.8);--input-border:rgba(165,226,225,0.32);--accent-primary:#ff9951;--accent-primary-rgb:255,153,81;--accent-primary-dim:rgba(255,153,81,0.2);--accent-primary-glow:rgba(255,153,81,0.38);--accent-secondary:#a5e2e1;--accent-secondary-dim:rgba(165,226,225,0.18);--accent-gold:#ffd046;--accent-gold-dim:rgba(255,208,70,0.18);--rating-4:#5fd1ce;--rating-4-bg:rgba(95,209,206,0.15);--rating-3:#a5e2e1;--rating-3-bg:rgba(165,226,225,0.15);--rating-2:#ffd046;--rating-2-bg:rgba(255,208,70,0.16);--rating-1:#ff6b5f;--rating-1-bg:rgba(255,107,95,0.15);--rating-0:#888999;--rating-0-bg:rgba(136,137,153,0.1);--rating-na:#a1a7b8;--rating-na-bg:rgba(161,167,184,0.12);--status-success:#34d399;--status-warning:#ffd046;--status-danger:#ff6b5f;--status-info:#a5e2e1;--status-muted:#888999;--text-primary:#f8f9fa;--text-secondary:#b0b1c3;--text-muted:#888999;--text-inverse:#0a0a14;--button-primary-text:#0a0a14;--button-disabled-bg:#252b3b;--button-disabled-text:#777d91;--shadow-sm:0 1px 3px rgba(0,0,0,0.3),0 1px 2px rgba(0,0,0,0.2);--shadow-md:0 4px 16px rgba(0,0,0,0.4),0 2px 6px rgba(0,0,0,0.2);--shadow-lg:0 16px 40px rgba(0,0,0,0.5),0 6px 12px rgba(0,0,0,0.3);--shadow-glow:0 0 28px rgba(255,153,81,0.32)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background:var(--bg-deepest);color:var(--text-primary);min-height:100vh;min-width:320px;width:100%;max-width:100%;line-height:1.6;font-size:var(--font-base);overflow-x:hidden}.admin-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.admin-tool-card{display:block;padding:1rem;background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:.5rem;color:var(--text-primary);text-decoration:none;transition:all .2s ease}.admin-tool-card:hover{background:var(--accent-primary-dim);border-color:var(--glass-border-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.admin-tool-title{font-weight:600;margin-bottom:.5rem}.admin-tool-description{font-size:.85rem;color:var(--text-muted)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--text-primary)}.notice-item{padding:var(--space-4);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg)}.notice-item h3{margin-bottom:var(--space-1)}.chat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem}.chat-conversation-card{margin-top:2rem}.pwa-offline-setup{background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--text-primary);left:50%;max-width:min(32rem,calc(100vw - 2rem));padding:1.5rem;position:fixed;top:50%;transform:translate(-50%,-50%);width:32rem;z-index:10000}.pwa-offline-setup h2{font-size:1.2rem;margin:0 0 .75rem}.pwa-offline-setup p{color:var(--text-secondary);line-height:1.5;margin:0 0 1rem}.pwa-progress-track{background:var(--glass-bg-hover);border:1px solid var(--glass-border);border-radius:var(--radius-full);height:.75rem;overflow:hidden}.pwa-progress-track span{background:var(--accent-primary);display:block;height:100%;transform:scaleX(var(--progress-scale,0));transform-origin:left center;transition:transform .18s ease}.pwa-offline-setup .pwa-progress-status{font-size:.875rem;margin-top:.6rem}.pwa-progress-warning{color:var(--status-warning)!important;font-size:.875rem}.pwa-setup-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.pwa-close-button,.pwa-continue-button{border:1px solid var(--glass-border);border-radius:6px;cursor:pointer;font-weight:600;padding:.65rem 1rem}.pwa-continue-button{background:var(--accent-primary);color:var(--button-primary-text)}.pwa-close-button{background:transparent;color:var(--text-secondary)}.chat-recipient-row{align-items:flex-start;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-2)}.chat-recipient-label{display:-webkit-box;line-height:1.35;overflow-wrap:anywhere;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.chat-recipient-row>button{flex-shrink:0}.chat-mode-toggle{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-4)}.chat-mode-toggle label{align-items:center;display:flex;flex:0 0 auto;gap:var(--space-2);white-space:nowrap}.btn-request-sent{background:var(--accent-primary-dim);border-color:var(--accent-primary);color:var(--accent-primary);cursor:default}.request-status-actions{align-items:center;display:inline-flex;gap:var(--space-2);flex-shrink:0}.btn-request-cancel{align-items:center;background:transparent;border-color:var(--text-muted);color:var(--text-muted);display:inline-flex;height:2rem;justify-content:center;min-width:2rem;padding:0}.btn-request-cancel:hover{border-color:var(--accent-secondary);color:var(--accent-secondary)}.pagination-controls{align-items:center;display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-4)}@media (max-width:768px){.chat-grid,.notice-board-grid{grid-template-columns:minmax(0,1fr)}.chat-grid{gap:3rem}.chat-conversation-card{margin-top:1.5rem}.chat-grid .flex.justify-between,.notice-item .flex.justify-between{align-items:flex-start;flex-direction:column}}.app-layout{width:100%;overflow-y:hidden}.app-layout,.main-content{display:flex;max-width:100%;min-height:100vh;min-width:0;overflow-x:hidden}.main-content{flex:1 1 auto;width:auto;margin-left:var(--sidebar-width);padding-top:var(--header-height);overflow-y:auto;flex-direction:column}.analytics-dashboard-grid{width:100%;max-width:100%;min-width:0}.analytics-filter-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-3)}.analytics-filter-fields .mb-4{margin-bottom:var(--space-3)}.analytics-wide-card{grid-column:1/-1}.siso-report-document{position:relative;overflow:hidden;padding:40px;color:#000;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);font-family:system-ui,-apple-system,sans-serif}.siso-report-color-bars{display:flex;height:10px;margin:-40px -40px 24px}.siso-report-color-bars span{flex:1 1}.siso-report-color-bars span:first-child{background:#d32f2f}.siso-report-color-bars span:nth-child(2){background:#f9a825}.siso-report-color-bars span:nth-child(3){background:#388e3c}.siso-report-heading{margin-bottom:30px;padding-bottom:20px;text-align:center;border-bottom:2px solid #000}.siso-report-service{margin-bottom:8px;font-size:14px;font-weight:700;letter-spacing:2px}.siso-report-heading h1{margin:0 0 10px;font-size:24px}.siso-report-heading h2{margin:0;font-size:18px;font-weight:400}.siso-report-heading p{margin:10px 0 0;color:#4a5568}.siso-report-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}.siso-report-summary-grid section{padding:15px;border:1px solid #e2e8f0;border-radius:6px}.siso-report-section h3,.siso-report-summary-grid h3{margin:0 0 15px;padding-bottom:8px;border-bottom:1px solid #e2e8f0;font-size:16px}.siso-report-section p,.siso-report-summary-grid p{margin:5px 0}.siso-report-section{margin-bottom:30px}.siso-report-table-part{margin-bottom:20px}.siso-report-table-part h4{margin:0 0 8px;font-size:15px}.siso-report-section h3{border-bottom-width:2px;font-size:18px}.siso-report-section table{width:100%;border-collapse:collapse;font-size:14px}.siso-report-profile-table{min-width:0;table-layout:fixed}.siso-report-section td,.siso-report-section th{padding:10px;border:1px solid #e2e8f0}.siso-report-profile-table td,.siso-report-profile-table th{overflow-wrap:anywhere;word-break:normal}.siso-report-document .portal-table{width:100%;min-width:0;max-width:100%;table-layout:fixed}.siso-report-document .portal-table td,.siso-report-document .portal-table th{white-space:normal;overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.siso-report-section th{background:#f7fafc;text-align:left}.siso-report-section td:not(:first-child),.siso-report-section th:not(:first-child){text-align:center}.siso-report-section ul{padding-left:20px}.siso-report-document footer{padding-top:20px;color:#718096;font-size:12px;text-align:center;border-top:1px solid #e2e8f0}@page{size:A4 portrait;margin:12mm}.portal-report-document{max-width:210mm;margin:0 auto}.ges-color-bars{display:flex;height:10px;margin:-40px -40px 24px;width:calc(100% + 80px)}.ges-color-bars span{flex:1 1}.ges-bar-red{background:#d32f2f}.ges-bar-yellow{background:#f9a825}.ges-bar-green{background:#388e3c}.reports-choice-grid{grid-template-columns:repeat(2,minmax(280px,360px));justify-content:center;max-width:800px;margin:var(--space-8) auto 0;gap:var(--space-6)}.reports-choice-grid>.glass-card{min-height:320px;padding:var(--space-8)}.portal-report-table-part{margin:0 0 28px;break-inside:auto;page-break-inside:auto}.portal-report-table-wrap{width:100%;overflow-x:auto}.portal-report-table{width:100%;table-layout:fixed;font-size:12px}.portal-report-table td,.portal-report-table th{overflow-wrap:anywhere;vertical-align:top}.district-report-table-part{margin-bottom:20px}.district-report-table-part h4{margin:0 0 8px;font-size:15px}.district-report-table-part .table-responsive{overflow-x:auto}.district-report-table-part table{width:100%;min-width:620px;table-layout:fixed}.district-report-table-part td,.district-report-table-part th{width:20%;overflow-wrap:normal;word-break:normal;vertical-align:top}@media print{body,html{width:210mm;min-height:297mm;background:#fff}body{margin:0}body *{visibility:hidden}#district-report-content,#district-report-content *,#report-content-body,#report-content-body *,#siso-report-content,#siso-report-content *,.portal-report-print-container,.portal-report-print-container *{visibility:visible!important}#report-content-body,#siso-report-content,.portal-report-print-container{position:absolute;inset:0;width:100%;box-sizing:border-box;padding:0;border:0;box-shadow:none;border-radius:0}.portal-report-print-container{display:block!important}.no-print{display:none!important}.siso-report-section{break-inside:auto;page-break-inside:auto}.siso-report-table-part{break-inside:avoid;page-break-inside:avoid}.siso-report-section table{width:100%;font-size:10px;table-layout:fixed}.siso-report-section thead{display:table-header-group}.siso-report-section tr{break-inside:avoid;page-break-inside:avoid}.siso-report-section td,.siso-report-section th{padding:5px;overflow-wrap:anywhere;word-break:normal}.portal-report-document .data-table{width:100%;margin:10px 0;table-layout:fixed;font-size:10px}.portal-report-document .data-table thead{display:table-header-group}.portal-report-document .data-table tr{break-inside:avoid;page-break-inside:avoid}#report-content-body{position:absolute;left:0;top:0;width:100%;box-sizing:border-box;padding:0!important;border:0!important;box-shadow:none!important;border-radius:0!important}.portal-report-table-wrap{overflow:visible}.portal-report-table-part{break-inside:auto;page-break-inside:auto;margin-bottom:8mm}.portal-report-table{width:100%;table-layout:fixed;font-size:9px}.portal-report-table thead{display:table-header-group}.portal-report-table tr{break-inside:avoid;page-break-inside:avoid}.portal-report-table td,.portal-report-table th{padding:3px!important;overflow-wrap:anywhere}.district-report-document .siso-report-section table{width:100%;table-layout:auto}.district-report-table-part{break-inside:avoid;page-break-inside:avoid;margin-bottom:8mm}.district-report-table-part h4{font-size:11px;margin-bottom:3mm}.district-report-table-part .table-responsive{overflow:visible}.district-report-table-part table{width:100%;min-width:0;table-layout:fixed;font-size:9px}.district-report-table-part td,.district-report-table-part th{width:20%;padding:3px;overflow-wrap:normal}}@media (max-width:640px){.siso-report-document{padding:20px}.siso-report-color-bars{margin:-20px -20px 18px}.siso-report-summary-grid{grid-template-columns:1fr;gap:12px;margin-bottom:20px}.siso-report-heading h1{font-size:20px}.siso-report-heading h2{font-size:16px}.siso-report-document .portal-table,.siso-report-section table{width:100%;min-width:0;max-width:100%;table-layout:fixed}.siso-report-document .portal-table td,.siso-report-document .portal-table th,.siso-report-section td,.siso-report-section th{white-space:normal;overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:auto;hyphens:auto}}@media (max-width:700px){.reports-choice-grid{grid-template-columns:minmax(0,1fr);max-width:420px}}.bento-grid.reports-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1000px;width:100%}.bento-grid.reports-choice-grid>.glass-card{min-width:0}@media (max-width:900px){.bento-grid.reports-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.bento-grid.reports-choice-grid{grid-template-columns:minmax(0,1fr);max-width:420px}}.teacher-portals-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-6)}.teacher-portals-grid>.glass-card{min-width:0;padding:12px 14px;display:block;text-decoration:none;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.teacher-portals-grid>.glass-card:hover{transform:translateY(-2px);border-color:var(--accent-primary)}@media (max-width:860px){.teacher-portals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.teacher-portals-grid{grid-template-columns:minmax(0,1fr)}}.analytics-wide-card>.table-responsive{width:100%;overflow-x:auto;overflow-y:hidden}.analytics-comparison-table{table-layout:auto!important;max-width:none!important}.analytics-comparison-table td,.analytics-comparison-table th{white-space:normal;vertical-align:middle}.analytics-comparison-table th{min-width:76px;line-height:1.2}.analytics-comparison-table .analytics-name-column{width:150px;min-width:150px;max-width:180px;text-align:left!important;overflow-wrap:anywhere}.analytics-comparison-table td:not(.analytics-name-column){min-width:72px;text-align:center}.analytics-chart-wrapper{width:100%;max-width:100%;min-width:0}.page-container{padding:var(--space-6) var(--space-6);margin:0;width:100%;max-width:100%;overflow-x:hidden;animation:fadeInUp .4s ease-out}.activity-register-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr);gap:1.5rem;row-gap:1.5rem;align-items:start;width:100%}.activity-register-capture,.activity-register-timeline{min-width:0}.activity-register-district-overview{display:block}.activity-register-district-table{width:100%}.activity-register-table{min-width:960px}.activity-register-table td{vertical-align:top;white-space:normal;line-height:1.4}.activity-register-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:nowrap}.activity-register-filters{display:grid;grid-template-columns:repeat(2,minmax(8rem,1fr));gap:var(--space-2);width:min(21rem,100%);flex:0 0 min(21rem,100%)}.activity-register-filters .form-select{min-width:0}@media (max-width:768px){.activity-register-layout{grid-template-columns:1fr}.activity-register-timeline{margin-top:1.5rem}.activity-register-toolbar{flex-wrap:wrap}}@media (max-width:600px){.activity-register-toolbar{align-items:stretch;flex-direction:column}.activity-register-filters{min-width:0;width:100%;flex-basis:100%;grid-template-columns:repeat(2,minmax(0,1fr))}}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-6);min-width:0;overflow:hidden;transition:all var(--transition-fast);box-shadow:var(--shadow-md)}.glass-card:hover{box-shadow:var(--shadow-lg);border-color:var(--glass-border-hover);transform:translateY(-2px)}.glass-card-static{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md)}.page-title{font-size:var(--font-2xl);font-weight:800;letter-spacing:-.02em;margin-bottom:var(--space-2);color:var(--text-primary)}.page-subtitle{font-size:var(--font-base);color:var(--text-secondary);margin-bottom:var(--space-8)}.page-profile-header{margin-bottom:0;gap:.5rem;align-items:center}.page-profile-header .page-title{margin-bottom:0}.profile-tabs-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}@media (max-width:900px){.profile-tabs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.375rem}}@media (max-width:500px){.profile-tabs-grid{grid-template-columns:1fr;gap:.25rem}.profile-tabs-grid .btn{min-height:2.5rem;padding:.35rem .3rem;font-size:.7rem;line-height:1.2}}.section-title{font-size:var(--font-lg);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.section-title .icon{color:var(--accent-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-family);font-size:var(--font-base);font-weight:600;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap}.btn-primary{background:var(--accent-primary);color:var(--button-primary-text);box-shadow:var(--shadow-sm);border:1px solid rgba(224,119,48,.35)}.btn-primary:hover{background:#e87832;transform:translateY(-1px);box-shadow:var(--shadow-md),var(--shadow-glow)}.btn-secondary{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-outline-primary{background:transparent;color:#d96b27;border:1.5px solid var(--accent-primary);box-shadow:var(--shadow-sm)}.btn-outline-primary:hover{background:var(--accent-primary-dim);border-color:var(--accent-primary);color:#c45b18;transform:translateY(-1px);box-shadow:var(--shadow-md),var(--shadow-glow)}[data-theme=dark] .btn-outline-primary{color:var(--accent-primary)}[data-theme=dark] .btn-outline-primary:hover{color:#ffa86b}.password-reset-modal{position:fixed;top:50%;left:50%;z-index:1000;width:min(380px,calc(100vw - 2rem));max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem);overflow-y:auto;padding:clamp(1rem,4vw,1.5rem);border-radius:var(--radius-md);box-shadow:var(--modal-shadow);transform:translate(-50%,-50%)}.password-reset-secret{padding:.875rem;margin-bottom:1rem;border:1px solid var(--accent-primary);border-radius:var(--radius-sm);background:var(--password-surface)}.password-reset-secret-row{display:flex;align-items:center;gap:.5rem;min-width:0}.password-reset-secret-value{display:block;min-width:0;flex:1 1;padding:.65rem .75rem;overflow-wrap:anywhere;color:var(--password-text);background:var(--password-value-surface);border:1px solid var(--password-value-border);border-radius:var(--radius-sm);font-size:.95rem;font-weight:700;line-height:1.35}[data-theme=dark] .password-reset-secret-row .btn-secondary{background:var(--bg-elevated)}@media (max-width:640px){.password-reset-modal{top:50%;bottom:auto;width:calc(100vw - 1.5rem);max-width:calc(100vw - 1.5rem);max-height:calc(100vh - 2rem);transform:translate(-50%,-50%)}.password-reset-secret-row{align-items:stretch;flex-direction:column}.password-reset-secret-row .btn{width:100%}}.btn-danger{background:var(--status-danger);color:white;box-shadow:var(--shadow-sm);border:1px solid rgba(255,255,255,.1)}.btn-danger:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);filter:brightness(1.08)}.btn:disabled,.btn[aria-disabled=true]{background:var(--button-disabled-bg)!important;color:var(--button-disabled-text)!important;border-color:var(--glass-border)!important;box-shadow:none;cursor:not-allowed;filter:none;opacity:1;transform:none}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-md);border-radius:var(--radius-lg)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;font-size:.75rem;font-weight:700;color:var(--text-muted);margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.05em}.form-input,.form-select,.form-textarea{display:block;width:100%;padding:.65rem .875rem;color:var(--text-primary);font-family:var(--font-family);font-size:.95rem}.form-input,.form-select,.form-textarea,.password-input-group{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.password-input-group{display:flex!important;align-items:center!important;width:100%!important;box-sizing:border-box}.password-input-group:focus-within{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-dim),var(--shadow-sm);background:var(--input-bg)}.password-input-group.error-border{border-color:var(--status-danger)!important}.password-input-control{flex:1 1 auto!important;min-width:0!important;width:100%!important;outline:none!important;box-shadow:none!important;padding:.65rem .875rem!important;color:var(--text-primary)!important;font-family:var(--font-family)!important;font-size:.95rem!important;line-height:1.5!important;box-sizing:border-box!important}.password-input-control,.password-toggle-btn{border:none!important;background:transparent!important}.password-toggle-btn{flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;padding:0!important;color:var(--text-secondary)!important;cursor:pointer!important;margin:0 4px 0 0!important}.password-toggle-btn:hover{color:var(--accent-primary)!important}@media (max-width:768px){.password-input-control{padding:.75rem!important;font-size:16px!important;min-height:44px!important}}.form-section-card{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all .2s ease}.form-section-card:hover{border-color:var(--glass-border-hover)}.form-section-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--glass-border)}.form-section-header h3{font-size:var(--font-sm);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-primary);margin:0}.table-input{padding:.35rem .5rem!important;font-size:.95rem!important;height:38px}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-dim),var(--shadow-sm);background:var(--input-bg)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7f99' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.form-select option{background:var(--bg-elevated);color:var(--text-primary)}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.role-schedule-row{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row-4-col{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3,.75rem)}@media (max-width:768px){.form-row-4-col{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.form-row-4-col{grid-template-columns:1fr}}.grid-dynamic{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4);align-items:start;width:100%}.siso-coverage-card{display:flex;flex-direction:column}.siso-coverage-content{flex:1 1;justify-content:center;min-width:0}.siso-coverage-content,.siso-coverage-stat{display:flex;flex-direction:column;align-items:center}.siso-coverage-stat{line-height:1.2}.siso-coverage-ring{width:min(90px,100%);aspect-ratio:1;margin-top:.35rem;flex-shrink:0}.siso-coverage-ring svg{display:block;width:100%;height:100%}.form-hint{font-size:var(--font-xs);color:var(--text-muted);margin-top:var(--space-1)}.rating-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--glass-border);border-radius:var(--radius-md);font-weight:700;font-size:var(--font-sm);box-shadow:var(--shadow-sm)}.rating-badge-4{background:var(--rating-4-bg);color:var(--rating-4)}.rating-badge-3{background:var(--rating-3-bg);color:var(--rating-3)}.rating-badge-2{background:var(--rating-2-bg);color:var(--rating-2)}.rating-badge-1{background:var(--rating-1-bg);color:var(--rating-1)}.rating-badge-0{background:var(--rating-0-bg);color:var(--rating-0)}.rating-legend{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.rating-legend-title{flex:0 0 auto;margin-right:var(--space-1);color:var(--text-muted);font-size:var(--font-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.rating-legend-item{display:inline-flex;min-height:32px;align-items:center;justify-content:center;padding:.35rem .65rem;border:1px solid var(--glass-border);border-radius:var(--radius-full,9999px);font-size:var(--font-xs);font-weight:600;line-height:1.2;white-space:nowrap}.rating-legend-na{background:var(--rating-na-bg);color:var(--rating-na)}.rating-selector{display:flex;gap:var(--space-2)}.rating-btn{width:44px;height:44px;border-radius:var(--radius-md);border:1px solid var(--input-border);font-weight:700;font-size:var(--font-base);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);display:flex;align-items:center;justify-content:center}.rating-btn-4{background:var(--rating-4-bg);color:var(--rating-4)}.rating-btn-4.active,.rating-btn-4:hover{background:var(--rating-4);color:white;box-shadow:0 0 16px rgba(13,150,104,.3);border-color:var(--rating-4)}.rating-btn-3{background:var(--rating-3-bg);color:var(--rating-3)}.rating-btn-3.active,.rating-btn-3:hover{background:var(--rating-3);color:white;box-shadow:0 0 16px rgba(45,122,184,.3);border-color:var(--rating-3)}.rating-btn-2{background:var(--rating-2-bg);color:var(--rating-2)}.rating-btn-2.active,.rating-btn-2:hover{background:var(--rating-2);color:white;box-shadow:0 0 16px rgba(217,119,6,.3);border-color:var(--rating-2)}.rating-btn-1{background:var(--rating-1-bg);color:var(--rating-1)}.rating-btn-1.active,.rating-btn-1:hover{background:var(--rating-1);color:white;box-shadow:0 0 16px rgba(220,38,38,.3);border-color:var(--rating-1)}.rating-btn-0{background:var(--rating-0-bg);color:var(--rating-0)}.rating-btn-0.active,.rating-btn-0:hover{background:var(--rating-0);color:white;box-shadow:0 0 16px rgba(107,114,128,.3);border-color:var(--rating-0)}.rating-btn-na{background:var(--rating-na-bg);color:var(--rating-na)}.rating-btn-na.active,.rating-btn-na:hover{background:var(--rating-na);color:white;box-shadow:0 0 16px rgba(107,114,128,.28);border-color:var(--rating-na)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.status-badge-success{background:rgba(13,150,104,.1);color:var(--status-success)}.status-badge-warning{background:rgba(217,119,6,.1);color:var(--status-warning)}.status-badge-danger{background:rgba(220,38,38,.1);color:var(--status-danger)}.status-badge-info{background:rgba(45,122,184,.1);color:var(--status-info)}.status-badge-muted{background:rgba(107,114,128,.1);color:var(--status-muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.table-wrapper{width:100%;overflow-x:auto;display:block;max-width:100%}.attendance-profile-table{width:max-content!important;min-width:1240px!important;white-space:nowrap;table-layout:fixed!important}.attendance-profile-table td,.attendance-profile-table th{white-space:nowrap}.data-table{width:100%;min-width:420px;border-collapse:separate;border-spacing:0;table-layout:auto;border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden}.attendance-report-table{width:max-content!important;min-width:1250px!important;table-layout:fixed!important;white-space:nowrap}.attendance-report-table td,.attendance-report-table th{white-space:nowrap}.enrolment-data-table{width:max-content!important;min-width:1800px!important;table-layout:auto!important;white-space:nowrap!important}.enrolment-data-table td,.enrolment-data-table th{white-space:nowrap}.circuit-attendance-section{margin-top:var(--space-6)}.circuit-attendance-table td,.circuit-attendance-table th{white-space:nowrap;vertical-align:middle}.circuit-attendance-table{width:max-content!important;min-width:1450px!important;table-layout:fixed!important}.circuit-attendance-table tbody td:first-child,.circuit-attendance-table thead tr:first-child th:first-child{min-width:220px}.teacher-attendance-table{min-width:0!important;width:100%!important;table-layout:fixed!important}.teacher-attendance-table .teacher-attendance-name-column,.teacher-attendance-table .teacher-attendance-school-column{width:34%}.teacher-attendance-table .teacher-attendance-rate-column{width:20%}.teacher-attendance-table .teacher-attendance-weeks-column{width:12%}.teacher-attendance-table td,.teacher-attendance-table th{min-width:0!important;max-width:none}.district-attendance-table{width:max-content!important;min-width:1050px!important;table-layout:auto;white-space:nowrap}.district-attendance-table td,.district-attendance-table th{white-space:nowrap;vertical-align:middle}.district-attendance-table td:first-child,.district-attendance-table th:first-child{min-width:220px;text-align:left}@media (max-width:768px){.table-responsive>table.circuit-attendance-table{width:max-content!important;min-width:1450px!important;table-layout:fixed!important}}table thead th{text-align:center!important;vertical-align:middle!important}.data-table th{text-align:center;font-size:var(--font-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;background:var(--glass-bg-hover)}.data-table td,.data-table th{padding:var(--space-3) var(--space-4);vertical-align:middle;border:1px solid var(--glass-border)}.data-table td{font-size:var(--font-sm);color:var(--text-primary)}table:not(.unstyled-table){width:100%;max-width:100%;table-layout:auto;border:1px solid var(--glass-border);border-collapse:separate;border-spacing:0;border-radius:var(--radius-md);overflow:hidden}table:not(.unstyled-table) td,table:not(.unstyled-table) th{border:1px solid var(--glass-border)}.two-line-name{width:145px;max-width:145px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.25;max-height:2.5em;text-align:left;vertical-align:middle}.enrolment-school-name,.school-details-name-column,.school-name-cell{text-align:left!important;vertical-align:middle!important}.school-name-cell{white-space:nowrap}@media (max-width:640px){.two-line-name{width:120px;max-width:120px}}.compact-circuit-name{display:block;width:82px;max-width:82px;white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.2}.data-table tbody tr{border-bottom:1px solid var(--table-border-color);transition:background var(--transition-fast)}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background:var(--table-hover-bg)}.data-table td.col-text,.data-table th.col-text{text-align:left}.data-table td.col-number,.data-table th.col-number{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data-table.is-wide tbody tr:nth-child(2n){background:var(--glass-bg)}.data-table.is-wide tbody tr:nth-child(2n):hover{background:var(--table-hover-bg)}.data-table[data-density=compact] td,.data-table[data-density=compact] th{padding-block:8px;font-size:.8125rem}.data-table[data-density=default] td,.data-table[data-density=default] th{padding-block:12px;font-size:.875rem}.data-table[data-density=comfortable] td,.data-table[data-density=comfortable] th{padding-block:16px;font-size:.875rem}.table-scroll{overflow:auto;max-height:70vh;position:relative}.data-table.has-sticky thead th{position:sticky;top:0;z-index:2;background:var(--table-surface);box-shadow:inset 0 -1px 0 var(--table-border-color)}.data-table td.is-sticky-col,.data-table th.is-sticky-col{position:sticky;left:0;z-index:1;background:var(--table-surface)}.data-table thead th.is-sticky-col{z-index:3}.data-table .is-sticky-col:after{content:"";position:absolute;top:0;right:-1px;bottom:0;width:1px;box-shadow:2px 0 4px rgba(0,0,0,.06);pointer-events:none}.cell-text .truncate{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-number{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;overflow:visible}.cell-empty,.cell-loading{color:var(--table-text-muted);text-align:center}.row-actions{opacity:0;display:flex;gap:4px;transition:opacity .12s ease}tr:focus-within .row-actions,tr:hover .row-actions{opacity:1}.row-actions button:focus-visible{opacity:1}@media (hover:none) and (pointer:coarse){.row-actions.is-full-set{display:none}}@media (prefers-reduced-motion:reduce){.row-actions{transition:none}}.data-table th .sort-icon{visibility:hidden}.data-table th:focus-visible .sort-icon,.data-table th:hover .sort-icon,.data-table th[aria-sort=ascending] .sort-icon,.data-table th[aria-sort=descending] .sort-icon{visibility:visible}.observation-data-table-wrap{max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain}.observation-data-table{width:max-content!important;min-width:2200px!important;max-width:none!important;table-layout:auto!important}.observation-data-table th{min-width:76px;max-width:132px;padding:.6rem .65rem;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;line-height:1.2;font-size:.68rem;letter-spacing:.04em}.observation-data-table td:first-child,.observation-data-table th:first-child{min-width:150px;text-align:left}.observation-data-table td{white-space:normal;overflow-wrap:normal;word-break:normal;line-height:1.35}.observation-data-table th[style*="min-width: 60px"]{min-width:60px;max-width:70px}table td,table td *,table th,table th *{overflow-wrap:normal!important;word-break:normal!important}.action-plan-builder .action-plan-table{min-width:640px;table-layout:auto}.action-plan-builder .action-plan-table th{white-space:nowrap!important}.monitoring-details-table{table-layout:auto!important;width:max-content!important;min-width:100%!important}.monitoring-details-table .monitoring-summary-column{min-width:110px;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;background:var(--surface-sunken);font-weight:700}.monitoring-details-table td:first-child,.monitoring-details-table th:first-child{position:sticky;left:0;z-index:2;background:var(--bg-surface);min-width:180px}.monitoring-details-table th:first-child{z-index:4;background:var(--bg-elevated)}.observation-details-table td:first-child,.observation-details-table th:first-child{min-width:160px}.observation-details-table td:nth-child(2),.observation-details-table th:nth-child(2){min-width:180px}.school-profile-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden;background:transparent;table-layout:fixed}.school-profile-table thead th{background:rgba(255,255,255,.04);color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.school-profile-table tbody td,.school-profile-table thead th{text-align:center;padding:.75rem .5rem;border-bottom:1px solid var(--glass-border)}.school-profile-table tbody td{background:rgba(255,255,255,.01);color:var(--text-primary);font-size:.95rem;vertical-align:middle;transition:background var(--transition-fast)}.school-profile-table tbody tr:hover td{background:var(--table-hover-bg)}.school-profile-table tbody tr:last-child td{border-bottom:none}.school-profile-table td:first-child{text-align:left;font-weight:600;color:var(--text-primary);padding-left:.9rem}.school-profile-table input[type=number]{display:block;width:100%;min-width:64px;max-width:100%;min-height:38px;padding:.5rem .55rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;font-weight:600;text-align:center;margin:0 auto;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.school-profile-table input[type=number]:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-dim)}.teacher-attendance-form-table{width:max-content;min-width:820px;table-layout:fixed}.teacher-attendance-form-table td:first-child,.teacher-attendance-form-table th:first-child{width:190px;min-width:190px;text-align:left}.teacher-attendance-form-table td:not(:first-child),.teacher-attendance-form-table th:not(:first-child){width:78px;min-width:78px}.academic-qualification-table{min-width:700px;table-layout:fixed!important}.academic-qualification-table td:first-child,.academic-qualification-table th:first-child{width:48px}.academic-qualification-table td:nth-child(2),.academic-qualification-table th:nth-child(2){width:180px}.academic-qualification-table td:nth-child(3),.academic-qualification-table th:nth-child(3){width:370px}.academic-qualification-table td:nth-child(4),.academic-qualification-table th:nth-child(4){width:102px}.academic-qualification-table input{min-width:0;width:100%}.teacher-record-wide-table{width:max-content;table-layout:fixed!important}.teacher-record-form input:not([type=date]):not([type=checkbox]):not([type=radio]){text-transform:uppercase}.professional-qualification-table{min-width:980px}.promotions-table{min-width:820px}.employment-history-table{min-width:920px}.teacher-record-wide-table td,.teacher-record-wide-table th{white-space:normal;overflow-wrap:normal;word-break:normal}.teacher-record-wide-table input{width:100%;min-width:0}.enrolment-data-table td:first-child,.enrolment-data-table th:first-child,.school-details-sn-column,.serial-column{width:58px!important;min-width:58px!important;max-width:58px!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;text-align:center!important}@media (max-width:600px){.attendance-profile-table{min-width:1240px!important;table-layout:fixed!important}.teacher-attendance-form-table{width:820px!important;min-width:820px!important;max-width:none!important;table-layout:fixed!important}.teacher-attendance-form-table td,.teacher-attendance-form-table th{white-space:normal!important;overflow-wrap:normal!important}.teacher-record-table-wrapper{width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x pan-y!important;display:block!important;padding-bottom:.75rem;margin-top:.25rem;scrollbar-width:thin;scrollbar-color:var(--accent-primary) var(--surface-sunken)}.teacher-record-table-wrapper::-webkit-scrollbar{height:8px}.teacher-record-table-wrapper::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:999px}.teacher-record-table-wrapper::-webkit-scrollbar-track{background:var(--surface-sunken);border-radius:999px}.teacher-record-scroll-hint{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;font-size:.72rem;color:var(--accent-primary);font-weight:600;margin-bottom:.35rem;opacity:.9}.teacher-record-table-wrapper table.data-table{display:table!important;width:100%!important;max-width:none!important;table-layout:fixed!important}.teacher-record-table-wrapper table.academic-qualification-table{min-width:620px!important}.teacher-record-table-wrapper table.professional-qualification-table{min-width:840px!important}.teacher-record-table-wrapper table.promotions-table{min-width:720px!important}.teacher-record-table-wrapper table.employment-history-table{min-width:820px!important}.teacher-record-table-wrapper td,.teacher-record-table-wrapper th{padding:.45rem .35rem!important;vertical-align:middle!important;box-sizing:border-box!important}.teacher-record-table-wrapper th{font-size:.75rem!important;font-weight:700!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:var(--text-secondary)!important;background:var(--bg-surface)!important;white-space:nowrap!important;border-bottom:1px solid var(--glass-border)!important}.teacher-record-table-wrapper td.serial-column,.teacher-record-table-wrapper th:first-child{position:static!important;left:auto!important;background:var(--bg-surface)!important;z-index:auto!important;box-shadow:none!important;text-align:center!important;width:44px!important;min-width:44px!important;max-width:44px!important}.teacher-record-table-wrapper .table-input{height:38px!important;min-height:38px!important;padding:.35rem .55rem!important;font-size:.85rem!important;border-radius:var(--radius-md)!important;box-sizing:border-box!important;width:100%!important;min-width:0!important}.teacher-record-table-wrapper input[type=date].table-input{height:38px!important;min-height:38px!important;padding:.25rem .4rem!important;font-size:.82rem!important}.attendance-profile-table td:first-child,.attendance-profile-table th:first-child{width:120px;min-width:120px;padding-left:.65rem;padding-right:.4rem;white-space:nowrap}.attendance-profile-table td:not(:first-child),.attendance-profile-table th:not(:first-child){width:70px;min-width:70px;padding-left:.35rem;padding-right:.35rem}.attendance-profile-table thead th{white-space:nowrap;font-size:.68rem}.attendance-profile-table tbody td:first-child{font-size:.9rem;white-space:nowrap;overflow-wrap:normal;word-break:normal}.attendance-profile-table input[type=number]{min-width:0;width:100%;padding-left:.25rem;padding-right:.25rem}.enrolment-profile-table{min-width:0;table-layout:fixed}.enrolment-profile-table td:first-child,.enrolment-profile-table th:first-child{width:34%;min-width:0;padding-left:.4rem;padding-right:.25rem;white-space:nowrap}.enrolment-profile-table td:not(:first-child),.enrolment-profile-table th:not(:first-child){width:33%;min-width:0;padding-left:.25rem;padding-right:.25rem}.enrolment-profile-table thead th{white-space:nowrap;font-size:.68rem;padding:.55rem .25rem}.enrolment-profile-table tbody td{padding:.55rem .25rem;font-size:.88rem}.enrolment-profile-table input[type=number]{min-width:0;width:100%;padding:.4rem .2rem;font-size:.9rem}}.school-profile-table input[type=number]::-webkit-inner-spin-button,.school-profile-table input[type=number]::-webkit-outer-spin-button{opacity:1}[data-theme=dark] .school-profile-table{background:rgba(10,17,24,.28)}[data-theme=dark] .school-profile-table input[type=number]{background:rgba(11,19,32,.8);border-color:rgba(118,165,175,.45)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.kpi-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top-color:var(--accent-primary);border-radius:var(--radius-lg);padding:var(--space-6);position:relative;overflow:hidden;animation:fadeInUp .4s ease-out both;box-shadow:var(--shadow-md);transition:all var(--transition-fast)}.bento-grid>.glass-card,.kpi-card{align-items:center;justify-content:center;text-align:center}.bento-grid>.glass-card{display:flex;flex-direction:column}.kpi-card:hover{box-shadow:var(--shadow-lg);border-color:var(--glass-border-hover)}.kpi-icon{font-size:1.5rem;margin-bottom:var(--space-3)}.kpi-value{font-size:var(--font-2xl);font-weight:800;color:var(--text-primary);line-height:1.2}.kpi-label{font-size:var(--font-sm);color:var(--text-muted);margin-top:var(--space-1)}.siso-str-levels{display:grid;gap:.15rem;width:100%;color:var(--text-secondary);line-height:1.25;text-align:center}.kpi-trend,.siso-str-levels{margin-top:var(--space-2);font-size:var(--font-xs)}.kpi-trend{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:600;padding:2px var(--space-2);border-radius:var(--radius-sm)}.kpi-trend-up{background:rgba(13,150,104,.1);color:var(--status-success)}.kpi-trend-down{background:rgba(220,38,38,.1);color:var(--status-danger)}.obs-category{margin-bottom:var(--space-6)}.obs-category-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--accent-primary-dim);border-radius:var(--radius-md);margin-bottom:var(--space-4);border-left:1px solid var(--accent-primary)}.obs-category-label{font-size:var(--font-sm);font-weight:700;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.06em}.obs-category-count{font-size:var(--font-xs);color:var(--text-muted)}.obs-item{display:grid;grid-template-columns:48px 1fr auto;gap:var(--space-4);align-items:start;padding:var(--space-4);border-bottom:1px solid var(--glass-border);transition:background var(--transition-fast)}.obs-item:hover{background:var(--accent-primary-dim)}.obs-item-number{font-size:var(--font-sm);font-weight:700;color:var(--text-muted);text-align:center;padding-top:var(--space-2)}.obs-item-text{font-size:var(--font-md);color:var(--text-secondary);line-height:1.5;padding-top:var(--space-1)}.obs-item-comment{margin-top:var(--space-2)}.obs-item-comment textarea{width:100%;padding:var(--space-2) var(--space-3);background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-family);font-size:var(--font-sm);resize:vertical;min-height:40px;transition:all var(--transition-fast)}.obs-item-comment textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-dim);background:var(--glass-bg-hover)}.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999}body.sidebar-open .sidebar-backdrop{display:block}@media (min-width:769px) and (orientation:portrait),(min-width:961px){.sidebar-backdrop{display:none!important}}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);box-shadow:var(--sidebar-shadow);display:flex;flex-direction:column;z-index:1000;overflow:hidden}.sidebar-brand{padding:.9rem 1rem;border-bottom:1px solid var(--sidebar-border)}.sidebar-brand h1{font-size:1.6rem;line-height:1.1;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);display:flex;align-items:baseline;gap:.08em}.sidebar-brand a{color:inherit;text-decoration:none}.sidebar-brand .brand-edu{color:var(--accent-primary)}.sidebar-brand .brand-lenssync{color:#000000}[data-theme=dark] .sidebar-brand .brand-lenssync{color:var(--text-primary)}.sidebar-brand p{font-size:var(--font-xs);color:var(--text-muted);margin-top:var(--space-1)}.sidebar-nav{flex:1 1;min-height:0;padding:var(--space-4);overflow-y:auto;overflow-x:hidden}.sidebar-section{margin:0 0 .9rem;padding:.35rem .5rem .5rem;border:1.5px solid var(--sidebar-section-border);border-radius:.9rem;background:var(--sidebar-section-bg);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.sidebar-section-label{display:flex;align-items:center;width:100%;min-height:44px;gap:var(--space-2);font-family:inherit;font-size:.7rem;font-weight:800;color:var(--text-primary);text-transform:uppercase;letter-spacing:.12em;padding:.7rem .85rem;margin:0;border:1.5px solid var(--sidebar-section-label-border);border-radius:var(--radius-md);background:var(--sidebar-section-label-bg);text-align:left;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.sidebar-section:first-child .sidebar-section-label{margin-top:0}.sidebar-section-items{padding-top:.4rem}.sidebar-section-label:hover{background:var(--sidebar-section-label-hover-bg);border-color:var(--accent-primary);color:var(--text-primary)}.sidebar-section-label[aria-expanded=true]{background:var(--sidebar-section-label-hover-bg);border-color:rgba(255,153,81,.8);box-shadow:0 0 0 1px rgba(255,153,81,.2)}.sidebar-section-label:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.sidebar-section-label:before{content:"";width:3px;height:.85rem;border-radius:var(--radius-full);background:var(--accent-primary);flex-shrink:0}.sidebar-section-label-text{flex:1 1;min-width:0}.sidebar-section-chevron{flex-shrink:0;transition:transform var(--transition-fast)}.sidebar-section-label[aria-expanded=true] .sidebar-section-chevron{transform:rotate(180deg)}.sidebar-section-items[hidden]{display:none}.sidebar-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-sm);font-weight:500;transition:all var(--transition-fast);text-decoration:none;border:1px solid transparent}.sidebar-link:hover{background:var(--glass-bg-hover);color:var(--text-primary)}.sidebar-link.active{background:var(--accent-primary-dim);color:var(--accent-primary);font-weight:700;border:1px solid var(--accent-primary-dim);box-shadow:0 0 12px var(--accent-primary-glow)}.sidebar-link .link-icon{font-size:1.1rem;width:24px;text-align:center}.sidebar-link-label{min-width:0}.detailed-data-heading{white-space:normal;overflow-wrap:normal;word-break:normal}.page-title.detailed-data-heading,.sidebar-link.detailed-data-heading .sidebar-link-label{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}.sidebar-footer{border-top:1px solid var(--sidebar-border);background:rgba(15,23,42,.02);flex-shrink:0}.sidebar-user{padding:.75rem .9rem;display:flex;align-items:center;gap:.6rem}.sidebar-user-avatar{width:30px;height:30px;border-radius:var(--radius-full);background:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:white;flex-shrink:0}.sidebar-user-info{flex:1 1;min-width:0}.sidebar-user-name{font-size:.8rem;font-weight:600;color:var(--text-primary);margin-bottom:1px}.sidebar-user-name,.sidebar-user-role{word-wrap:normal;overflow-wrap:normal;line-height:1.2}.sidebar-user-role{font-size:.68rem;color:var(--text-muted)}.header{position:fixed;top:0;left:var(--sidebar-width);width:calc(100vw - var(--sidebar-width));max-width:calc(100vw - var(--sidebar-width));height:var(--header-height);background:var(--header-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--header-border);box-shadow:var(--header-shadow);justify-content:space-between;padding:0 var(--space-8);z-index:90}.header,.header-left{display:flex;align-items:center}.header-left{gap:var(--space-3);min-width:0;flex:1 1 auto;overflow:hidden}.hamburger-btn{display:none;background:none;border:none;color:var(--text-primary);font-size:1.5rem;cursor:pointer;padding:0 var(--space-2);flex-shrink:0}.header-breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:.9rem;font-weight:700;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-breadcrumb span,.header-breadcrumb>span:not(.header-school-name):not(.header-separator){color:var(--text-primary);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-school-name{color:#5f6973;font-weight:500}.header-separator{color:var(--text-muted);font-weight:700}.header-right{display:flex;align-items:center;gap:var(--space-3)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes countUp{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-fade-in-up{animation:fadeInUp .4s ease-out}.animate-slide-in{animation:slideInLeft .3s ease-out}.kpi-card:first-child{animation-delay:0s}.kpi-card:nth-child(2){animation-delay:80ms}.kpi-card:nth-child(3){animation-delay:.16s}.kpi-card:nth-child(4){animation-delay:.24s}.kpi-card:nth-child(5){animation-delay:.32s}.kpi-card:nth-child(6){animation-delay:.4s}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-8);background:linear-gradient(145deg,var(--bg-deepest) 0,var(--bg-base) 50%,var(--bg-deep) 100%);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 40%,var(--accent-primary-glow) 0,transparent 50%),radial-gradient(circle at 70% 60%,var(--accent-secondary-dim) 0,transparent 50%);animation:loginBgShift 20s ease-in-out infinite alternate}@keyframes loginBgShift{0%{transform:translate(0) rotate(0deg)}to{transform:translate(-5%,-5%) rotate(3deg)}}.login-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:var(--shadow-lg);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-12);width:100%;max-width:440px;position:relative;z-index:1;animation:fadeInUp .6s ease-out}.back-button{position:absolute;top:var(--space-6);left:var(--space-6);color:var(--text-secondary);background:var(--accent-primary-dim);border:1px solid var(--glass-border);border-radius:var(--radius-full);width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.back-button:hover{background:var(--accent-primary-glow);color:var(--accent-primary);transform:translateX(-2px)}.login-brand{text-align:center;margin-bottom:var(--space-10)}.login-brand h1{font-size:var(--font-3xl);font-weight:800;letter-spacing:-.03em;color:var(--text-primary)}.login-brand h1 span{color:var(--accent-primary)}.login-brand p{color:var(--text-secondary);font-size:var(--font-sm);margin-top:var(--space-2)}.login-form .form-group{margin-bottom:var(--space-5)}.remember-me{display:flex;align-items:center;margin-bottom:var(--space-4)}.remember-me-label{display:inline-flex;align-items:center;gap:.5rem;width:fit-content;margin:0;color:var(--text-secondary);font-size:var(--font-sm);line-height:1.25;cursor:pointer;-webkit-user-select:none;user-select:none;text-transform:none;letter-spacing:normal}.remember-me-label input[type=checkbox]{width:1rem;height:1rem;flex:0 0 auto;margin:0;cursor:pointer}.login-form .btn-primary{width:100%;padding:var(--space-4);font-size:var(--font-md);margin-top:var(--space-4)}.login-demo-accounts{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--glass-border)}.demo-account-list{display:grid;gap:var(--space-2)}.demo-account-btn{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--accent-primary-dim);border:1px solid var(--glass-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family);color:var(--text-secondary);font-size:var(--font-sm);width:100%;text-align:left}.demo-account-btn:hover{background:var(--accent-primary-glow);border-color:var(--accent-primary-dim);color:var(--accent-primary)}.demo-account-role{font-weight:600;flex:1 1}.demo-account-scope{font-size:var(--font-xs);color:var(--text-muted)}.empty-state{text-align:center;padding:var(--space-16) var(--space-8)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}.empty-state-text{color:var(--text-muted);font-size:var(--font-base)}.deleted-accounts-page{max-width:1440px}.deleted-accounts-header{margin-bottom:var(--space-6)}.deleted-accounts-recovery-note{display:flex;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-5);color:var(--text-primary);background:color-mix(in srgb,var(--accent-primary) 8%,var(--surface-primary));border:1px solid color-mix(in srgb,var(--accent-primary) 25%,var(--glass-border));border-radius:var(--radius-lg)}.deleted-accounts-recovery-icon{display:grid;flex:0 0 2.25rem;width:2.25rem;height:2.25rem;place-items:center;color:var(--accent-primary);font-size:1.5rem;font-weight:700;background:var(--surface-primary);border-radius:50%}.deleted-accounts-card-header h2,.deleted-accounts-empty h3,.deleted-accounts-recovery-note h2{margin:0 0 var(--space-2)}.deleted-accounts-recovery-note p{max-width:70ch;margin:0 0 var(--space-4);color:var(--text-muted)}.deleted-accounts-card{padding:0}.deleted-accounts-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-6);border-bottom:1px solid var(--glass-border)}.deleted-accounts-card-header .text-muted{margin:0}.deleted-accounts-count{flex:0 0 auto;padding:var(--space-2) var(--space-3);color:var(--text-muted);font-size:var(--font-sm);font-weight:600;background:var(--surface-secondary);border-radius:var(--radius-full)}.deleted-accounts-card .table-responsive{padding:0 var(--space-4) var(--space-4);overflow-x:auto}.deleted-accounts-table{width:100%!important;table-layout:auto;border-collapse:collapse}.deleted-accounts-table td,.deleted-accounts-table th{padding:.65rem .75rem;vertical-align:middle}.deleted-accounts-table .col-account{width:22%;min-width:120px;max-width:175px}.deleted-account-name,.deleted-accounts-table .col-account{white-space:normal!important;word-break:break-word!important;overflow-wrap:break-word!important}.deleted-account-name{line-height:1.25}.deleted-account-username{font-size:.78rem;word-break:break-all!important;overflow-wrap:break-word!important;line-height:1.2}.deleted-accounts-table .col-role{width:10%;min-width:75px;white-space:nowrap}.deleted-accounts-table .col-deleted{width:16%;min-width:100px;max-width:125px;white-space:normal!important}.deleted-account-date-cell{display:flex;flex-direction:column;line-height:1.25}.deleted-date-part{font-size:.82rem;font-weight:500;white-space:nowrap}.deleted-time-part{font-size:.74rem;color:var(--text-muted);white-space:nowrap}.deleted-accounts-table .col-data-status{width:13%;min-width:95px;max-width:110px;white-space:normal!important;text-align:center}.deleted-status-badge{white-space:normal!important;word-break:break-word!important;line-height:1.2!important;display:inline-block!important;text-align:center!important;padding:4px 6px!important;font-size:.74rem!important}.deleted-accounts-table .col-restored{width:13%;min-width:85px;max-width:105px;white-space:normal!important;font-size:.82rem}.deleted-accounts-table .col-actions{width:26%;min-width:180px;text-align:right}.deleted-accounts-actions-group{display:flex;justify-content:flex-end;gap:.35rem;flex-wrap:wrap}.deleted-accounts-actions-group .btn{font-size:.75rem!important;padding:.25rem .5rem!important;white-space:nowrap}.deleted-accounts-empty{padding:var(--space-12) var(--space-6)}@media (max-width:600px){.deleted-accounts-card-header,.deleted-accounts-recovery-note{flex-direction:column}.deleted-accounts-card .table-responsive{padding-inline:var(--space-2)}}.app-footer{margin-top:auto;position:relative;min-height:35px;display:flex;align-items:center;text-align:center;font-size:var(--font-xs);color:var(--text-muted);background:var(--footer-bg);border-top:1px solid var(--footer-border);z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.5rem 1rem}.app-footer,.public-layout-footer{width:100%;justify-content:center}.app-footer nav{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-left:var(--space-4)}.app-footer a{color:var(--text-secondary);text-decoration:none;font-weight:600}.app-footer a:focus-visible,.app-footer a:hover{color:var(--accent-primary);text-decoration:underline;text-underline-offset:2px}.app-footer span{color:var(--accent-primary);font-weight:600;text-align:center;padding:0 var(--space-4)}.footer-link-button{appearance:none;border:0;padding:0;background:transparent;color:var(--text-secondary);font:inherit;font-weight:600;cursor:pointer}.footer-link-button:focus-visible,.footer-link-button:hover{color:var(--accent-primary);text-decoration:underline;text-underline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent-secondary);outline-offset:2px}.legal-page{min-height:100vh;padding:clamp(1.5rem,4vw,4rem) clamp(1rem,5vw,5rem);color:var(--text-primary);background:var(--bg-base)}.legal-document,.legal-page-header{width:min(100%,860px);margin-inline:auto}.legal-page-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:clamp(2rem,6vw,5rem)}.legal-back-link{color:var(--text-primary);font-weight:800;text-decoration:none}.legal-nav{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.legal-nav a{color:var(--text-secondary)}.legal-document{padding-bottom:4rem}.legal-eyebrow{color:var(--accent-primary);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.legal-document h1{margin:0;font-size:clamp(2rem,5vw,3.5rem)}.legal-effective{color:var(--text-muted)}.legal-intro{max-width:70ch;font-size:1.15rem;line-height:1.7;margin:2rem 0 3rem}.legal-document section{max-width:72ch;margin-top:2rem}.legal-document h2{font-size:1.2rem;margin-bottom:.5rem}.legal-document p{line-height:1.7}.legal-contact{margin-top:3rem;font-weight:600}.signup-consent-row{display:flex;align-items:flex-start;gap:.65rem;margin:0 0 1.5rem;line-height:1.5;color:var(--text-primary)}.signup-consent-row input{flex:0 0 auto;width:1.1rem;height:1.1rem;margin-top:.2rem;accent-color:var(--accent-primary)}.signup-consent-row a{color:var(--accent-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px}.signup-card{max-width:560px;border-radius:1.35rem;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--shadow-lg)}.signup-card .form-input,.signup-card .form-label,.signup-card .form-select,.signup-card .login-brand,.signup-card .login-brand h1,.signup-card .login-brand p,.signup-card .mt-6,.signup-card .signup-consent-row,.signup-card .signup-consent-row a,.signup-card .text-primary,.signup-card .text-secondary{color:var(--text-primary)}.signup-card .signup-consent-row a{color:var(--accent-primary)}.signup-card .login-brand{margin-bottom:1.5rem}.signup-card .login-brand h1{font-size:clamp(2rem,5vw,2.7rem);line-height:1.1}.signup-card .login-brand p{font-size:.9rem;letter-spacing:.01em}.signup-card .form-label{font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.signup-levels-block{text-align:center}.signup-levels-label{display:block;text-align:center;margin-bottom:.8rem}.signup-level-list{display:flex;flex-direction:row;gap:.6rem}.signup-level-list,.signup-level-option{justify-content:center;align-items:center}.signup-level-option{display:inline-flex;gap:.65rem;min-width:120px;font-size:1.05rem;font-weight:500;cursor:pointer}.signup-level-option,.signup-level-option.selected{color:var(--text-primary)}.signup-level-checkbox{width:22px;height:22px;accent-color:var(--accent-primary);flex:0 0 auto;border-radius:.35rem}.signup-form-alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.1rem;margin:0 0 1.1rem;border-radius:.9rem;background:linear-gradient(135deg,rgba(250,123,87,.24),rgba(239,68,68,.18));border:1px solid rgba(247,129,88,.4);color:var(--text-primary);font-weight:700;line-height:1.35}.signup-form-alert__icon{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;border-radius:999px;background:rgba(255,255,255,.08);color:var(--status-danger);font-size:.9rem;margin-top:.1rem}.signup-submit-btn{width:100%;justify-content:center;margin-top:.5rem;background:linear-gradient(180deg,#ee8c3c,#e66c2e);color:var(--button-primary-text);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 24px rgba(230,108,46,.28)}.signup-submit-btn:hover{background:linear-gradient(180deg,#f59a52,#ea7d3b)}@media (max-width:640px){.legal-page-header{align-items:flex-start;flex-direction:column}.app-footer{height:auto;padding-block:.5rem}.app-footer nav{flex-wrap:wrap;justify-content:center}.signup-card{padding:1.5rem 1rem 1.1rem}.signup-level-list{flex-direction:column}}.chart-container{display:flex;align-items:flex-end;height:200px;gap:var(--space-4);padding:var(--space-4) 0;margin-top:var(--space-4);border-bottom:1px solid var(--glass-border)}.chart-bar-wrapper{flex:1 1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:var(--space-2);height:100%}.chart-bar{width:100%;max-width:48px;background:var(--accent-secondary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:all var(--transition-base);position:relative}.chart-bar:hover{filter:brightness(1.2);box-shadow:var(--shadow-glow)}.chart-bar-value{font-weight:700;color:var(--text-primary);position:absolute;top:-24px}.chart-bar-value,.chart-label{font-size:var(--font-xs);width:100%;text-align:center}.chart-label{color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-horizontal{gap:var(--space-4);margin-top:var(--space-4)}.chart-horizontal,.chart-row{display:flex;flex-direction:column}.chart-row{gap:var(--space-1)}.chart-row-header{display:flex;justify-content:space-between;font-size:var(--font-sm)}.chart-row-label{color:var(--text-secondary)}.chart-row-value{font-weight:700;color:var(--text-primary)}.chart-track{height:12px;background:var(--accent-primary-dim);overflow:hidden}.chart-fill,.chart-track{border-radius:var(--radius-full)}.chart-fill{height:100%;background:var(--accent-secondary)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-sm{font-size:var(--font-sm)}.text-xs{font-size:var(--font-xs)}.fw-600{font-weight:600}.fw-700{font-weight:700}.mt-4{margin-top:var(--space-4)}.mt-8{margin-top:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.flex{display:flex;flex-wrap:wrap}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.flex>*{min-width:0}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;flex-wrap:wrap}.section-header-row>:first-child{flex:1 1 220px;min-width:0}.section-header-row>:last-child{flex-shrink:0;margin-left:auto}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.bento-grid,.grid-2{display:grid;gap:var(--space-4)}.bento-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(130px,auto);grid-auto-flow:dense;margin-bottom:var(--space-8)}.bento-tall{grid-column:span 1;grid-row:span 2}.bento-wide{grid-column:span 2;grid-row:span 1}.bento-large{grid-column:span 2;grid-row:span 2}.summary-cards-placement{grid-column:2/5;grid-row:2/span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.summary-cards-placement>.glass-card{height:100%}.compact-dashboard-stat-card{grid-row:2}.action-items-stat-card,.compact-dashboard-stat-card{grid-column:1;align-self:start;height:130px;overflow:hidden}.action-items-stat-card{grid-row:3}@media (max-width:1024px){.bento-grid{grid-template-columns:repeat(3,1fr)}.action-items-stat-card,.compact-dashboard-stat-card,.summary-cards-placement{grid-column:auto;grid-row:auto;height:auto;overflow:visible}}@media (max-width:768px){.bento-grid{grid-template-columns:repeat(2,1fr)}.bento-large{grid-column:span 2;grid-row:span 1}}@media (max-width:500px){.bento-grid{grid-template-columns:1fr;grid-auto-rows:auto}.bento-large,.bento-tall,.bento-wide{grid-column:span 1;grid-row:span 1}}@media (max-height:520px) and (orientation:landscape),(max-width:768px),(max-width:960px) and (orientation:landscape){:root{--sidebar-width:0px;--header-height:56px}.sidebar{transform:translateX(-100%);width:280px;height:100dvh;min-height:100dvh;transition:transform var(--transition-base);box-shadow:var(--shadow-lg)}body.sidebar-open{overflow:hidden}body.sidebar-open .sidebar{transform:translateX(0)}body.sidebar-open .sidebar-backdrop{display:block!important}.sidebar-footer{display:block;position:relative;z-index:1;padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.hamburger-btn{display:flex;font-size:1.25rem;padding:0 var(--space-2);min-width:44px;min-height:44px;align-items:center;justify-content:center}.header{left:0;width:100%;max-width:100%;padding:0 var(--space-4)}.page-container{padding:var(--space-4)}.main-content{margin-left:0;width:100%;max-width:100%;padding-top:128px}.glass-card>.flex{flex-direction:column;align-items:stretch;gap:var(--space-4)}.glass-card>.flex>div{width:100%!important}.analytics-dashboard-grid{grid-template-columns:1fr!important;gap:var(--space-4)!important;max-width:100%!important}.analytics-filter-fields{grid-template-columns:1fr}.analytics-wide-card{grid-column:auto!important}.analytics-chart-wrapper svg{min-width:0!important}.obs-item{grid-template-columns:1fr;gap:.35rem;padding:.75rem 0}.obs-item-number{padding-top:0}.obs-item-text{line-height:1.35;padding-top:0}.obs-item .rating-selector{grid-column:1/-1;margin-top:.25rem;gap:.35rem}.obs-item .rating-btn{width:40px;height:40px}.data-table{display:block;overflow-x:auto;white-space:nowrap}.d-none-mobile{display:none!important}.app-footer{width:100%;height:auto;min-height:35px;padding:.35rem var(--space-3);flex-wrap:wrap;gap:var(--space-2)}.app-footer nav{margin-left:0}.login-card{padding:var(--space-6)}.glass-card{padding:var(--space-4)}.btn{width:100%}.btn-sm,.header .btn,.theme-toggle{width:auto}.form-label{font-size:.75rem}}@media (max-width:600px){:root{--font-md:0.9375rem;--font-lg:1.0625rem;--font-xl:1.25rem;--space-6:1rem}*{-webkit-tap-highlight-color:rgba(0,0,0,.1)}body,html{overflow-x:hidden}.header-breadcrumb,.page-container,.page-subtitle,.page-title,.section-title{overflow-wrap:anywhere}.page-container{padding:var(--space-4) var(--space-3)}.page-title{font-size:var(--font-xl);line-height:1.3;-webkit-hyphens:auto;hyphens:auto;margin-bottom:0}.page-profile-header{display:flex;align-items:center;gap:.5rem;margin:0 0 .25rem}.page-profile-header>*,.page-profile-header>div{min-width:0;width:auto}.page-profile-header .text-sm,.page-profile-header [class*=text-sm]{font-size:.75rem;padding:.35rem .6rem;line-height:1.2}.page-subtitle{font-size:var(--font-sm);line-height:1.4;margin-bottom:var(--space-4)}.form-section-card,.glass-card,.glass-card-static{padding:var(--space-4) var(--space-3);margin-bottom:var(--space-4);border-radius:var(--radius-md);overflow:visible;min-height:auto!important}.form-group{margin-bottom:var(--space-4)}.form-input,.form-select,textarea{padding:.75rem;font-size:16px;line-height:1.5;min-height:44px}.btn{min-height:44px;padding:.75rem;font-size:var(--font-base)}.btn-sm{min-height:36px;padding:.5rem}.audit-log-details-grid,.bento-grid [style*="display: grid"],.bento-grid [style*="display:grid"],.errors-main-grid,.form-row,.form-section-card [style*="display: grid"],.form-section-card [style*="display:grid"],.glass-card [style*="display: grid"],.glass-card [style*="display:grid"],.glass-card-static [style*="display: grid"],.glass-card-static [style*="display:grid"],.grid-dynamic,.kpi-grid [style*="display: grid"],.kpi-grid [style*="display:grid"],.teaching-staff-3col{grid-template-columns:1fr!important;gap:var(--space-3)}.bento-grid .gender-breakdown-grid,.glass-card .gender-breakdown-grid,.glass-card-static .gender-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.flex{flex-direction:column;align-items:stretch;flex-wrap:wrap}.flex>*{width:100%;min-width:0}.bento-grid [style*="display: flex"],.bento-grid [style*="display:flex"],.form-section-card [style*="display: flex"],.form-section-card [style*="display:flex"],.glass-card [style*="display: flex"],.glass-card [style*="display:flex"],.glass-card-static [style*="display: flex"],.glass-card-static [style*="display:flex"],.kpi-grid [style*="display: flex"],.kpi-grid [style*="display:flex"]{flex-direction:column!important;align-items:stretch!important;width:100%!important}[style*="flex-wrap: nowrap"],[style*="flex-wrap:nowrap"]{flex-wrap:wrap!important}[style*="flex: 1 1"],[style*="flex:1 1"]{flex:0 1 auto!important;min-width:0!important}[style*="align-items: flex-end"],[style*="align-items:flex-end"]{gap:var(--space-3)!important}.filterGroup,.tableHeader{gap:var(--space-2);padding:var(--space-2)}.flex-row-mobile{flex-direction:row!important;align-items:center!important}.flex-row-mobile,.flex-row-mobile>*{width:auto!important}.data-table:not(.academic-qualification-table):not(.teacher-record-wide-table):not(.admin-users-table):not(.headteacher-users-table):not(.learners-table):not(.students-table):not(.wide-profile-table):not(.portal-table):not(.staff-details-table):not(.assessment-grid-table):not(.school-profile-data-table):not(.siso-school-details-table):not(.enrolment-data-table):not(.circuit-attendance-table):not(.attendance-report-table):not(.table-scrollable),.table-wrapper:not(.teacher-record-table-wrapper){width:100%}.table-wrapper{overflow-x:auto;margin-bottom:var(--space-2)}.data-table:not(.academic-qualification-table):not(.teacher-record-wide-table):not(.admin-users-table):not(.headteacher-users-table):not(.learners-table):not(.students-table):not(.wide-profile-table):not(.portal-table):not(.staff-details-table):not(.assessment-grid-table):not(.school-profile-data-table):not(.siso-school-details-table):not(.enrolment-data-table):not(.circuit-attendance-table):not(.attendance-report-table):not(.table-scrollable){font-size:.75rem;min-width:0;border-collapse:collapse;table-layout:fixed}.data-table td,.data-table th{padding:.5rem .25rem;text-align:center}.data-table th{font-weight:600;font-size:.7rem;background:var(--bg-elevated)}.section-title{font-size:var(--font-lg);margin-bottom:var(--space-4);white-space:normal;line-height:1.3;min-width:0}.header{padding:.5rem var(--space-3);gap:var(--space-2);min-height:56px;height:auto;flex-wrap:nowrap}.header-left{min-width:0;flex:1 1 auto;gap:var(--space-2);overflow:hidden}.header-breadcrumb{font-size:.82rem;gap:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;max-width:100%}.header-greeting-prefix,.header-school-name,.header-separator{display:none!important}.header-right{gap:.35rem;flex-shrink:0;min-width:0;display:flex;align-items:center;justify-content:flex-end}.cmd-search-kbd,.cmd-search-text,.status-badge-text{display:none!important}.cmd-palette-search-trigger{padding:6px 8px;min-width:34px;justify-content:center}.header-period-capsule{min-width:7rem;max-width:7.5rem;width:7.2rem}.status-badge{gap:.25rem;font-size:.75rem;padding:.25rem .4rem}.header .btn-secondary,.header-signout-btn{padding:.35rem .6rem;font-size:.75rem;min-height:32px}.header-title{font-size:var(--font-base)}.sidebar{width:80vw;max-width:280px}.sidebar-nav-item{padding:.75rem var(--space-3);font-size:var(--font-sm)}.modal{max-width:95vw;margin:auto}.login-card{padding:var(--space-4) var(--space-3);margin:var(--space-4) auto;width:95%;max-width:100%}.table-input{min-height:36px;font-size:14px;width:100%}.siso-dashboard .siso-donut{display:flex!important;flex-direction:row!important;align-items:center!important;width:100%!important;min-width:0;gap:1rem!important}.siso-dashboard .siso-donut-ring{flex:0 0 90px!important;width:90px!important;height:90px!important;min-width:90px!important;max-width:90px!important;aspect-ratio:1}.siso-dashboard .siso-donut-ring>div{width:60px!important;min-width:60px!important;max-width:60px!important;height:60px!important}.siso-dashboard .siso-donut>div:last-child{width:auto!important;min-width:0;flex:1 1 auto}.teaching-staff-section .teaching-staff-grid{width:100%;min-width:0}.teaching-staff-section .inner-section{width:100%;min-width:0;overflow:hidden}.teaching-staff-section .school-profile-table{width:100%;min-width:0;table-layout:fixed}.teaching-staff-section .school-profile-table td:first-child,.teaching-staff-section .school-profile-table th:first-child{width:44%;max-width:44%;overflow-wrap:anywhere;word-break:normal}.teaching-staff-section .school-profile-table td:not(:first-child),.teaching-staff-section .school-profile-table th:not(:first-child){width:28%}.teaching-staff-section .school-profile-table input[type=number]{min-width:0;width:100%;box-sizing:border-box}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px;width:100%;box-sizing:border-box}input[type=checkbox],input[type=radio]{width:auto;flex-shrink:0}.button-group{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.button-group .btn,.page-container>.flex.justify-between .btn,.page-container>.section-header-row .btn,.section-header-row>:last-child{width:100%}.mb-6,.mb-8{margin-bottom:var(--space-4)}.mt-6,.mt-8{margin-top:var(--space-4)}.section-header-row{gap:var(--space-2);align-items:flex-start}.card-section{display:block;width:100%;margin-bottom:var(--space-4)}.card-section,div,label,li,p,span{overflow-wrap:anywhere}.badge,.btn,button{white-space:nowrap}.flex-item{width:100%;margin-bottom:var(--space-3)}.flex-item:last-child{margin-bottom:0}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}@media (max-width:390px){:root{--space-4:0.75rem;--font-md:0.875rem}.page-container{padding:var(--space-3) var(--space-2)}.page-title,.section-title{font-size:var(--font-lg);overflow-wrap:anywhere;line-height:1.2}.btn,.form-input,.form-select{padding:.625rem}.glass-card{padding:var(--space-3)}.header{padding:.4rem var(--space-2);min-height:0;height:auto}.header-breadcrumb{font-size:.8rem;max-width:100%;line-height:1.2;overflow-wrap:anywhere;white-space:normal}.hamburger-btn{min-width:40px;width:40px;font-size:1rem;padding:0 var(--space-1);flex-shrink:0}.status-badge{display:none}.header .btn-secondary{padding:.4rem .8rem;font-size:.7rem;min-height:32px;flex-shrink:0;white-space:nowrap}.grid-dynamic{grid-template-columns:1fr!important}.data-table td,.data-table th{padding:.375rem .125rem;font-size:.65rem}}.mobile-approval-list,.mobile-only,.mobile-user-list{display:none}.admin-user-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:var(--space-3)}.admin-user-cards .mobile-user-card+.mobile-user-card{margin-top:0}.mobile-approval-card,.mobile-user-card{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-3)}.mobile-approval-card+.mobile-approval-card,.mobile-user-card+.mobile-user-card{margin-top:var(--space-3)}.mobile-approval-card-header,.mobile-user-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.mobile-approval-name,.mobile-user-name{min-width:0;font-weight:700;color:var(--text-primary);overflow-wrap:anywhere}.mobile-approval-meta,.mobile-user-meta{margin-top:var(--space-2);display:grid;gap:var(--space-2)}.mobile-approval-meta-row,.mobile-user-meta-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:var(--space-2);align-items:start;font-size:var(--font-sm)}.mobile-approval-meta-label,.mobile-user-meta-label{color:var(--text-muted);font-weight:600}.mobile-approval-meta-value,.mobile-user-meta-value{min-width:0;overflow-wrap:anywhere;color:var(--text-primary)}.mobile-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-3)}.mobile-card-actions .btn{width:100%;min-width:0}.user-levels-group{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.user-level-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:var(--radius-sm,6px);background:var(--bg-surface-elevated,rgba(255,255,255,.05));border:1px solid var(--glass-border,rgba(255,255,255,.12));font-size:.8rem;font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all .15s ease-in-out;min-height:28px;box-sizing:border-box}.user-level-chip:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:var(--text-primary)}.user-level-chip.is-selected{background:var(--accent-primary-dim,rgba(92,188,232,.16));border-color:var(--accent-primary,#5cbce8);color:var(--accent-primary,#5cbce8);font-weight:600}.user-level-checkbox,.user-level-chip input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;width:15px!important;height:15px!important;min-width:15px!important;max-width:15px!important;margin:0!important;padding:0!important;flex:0 0 15px!important;accent-color:var(--accent-primary,#e67e22);cursor:pointer}.user-level-text{white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all!important;line-height:1}.user-levels-save-btn{margin-top:.45rem;padding:.25rem .65rem;font-size:.75rem;align-self:flex-start;white-space:nowrap}.mobile-user-levels-row{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:var(--space-1,.25rem)!important;width:100%!important;grid-column:1/-1!important;margin-top:.25rem!important}.mobile-user-levels-row .mobile-user-meta-label{font-size:var(--font-sm,.85rem)!important;font-weight:600!important;color:var(--text-muted)!important;margin-bottom:.2rem!important}.mobile-user-levels-value{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:.5rem!important;min-width:0!important;width:100%!important}.mobile-user-levels-value .user-levels-group{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;gap:.5rem!important;width:100%!important}.table-user-levels-container{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.table-user-levels-container,.table-user-levels-container .user-levels-group{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.table-user-levels-container .user-levels-group{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:.25rem!important}.table-user-levels-container .user-level-chip{display:inline-flex!important;align-items:center!important;width:fit-content!important;max-width:100%!important;white-space:nowrap!important;padding:.12rem .35rem!important;font-size:.72rem!important;min-height:20px!important;gap:.25rem!important;box-sizing:border-box!important;border-radius:4px!important}.table-user-levels-container .user-level-checkbox,.table-user-levels-container .user-level-chip input[type=checkbox]{width:12px!important;height:12px!important;min-width:12px!important;max-width:12px!important;flex:0 0 12px!important;margin:0!important}.table-user-levels-container .user-level-text{font-size:.72rem!important;line-height:1.15!important}.table-user-levels-container .user-levels-save-btn{margin-top:.2rem!important;width:fit-content!important;max-width:100%!important;padding:.18rem .4rem!important;font-size:.7rem!important;line-height:1.15!important;box-sizing:border-box!important;white-space:nowrap!important}@media (max-width:600px){.desktop-only{display:none!important}.mobile-approval-list,.mobile-only,.mobile-user-list{display:block}.header{padding-left:.5rem;padding-right:.5rem}.header-left{min-width:0;flex:1 1 auto}.header-breadcrumb{display:block;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;overflow-wrap:normal;line-height:1.2}.header-right{flex:0 0 auto;gap:.35rem;min-width:0}.header-right .btn,.header-right .theme-toggle{flex-shrink:0}.page-container{padding-left:var(--space-3);padding-right:var(--space-3);overflow-x:hidden}.glass-card{width:100%;max-width:100%}.data-table{min-width:0;table-layout:auto}.mobile-approval-meta-row,.mobile-user-meta-row{grid-template-columns:86px minmax(0,1fr)}}@media (max-width:390px){.header-breadcrumb{font-size:.82rem}.hamburger-btn{min-width:40px;width:40px}.mobile-card-actions{grid-template-columns:1fr}.mobile-approval-card,.mobile-user-card{padding:var(--space-3)}:root{--space-4:0.75rem;--font-md:0.875rem}.page-container{padding:var(--space-3) var(--space-2)}.page-title{font-size:var(--font-lg);overflow-wrap:anywhere;line-height:1.2}.btn,.form-input,.form-select{padding:.625rem}.glass-card{padding:var(--space-3)}.section-title{font-size:var(--font-base);overflow-wrap:anywhere;line-height:1.2}.header{padding:.4rem var(--space-2);min-height:0;height:auto}.header-breadcrumb{font-size:.7rem;max-width:100%;line-height:1.2;overflow-wrap:anywhere;white-space:normal}.hamburger-btn{font-size:1rem;padding:0 var(--space-1);flex-shrink:0}.status-badge{display:none}.header .btn-secondary{padding:.4rem .8rem;font-size:.7rem;min-height:32px;flex-shrink:0;white-space:nowrap}.grid-dynamic{grid-template-columns:1fr!important}.data-table td,.data-table th{padding:.375rem .125rem;font-size:.65rem}}@media (min-width:601px) and (max-width:900px){.form-row,.grid-dynamic{grid-template-columns:repeat(2,1fr)!important}.grid-dynamic{gap:var(--space-4)}.page-container{padding:var(--space-5) var(--space-4)}.glass-card{padding:var(--space-5)}.btn,.form-input,.form-select{min-height:42px}.data-table{font-size:.8rem}}@media (max-height:600px) and (orientation:landscape){:root{--header-height:48px}.header{height:48px;min-height:48px;max-height:48px;padding:.25rem var(--space-3);overflow:hidden}.main-content{padding-top:56px!important}.page-container{padding:var(--space-3) var(--space-4)}.glass-card{padding:var(--space-3)}.form-group,.section-title{margin-bottom:var(--space-2)}}@media print{.app-footer,.btn-discard,.btn-save,.hamburger-btn,.header,.sidebar,.theme-toggle{display:none!important}.main-content{margin-left:0;padding-top:0}.page-container{padding:0}body{background:white}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none!important;margin:0!important}input[type=number]{appearance:textfield!important}.data-table td,.data-table th,.table td,.table th,table td,table th{padding:.25rem .5rem!important}@media (min-width:769px){.glass-card .data-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--glass-border);border-radius:var(--radius-md);overflow:hidden;background:rgba(255,255,255,.02)}.glass-card .data-table thead th{background:rgba(255,255,255,.04);color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.glass-card .data-table tbody td,.glass-card .data-table thead th{padding:.75rem .5rem;border-bottom:1px solid var(--glass-border);text-align:center}.glass-card .data-table tbody td{background:rgba(255,255,255,.01);color:var(--text-primary);vertical-align:middle}.glass-card .data-table tbody tr:last-child td{border-bottom:none}.glass-card .data-table td:first-child{text-align:left;font-weight:600;color:var(--text-primary);padding-left:.9rem}.glass-card .data-table input[type=number]{display:block;width:100%;min-width:64px;max-width:100%;min-height:38px;padding:.5rem .55rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.95rem;text-align:center;margin:0 auto}.glass-card .data-table input[type=number]:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-dim)}}body,html{max-width:100%;overflow-x:hidden}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.app-layout,.main-content{max-width:100%;overflow-x:hidden}.form-group,.form-label,.glass-card,.kpi-card,.page-container,.page-subtitle,.page-title,.section-title,.sidebar-link{min-width:0;overflow-wrap:anywhere}.header-breadcrumb{min-width:0;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;overflow-wrap:normal!important;word-break:keep-all!important}.table-wrapper,.tableContent{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain}@media (max-width:600px){.header{left:0;width:100%;max-width:100%;padding-left:.5rem;padding-right:.5rem;gap:.35rem}.header-left{min-width:0;flex:1 1 auto}.header-breadcrumb{min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.header-right{min-width:0;flex:0 1 auto;gap:.35rem}.header-right .btn,.header-right .status-badge,.header-right .theme-toggle{flex-shrink:0}.page-container>.flex.justify-between,.page-container>.section-header-row{flex-direction:column;align-items:stretch;gap:var(--space-3)}.page-container>.page-profile-header{flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;margin:0 0 .25rem}.page-container>.page-profile-header>*{width:auto;min-width:0;flex:0 0 auto}.page-container>.flex.justify-between>*,.page-container>.section-header-row>*{min-width:0}.page-container>.flex.justify-between .btn,.page-container>.section-header-row .btn{width:100%}.audit-logs-page .audit-logs-header{flex-direction:column;align-items:stretch}.audit-logs-page .audit-logs-actions,.audit-logs-page .audit-logs-heading{width:100%;min-width:0;margin-left:0}.audit-logs-page .audit-logs-heading .page-title{max-width:none;overflow-wrap:normal;word-break:normal}.audit-logs-page .audit-logs-actions{justify-content:stretch}.audit-logs-page .audit-logs-actions>*{flex:1 1 100%;width:100%;min-width:0}.audit-log-details-grid,.form-row,.grid-2,.grid-dynamic{grid-template-columns:1fr!important}.form-row>*,.grid-2>*,.grid-dynamic>*{min-width:0}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:var(--space-2)!important}.kpi-card{padding:.85rem .6rem!important;min-height:auto!important}.kpi-card .kpi-icon{font-size:1.5rem!important;margin-bottom:.25rem!important}.kpi-card .kpi-value{font-size:1.35rem!important}.kpi-card .kpi-label{font-size:.72rem!important}.bento-grid{grid-template-columns:1fr!important}.bento-large,.bento-tall,.bento-wide{grid-column:span 1!important;grid-row:span 1!important}.form-input,.form-select,.form-textarea,.table-input{max-width:100%;min-width:0}.btn{max-width:100%;white-space:normal;text-align:center}.section-header-row>:last-child{margin-left:0}.glass-card .table,.glass-card>.table,.glass-card>table.table,.glass-card>table:not(.data-table){display:block;width:max-content!important;max-width:none;min-width:100%!important;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.table-responsive{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}.data-table{display:table!important;width:100%!important;table-layout:auto!important}.data-table,.data-table td,.data-table th,.table td,.table th{white-space:nowrap}.data-table td .form-input,.data-table td .form-select,.data-table td .form-textarea{min-width:90px}.glass-card>.flex,.glass-card>.section-header-row,.glass-card>form.flex{min-width:0}.glass-card>.flex.justify-between,.glass-card>form.flex.justify-between{flex-direction:column;align-items:stretch}.glass-card>.flex.justify-between>*,.glass-card>form.flex.justify-between>*{width:100%;min-width:0}.glass-card .flex.gap-2,.glass-card .flex.gap-3,.glass-card .flex.gap-4{min-width:0}.chart-container,code,pre{overflow-x:auto;max-width:100%}code,pre{overflow-wrap:normal}.app-footer{left:0;right:0;width:100%;max-width:100%;padding:0 .75rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root{--header-height:56px}.page-container{padding-left:.75rem;padding-right:.75rem}.glass-card{padding:var(--space-3);max-width:100%}.page-title{font-size:clamp(1.2rem,6vw,1.5rem)}.page-subtitle{margin-bottom:var(--space-4)}.status-badge{font-size:.65rem;padding:.2rem .45rem}.header .btn-secondary{padding:.45rem .65rem;font-size:.7rem}.actions,.formActions,.pagination{flex-wrap:wrap}.actions>*,.formActions>*{min-width:0;flex:1 1 140px}.data-table,.glass-card>table.table,.glass-card>table:not(.data-table),.table-wrapper,.tableContent{overflow-x:auto}.data-table td[style*=width],.data-table th[style*=width]{max-width:180px}}@media (max-width:390px){.header{padding-left:.35rem;padding-right:.35rem}.header-breadcrumb{font-size:.7rem}.header-right{gap:.2rem}.status-badge{display:none}.header .btn-secondary{padding:.4rem .55rem;font-size:.65rem}.page-container{padding-left:.5rem;padding-right:.5rem}.glass-card{padding:.75rem}.data-table td,.data-table th,.table td,.table th{padding:.35rem .45rem!important;font-size:.7rem}}@media (max-width:600px){.login-container{min-height:100dvh;padding:1rem;align-items:flex-start;overflow-y:auto}.login-card{width:100%;max-width:100%!important;margin:1rem 0;padding:3.5rem 1rem 1.25rem;border-radius:var(--radius-xl)}.login-brand{margin-bottom:var(--space-6)}.login-brand h1{font-size:2rem}.login-brand p{font-size:.75rem}.back-button{top:.75rem;left:.75rem;width:36px;height:36px}.modal,[role=dialog]{max-width:100vw}.modalContent,[role=dialog]>.glass-card{width:calc(100vw - 1.5rem);max-width:calc(100vw - 1.5rem);max-height:calc(100dvh - 1.5rem);overflow-y:auto}}.table-responsive{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain}.table-context-column-1,.table-context-column-2{position:sticky!important;background-color:var(--table-surface,var(--bg-surface))!important;background-clip:padding-box}.table-context-column-1{left:0!important;z-index:2}.table-context-column-2{left:var(--table-context-first-column-width,0)!important;z-index:2;box-shadow:2px 0 4px rgba(0,0,0,.08)}thead .table-context-column-1,thead .table-context-column-2{z-index:5;background-color:var(--glass-bg-hover)!important}@media (max-width:768px){.table-context-column-1,.table-context-column-2{position:static!important;left:auto!important;right:auto!important;box-shadow:none!important;max-width:none!important}}.table-responsive>table,.table-wrapper>table,.tableContent>table{width:max-content;min-width:100%;max-width:none;table-layout:auto}.table-responsive>table td,.table-responsive>table th,.table-wrapper>table td,.table-wrapper>table th,.tableContent>table td,.tableContent>table th{max-width:100%;overflow-wrap:normal;word-break:normal}.admin-users-table,.table-responsive>table.admin-users-table,.table-wrapper>table.admin-users-table,.tableContent>table.admin-users-table,table.admin-users-table{width:100%!important;max-width:100%!important;min-width:880px!important;table-layout:fixed!important}.admin-users-table td,.admin-users-table th{padding:.45rem .35rem!important;vertical-align:top;box-sizing:border-box!important;overflow:hidden}.admin-users-table th{white-space:normal!important;line-height:1.2!important;word-break:break-word!important;overflow-wrap:break-word!important;vertical-align:middle!important}.admin-users-table td *{box-sizing:border-box!important}.admin-users-table td:first-child,.admin-users-table th:first-child{width:34px!important;text-align:center}.admin-users-table td:nth-child(2),.admin-users-table th:nth-child(2){width:120px!important;font-size:.84rem;line-height:1.25}.admin-users-table td:nth-child(3),.admin-users-table th:nth-child(3){width:90px!important;font-size:.8rem;line-height:1.25;word-break:break-all}.admin-users-table td:nth-child(4),.admin-users-table th:nth-child(4){width:100px!important;text-align:center}.admin-users-table td:nth-child(5),.admin-users-table th:nth-child(5){width:130px!important;font-size:.82rem;line-height:1.25}.admin-users-table td:nth-child(6),.admin-users-table th:nth-child(6){width:95px!important}.admin-users-table td:nth-child(7),.admin-users-table th:nth-child(7){width:90px!important;font-size:.82rem;line-height:1.25}.admin-users-table td.email-cell,.admin-users-table td:nth-child(8),.admin-users-table th:nth-child(8){width:120px!important;min-width:105px!important;max-width:130px!important;font-size:.76rem!important;line-height:1.25!important;overflow-wrap:anywhere!important;word-break:break-word!important}.admin-users-table td:nth-child(9),.admin-users-table th:nth-child(9){width:72px!important;text-align:center}.admin-users-table td:nth-child(10),.admin-users-table th:nth-child(10){width:68px!important}.admin-users-table td:nth-child(2),.admin-users-table td:nth-child(3),.admin-users-table td:nth-child(4),.admin-users-table td:nth-child(4) .status-badge,.admin-users-table td:nth-child(5),.admin-users-table td:nth-child(6),.admin-users-table td:nth-child(7){white-space:normal!important;overflow-wrap:break-word!important;word-break:break-word!important}.admin-users-table td:nth-child(4) .status-badge{font-size:.72rem!important;padding:.2rem .4rem!important;line-height:1.2!important;text-align:center;display:inline-block;max-width:100%!important}.admin-users-table td:nth-child(5){white-space:normal!important;overflow-wrap:break-word!important;word-break:break-word!important;-webkit-hyphens:auto;hyphens:auto}.admin-users-table td:nth-child(7){white-space:nowrap!important}.admin-users-table td:nth-child(8){white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}.admin-users-table td.email-cell *,.admin-users-table td.email-cell>a,.admin-users-table td.email-cell>span{display:inline-block!important;max-width:100%!important;font-size:.76rem!important;line-height:1.25!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important}.admin-users-table td:nth-child(9){white-space:nowrap!important;overflow-wrap:normal!important}.admin-users-table td:nth-child(9) .status-badge{font-size:.72rem!important;padding:.2rem .35rem!important;max-width:100%!important}.admin-users-table td:nth-child(10){white-space:nowrap!important;overflow-wrap:normal!important}.admin-users-table .row-actions,.admin-users-table td:nth-child(10)>div{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:.35rem!important;width:100%!important;max-width:100%!important;min-width:60px;opacity:1!important}.admin-users-table .row-actions .btn,.admin-users-table td:nth-child(10) .btn{width:100%!important;text-align:center!important;white-space:nowrap!important;padding:.25rem .35rem!important;font-size:.72rem!important;margin:0!important}.hierarchy-table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain}.hierarchy-table{width:100%;min-width:0;max-width:100%}.portal-table,.school-profile-table{max-width:none}.school-details-controls{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:var(--space-4);align-items:end}.school-details-control{min-width:0}.school-details-label{margin-bottom:.5rem;font-size:.7rem;line-height:1.3}.monitoring-status{display:inline-flex;align-items:center;gap:.375rem;font-size:var(--font-xs);font-weight:600}.monitoring-status>span{width:.375rem;height:.375rem;border-radius:9999px}.monitoring-status-muted{color:var(--text-muted)}.monitoring-status-warning{color:#d97706}.monitoring-status-warning>span{background:#f59e0b}.monitoring-status-success{color:#059669}.monitoring-status-success>span{background:#10b981}.monitoring-scale-note{color:var(--status-danger);font-weight:700;font-size:.95rem;background:var(--rating-1-bg);padding:.4rem .8rem;border-radius:4px}.monitoring-save-row{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4);width:100%;flex-wrap:wrap;gap:1rem}.monitoring-save-actions{display:flex;gap:.5rem}.monitoring-discard-button,.monitoring-save-button{padding:.5rem 1.25rem;font-size:var(--font-sm);font-weight:600;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);color:var(--text-secondary);cursor:pointer;white-space:nowrap}.monitoring-discard-button:disabled,.monitoring-save-button:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.55}.monitoring-discard-button{background:transparent}.monitoring-discard-button.is-danger{border-color:var(--status-danger);color:var(--status-danger)}.school-details-table-wrap{padding-bottom:.5rem}.siso-school-details-table{width:100%;min-width:980px;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:.85rem}.siso-school-details-table td,.siso-school-details-table th{white-space:normal;overflow-wrap:normal;word-break:normal}.siso-school-details-table .school-details-sn-column{width:58px!important;min-width:58px!important;max-width:58px!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important;text-align:center!important}.siso-school-details-table .school-details-name-column{width:180px;min-width:180px}.table-responsive>table.siso-school-details-table.school-profile-data-table{width:max-content;min-width:100%;max-width:none;table-layout:auto}.school-profile-data-table td,.school-profile-data-table th{white-space:nowrap}.school-profile-data-table th .school-profile-header-line{display:block;line-height:1.2}.school-profile-data-table .school-details-name-column{white-space:normal}.siso-school-details-table .school-head-name-column{width:140px;min-width:140px;max-width:140px}.siso-school-details-table .school-details-name-column .two-line-name,.siso-school-details-table .school-head-name-column .two-line-name{display:block;width:100%;max-width:100%;white-space:normal;overflow-wrap:normal;word-break:normal;-webkit-line-clamp:2;line-clamp:2}@media (max-width:768px){.school-details-controls{grid-template-columns:1fr}.school-details-table-wrap{width:100%;overflow-x:auto}.siso-school-details-table{min-width:900px}.page-container [style*=grid-template-columns]{grid-template-columns:1fr!important}.table-responsive>table,.table-wrapper>table,.tableContent>table{display:table;width:max-content!important;min-width:100%!important;max-width:none;overflow:visible;table-layout:auto}.table-responsive>table.attendance-report-table{min-width:1250px!important;width:max-content!important;table-layout:fixed!important}.table-wrapper>table.attendance-profile-table{min-width:1240px!important;width:max-content!important;table-layout:fixed!important}.table-responsive>table.enrolment-data-table{width:max-content!important;min-width:1800px!important;table-layout:auto!important}.table-responsive>table.district-attendance-table,.tableContent>table.district-attendance-table{width:max-content!important;min-width:1050px!important;table-layout:auto!important}.page-container .assigned-roles-grid{position:relative;grid-template-columns:repeat(2,minmax(0,1fr))!important}.page-container .assigned-roles-grid:before{content:"";position:absolute;top:0;bottom:0;left:calc(50% - 1px);width:2px;background:var(--glass-border);pointer-events:none}.assigned-roles-grid label{display:flex!important;flex-direction:row!important;align-items:center;min-width:0;width:100%;overflow-wrap:normal;word-break:normal;line-height:1.25}.assigned-roles-grid input[type=checkbox]{width:16px!important;height:16px;flex:0 0 auto}.hierarchy-table-scroll{margin:0 calc(-1 * var(--space-3));width:calc(100% + (2 * var(--space-3)));padding:0 var(--space-3) var(--space-2)}.hierarchy-table{display:table;min-width:720px!important;overflow:visible;table-layout:auto}.hierarchy-table,.portal-table{width:max-content!important;max-width:none}.portal-table{display:block;min-width:640px!important;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.siso-school-details-table .school-head-name-column{width:140px!important;min-width:140px!important;max-width:140px!important}.school-profile-form .school-profile-table{display:block;width:100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;table-layout:auto;white-space:nowrap}.school-profile-form .school-profile-table input[type=number],.school-profile-form .school-profile-table td,.school-profile-form .school-profile-table th{min-width:0}.school-profile-form:has(.wide-profile-table) .glass-card:has(.wide-profile-table){overflow-x:auto}.school-profile-form .wide-profile-table{display:table;width:max-content;min-width:100%;max-width:none;table-layout:fixed;white-space:nowrap}.school-profile-form .wide-profile-table td:first-child,.school-profile-form .wide-profile-table th:first-child{width:150px;min-width:150px;text-align:left}.school-profile-form .wide-profile-table td:not(:first-child),.school-profile-form .wide-profile-table th:not(:first-child){width:200px;min-width:200px}.school-profile-form .wide-profile-table input[type=number]{min-width:86px}.furniture-data-card{overflow-x:auto}.furniture-data-card .wide-profile-table{width:690px;min-width:690px;table-layout:fixed}.furniture-data-card .wide-profile-table td:first-child,.furniture-data-card .wide-profile-table th:first-child{width:90px;min-width:90px}.furniture-data-card .wide-profile-table td:not(:first-child),.furniture-data-card .wide-profile-table th:not(:first-child){width:100px;min-width:100px}.page-container>.glass-card-static>.data-table,.page-container>.glass-card>.data-table{min-width:0;max-width:100%;overflow-x:auto}}input[type=date].form-input,input[type=datetime-local].form-input{appearance:none;min-height:48px;color:var(--text-primary);background-color:var(--input-bg);display:flex;align-items:center;justify-content:space-between;width:100%}input[type=date].form-input::-webkit-datetime-edit,input[type=datetime-local].form-input::-webkit-datetime-edit{color:var(--text-primary);line-height:normal}input[type=date].form-input::-webkit-datetime-edit-fields-wrapper,input[type=datetime-local].form-input::-webkit-datetime-edit-fields-wrapper{color:var(--text-primary)}[data-theme=dark] input[type=date].form-input::-webkit-calendar-picker-indicator,[data-theme=dark] input[type=datetime-local].form-input::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.5);cursor:pointer;opacity:.8}.maintenance-page{height:calc(100dvh - var(--header-height));min-height:0;display:grid;place-items:center;padding:2rem;box-sizing:border-box;background:var(--bg-deepest);background-image:linear-gradient(135deg,var(--bg-deepest),var(--bg-deep));overflow:hidden}.maintenance-panel{width:min(100%,980px);min-height:420px;display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(1.5rem,5vw,4rem);padding:clamp(1.5rem,4vw,3rem);overflow:hidden;background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:.5rem;box-shadow:0 18px 24px rgba(31,35,48,.2)}.maintenance-art{position:relative;width:min(100%,280px);aspect-ratio:1;height:auto;justify-self:center}.maintenance-art:before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent-secondary-dim);border:1px solid var(--glass-border)}.maintenance-art img{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain;border-radius:50%;mix-blend-mode:multiply}.maintenance-wire{position:absolute;left:50%;top:50%;width:78%;height:14px;background:var(--accent-primary);border-radius:999px;z-index:1;transform-origin:center}.maintenance-wire-top{transform:translate(-50%,-50%) rotate(45deg)}.maintenance-wire-bottom{transform:translate(-50%,-50%) rotate(-45deg);background:var(--accent-secondary)}.maintenance-wire:after,.maintenance-wire:before{content:"";position:absolute;top:50%;width:38px;height:38px;border:11px solid;border-radius:50%;transform:translateY(-50%)}.maintenance-wire-top:before{left:-12px;color:var(--accent-primary)}.maintenance-wire-bottom:after{right:-12px;color:var(--accent-secondary)}.maintenance-socket{position:absolute;left:50%;top:50%;width:25px;height:94px;z-index:2;background:var(--text-primary);border-radius:5px;box-shadow:0 0 0 8px var(--accent-primary-dim)}.maintenance-socket-top{transform:translate(-50%,-50%) rotate(45deg)}.maintenance-socket-bottom{transform:translate(-50%,-50%) rotate(-45deg)}.maintenance-socket:after,.maintenance-socket:before{content:"";position:absolute;top:-18px;width:8px;height:22px;background:var(--text-primary);border-radius:3px}.maintenance-socket:before{left:4px}.maintenance-socket:after{right:4px}.maintenance-spark{position:absolute;z-index:3;width:18px;height:3px;background:var(--accent-gold);transform:rotate(-45deg)}.maintenance-spark-one{left:35px;top:108px}.maintenance-spark-two{left:27px;top:125px;transform:rotate(45deg)}.maintenance-spark-three{right:20px;top:116px}.maintenance-copy{min-width:0;width:100%;max-width:100%}.maintenance-kicker{margin:0 0 .6rem;color:var(--accent-primary);font-size:.8rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.maintenance-copy h1{display:flex;flex-direction:column;gap:.02em;margin:0 0 1.25rem;color:var(--text-primary);font-size:clamp(1.8rem,4.5vw,4.2rem);font-weight:900;line-height:.92;letter-spacing:.02em;text-transform:uppercase;overflow-wrap:normal}.maintenance-copy h1 span{white-space:nowrap}.maintenance-copy h1 span:nth-child(2){color:var(--accent-secondary)}.maintenance-copy p{margin:.2rem 0;color:var(--text-secondary);font-size:1rem;line-height:1.45}.maintenance-shell .sidebar-link,.maintenance-shell .sidebar-user{cursor:default}.maintenance-nav-disabled{pointer-events:none;opacity:.62}@media (max-width:640px){.maintenance-panel{min-height:0;max-height:100%;padding:1rem;grid-template-columns:1fr;gap:1rem;text-align:center}.maintenance-art{width:min(100%,180px);flex-basis:180px}.maintenance-copy{max-width:100%}.maintenance-copy h1{align-items:center;font-size:clamp(1.8rem,9vw,3rem)}}@media (max-width:768px){.table-responsive>table:not(.attendance-report-table):not(.attendance-profile-table):not(.enrolment-data-table):not(.circuit-attendance-table):not(.district-attendance-table):not(.portal-table):not(.hierarchy-table):not(.siso-school-details-table):not(.school-profile-data-table):not(.admin-users-table):not(.teacher-attendance-form-table):not(.academic-qualification-table):not(.teacher-record-wide-table):not(.action-plan-table):not(.assessment-grid-table):not(.headteacher-users-table):not(.learners-table):not(.students-table):not(.wide-profile-table):not(.staff-details-table):not(.portal-report-table):not(.table-scrollable),.table-wrapper>table:not(.attendance-report-table):not(.attendance-profile-table):not(.enrolment-data-table):not(.circuit-attendance-table):not(.district-attendance-table):not(.portal-table):not(.hierarchy-table):not(.siso-school-details-table):not(.school-profile-data-table):not(.wide-profile-table):not(.teacher-attendance-form-table):not(.academic-qualification-table):not(.teacher-record-wide-table):not(.action-plan-table):not(.assessment-grid-table):not(.headteacher-users-table):not(.learners-table):not(.students-table):not(.staff-details-table):not(.portal-report-table):not(.table-scrollable),.tableContent>table:not(.attendance-report-table):not(.attendance-profile-table):not(.enrolment-data-table):not(.circuit-attendance-table):not(.district-attendance-table):not(.portal-table):not(.hierarchy-table):not(.siso-school-details-table):not(.school-profile-data-table):not(.wide-profile-table):not(.teacher-attendance-form-table):not(.academic-qualification-table):not(.teacher-record-wide-table):not(.action-plan-table):not(.assessment-grid-table):not(.headteacher-users-table):not(.learners-table):not(.students-table):not(.staff-details-table):not(.portal-report-table):not(.table-scrollable){width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed}.table-responsive>table:not(.attendance-report-table):not(.attendance-profile-table):not(.enrolment-data-table):not(.circuit-attendance-table):not(.district-attendance-table):not(.portal-table):not(.hierarchy-table):not(.siso-school-details-table):not(.school-profile-data-table):not(.admin-users-table):not(.teacher-attendance-form-table):not(.academic-qualification-table):not(.teacher-record-wide-table):not(.action-plan-table):not(.assessment-grid-table) th,.table-responsive>table:not(.attendance-report-table):not(.attendance-profile-table):not(.enrolment-data-table):not(.circuit-attendance-table):not(.district-attendance-table):not(.portal-table):not(.hierarchy-table):not(.siso-school-details-table):not(.school-profile-data-table):not(.admin-users-table):not(.teacher-attendance-form-table):not(.academic-qualification-table):not(.teacher-record-wide-table):not(.assessment-grid-table) td:not(.email-cell),.table-wrapper>table:not(.attendance-report-table):not(.attendance-profile-table):not(.enrolment-data-table):not(.circuit-attendance-table):not(.district-attendance-table):not(.portal-table):not(.hierarchy-table):not(.siso-school-details-table):not(.school-profile-data-table):not(.wide-profile-table):not(.teacher-attendance-form-table):not(.academic-qualification-table):not(.teacher-record-wide-table):not(.action-plan-table):not(.assessment-grid-table) th,.table-wrapper>table:not(.attendance-report-table):not(.attendance-profile-table):not(.enrolment-data-table):not(.circuit-attendance-table):not(.district-attendance-table):not(.portal-table):not(.hierarchy-table):not(.siso-school-details-table):not(.school-profile-data-table):not(.wide-profile-table):not(.teacher-attendance-form-table):not(.academic-qualification-table):not(.teacher-record-wide-table):not(.assessment-grid-table) td:not(.email-cell),.tableContent>table:not(.attendance-report-table):not(.attendance-profile-table):not(.enrolment-data-table):not(.circuit-attendance-table):not(.district-attendance-table):not(.portal-table):not(.hierarchy-table):not(.siso-school-details-table):not(.school-profile-data-table):not(.wide-profile-table):not(.teacher-attendance-form-table):not(.academic-qualification-table):not(.teacher-record-wide-table):not(.action-plan-table):not(.assessment-grid-table) th,.tableContent>table:not(.attendance-report-table):not(.attendance-profile-table):not(.enrolment-data-table):not(.circuit-attendance-table):not(.district-attendance-table):not(.portal-table):not(.hierarchy-table):not(.siso-school-details-table):not(.school-profile-data-table):not(.wide-profile-table):not(.teacher-attendance-form-table):not(.academic-qualification-table):not(.teacher-record-wide-table):not(.assessment-grid-table) td:not(.email-cell){white-space:normal!important;overflow-wrap:normal!important}}table td{white-space:normal;overflow-wrap:normal;word-break:normal}.table-responsive,.table-wrapper,.tableContent{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;overscroll-behavior-inline:contain}.table-responsive>table:not(.has-sticky)>thead th,.table-wrapper>table:not(.has-sticky)>thead th,.tableContent>table:not(.has-sticky)>thead th{position:static;z-index:auto}@media (max-width:768px){.table-responsive>table,.table-wrapper>table,.tableContent>table{display:table;width:max-content!important;min-width:100%!important;max-width:none;table-layout:auto}.table-responsive>table td,.table-responsive>table th,.table-wrapper>table td,.table-wrapper>table th,.tableContent>table td,.tableContent>table th{white-space:normal;overflow-wrap:normal;word-break:normal}.table-responsive>table.academic-qualification-table,.table-responsive>table.action-plan-table,.table-responsive>table.assessment-grid-table,.table-responsive>table.attendance-profile-table,.table-responsive>table.attendance-report-table,.table-responsive>table.circuit-attendance-table,.table-responsive>table.district-attendance-table,.table-responsive>table.enrolment-data-table,.table-responsive>table.observation-data-table,.table-responsive>table.portal-table,.table-responsive>table.school-profile-data-table,.table-responsive>table.siso-school-details-table,.table-responsive>table.teacher-attendance-form-table,.table-responsive>table.teacher-record-wide-table,.table-scroll>table.assessment-grid-table,.table-wrapper>table.academic-qualification-table,.table-wrapper>table.action-plan-table,.table-wrapper>table.attendance-profile-table,.table-wrapper>table.attendance-report-table,.table-wrapper>table.circuit-attendance-table,.table-wrapper>table.district-attendance-table,.table-wrapper>table.enrolment-data-table,.table-wrapper>table.portal-table,.table-wrapper>table.school-profile-data-table,.table-wrapper>table.siso-school-details-table,.table-wrapper>table.teacher-attendance-form-table,.table-wrapper>table.teacher-record-wide-table,.tableContent>table.academic-qualification-table,.tableContent>table.action-plan-table,.tableContent>table.attendance-profile-table,.tableContent>table.attendance-report-table,.tableContent>table.circuit-attendance-table,.tableContent>table.district-attendance-table,.tableContent>table.enrolment-data-table,.tableContent>table.observation-data-table,.tableContent>table.portal-table,.tableContent>table.school-profile-data-table,.tableContent>table.siso-school-details-table,.tableContent>table.teacher-attendance-form-table,.tableContent>table.teacher-record-wide-table{width:max-content!important;min-width:720px!important;max-width:none;table-layout:auto}.table-responsive>table.enrolment-data-table,.tableContent>table.enrolment-data-table{min-width:1800px!important}.table-responsive>table.attendance-report-table,.table-wrapper>table.attendance-profile-table,.tableContent>table.attendance-profile-table,.tableContent>table.attendance-report-table{min-width:1250px!important}.table-responsive>table.circuit-attendance-table,.tableContent>table.circuit-attendance-table{min-width:1450px!important}.table-responsive>table.observation-data-table,.tableContent>table.observation-data-table{min-width:2200px!important}}.email-cell,table td.email-cell{width:220px;min-width:150px;max-width:220px;white-space:normal}.email-cell,.email-cell *,table td.email-cell{overflow-wrap:anywhere!important;word-break:normal!important;-webkit-hyphens:none;hyphens:none}table td.enrolment-school-name,table td.school-name-cell{max-width:220px;overflow:hidden;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;line-height:1.25}table td.enrolment-school-name>span,table td.enrolment-school-name>strong,table td.school-name-cell>span,table td.school-name-cell>strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;width:100%;max-width:100%;height:2.5em;overflow:hidden;overflow-wrap:normal!important;white-space:normal!important}table td.enrolment-school-name>span>span{display:block;min-height:1.25em}table td.email-cell>a,table td.email-cell>span{display:block;max-width:220px;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;-webkit-hyphens:none;hyphens:none;line-height:1.25}.admin-users-table td.email-cell,table.admin-users-table td.email-cell{width:120px!important;min-width:105px!important;max-width:130px!important;font-size:.76rem!important;line-height:1.25!important;overflow-wrap:anywhere!important;word-break:break-word!important}.admin-users-table td.email-cell *,table.admin-users-table td.email-cell>a,table.admin-users-table td.email-cell>span{display:inline-block!important;max-width:100%!important;font-size:.76rem!important;line-height:1.25!important;overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important}table td,table th{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}.portal-report-document .portal-report-table-wrap,.portal-report-document .table-responsive,.siso-report-document .portal-report-table-wrap,.siso-report-document .table-responsive{width:100%;max-width:100%;overflow-x:visible}.portal-report-document .portal-report-table,.portal-report-document .table-responsive>table.portal-table,.portal-report-document table.siso-report-profile-table,.siso-report-document .portal-report-table,.siso-report-document .table-responsive>table.portal-table,.siso-report-document table.siso-report-profile-table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed}.portal-report-document .portal-report-table td,.portal-report-document .portal-report-table th,.portal-report-document .table-responsive>table.portal-table td,.portal-report-document .table-responsive>table.portal-table th,.portal-report-document table.siso-report-profile-table td,.portal-report-document table.siso-report-profile-table th,.siso-report-document .portal-report-table td,.siso-report-document .portal-report-table th,.siso-report-document .table-responsive>table.portal-table td,.siso-report-document .table-responsive>table.portal-table th,.siso-report-document table.siso-report-profile-table td,.siso-report-document table.siso-report-profile-table th{white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;-webkit-hyphens:auto;hyphens:auto;vertical-align:top}.landing-nav-wrapper{position:fixed;top:18px;left:0;right:0;z-index:1000;justify-content:center;padding:0 16px;pointer-events:none}.landing-nav,.landing-nav-wrapper{display:flex;transition:all .3s cubic-bezier(.16,1,.3,1)}.landing-nav{pointer-events:auto;width:100%;max-width:1200px;align-items:center;justify-content:space-between;gap:16px;padding:8px 14px 8px 18px;background:rgba(255,255,255,.85);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);border:1px solid rgba(226,232,240,.85);border-radius:9999px;box-shadow:0 14px 36px -8px rgba(15,23,42,.1),inset 0 0 0 1px rgba(255,255,255,.85);box-sizing:border-box}[data-theme=dark] .landing-nav{background:rgba(18,26,32,.85);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 40px -10px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.08)}.landing-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-primary);flex-shrink:0!important}.landing-brand-mark{display:grid;place-items:center;width:38px;height:38px;min-width:38px;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1);background:var(--surface-sunken);flex-shrink:0}.landing-brand-mark img{width:100%;height:100%;object-fit:cover}.landing-brand-copy{display:flex;flex-direction:column;gap:1px;white-space:nowrap!important}.landing-brand-copy strong{font-size:1.1rem;font-weight:800;letter-spacing:-.01em;color:var(--text-primary);line-height:1.1;white-space:nowrap!important}.landing-brand-copy small{font-size:.68rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap!important}.landing-nav-links{display:flex;align-items:center;gap:2px;background:rgba(148,163,184,.08);padding:3px 5px;border-radius:9999px;border:1px solid rgba(148,163,184,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-shrink:1;min-width:0}[data-theme=dark] .landing-nav-links{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}@media (max-width:1080px){.landing-nav-links{display:none!important}}.landing-nav-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.81rem;font-weight:600;text-decoration:none;padding:6px 12px;border-radius:9999px;transition:all .2s cubic-bezier(.16,1,.3,1);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid transparent}.landing-nav-link .nav-tab-icon{display:none;opacity:.7;transition:transform .2s ease,opacity .2s ease,color .2s ease}.landing-nav-link:hover{color:var(--text-primary);background:rgba(255,255,255,.6)}.landing-nav-link:hover .nav-tab-icon{opacity:1;transform:translateY(-1px)}[data-theme=dark] .landing-nav-link:hover{background:rgba(255,255,255,.1);color:#ffffff}.landing-nav-link.active{color:var(--accent-primary);background:#ffffff;font-weight:700;border-color:rgba(0,0,0,.04);box-shadow:0 2px 10px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.04)}.landing-nav-link.active .nav-tab-icon{opacity:1;color:var(--accent-primary)}[data-theme=dark] .landing-nav-link.active{background:rgba(255,255,255,.18);color:#ffffff;border-color:rgba(255,255,255,.14);box-shadow:0 2px 12px rgba(0,0,0,.35),0 0 16px rgba(255,153,81,.18)}[data-theme=dark] .landing-nav-link.active .nav-tab-icon{color:var(--accent-primary)}.landing-nav-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.landing-mobile-toggle{display:none;background:transparent;border:none;color:var(--text-primary);padding:8px;min-width:40px;min-height:40px;cursor:pointer;border-radius:10px;flex-shrink:0}.landing-nav-cta{white-space:nowrap!important;flex-shrink:0!important}@media (max-width:1080px){.landing-nav-cta{display:none!important}.landing-mobile-toggle{display:flex!important;align-items:center;justify-content:center}}.landing-mobile-menu-card{position:absolute;top:calc(100% + 10px);left:12px;right:12px;max-height:calc(100dvh - 84px);overflow-y:auto;background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:20px;padding:16px;box-shadow:0 24px 48px rgba(0,0,0,.22);display:flex;flex-direction:column;gap:6px;pointer-events:auto;z-index:1001;animation:landingFadeIn .2s ease-out}.landing-mobile-menu-actions{border-top:1px solid var(--glass-border);padding-top:12px;margin-top:6px;display:flex;gap:10px;flex-wrap:wrap}[data-theme=dark] .landing-mobile-menu-card{background:#131824;border-color:rgba(165,226,225,.2);box-shadow:0 24px 50px rgba(0,0,0,.6)}.landing-mobile-nav-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;text-decoration:none;color:var(--text-secondary);font-size:.92rem;font-weight:600;transition:all .18s ease}.landing-mobile-nav-link:hover{color:var(--text-primary);background:rgba(148,163,184,.12)}.landing-mobile-nav-link.active{color:var(--accent-primary);background:rgba(255,153,81,.14);font-weight:700}@keyframes landingFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.landing-nav-wrapper{top:8px;padding:0 8px}.landing-nav{border-radius:18px;padding:8px 10px 8px 12px;gap:8px}.landing-brand{gap:8px}.landing-brand-mark{width:34px;height:34px}.landing-brand-copy strong{font-size:.98rem}.landing-brand-copy small{font-size:.56rem;letter-spacing:.02em}.landing-hero{padding-top:96px;padding-left:14px;padding-right:14px;min-height:0}.landing-hero h1{font-size:clamp(1.75rem,7.5vw,2.3rem)}.landing-hero-actions{width:100%;flex-direction:column;align-items:stretch;gap:10px}.landing-hero-actions .landing-btn-primary,.landing-hero-actions .landing-btn-secondary{width:100%;justify-content:center;box-sizing:border-box}.landing-section{padding-left:14px;padding-right:14px}.landing-cta-section{padding:40px 14px}.landing-cta-banner{padding:28px 18px;border-radius:20px}}.landing-hero{position:relative;overflow:visible;min-height:80vh;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:clamp(120px,16vh,160px) clamp(24px,4vw,56px) clamp(60px,8vh,90px);text-align:center;background:radial-gradient(circle at 50% 12%,var(--accent-primary-dim) 0,transparent 65%);box-sizing:border-box;scroll-margin-top:110px}.landing-hero h1{font-size:clamp(2.3rem,4.4vw,3.8rem);font-weight:850;line-height:1.18;letter-spacing:-.03em;color:var(--text-primary);max-width:24ch;margin:0 auto clamp(20px,3vh,28px)}.landing-hero-gradient{background:linear-gradient(135deg,var(--accent-primary) 0,#e87832 50%,var(--accent-gold) 100%);-webkit-background-clip:text;-moz-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.landing-hero p{font-size:clamp(1rem,1.3vw,1.15rem);color:var(--text-secondary);max-width:64ch;margin:0 auto clamp(28px,4vh,40px);line-height:1.7}.landing-hero-actions{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-bottom:clamp(48px,6vh,68px)}.landing-btn-primary{display:inline-flex;align-items:center;gap:10px;padding:13px 28px;border-radius:12px;font-size:.96rem;font-weight:700;color:#ffffff;background:var(--accent-primary);text-decoration:none;box-shadow:0 4px 18px var(--accent-primary-glow);transition:all .2s ease;border:none;cursor:pointer;white-space:nowrap;flex-shrink:0}.landing-btn-primary:hover{background:#e87832;transform:translateY(-2px);box-shadow:0 8px 24px var(--accent-primary-glow);color:#ffffff}.landing-btn-secondary{display:inline-flex;align-items:center;gap:10px;padding:13px 26px;border-radius:12px;font-size:.96rem;font-weight:700;color:var(--text-primary);background:var(--glass-bg);border:1px solid var(--glass-border);text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.04);transition:all .2s ease;cursor:pointer;white-space:nowrap;flex-shrink:0}.landing-btn-secondary:hover{border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-2px)}.landing-metrics-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2vw,32px);width:100%;max-width:1100px;margin:0 auto;padding:clamp(20px,3vh,28px) clamp(24px,3vw,44px);border-radius:20px;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 10px 30px rgba(0,0,0,.04);box-sizing:border-box}@media (max-width:768px){.landing-metrics-strip{grid-template-columns:repeat(2,1fr);gap:18px}}.metric-strip-item{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.metric-strip-item strong{display:block;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:850;color:var(--accent-primary);letter-spacing:-.02em;line-height:1.1}.metric-strip-item span{font-size:.82rem;color:var(--text-muted);font-weight:600;line-height:1.45}.landing-section{padding:clamp(20px,2.5vh,28px) clamp(24px,4vw,56px) clamp(52px,6vh,80px);max-width:1360px;margin:0 auto;box-sizing:border-box;scroll-margin-top:64px}#hero{scroll-margin-top:0}#simulator{scroll-margin-top:84px}#admissions,#comparison,#faq,#features,#get-started,#portals,#testimonials,#verify{scroll-margin-top:64px}.landing-section-header{text-align:center;margin-bottom:clamp(36px,5vh,56px)}.landing-section-eyebrow{display:inline-block;font-size:.82rem;font-weight:750;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-primary);margin-bottom:10px}.landing-section-title{font-size:clamp(1.8rem,2.8vw,2.4rem);font-weight:850;color:var(--text-primary);margin-bottom:12px;letter-spacing:-.025em;line-height:1.25}.landing-section-subtitle{font-size:clamp(.94rem,1.15vw,1.05rem);color:var(--text-secondary);max-width:68ch;margin:0 auto;line-height:1.68}.landing-features-grid,.landing-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,1.8vw,26px);width:100%}@media (max-width:1100px){.landing-features-grid,.landing-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.landing-features-grid,.landing-grid-4{grid-template-columns:1fr}}.landing-feature-card{padding:clamp(24px,3vh,32px) clamp(20px,2vw,26px);border-radius:20px;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 4px 18px rgba(0,0,0,.03);transition:all .2s ease;display:flex;flex-direction:column;gap:14px;height:100%;box-sizing:border-box}.landing-feature-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(255,153,81,.12);border-color:rgba(255,153,81,.4)}.landing-feature-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:1.25rem;background:var(--accent-primary-dim);color:var(--accent-primary);flex-shrink:0;margin-bottom:2px}.landing-feature-card h3{font-size:clamp(1.1rem,1.3vw,1.22rem);font-weight:750;margin:4px 0 2px;color:var(--text-primary);line-height:1.35}.landing-feature-card p{margin:0;font-size:clamp(.85rem,.95vw,.92rem);color:var(--text-secondary);line-height:1.62}.landing-portals-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2vw,28px);width:100%}@media (max-width:1100px){.landing-portals-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.landing-portals-grid{grid-template-columns:1fr}}.landing-portal-card{min-height:300px;padding:clamp(26px,3.4vh,34px) clamp(22px,2vw,28px);border-radius:20px;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:0 4px 20px rgba(0,0,0,.035);display:flex;flex-direction:column;justify-content:space-between;gap:16px;transition:all .2s ease;box-sizing:border-box}.landing-portal-card:hover{transform:translateY(-4px);border-color:rgba(255,153,81,.4);box-shadow:0 14px 36px rgba(255,153,81,.12)}.landing-portal-badge{align-self:flex-start;padding:4px 12px;border-radius:9999px;font-size:.75rem;font-weight:750;letter-spacing:.03em}.badge-school{background:rgba(40,127,131,.14);color:#287f83}.badge-teacher{background:rgba(255,153,81,.16);color:#d96f20}.badge-learner,.badge-student{background:rgba(16,185,129,.14);color:#059669}.badge-parent{background:rgba(255,208,70,.2);color:#946200}.badge-dev{background:rgba(99,102,241,.14);color:#4f46e5}.landing-cta-section{justify-content:center;padding:clamp(60px,9vh,100px) clamp(24px,4vw,56px)}.landing-cta-banner,.landing-cta-section{display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.landing-cta-banner{width:100%;max-width:1080px;margin:0 auto;padding:clamp(48px,7vh,72px) clamp(28px,4.5vw,60px);border-radius:26px;background:linear-gradient(135deg,#182226,#243238);color:#ffffff;text-align:center;gap:20px;box-shadow:0 20px 50px rgba(0,0,0,.15)}.landing-cta-banner h2{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:850;margin:0;color:#ffffff;letter-spacing:-.025em;line-height:1.22}.landing-cta-banner p{font-size:clamp(.95rem,1.25vw,1.1rem);color:#cbd5e1;max-width:58ch;margin:0;line-height:1.7}[data-theme=dark] .landing-cta-banner{background:linear-gradient(135deg,#0e1318,#172128);border:1px solid rgba(165,226,225,.2);box-shadow:0 24px 60px rgba(0,0,0,.7)}.landing-simulator-card{width:100%;max-width:1080px;margin:0 auto;border-radius:24px;background:var(--bg-surface);border:1px solid var(--glass-border);box-shadow:0 24px 60px -12px rgba(0,0,0,.1),inset 0 0 0 1px rgba(255,255,255,.5);overflow:hidden;text-align:left;box-sizing:border-box;scroll-margin-top:110px;transition:all .3s cubic-bezier(.16,1,.3,1)}[data-theme=dark] .landing-simulator-card{background:#111722;border:1px solid rgba(165,226,225,.2);box-shadow:0 28px 70px -12px rgba(0,0,0,.7),inset 0 0 0 1px rgba(255,255,255,.05)}.landing-sim-header{padding:14px 20px;background:var(--surface-header);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.landing-sim-header-title{display:flex;align-items:center;gap:10px;min-width:0}.landing-sim-dots{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.landing-sim-school-label{font-size:.8rem;font-weight:700;color:var(--text-secondary);letter-spacing:.04em;line-height:1.3;min-width:0}.landing-sim-tabs{display:flex;gap:8px;padding:12px 20px;background:var(--surface-sunken);border-bottom:1px solid var(--glass-border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.landing-sim-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .2s ease}.landing-simulator-body{padding:24px}.landing-sim-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;border:1px solid var(--glass-border)}.landing-sim-summary-meta{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:.84rem;color:var(--text-secondary)}.landing-sim-share-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:10px;background:#25d366;color:#ffffff;font-weight:700;font-size:.84rem;text-decoration:none;white-space:nowrap;flex-shrink:0}.landing-sim-rollcall-actions{display:flex;gap:6px;flex-wrap:wrap}.landing-verify-form{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.landing-verify-submit{justify-content:center}.landing-section-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.sim-subcard{padding:24px;border-radius:16px;background:var(--surface-sunken);border:1px solid var(--glass-border);transition:background-color .25s ease,border-color .25s ease}[data-theme=dark] .sim-subcard{background:#0c1018;border-color:rgba(165,226,225,.16)}.sim-table{width:100%;min-width:540px;border-collapse:collapse;font-size:.84rem}.sim-table th{padding:10px 12px;background:var(--glass-bg);color:var(--text-secondary);font-weight:700;border-bottom:2px solid var(--glass-border);text-align:left}[data-theme=dark] .sim-table th{background:#151c2a;color:#94a3b8;border-bottom-color:rgba(165,226,225,.22)}.sim-table td{padding:10px 12px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}[data-theme=dark] .sim-table td{border-bottom-color:rgba(165,226,225,.12);color:#f1f5f9}.sim-row-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:12px;background:var(--glass-bg);border:1px solid var(--glass-border);flex-wrap:wrap;gap:10px;transition:all .2s ease}[data-theme=dark] .sim-row-item{background:#141b28;border-color:rgba(165,226,225,.15)}.sim-btn-inactive{padding:6px 14px;border-radius:8px;border:none;font-size:.78rem;font-weight:700;cursor:pointer;background:var(--surface-sunken);color:var(--text-secondary);transition:all .15s ease}[data-theme=dark] .sim-btn-inactive{background:#090d14;color:#94a3b8}.sim-btn-inactive:hover{background:var(--glass-bg-hover);color:var(--text-primary)}.sim-notice-banner{margin-top:16px;padding:12px 16px;border-radius:10px;background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.2);font-size:.8rem;color:var(--text-secondary)}[data-theme=dark] .sim-notice-banner{background:rgba(59,130,246,.15);border-color:rgba(59,130,246,.3);color:#cbd5e1}.sim-receipt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;padding:18px;border-radius:12px;background:var(--glass-bg);border:1px solid var(--glass-border);font-size:.84rem}[data-theme=dark] .sim-receipt-grid{background:#141b28;border-color:rgba(165,226,225,.16)}.landing-verify-card{padding:clamp(36px,5vh,48px);border-radius:24px;background:var(--surface-sunken);border:1px solid var(--glass-border);max-width:900px;margin:0 auto;box-sizing:border-box;box-shadow:0 10px 30px rgba(0,0,0,.04);transition:all .3s ease}[data-theme=dark] .landing-verify-card{background:#111622;border-color:rgba(165,226,225,.2);box-shadow:0 20px 50px rgba(0,0,0,.55)}.landing-verify-input{flex:1 1;min-width:220px;font-weight:600;padding:12px 18px;border-radius:12px;background:#ffffff;color:var(--text-primary);border:1.5px solid var(--glass-border);font-size:.92rem;font-family:inherit;transition:all .2s ease;box-shadow:0 2px 6px rgba(0,0,0,.04)}.landing-verify-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-dim)}[data-theme=dark] .landing-verify-input{background:#0a0e16;color:#f8f9fa;border-color:rgba(165,226,225,.28);box-shadow:0 2px 8px rgba(0,0,0,.35)}[data-theme=dark] .landing-verify-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(255,153,81,.25);background:#0e1420}.landing-verify-result{padding:24px 26px;border-radius:18px;background:#ffffff;border:1.5px solid rgba(16,185,129,.4);box-shadow:0 14px 34px rgba(16,185,129,.08);animation:landingFadeIn .25s ease-out;color:var(--text-primary);transition:all .25s ease}[data-theme=dark] .landing-verify-result{background:#0e131d;border:1.5px solid rgba(52,211,153,.35);box-shadow:0 18px 42px rgba(0,0,0,.6);color:#f8f9fa}.landing-verify-badge{display:inline-flex;align-items:center;gap:8px;color:#059669;font-weight:800;font-size:.88rem;margin-bottom:16px;padding:6px 14px;border-radius:8px;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2)}[data-theme=dark] .landing-verify-badge{color:#34d399;background:rgba(52,211,153,.14);border-color:rgba(52,211,153,.28)}.landing-verify-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;font-size:.86rem}.verify-label{color:#64748b;display:block;font-size:.72rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}[data-theme=dark] .verify-label{color:#94a3b8}.verify-value{color:#1e293b;font-weight:850;font-size:.95rem;display:block}[data-theme=dark] .verify-value{color:#f1f5f9}.verify-decision{color:#059669;font-weight:850;font-size:.95rem;display:block}[data-theme=dark] .verify-decision{color:#34d399}[data-theme=dark] .landing-feature-card,[data-theme=dark] .landing-portal-card{background:#121824;border-color:rgba(165,226,225,.18);box-shadow:0 4px 20px rgba(0,0,0,.35)}[data-theme=dark] .landing-feature-card:hover,[data-theme=dark] .landing-portal-card:hover{background:#161e2c;border-color:rgba(255,153,81,.45);box-shadow:0 16px 36px rgba(0,0,0,.55)}[data-theme=dark] .landing-feature-card h3,[data-theme=dark] .landing-portal-card h3{color:#f8f9fa}[data-theme=dark] .landing-feature-card p,[data-theme=dark] .landing-portal-card p{color:#b0b1c3}[data-theme=dark] .landing-metrics-strip{background:#121824;border-color:rgba(165,226,225,.18);box-shadow:0 12px 32px rgba(0,0,0,.45)}[data-theme=dark] .metric-strip-item span{color:#94a3b8}[data-theme=dark] .badge-school{background:rgba(95,209,206,.18);color:#5fd1ce}[data-theme=dark] .badge-teacher{background:rgba(255,153,81,.22);color:#ffa96b}[data-theme=dark] .badge-learner,[data-theme=dark] .badge-student{background:rgba(52,211,153,.2);color:#34d399}[data-theme=dark] .badge-parent{background:rgba(255,208,70,.2);color:#ffd046}.toddle-bento-hero{position:relative;overflow:hidden;padding:24px 28px;border-radius:18px;background:linear-gradient(135deg,rgba(255,153,81,.08),rgba(165,226,225,.14) 50%,rgba(255,208,70,.09));border:1px solid var(--glass-border);box-shadow:0 4px 18px rgba(0,0,0,.03);margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}.toddle-hero-content h2{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin:0 0 6px;display:flex;align-items:center;gap:8px}.toddle-hero-content p{margin:0;color:var(--text-secondary);font-size:.88rem;line-height:1.5}.toddle-quick-dock{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.quick-action-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:9999px;font-size:.82rem;font-weight:600;text-decoration:none;cursor:pointer;background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border);box-shadow:0 2px 6px rgba(0,0,0,.03);transition:all .15s ease}.quick-action-pill:hover{transform:translateY(-2px);border-color:var(--accent-primary);color:var(--accent-primary)}.quick-action-pill.primary{background:var(--accent-primary);color:#ffffff;border-color:var(--accent-primary)}.quick-action-pill.primary:hover{background:#e87832;color:#ffffff}.kpi-bento-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:24px}.kpi-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-top:3px solid var(--accent-primary);border-radius:14px;padding:18px;box-shadow:0 2px 10px rgba(0,0,0,.03);display:flex;flex-direction:column;justify-content:space-between;gap:12px;transition:all .15s ease}.kpi-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.06)}.kpi-card-header{display:flex;justify-content:space-between;align-items:center}.kpi-card-title{font-size:.78rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.kpi-icon-bubble{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:1.1rem;background:var(--accent-primary-dim);color:var(--accent-primary)}.kpi-card-body{display:flex;flex-direction:column;gap:4px}.kpi-card-value{font-size:1.85rem;font-weight:800;color:var(--text-primary);letter-spacing:-.02em;line-height:1.15}.kpi-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid var(--glass-border);font-size:.74rem;color:var(--text-muted)}.kpi-trend-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:9999px;font-size:.68rem;font-weight:700}.kpi-trend-chip.positive{background:rgba(16,185,129,.12);color:var(--status-success)}.kpi-trend-chip.neutral{background:var(--accent-secondary-dim);color:#287f83}.kpi-trend-chip.warn{background:var(--accent-gold-dim);color:var(--status-warning)}.bento-layout-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin-bottom:32px}@media (max-width:1024px){.bento-layout-grid{grid-template-columns:1fr}}.bento-panel{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;padding:22px 24px;box-shadow:0 2px 10px rgba(0,0,0,.03)}.bento-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.bento-panel-header h3{font-size:1.12rem;font-weight:800;margin:0;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:9999px;font-size:.72rem;font-weight:600}.status-pill.status-active,.status-pill.status-paid,.status-pill.status-present{background:rgba(16,185,129,.12);color:var(--status-success)}.status-pill.status-late,.status-pill.status-pending{background:var(--accent-gold-dim);color:var(--status-warning)}.status-pill.status-absent,.status-pill.status-arrears{background:rgba(239,68,68,.12);color:#ef4444}.headteacher-dashboard-context{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem 1.25rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-sm)}.headteacher-dashboard-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.headteacher-dashboard-kpi{display:flex;flex-direction:column;justify-content:space-between;gap:.75rem;padding:1.15rem 1.25rem;border-radius:var(--radius-lg,14px);border:1px solid var(--glass-border);border-top:3px solid var(--accent-primary);background:var(--glass-bg);box-shadow:0 2px 10px rgba(0,0,0,.03);transition:transform .2s ease,box-shadow .2s ease}.headteacher-dashboard-kpi:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.07)}.headteacher-kpi-enrolment{border-top-color:#3b82f6}.headteacher-kpi-staffing{border-top-color:#10b981}.headteacher-kpi-learner-attendance{border-top-color:#f59e0b}.headteacher-kpi-teacher-attendance{border-top-color:#8b5cf6}.headteacher-kpi-ratio{border-top-color:#06b6d4}.headteacher-dashboard-kpi-label{display:flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.headteacher-kpi-metric-wrap{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.headteacher-kpi-val{font-size:1.85rem;font-weight:800;color:var(--text-primary);line-height:1.1;letter-spacing:-.02em}.headteacher-kpi-caption{font-size:.82rem;color:var(--text-muted);font-weight:500}.headteacher-dashboard-kpi-foot{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding-top:.6rem;border-top:1px solid var(--glass-border);font-size:.75rem;color:var(--text-secondary)}.headteacher-kpi-pill{display:inline-flex;align-items:center;gap:.3rem;background:var(--surface-sunken);padding:.2rem .5rem;border-radius:var(--radius-sm,6px);font-size:.75rem}.headteacher-kpi-pill b{color:var(--text-primary);font-weight:700}@media (max-width:768px){.headteacher-dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.headteacher-dashboard-kpi{padding:.75rem .85rem}}.header-period-capsule{display:inline-flex;flex-direction:column;align-items:stretch;gap:.16rem;background:transparent;border:0;border-radius:0;padding:0;transition:border-color var(--transition-fast,.2s ease),box-shadow var(--transition-fast,.2s ease);min-width:7.2rem;width:7.2rem;max-width:7.6rem}.header-period-capsule:focus-within,.header-period-capsule:hover{border-color:rgba(249,115,22,.42);box-shadow:0 0 0 1px rgba(249,115,22,.12)}.period-pill-field{position:relative;display:flex;align-items:center;width:100%}.period-pill-field:after{content:"";position:absolute;top:50%;right:.5rem;width:.34rem;height:.34rem;border-right:1.6px solid var(--text-muted);border-bottom:1.6px solid var(--text-muted);transform:translateY(-68%) rotate(45deg);pointer-events:none}.period-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--input-bg);border:1px solid var(--input-border);border-radius:.48rem;font-family:inherit;font-size:.8125rem;font-weight:700;letter-spacing:-.01em;text-align:center;text-align-last:center;-webkit-text-align-last:center;-moz-text-align-last:center;cursor:pointer;width:100%;min-height:1.62rem;height:1.62rem;line-height:1.25;padding:.12rem .85rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.25);transition:border-color .15s ease,box-shadow .15s ease}.period-select,.period-select:focus{outline:none;color:var(--text-primary)}.period-select:focus{border-color:rgba(249,115,22,.55);box-shadow:0 0 0 2px rgba(249,115,22,.15)}.period-select option{text-align:center;-webkit-text-align-last:center;color:var(--text-primary);font-weight:600}.period-select option,.period-select-term,.period-select-year{background-color:var(--input-bg)}.period-divider{display:none}.sticky-form-action-bar{position:sticky;bottom:1.5rem;z-index:85;display:flex;justify-content:center;margin-top:2rem;margin-bottom:1rem;pointer-events:none}.sticky-action-bar-inner{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:.6rem 1.25rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1.5px solid var(--accent-primary);border-radius:var(--radius-full,9999px);box-shadow:0 10px 30px rgba(0,0,0,.16),0 0 20px rgba(255,153,81,.25);max-width:90vw;box-sizing:border-box}.sticky-action-bar-status{display:flex;align-items:center;gap:.5rem;min-width:0;flex:1 1 auto}.sticky-dirty-pulse{width:8px;height:8px;min-width:8px;min-height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 0 rgba(245,158,11,.7);animation:pulseWarning 1.8s infinite;flex-shrink:0}@keyframes pulseWarning{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(245,158,11,.7)}70%{transform:scale(1);box-shadow:0 0 0 6px rgba(245,158,11,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(245,158,11,0)}}.sticky-dirty-text{font-size:.8125rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sticky-dirty-text-short,.sticky-save-label-short{display:none}.sticky-dirty-text-full,.sticky-save-label-full{display:inline}.sticky-action-bar-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.sticky-action-bar-actions .btn{white-space:nowrap!important;word-break:keep-all!important;flex-shrink:0}.sticky-btn-discard{min-height:36px;padding:.4rem .85rem}.sticky-btn-save{min-height:36px;padding:.4rem 1.1rem;font-weight:700}.teacher-record-form{padding-bottom:7.5rem!important}@media (max-width:768px){.sticky-form-action-bar{position:fixed;bottom:calc(.75rem + env(safe-area-inset-bottom, 0px));left:.5rem;right:.5rem;margin:0;width:auto;max-width:none;display:flex;justify-content:center}.sticky-action-bar-inner{width:100%;max-width:100%!important;padding:.45rem .75rem;gap:.5rem;box-sizing:border-box}.sticky-dirty-text{font-size:.75rem}}@media (max-width:480px){.sticky-action-bar-inner{padding:.4rem .6rem;gap:.35rem}.sticky-action-bar-actions{gap:.35rem}.sticky-btn-discard,.sticky-btn-save{min-height:32px!important;height:32px!important;padding:.3rem .55rem!important;font-size:.75rem!important}.sticky-dirty-text-full,.sticky-save-label-full{display:none}.sticky-dirty-text-short,.sticky-save-label-short{display:inline}}.teacher-details-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.teacher-details-view-toolbar-meta{font-size:var(--font-xs);color:var(--text-muted)}.table-view-controls{display:inline-flex;align-items:center;background:rgba(12,18,28,.18);padding:3px;border-radius:9999px;border:1px solid var(--glass-border);gap:3px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);margin-left:auto}[data-theme=light] .table-view-controls{background:rgba(15,23,42,.04)}.table-view-toggle-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 12px;min-height:32px;font-size:.78rem;font-weight:700;line-height:1.2;border-radius:9999px;border:1.5px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;user-select:none;white-space:nowrap}.table-view-toggle-btn:hover{color:var(--text-primary);background:rgba(255,255,255,.04)}.table-view-toggle-btn.is-active{background:rgba(249,115,22,.14);border-color:#f97316;color:#f97316;box-shadow:0 0 10px rgba(249,115,22,.22)}[data-theme=light] .table-view-toggle-btn.is-active{background:rgba(249,115,22,.1);border-color:#ea580c;color:#ea580c}@media (max-width:640px){.teacher-details-view-toolbar{align-items:stretch}.teacher-details-view-toolbar-meta{width:100%}.table-view-controls{width:100%;justify-content:stretch;margin-left:0}.table-view-toggle-btn{flex:1 1;justify-content:center;padding-inline:10px}}.mobile-card-roster{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem}@media (min-width:640px){.mobile-card-roster{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}.mobile-roster-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg,12px);padding:1rem;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.mobile-roster-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-primary)}.roster-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--glass-border);padding-bottom:.5rem}.roster-card-title{font-size:.95rem;font-weight:700;color:var(--text-primary);margin:0}.roster-card-sub{font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.roster-card-badge{font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:var(--radius-full,9999px);background:var(--accent-primary-dim);color:var(--accent-primary);white-space:nowrap}.roster-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;font-size:.75rem}.roster-card-field-label{color:var(--text-muted);font-weight:500;margin-bottom:.1rem}.roster-card-field-val{color:var(--text-primary);font-weight:600;word-break:break-word}.attendance-chips-group{gap:4px}.attendance-chip,.attendance-chips-group{display:inline-flex;align-items:center;justify-content:center}.attendance-chip{min-width:36px;min-height:32px;padding:4px 8px;font-size:11px;font-weight:600;border-radius:var(--radius-sm,6px);border:1px solid var(--glass-border);background:transparent;color:var(--text-secondary);cursor:pointer;gap:3px;transition:all var(--transition-fast,.15s ease);-webkit-user-select:none;user-select:none}.attendance-chip:active{transform:scale(.92)}.attendance-chip.is-active-present{background:var(--status-success)!important;border-color:var(--status-success)!important;color:#ffffff!important;box-shadow:0 0 10px rgba(16,185,129,.4)}.attendance-chip.is-active-absent{background:var(--status-danger)!important;border-color:var(--status-danger)!important;color:#ffffff!important;box-shadow:0 0 10px rgba(239,68,68,.4)}.attendance-chip.is-active-late{background:var(--status-warning)!important;border-color:var(--status-warning)!important;color:#ffffff!important;box-shadow:0 0 10px rgba(148,98,0,.4)}.attendance-chip.is-active-excused{background:var(--status-info)!important;border-color:var(--status-info)!important;color:#ffffff!important;box-shadow:0 0 10px rgba(40,127,131,.4)}.chip-short{display:none}.chip-label{display:inline}@media (max-width:640px){.attendance-chip{min-width:38px;min-height:36px;font-size:12px;font-weight:800;padding:0 4px}.attendance-chip .chip-label{display:none}.attendance-chip .chip-short{display:inline}.profile-tabs-grid{display:flex!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;padding-bottom:6px!important;gap:.5rem!important}}@media (max-width:640px){.profile-tabs-grid::-webkit-scrollbar{display:none}.profile-tabs-grid .btn{flex-shrink:0!important;width:auto!important;white-space:nowrap!important;min-height:38px!important;padding:.4rem .85rem!important;font-size:.78rem!important}}.cmd-palette-search-trigger{display:inline-flex;align-items:center;gap:8px;background:var(--surface-header,var(--surface-sunken,rgba(241,245,249,.8)));border:1px solid var(--glass-border,rgba(165,226,225,.35));border-radius:8px;padding:.35rem .65rem;cursor:pointer;color:var(--text-muted,#64748b);font-size:.8rem;transition:all .15s ease;line-height:1}.cmd-palette-search-trigger:hover{background:var(--surface-sunken,rgba(255,255,255,.1));border-color:var(--accent-primary,#ff9951);color:var(--text-primary)}.cmd-search-icon{color:var(--text-muted,#64748b);flex-shrink:0}.cmd-palette-search-trigger:hover .cmd-search-icon{color:var(--accent-primary,#ff9951)}.cmd-search-text{font-weight:500}.cmd-search-kbd{font-size:.7rem;font-weight:700;padding:1px 5px;border-radius:4px;background-color:var(--badge-bg,var(--surface-sunken));border:1px solid var(--glass-border,rgba(165,226,225,.35));color:var(--text-secondary);line-height:1.2}@media (max-width:640px){.cmd-search-kbd,.cmd-search-text{display:none}.cmd-palette-search-trigger{padding:.4rem}}@media (max-width:960px){.header-greeting-prefix,.header-school-name,.header-separator{display:none!important}.header-breadcrumb{max-width:200px}.cmd-search-kbd,.cmd-search-text{display:none!important}.cmd-palette-search-trigger{padding:.35rem .55rem!important;min-width:32px!important}.header-period-capsule{min-width:7rem;max-width:7.5rem;width:7.2rem}.header-right{gap:.35rem!important}}@media (max-width:768px){.attendance-report-table td,.attendance-report-table th,.circuit-attendance-table td,.circuit-attendance-table th,.data-table td,.data-table th,.enrolment-data-table td,.enrolment-data-table th,.is-sticky-col,.observation-data-table td,.observation-data-table th,.school-profile-table td,.school-profile-table th,.serial-column,.staff-details-table td,.staff-details-table th,.staff-roster-table td,.staff-roster-table th,.staffingTable td,.staffingTable th,.table-context-column-1,.table-context-column-2,.table-responsive td,.table-responsive th,.table-wrapper td,.table-wrapper th,.tableContent td,.tableContent th,table td,table th{position:static!important;left:auto!important;right:auto!important;box-shadow:none!important}.audit-log-details-grid,.errors-main-grid{grid-template-columns:1fr!important;gap:1rem!important}.teaching-staff-3col{grid-template-columns:1fr!important}}@media (max-width:640px){.assessment-split-container,.broadsheet-split-container{touch-action:pan-x pan-y!important}.assessment-fixed-pane,.broadsheet-fixed-pane{flex:0 0 140px!important;touch-action:pan-x pan-y!important}.assessment-fixed-pane,.assessment-fixed-pane table,.broadsheet-fixed-pane,.broadsheet-fixed-pane table{width:140px!important;min-width:140px!important;max-width:140px!important}.assessment-fixed-pane td:nth-child(2),.assessment-fixed-pane th:nth-child(2),.broadsheet-fixed-pane td:nth-child(2),.broadsheet-fixed-pane td:nth-child(4),.broadsheet-fixed-pane th:nth-child(2),.broadsheet-fixed-pane th:nth-child(4){display:none!important}.assessment-fixed-pane td:first-child,.assessment-fixed-pane th:first-child,.broadsheet-fixed-pane td:first-child,.broadsheet-fixed-pane th:first-child{width:32px!important;min-width:32px!important;max-width:32px!important}.assessment-fixed-pane td:last-child,.assessment-fixed-pane th:last-child,.broadsheet-fixed-pane td:nth-child(3),.broadsheet-fixed-pane th:nth-child(3){width:108px!important;min-width:108px!important;max-width:108px!important}.headteacher-users-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.5rem!important;margin-bottom:1rem!important}.headteacher-users-kpi-grid .glass-card{padding:.75rem .65rem!important;gap:.5rem!important;margin-bottom:0!important;min-height:auto!important}.teacher-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.5rem!important;margin-bottom:1rem!important}.teacher-stat-strip .glass-card{padding:.75rem .65rem!important;margin-bottom:0!important;min-height:auto!important}.teacher-record-sections{display:flex;flex-direction:column;gap:1rem!important}.children-entry-row{flex-direction:column!important;align-items:stretch!important;gap:.4rem!important;padding-bottom:.65rem!important;border-bottom:1px dashed var(--glass-border)!important}.children-entry-row .child-dob-col{width:100%!important}.backup-action-card{min-height:auto!important;padding:1.25rem!important}}