/* Palette bridge: retain role layouts and semantic success/warning/error colors. */
:root{--school-ink:var(--text);--school-accent:var(--primary);--school-bg:var(--bg);--school-line:var(--border);--sp-primary:var(--primary);--sp-bg:var(--bg);--sp-line:var(--border);--sp-text:var(--text);--cui-primary:var(--primary);--cui-link-color:var(--primary);--cui-link-hover-color:var(--primary-dark);--cui-border-color:var(--border)}
body.school-app,body.login-page{background:var(--bg)}
body.school-app #sidebar.school-sidebar{background:linear-gradient(165deg,var(--primary-dark),var(--primary))}
body.school-app .main,.school-app .sp-content,.login-page{background:radial-gradient(ellipse at top right,color-mix(in srgb,var(--primary) 12%,transparent),transparent 55%),var(--bg)!important}
.school-nav-title,.school-brand small{color:#ffffffb8}.school-nav-link{color:#ffffffe0}.school-nav-link[aria-current]{color:white;box-shadow:inset 3px 0 var(--accent)}
.school-app h1,.school-app h2,.school-app h3,.school-app h4,.school-app h5,.school-app h6,.school-app .sp-hero h1,.school-app .sp-stat strong{color:var(--primary)}
.school-app .card,.school-app .sp-card{border-color:var(--border)!important}
.school-app .gradient-card{background:linear-gradient(135deg,var(--primary-dark),var(--primary))!important}
.school-app .gradient-card h1,.school-app .gradient-card h2,.school-app .gradient-card h3,.school-app .gradient-card h4,.school-app .gradient-card h5,.school-app .gradient-card h6{color:white}
.school-app .sp-table th,.admin-app .table-crud thead th,.school-app .sp-hero-date{background:color-mix(in srgb,var(--primary) 8%,white);color:var(--primary-dark)}
.school-app .btn-primary{--cui-btn-bg:var(--primary);--cui-btn-border-color:var(--primary);--cui-btn-hover-bg:var(--primary-dark);--cui-btn-hover-border-color:var(--primary-dark);--cui-btn-active-bg:var(--primary-dark);--cui-btn-active-border-color:var(--primary-dark)}
.school-app .btn-primary:hover,.school-app .btn-primary:active,.school-app .sp-btn:not(.secondary):hover{background:var(--primary-dark);border-color:var(--primary-dark);color:white}
.school-app .btn-outline-primary{--cui-btn-color:var(--primary);--cui-btn-border-color:var(--primary);--cui-btn-hover-bg:var(--primary);--cui-btn-hover-border-color:var(--primary);--cui-btn-active-bg:var(--primary-dark)}
.school-app .form-control:focus,.school-app .form-select:focus,.login-page .form-floating-custom .form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}
.school-app :focus-visible,.login-page :focus-visible{outline-color:var(--primary)}
.admin-app .form-label{color:var(--text)}
.school-app .form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}
.login-brand,.login-title,.login-page .login-title,.login-back,.login-intro h2,.login-page .form-floating-custom .form-control:focus~label{color:var(--primary)}
.login-page .login-eyebrow,.login-page .login-logo{color:var(--primary);background:var(--bg)}
.login-page .accent-bar{background:linear-gradient(90deg,var(--primary),var(--accent))}
.login-page .btn-login{background:var(--primary)}.login-page .btn-login:hover{background:var(--primary-dark)}
