:root[data-theme=dark]{--bg:#06130e;--surface:#10281e;--surface-2:#193c2b;--text:#effcf3;--muted:#c0d9ca;--border:#355b45;--green:#9eea9e;--green-soft:#1d452e;--sidebar-bg:#091e15;--nav-bg:#102c1e;--card-bg:#143523;--box-edge:#3b684a;--box-hover:#214c32;--nav-selected-bg:#245231;--nav-selected-text:#f6fff4;--nav-selected-edge:#b8ee77;--shadow:0 14px 40px #0004;--card-shadow:0 12px 32px #0004;--canvas-glow:radial-gradient(ellipse 950px 750px at 95% 0%,#49af585c 0%,#18432330 45%,transparent 75%),radial-gradient(ellipse 800px 850px at 15% 90%,#1c67484d 0%,transparent 70%)}
:root[data-theme=dark] body,:root[data-theme=dark] body.room-display{background-color:var(--bg);background-image:var(--canvas-glow);background-attachment:fixed;background-repeat:no-repeat;min-height:100dvh}
:root[data-theme=dark] .panel,:root[data-theme=dark] .room-card,:root[data-theme=dark] .terminal-room{box-shadow:var(--card-shadow)}
:root[data-theme=dark] .topbar{background:var(--sidebar-bg)}

/* Room types belong in the operational records view as well as the overview. */
.room-record .record-title>.room-icon{width:52px;height:52px;display:inline-grid;place-items:center;flex-shrink:0;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.room-record .record-title>.room-icon .icon{width:36px;height:36px}
.room-record .record-title h2{min-width:0;overflow-wrap:anywhere}

/* Keep room symbols readable across management, staff and wall overview cards. */
.room-grid .room-card .room-icon,.staff-room-grid .terminal-room .room-icon,.wall-room-grid .terminal-room .room-icon{width:52px;height:52px;flex-shrink:0}
.room-card .room-icon>.icon,.terminal-room .room-icon>.icon{width:36px;height:36px}

/* Match all sidebar symbols while preserving their existing badge footprint. */
.sidebar nav>a .icon{width:26px;height:26px;padding:1px}
.staff-tool .icon[data-icon=strain]{width:28px;height:28px}

/* Readable navigation, including wrapped translated labels. */
.sidebar nav>a{font-size:17px;line-height:1.45;min-height:50px;overflow-wrap:anywhere}
.sidebar .nav-label,.sidebar .sidebar-bottom{font-size:13px}

.page-menu-tools:has(.page-navigation){position:sticky;top:calc(var(--back-header-offset,0px) + 8px);z-index:25}.page-navigation{display:flex;width:max-content;max-width:100%;margin:0 0 20px}.page-navigation .button{box-shadow:var(--shadow);font-size:17px;min-height:48px;gap:9px}
.room-wall-home{display:block;flex-shrink:0}.room-wall-home .brand-emblem{display:block;width:64px;height:64px;object-fit:contain}
@media(max-width:760px){.room-wall-home .brand-emblem{width:52px;height:52px}}

@media(max-width:760px){.page-menu-tools{--back-header-offset:86px}.room-display .page-menu-tools{--back-header-offset:0px}}

/* A shared view switcher follows staff through every menu and room display. */
.page-display-tools{display:flex;align-items:flex-start;justify-content:flex-end;gap:12px;margin-left:auto;flex-wrap:wrap}.display-switcher{position:relative}.display-switcher>summary{list-style:none;gap:12px;min-height:48px;box-shadow:var(--shadow)}.display-switcher>summary::-webkit-details-marker{display:none}.display-triangle{font-size:13px;color:var(--green)}.display-switcher-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:250px;padding:14px;display:grid;gap:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.display-switcher-menu>p{font-size:14px;color:var(--muted)}.display-switcher-menu>.button{justify-content:flex-start;width:100%;min-height:48px}.display-switcher-menu>[aria-pressed=true]{background:var(--green-soft);border-color:var(--green);font-weight:700}.room-wall-home .room-wall-logo{display:block;width:104px;height:104px;object-fit:contain;object-position:center;border-radius:0;background:transparent;max-width:none}.room-wall-identity>div{min-width:0}.room-wall-identity h1{overflow-wrap:anywhere}
@media(max-width:760px){.page-display-tools{gap:8px}.page-display-tools .button{font-size:15px}.display-switcher-menu{min-width:230px;max-width:calc(100vw - 32px)}.room-wall-home .room-wall-logo{width:84px;height:84px}.room-wall-identity{flex-wrap:nowrap;align-items:center}}
