:root {
  --ink:#101820; --ink-2:#1a2630; --ink-3:#34434d; --paper:#f3f5f1; --surface:#fff;
  --line:#dce2dc; --muted:#68756f; --accent:#b8e300; --accent-dark:#789400;
  --danger:#d74236; --warning:#e9a321; --ok:#1f9d68; --info:#3a78c2;
  --radius:14px; --shadow:0 10px 35px rgba(16,24,32,.07); --sidebar:236px;
  font-family:Inter,Arial,sans-serif; color:var(--ink); background:var(--paper); font-synthesis:none;
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%} body{min-height:100vh;background:var(--paper)}
button,input,select,textarea{font:inherit} button,a{touch-action:manipulation} button{cursor:pointer}
:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 75%,#000);outline-offset:2px}
[hidden]{display:none!important}.mobile-only{display:none}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:800;color:var(--accent-dark)}
.login-view{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1.08fr) minmax(400px,.92fr);background:var(--ink)}
.login-brand{position:relative;overflow:hidden;padding:64px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(145deg,#101820,#24333d)}
.brand-lockup{display:flex;align-items:center;gap:20px}.brand-lockup img{width:224px;height:auto}.brand-lockup span,.logo span{display:grid;gap:2px}.brand-lockup small,.logo small{color:#aeb9bc;font-size:.68rem;letter-spacing:.04em}.login-brand>p{font-size:clamp(2rem,4vw,4.6rem);line-height:1.02;letter-spacing:-.05em;font-weight:650;max-width:780px;margin:0;z-index:1}
.signal-art{position:absolute;inset:0;opacity:.45}.signal-art i{position:absolute;border:1px solid var(--accent);border-radius:50%;width:34vw;height:34vw;right:-8vw;top:8vh}.signal-art i:nth-child(2){transform:scale(.72)}.signal-art i:nth-child(3){transform:scale(.44)}.signal-art i:nth-child(4){width:16px;height:16px;background:var(--accent);border:0;right:9vw;top:calc(8vh + 17vw - 8px);box-shadow:0 0 0 12px #b8e3001c}
.login-card{background:var(--surface);padding:clamp(48px,8vw,128px);display:flex;flex-direction:column;justify-content:center}.login-card h1{font-size:clamp(2.4rem,4vw,4.2rem);letter-spacing:-.06em;line-height:1;margin:.5rem 0 1rem}.login-card>p{color:var(--muted);font-size:1.05rem;margin:0 0 2.5rem}.login-card form{display:grid;gap:18px;max-width:480px}.login-card label,.form-field{display:grid;gap:8px;font-size:.78rem;font-weight:750;color:var(--ink-3)}
input,select,textarea{width:100%;min-height:44px;border:1px solid #cdd5cf;border-radius:9px;background:#fff;color:var(--ink);padding:10px 12px;transition:.15s border-color,.15s box-shadow}input:focus,select:focus,textarea:focus{border-color:var(--accent-dark);box-shadow:0 0 0 3px #b8e30026;outline:0}
button{border:0;border-radius:9px;background:#e7ebe7;color:var(--ink);padding:10px 15px;font-weight:750}.primary{background:var(--accent);color:#121a14}.primary:hover{background:#c8ef23}.secondary{background:transparent;border:1px solid var(--line)}.danger{background:#fee8e5;color:#9d251e}.wide{width:100%;min-height:48px;margin-top:5px}.form-error{min-height:1.4em;color:var(--danger)!important;margin:0!important}.login-hint{font-size:.8rem!important;margin:22px 0 0!important}
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) 1fr;grid-template-rows:64px 1fr;grid-template-areas:"side top" "side main"}.sidebar{grid-area:side;position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:26px 18px 18px;background:var(--ink);color:#fff;display:flex;flex-direction:column;z-index:30}.logo{display:grid;gap:7px;padding:0 10px 20px;border-bottom:1px solid #ffffff18;text-decoration:none}.logo img{width:178px;display:block}.logo span{display:block}.logo small{font-size:.58rem;text-transform:uppercase;letter-spacing:.12em}.sidebar nav{display:grid;gap:4px;padding:18px 0}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border-radius:9px;background:transparent;color:#b9c3c6;text-decoration:none;font-size:.88rem;text-align:left}.nav-item svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}.nav-item:hover{background:#ffffff0c;color:#fff}.nav-item.active{color:var(--accent);background:#b8e30012}.sidebar-bottom{margin-top:auto;border-top:1px solid #ffffff18;padding:18px 10px 0;display:grid;gap:15px}.sidebar-bottom a{font-size:.78rem;color:#cdd5d6;text-decoration:none}.server-state{display:flex;align-items:center;gap:8px;font-size:.72rem;color:#8f9b9f}.server-state i,.live-status i{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px #1f9d6824}
.topbar{grid-area:top;position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px}.breadcrumbs{display:flex;gap:9px;align-items:center;font-size:.76rem}.breadcrumbs span{font-weight:800}.breadcrumbs b{color:#abb4af}.breadcrumbs strong{color:var(--muted)}.top-actions{display:flex;align-items:center;gap:18px;position:relative}.live-status{background:transparent;color:var(--muted);display:flex;align-items:center;gap:8px;padding:8px}.profile-button{background:transparent;display:flex;align-items:center;gap:9px;text-align:left;padding:4px}.profile-button>span:first-child{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--accent);font-weight:850}.profile-button b,.profile-button small{display:block}.profile-button b{font-size:.78rem}.profile-button small{font-size:.68rem;color:var(--muted);margin-top:2px}.profile-menu{position:absolute;right:0;top:49px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px;min-width:150px}.profile-menu button{width:100%;text-align:left;background:#fff}
.workspace{grid-area:main;padding:30px 34px 70px;min-width:0}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:25px}.page-header h1{font-size:clamp(2rem,3vw,3.25rem);line-height:1;letter-spacing:-.055em;margin:6px 0 9px}.page-header p{margin:0;color:var(--muted)}.page-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.notice{background:#fff7d9;border:1px solid #f0d478;border-radius:10px;padding:12px 16px;margin-bottom:18px;color:#604b0a}.content{min-height:400px}.loading,.empty,.error-state{min-height:240px;display:grid;place-items:center;text-align:center;color:var(--muted);background:#fff;border:1px dashed #cfd7d1;border-radius:var(--radius);padding:30px}.error-state strong{color:var(--danger)}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-height:132px;box-shadow:0 1px 0 #fff}.metric small{display:block;color:var(--muted);font-weight:650}.metric strong{display:block;font-size:2.2rem;letter-spacing:-.05em;margin-top:14px}.metric em{position:absolute;right:18px;bottom:18px;font-size:.7rem;font-style:normal;color:var(--muted)}.metric.critical{border-top:3px solid var(--danger)}.metric.accent{border-top:3px solid var(--accent)}
.grid-2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 2px 0 rgba(16,24,32,.01)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.panel-header h2,.panel-header h3{margin:0;font-size:1rem}.panel-header p{margin:3px 0 0;color:var(--muted);font-size:.78rem}.panel-header a{font-size:.75rem;color:var(--accent-dark);font-weight:800;text-decoration:none}.event-list,.device-list,.media-list,.call-list,.user-list,.integration-list{display:grid;gap:8px}.event-row,.device-row,.media-row,.call-row,.user-row,.integration-row{display:grid;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff}.event-row{grid-template-columns:9px minmax(150px,1.5fr) minmax(100px,.7fr) auto}.severity-dot{width:8px;height:8px;border-radius:50%;background:var(--info)}.severity-dot.critical{background:var(--danger)}.severity-dot.high{background:#eb6a2a}.severity-dot.medium{background:var(--warning)}.row-main b,.row-main small{display:block}.row-main b{font-size:.84rem}.row-main small{font-size:.71rem;color:var(--muted);margin-top:4px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;background:#eef2ee;color:var(--ink-3);font-size:.67rem;font-weight:800}.pill.online,.pill.completed,.pill.acknowledged{background:#e3f7ed;color:#14764d}.pill.offline,.pill.failed{background:#fbe8e5;color:#a42c24}.pill.open,.pill.critical{background:#fff0ed;color:#b32f27}.pill.running,.pill.queued{background:#fff5d9;color:#745508}
.fleet-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:16px}.device-row{grid-template-columns:42px minmax(0,1fr) auto;text-align:left;width:100%}.device-row.selected{border-color:var(--accent-dark);box-shadow:0 0 0 2px #b8e30038}.device-icon{width:42px;height:42px;border-radius:10px;background:var(--ink);color:var(--accent);display:grid;place-items:center;font-size:1.15rem}.device-map{position:relative;min-height:390px;border-radius:12px;background:#e8ede8;overflow:hidden;border:1px solid var(--line)}.device-map svg{position:absolute;inset:0;width:100%;height:100%}.map-grid line{stroke:#cfd8d0;stroke-width:.5}.track-line{fill:none;stroke:var(--ink);stroke-width:2.5;vector-effect:non-scaling-stroke}.track-point{fill:var(--accent);stroke:var(--ink);stroke-width:1.5;vector-effect:non-scaling-stroke}.map-label{position:absolute;left:15px;top:15px;background:#fff;padding:8px 10px;border-radius:8px;box-shadow:var(--shadow);font-size:.72rem}.device-detail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.detail-cell{background:#f5f7f4;border-radius:9px;padding:12px}.detail-cell small,.detail-cell b{display:block}.detail-cell small{color:var(--muted);font-size:.68rem}.detail-cell b{margin-top:5px;font-size:.82rem}
.toolbar{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:14px}.toolbar input,.toolbar select{width:auto;min-width:150px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);font-size:.77rem;vertical-align:middle}th{position:sticky;top:0;background:#f6f8f5;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}tr:last-child td{border-bottom:0}
.upload-zone{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px;border:1px dashed #aebbb0;border-radius:12px;padding:18px;background:#fafbf9;margin-bottom:16px}.upload-zone input{border:0;padding:0}.media-row{grid-template-columns:44px minmax(180px,1fr) minmax(100px,.5fr) auto}.media-thumb{width:44px;height:44px;border-radius:9px;background:var(--ink);color:var(--accent);display:grid;place-items:center}.media-viewer{margin-top:16px;background:#111820;color:#fff;border-radius:12px;padding:14px}.media-viewer video,.media-viewer audio,.media-viewer img{display:block;max-width:100%;max-height:520px;margin:auto;border-radius:8px}
.call-row{grid-template-columns:44px minmax(0,1fr) auto}.call-stage{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px}.remote-grid{min-height:430px;background:var(--ink);border-radius:14px;padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.remote-tile{min-height:180px;border-radius:10px;background:#26333c;color:#fff;display:grid;place-items:center;overflow:hidden;position:relative}.remote-tile video{width:100%;height:100%;object-fit:cover}.remote-tile span{position:absolute;left:10px;bottom:10px;background:#000a;padding:5px 7px;border-radius:6px;font-size:.7rem}.call-controls{display:grid;align-content:start;gap:10px}.ptt-button{min-height:130px;border-radius:50%;aspect-ratio:1;background:var(--accent);font-size:1rem;max-width:180px;margin:12px auto;box-shadow:0 0 0 10px #b8e30024}.ptt-button.transmitting{background:var(--danger);color:#fff;box-shadow:0 0 0 14px #d7423622}.participant-list{display:grid;gap:7px}.participant{padding:8px 10px;border-radius:8px;background:#f2f5f2;font-size:.76rem}.participant.talking{border-left:3px solid var(--danger)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .full{grid-column:1/-1}.modal-form{max-width:760px}.role-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.role-card{border:1px solid var(--line);border-radius:11px;padding:14px}.role-card h3{font-size:.8rem;margin:0 0 8px}.role-card p{font-size:.7rem;color:var(--muted);margin:0;line-height:1.45}.integration-row{grid-template-columns:minmax(0,1fr) auto auto}.code-value{font:600 .74rem ui-monospace,SFMono-Regular,Consolas,monospace;background:#edf2ed;border-radius:7px;padding:8px;word-break:break-all}.secret-box{border:1px solid var(--warning);background:#fff9e8;padding:14px;border-radius:10px;margin:12px 0}.secret-box strong{display:block;margin-bottom:8px}.toast-region{position:fixed;right:20px;bottom:20px;z-index:100;display:grid;gap:8px}.toast{background:var(--ink);color:#fff;padding:12px 15px;border-radius:10px;box-shadow:var(--shadow);max-width:360px;font-size:.8rem}.toast.error{background:#8c2620}.toast.success{background:#176b48}
@media(max-width:1100px){:root{--sidebar:210px}.metric-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.call-stage{grid-template-columns:1fr}.fleet-layout{grid-template-columns:300px minmax(0,1fr)}.device-detail{grid-template-columns:repeat(2,1fr)}.role-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.mobile-only{display:block}.login-view{grid-template-columns:1fr}.login-brand{display:none}.login-card{min-height:100vh;padding:34px 24px}.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:transform .2s;width:min(280px,85vw)}.sidebar.open{transform:none}.topbar{height:58px;padding:0 14px}.workspace{padding:22px 14px 50px}.breadcrumbs{display:none}.profile-button>span:nth-child(2){display:none}.page-header{display:block}.page-actions{justify-content:flex-start;margin-top:15px}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric{min-height:110px;padding:15px}.metric strong{font-size:1.7rem}.grid-2,.fleet-layout,.form-grid{grid-template-columns:1fr}.event-row{grid-template-columns:8px minmax(0,1fr) auto}.event-row>.row-meta{display:none}.device-list{max-height:none}.device-map{min-height:330px}.device-detail{grid-template-columns:1fr 1fr}.upload-zone{grid-template-columns:1fr}.media-row{grid-template-columns:40px minmax(0,1fr) auto}.media-row>.row-meta{display:none}.role-cards{grid-template-columns:1fr}.remote-grid{min-height:300px}.toolbar input,.toolbar select{width:100%}}
@media(max-width:390px){.metric-grid{grid-template-columns:1fr}.device-detail{grid-template-columns:1fr}.page-header h1{font-size:2.2rem}.workspace{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Cifra v1.1: maps, provisioning and theme-aware responsive surfaces */
.theme-button{display:flex;align-items:center;gap:7px;background:transparent;color:var(--muted);padding:8px 10px}.theme-button>span:first-child{font-size:1.15rem;color:var(--ink)}
.overview-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);gap:16px}.overview-side{display:grid;gap:16px;align-content:start}.overview-map-panel{min-width:0}.overview-map{min-height:470px}.google-map{position:absolute;inset:0;width:100%;height:100%;border:0;background:#dfe5df}.map-provider{display:inline-flex;align-items:center;background:var(--ink);color:#fff;border-radius:999px;padding:5px 9px;font-size:.65rem;font-weight:800}.map-provider-float{position:absolute;z-index:2;right:12px;top:12px}.map-label{z-index:2}.map-float{position:absolute;z-index:2;left:16px;bottom:16px;display:grid;gap:4px;max-width:calc(100% - 32px);background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:11px;padding:11px 13px;box-shadow:var(--shadow)}.map-float b{font-size:.82rem}.map-float span{font-size:.7rem;color:var(--muted)}.map-empty{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:6px;color:var(--muted);padding:20px}.map-empty b{color:var(--ink)}.map-device-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.map-device-button{display:flex;align-items:center;gap:9px;text-align:left;min-width:0;background:var(--paper);border:1px solid var(--line);padding:10px}.map-device-button span{min-width:0}.map-device-button b,.map-device-button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-device-button b{font-size:.74rem}.map-device-button small{font-size:.65rem;color:var(--muted);margin-top:3px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);flex:none}.status-dot.online{background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 15%,transparent)}.empty.compact{min-height:70px;grid-column:1/-1}
.connection-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:18px}.connection-main,.connection-aside{display:grid;gap:16px;align-content:start}.connection-hero{padding:30px;border-radius:18px;color:#fff;background:radial-gradient(circle at 90% 0,#42513d 0,transparent 32%),linear-gradient(145deg,#111b22,#24352c);overflow:hidden}.connection-hero h2{font-size:clamp(1.8rem,3.2vw,3.15rem);letter-spacing:-.055em;line-height:1.02;margin:8px 0 12px;max-width:700px}.connection-hero>p{color:#bac5c2;max-width:680px;line-height:1.6;margin:0}.connection-steps{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.connection-steps li{position:relative;display:flex;gap:9px;align-items:center;color:#82908c}.connection-steps li:not(:last-child)::after{content:"";position:absolute;height:1px;background:#ffffff24;left:42px;right:-4px;top:17px}.connection-steps li>span{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#314038;border:1px solid #ffffff24;font-size:.75rem;font-weight:900}.connection-steps li b,.connection-steps li small{display:block}.connection-steps li b{font-size:.76rem}.connection-steps li small{font-size:.64rem;margin-top:2px}.connection-steps li.active,.connection-steps li.done{color:#fff}.connection-steps li.active>span,.connection-steps li.done>span{background:var(--accent);color:#152014;border-color:var(--accent)}.connection-card{padding:26px}.stage-heading{display:flex;align-items:flex-start;gap:15px;margin-bottom:24px}.stage-heading>div{min-width:0;flex:1}.stage-heading h2{font-size:1.35rem;margin:5px 0 7px}.stage-heading p{color:var(--muted);margin:0;line-height:1.5}.stage-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--ink);color:var(--accent);font-size:1.6rem}.stage-device-select{max-width:560px}.connection-action{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.privacy-note{font-size:.7rem;color:var(--muted);margin:16px 0 0}.wifi-list{display:grid;gap:8px}.wifi-network{display:grid;grid-template-columns:20px 52px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:11px;cursor:pointer}.wifi-network:has(input:checked){border-color:var(--accent-dark);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.wifi-network b,.wifi-network small{display:block}.wifi-network b{font-size:.82rem}.wifi-network small{font-size:.68rem;color:var(--muted);margin-top:3px}.wifi-signal{font-size:.72rem;letter-spacing:1px;color:var(--accent-dark)}.wifi-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:18px}.link-button{background:transparent;color:var(--muted);padding-left:0;margin-top:10px}.success-stage{text-align:center;padding:20px}.success-mark{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:var(--accent);color:var(--ink);font-size:1.8rem;font-weight:900}.success-stage h2{font-size:2rem;letter-spacing:-.04em;margin:7px 0}.success-stage>p{color:var(--muted);max-width:580px;margin:0 auto 22px;line-height:1.55}.success-stage .primary{margin-top:20px}.check-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.check-list li{position:relative;padding-left:24px;font-size:.76rem;line-height:1.4;color:var(--muted)}.check-list li::before{content:"○";position:absolute;left:0;color:var(--muted)}.check-list li.ok{color:var(--ink)}.check-list li.ok::before{content:"✓";color:var(--ok);font-weight:900}.diagnostics details{border-top:1px solid var(--line);padding:12px 0}.diagnostics details:first-of-type{border-top:0}.diagnostics summary{cursor:pointer;font-size:.78rem;font-weight:800}.diagnostics p{color:var(--muted);font-size:.72rem;line-height:1.55;margin:8px 0 0}.access-user-row{grid-template-columns:42px minmax(170px,1fr) auto auto auto}.permission-note{display:inline-block!important;color:var(--muted)!important;margin-top:6px!important}.permission-note.granted{color:var(--ok)!important}.permission-check{display:flex;align-items:flex-start;gap:11px;border:1px solid var(--line);border-radius:10px;padding:13px;cursor:pointer}.permission-check input{width:18px;min-height:18px;margin-top:2px}.permission-check b,.permission-check small{display:block}.permission-check small{color:var(--muted);margin-top:4px;line-height:1.45}
[data-theme="dark"]{--ink:#eff4ef;--ink-2:#e0e8e1;--ink-3:#c2cdc5;--paper:#0c1215;--surface:#141c20;--line:#2a373a;--muted:#96a49f;--accent-dark:#b8e300;--shadow:0 14px 40px rgba(0,0,0,.28);color-scheme:dark}[data-theme="dark"] body{background:var(--paper)}[data-theme="dark"] .sidebar{background:#080d10}[data-theme="dark"] .topbar,[data-theme="dark"] input,[data-theme="dark"] select,[data-theme="dark"] textarea,[data-theme="dark"] .panel,[data-theme="dark"] .metric,[data-theme="dark"] .event-row,[data-theme="dark"] .device-row,[data-theme="dark"] .media-row,[data-theme="dark"] .call-row,[data-theme="dark"] .user-row,[data-theme="dark"] .integration-row,[data-theme="dark"] .profile-menu,[data-theme="dark"] .profile-menu button{background:var(--surface);color:var(--ink)}[data-theme="dark"] .detail-cell,[data-theme="dark"] .participant,[data-theme="dark"] .map-device-button{background:#1b2529}[data-theme="dark"] .role-card,[data-theme="dark"] .table-wrap{background:var(--surface)}[data-theme="dark"] th{background:#1a2428}[data-theme="dark"] .loading,[data-theme="dark"] .empty,[data-theme="dark"] .error-state{background:var(--surface)}[data-theme="dark"] .upload-zone{background:#11191c}[data-theme="dark"] .device-icon,[data-theme="dark"] .stage-icon,[data-theme="dark"] .map-provider{background:#05090b}[data-theme="dark"] button{color:var(--ink);background:#243034}[data-theme="dark"] button.primary,[data-theme="dark"] .success-mark{color:#111a13;background:var(--accent)}[data-theme="dark"] .login-card{background:var(--surface)}[data-theme="dark"] .code-value{background:#0c1215}[data-theme="dark"] .secret-box{background:#272113}[data-theme="dark"] .map-float{background:rgba(20,28,32,.92)}
@media(max-width:1180px){.overview-layout,.connection-layout{grid-template-columns:1fr}.overview-side{grid-template-columns:repeat(2,minmax(0,1fr))}.connection-aside{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.theme-label{display:none}.theme-button{padding:7px}.overview-side,.connection-aside{grid-template-columns:1fr}.overview-map{min-height:360px}.map-device-strip{grid-template-columns:1fr 1fr}.connection-hero{padding:23px 18px}.connection-steps{grid-template-columns:1fr;gap:13px}.connection-steps li:not(:last-child)::after{width:1px;height:18px;left:17px;right:auto;top:32px}.connection-card{padding:18px}.stage-heading{flex-wrap:wrap}.stage-heading>.pill{margin-left:67px}.wifi-form{grid-template-columns:1fr}.access-user-row{grid-template-columns:42px minmax(0,1fr) auto}.access-user-row>button{grid-column:2/-1}.map-provider-float{top:10px;right:10px}}
@media(max-width:430px){.map-device-strip{grid-template-columns:1fr}.wifi-network{grid-template-columns:18px 42px minmax(0,1fr)}.wifi-network>i{display:none}.live-status span{display:none}}
[data-theme="dark"] .notice{background:#302713;border-color:#6f5a1d;color:#f5da79}

