/* Five visual options. Colors affect the app shell only, never generated forms. */
:root[data-school-theme="ocean"],:host([data-school-theme="ocean"]){--green:#175b8b;--green2:#103c62;--green3:#144a74;--gold:#d3a555;--bg:#f1f6fa;--card:#fff;--panel:#fff;--soft:#e5f1f9;--line:#d7e3ed;--theme-sidebar-end:#0a2947;--theme-tint:#edf6fc;--theme-radius:16px;--theme-accent:#d3a555}
:root[data-school-theme="sunset"],:host([data-school-theme="sunset"]){--green:#a64132;--green2:#702b25;--green3:#8a352b;--gold:#d09143;--bg:#fff7f2;--card:#fffdfa;--panel:#fffdfa;--soft:#fbe8df;--line:#ecdcd4;--theme-sidebar-end:#492421;--theme-tint:#fff0e6;--theme-radius:19px;--theme-accent:#d09143}
:root[data-school-theme="orchid"],:host([data-school-theme="orchid"]){--green:#69459b;--green2:#442d70;--green3:#593d83;--gold:#bfa0d6;--bg:#f7f4fb;--card:#fff;--panel:#fff;--soft:#f0eaf8;--line:#e3dbee;--theme-sidebar-end:#2d2050;--theme-tint:#f4eefb;--theme-radius:21px;--theme-accent:#bfa0d6}
:root[data-school-theme="slate"],:host([data-school-theme="slate"]){--green:#34465e;--green2:#24374d;--green3:#31465b;--gold:#b98b38;--bg:#f3f5f8;--card:#fff;--panel:#fff;--soft:#e9edf4;--line:#dce1e9;--theme-sidebar-end:#182b3e;--theme-tint:#eef1f6;--theme-radius:11px;--theme-accent:#b98b38}
:root[data-school-theme="evergreen"],:host([data-school-theme="evergreen"]){--theme-sidebar-end:#052f22;--theme-tint:#eef8f2;--theme-radius:13px;--theme-accent:#d6aa3a}
:root[data-school-theme="photo"],:host([data-school-theme="photo"]){--theme-sidebar-end:#052f22;--theme-tint:#eef8f2;--theme-radius:13px;--theme-accent:#d6aa3a}
:root[data-school-theme]:not([data-school-theme="evergreen"]) body,:host([data-school-theme]:not([data-school-theme="evergreen"])) #attendanceModuleRoot{background:var(--bg);color:var(--ink)}
:root[data-school-theme]:not([data-school-theme="evergreen"]) .sidebar,:host([data-school-theme]:not([data-school-theme="evergreen"])) .sidebar{background:linear-gradient(180deg,var(--green2),var(--theme-sidebar-end))}
:root[data-school-theme]:not([data-school-theme="evergreen"]) .card,:host([data-school-theme]:not([data-school-theme="evergreen"])) .card{background:var(--card,var(--panel));border-color:var(--line);border-radius:var(--theme-radius)}
:root[data-school-theme]:not([data-school-theme="evergreen"]) .main .card,:host([data-school-theme]:not([data-school-theme="evergreen"])) .main .card{border-top:2px solid var(--theme-accent)}
:root[data-school-theme]:not([data-school-theme="evergreen"]) .auth-screen,:host([data-school-theme]:not([data-school-theme="evergreen"])) .auth-screen{background:radial-gradient(circle at 12% 12%,var(--theme-tint),transparent 42%),linear-gradient(140deg,var(--bg),var(--theme-tint))}
:root[data-school-theme]:not([data-school-theme="evergreen"]) .btn.primary,:host([data-school-theme]:not([data-school-theme="evergreen"])) .btn.primary{background:var(--green);border-color:var(--green);color:#fff}
:root[data-school-theme]:not([data-school-theme="evergreen"]) .tab.active,:host([data-school-theme]:not([data-school-theme="evergreen"])) .tab.active{background:var(--green);border-color:var(--green);color:#fff}
:root[data-school-theme]:not([data-school-theme="evergreen"]) .status-chip:not(.offline),:host([data-school-theme]:not([data-school-theme="evergreen"])) .status-chip:not(.offline){background:var(--soft);color:var(--green2)}
:root[data-school-theme] th,:host([data-school-theme]) th{background:var(--theme-tint)}
:root[data-school-theme]:not([data-school-theme="evergreen"]) .about-hero{background:linear-gradient(135deg,var(--green2),var(--green));border-radius:var(--theme-radius)}
.school-theme-section{margin-top:15px}
.theme-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(156px,1fr));gap:12px;margin-top:15px}
.theme-choice{--preview-main:#0b6845;--preview-tint:#eef8f2;display:grid;gap:5px;padding:12px;border:2px solid var(--line);border-radius:16px;cursor:pointer;background:var(--card,#fff);color:var(--ink);min-width:0}
.theme-choice[data-theme-choice="ocean"]{--preview-main:#175b8b;--preview-tint:#edf6fc}
.theme-choice[data-theme-choice="sunset"]{--preview-main:#a64132;--preview-tint:#fff0e6}
.theme-choice[data-theme-choice="orchid"]{--preview-main:#69459b;--preview-tint:#f4eefb}
.theme-choice[data-theme-choice="slate"]{--preview-main:#34465e;--preview-tint:#eef1f6}
.theme-choice[data-theme-choice="photo"]{--preview-main:#0b6845;--preview-tint:#e7f1eb}
.theme-choice[data-theme-choice="photo"] .theme-preview{background:linear-gradient(135deg,#dbe8da 25%,#8dbaa8 60%,#d8bf89)}
.school-photo-upload{margin-top:16px;max-width:540px}
.school-photo-preview{width:min(100%,480px);height:180px;border:1px dashed var(--line);border-radius:12px;background:#edf3ed center/cover no-repeat;display:none;margin-top:8px}
.school-photo-preview.has-photo{display:block}
:root[data-school-theme="photo"] body{background-image:linear-gradient(rgba(244,248,246,.80),rgba(244,248,246,.80)),var(--school-photo-url);background-position:center;background-size:cover;background-attachment:fixed}
:root[data-school-theme="photo"] .auth-screen{background-image:linear-gradient(rgba(240,247,242,.58),rgba(240,247,242,.58)),var(--school-photo-url);background-position:center;background-size:cover}
:root[data-school-theme="photo"] .main{min-height:100vh;background-image:linear-gradient(rgba(244,248,246,.78),rgba(244,248,246,.78)),var(--school-photo-url);background-position:center;background-size:cover;background-attachment:fixed}
:root[data-school-theme="photo"] .sidebar{background:linear-gradient(180deg,rgba(7,52,37,.93),rgba(5,32,25,.90)),var(--school-photo-url) center/cover}
:host([data-school-theme="photo"]) #attendanceModuleRoot{background-image:linear-gradient(rgba(244,248,246,.82),rgba(244,248,246,.82)),var(--school-photo-url);background-position:center;background-size:cover}
:host([data-school-theme="photo"]) .sidebar{background:linear-gradient(180deg,rgba(7,52,37,.93),rgba(5,32,25,.90)),var(--school-photo-url) center/cover}
.theme-choice:has(input:checked){border-color:var(--preview-main);box-shadow:0 0 0 3px var(--preview-tint)}
.theme-choice:focus-within{outline:3px solid var(--preview-main);outline-offset:2px}
.theme-choice input{accent-color:var(--preview-main);width:17px;height:17px;margin:0}
.theme-preview{height:76px;display:grid;grid-template-columns:26% 1fr;border:1px solid #d6dce3;border-radius:9px;overflow:hidden;background:var(--preview-tint)}
.theme-preview>i{background:var(--preview-main)}
.theme-preview>span{padding:12px;display:grid;gap:7px;align-content:center}
.theme-preview b{height:15px;background:#fff;border:1px solid #dde2e8;border-radius:5px}
.theme-preview b:last-child{width:70%}
.theme-choice strong{font-size:14px}
.theme-choice small{font-size:11px;color:var(--muted);line-height:1.35}
@media(max-width:600px){.theme-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media print{.school-theme-section{display:none!important}}

/* Theme tokens also cover existing dashboard details, lists and insights. */
:root[data-school-theme] .main .table-wrap,:root[data-school-theme] .main .list-item{background:var(--card,var(--panel));border-color:var(--line)}
:root[data-school-theme] .main .info,:root[data-school-theme] .insights-header-icon,:root[data-school-theme] .insights-section-icon{background:var(--theme-tint)}
:root[data-school-theme] .insights-header{background:linear-gradient(110deg,var(--card) 64%,var(--theme-tint));border-top-color:var(--green)}
:root[data-school-theme] .insights-subject-card,:root[data-school-theme] .insights-status-card,:root[data-school-theme] .insights-empty{background:var(--card);border-color:var(--line)}
:root[data-school-theme] .dashboard-path,:root[data-school-theme] .dashboard-mobile-table tbody tr{background:var(--theme-tint)}
:host([data-school-theme]) .scanner-live-status span{background:var(--theme-tint);border-color:var(--line);color:var(--green2)}
:host([data-school-theme]) .scanner-live-status .offline,:host([data-school-theme]) .scanner-live-status .has-pending{background:#fff4d7;border-color:#e7cf89;color:#71520c}
