@import url('/static/fonts.css');
:root{color-scheme:dark;--bg:#080c0b;--panel:#101613;--raised:#151e19;--line:#25352b;--text:#e7f1e9;--muted:#83958a;--green:#91e5ad;--bright:#b7f8c9;--amber:#edc378;--red:#ee9294;--blue:#8caedd;--radius:18px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:4px}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--green)}[hidden]{display:none!important}.muted{color:var(--muted)}.mono{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace}.eyebrow{font-size:11px;font-weight:650;letter-spacing:.14em;color:var(--muted);margin:0 0 10px}h1,h2,h3,p{margin-top:0}h1{font-size:31px;letter-spacing:-.045em;line-height:1.2;font-weight:600}h2{font-size:20px;letter-spacing:-.025em;font-weight:550}h3{font-size:15px;font-weight:550}.workspace{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;border-right:1px solid var(--line);background:#0c120e;display:flex;flex-direction:column;padding:32px 20px 18px;z-index:5}.brand{display:flex;gap:12px;align-items:center;margin:0 9px 47px;font-size:25px;font-weight:650;letter-spacing:-.04em}.brand small{display:block;font-size:10px;letter-spacing:.06em;font-weight:400;color:var(--muted)}.brand-mark{width:39px;height:39px;border-radius:12px;background:var(--green);color:#183520;display:grid;place-items:center;font-weight:750;font-size:25px;letter-spacing:-.06em}.nav-caption{font-size:10px;letter-spacing:.15em;color:#667b6d;padding:0 13px;margin-bottom:14px}nav{display:grid;gap:6px}nav a{height:45px;padding:0 14px;display:flex;align-items:center;gap:12px;color:#9daf9f;border:1px solid transparent;border-radius:10px}nav a>span:first-child{font-size:20px;width:21px;text-align:center}nav a:hover{background:#152019}nav a.active{background:#192c20;border-color:#2d4935;color:var(--bright)}.nav-count{margin-left:auto;border:1px solid #33463a;border-radius:5px;padding:0 6px;font-size:10px}.sidebar-foot{margin-top:auto;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px;padding:22px 9px}.status-dot{height:7px;width:7px;flex:0 0 7px;border-radius:50%;background:#6b7b72;display:inline-block}.status-dot.ok{background:var(--green);box-shadow:0 0 0 3px #91e5ad10}.status-dot.warn{background:var(--amber)}.status-dot.bad{background:var(--red)}.account{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:18px 8px 0}.account strong{font-size:12px;display:block;font-weight:550}.account small{font-size:10px;color:var(--muted)}.avatar{height:31px;width:31px;border:1px solid #354b3c;background:#213126;border-radius:9px;display:grid;place-items:center;color:var(--green);font-size:12px}.icon-button{border:0;background:transparent;color:var(--muted);font-size:21px;line-height:1;width:32px;height:32px;border-radius:7px}.icon-button:hover{background:#ffffff0b;color:var(--text)}.account .icon-button{margin-left:auto}.main-wrap{margin-left:232px;width:calc(100% - 232px)}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;font-size:12px;color:var(--muted)}.topbar>div{display:flex;gap:18px;align-items:center}.slash{padding:0 13px;color:#45614d}.topbar #breadcrumb{color:#d0e2d4}.topbar-clock{font-variant-numeric:tabular-nums}.private-label{font-size:10px;border:1px solid var(--line);padding:4px 9px;border-radius:20px;color:#9bb7a3}main{max-width:1740px;margin:auto;padding:35px 38px 48px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.page-head h1{margin-bottom:7px}.page-head p{font-size:13px;margin:0;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #33463a;border-radius:9px;background:#151f18;color:#c7ddcd;min-height:38px;padding:8px 13px;font-size:12px;font-weight:550}.button:hover:not(:disabled){background:#213327;border-color:#49654f}.button.primary{background:var(--green);border-color:var(--green);color:#173420}.button.primary:hover:not(:disabled){background:var(--bright)}.button.danger{color:var(--red);border-color:#583536;background:#261a1b}.button.small{min-height:30px;padding:5px 10px;font-size:11px}.button.text{background:transparent;border-color:transparent;padding:7px;color:var(--green)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:26px}.stat{position:relative;border:1px solid var(--line);background:linear-gradient(130deg,#131d17,#101613);border-radius:var(--radius);padding:20px 21px 18px;min-height:116px}.stat-label{font-size:12px;color:#9ab09f}.stat-value{font-size:33px;line-height:1.3;font-weight:550;letter-spacing:-.06em;margin:9px 0 2px}.stat-value.green{color:var(--green)}.stat-value.amber{color:var(--amber)}.stat-sub{font-size:10px;color:var(--muted)}.stat-icon{position:absolute;right:20px;top:19px;color:#6b9477;font-size:18px}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 303px;gap:19px;margin-bottom:26px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:21px 22px 16px;gap:15px}.panel-head h2,.panel-head h3{margin:0}.panel-head p{font-size:11px;color:var(--muted);margin:4px 0 0}.panel-head .badge{white-space:nowrap}.map-wrap{position:relative;background:radial-gradient(ellipse at 55% 55%,#14201955,transparent 65%);min-height:285px;aspect-ratio:1200/600;overflow:hidden;touch-action:none}.map-wrap svg{width:100%;height:100%;display:block}.map-region{fill:#19231d;stroke:#34483b;stroke-width:.7;vector-effect:non-scaling-stroke;transition:fill .2s}.map-region.has-devices{fill:#243e2c;stroke:#4e785b}.map-marker{cursor:pointer}.map-marker .halo{fill:#91e5ad16;stroke:#91e5ad35;stroke-width:1}.map-marker .core{fill:var(--green);stroke:#0e1811;stroke-width:2}.map-marker.offline .halo{fill:#ee929412;stroke:#ee929425}.map-marker.offline .core{fill:#bd7276}.map-marker.degraded .core{fill:var(--amber)}.map-marker:focus .core,.map-marker:hover .core{stroke:#e2f9e8;stroke-width:3}.map-controls{position:absolute;right:16px;top:8px;display:grid;gap:5px}.map-controls button{height:30px;width:30px;border:1px solid #354c3d;border-radius:8px;background:#0d1711;color:var(--green);font-size:18px}.map-foot{display:flex;gap:17px;align-items:center;flex-wrap:wrap;padding:13px 22px 18px;font-size:10px;color:var(--muted)}.map-foot span{display:flex;gap:6px;align-items:center}.map-foot a{margin-left:auto;font-size:9px;color:#667d6e}.legend-dot{width:6px;height:6px;border-radius:50%;background:var(--green)}.legend-dot.warn{background:var(--amber)}.legend-dot.bad{background:var(--red)}.health-list{padding:0 21px 6px}.health-row{display:flex;justify-content:space-between;gap:15px;padding:15px 0;border-bottom:1px solid #26382c;font-size:12px}.health-row:last-child{border:0}.health-row small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.health-value{text-align:right;color:var(--green);white-space:nowrap;font-size:12px}.health-value.muted{color:var(--muted)}.health-note{margin:0 21px 21px;border:1px solid #2e4435;border-radius:10px;padding:12px;color:#94b39d;font-size:10px;line-height:1.6}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;padding:12px 21px;font-size:9px;letter-spacing:.1em;font-weight:500;color:#779080;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:17px 21px;font-size:12px;border-bottom:1px solid #202f25}tr:last-child td{border-bottom:0}tbody tr.device-row{cursor:pointer}tbody tr.device-row:hover{background:#16231a}.device-name{display:flex;align-items:center;gap:11px}.device-symbol{width:34px;height:34px;border:1px solid #344a3b;background:#1b2b20;border-radius:10px;display:grid;place-items:center;color:var(--green);font-size:18px}.device-name strong{font-size:12px;font-weight:550;display:block}.device-name small,.cell-sub{font-size:10px;color:var(--muted);display:block;margin-top:3px}.badge{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:3px 8px;border:1px solid #37503f;border-radius:6px;font-size:10px;background:#1b2c20;color:#abe6bb}.badge.good{color:var(--green);border-color:#355a40;background:#192e21}.badge.warn{color:var(--amber);border-color:#5b4a2c;background:#2a2518}.badge.bad{color:var(--red);border-color:#543236;background:#291b1e}.badge.neutral{color:#9aac9e;border-color:#334039;background:#1c2520}.badge.blue{color:#a4bcdf;border-color:#34465f;background:#1b2637}.badge .status-dot{width:5px;height:5px;flex-basis:5px;box-shadow:none}.link-tag{font-size:10px;color:#93b09c;display:inline-flex;gap:5px;align-items:center}.link-tag+.link-tag{margin-left:9px}.link-tag.offline{color:#6c7e73}.arrow-cell{color:#819b89;text-align:right}.panel-footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);padding:14px 21px;border-top:1px solid var(--line)}.empty-state{padding:50px 24px;text-align:center;color:var(--muted);font-size:13px}.error-panel{border:1px solid #6a3d3e;background:#2d1e20;padding:16px;border-radius:12px;color:var(--red);margin-bottom:20px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:18px}.search{height:38px;max-width:360px;flex:1;border:1px solid var(--line);border-radius:10px;padding:0 13px;background:#111b15;color:var(--text)}.toolbar .muted{font-size:11px;margin-left:auto}.device-hero{display:flex;gap:17px;align-items:center}.device-hero .device-symbol{width:55px;height:55px;font-size:30px;border-radius:15px}.device-hero h1{margin:0 0 4px;font-size:28px}.back-link{font-size:11px;color:var(--muted);display:inline-flex;gap:8px;margin-bottom:22px}.link-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:24px}.link-card{border:1px solid var(--line);border-radius:15px;background:var(--panel);padding:20px}.link-card .eyebrow{margin-bottom:15px}.link-card h3{margin:0 0 6px}.link-card small{font-size:11px;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.profile{margin:0 21px;padding:18px 0;border-top:1px solid var(--line)}.profile-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.profile-title{font-size:13px;font-weight:550}.profile-id{font-size:10px;color:var(--muted);margin-top:5px}.profile-actions{display:flex;gap:8px;margin-top:15px}.profile-actions .button:last-child{margin-left:auto}.info-list{padding:0 21px 16px}.info-list>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px}.info-list>div:last-child{border:0}.info-list span{color:var(--muted)}.info-list strong{font-weight:450;max-width:160px;text-align:right;overflow-wrap:anywhere}.device-actions{display:grid;gap:8px;padding:0 21px 21px}.operations-panel{margin-top:23px}.table-small td{font-size:11px;padding:14px 18px}.table-small th{padding-left:18px}.job-id{color:#91ab99;font-size:9px}.audit-event{font-weight:450}.audit-icon{color:var(--green);margin-right:8px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(ellipse at 45% 35%,#203c2b44,transparent 60%)}.login-card{width:min(420px,100%);padding:36px;border:1px solid #2c4433;border-radius:23px;background:#101a13d9;box-shadow:0 30px 100px #0006}.login-card>.brand-mark{margin-bottom:27px}.login-card h1{font-size:36px;margin-bottom:13px}.login-card>.muted{font-size:12px;margin-bottom:26px}.login-card label{display:grid;gap:7px;font-size:11px;color:#afc7b6;margin:17px 0}.login-card input,dialog input,dialog textarea{width:100%;min-height:42px;border:1px solid #344b3b;border-radius:8px;background:#0c140f;color:var(--text);padding:10px 12px}.login-card .button{width:100%;margin-top:7px;justify-content:space-between}.login-foot{text-align:center;font-size:10px;color:var(--muted);margin:22px 0 0}.form-error{font-size:11px;color:var(--red);min-height:0;margin:12px 0}.form-error:empty{display:none}dialog{color:var(--text);background:#121d16;border:1px solid #3b5844;border-radius:19px;padding:27px;width:min(490px,calc(100vw - 30px));box-shadow:0 28px 100px #0009}dialog::backdrop{background:#000a;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.dialog-top .eyebrow{margin:0}.dialog-top .icon-button{margin-right:-8px}dialog h2{margin:0 0 12px}dialog .muted{font-size:12px;line-height:1.7}dialog label{display:grid;gap:8px;font-size:11px;color:#b1cbb9;margin-top:18px}dialog textarea{font-family:ui-monospace,monospace;resize:vertical;min-height:88px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.dialog-help{padding:12px;border:1px solid #3d4931;background:#20251a;border-radius:8px;color:#c0ca9f;font-size:11px}.toast{position:fixed;bottom:25px;left:calc(50% + 90px);transform:translateX(-50%);background:#203c2a;border:1px solid #4d7458;border-radius:11px;padding:13px 19px;font-size:12px;z-index:20;box-shadow:0 12px 32px #0006;max-width:90vw}.loading-dot{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}@media(min-width:1600px){.map-wrap{min-height:360px}}@media(max-width:1200px){.sidebar{width:205px;padding:25px 13px}.main-wrap{margin-left:205px;width:calc(100% - 205px)}main{padding:27px 25px}.topbar{padding:0 25px}.overview-grid{grid-template-columns:minmax(0,1fr)}.health-panel{display:none}.detail-grid{grid-template-columns:minmax(0,1fr) 270px}.stats{gap:11px}.stat{padding:17px;min-height:105px}}@media(max-width:850px){.sidebar{position:static;width:100%;height:auto;padding:15px 20px;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--line);gap:20px}.brand{margin:0;font-size:21px;gap:8px}.brand-mark{width:32px;height:32px;font-size:21px}.brand small{font-size:8px}.nav-caption,.sidebar-foot,.account{display:none}.sidebar nav{display:flex;gap:4px;margin-left:auto}nav a{padding:0 10px;height:35px;font-size:11px;gap:5px}nav a>span:first-child{font-size:15px;width:15px}.nav-count{display:none}.workspace{display:block}.main-wrap{margin:0;width:100%}.topbar{height:55px;padding:0 22px}.topbar-clock{display:none}main{padding:25px 22px}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-grid{grid-template-columns:minmax(0,1fr)}.detail-grid>.panel:last-child{order:2}.link-cards{gap:10px}.link-card{padding:15px}.toast{left:50%}.page-head h1{font-size:27px}.map-wrap{min-height:265px}}@media(max-width:520px){.sidebar{padding:13px 12px;gap:10px}.brand small{display:none}.brand{font-size:19px}.sidebar nav{gap:0}nav a{padding:0 7px;font-size:10px}nav a>span:first-child{display:none}main{padding:23px 15px}.topbar{padding:0 15px;font-size:10px}.private-label{font-size:9px}.page-head{align-items:flex-start}.page-head>.button{padding:8px;font-size:10px;white-space:nowrap}.page-head h1{font-size:25px}.page-head p{font-size:11px}.stat-label{font-size:10px}.stat-icon{font-size:14px;right:15px;top:15px}.stat-value{font-size:29px}.map-wrap{min-height:225px}.panel-head{padding:18px 16px 14px}.panel-head h2{font-size:17px}td,th{padding-left:16px;padding-right:16px}.map-foot{padding:13px 16px 16px;gap:10px;font-size:9px}.link-cards{grid-template-columns:1fr}.link-card{display:grid;grid-template-columns:100px 1fr;gap:0 10px}.link-card .eyebrow{grid-row:1/3;margin:3px 0}.link-card h3{font-size:13px}.device-hero h1{font-size:22px}.device-hero .device-symbol{width:43px;height:43px;font-size:23px}.profile-actions{flex-wrap:wrap}.profile-actions .button:last-child{margin-left:0}.login-card{padding:28px}.login-card h1{font-size:31px}}
