:root{color-scheme:dark;--bg:#09141f;--panel:#142330;--line:#2b4352;--text:#e3f0f4;--muted:#94aebd;--accent:#7fe0c7}*{box-sizing:border-box}body{margin:0;font:14px system-ui,sans-serif;background:var(--bg);color:var(--text)}[hidden]{display:none!important}h1{font-size:28px;letter-spacing:-.7px;margin:7px 0 20px}h2{font-size:18px;margin:0 0 12px}p{line-height:1.6;color:var(--muted)}button,input,select{font:inherit}button,select,input{border:1px solid var(--line);border-radius:9px;color:var(--text);background:#10202d;padding:11px 13px}button{cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.5}input:focus,button:focus-visible,select:focus{outline:2px solid var(--accent);outline-offset:2px}label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--muted)}.primary{background:var(--accent);color:#102e32;border:0;font-weight:750}small{font-size:12px;color:var(--muted);line-height:1.6}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:700}.panel{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.login{min-height:100dvh;display:grid;place-items:center;padding:22px;background:radial-gradient(ellipse at 50% 15%,#1a4247,transparent 65%)}.login form{width:min(440px,100%);display:grid;gap:16px;box-shadow:0 30px 100px #0007}.login h1,.login p{margin:0}.logo{width:180px;height:100px;object-fit:contain;margin:auto}.login #login-error{color:#ffb3a5}header{height:84px;display:flex;gap:18px;align-items:center;padding:12px 28px;border-bottom:1px solid var(--line);background:#101f2b}header img{width:70px;height:60px;object-fit:contain}.brand{display:grid;gap:3px;flex:1}.brand b{letter-spacing:2px}#connection{font-size:12px;color:var(--accent)}#identity{font-size:12px;color:var(--muted)}.shell{display:grid;grid-template-columns:222px 1fr;min-height:calc(100dvh - 84px)}aside{padding:24px 14px;border-right:1px solid var(--line);background:#0d1b27}nav{display:grid;gap:5px;margin-top:22px}nav button{text-align:left;background:transparent;border-color:transparent;padding:12px;font-size:13px;color:var(--muted)}nav button.active{background:#1a3d40;color:var(--accent);border-color:#315659}.aside-note{margin:30px 12px;color:var(--accent);font-size:12px;line-height:2}main{padding:28px;min-width:0;max-width:1900px;width:100%;margin:auto}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.filters{display:flex;gap:12px}.filters select{max-width:220px;min-width:145px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat b{display:block;font-size:32px;margin:8px 0}.badge{display:inline-block;padding:4px 9px;border-radius:20px;background:#243a48;color:#b5ceda;font-size:11px}.badge.online,.badge.available{background:#19483e;color:#96eed2}.badge.offline,.badge.unavailable{background:#462d32;color:#ffc1b5}.badge.partial,.badge.unknown{background:#49402d;color:#f0d3a0}.row{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:13px 0}.row:last-child{border:0}.notice{padding:12px 18px;border:1px solid #675337;border-radius:10px;background:#342e23;color:#ecd2a5}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:13px;border-bottom:1px solid var(--line);font-size:12px;vertical-align:top}th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px}pre{white-space:pre-wrap;word-break:break-word;font-size:12px;color:#c3dce3;max-height:300px;overflow:auto}.empty{text-align:center;padding:55px 20px;color:var(--muted)}iframe{width:100%;height:65dvh;border:1px solid var(--line);border-radius:14px;background:#111}.layers{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}.layers label{flex-direction:row;align-items:center;padding:8px;border:1px solid var(--line);border-radius:8px}svg.map{width:100%;height:55dvh;background:repeating-linear-gradient(90deg,#102430 0,#102430 49px,#203b48 50px);border-radius:12px;border:1px solid var(--line)}footer{font-size:10px;color:#718d9e;margin-top:35px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.checkbox{flex-direction:row;align-items:center;padding:12px 0}.checkbox input{accent-color:var(--accent)}#toast{position:fixed;bottom:24px;right:24px;max-width:90vw;background:#1e4944;border:1px solid var(--accent);padding:15px 22px;border-radius:12px;z-index:100}a{color:var(--accent)}@media(max-width:850px){header{padding:8px 14px;gap:10px;height:76px}.brand small,#identity{display:none}.brand b{font-size:12px}.shell{display:block}aside{border:0;padding:8px;position:sticky;top:0;z-index:5}aside>.eyebrow,.aside-note{display:none}nav{display:flex;overflow:auto;margin:0;gap:2px}nav button{white-space:nowrap;font-size:12px}main{padding:20px 14px}.toolbar{display:block}.filters{margin-bottom:22px}.filters label{flex:1}.filters select{min-width:0;max-width:100%}h1{font-size:24px}.stats{gap:8px}.stat{padding:14px}.stat b{font-size:26px}#connection{max-width:90px;font-size:10px}header button{font-size:11px;padding:9px}.grid{grid-template-columns:1fr}}

.native-map{display:block;width:100%;height:65vh;min-height:320px;max-height:1000px;touch-action:none;cursor:grab;border:1px solid #294453;border-radius:12px}.native-map:active{cursor:grabbing}

/* Connected V6 shell: independent settings and comfortable touch targets. */
:root{--bg:#080e17;--panel:#111b29;--line:#263446;--text:#f1f6fa;--muted:#8292a7;--accent:#78dcc9}body{background:var(--bg)}.panel{background:linear-gradient(145deg,#152233,#111b29);border-radius:16px}.shell aside{background:linear-gradient(180deg,#101a28,#0b121d)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #75a8ff;outline-offset:3px}.settings-form{max-width:900px;margin-bottom:20px}.settings-form fieldset{border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:18px 0}.settings-form .checkbox{display:flex;align-items:center;gap:10px}.settings-form input[type=checkbox]{width:22px;height:22px;flex:none}.settings-form button{margin-top:12px}.settings-form label{margin-bottom:14px}.account-username{max-width:100%;margin-bottom:18px}#nav .eyebrow{padding:18px 10px 2px}#mobile-nav{display:none}.loading-screen{position:fixed;inset:0;z-index:100;background:#080e17;display:grid;place-content:center;justify-items:center}.loading-screen img{max-width:200px}.loading-screen p{font-size:18px}#update-banner{position:fixed;bottom:20px;right:20px;z-index:70;max-width:90vw;background:#254340;padding:16px;border:1px solid #78dcc9;border-radius:14px}.reduce-motion *{animation:none!important;transition:none!important}body[data-density=compact] .row{padding-top:9px;padding-bottom:9px}
@media(max-width:900px){body{font-size:17px}body[data-density=compact] .row{padding:16px 0}h1{font-size:28px}h2{font-size:22px}input,select,textarea,button{font-size:17px;min-height:48px}button{padding:12px 16px}.shell{display:block}.shell aside{display:none}body.show-menu .shell aside{display:block;position:fixed;z-index:65;inset:70px 0 calc(75px + env(safe-area-inset-bottom));overflow:auto;padding:20px;border-radius:22px 22px 0 0;box-shadow:0 -15px 60px #0009}body.show-menu #nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body.show-menu #nav .eyebrow{grid-column:1/-1}body.show-menu #nav button{text-align:left}header{padding-top:calc(10px + env(safe-area-inset-top));height:auto;min-height:70px;flex-wrap:wrap}header .brand small,#identity{display:none}header img{max-height:40px}main{padding:20px 16px calc(110px + env(safe-area-inset-bottom))}.toolbar{display:block}.filters{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filters select{max-width:100%;width:100%}.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.panel{padding:18px}.actions{display:flex;gap:10px;flex-wrap:wrap}.row{gap:12px;flex-wrap:wrap}#mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:66;background:#0d1928f5;border-top:1px solid #355068;padding:10px 8px calc(10px + env(safe-area-inset-bottom));backdrop-filter:blur(16px)}#mobile-nav button{background:transparent;border:0;padding:10px 2px;color:#b1dbd6;font-size:16px}body:has(#app[hidden]) #mobile-nav{display:none}#update-banner{bottom:calc(85px + env(safe-area-inset-bottom));left:14px;right:14px}#toast{bottom:calc(95px + env(safe-area-inset-bottom))}.native-map{height:60dvh;min-height:340px}.settings-form fieldset{grid-template-columns:1fr}.login{padding:20px 16px}.login .panel{width:100%;max-width:460px}pre{font-size:13px;overflow:auto;max-width:70vw}.table-wrap{padding:12px}}

.equipment-card{border-bottom:1px solid var(--line);padding:18px 0}.equipment-card:last-child{border-bottom:0}.equipment-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.equipment-card details{margin-top:12px}.equipment-card .pills{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted)}.operator-dialog{width:min(900px,95vw);max-height:90dvh;background:#111e2e;color:var(--text);border:1px solid #476376;border-radius:22px;padding:24px;overflow:auto}.operator-dialog::backdrop{background:#000a;backdrop-filter:blur(8px)}.operator-dialog .settings-form{max-width:none}textarea{display:block;width:100%;background:#0b1725;border:1px solid var(--line);border-radius:10px;color:var(--text);font:inherit;padding:12px;resize:vertical}.calendar{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:8px;margin:20px 0;overflow-x:auto}.calendar.day{grid-template-columns:1fr}.calendar-day{border:1px solid var(--line);border-radius:12px;padding:12px;min-height:150px;background:#102032}.calendar-day h3{font-size:14px}.calendar-event{display:block;width:100%;text-align:left;margin:8px 0;font-size:13px;background:#204c4b;border-color:#48736b;white-space:normal}.calendar-event.disabled{opacity:.5}.multiline{white-space:pre-wrap}.history{margin-top:20px}.checkbox{display:flex;align-items:center;gap:10px;margin:12px 0}.checkbox input{width:22px;height:22px;min-height:22px}@media(max-width:900px){.calendar{grid-template-columns:repeat(7,minmax(150px,1fr))}.calendar.month{grid-template-columns:repeat(7,minmax(120px,1fr))}.calendar.day{grid-template-columns:1fr}.operator-dialog{width:100%;max-width:100%;margin:0;top:auto;bottom:0;max-height:92dvh;border-radius:22px 22px 0 0;padding:20px 18px calc(24px + env(safe-area-inset-bottom))}.equipment-actions button{flex:1 1 40%}.calendar-event{font-size:16px}.equipment-card .pills{font-size:16px}}

@media(min-width:901px){.shell{align-items:start;min-height:calc(100dvh - 84px)}.shell main{align-self:start;margin:0 auto;width:100%}.shell aside{position:sticky;top:84px;height:calc(100dvh - 84px);min-height:0;overflow-y:auto}header{position:sticky;top:0;z-index:60}}

.map-layers{margin-bottom:16px}.map-layers summary{padding:12px 0;cursor:pointer}.map-layers .layers{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}.map-layers .layers label{display:flex;align-items:center;gap:8px;padding:8px;font-size:14px;min-height:36px}.map-layers input[type=checkbox]{width:20px;height:20px;min-height:20px;margin:0}@media(max-width:900px){.map-layers summary{font-size:17px;min-height:48px}}
.native-fullscreen{position:fixed;inset:0;z-index:90;padding:calc(18px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));background:#080e17;overflow:auto}.native-fullscreen .native-map{height:calc(100dvh - 170px);margin-top:16px}.native-fullscreen .actions{margin-bottom:16px}@media(max-width:900px){.native-map{height:45dvh;min-height:300px}.native-fullscreen .native-map{height:calc(100dvh - 190px);min-height:300px}}

/* Keep the V6 palette, with quieter surfaces and clear service/admin sections. */
.panel{box-shadow:0 8px 24px #0000000d;background:linear-gradient(145deg,#14212d,#101b27)}
#nav>.eyebrow{margin:22px 12px 6px;letter-spacing:1.4px;color:#779f9e}#nav>button.active{box-shadow:inset 3px 0 #7fe0c7}
.notification-preview{padding:20px;border:1px solid #365156;border-radius:14px;background:#0a1821;display:grid;gap:8px}.notification-preview strong{color:var(--accent)}.notification-preview p{white-space:pre-wrap;margin:0;color:var(--text)}
.map-inventory,.map-selection{margin:18px 0}.map-inventory summary{cursor:pointer;padding:14px 0}.map-inventory input{width:100%;margin:10px 0}.map-inventory button,.map-selection button{display:block;width:100%;text-align:left;margin:8px 0;white-space:normal}.map-selection{padding:14px;border:1px solid var(--accent);border-radius:12px}
@media(max-width:900px){.map-selection button,.map-inventory button{min-height:52px}.notification-preview{padding:18px}.panel{border-radius:18px}}
:where(.light-group-dialog){width:min(900px,94vw)}
.light-member{display:block;width:100%;text-align:left;margin:8px 0;overflow-wrap:anywhere;min-height:48px}
.light-group-dialog [data-level],.light-group-dialog [data-mode]{margin-block:16px}
.light-group-dialog [data-member-list]{max-height:42vh;overflow:auto;overscroll-behavior:contain}
.light-group-dialog [data-result]{white-space:pre-wrap;overflow-wrap:anywhere}
.light-group-dialog>.row:first-child{position:sticky;top:0;z-index:2;background:var(--panel);padding-block:10px}
.action-builder{border:1px solid var(--line);border-radius:14px;padding:18px;margin-block:20px;min-width:0}
.settings-form fieldset.action-builder{display:block}
.action-levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.action-levels select{width:100%;min-width:0}
.planning-dialog>.row:first-child{position:sticky;top:0;z-index:2;background:var(--panel);padding-block:10px}
[data-action-list]{padding-left:22px}
[data-action-list] .equipment-card{margin-block:12px}
@media(max-width:700px){.action-levels{grid-template-columns:1fr}.action-builder{padding:14px}.action-levels select{font-size:17px;min-height:48px}}

/* Persistent Plan inspector and compact supervision layout. */
.plan-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,350px);gap:18px;align-items:start}
.plan-main{min-width:0}.plan-inspector{min-height:65vh;position:sticky;top:18px;max-height:calc(100dvh - 100px);overflow:auto}
.embedded-inspector{width:100%;max-width:none;padding:0;border:0;background:transparent;color:inherit;box-shadow:none}
.embedded-inspector .actions{flex-wrap:wrap}.embedded-inspector input,.embedded-inspector select{max-width:100%;min-width:0}
.layers details{width:100%}.layers summary,.admin-utils summary{cursor:pointer;padding:12px}.layers button[aria-pressed="true"]{border-color:var(--layer-color);background:#25434a}
.admin-utils button{padding-left:26px}.calendar.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-width:0}.calendar-day h3 button{padding:4px;background:transparent;border:0;font-size:inherit;color:inherit;text-align:left}
.calendar-day.adjacent-month{opacity:.55}.calendar-day.today{outline:1px solid #80d4c1}.calendar-event{overflow-wrap:anywhere;white-space:normal;text-align:left}
@media(max-width:1000px){.plan-layout{grid-template-columns:minmax(0,1fr) 290px}}
@media(max-width:720px){.plan-layout{grid-template-columns:minmax(0,1fr)}.plan-inspector{position:static;min-height:100px;max-height:65dvh}.plan-inspector:empty{min-height:80px}.calendar.month{gap:3px}.calendar.month .calendar-day{padding:5px;min-height:100px}.calendar.month h3{font-size:11px}.calendar.month .calendar-event{font-size:11px;padding:5px}.calendar.week{display:grid;grid-template-columns:1fr}.layers button{min-height:44px}}

.meet-icon{width:72px;height:72px;border-radius:18px;object-fit:cover}.meet-placeholder{display:grid;place-items:center;font-size:38px;background:#233b4b;color:#e3c47a}.meet-character{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.meet-character h3,.meet-character p{margin:0}

.show-timeline{padding:0;list-style:none}.show-timeline li{display:grid;grid-template-columns:85px 1fr;gap:12px;border-left:2px solid #568e8c;padding:12px;margin-left:8px}.show-timeline span{overflow-wrap:anywhere}.show-step{margin:12px 0}.show-step label{flex:1}

.calendar-period{text-transform:capitalize;margin-top:20px}.calendar-weekday{text-align:center;font-size:13px;color:var(--muted);padding:5px}.calendar-short-date{display:none}.calendar.month .calendar-day{min-height:94px}.calendar-toolbar{align-items:center}.calendar-navigation{flex-wrap:nowrap}.calendar-navigation input{min-width:0;width:160px}
@media(max-width:720px){.calendar-toolbar{display:flex;gap:10px}.calendar-create{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.calendar-create button{font-size:14px;padding:10px 8px}.calendar-navigation{flex:1;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}.calendar-navigation input{width:100%;font-size:14px;padding:10px 6px}.calendar-navigation button{font-size:0;padding:6px}.calendar-navigation button:first-child::after{content:'‹';font-size:24px}.calendar-navigation button:last-child::after{content:'›';font-size:24px}#calendar-view{width:100%;font-size:15px}.calendar.month .calendar-long-date{display:none}.calendar.month .calendar-short-date{display:inline;font-size:17px}.calendar.month .calendar-day{min-height:76px}.calendar.month .calendar-day h3{margin:4px 0}.calendar.month .calendar-day h3 button{width:100%;min-height:30px}.calendar.month .calendar-event{font-size:12px}.calendar-weekday{font-size:12px;padding:3px 0}}

.calendar-toolbar>.actions{margin:0}

.audio-season-name{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.audio-season-name input{flex:1;min-width:160px}.equipment-card p{overflow-wrap:anywhere}

.light-schedule-dialog fieldset{border:1px solid var(--line,#385565);border-radius:12px;padding:16px;margin:0 0 14px;min-width:0}.light-schedule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.light-schedule-fields label{min-width:0}.light-schedule-fields input{max-width:100%}@media(max-width:600px){.light-schedule-fields{grid-template-columns:minmax(0,1fr)}}

.light-quick-popup{width:min(360px,calc(100vw - 24px));max-height:75dvh}.light-quick-popup [data-light-status]::before{content:"● ";color:#8b9ca9}.light-quick-popup[data-light-state=on] [data-light-status]::before{color:#65dda1}.light-quick-popup[data-light-state=off] [data-light-status]::before{color:#9a760d}.light-quick-popup[data-light-state=mixed] [data-light-status]::before{color:#f4cf73}.plan-legend{display:grid;gap:8px}.plan-legend span::before{content:"● ";color:#8b9ca9}.plan-legend .on::before{color:#65dda1}.plan-legend .off::before{color:#9a760d}.plan-legend .mixed::before{color:#f4cf73}.plan-info time{font-size:28px;font-variant-numeric:tabular-nums}.plan-info{min-height:0}.plan-info select{width:100%}

.equipment-card[data-light-state=off]{border-color:#9a760d}.equipment-card[data-light-state=off] p,.light-group-dialog[data-light-state=off] [data-state]{color:#b18b20}.light-quick-popup [data-unknown-list] p{font-size:13px;overflow-wrap:anywhere}.light-quick-popup [data-unknown-lights]{margin:12px 0}

.light-schedule-dialog fieldset{padding:8px 12px;margin-bottom:8px}.light-schedule-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 12px;align-items:end}.light-schedule-fields label{font-size:.85rem}.light-schedule-fields input{padding:7px;min-height:36px}.light-global-time{display:flex;align-items:center;gap:12px;margin-bottom:12px}.light-global-time input{width:145px}.light-schedule-fields [hidden]{display:none}@media(max-width:650px){.light-schedule-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}

.light-schedule-help,.light-schedule-status{font-size:.8rem;line-height:1.4;opacity:.85}.light-schedule-status{margin-top:6px}
