/* Attendance Phase05-A — shared theme engine. Dark stays the default/current design. */
:root[data-theme="dark"]{color-scheme:dark}
:root[data-theme="light"]{color-scheme:light}
.theme-toggle{--theme-btn-bg:rgba(255,255,255,.05);--theme-btn-border:rgba(148,163,184,.22);--theme-btn-fg:#d8e5f2;appearance:none;width:38px;height:38px;min-width:38px;padding:0;border:1px solid var(--theme-btn-border);border-radius:12px;background:var(--theme-btn-bg);color:var(--theme-btn-fg);display:inline-grid;place-items:center;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;box-shadow:none;line-height:1}
.theme-toggle:hover{transform:translateY(-1px);border-color:rgba(50,184,198,.48);color:#5dd6e0}.theme-toggle:active{transform:scale(.97)}.theme-toggle:focus-visible{outline:2px solid #4cc7d2;outline-offset:2px}.theme-toggle svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-toggle__label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.theme-toggle__moon{display:none}.theme-toggle__sun{display:block}:root[data-theme="light"] .theme-toggle__sun{display:none}:root[data-theme="light"] .theme-toggle__moon{display:block}:root[data-theme="light"] .theme-toggle{--theme-btn-bg:#fff;--theme-btn-border:#d7e0ea;--theme-btn-fg:#42546a;box-shadow:0 5px 18px rgba(30,50,75,.07)}
.theme-toggle--floating{position:fixed;z-index:13000;top:max(14px,env(safe-area-inset-top));left:14px}.install-nav-actions{display:flex;align-items:center;gap:9px}

/* Professional dialogs/toasts follow the selected theme. */
:root[data-theme="light"] .ui-modal-backdrop{background:rgba(30,41,59,.34)}
:root[data-theme="light"] .ui-modal{background:#fff;color:#172033;border-color:#dbe4ee;box-shadow:0 28px 80px rgba(30,50,75,.18)}
:root[data-theme="light"] .ui-modal-copy p{color:#66768a}:root[data-theme="light"] .ui-btn-quiet{background:#f5f8fb;color:#405268;border-color:#dce5ee}:root[data-theme="light"] .ui-toast{background:#fff;color:#1d2b3e;border-color:#dbe5ef;box-shadow:0 18px 45px rgba(30,50,75,.15)}

/* Admin core light theme. Keep the existing dark rules untouched. */
:root[data-theme="light"]{--ink:#172033;--muted:#64748b;--muted-2:#8491a3;--nav:#fff;--nav-soft:#f4f7fb;--bg:#f4f7fb;--surface:#fff;--surface-soft:#f8fafc;--line:#e1e7ef;--line-strong:#cfd9e6;--primary:#197b8c;--primary-dark:#126776;--primary-soft:#e4f5f7;--success:#087a55;--success-soft:#e7f7ef;--warning:#9b6804;--warning-soft:#fff5dc;--danger:#c9414d;--danger-soft:#fff0f2;--info:#356fa8;--info-soft:#edf5fc;--shadow:0 18px 45px rgba(31,51,75,.08);--shadow-soft:0 7px 22px rgba(31,51,75,.06)}
:root[data-theme="light"] html,:root[data-theme="light"] body,:root[data-theme="light"] .admin-body{background:#f4f7fb;color:var(--ink);background-image:none}
:root[data-theme="light"] .top{background:rgba(255,255,255,.96);border-color:var(--line);box-shadow:0 8px 24px rgba(31,51,75,.05)}
:root[data-theme="light"] .top-date,:root[data-theme="light"] .logout-btn,:root[data-theme="light"] .nav-toggle{background:#fff;border-color:var(--line);color:#64748b}:root[data-theme="light"] .nav-toggle span{background:#334155}:root[data-theme="light"] .userbox{border-color:var(--line)}
:root[data-theme="light"] .side{background:#fff;color:#263548;border-inline-start:1px solid var(--line);box-shadow:-12px 0 30px rgba(31,51,75,.05)}
:root[data-theme="light"] .side-brand{color:#1f3044;border-color:var(--line)}:root[data-theme="light"] .side-brand small{color:#718096}:root[data-theme="light"] .nav-section-label{color:#8a98a9}:root[data-theme="light"] .nav-item{color:#506176}:root[data-theme="light"] .nav-item:hover{background:#f0f6f7;color:#1e4450}:root[data-theme="light"] .nav-item.active{background:linear-gradient(90deg,#e6f5f7,#f4fbfc);color:#126776}:root[data-theme="light"] .nav-item.active:before{background:#2797a5;box-shadow:none}:root[data-theme="light"] .nav-icon{background:#f3f6f9;color:#61758b}:root[data-theme="light"] .nav-item.active .nav-icon,:root[data-theme="light"] .nav-item:hover .nav-icon{background:#dff2f4;color:#167786}:root[data-theme="light"] .side-footer{background:#f8fafc;border-color:var(--line)}:root[data-theme="light"] .side-footer strong{color:#35465a}:root[data-theme="light"] .side-footer small{color:#7c8b9d}
:root[data-theme="light"] .main{background:transparent}:root[data-theme="light"] .panel,:root[data-theme="light"] .card,:root[data-theme="light"] .metric-card,:root[data-theme="light"] .stat,:root[data-theme="light"] .metric,:root[data-theme="light"] .tablewrap,:root[data-theme="light"] .attendance-table-wrap,:root[data-theme="light"] .report-table-card,:root[data-theme="light"] .gated-surface{background:#fff;color:#172033;border-color:var(--line);box-shadow:var(--shadow-soft)}
:root[data-theme="light"] .dashboard-hero,:root[data-theme="light"] .student-profile-hero,:root[data-theme="light"] .attendance-hero,:root[data-theme="light"] .ops-hero,:root[data-theme="light"] .identity-scan-console,:root[data-theme="light"] .report-hero-pro{background:linear-gradient(135deg,#fff,#f6fafc);border-color:#dbe7ec;color:#172033;box-shadow:var(--shadow-soft)}
 :root[data-theme="light"] body.admin-body input,:root[data-theme="light"] body.admin-body select,:root[data-theme="light"] body.admin-body textarea,:root[data-theme="light"] body.admin-auth-page input,:root[data-theme="light"] body.admin-auth-page select,:root[data-theme="light"] body.admin-auth-page textarea{background:#fff!important;color:#1d2b3d!important;border-color:#cfd9e6!important;-webkit-text-fill-color:#1d2b3d}:root[data-theme="light"] body.admin-body input:focus,:root[data-theme="light"] body.admin-body select:focus,:root[data-theme="light"] body.admin-body textarea:focus,:root[data-theme="light"] body.admin-auth-page input:focus,:root[data-theme="light"] body.admin-auth-page select:focus,:root[data-theme="light"] body.admin-auth-page textarea:focus{background:#fff!important;border-color:#3197a4!important;box-shadow:0 0 0 3px rgba(49,151,164,.12)!important}:root[data-theme="light"] body.admin-body select option,:root[data-theme="light"] body.admin-body select optgroup,:root[data-theme="light"] body.admin-auth-page select option,:root[data-theme="light"] body.admin-auth-page select optgroup{background:#fff;color:#172033}:root[data-theme="light"] body.admin-body input[type="date"],:root[data-theme="light"] body.admin-body input[type="datetime-local"],:root[data-theme="light"] body.admin-body input[type="time"]{color-scheme:light!important;box-shadow:inset 0 0 0 1000px #fff!important}:root[data-theme="light"] body.admin-body input[type="date"]::-webkit-calendar-picker-indicator,:root[data-theme="light"] body.admin-body input[type="datetime-local"]::-webkit-calendar-picker-indicator,:root[data-theme="light"] body.admin-body input[type="time"]::-webkit-calendar-picker-indicator{filter:none}
:root[data-theme="light"] body.admin-body th,:root[data-theme="light"] body.admin-body .attendance-table th,:root[data-theme="light"] body.admin-body .report-table-wrap th{background:#f5f8fb;color:#425469;border-color:#dce4ed}:root[data-theme="light"] body.admin-body td,:root[data-theme="light"] body.admin-body .attendance-table td{color:#243448;border-color:#e5ebf2}:root[data-theme="light"] body.admin-body tbody tr:nth-child(even){background:#fafcfd}:root[data-theme="light"] body.admin-body tbody tr:hover,:root[data-theme="light"] body.admin-body .attendance-table tr:hover td{background:#f2f8f9}
:root[data-theme="light"] .admin-auth-page,:root[data-theme="light"] .authpage{background:radial-gradient(circle at 18% 12%,rgba(50,184,198,.09),transparent 32%),linear-gradient(145deg,#f7fafc,#eef4f8);color:#172033}:root[data-theme="light"] .admin-auth-shell,:root[data-theme="light"] .authcard,:root[data-theme="light"] .admin-auth-card{background:#fff;border-color:#d9e3ed;box-shadow:0 30px 80px rgba(31,51,75,.13)}:root[data-theme="light"] .admin-auth-brand{background:radial-gradient(circle at 10% 15%,rgba(50,184,198,.12),transparent 32%),linear-gradient(145deg,#e9f6f8,#f7fbfc);color:#183746}:root[data-theme="light"] .auth-points span{background:rgba(25,123,140,.07);border-color:rgba(25,123,140,.14)}
@media(max-width:900px){:root[data-theme="light"] .side{box-shadow:-24px 0 55px rgba(31,51,75,.16)}:root[data-theme="light"] .side-overlay{background:rgba(35,50,70,.34)}}

/* Guardian / student core light theme. */
:root[data-theme="light"]{--g-bg:#f4f7f8;--g-surface:#fff;--g-surface-2:#f8fafb;--g-ink:#17313a;--g-muted:#6f838b;--g-line:#dce7e9;--g-brand:#123c49;--g-brand-2:#0b6976;--g-accent:#087f8c;--g-accent-soft:#e2f4f5;--g-green:#087a55;--g-green-soft:#e3f6ee;--g-amber:#946200;--g-amber-soft:#fff2d2;--g-red:#ad2b22;--g-red-soft:#ffebe8;--g-blue:#3a5fa6;--g-blue-soft:#eaf0ff;--g-violet:#7250a8;--g-violet-soft:#f0eafd;--g-shadow:0 10px 30px rgba(18,60,73,.07)}
:root[data-theme="light"] body.g-app,:root[data-theme="light"] .g-shell{background:#f4f7f8;color:#17313a}:root[data-theme="light"] .g-header{background:rgba(255,255,255,.94);border-color:#dce7e9;box-shadow:0 8px 24px rgba(18,60,73,.04)}:root[data-theme="light"] .g-brand__text strong{color:#17313a}:root[data-theme="light"] .g-brand__text small{color:#6f838b}:root[data-theme="light"] .g-desktop-nav a{color:#597078}:root[data-theme="light"] .g-desktop-nav a:hover,:root[data-theme="light"] .g-desktop-nav a.active{background:#e2f4f5;color:#075f69}:root[data-theme="light"] .g-icon-btn{background:#fff;color:#63787f;border-color:#dce7e9}:root[data-theme="light"] .g-bottom-nav{background:rgba(255,255,255,.97);border-color:#d5e3e6;box-shadow:0 14px 40px rgba(18,60,73,.14)}:root[data-theme="light"] .g-bottom-nav a{color:#71868d}:root[data-theme="light"] .g-bottom-nav a.active{background:#e2f4f5;color:#076975}
:root[data-theme="light"] .g-child-card,:root[data-theme="light"] .g-page-hero,:root[data-theme="light"] .g-form-card,:root[data-theme="light"] .g-thread-card,:root[data-theme="light"] .g-notification-card,:root[data-theme="light"] .g-academic-card,:root[data-theme="light"] .g-subject-grade-card,:root[data-theme="light"] .g-academic-card-grid--polished .g-academic-card{background:#fff;color:#17313a;border-color:#dce7e9;box-shadow:var(--g-shadow)}:root[data-theme="light"] .g-today-times>div,:root[data-theme="light"] .g-action-tile{background:#f7fafb;border-color:#dce7e9}:root[data-theme="light"] .g-subject-grade-card__body small,:root[data-theme="light"] .g-academic-card-grid--polished .g-academic-card__body small{color:#6f838b}
:root[data-theme="light"] .g-auth{background:#f3f7f8;color:#17313a}:root[data-theme="light"] .g-auth-shell{background:transparent}:root[data-theme="light"] .g-auth-brand{background:linear-gradient(145deg,#e7f4f6,#f7fbfc);color:#17313a;border-color:#dce7e9}:root[data-theme="light"] .g-auth-card{background:#fff;color:#17313a;border-color:#dce7e9;box-shadow:0 25px 70px rgba(18,60,73,.12)}:root[data-theme="light"] .g-auth-help,:root[data-theme="light"] .g-auth-footnote{color:#6f838b}:root[data-theme="light"] .g-input-wrap{background:#fff;border-color:#ccdadd;color:#17313a}:root[data-theme="light"] .portal-mode-switch{background:#eef5f6!important;border-color:#d8e6e8!important}:root[data-theme="light"] .portal-mode-switch button{color:#61767d!important}:root[data-theme="light"] .portal-mode-switch button.active{background:#fff!important;color:#086c78!important;box-shadow:0 4px 14px rgba(18,60,73,.09)!important}

/* Teacher core light theme. */
:root[data-theme="light"]{--tp-bg:#f5f8fc;--tp-bg-2:#edf3f8;--tp-surface:#fff;--tp-surface-2:#f7fafc;--tp-surface-3:#edf4f8;--tp-line:#d6e1ec;--tp-line-soft:rgba(78,103,130,.16);--tp-text:#17283b;--tp-muted:#667b91;--tp-muted-2:#8b9bad;--tp-cyan:#167f8e;--tp-cyan-2:#126d79;--tp-blue:#356fae;--tp-purple:#735cc2;--tp-green:#16815c;--tp-amber:#9b690b;--tp-red:#c84c5a;--tp-shadow:0 18px 45px rgba(31,51,75,.08)}
:root[data-theme="light"] body.tp-body,:root[data-theme="light"] .tp-shell{background:#f5f8fc;color:#17283b;background-image:none}:root[data-theme="light"] .tp-topbar{background:rgba(255,255,255,.94);border-color:#dce5ee;box-shadow:0 8px 24px rgba(31,51,75,.04)}:root[data-theme="light"] .tp-brand-title{color:#17283b}:root[data-theme="light"] .tp-brand-subtitle{color:#667b91}:root[data-theme="light"] .tp-nav-link{color:#536a82}:root[data-theme="light"] .tp-nav-link:hover{background:#edf5f7;color:#145d68}:root[data-theme="light"] .tp-nav-link.is-active{background:#e1f3f5;color:#126d79;border-color:#c6e5e8}:root[data-theme="light"] .tp-card,:root[data-theme="light"] .tp-card-soft{background:#fff;color:#17283b;border-color:#d9e3ed;box-shadow:var(--tp-shadow)}:root[data-theme="light"] .tp-stat-mini{background:#f7fafc;border-color:#e0e8ef}:root[data-theme="light"] .tp-action-card:hover{border-color:#a9d6db}:root[data-theme="light"] .tp-input,:root[data-theme="light"] .tp-select,:root[data-theme="light"] .tp-textarea,:root[data-theme="light"] .tp-upload{background:#fff;color:#17283b;border-color:#cad7e3}:root[data-theme="light"] .tp-input:focus,:root[data-theme="light"] .tp-select:focus,:root[data-theme="light"] .tp-textarea:focus{border-color:#2c97a4;box-shadow:0 0 0 3px rgba(44,151,164,.11)}:root[data-theme="light"] .tp-label{color:#33495f}:root[data-theme="light"] .tp-upload strong{color:#23394f}:root[data-theme="light"] .tp-mobile-nav{background:rgba(255,255,255,.97);border-color:#d6e1eb;box-shadow:0 16px 40px rgba(31,51,75,.14)}:root[data-theme="light"] .tp-mobile-nav a{color:#6c7f93}:root[data-theme="light"] .tp-mobile-nav a.is-active{color:#fff;background:linear-gradient(135deg,#208d9a,#18798a)}:root[data-theme="light"] .tp-login-page{background:radial-gradient(circle at 50% 0,rgba(47,194,208,.09),transparent 30rem),#f5f8fc;color:#17283b}:root[data-theme="light"] .tp-login-logo{background:linear-gradient(145deg,#e2f4f6,#edf4fb);border-color:#c4e4e8;color:#167f8e;box-shadow:0 18px 45px rgba(31,51,75,.08)}

/* Guardian install page light theme. */
:root[data-theme="light"] body.install-body{background:#f4f7f8;color:#17313a}:root[data-theme="light"] .install-page{background:radial-gradient(circle at 12% 4%,rgba(42,184,198,.10),transparent 28%),radial-gradient(circle at 88% 32%,rgba(40,120,220,.07),transparent 28%),#f4f7f8}:root[data-theme="light"] .install-nav{border-color:#d9e5e8}:root[data-theme="light"] .install-brand{color:#17313a}:root[data-theme="light"] .install-brand small,:root[data-theme="light"] .hero-copy>p,:root[data-theme="light"] .trust-row,:root[data-theme="light"] .section-head p,:root[data-theme="light"] .step-card p,:root[data-theme="light"] .ready-card p{color:#6e818a}:root[data-theme="light"] .login-link{background:#fff;color:#294854;border-color:#d3e0e4}:root[data-theme="light"] .install-secondary{background:#fff;color:#23404c;border-color:#d5e2e6}:root[data-theme="light"] .install-status{background:#edf8f9;color:#28626a;border-color:#c7e6e9}:root[data-theme="light"] .phone-card{background:linear-gradient(145deg,#fff,#f5f9fb);border-color:#d9e5ea;box-shadow:0 35px 75px rgba(31,51,75,.16);color:#17313a}:root[data-theme="light"] .float-chip{background:rgba(255,255,255,.96);border-color:#d5e5ea;box-shadow:0 15px 35px rgba(31,51,75,.13)}:root[data-theme="light"] .ios-guide{background:linear-gradient(145deg,#fff,#f6fafb);border-color:#d9e5ea;color:#17313a}:root[data-theme="light"] .step-card{background:#fff;border-color:#dce7ea}:root[data-theme="light"] .step-icon{background:#eaf5f7;color:#167f8e}:root[data-theme="light"] .ready-card{background:linear-gradient(110deg,#e8f6f7,#fff);border-color:#cde7ea;color:#17313a}:root[data-theme="light"] footer{color:#7a8d96}

/* Keep printed documents neutral; no theme toggle is injected into print views. */
@media print{.theme-toggle{display:none!important}}
@media(max-width:560px){.theme-toggle{width:36px;height:36px;min-width:36px;border-radius:11px}.theme-toggle--floating{top:max(10px,env(safe-area-inset-top));left:10px}.install-nav-actions{gap:6px}}

/* Phase05-B - full-page visual closure. */
.sender-student-label{color:#7dd3fc}.staff-inline-warning{color:#fbbf24}
:root[data-theme="light"] .sender-student-label{color:#1f6f9e}
:root[data-theme="light"] .staff-inline-warning{color:#9b6804}

/* Shared conflict prevention. */
:root[data-theme="light"] body{background-image:none}
:root[data-theme="light"] *{scrollbar-color:#b8c6d6 #edf2f7}
:root[data-theme="light"] *::-webkit-scrollbar-track{background:#edf2f7}
:root[data-theme="light"] *::-webkit-scrollbar-thumb{background:#b8c6d6;border-color:#edf2f7}
:root[data-theme="light"] *::-webkit-scrollbar-thumb:hover{background:#93a8bd}
:root[data-theme="light"] ::selection{background:rgba(25,123,140,.18);color:#172033}
:root[data-theme="light"] :focus-visible{outline-color:#218896}

/* Admin - operations, structure, attendance, messaging, reports, identity and settings. */
:root[data-theme="light"] body.admin-body .filters,
:root[data-theme="light"] body.admin-body .attendance-filter-panel,
:root[data-theme="light"] body.admin-body .leave-filter-panel,
:root[data-theme="light"] body.admin-body .identity-filter-panel,
:root[data-theme="light"] body.admin-body .report-filter-pro,
:root[data-theme="light"] body.admin-body .editor-panel,
:root[data-theme="light"] body.admin-body .structure-actions-panel,
:root[data-theme="light"] body.admin-body .override-list-wrap,
:root[data-theme="light"] body.admin-body .assessment-body,
:root[data-theme="light"] body.admin-body .user-card-body,
:root[data-theme="light"] body.admin-body .admin-chat,
:root[data-theme="light"] body.admin-body .chat-composer,
:root[data-theme="light"] body.admin-body .bulk-toolbar,
:root[data-theme="light"] body.admin-body .editor-submitbar{background:#fff;color:#172033;border-color:#dce5ee;box-shadow:var(--shadow-soft)}
:root[data-theme="light"] body.admin-body .school-structure-head,
:root[data-theme="light"] body.admin-body .schedule-school-head,
:root[data-theme="light"] body.admin-body .ops-kpis>div,
:root[data-theme="light"] body.admin-body .metric-card{background:linear-gradient(145deg,#fff,#f7fafc);border-color:#dce5ee;color:#172033}
:root[data-theme="light"] body.admin-body .ops-kpis strong{color:#24384d}
:root[data-theme="light"] body.admin-body .grades-kpis>div:nth-child(1) strong{color:#996600}
:root[data-theme="light"] body.admin-body .grades-kpis>div:nth-child(2) strong{color:#356fa8}
:root[data-theme="light"] body.admin-body .grades-kpis>div:nth-child(3) strong{color:#087a55}
:root[data-theme="light"] body.admin-body .grades-kpis>div:nth-child(4) strong{color:#167786}
:root[data-theme="light"] body.admin-body .attendance-rate,
:root[data-theme="light"] body.admin-body .compact-stats>div,
:root[data-theme="light"] body.admin-body .current-enrollment-card>div,
:root[data-theme="light"] body.admin-body .readonly-school,
:root[data-theme="light"] body.admin-body .mini-create-form,
:root[data-theme="light"] body.admin-body .request-meta span,
:root[data-theme="light"] body.admin-body .access-columns>div,
:root[data-theme="light"] body.admin-body .appointment-meta>span,
:root[data-theme="light"] body.admin-body .identity-progress-strip>div{background:#f8fafc;border-color:#dce5ee;color:#243448}
:root[data-theme="light"] body.admin-body .rate-track,
:root[data-theme="light"] body.admin-body .report-bar-row>div{background:#e9eff5}
:root[data-theme="light"] body.admin-body .operation-item,
:root[data-theme="light"] body.admin-body .quick-actions>a,
:root[data-theme="light"] body.admin-body .school-row{background:#fff;border-color:#dce5ee;color:#243448}
:root[data-theme="light"] body.admin-body .operation-item:hover,
:root[data-theme="light"] body.admin-body .quick-actions>a:hover{background:#f2f8f9;border-color:#bcd9dd}
:root[data-theme="light"] body.admin-body .operation-item.has-alert{background:#fff9e9;border-color:#ead295}
:root[data-theme="light"] body.admin-body .school-avatar,
:root[data-theme="light"] body.admin-body .guardian-avatar,
:root[data-theme="light"] body.admin-body .identity-row-avatar,
:root[data-theme="light"] body.admin-body .identity-status-card>span,
:root[data-theme="light"] body.admin-body .event-sequence,
:root[data-theme="light"] body.admin-body .avatar-fallback{background:#eaf3f8;color:#356f91}
:root[data-theme="light"] body.admin-body .empty-state{background:#fbfcfd;border-color:#cfdbe7;color:#45586d}
:root[data-theme="light"] body.admin-body .bulk-toolbar button span,
:root[data-theme="light"] body.admin-body .chips span,
:root[data-theme="light"] body.admin-body .school-pill,
:root[data-theme="light"] body.admin-body .section-chips span,
:root[data-theme="light"] body.admin-body .inside-pill,
:root[data-theme="light"] body.admin-body .override-date,
:root[data-theme="light"] body.admin-body .announcement-read-stats span,
:root[data-theme="light"] body.admin-body .report-row-count,
:root[data-theme="light"] body.admin-body .structure-block-head>span,
:root[data-theme="light"] body.admin-body .school-structure-counts span{background:#f2f6f9;border-color:#dce5ee;color:#617286}
:root[data-theme="light"] body.admin-body .school-logo,
:root[data-theme="light"] body.admin-body .photo-preview{background:#eef6f8;border-color:#cfe2e6;color:#197b8c}
:root[data-theme="light"] body.admin-body .profile-avatar,
:root[data-theme="light"] body.admin-body .photo-preview{box-shadow:0 10px 24px rgba(31,51,75,.10)}
:root[data-theme="light"] body.admin-body .structure-tabs{background:#eef3f7;border-color:#dce5ee}
:root[data-theme="light"] body.admin-body .structure-tabs button{background:transparent;color:#5b6e82}
:root[data-theme="light"] body.admin-body .structure-tabs button.active{background:#fff;color:#126776;box-shadow:0 4px 12px rgba(31,51,75,.07)}
:root[data-theme="light"] body.admin-body .structure-item,
:root[data-theme="light"] body.admin-body .grade-tree-row,
:root[data-theme="light"] body.admin-body .shift-row{border-color:#dce5ee}
:root[data-theme="light"] body.admin-body label,
:root[data-theme="light"] body.admin-body .report-filter-grid-pro label,
:root[data-theme="light"] body.admin-auth-page label{color:#4d6075}
:root[data-theme="light"] body.admin-body input::placeholder,
:root[data-theme="light"] body.admin-body textarea::placeholder{color:#97a4b2}
:root[data-theme="light"] body.admin-body input:hover,
:root[data-theme="light"] body.admin-body select:hover,
:root[data-theme="light"] body.admin-body textarea:hover{border-color:#aebdcb}
:root[data-theme="light"] body.admin-body input:disabled,
:root[data-theme="light"] body.admin-body select:disabled,
:root[data-theme="light"] body.admin-body textarea:disabled{background:#f0f3f6!important;color:#7d8997!important;-webkit-text-fill-color:#7d8997}
:root[data-theme="light"] body.admin-body input:-webkit-autofill,
:root[data-theme="light"] body.admin-body input:-webkit-autofill:hover,
:root[data-theme="light"] body.admin-body input:-webkit-autofill:focus{-webkit-text-fill-color:#1d2b3d;box-shadow:0 0 0 1000px #fff inset!important}
:root[data-theme="light"] body.admin-body button,
:root[data-theme="light"] body.admin-body .btn,
:root[data-theme="light"] body.admin-body .button,
:root[data-theme="light"] body.admin-body .ghost-button,
:root[data-theme="light"] body.admin-body .report-presets button,
:root[data-theme="light"] body.admin-body .report-export,
:root[data-theme="light"] body.admin-body .report-inline-exports a,
:root[data-theme="light"] body.admin-body .identity-row-action,
:root[data-theme="light"] body.admin-body .gated-button{background:#fff;color:#425469;border-color:#cfd9e6;box-shadow:none}
:root[data-theme="light"] body.admin-body button:hover,
:root[data-theme="light"] body.admin-body .btn:hover,
:root[data-theme="light"] body.admin-body .button:hover,
:root[data-theme="light"] body.admin-body .ghost-button:hover,
:root[data-theme="light"] body.admin-body .report-presets button:hover,
:root[data-theme="light"] body.admin-body .report-export:hover,
:root[data-theme="light"] body.admin-body .report-inline-exports a:hover{background:#f4f8fa;border-color:#afc4d1}
:root[data-theme="light"] body.admin-body .primary,
:root[data-theme="light"] body.admin-body .report-export.primary{background:linear-gradient(135deg,#289eac,#23859a);border-color:#39b9c5;color:#fff}
:root[data-theme="light"] body.admin-body .danger{background:#fff4f5;border-color:#efb4bb;color:#b52f3e}
:root[data-theme="light"] body.admin-body .soft-success,
:root[data-theme="light"] body.admin-body .quick-in{background:#e8f7ef!important;color:#087a55;border-color:#bde5d2}
:root[data-theme="light"] body.admin-body .soft-danger{background:#fff0f2;color:#b73343;border-color:#efc2c8}
:root[data-theme="light"] body.admin-body .device-mode-switch{background:#f3f6f9;border-color:#d7e1ea}
:root[data-theme="light"] body.admin-body .device-mode-switch button{background:#fff;color:#5a6e84;border-color:#d2dde8}
:root[data-theme="light"] body.admin-body .device-mode-switch button:hover{background:#f7fafc;border-color:#b9cad9}
:root[data-theme="light"] body.admin-body .device-mode-switch button.active.in{background:#e8f7ef;border-color:#b9dfcc;color:#087a55}
:root[data-theme="light"] body.admin-body .device-mode-switch button.active.out{background:#fff5dc;border-color:#ead19b;color:#946200}
:root[data-theme="light"] body.admin-body .badge,
:root[data-theme="light"] body.admin-body .status-pill,
:root[data-theme="light"] body.admin-body .status-pending,
:root[data-theme="light"] body.admin-body .leave-pending{background:#edf2f6;color:#607286}
:root[data-theme="light"] body.admin-body .badge.present,
:root[data-theme="light"] body.admin-body .badge.active,
:root[data-theme="light"] body.admin-body .badge.approved,
:root[data-theme="light"] body.admin-body .badge.published,
:root[data-theme="light"] body.admin-body .status-pill.status-active,
:root[data-theme="light"] body.admin-body .status-pill.status-sent,
:root[data-theme="light"] body.admin-body .status-pill.status-success,
:root[data-theme="light"] body.admin-body .status-pill.status-completed,
:root[data-theme="light"] body.admin-body .status-pill.status-published,
:root[data-theme="light"] body.admin-body .status-present,
:root[data-theme="light"] body.admin-body .leave-approved{background:#e7f7ef;color:#087a55}
:root[data-theme="light"] body.admin-body .badge.late,
:root[data-theme="light"] body.admin-body .badge.pending,
:root[data-theme="light"] body.admin-body .badge.draft,
:root[data-theme="light"] body.admin-body .status-late,
:root[data-theme="light"] body.admin-body .leave-pending,
:root[data-theme="light"] body.admin-body .status-pill.status-draft,
:root[data-theme="light"] body.admin-body .status-pill.status-pending{background:#fff5dc;color:#946200}
:root[data-theme="light"] body.admin-body .badge.absent,
:root[data-theme="light"] body.admin-body .badge.disabled,
:root[data-theme="light"] body.admin-body .badge.rejected,
:root[data-theme="light"] body.admin-body .badge.failed,
:root[data-theme="light"] body.admin-body .status-absent,
:root[data-theme="light"] body.admin-body .leave-rejected,
:root[data-theme="light"] body.admin-body .status-pill.status-disabled,
:root[data-theme="light"] body.admin-body .status-pill.status-failed,
:root[data-theme="light"] body.admin-body .status-pill.status-rejected{background:#fff0f2;color:#b73343}
:root[data-theme="light"] body.admin-body .badge.excused,
:root[data-theme="light"] body.admin-body .badge.holiday,
:root[data-theme="light"] body.admin-body .status-excused,
:root[data-theme="light"] body.admin-body .status-holiday,
:root[data-theme="light"] body.admin-body .status-pill.status-reviewed{background:#edf5fc;color:#356fa8}
:root[data-theme="light"] body.admin-body .notice.ok,
:root[data-theme="light"] body.admin-body .guardian-access-notice{background:#e7f7ef;border-color:#bde5d2;color:#087a55}
:root[data-theme="light"] body.admin-body .notice.warn{background:#fff8e8;border-color:#ead6a8;color:#8b620b}
:root[data-theme="light"] body.admin-body .notice.bad{background:#fff0f2;border-color:#efc2c8;color:#ae3441}
:root[data-theme="light"] body.admin-body .admin-bubble{background:#f7fafc;border-color:#dce5ee;color:#243448}
:root[data-theme="light"] body.admin-body .admin-bubble.from-admin{background:#e9f6f8;border-color:#c9e6e9}
:root[data-theme="light"] body.admin-body .admin-bubble p{color:#30455a}
:root[data-theme="light"] body.admin-body .bubble-author small,
:root[data-theme="light"] body.admin-body .thread-copy span,
:root[data-theme="light"] body.admin-body .thread-title-row small{color:#718196}
:root[data-theme="light"] body.admin-body .thread-card,
:root[data-theme="light"] body.admin-body .announcement-card,
:root[data-theme="light"] body.admin-body .lifecycle-card,
:root[data-theme="light"] body.admin-body .device-card-pro,
:root[data-theme="light"] body.admin-body .report-status-card,
:root[data-theme="light"] body.admin-body .report-metric,
:root[data-theme="light"] body.admin-body .report-type-chip,
:root[data-theme="light"] body.admin-body .export-card,
:root[data-theme="light"] body.admin-body .backup-action-card,
:root[data-theme="light"] body.admin-body .leave-card,
:root[data-theme="light"] body.admin-body .day-schedule-card,
:root[data-theme="light"] body.admin-body .event-row,
:root[data-theme="light"] body.admin-body .identity-status-card,
:root[data-theme="light"] body.admin-body .request-card,
:root[data-theme="light"] body.admin-body .user-card{background:#fff;color:#243448;border-color:#dce5ee;box-shadow:var(--shadow-soft)}
:root[data-theme="light"] body.admin-body .lifecycle-card-head>span,
:root[data-theme="light"] body.admin-body .report-type-chip,
:root[data-theme="light"] body.admin-body .report-status-card small{color:#607286}
:root[data-theme="light"] body.admin-body .pagination-bar a,
:root[data-theme="light"] body.admin-body .pagination-bar span{background:#fff;color:#52677d;border-color:#d7e1ea}

/* Guardian + student - polished page families. */
:root[data-theme="light"] body.g-app .g-welcome{background:linear-gradient(135deg,#fff,#eef8fa);border-color:#d5e8eb;color:#17313a}
:root[data-theme="light"] body.g-app .g-alert-strip{background:#fff8e8;border-color:#ead6a8;color:#7d5d16}
:root[data-theme="light"] body.g-app .g-service-links a,
:root[data-theme="light"] body.g-app .g-grade-summary>div,
:root[data-theme="light"] body.g-app .g-grade-card,
:root[data-theme="light"] body.g-app .g-rate-grid>div,
:root[data-theme="light"] body.g-app .g-month-days article,
:root[data-theme="light"] body.g-app .g-announcement-card,
:root[data-theme="light"] body.g-app .g-appointment-card,
:root[data-theme="light"] body.g-app .g-detail-card,
:root[data-theme="light"] body.g-app .g-compose-card,
:root[data-theme="light"] body.g-app .g-notification-card,
:root[data-theme="light"] body.g-app .g-empty-state,
:root[data-theme="light"] body.g-app .g-grade-summary-card,
:root[data-theme="light"] body.g-app .g-result-card,
:root[data-theme="light"] body.g-app .g-grade-grid--polished .g-grade-card,
:root[data-theme="light"] body.g-app .g-schedule-week--polished .g-schedule-day,
:root[data-theme="light"] body.g-app .g-schedule-image-card--polished{background:#fff;color:#17313a;border-color:#dce7e9;box-shadow:var(--g-shadow)}
:root[data-theme="light"] body.g-app .g-service-links--home a:first-child{background:linear-gradient(145deg,#f0f6ff,#fff);border-color:#cddcf1}
:root[data-theme="light"] body.g-app .g-service-links--home a:last-child{background:linear-gradient(145deg,#f7f1ff,#fff);border-color:#dfd1f1}
:root[data-theme="light"] body.g-app .g-child-card{background:linear-gradient(145deg,#fff,#f8fbfc)}
:root[data-theme="light"] body.g-app .g-today-times>div:first-child{background:linear-gradient(145deg,#eefaf4,#fff);border-color:#c6e7d5}
:root[data-theme="light"] body.g-app .g-today-times>div:last-child{background:linear-gradient(145deg,#fff3f4,#fff);border-color:#efcbd0}
:root[data-theme="light"] body.g-app .g-action-tile--attendance{background:linear-gradient(145deg,#edf9fa,#fff);border-color:#c8e6e9}
:root[data-theme="light"] body.g-app .g-action-tile--grades{background:linear-gradient(145deg,#f7f1ff,#fff);border-color:#dfd1f1}
:root[data-theme="light"] body.g-app .g-action-tile--homework{background:linear-gradient(145deg,#fff8e8,#fff);border-color:#edd9aa}
:root[data-theme="light"] body.g-app .g-action-tile--schedule{background:linear-gradient(145deg,#eefaf4,#fff);border-color:#c8e7d6}
:root[data-theme="light"] body.g-app .g-field>span:first-child{color:#405761}
:root[data-theme="light"] body.g-app .g-field input,
:root[data-theme="light"] body.g-app .g-field select,
:root[data-theme="light"] body.g-app .g-field textarea,
:root[data-theme="light"] body.g-app .g-date-wrap,
:root[data-theme="light"] body.g-app .g-justify-form textarea,
:root[data-theme="light"] body.g-app .g-month-switcher input{background:#fff!important;color:#17313a!important;border-color:#ccdadd!important;-webkit-text-fill-color:#17313a}
:root[data-theme="light"] body.g-app .g-field input::placeholder,
:root[data-theme="light"] body.g-app .g-field textarea::placeholder,
:root[data-theme="light"] body.g-app .g-justify-form textarea::placeholder{color:#98a6ab}
:root[data-theme="light"] body.g-app .g-field input:focus,
:root[data-theme="light"] body.g-app .g-field select:focus,
:root[data-theme="light"] body.g-app .g-field textarea:focus,
:root[data-theme="light"] body.g-app .g-justify-form textarea:focus,
:root[data-theme="light"] body.g-app .g-month-switcher input:focus{background:#fff!important;border-color:#2e98a4;box-shadow:0 0 0 3px rgba(46,152,164,.11)}
:root[data-theme="light"] body.g-app .g-field select option{background:#fff;color:#17313a}
:root[data-theme="light"] body.g-app input[type="date"]::-webkit-calendar-picker-indicator,
:root[data-theme="light"] body.g-app input[type="month"]::-webkit-calendar-picker-indicator{filter:none}
:root[data-theme="light"] body.g-app input:-webkit-autofill,
:root[data-theme="light"] body.g-app input:-webkit-autofill:hover,
:root[data-theme="light"] body.g-app input:-webkit-autofill:focus{-webkit-text-fill-color:#17313a;box-shadow:0 0 0 1000px #fff inset!important}
:root[data-theme="light"] body.g-app .g-primary,
:root[data-theme="light"] body.g-app .g-send-button{background:linear-gradient(135deg,#2aa7b5,#23889d);color:#fff}
:root[data-theme="light"] body.g-app .g-secondary{background:#fff;color:#29414a;border-color:#ccdadd}
:root[data-theme="light"] body.g-app .g-upload{background:#f8fbfc;border-color:#c8d9dd;color:#60767e}
:root[data-theme="light"] body.g-app .g-attachment{background:#f4f8fa;border-color:#d6e3e6;color:#29414a}
:root[data-theme="light"] body.g-app .g-bubble--mine{background:#e7f6f7;border-color:#bfe3e6;color:#17313a}
:root[data-theme="light"] body.g-app .g-bubble--admin{background:#f5f8fa;border-color:#d9e4e6;color:#17313a}
:root[data-theme="light"] body.g-app .g-bubble p{color:#29414a}
:root[data-theme="light"] body.g-app .g-info-strip{background:#e7f6f7;color:#176a73}
:root[data-theme="light"] body.g-app .g-info-strip strong{background:#fff}
:root[data-theme="light"] body.g-app .g-notification-card--unread,
:root[data-theme="light"] body.g-app .g-announcement-card.is-unread{background:#f4fbfc;border-color:#b9dde1}
:root[data-theme="light"] body.g-app .g-notification-content p,
:root[data-theme="light"] body.g-app .g-announcement-card p{color:#4c636b}
:root[data-theme="light"] body.g-app .g-pager a,
:root[data-theme="light"] body.g-app .g-pager>span{background:#fff;color:#536970;border-color:#d6e3e6}
:root[data-theme="light"] body.g-app .g-status-pill--present,
:root[data-theme="light"] body.g-app .g-status-pill--approved{background:#e3f6ee;color:#087a55}
:root[data-theme="light"] body.g-app .g-status-pill--late,
:root[data-theme="light"] body.g-app .g-status-pill--pending,
:root[data-theme="light"] body.g-app .g-priority--important{background:#fff2d2;color:#8b5d00}
:root[data-theme="light"] body.g-app .g-status-pill--absent,
:root[data-theme="light"] body.g-app .g-status-pill--rejected,
:root[data-theme="light"] body.g-app .g-priority--urgent{background:#ffebe8;color:#a32c24}
:root[data-theme="light"] body.g-app .g-status-pill--excused{background:#eaf0ff;color:#3a5fa6}
:root[data-theme="light"] body.g-app .g-status-pill--holiday,
:root[data-theme="light"] body.g-app .g-status-pill--cancelled{background:#edf1f5;color:#5f7285}
:root[data-theme="light"] body.g-app .g-progress,
:root[data-theme="light"] body.g-app .g-result-progress{background:#e8eff2}
:root[data-theme="light"] body.g-app .g-rate-grid i{background:linear-gradient(to left,var(--g-accent) var(--rate),#e8eff2 var(--rate))}
:root[data-theme="light"] body.g-app .g-month-switcher--polished{background:#fff;border-color:#dce7e9}
:root[data-theme="light"] body.g-app .g-rate-card--attendance{background:linear-gradient(145deg,#eefaf4,#fff);border-color:#c6e7d5!important}
:root[data-theme="light"] body.g-app .g-rate-card--punctuality{background:linear-gradient(145deg,#f7f1ff,#fff);border-color:#dfd1f1!important}
:root[data-theme="light"] body.g-app .g-rate-card--attendance strong{color:#087a55}
:root[data-theme="light"] body.g-app .g-rate-card--punctuality strong{color:#7250a8}
:root[data-theme="light"] body.g-app .g-rate-card--attendance i{background:linear-gradient(to left,#2aa977 var(--rate),#e8eff2 var(--rate))}
:root[data-theme="light"] body.g-app .g-rate-card--punctuality i{background:linear-gradient(to left,#8e72c8 var(--rate),#e8eff2 var(--rate))}
:root[data-theme="light"] body.g-app .g-month-days--polished .g-month-day{background:#fff;border-color:#dce7e9}
:root[data-theme="light"] body.g-app .g-academic-tone--cyan{background:linear-gradient(145deg,#edf9fa,#fff)!important}
:root[data-theme="light"] body.g-app .g-academic-tone--violet{background:linear-gradient(145deg,#f7f1ff,#fff)!important}
:root[data-theme="light"] body.g-app .g-academic-tone--amber{background:linear-gradient(145deg,#fff8e8,#fff)!important}
:root[data-theme="light"] body.g-app .g-academic-tone--green{background:linear-gradient(145deg,#eefaf4,#fff)!important}
:root[data-theme="light"] body.g-app .g-grade-summary-card span,
:root[data-theme="light"] body.g-app .g-grade-summary-card small,
:root[data-theme="light"] body.g-app .g-result-card__meta span,
:root[data-theme="light"] body.g-app .g-result-score span,
:root[data-theme="light"] body.g-app .g-result-note{color:#6f838b}
:root[data-theme="light"] body.g-app .g-result-card__meta span,
:root[data-theme="light"] body.g-app .g-result-state{background:#f1f5f7}
:root[data-theme="light"] body.g-app .g-grade-summary-card--average strong,
:root[data-theme="light"] body.g-app .g-result-card--good .g-result-state,
:root[data-theme="light"] body.g-app .g-result-card--good .g-result-score strong{color:#087a55}
:root[data-theme="light"] body.g-app .g-grade-summary-card--count strong{color:#356fa8}
:root[data-theme="light"] body.g-app .g-result-card--warning .g-result-state,
:root[data-theme="light"] body.g-app .g-result-card--warning .g-result-score strong{color:#946200}
:root[data-theme="light"] body.g-app .g-result-card--low .g-result-state,
:root[data-theme="light"] body.g-app .g-result-card--low .g-result-score strong,
:root[data-theme="light"] body.g-app .g-result-card--absent .g-result-state,
:root[data-theme="light"] body.g-app .g-result-card--absent .g-result-score strong{color:#ad2b22}
:root[data-theme="light"] body.g-app .g-result-card--excused .g-result-state,
:root[data-theme="light"] body.g-app .g-result-card--excused .g-result-score strong{color:#3a5fa6}
:root[data-theme="light"] body.g-app .g-schedule-image-card--polished img{background:#f1f5f7}
:root[data-theme="light"] body.g-app .g-week-strip--polished{background:linear-gradient(145deg,#edf9fa,#fff);border-color:#c8e6e9;color:#667c83}
:root[data-theme="light"] body.g-app .g-week-strip--polished strong{color:#087f8c}
:root[data-theme="light"] body.g-app .g-schedule-week--polished .g-schedule-day__head{background:#f7fafb;border-color:#dce7e9}
:root[data-theme="light"] body.g-app .g-schedule-week--polished .g-schedule-day__head span,
:root[data-theme="light"] body.g-app .g-schedule-subject small,
:root[data-theme="light"] body.g-app .g-schedule-time,
:root[data-theme="light"] body.g-app .g-schedule-empty-day{color:#71858c}
:root[data-theme="light"] body.g-app .g-schedule-lesson{border-color:#e3eaec}
:root[data-theme="light"] body.g-app .g-schedule-period{background:#e8f5f7;color:#087f8c}

/* Teacher - complete light coverage, including messaging and grade entry. */
:root[data-theme="light"] body.tp-body,
:root[data-theme="light"] body.tp-login-body{background:#f5f8fc;color:#17283b;background-image:none}
:root[data-theme="light"] body.tp-body .tp-eyebrow{color:#167f8e}
:root[data-theme="light"] body.tp-body .tp-page-subtitle,
:root[data-theme="light"] body.tp-body .tp-hero-meta,
:root[data-theme="light"] body.tp-body .tp-stat-label,
:root[data-theme="light"] body.tp-body .tp-section-hint,
:root[data-theme="light"] body.tp-body .tp-action-text,
:root[data-theme="light"] body.tp-body .tp-scope-sub,
:root[data-theme="light"] body.tp-body .tp-subject-meta,
:root[data-theme="light"] body.tp-body .tp-item-meta,
:root[data-theme="light"] body.tp-body .tp-message-time,
:root[data-theme="light"] body.tp-body .tp-login-subtitle,
:root[data-theme="light"] body.tp-login-body .tp-login-subtitle,
:root[data-theme="light"] body.tp-login-body .tp-login-foot{color:#667b91}
:root[data-theme="light"] body.tp-body .tp-card,
:root[data-theme="light"] body.tp-body .tp-card-soft,
:root[data-theme="light"] body.tp-body .tp-panel,
:root[data-theme="light"] body.tp-login-body .tp-login-card{background:#fff;color:#17283b;border-color:#d9e3ed;box-shadow:var(--tp-shadow)}
:root[data-theme="light"] body.tp-body .tp-hero{background:linear-gradient(145deg,#fff,#f5fafc);border-color:#d9e3ed}
:root[data-theme="light"] body.tp-body .tp-hero::before{background:rgba(22,127,142,.08)}
:root[data-theme="light"] body.tp-body .tp-hero::after{background:rgba(53,111,174,.06)}
:root[data-theme="light"] body.tp-body .tp-avatar{background:linear-gradient(145deg,#e8f5f7,#eef4fb);border-color:#c6e5e8;color:#167f8e}
:root[data-theme="light"] body.tp-body .tp-stat-mini{background:#f7fafc;border-color:#e0e8ef}
:root[data-theme="light"] body.tp-body .tp-action-icon,
:root[data-theme="light"] body.tp-body .tp-scope-dot,
:root[data-theme="light"] body.tp-body .tp-empty-icon,
:root[data-theme="light"] body.tp-body .tp-subject-icon,
:root[data-theme="light"] body.tp-body .tp-message-avatar{background:#e9f5f7;color:#167f8e}
:root[data-theme="light"] body.tp-body .tp-action-card.purple .tp-action-icon,
:root[data-theme="light"] body.tp-body .tp-subject-card:nth-child(4n+2) .tp-subject-icon{background:#f0eafd;color:#7250a8}
:root[data-theme="light"] body.tp-body .tp-action-card.blue .tp-action-icon{background:#eaf0fb;color:#356fae}
:root[data-theme="light"] body.tp-body .tp-subject-card:nth-child(4n+3) .tp-subject-icon{background:#e7f7ef;color:#16815c}
:root[data-theme="light"] body.tp-body .tp-subject-card:nth-child(4n+4) .tp-subject-icon{background:#fff5dc;color:#9b690b}
:root[data-theme="light"] body.tp-body .tp-empty{background:#fafcfd;border-color:#cfdbe7;color:#667b91}
:root[data-theme="light"] body.tp-body .tp-btn-secondary{background:#fff;color:#42566d;border-color:#ccd9e5}
:root[data-theme="light"] body.tp-body .tp-btn-danger{background:#fff0f2;color:#b53545;border-color:#efc0c7}
:root[data-theme="light"] body.tp-body .tp-btn-purple{background:#f2edff;color:#6650ad;border-color:#ded2fb}
:root[data-theme="light"] body.tp-body .tp-btn-primary{color:#fff}
:root[data-theme="light"] body.tp-body .tp-subject-chevron{color:#8294a7}
:root[data-theme="light"] body.tp-body .tp-badge-cyan{background:#e5f6f7;color:#167f8e;border-color:#c5e6e9}
:root[data-theme="light"] body.tp-body .tp-badge-green{background:#e7f7ef;color:#16815c;border-color:#c5e7d6}
:root[data-theme="light"] body.tp-body .tp-badge-amber{background:#fff5dc;color:#9b690b;border-color:#ead5a3}
:root[data-theme="light"] body.tp-body .tp-badge-purple{background:#f0eafd;color:#7250a8;border-color:#dbcef5}
:root[data-theme="light"] body.tp-body .tp-badge-red{background:#fff0f2;color:#b53545;border-color:#efc0c7}
:root[data-theme="light"] body.tp-body .tp-item-body{color:#42576d}
:root[data-theme="light"] body.tp-body .tp-assessment-card{border-color:#d9e3ed;border-inline-end-color:#b6a8ea}
:root[data-theme="light"] body.tp-body .tp-score-row{background:#f8fafc;border-color:#e0e8ef}
:root[data-theme="light"] body.tp-body .tp-student-name{color:#23394f}
:root[data-theme="light"] body.tp-body .tp-alert-success{background:#e7f7ef;border-color:#c5e7d6;color:#087a55}
:root[data-theme="light"] body.tp-body .tp-alert-error{background:#fff0f2;border-color:#efc0c7;color:#b53545}
:root[data-theme="light"] body.tp-login-body .tp-login-logo{background:linear-gradient(145deg,#e2f4f6,#edf4fb);border-color:#c4e4e8;color:#167f8e;box-shadow:0 18px 45px rgba(31,51,75,.08)}

/* Neutral print closure. */
@media print{:root[data-theme="light"] body{background:#fff!important;color:#000!important}.theme-toggle,.ui-modal-backdrop,.ui-toast-stack{display:none!important}}

/* Phase05-B residual component closure from full class audit. */
:root[data-theme="light"] body.admin-body .attendance-kpi,
:root[data-theme="light"] body.admin-body .leave-kpi,
:root[data-theme="light"] body.admin-body .student-summary-strip>div,
:root[data-theme="light"] body.admin-body .structure-summary>div,
:root[data-theme="light"] body.admin-body .profile-stat-grid>div,
:root[data-theme="light"] body.admin-body .school-structure-card,
:root[data-theme="light"] body.admin-body .day-summary-grid>div,
:root[data-theme="light"] body.admin-body .schedule-school-card,
:root[data-theme="light"] body.admin-body .assessment-card,
:root[data-theme="light"] body.admin-body .archive-panel,
:root[data-theme="light"] body.admin-body .identity-student-row,
:root[data-theme="light"] body.admin-body .guardian-selected-card,
:root[data-theme="light"] body.admin-body .request-reason,
:root[data-theme="light"] body.admin-body .auto-pin-note,
:root[data-theme="light"] body.admin-body .selection-note{background:#fff;color:#243448;border-color:#dce5ee;box-shadow:var(--shadow-soft)}
:root[data-theme="light"] body.admin-body .check-grid .check,
:root[data-theme="light"] body.admin-body .override-item,
:root[data-theme="light"] body.admin-body .date-shell{background:#f8fafc;color:#41556a;border-color:#dce5ee}
:root[data-theme="light"] body.admin-body .attendance-live-bar{background:#f4faf9;border-color:#cfe7df;color:#2f5f52}
:root[data-theme="light"] body.admin-body .identity-tip{background:#eef8fa;color:#3e6870;border-color:#cfe6e9}
:root[data-theme="light"] body.admin-body .identity-tech-details code{background:#eef3f7;color:#33495f;border-color:#d8e1ea}
:root[data-theme="light"] body.admin-body .approve-btn{background:#e7f7ef!important;color:#087a55!important;border-color:#bde5d2!important}
:root[data-theme="light"] body.admin-body .capture-stop{background:#fff0f2!important;color:#b73343!important;border-color:#efc2c8!important}
:root[data-theme="light"] body.admin-body .metric-icon{color:#167786}
:root[data-theme="light"] body.admin-body .auth-mark{background:linear-gradient(145deg,#e8f5f7,#edf4fb);border-color:#c5e3e7;color:#167786}
:root[data-theme="light"] body.admin-body .qr,
:root[data-theme="light"] body.admin-body .barcode,
:root[data-theme="light"] body.admin-body .qr-code,
:root[data-theme="light"] body.admin-body .barcode-code{background:#fff!important;color:#111!important;border-color:#dce5ee!important}

:root[data-theme="light"] body.g-app .g-soft-action,
:root[data-theme="light"] body.g-app .g-back,
:root[data-theme="light"] body.g-app .g-count-chip,
:root[data-theme="light"] body.g-app .g-grade-pct,
:root[data-theme="light"] body.g-app .g-notification-icon,
:root[data-theme="light"] body.g-app .g-attach-button{background:#f3f7f8;color:#526970;border-color:#d7e3e6}
:root[data-theme="light"] body.g-app .g-push-enable{background:#e7f6f7;color:#087f8c;border-color:#c6e4e7}
:root[data-theme="light"] body.g-app .g-push-enable:disabled{background:#e3f6ee;color:#087a55;border-color:#c4e6d5}
:root[data-theme="light"] body.g-app .g-attendance-day,
:root[data-theme="light"] body.g-app .g-leave-card,
:root[data-theme="light"] body.g-app .g-chat-head,
:root[data-theme="light"] body.g-app .g-reply-box,
:root[data-theme="light"] body.g-app .g-homework-summary--polished,
:root[data-theme="light"] body.g-app .g-homework-card--polished{background:#fff;color:#17313a;border-color:#dce7e9;box-shadow:var(--g-shadow)}
:root[data-theme="light"] body.g-app .g-student-meta,
:root[data-theme="light"] body.g-app .g-appointment-meta>span{border-color:#dce7e9}
:root[data-theme="light"] body.g-app .g-student-avatar,
:root[data-theme="light"] body.g-app .g-mini-avatar,
:root[data-theme="light"] body.g-app .g-thread-avatar{background:#eaf5f7;color:#087f8c;border-color:#cfe5e8}
:root[data-theme="light"] body.g-app .g-status-dot{border-color:#fff}
:root[data-theme="light"] body.g-app .g-metric{background:#fff;border-color:#dce7e9;color:#17313a}
:root[data-theme="light"] body.g-app .g-metric--school-days{background:linear-gradient(145deg,#f7fafb,#fff)}
:root[data-theme="light"] body.g-app .g-metric--present{background:linear-gradient(145deg,#eefaf4,#fff)}
:root[data-theme="light"] body.g-app .g-metric--late{background:linear-gradient(145deg,#fff8e8,#fff)}
:root[data-theme="light"] body.g-app .g-metric--absent{background:linear-gradient(145deg,#fff1f2,#fff)}
:root[data-theme="light"] body.g-app .g-metric--excused{background:linear-gradient(145deg,#f0f5ff,#fff)}
:root[data-theme="light"] body.g-app .g-metric--early{background:linear-gradient(145deg,#fff5f4,#fff)}
:root[data-theme="light"] body.g-app .g-toast--danger,
:root[data-theme="light"] body.g-app .g-auth-error{background:#ffebe8;color:#9d2b23;border-color:#efc8c4}
:root[data-theme="light"] body.g-app .g-auth-mobile-logo,
:root[data-theme="light"] body.g-app .g-auth-logo{background:linear-gradient(145deg,#e8f5f7,#edf4fb);color:#087f8c;border-color:#cfe5e8}
:root[data-theme="light"] body.g-app .g-auth-feature>span{background:#e7f6f7;color:#087f8c}
:root[data-theme="light"] body.g-app .g-subject-grade-card__icon,
:root[data-theme="light"] body.g-app .g-academic-card__icon{box-shadow:none}
:root[data-theme="light"] body.g-app .g-subject-grade-card__count{background:#f2f6f8;color:#61767d}
:root[data-theme="light"] body.g-app .g-homework-due{background:#fff5dc;color:#946200}
:root[data-theme="light"] body.g-app .g-homework-body{color:#4c636b}
:root[data-theme="light"] body.g-app .g-homework-image img{background:#eef3f5;border-color:#dce7e9}
