/* Scene extracted from the supplied reference; pupils and UI remain live DOM. */
main:has(.sv-page) #school-report-tools{display:none}
.fq-page:has(.sv-page)>.fq-header{display:none}
.fq-page:has(.sv-page)>.fq-tabs{margin:0;padding:0 0 12px;flex-wrap:nowrap;overflow-x:auto}
.fq-page:has(.sv-page)>.fq-tabs button{white-space:nowrap;flex-shrink:0}
.fq-page:has(.sv-page)>#fq-message:empty{display:none}
.fq-page:has(.sv-page)>#fq-results{padding:0;border:0;background:transparent}
.sv-page{color:#153361;min-width:0}
.sv-title,.sv-view-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sv-title{margin:0 0 12px}.sv-title h2{font-size:22px;margin:0}
.sv-live{color:#245998;font-size:11px;white-space:nowrap}
.sv-canvas-scroll{width:100%;overflow:auto;border-radius:16px;border:1px solid #d4dfe6;overscroll-behavior:contain;box-shadow:0 10px 32px #1a355016}
.sv-scene{position:relative;isolation:isolate;container-type:inline-size;min-width:880px;aspect-ratio:3/2;background:#f2e6d5 url('/assets/sala-viva/classroom-realistic-v3.png') center/100% 100% no-repeat}
.sv-brand{position:absolute;top:3.6%;left:2.8%;font-size:clamp(24px,3cqw,46px);color:#153361;line-height:1;filter:drop-shadow(0 2px 3px #fff)}
.sv-school{position:absolute;top:11.8%;left:32%;right:21%;height:7%;display:flex;align-items:center;gap:1.4cqw;color:#153361}
.sv-school-mark{height:100%;aspect-ratio:1.3;flex-shrink:0;background:#ffffffd9;border-radius:10px;display:grid;place-items:center;padding:5px;box-shadow:0 3px 10px #563e3010}
.sv-school-mark img{width:100%;height:100%;min-height:0;object-fit:contain}.sv-school-mark [hidden]{display:none}
.sv-school-mark span{text-align:center;max-width:90px;font-size:clamp(10px,.9cqw,13px);color:#526887}
.sv-school strong{font-size:clamp(18px,2.2cqw,34px);line-height:1.12;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;text-shadow:0 1px 5px #fff}
.sv-controls{position:absolute;top:1.8%;left:20%;right:1.9%;display:grid;grid-template-columns:1.2fr 1.3fr 1.1fr 1fr;gap:1.5%;align-items:stretch;z-index:5}
.sv-controls>div,.sv-controls>label{border:1px solid #ffffff85;border-radius:12px;background:#fffffff0;backdrop-filter:blur(5px);padding:clamp(6px,.8cqw,13px) clamp(9px,1cqw,17px);display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;box-shadow:0 5px 18px #563e3010}
.sv-controls span,.sv-controls label{font-size:clamp(12px,1.15cqw,17px);font-weight:500;color:#3e5786}
.sv-controls strong{font-size:clamp(15px,1.4cqw,21px);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sv-controls small{font-size:9px;color:#64758e}
.sv-controls>div,.sv-controls>label{box-sizing:border-box;height:5.4cqw;min-height:54px;margin:0;padding:5px 10px}
.sv-page .sv-controls select,.sv-page .sv-controls input{width:100%;min-width:0;height:auto;border:0;border-radius:0;background:transparent;color:#11264e;font-family:inherit;font-size:clamp(14px,1.4cqw,21px);font-weight:700;line-height:1.15;padding:2px 0}
.sv-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 12px}.sv-summary:empty{display:none}
.sv-stat{display:flex;align-items:center;gap:clamp(7px,.9cqw,14px);padding:clamp(7px,.85cqw,13px);border-radius:12px;background:#eef6fff5;border:1px solid #ffffff88;box-shadow:0 4px 14px #563e3010}
.sv-stat>span{display:grid;place-items:center;border-radius:12px;font-size:28px;width:44px;height:44px;background:#d3e7ff;flex-shrink:0}
.sv-stat strong{font-size:clamp(25px,2.6cqw,38px);line-height:1;display:block}.sv-stat small{display:block;font-size:clamp(11px,1.2cqw,18px);margin-top:3px}
.sv-stat.present{background:#f0fcf7f5;color:#006049}.sv-stat.present>span{background:#c9efdf}
.sv-stat.late{background:#fff8eef5;color:#d67500}.sv-stat.late>span{background:#ffedc2}
.sv-stat.absent{background:#fff0f3f5;color:#9f1731}.sv-stat.absent>span{background:#ffdae3}
.sv-room{position:absolute;inset:33% 4% 3%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#947d6090 transparent;isolation:isolate}
.sv-desks{--row-step:8.3cqw;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:var(--row-step);gap:0 1.4%;padding:0 1% 8cqw;position:relative}
.sv-desks[data-size=large]{--row-step:10cqw}
.sv-desk{position:relative;isolation:isolate;display:block;min-width:0;height:calc(var(--row-step)*1.5);border:0;padding:0;background:transparent;color:#12264a;font:inherit;cursor:pointer;transform:scale(var(--seat-scale,.96));transform-origin:center 60%;transition:opacity .18s}
.sv-desktop{position:absolute;inset:10% -8% 0;z-index:-1;background:url('/assets/sala-viva/desk-realistic-v2.png') center/100% 100% no-repeat;pointer-events:none}
.sv-chair{display:none}
.sv-portrait{position:absolute;top:0;left:19%;width:62%;height:42%;display:grid;place-items:center;border:2px solid #fff;border-radius:9px 9px 5px 5px;background:linear-gradient(145deg,#f1ebe1,#c6beb1);box-shadow:0 3px 7px #30231633;overflow:hidden}
.sv-portrait img{width:100%;height:100%;object-fit:cover}.sv-portrait img[hidden],.sv-initials[hidden]{display:none}
.sv-initials{font-size:clamp(22px,2.3cqw,36px);font-weight:700;color:#586779}
.sv-name{position:absolute;top:40%;left:8%;right:8%;z-index:2;background:#fffffff7;border-radius:20px;color:#102248;padding:2px 10px;font-size:clamp(12px,1.15cqw,16px);line-height:1.35;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 1px 2px #52453020}
.sv-state{position:absolute;top:54%;left:8%;right:8%;z-index:3;font-size:clamp(10px,.9cqw,13px);line-height:1.3;background:#eef1f3f2;color:#495867;border:1px solid #ffffffa0;border-radius:14px;padding:2px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sv-state:before{content:'●';margin-right:5px}.sv-desk[data-status=present] .sv-state{background:#e0f8eaf2;color:#08683f}.sv-desk[data-status=late] .sv-state{background:#ffca4af5;color:#533900}.sv-desk[data-status=absent] .sv-state{background:#ffb2bbf5;color:#771127}.sv-desk[data-status=absent] .sv-portrait{filter:grayscale(1);opacity:.78}
.sv-notice{position:absolute;top:3%;right:4%;z-index:4;font-size:9px;color:#694502;background:#fff0c8;border:1px solid white;border-radius:6px;padding:1px 4px;max-width:60%;overflow:hidden;white-space:nowrap}.sv-notice:empty{display:none}
.sv-portrait{height:39%}.sv-name{top:37%}.sv-state{top:53%}
.sv-dim{opacity:.28}.sv-desk:focus-visible{outline:3px solid #226aff;border-radius:12px;opacity:1;z-index:6}.sv-desk:hover .sv-portrait{outline:2px solid #ffffff}
.sv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:12px 0;background:#ffffffed;padding:12px;border-radius:12px;border:1px solid #dce6f0}
.sv-toolbar nav{display:flex;gap:6px;flex-wrap:wrap}.fq-page .sv-toolbar button[aria-pressed=true]{background:#286bed;color:white;border-color:#286bed}.sv-toolbar>span{font-size:12px;max-width:520px;line-height:1.6}
.sv-toolbar:has(#sv-percent:empty):not(:has(nav)){display:none}
/* Real controls over the decorative checklist. No student or attendance data is changed. */
.sv-summary{grid-template-columns:repeat(5,minmax(0,1fr))}
.sv-desk[data-status=inside] .sv-state{background:#e0f8eaf2;color:#08683f}
.sv-desk[data-status=outside] .sv-state{background:#e0eefff2;color:#164e9c}
.sv-desk[data-status=review] .sv-state{background:#fff0cc;color:#795000}
.sv-stat.outside{background:#edf4ff;color:#164e9c}
.sv-board-controls{position:absolute;left:55.8%;top:21.1%;width:20.3%;height:13.4%;z-index:4;background:radial-gradient(ellipse at 70% 30%,#1b5652,#164a46 70%,#174c47);border-radius:5px;box-shadow:0 0 8px 5px #194d48}
.sv-board-controls #sv-filters{display:grid;height:100%;grid-template-rows:repeat(5,1fr);gap:1px;padding:0 5%}
#sv-filters button{display:flex;align-items:center;gap:9px;cursor:pointer;font:inherit}
.sv-board-controls #sv-filters button{min-width:0;min-height:0;margin:0;padding:0 6%;color:#f2f6e9;background:transparent;border:1px solid transparent;border-radius:5px;font-family:'Segoe Print','Comic Sans MS',cursive;font-size:clamp(13px,1.3cqw,20px);line-height:1.1;text-align:left;white-space:nowrap;text-shadow:0 0 1px #ffffff50}
.sv-filter-check{width:1em;height:1em;border:1px solid currentColor;border-radius:2px;display:grid;place-items:center;flex-shrink:0;font-family:Arial,sans-serif;font-size:.85em}
#sv-filters button[aria-pressed=true] .sv-filter-check:after{content:'✓'}
.sv-filter-count{margin-left:auto;font-family:inherit;font-variant-numeric:tabular-nums;font-size:.9em}
.sv-board-controls #sv-filters button[aria-pressed=true]{background:#ffffff19;border-color:#e2ecd285;color:#fff9ce}
.sv-board-controls #sv-filters button:hover{background:#ffffff20}
#sv-filters button:focus-visible{outline:3px solid #ffdc71;outline-offset:2px}
.sv-toolbar #sv-filters{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.sv-toolbar #sv-filters button{min-height:44px;border:1px solid #cdddef;border-radius:9px;background:#fff;color:#153361;padding:8px 10px;font-size:14px;font-weight:700}
.sv-toolbar #sv-filters button[aria-pressed=true]{background:#286bed;color:#fff;border-color:#286bed}
@media(max-width:1150px){.sv-board-controls{display:none}}
@media(max-width:620px){.sv-toolbar #sv-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
#sv-message{font-size:12px;color:#526887;min-height:18px}.sv-footnote{font-size:11px;color:#647893;line-height:1.6;margin:8px 0 0}.sv-mobile-hint{display:none;font-size:12px;color:#526887}
.sv-page:fullscreen{background:#eef4fa;padding:12px;overflow:auto}.sv-page:fullscreen .sv-scene{width:100%;max-width:1600px;margin:auto}.sv-page:fullscreen .sv-canvas-scroll{max-width:1600px;margin:auto}.sv-page:fullscreen .sv-title{max-width:1600px;margin:0 auto 10px}
.sv-dialog{max-width:520px}.sv-dialog header{display:flex;justify-content:space-between;gap:12px}.sv-dialog h3{overflow-wrap:anywhere}.sv-dialog dl{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;font-size:13px}.sv-dialog dd{margin:0;overflow-wrap:anywhere}.sv-detail-photo{width:100px;height:100px;border-radius:16px;overflow:hidden;background:#e5edf7;display:grid;place-items:center;font-size:32px;font-weight:700}.sv-detail-photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:1150px){.sv-mobile-hint{display:block}}
@media(max-width:620px){.sv-title h2{font-size:20px}.sv-view-actions{gap:7px}.sv-live{max-width:105px;font-size:10px;white-space:normal}.sv-title .btn{padding:7px;font-size:11px}.sv-toolbar .btn{padding:7px 9px;font-size:11px}.sv-dialog{width:calc(100% - 24px);padding:16px}.sv-dialog dl{grid-template-columns:1fr}.sv-dialog dd{margin-top:-8px}.sv-toolbar>span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.sv-desk{transition:none}}
@media(max-width:620px){.sv-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sv-stat{padding:8px;gap:7px}.sv-stat strong{font-size:25px}.sv-stat small{font-size:12px}}
