
/* The filter controls should be visually unmistakable without competing with the data. */
.admin-filters{background:linear-gradient(135deg,rgba(14,165,233,.18),rgba(34,197,94,.14));border:1px solid rgba(56,189,248,.55);box-shadow:0 14px 30px -20px rgba(14,165,233,.9),inset 0 1px 0 rgba(255,255,255,.08);position:relative}
.admin-filters:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:linear-gradient(#38bdf8,#22c55e)}
.admin-filters .fl,.admin-filters .fcount{position:relative}
.students-drop{margin:2px 0 16px;border-radius:16px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.14);overflow:hidden;box-shadow:0 16px 34px -24px rgba(0,0,0,.8)}
.students-drop-sum{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;padding:15px 17px;color:#fff;font-size:14px;font-weight:800;user-select:none}
.students-drop-sum::-webkit-details-marker{display:none}
.students-drop-count{margin-left:auto;color:#9fb0b6;font-size:12px;font-weight:700}
.students-drop-caret{color:#70d9a0;font-size:17px;transition:transform .18s ease}
.students-drop[open] .students-drop-caret{transform:rotate(180deg)}
.students-drop-body{padding:0 0 2px}
.tl-avg{margin:0 0 18px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.045);overflow:hidden}
.tl-avg summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;padding:14px 16px;color:#fff;font-size:13.5px;font-weight:800;user-select:none}
.tl-avg summary::-webkit-details-marker{display:none}
.tl-avg summary:before{content:"⌁";width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:rgba(56,189,248,.18);color:#7dd3fc;font-size:17px}
.tl-avg summary:after{content:"▾";margin-left:auto;color:#9fb0b6;font-size:16px;transition:transform .18s ease}
.tl-avg[open] summary:after{transform:rotate(180deg)}
.tl-avg .avg-note{padding:0 16px 11px;color:#8fa6af;font-size:11.5px}
.tl-avg .avg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 13px}
.tl-avg .avg-row{min-width:0;padding:10px 11px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(0,0,0,.12)}
.tl-avg .avg-row .al{display:block;color:#b9cbd1;font-size:11.5px;line-height:1.35}
.tl-avg .avg-row .av{display:block;margin-top:4px;color:#fff;font-size:15px;font-weight:800}
.tl-avg .avg-row .an{display:block;margin-top:3px;color:#8fa6af;font-size:10.5px}
.stat-box.risk-stat{padding:0;overflow:hidden}
.risk-stat summary{list-style:none;cursor:pointer;padding:14px 16px;display:block;user-select:none}
.risk-stat summary::-webkit-details-marker{display:none}
.risk-stat .risk-click{display:block;margin-top:6px;color:#7dd3fc;font-size:10.5px;font-weight:800}
.risk-stat .risk-list{padding:0 13px 12px;border-top:1px solid rgba(255,255,255,.11);max-height:210px;overflow:auto}
.risk-stat .risk-person{padding:8px 3px;border-bottom:1px solid rgba(255,255,255,.08);font-size:11.5px;color:#e6eef1;line-height:1.4}
.risk-stat .risk-person:last-child{border-bottom:0}
.risk-stat .risk-person b{display:block;color:#fff;font-size:12px}
.risk-stat .risk-empty{padding:10px 3px;color:#9fb0b6;font-size:11.5px}

/* Display view */
.display-wrap{max-width:720px;margin:0 auto;padding:8px 0 30px}
.display-hero{background:linear-gradient(135deg,#0e7490,#4f46e5);border-radius:20px;padding:23px 22px;color:#fff;box-shadow:0 20px 42px -22px rgba(30,64,175,.65);margin-bottom:16px}
.display-hero .dh-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.17);margin-bottom:12px}
.display-hero h2{font-size:22px;margin:0 0 5px;font-weight:800}.display-hero p{margin:0;color:rgba(255,255,255,.82);font-size:13px;line-height:1.5}
.display-card{background:#fff;border:1px solid #e7edf0;border-radius:18px;padding:18px;box-shadow:0 18px 38px -26px rgba(15,23,42,.5)}
.display-label{display:block;color:#5b6870;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:0 0 9px}
.display-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:23px}
.display-choice button{border:1.5px solid #dbe4e8;background:#f8fafb;border-radius:12px;padding:13px 12px;text-align:left;color:#334155;font:inherit;font-size:13px;font-weight:800;cursor:pointer;display:flex;align-items:center;gap:9px;transition:.18s}
.display-choice button:hover{border-color:#38bdf8;transform:translateY(-1px)}
.display-choice button.on{background:#e0f2fe;border-color:#0284c7;color:#075985;box-shadow:0 8px 18px -13px #0284c7}
.display-choice .dc-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#fff7ed;color:#f97316;font-size:16px}
.display-choice button.dark .dc-icon{background:#1e293b;color:#e2e8f0}
.display-zoom{display:flex;align-items:center;gap:9px;border-top:1px solid #edf1f2;padding-top:17px}
.display-zoom .dz-name{margin-right:auto;color:#334155;font-size:13px;font-weight:800}
.display-zoom button{width:37px;height:37px;border:0;border-radius:10px;background:#eff6ff;color:#075985;font:inherit;font-size:19px;font-weight:800;cursor:pointer}
.display-zoom button:hover{background:#dbeafe}.display-zoom .dz-level{min-width:62px;text-align:center;color:#334155;font-size:13px;font-weight:800}
/* dark mode: retain the app's existing orange/blue accents but make surfaces readable */
body.tl-dark{background:#0b1220;color:#e5edf2}
body.tl-dark .main{background:#0b1220}
body.tl-dark .topnav,body.tl-dark .back-menu{background:#111827;color:#dbeafe;border-color:#26364b}
body.tl-dark .card,body.tl-dark .display-card,body.tl-dark .pp-card,body.tl-dark .lt-card,body.tl-dark .so-card,body.tl-dark .ag-card,body.tl-dark .hd-card,body.tl-dark .tu-card,body.tl-dark .tt-card,body.tl-dark .tm-card,body.tl-dark .bf-card,body.tl-dark .hl-card{background:#111827;color:#e5edf2;border-color:#26364b}
body.tl-dark .q-title,body.tl-dark .q-sub,body.tl-dark .display-label,body.tl-dark .display-zoom .dz-name,body.tl-dark .display-zoom .dz-level{color:#e5edf2}
body.tl-dark .display-card{box-shadow:0 18px 38px -26px rgba(0,0,0,.9)}
body.tl-dark .display-choice button{background:#172235;border-color:#334155;color:#dbeafe}
body.tl-dark .display-choice button.on{background:#0c4a6e;border-color:#38bdf8;color:#e0f2fe}
body.tl-dark .display-zoom{border-color:#26364b}body.tl-dark .display-zoom button{background:#172a46;color:#bae6fd}
body.tl-dark input,body.tl-dark textarea,body.tl-dark select{background:#172235!important;color:#e5edf2!important;border-color:#334155!important}
body.tl-dark .opt,body.tl-dark .opt-row,body.tl-dark .pp-q,body.tl-dark .lt-q,body.tl-dark .so-q,body.tl-dark .ag-q,body.tl-dark .hd-q,body.tl-dark .tu-q,body.tl-dark .tt-q,body.tl-dark .tm-q,body.tl-dark .bf-q,body.tl-dark .hl-q{background:#172235;border-color:#334155;color:#e5edf2}
@media(max-width:620px){.tl-avg .avg-grid{grid-template-columns:1fr}.display-choice{grid-template-columns:1fr}.display-card{padding:15px}}
