@import"https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Fraunces:opsz,wght@9..144,650&display=swap";:root{color-scheme:light;font-family:Atkinson Hyperlegible,Segoe UI,sans-serif;background:#f6f1e8;color:#10231f;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #10231f;--muted: #5f706b;--panel: rgba(255, 252, 246, .92);--panel-solid: #fffcf6;--line: #d8d1c4;--line-strong: #b9c9c2;--brand: #0b5f52;--brand-deep: #063d35;--brand-soft: #dff3ec;--warning: #9c5d05;--warning-soft: #fff2cf;--danger: #9c2b1e;--danger-soft: #ffe2dd;--success: #0f6b43;--success-soft: #dff5e7;--shadow: 0 22px 70px rgba(28, 40, 35, .14)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(11,95,82,.2),transparent 34rem),radial-gradient(circle at bottom right,rgba(156,93,5,.13),transparent 28rem),linear-gradient(135deg,#f6f1e8,#f3eee5 45%,#e8efe9)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.68}code,pre{font-family:SFMono-Regular,Cascadia Code,Consolas,monospace}pre{white-space:pre-wrap;background:#10231f;color:#f6f1e8;border-radius:16px;padding:.9rem 1rem;overflow-x:auto}.icon{width:1.25rem;height:1.25rem;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none;flex:0 0 auto}.login-page,.loading-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.login-card{width:min(100%,520px);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:34px;padding:clamp(1.5rem,5vw,3rem)}.brand-mark{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,var(--brand),var(--brand-deep));color:#f6f1e8;box-shadow:0 12px 28px #0b5f5247}.brand-mark.warning{background:linear-gradient(145deg,var(--warning),#6f3d00)}.brand-mark .icon{width:1.65rem;height:1.65rem}h1,h2,h3{font-family:Fraunces,Georgia,serif;margin:0;line-height:1;color:var(--ink)}h1{font-size:clamp(2rem,4vw,4rem)}h2{font-size:clamp(1.45rem,2vw,2.2rem)}p{line-height:1.55}.eyebrow{margin:0 0 .4rem;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:#526963}.login-form{margin-top:1.5rem;display:grid;gap:.7rem}.login-form label{font-weight:700}.login-form input{width:100%;min-height:52px;padding:.8rem 1rem;border-radius:16px;border:1px solid var(--line-strong);background:#fff;color:var(--ink)}input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:16px;background:#fffefa;color:var(--ink)}input,select{min-height:48px;padding:.7rem .9rem}input[type=checkbox]{width:1rem;min-width:1rem;height:1rem;min-height:1rem;padding:0;border-radius:4px;accent-color:var(--brand)}textarea{min-height:120px;padding:.85rem 1rem;resize:vertical}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(11,95,82,.32);outline-offset:3px}.primary-action,.secondary-action,.icon-button,.nav-list button{min-height:46px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-weight:700}.primary-action{margin-top:.4rem;padding:.8rem 1.2rem;background:var(--brand);color:#fff;box-shadow:0 14px 30px #0b5f5238}.secondary-action{padding:.72rem 1rem;border:1px solid var(--line-strong);background:#fffcf6e6;color:var(--brand-deep)}.icon-button{width:46px;background:var(--brand-deep);color:#fff}.success-message,.error-message,.warning-message{border-radius:16px;padding:.85rem 1rem;font-weight:700}.console-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:1.2rem;border-right:1px solid rgba(16,35,31,.1)}.sidebar-brand{display:flex;gap:.85rem;align-items:center;padding:.8rem;border-radius:22px;background:#fffcf6b8;border:1px solid var(--line)}.sidebar-brand strong{display:block}.nav-list{display:grid;gap:.5rem;margin-top:1.4rem}.nav-list button{width:100%;justify-content:flex-start;padding:.85rem 1rem;background:transparent;color:var(--ink)}.nav-list button.active{background:var(--brand-deep);color:#fff;box-shadow:0 14px 30px #0b5f5233}.main-content{width:min(100%,1680px);margin:0 auto;padding:clamp(1rem,3vw,2.5rem)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.topbar-actions{display:flex;gap:.65rem;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.stat-card,.panel,.device-card{background:var(--panel);border:1px solid var(--line);box-shadow:0 14px 42px #1c282314}.stat-card{min-height:150px;border-radius:28px;padding:1rem;display:flex;gap:1rem;align-items:flex-start}.stat-card p,.stat-card small{display:block;margin:0}.stat-card strong{display:block;margin:.3rem 0;font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.05em}.stat-icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;color:var(--brand-deep);background:var(--brand-soft)}.overview-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;margin-bottom:1rem}.panel{border-radius:30px;padding:clamp(1rem,2vw,1.4rem)}.policy-panel-wide{grid-column:1 / -1}.panel-header,.device-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.count-chip,.status-pill{min-height:32px;border-radius:999px;display:inline-flex;align-items:center;padding:.35rem .75rem;font-size:.84rem;font-weight:700}.count-chip{background:var(--brand-soft);color:var(--brand-deep)}.status-pill.online{background:var(--success-soft);color:var(--success)}.status-pill.stale,.status-pill.unknown{background:var(--warning-soft);color:var(--warning)}.status-pill.offline{background:var(--danger-soft);color:var(--danger)}.status-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.status-summary div,.device-facts div{background:#ffffff94;border:1px solid rgba(16,35,31,.08);border-radius:18px;padding:.75rem}.status-summary dt,.device-facts dt{color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.status-summary dd,.device-facts dd{margin:.25rem 0 0;font-weight:700}.status-summary dd{font-size:1.8rem}.device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.device-card{border-radius:24px;padding:1rem}.device-card-header strong,.device-card-header small{display:block}.device-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:0}.device-meta{margin-bottom:0;color:var(--muted)}.inline-alert{display:flex;align-items:flex-start;gap:.55rem;margin:.7rem 0 0;padding:.75rem .85rem;border-radius:16px;background:var(--danger-soft);color:var(--danger);font-weight:700}.alert-stack{display:grid;gap:.6rem}.empty-state{margin:0;padding:1rem;border:1px dashed var(--line-strong);border-radius:20px;color:var(--muted)}.steps{display:grid;gap:.85rem;margin-top:1rem}.steps>div{background:#ffffff9e;border:1px solid rgba(16,35,31,.08);border-radius:20px;padding:1rem}.steps strong{display:block;margin-bottom:.35rem}.steps p{margin:0}.filter-panel{margin-bottom:1rem}.filter-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.55rem}.filter-summary{min-height:36px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.42rem .75rem;background:#ffffff8f;color:var(--muted);font-size:.86rem;font-weight:800}.filter-toggle{min-height:40px;border:1px solid var(--line-strong);border-radius:999px;display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .82rem;background:var(--brand-deep);color:#fff;font-weight:800}.filter-toggle .icon{transition:transform .18s ease}.filter-toggle[aria-expanded=true] .icon{transform:rotate(180deg)}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:start}.filter-grid[hidden]{display:none}.checkbox-group{min-width:0;margin:0;padding:.85rem;border:1px solid rgba(16,35,31,.08);border-radius:22px;background:#ffffff7a}.checkbox-group legend,.setup-form label{color:var(--ink);font-weight:700}.checkbox-group legend{padding:0 .25rem}.checkbox-grid{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.75rem}.check-option{display:inline-flex;align-items:center;gap:.45rem;min-height:38px;border:1px solid var(--line);border-radius:999px;padding:.45rem .7rem;background:#fffcf6d1;color:var(--brand-deep);font-size:.92rem;font-weight:700}.check-option:has(input:checked){border-color:#0b5f5261;background:var(--brand-soft);box-shadow:inset 0 0 0 1px #0b5f521a}.check-option input{width:1rem;min-height:1rem;accent-color:var(--brand)}.segmented-control{display:inline-flex;gap:.35rem;padding:.28rem;border:1px solid var(--line);border-radius:999px;background:#ffffffa3}.segmented-control button{min-height:36px;border:0;border-radius:999px;padding:.45rem .8rem;background:transparent;color:var(--brand-deep);font-weight:700}.segmented-control button.active{background:var(--brand-deep);color:#fff}.chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.chart-panel{min-height:250px}.bar-list{display:grid;gap:.8rem;margin-top:1rem}.bar-row{display:grid;gap:.35rem}.bar-row-header{display:flex;justify-content:space-between;gap:1rem;color:var(--ink);font-weight:700}.bar-track{height:12px;overflow:hidden;border-radius:999px;background:#10231f17}.bar-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand),#4f8f7f)}.time-bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(46px,1fr);gap:.55rem;align-items:end;min-height:160px;margin-top:1rem;overflow-x:auto;padding:.4rem .2rem 0}.time-bar{display:grid;grid-template-rows:1fr auto auto;gap:.25rem;align-items:end;min-width:46px;text-align:center}.time-bar-column{display:flex;align-items:end;justify-content:center;height:112px;border-radius:18px;background:linear-gradient(180deg,#ffffffb3,#ffffff4d),repeating-linear-gradient(0deg,transparent 0 21px,rgba(16,35,31,.05) 21px 22px)}.time-bar-column span{display:block;width:62%;min-height:8px;border-radius:12px 12px 5px 5px;background:linear-gradient(180deg,#0f7b68,var(--brand-deep));box-shadow:0 8px 20px #0b5f522e}.time-bar strong{font-size:.95rem}.time-bar small{font-size:.72rem}.metric-chips,.tag-group{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}.metric-chips span,.tag-group span{border-radius:999px;padding:.35rem .6rem;background:#0b5f5217;color:var(--brand-deep);font-size:.82rem;font-weight:700}.household-card .tag-group:empty{display:none}.setup-form{display:grid;gap:1rem;margin-top:1.2rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.list{display:flex;flex-direction:column;gap:.85rem}.card{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:18px;background:#ffffff94}.compact-card{padding:.85rem}.card-actions,.section-heading-row{display:flex;align-items:flex-start;gap:.7rem;flex-wrap:wrap}.section-heading-row{justify-content:space-between}.policy-schedule-editor{display:flex;flex-direction:column;gap:.85rem;margin:1rem 0}.setup-form label{display:grid;gap:.4rem}.full-field{grid-column:1 / -1}.image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.image-grid figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#ffffffa3}.image-grid img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background:var(--brand-soft)}.image-grid figcaption{display:grid;gap:.18rem;padding:.7rem}.image-grid figcaption strong,.image-grid figcaption small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-editor-layout{display:grid;grid-template-columns:minmax(220px,.34fr) 1fr;gap:1rem;align-items:start}.prompt-template-list{display:grid;gap:.65rem}.prompt-template-list button{text-align:left;display:grid;gap:.25rem;padding:.9rem;border-radius:18px;border:1px solid var(--line);background:#ffffff0d;color:var(--ink)}.prompt-template-list button.active{border-color:#27e2d094;background:#27e2d01a}.prompt-template-list span,.prompt-template-list small{font-size:.82rem}.prompt-editor-form{display:grid;gap:.9rem}.prompt-editor-form label{display:grid;gap:.45rem;font-weight:700}.prompt-editor-form textarea{min-height:440px;font-family:SFMono-Regular,Cascadia Code,Consolas,monospace;font-size:.9rem;line-height:1.5}.prompt-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.prompt-meta-grid span{display:grid;gap:.12rem;border:1px solid var(--line);border-radius:16px;padding:.7rem;background:#ffffff0d;color:var(--muted);overflow-wrap:anywhere}.prompt-meta-grid strong{color:var(--ink);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.prompt-actions{display:flex;gap:.65rem;flex-wrap:wrap}@media (max-width: 980px){.console-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid rgba(16,35,31,.1);padding-bottom:.8rem}.nav-list{display:flex;overflow-x:auto;padding-bottom:.2rem}.nav-list button{width:auto;white-space:nowrap}.stats-grid,.overview-grid,.device-grid,.chart-grid,.filter-grid,.prompt-editor-layout,.prompt-meta-grid{grid-template-columns:1fr}.image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.topbar{align-items:flex-start;flex-direction:column}.topbar-actions,.secondary-action{width:100%}.icon-button{width:54px}.device-facts{grid-template-columns:1fr 1fr}.form-grid,.image-grid{grid-template-columns:1fr}.filter-panel .panel-header{display:grid}.filter-header-actions,.segmented-control{width:100%}.filter-summary,.filter-toggle{justify-content:center;width:100%}.segmented-control button{flex:1}.sidebar-brand{align-items:flex-start}}@media (prefers-reduced-motion: no-preference){.stat-card,.panel,.device-card{animation:rise .42s ease both}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}:root{color-scheme:dark;--ink: #f7fbff;--muted: #9aa9c2;--panel: rgba(8, 13, 28, .82);--panel-solid: #0b1227;--line: rgba(148, 163, 184, .18);--line-strong: rgba(164, 185, 220, .32);--brand: #69a7ff;--brand-deep: #0b1c44;--brand-soft: rgba(105, 167, 255, .14);--warning: #f6b85b;--warning-soft: rgba(246, 184, 91, .16);--danger: #ff7b72;--danger-soft: rgba(255, 123, 114, .14);--success: #71f0b0;--success-soft: rgba(113, 240, 176, .13);--shadow: 0 28px 90px rgba(0, 0, 0, .38)}body{background:radial-gradient(circle at 12% 8%,rgba(76,125,255,.22),transparent 28rem),radial-gradient(circle at 82% 2%,rgba(39,226,208,.13),transparent 30rem),radial-gradient(circle at 62% 92%,rgba(246,184,91,.08),transparent 24rem),linear-gradient(145deg,#03060d,#071022 44%,#02040a);color:var(--ink)}body:before{content:"";position:fixed;inset:auto -8rem -12rem auto;width:31rem;height:31rem;pointer-events:none;background:linear-gradient(140deg,#69a7ff21,#27e2d00d),radial-gradient(circle at 50% 28%,rgba(255,255,255,.14),transparent 42%);clip-path:polygon(50% 0,88% 15%,81% 67%,50% 100%,19% 67%,12% 15%);filter:blur(.2px)}h1,h2,h3{color:var(--ink)}pre{background:#030712;border:1px solid var(--line);color:#dce8ff}input,select,textarea,.login-form input{border-color:var(--line-strong);background:#030712c7;color:var(--ink);box-shadow:inset 0 1px #ffffff08}input::placeholder,textarea::placeholder{color:#9aa9c2ad}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#69a7ff70}.login-card,.sidebar-brand,.stat-card,.panel,.device-card{background:linear-gradient(180deg,#0d162fe6,#060a16d6),radial-gradient(circle at top right,rgba(105,167,255,.11),transparent 38%);border-color:var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-card{position:relative;overflow:hidden}.login-card:after{content:"";position:absolute;inset:auto -4rem -7rem auto;width:14rem;height:14rem;pointer-events:none;background:#69a7ff1f;border-radius:999px}.brand-mark{background:linear-gradient(145deg,#0e2c67,#10285f 45%,#69a7ff);color:#f7fbff;box-shadow:0 16px 42px #69a7ff3d}.brand-mark.warning{background:linear-gradient(145deg,#5b251f,#f07265)}.eyebrow{color:#84a7e8}.muted,small{color:var(--muted)}.primary-action{background:linear-gradient(135deg,#1f5fbf,#69a7ff);color:#02040a;box-shadow:0 16px 38px #69a7ff3d}.secondary-action{border-color:var(--line-strong);background:#0b1227bd;color:#dbeafe}.warning-action{border-color:#f6b85b75;background:#f6b85b1f;color:#f9d79b}.secondary-action.compact,.primary-action.compact{min-height:38px;margin-top:0;padding:.56rem .78rem;font-size:.88rem}.icon-button{background:#69a7ff2b;color:#dbeafe}.success-message{color:var(--success);background:var(--success-soft)}.error-message{color:var(--danger);background:var(--danger-soft)}.warning-message{color:var(--warning);background:var(--warning-soft)}.console-shell{position:relative}.sidebar{background:linear-gradient(180deg,#02060feb,#070c1bc7),radial-gradient(circle at 0 0,rgba(105,167,255,.12),transparent 20rem);border-right-color:var(--line)}.sidebar-brand{background:#0a1226b8}.nav-list button{color:#c8d6ef}.nav-list button:hover{background:#69a7ff1a}.nav-list button.active{background:linear-gradient(135deg,#1f5fbff0,#69a7ffd1),radial-gradient(circle at 20% 20%,rgba(255,255,255,.18),transparent 42%);color:#02040a;box-shadow:0 18px 42px #1f5fbf47}.topbar{padding-bottom:1rem;border-bottom:1px solid rgba(148,163,184,.1)}.stat-card,.device-card{position:relative;overflow:hidden}.stat-card:after,.device-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.06),transparent 36%)}.stat-card strong{color:#fff;text-shadow:0 0 28px rgba(105,167,255,.24)}.stat-icon{color:#cfe3ff;background:linear-gradient(145deg,#69a7ff38,#27e2d017);border:1px solid rgba(105,167,255,.22)}.count-chip{background:#69a7ff24;color:#cfe3ff}.status-pill.online{background:#71f0b024;color:var(--success)}.status-pill.stale,.status-pill.unknown{background:#f6b85b26;color:var(--warning)}.status-pill.offline{background:#ff7b7226;color:var(--danger)}.status-summary div,.device-facts div,.steps>div,.checkbox-group,.image-grid figure{background:#0307126b;border-color:#94a3b824}.status-summary dd,.device-facts dd,.bar-row-header{color:#eef6ff}.empty-state{border-color:#69a7ff4d;background:#69a7ff0f;color:#b7c6dc}.check-option{border-color:#94a3b833;background:#080d1cb8;color:#dbeafe}.check-option span{display:grid;gap:.12rem}.check-option small{display:block;max-width:16rem;overflow:hidden;color:#7f8ea8;font-size:.72rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.check-option:has(input:checked){border-color:#69a7ff7a;background:#69a7ff29;box-shadow:inset 0 0 0 1px #69a7ff29}.check-option input{accent-color:#69a7ff}.segmented-control{border-color:#94a3b833;background:#03071280}.filter-summary{border-color:#94a3b82e;background:#0307127a;color:#9fb0c8}.filter-toggle{border-color:#69a7ff59;background:#69a7ff29;color:#dbeafe}.segmented-control button{color:#c8d6ef}.segmented-control button.active{background:#dbeafe;color:#08111f}.bar-track{background:#94a3b81f}.bar-track span{background:linear-gradient(90deg,#69a7ff,#27e2d0);box-shadow:0 0 24px #27e2d02e}.time-bar-column{background:linear-gradient(180deg,#69a7ff17,#0307126b),repeating-linear-gradient(0deg,transparent 0 21px,rgba(148,163,184,.06) 21px 22px);border:1px solid rgba(148,163,184,.1)}.time-bar-column span{background:linear-gradient(180deg,#27e2d0,#69a7ff);box-shadow:0 8px 24px #69a7ff38}.metric-chips span,.tag-group span{background:#69a7ff1c;color:#cfe3ff}.inline-alert{background:#ff7b7221;color:#ffd6d2}.device-name-editor{position:relative;z-index:1;display:grid;gap:.65rem;margin:-.2rem 0 .9rem;padding:.8rem;border:1px solid rgba(105,167,255,.22);border-radius:18px;background:#03071275}.device-name-editor label{display:grid;gap:.4rem;color:#dbeafe;font-weight:700}.device-name-actions{display:flex;flex-wrap:wrap;gap:.5rem}.text-action{position:relative;z-index:1;width:fit-content;min-height:34px;margin:-.35rem 0 .85rem;padding:0;border:0;background:transparent;color:#8bbdff;font-weight:700;text-decoration:underline;text-decoration-color:#8bbdff5c;text-underline-offset:.24rem}.record-actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:.85rem}.record-actions .text-action{margin-bottom:0}.text-action.danger{color:var(--danger);text-decoration-color:#ff7b726b}.text-action.warning{color:var(--warning);text-decoration-color:#f6b85b70}.field-error{color:var(--danger);font-weight:700}.cost-overview-grid{margin-top:0}.map-panel{margin-bottom:1rem}.map-metric-picker{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.map-metric-picker label{display:inline-flex;align-items:center;gap:.45rem;min-height:38px;padding:.45rem .75rem;border:1px solid rgba(148,163,184,.2);border-radius:999px;background:#03071280;color:#dbeafe;font-weight:700}.map-metric-picker input{width:1rem;min-height:1rem;accent-color:#69a7ff}.map-metric-picker label:has(input:checked){border-color:#69a7ff80;background:#69a7ff26}.map-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);gap:1rem;align-items:stretch}.map-canvas-wrap{position:relative;min-width:0}.map-zoom-controls{position:absolute;z-index:3;top:.85rem;right:.85rem;display:inline-flex;gap:.35rem;padding:.3rem;border:1px solid rgba(105,167,255,.18);border-radius:999px;background:#030712b8;box-shadow:0 16px 38px #00000042;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.map-zoom-controls button{min-width:2.1rem;min-height:2.1rem;padding:0 .7rem;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:#69a7ff1f;color:#dbeafe;font-weight:900}.map-zoom-controls button:hover{border-color:#69a7ff80;background:#69a7ff33}.map-zoom-level{display:inline-flex;align-items:center;min-width:3.2rem;justify-content:center;color:#dbeafe;font-size:.78rem;font-weight:900}.device-map{width:100%;min-height:390px;border:1px solid rgba(105,167,255,.14);border-radius:28px;background:radial-gradient(circle at 20% 20%,rgba(105,167,255,.16),transparent 32%),linear-gradient(160deg,#040914eb,#091227b8)}.map-field{fill:url(#map-surface);stroke:#69a7ff2e;stroke-width:1.4}.nz-map{cursor:grab;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.nz-map.is-panning{cursor:grabbing}.nz-map-group{transform-origin:center}.nz-map:not(.is-panning) .nz-map-group{transition:transform .14s ease}.nz-coastline{fill:none;stroke:#cfe3ffc7;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.nz-coastline.glow{stroke:#27e2d02e;stroke-width:8}.map-marker-layer{pointer-events:none}.map-cluster-core circle{fill:#02040ad1;stroke:#27e2d0c7;stroke-width:2;filter:drop-shadow(0 0 16px rgba(39,226,208,.22))}.map-cluster-core text{fill:#f7fbff;font-size:12px;font-weight:900}.spider-line{stroke:#cfe3ff52;stroke-width:1.2;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.map-marker text{fill:#f7fbff;font-size:13px;font-weight:700;paint-order:stroke;stroke:#02040adb;stroke-width:4px}.map-marker-value{fill:#cfe3ff;font-size:11px}.map-empty-label{fill:#dbeafec7;font-size:15px;font-weight:800;paint-order:stroke;stroke:#02040ac7;stroke-width:5px}.map-marker-glow{opacity:.22}.map-marker-dot{stroke:#02040a;stroke-width:3}.map-marker.low .map-marker-glow,.legend-dot.low{background:#5b6b84;fill:#5b6b84}.map-marker.medium .map-marker-glow,.legend-dot.medium{background:#f6b85b;fill:#f6b85b}.map-marker.high .map-marker-glow,.legend-dot.high{background:#27e2d0;fill:#27e2d0}.map-marker.low .map-marker-dot{fill:#9aa9c2}.map-marker.medium .map-marker-dot{fill:#f6b85b}.map-marker.high .map-marker-dot{fill:#27e2d0}.map-side{display:grid;grid-template-rows:auto 1fr;gap:.8rem;min-width:0}.map-legend,.map-device-list article,.workflow-grid article{border:1px solid rgba(148,163,184,.14);border-radius:20px;background:#0307126b}.map-legend{display:grid;gap:.45rem;padding:.85rem}.map-legend strong,.workflow-grid strong,.setup-picker-grid h3{color:#f7fbff}.map-legend span{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-weight:700}.legend-dot{width:.7rem;height:.7rem;border-radius:999px;box-shadow:0 0 18px currentColor}.map-device-list{display:grid;gap:.65rem;max-height:330px;overflow:auto;padding-right:.15rem}.map-device-list article{display:grid;gap:.18rem;padding:.75rem}.map-device-list strong,.map-device-list b{color:#f7fbff}.map-device-list span,.map-device-list small{color:var(--muted)}.map-missing{margin:.85rem 0 0;color:var(--warning);font-weight:700}.map-attribution{margin:0;color:#94a3b8b8;font-size:.75rem;line-height:1.45}.setup-workflow-panel{margin-bottom:1rem}.workflow-grid,.setup-picker-grid{display:grid;gap:.85rem}.workflow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workflow-grid article{padding:1rem}.workflow-grid p{margin-bottom:0;color:var(--muted)}.setup-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.setup-device-select{display:grid;gap:.45rem;color:#dbeafe;font-weight:700;margin-top:.75rem}.setup-helper-copy{margin:.7rem 0 0;font-size:.92rem}.device-link-card{display:grid;align-content:start;gap:.75rem;padding:1rem;border:1px solid rgba(39,226,208,.18);border-radius:24px;background:radial-gradient(circle at 14% 0%,rgba(39,226,208,.14),transparent 38%),#03071275}.device-link-card h3{margin:0}.device-link-card label{display:grid;gap:.42rem;color:#dbeafe;font-weight:800}.link-summary{display:grid;gap:.35rem;padding:.75rem;border:1px solid rgba(148,163,184,.14);border-radius:16px;background:#69a7ff14;color:var(--muted);font-weight:800}.setup-pick-list{display:grid;gap:.55rem;max-height:280px;overflow:auto;padding-right:.15rem}.setup-pick-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:stretch}.setup-pick-main,.setup-new-card{display:grid;gap:.15rem;width:100%;min-height:58px;padding:.75rem .85rem;border:1px solid rgba(105,167,255,.18);border-radius:18px;background:#69a7ff17;color:#dbeafe;text-align:left}.setup-new-card{margin-bottom:.55rem;border-style:dashed;background:#27e2d014}.setup-pick-main:hover,.setup-new-card:hover{border-color:#69a7ff6b;background:#69a7ff26}.setup-delete-button{min-height:58px;padding:0 .72rem;border:1px solid rgba(255,123,114,.22);border-radius:16px;background:#ff7b721a;color:var(--danger);font-weight:800}.setup-delete-button:hover{border-color:#ff7b727a;background:#ff7b7229}.setup-row-actions{display:grid;gap:.35rem}.setup-row-actions .setup-delete-button{min-height:27px}.setup-edit-button{min-height:27px;padding:0 .72rem;border:1px solid rgba(105,167,255,.22);border-radius:14px;background:#69a7ff1a;color:#8bbdff;font-weight:800}.setup-edit-button:hover{border-color:#69a7ff73;background:#69a7ff2b}.setup-row-note{align-self:center;color:var(--muted);font-weight:800;white-space:nowrap}.setup-pick-main span,.setup-new-card span{font-weight:700}.setup-pick-main small,.setup-new-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-card-header,.device-facts,.metric-chips,.device-meta,.inline-alert{position:relative;z-index:1}.image-grid img{background:#071022}.table-scroll{width:100%;max-height:560px;overflow:auto;margin-top:.9rem;border:1px solid var(--line);border-radius:18px;background:#060e1eb8}.access-person-card{display:grid;gap:.45rem}.permission-chip-list{display:flex;flex-wrap:wrap;gap:.4rem}.permission-chip{display:inline-flex;align-items:center;min-height:1.65rem;padding:.25rem .55rem;border:1px solid rgba(105,167,255,.18);border-radius:999px;background:#69a7ff1a;color:#cfe3ff;font-size:.76rem;font-weight:800}.permission-chip.muted-chip{background:#94a3b81a;border-color:#94a3b82e;color:#9fb0c6}.policy-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem;margin-top:1rem}.policy-card{display:grid;gap:.85rem;padding:1rem;border:1px solid rgba(105,167,255,.16);border-radius:22px;background:linear-gradient(180deg,#0d162feb,#060a16db),radial-gradient(circle at top right,rgba(39,226,208,.1),transparent 40%)}.policy-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.policy-card-header strong{color:#f7fbff;text-transform:capitalize}.policy-card-header span{flex:0 0 auto;padding:.32rem .55rem;border-radius:999px;background:#69a7ff24;color:#cfe3ff;font-size:.76rem;font-weight:900}.policy-card-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.policy-card-controls label{display:grid;gap:.32rem;color:var(--muted);font-size:.78rem;font-weight:900}.policy-card-controls input,.policy-card-controls select{min-width:0}.multi-select-field{display:grid;gap:.32rem;min-width:0}.multi-select-label{color:var(--muted);font-size:.78rem;font-weight:900}.multi-select{position:relative}.multi-select summary{display:block;min-height:48px;border:1px solid var(--line-strong);border-radius:16px;background:#030712c7;color:var(--ink);cursor:pointer;list-style:none}.multi-select summary::-webkit-details-marker{display:none}.multi-select-summary-content{min-height:46px;display:flex;align-items:center;gap:.5rem;padding:.38rem .62rem}.multi-select-chip-list{display:flex;flex:1;flex-wrap:wrap;gap:.38rem;min-width:0}.multi-select-chip{max-width:100%;min-height:30px;display:inline-flex;align-items:center;gap:.38rem;padding:.25rem .5rem;border:1px solid rgba(105,167,255,.22);border-radius:8px;background:#69a7ff24;color:#dbeafe;font-size:.76rem;font-weight:800}.multi-select-chip span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-placeholder{flex:1;color:var(--muted);font-weight:700}.multi-select-caret{width:9px;height:9px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg) translateY(-2px)}.multi-select-menu{position:absolute;z-index:30;top:calc(100% + 6px);right:0;left:0;max-height:280px;overflow:auto;padding:.5rem;border:1px solid rgba(105,167,255,.18);border-radius:16px;background:#071327;box-shadow:var(--shadow)}.policy-card .multi-select[open] .multi-select-menu{position:static;margin-top:.5rem;box-shadow:none}.multi-select-option{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .62rem;border:0;border-radius:12px;background:transparent;color:#eef6ff;text-align:left}.multi-select-option:hover,.multi-select-option.selected{background:#27e2d01a}.multi-select-option strong{display:block;font-weight:800}.multi-select-option small{display:block;margin-top:.12rem;color:#7f8ea8}.multi-select-check{width:18px;height:18px;flex:0 0 auto;border-radius:999px}.multi-select-option.selected .multi-select-check:before{content:"";display:block;width:8px;height:13px;margin:0 auto;border-right:3px solid #27e2d0;border-bottom:3px solid #27e2d0;transform:rotate(45deg)}.multi-select-empty{display:block;padding:.65rem}.policy-time-band-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.7rem;margin-top:1rem}.policy-time-band{display:grid;grid-template-columns:minmax(72px,1fr) minmax(96px,auto) auto minmax(96px,auto);align-items:center;gap:.5rem;min-width:0;padding:.65rem;border:1px solid rgba(105,167,255,.16);border-radius:16px;background:#27e2d00f;color:var(--muted);font-size:.78rem;font-weight:900}.policy-time-band input{width:96px;min-width:96px;min-height:34px;padding:.4rem .5rem;font-size:.78rem}.time-band-separator{color:var(--muted);font-weight:800}.policy-table-wrap{width:100%;max-width:100%;max-height:560px;overflow:auto;margin-top:1rem;border:1px solid rgba(105,167,255,.16);border-radius:18px}.policy-table{min-width:2160px;width:100%;border-collapse:collapse;background:#030712b3;table-layout:fixed}.policy-table th,.policy-table td{padding:.55rem;border-bottom:1px solid rgba(105,167,255,.12);text-align:left;vertical-align:top}.policy-table th{position:sticky;top:0;z-index:1;background:#071327;color:var(--muted);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.policy-table input,.policy-table select{width:100%;min-width:0}.policy-matrix-table td:first-child,.policy-matrix-table th:first-child{position:sticky;left:0;z-index:2;width:190px;max-width:190px;background:#071327}.policy-matrix-table th:first-child{z-index:3}.policy-interaction-cell{width:190px;max-width:190px;color:#f7fbff;text-transform:capitalize}.policy-interaction-cell strong{display:block;line-height:1.25;overflow-wrap:anywhere}.policy-multiselect-cell{width:220px}.policy-rule-cell{width:190px}.policy-rule-cell strong,.policy-rule-cell small{display:block}.policy-schedule-cell{width:240px}.policy-schedule-controls,.policy-time-range{display:grid;gap:.4rem}.policy-time-range{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}.policy-time-range input{min-height:34px;padding:.4rem}.policy-mini-button{min-height:32px;margin-top:.5rem;padding:.4rem .65rem;font-size:.76rem}.policy-field-note{display:block;margin-top:.4rem}.policy-table .multi-select{width:100%}.policy-table .multi-select summary{min-height:40px}.policy-table .multi-select-summary-content{min-height:38px}.policy-table .multi-select[open] .multi-select-menu{position:static;margin-top:.5rem;box-shadow:none}.policy-na{display:inline-flex;align-items:center;min-height:38px;color:var(--muted);font-size:.76rem;font-weight:900}.danger-action{border:1px solid rgba(255,123,114,.28);border-radius:999px;background:#ff7b721a;color:var(--danger);font-weight:800}@media (max-width: 980px){.sidebar{border-bottom-color:var(--line)}.map-layout,.workflow-grid,.setup-picker-grid{grid-template-columns:1fr}}@media (max-width: 640px){.policy-time-band-grid,.policy-card-grid,.policy-card-controls,.policy-time-band{grid-template-columns:1fr}}
