:root{--page:#f5f3f5;--surface:#fff;--surface-soft:#f0edf1;--surface-raised:#e9e4e9;--border:#c4b9c0;--control-border:#8d7d87;--text:#302b32;--muted:#6c626d;--rail:#211d24;--accent:#751442;--accent-hover:#641037;--accent-soft:#f7e5ed;--accent-panel:var(--accent);--accent-panel-hover:var(--accent-hover);--accent-ink:var(--text);--link:var(--text);--focus:#9e1459;--workspace-sidebar:252px;--sidebar-selected:var(--accent);--ui-font-heading:24px;--ui-font-section:16px;--ui-font-body:13px;--ui-font-card:16px;--ui-font-caption:12px;--ui-panel-padding:24px;--ui-space-sections:24px;--ui-control-height:44px;--ui-table-row-height:56px;--ui-table-cell-x:16px;--ui-table-cell-y:12px;--ui-table-head-x:16px;--ui-table-head-y:12px}html[data-theme=dark]{--page:#141318;--surface:#1c1b20;--surface-soft:#2b292f;--surface-raised:#36343a;--border:#6c5e67;--control-border:#8d7b86;--text:#f4f1f6;--muted:#c5bec9;--rail:#18171c;--accent-soft:#38232e;--focus:#ffb0ca;--learning-border:#a8748c}body{font-size:var(--ui-font-body)}::selection{color:#30212a;background:#e7a6c1}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}a{text-decoration:none}.sidebar{border-right:1px solid #51434e;padding:24px 12px 16px}.sidebar .brand-link{border-bottom:1px solid #51434e;padding:0 12px 16px}.sidebar .brand strong{letter-spacing:.02em;font-size:20px}.sidebar .brand small{color:#d2c6d0;font-size:9px}.sidebar .sidebar-label{color:#c5b9c4;margin:20px 12px 8px;font-size:12px}.sidebar .nav-item{border-radius:6px;gap:12px;min-height:40px;padding:8px 12px;font-size:13px}.sidebar .nav-item.selected{background:var(--accent);color:#fff;box-shadow:inset 3px 0 #e7a6c1}.sidebar .nav-item:hover{color:#fff;background:#352a34}.sidebar .nav-item.selected:hover{background:var(--accent-hover)}.sidebar .nav-item .nav-icon{flex:0 0 18px;width:18px;height:18px}.sidebar-group{margin-top:16px}.sidebar-group>summary{color:#c5b9c4;min-height:36px;padding:8px 12px}.sidebar .sidebar-group-items{border:0;gap:2px;margin-left:0;padding-left:0}.sidebar .sidebar-bottom{border-color:#51434e;padding:16px 12px 0}.topbar{background:var(--surface);min-height:72px;padding:12px 32px}.topbar .breadcrumb,.topbar .account-name small{color:var(--muted)}.topbar .breadcrumb>span{color:var(--muted);padding-inline:8px}.topbar :is(.theme-toggle,.menu-toggle){border:1px solid var(--border);color:var(--text);border-radius:8px}.topbar .avatar{background:var(--accent-soft);color:var(--text);border:1px solid var(--border)}.page-content{padding:28px 32px 40px}.page-content :is(.panel,.home-panel,.activity-card,.activity-entry,.notification-entry,.teaching-card,.school-election-entry,.election-period,.permission-request,.complaint-inbox-item,.cbt-exam-card){box-shadow:none;border-radius:8px}.page-content .page-heading{align-items:center;gap:16px}.page-content .page-heading h1{margin:0 0 8px;font-weight:600;line-height:1.35}.page-content .page-heading .muted{max-width:80ch}.page-content .panel-heading h2{font-weight:600}.page-content .button,.portal-auth .button{border-radius:8px;min-height:44px;padding:10px 16px;font-weight:500}.page-content :is(input:not([type=checkbox],[type=radio],[type=hidden],[type=range],[type=color]),select,textarea){background:var(--surface);border-color:var(--control-border);border-radius:8px}.page-content .field-label{margin-top:16px}.page-content .form-actions{margin-top:24px;padding-top:20px}.page-content .table-scroll{border-radius:8px}.page-content .data-table thead th,html[data-theme=dark] .page-content .data-table thead th{background:var(--surface-raised);color:var(--text);border-bottom-color:var(--control-border)}.page-content .data-table tbody td{padding:12px 16px;font-size:13px}.page-content .data-table tbody tr:hover{background:var(--surface-soft)}.page-content :is(.directory-layout,.report-layout,.data-panel){border-radius:8px}.page-content :is(.directory-filters,.report-criteria){background:var(--surface)}.page-content .filter-bar{gap:12px}.page-content :is(.module-tabs,.academic-tabs){gap:8px}.page-content :is(.notice,.filling-guide,.counseling-status-guide,.credentials-card){border-radius:8px}.school-home .home-welcome,html[data-theme=dark] .school-home .home-welcome{background:var(--surface);border-color:var(--border);border-left:4px solid var(--accent);border-radius:8px;padding:24px}.school-home .home-welcome:before{display:none}.school-home .home-welcome :is(h1,.home-context,p,.home-context>span){color:var(--text)}.school-home .home-welcome .home-context{color:var(--muted);font-size:12px}.school-home .home-welcome p:not(.home-context){color:var(--muted)}.school-home .home-welcome .home-calendar{color:#e5e1e8;background:#2b292f;border-color:#8d7b86}.school-home .home-welcome .home-calendar strong{color:#fff}.school-home .home-welcome .home-calendar>span{color:#e5e1e8}.page-content .home-refreshed .stat-grid>.stat-card:nth-child(n){background:var(--surface);border-color:var(--border)}.page-content .home-refreshed .stat-grid>.stat-card:nth-child(n) :is(strong,p,small){color:var(--text)}.page-content .home-refreshed .stat-grid>.stat-card:nth-child(n) :is(p,small){color:var(--muted)}.school-home .home-shortcuts>a:nth-child(n),.school-home .home-admin-actions>a:nth-child(n){background:var(--surface);border-color:var(--border);border-radius:8px}.school-home .home-shortcuts>a:nth-child(n) :is(strong,span,svg),.school-home .home-admin-actions>a:nth-child(n) :is(strong,span,svg){color:var(--text)}.school-home .home-shortcuts>a:nth-child(n)>span,.school-home .home-admin-actions>a:nth-child(n)>span{color:var(--muted)}.school-home .home-shortcuts>a:nth-child(n):hover,.school-home .home-admin-actions>a:nth-child(n):hover{background:var(--surface-soft);border-color:var(--control-border)}.school-home .home-today>.home-panel-heading{background:var(--surface-soft)}.school-home .home-today>.home-panel-heading :is(h2,p){color:var(--text)}.school-home .home-account,.school-home .home-support,.home-quick-panel{background:var(--surface);border-radius:8px}.page-content .activity-card-body,.page-content .organization-program-description{line-height:1.75}.database-guide-heading{background:var(--surface-soft);color:var(--text);border-bottom:1px solid var(--border);border-left:4px solid var(--accent)}.database-section .database-guide-heading h3,.database-guide-heading p{color:var(--text)}.database-instructions{background:var(--surface)}.dashboard-footer{color:var(--muted);padding:20px 32px}.auth-shell.portal-auth{background:var(--page);justify-content:center;align-items:center;min-height:100svh;padding:48px 24px;display:flex}.portal-auth-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:minmax(0,5fr) minmax(0,7fr);width:100%;max-width:1080px;display:grid;overflow:hidden}.portal-auth .auth-identity{background:var(--surface-soft);color:var(--text);border-right:1px solid var(--border);flex-direction:column;justify-content:flex-start;gap:32px;padding:32px;display:flex;position:static}.portal-school-heading{align-items:center;gap:16px;display:flex}.portal-school-heading img{object-fit:contain;flex:0 0 64px;width:64px;height:64px}.portal-school-heading span{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.portal-school-heading h2{color:var(--text);font-size:16px;font-weight:600;line-height:1.5}.portal-auth .portal-label{color:var(--muted);margin:0 0 8px;font-size:12px;line-height:1.6}.portal-school-intro{padding-block:8px}.portal-school-intro h1{letter-spacing:.01em;margin:0 0 12px;font-size:36px;font-weight:600;line-height:1.2}.portal-school-intro>p:last-child{color:var(--text);max-width:32ch;font-size:14px;line-height:1.8}.portal-school-services{border-block:1px solid var(--border);gap:16px;margin:0;padding-block:20px;display:grid}.portal-school-services dt{margin-bottom:4px;font-size:13px;font-weight:600}.portal-school-services dd{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.portal-auth .auth-identity .portal-school-location{color:var(--muted);justify-content:space-between;gap:16px;margin-top:auto;font-size:12px;display:flex}.portal-auth .auth-form-panel{background:var(--surface);flex-direction:column;min-height:0;padding:32px;display:flex}.portal-auth .auth-form{width:100%;max-width:none;box-shadow:none;background:0 0;border:0;padding:0}.portal-auth .auth-form h2{color:var(--text);margin:0 0 8px;font-size:24px;font-weight:600;line-height:1.35}.portal-auth .auth-form>.muted{margin:0 0 24px;font-size:13px;line-height:1.7}.portal-auth .role-picker{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;margin-bottom:24px;padding:4px}.portal-auth .role-picker span{min-height:40px;color:var(--text);border-radius:6px;justify-content:center;align-items:center;padding:8px 12px;font-size:13px;display:flex}.portal-auth .role-picker input:checked+span{background:var(--accent);color:#fff}.portal-auth .role-picker input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.portal-auth .field-label{color:var(--text);margin:16px 0 8px;font-size:13px}.portal-auth input:not([type=radio]){background:var(--surface-soft);border-color:var(--control-border);border-radius:8px;min-height:44px;padding:10px 12px;font-size:14px}.portal-auth .password-field input{padding-right:68px}.portal-auth .password-field button{color:var(--text)}.portal-auth .field-help{color:var(--muted);font-size:12px;line-height:1.7}.portal-auth .field-error{color:var(--danger-ink);font-size:12px;line-height:1.6}.required-mark{color:var(--danger-ink)}.portal-password-label{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.portal-password-label a{color:var(--muted);font-size:12px}.portal-password-label a:hover{color:var(--text)}.portal-auth .auth-submit-btn{margin-top:24px}.portal-login-alternate{text-align:center;margin-top:12px}.portal-login-alternate a{min-height:44px;color:var(--text);justify-content:center;align-items:center;gap:8px;font-size:12px;display:inline-flex}.portal-login-alternate svg{width:16px;height:16px}.portal-auth .login-help{border:1px solid var(--border);background:var(--surface-soft);border-radius:8px;margin-top:24px;padding:16px}.portal-auth .login-help h3{color:var(--text);margin:0 0 8px;font-size:13px;font-weight:600}.portal-auth .login-help p{color:var(--muted);margin:0;font-size:12px;line-height:1.75}.portal-auth .auth-footer{border-top:1px solid var(--border);text-align:left;color:var(--muted);margin-top:24px;padding:16px 0 0;font-size:12px;line-height:1.7}.splash{background:var(--page);color:var(--text)}.splash :is(h1,p,.text-link){color:var(--text)}@media (width<=1050px){.topbar{padding-inline:24px}.page-content,.portal-auth .auth-identity,.portal-auth .auth-form-panel{padding:24px}.portal-auth .auth-identity{gap:24px}.portal-school-heading{align-items:flex-start;gap:12px}.portal-school-heading img{flex-basis:56px;width:56px;height:56px}.portal-school-intro h1{font-size:32px}}@media (width<=800px){.portal-auth-card{grid-template-columns:minmax(0,1fr);max-width:560px}.portal-auth .auth-identity{border-right:0;border-bottom:1px solid var(--border);gap:16px;display:flex}.portal-school-intro{padding:0}.portal-school-intro h1{margin-bottom:8px;font-size:28px}.portal-school-intro>p:last-child{max-width:none;font-size:13px}.portal-school-services,.portal-auth .auth-identity .portal-school-location{display:none}.topbar{min-height:64px}}@media (width<=600px){:root{--ui-font-heading:20px;--ui-panel-padding:16px;--ui-space-sections:16px}.auth-shell.portal-auth{align-items:flex-start;padding:24px 12px}.portal-auth .auth-identity,.portal-auth .auth-form-panel{padding:20px}.portal-auth .auth-form h2{font-size:20px}.portal-auth input:not([type=radio]){font-size:16px}.portal-school-heading h2{font-size:14px}.portal-school-heading img{flex-basis:48px;width:48px;height:48px}.portal-password-label{gap:8px}.portal-password-label a{font-size:12px}.page-content{padding:20px 16px 32px}.topbar{padding-inline:16px}.page-content .page-heading h1{font-size:20px}.page-content .data-table tbody td{padding:12px}.school-home .home-welcome,.dashboard-footer{padding:16px}}@media (prefers-reduced-motion:reduce){.portal-auth *,.dashboard-shell *{scroll-behavior:auto}}
