/* Education department: navy enamel, brass trim and warm paper. */
body[data-room-theme]{--ink:#183747;--muted:#52636b;--paper:#ded8c5;--panel:#f5efde;--line:#c4b999;--seat-bg:#fffaf0;--seat-ink:#183747;--chrome:#15394d;--gold:#edc45f;--control:#fffaf0;--chrome-text:#f7e7b5;background:var(--paper);color:var(--ink)}
body[data-mode=dark]{color-scheme:dark;--ink:#f0e7ce;--muted:#b5c6c6;--paper:#0b1b26;--panel:#122b39;--line:#425661;--seat-bg:#163545;--seat-ink:#fff3cd;--control:#1a3544;--chrome:#0c2230;--chrome-text:#f7df9b}
header{background:var(--chrome);border-bottom:2px solid var(--gold);color:var(--chrome-text);gap:16px}.brand{font-family:Impact,'Arial Narrow',sans-serif;letter-spacing:1px;font-weight:500;text-transform:none}.brand span{background:var(--gold);border-radius:50%;box-shadow:0 0 0 2px var(--chrome),0 0 0 3px var(--gold)}.brand img{filter:brightness(0);opacity:.8}.header-room label{color:var(--chrome-text)}.sub{color:var(--chrome-text)}header .tag{background:transparent;color:var(--chrome-text);border:1px solid #edc45f66;border-radius:3px}.header-actions #print{background:var(--gold);color:#173547;border:1px solid var(--gold)}.header-actions #darkMode{background:transparent;color:var(--chrome-text);border-color:#edc45f80}.header-actions{flex-wrap:nowrap}
.app-nav{border-bottom:1px solid var(--line);box-shadow:0 2px 0 #0000000b}button,input,select,textarea{background:var(--control);border-radius:5px;color:var(--ink)}.app-nav button,#panelTitle,summary,.canvas-controls,.board{font-family:'Courier New',monospace}#panelTitle{font-size:14px;letter-spacing:1px;text-transform:uppercase;border-bottom:2px solid var(--line);padding-bottom:12px}button.primary,.nav-tabs button[aria-pressed=true]{background:var(--chrome);color:var(--gold);border-color:var(--chrome)}button.primary:hover{background:var(--chrome)}.room{border:2px solid var(--chrome);border-radius:7px;box-shadow:0 0 0 1px var(--gold),0 4px 14px #00000014}.board{background:var(--chrome);color:var(--gold);border:1px solid var(--gold);border-radius:2px;letter-spacing:1.6px}.canvas-controls{background:var(--panel);border-top:2px solid var(--line)}.grid{background-image:linear-gradient(var(--dot) 1px,transparent 1px),linear-gradient(90deg,var(--dot) 1px,transparent 1px);background-size:60px 60px}.desk-surface{border-radius:7px;box-shadow:inset 0 0 0 3px #ffffff33,0 3px 0 #00000025}.desk .seat{border-radius:4px;background:var(--seat-bg);color:var(--seat-ink);border-color:#63716b88;box-shadow:inset 0 0 0 2px #88795016}.desk .seat strong{font-family:Arial,sans-serif;font-weight:700}.desk .seat small{color:var(--muted);font-family:'Courier New',monospace}.desk-handle,.arranging .desk-handle,.room:not(.arranging) .desk-handle{background:var(--chrome);color:var(--gold);border:1px solid #edc45f80;border-radius:3px;font-family:'Courier New',monospace}.desk .seat.empty{background:var(--seat-bg);color:var(--muted)}.desk .seat.selected,.desk .seat.over{background:var(--seat-bg);outline:3px solid var(--selection)}.teacher-label{color:var(--desk-ink)}.desk.teacher .desk-surface{background:linear-gradient(var(--desk-top),var(--desk-bottom));border-color:var(--desk-rim)}
#roomControls>details,#manualEntry,.compass-import,.saved-room-card,.icon-choice,.theme-choice,.colour-row,.theme-decision{background:var(--control);border-color:var(--line);color:var(--ink)}.theme-copy small,.theme-choice small,.colour-section p,.icon-choice span{color:var(--muted)}#selectionHint{background:var(--control);color:var(--ink)}.danger{color:#a13426;background:var(--control)}body[data-mode=dark] .danger{color:#ffada0}body[data-mode=dark] .icon-choice img,body[data-mode=dark] .saved-room-card img{filter:brightness(0) invert(.85)}#status,.tag,h2{color:var(--ink)}#printSheet{display:none}.print-options{border-top:1px solid var(--line);padding-top:12px}.check-label{display:flex;align-items:center;gap:10px}.check-label input{width:18px;min-height:18px;height:18px;accent-color:#183747}.print-options summary{font-weight:600}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b98723;outline-offset:3px}
@media(max-width:850px){header{gap:10px}.header-actions button{padding:7px 9px;font-size:11px}.header-room{min-width:80px}}@media(max-width:600px){.brand{font-size:0}.brand span{width:26px;height:26px}.header-actions button{padding:6px;font-size:10px}header{gap:7px}.header-room select{min-width:65px}}
@media print{@page{size:A4 landscape;margin:8mm}html,body{width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:white!important;overflow:visible!important}body>*:not(#printSheet){display:none!important}#printSheet{display:block!important;width:100%;height:192mm;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}#printSheet svg{display:block;width:100%;height:100%}}
/* Override earlier accessibility rules with mode-aware contrast pairs. */
.desk .seat,.desk .seat.empty,.desk .seat.selected,.desk .seat.over{background:var(--seat-bg)!important;color:var(--seat-ink)!important}.desk .seat strong,.desk .seat.empty strong{color:var(--seat-ink)!important}.desk .seat small{color:var(--muted)!important}.desk-handle,.arranging .desk-handle,.room:not(.arranging) .desk-handle,button.primary{color:var(--gold)!important}.header-actions #print{color:#173547!important}.brand span{color:#173547!important}.bank,.bank button,.appearance-footer button{background:var(--control);color:var(--ink)}.theme-decision p,.saved-room-card small{color:var(--muted)}.theme-choice:hover{background:var(--control)}body[data-mode=dark] .empty-room{color:var(--ink)}#deskLabel,#groupCount{color:var(--ink)}
