:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#080c12;color:#e7eef8;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:linear-gradient(180deg,#141f2df5,#080c12 360px),#080c12}button{font:inherit}.app-shell{width:min(1840px,calc(100vw - 32px));margin:0 auto;padding:24px 0 48px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:18px 0 22px}.topbar h1{margin:0;font-size:clamp(32px,4vw,58px);line-height:1;letter-spacing:0}.topbar-status{display:flex;align-items:center;gap:12px;color:#9fb0c6;white-space:nowrap}.eyebrow{margin:0 0 8px;color:#7f95b5;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase}.tabs{display:flex;gap:8px;margin:0 0 18px;border-bottom:1px solid rgba(130,155,190,.2);overflow-x:auto}.tabs button{min-width:132px;padding:12px 18px;color:#9fb0c6;background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer}.tabs button.active{color:#f4f8ff;border-bottom-color:#6fb7ff}.summary-grid{display:grid;grid-template-columns:repeat(8,minmax(120px,1fr));gap:12px;margin-bottom:18px}.metric-card,.panel,.node-card{background:#0e151feb;border:1px solid rgba(126,153,190,.18);border-radius:8px;box-shadow:0 18px 60px #00000040}.metric-card{min-height:116px;padding:16px}.metric-card p{margin:0 0 12px;color:#9fb0c6;font-size:13px}.metric-card strong{display:block;margin-bottom:12px;font-size:24px;line-height:1.1}.status{display:inline-flex;align-items:center;gap:7px;max-width:100%;color:#d7e4f5;font-size:12px;font-weight:700;white-space:nowrap}.status span{width:8px;height:8px;border-radius:999px;flex:0 0 auto}.status-online span{background:#31d07d;box-shadow:0 0 18px #31d07dbf}.status-degraded span{background:#ffd166;box-shadow:0 0 18px #ffd1669e}.status-offline span{background:#ff5c77;box-shadow:0 0 18px #ff5c77a6}.status-unknown span{background:#8c98aa;box-shadow:0 0 18px #8c98aa73}.status-maintenance span{background:#6fb7ff;box-shadow:0 0 18px #6fb7ff9e}.main-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(420px,.85fr);gap:18px;align-items:start}.left-stack,.right-stack,.single-screen{display:grid;gap:18px}.screen-grid{display:grid;grid-template-columns:minmax(320px,.8fr) repeat(2,minmax(280px,1fr));gap:18px;align-items:start}.wide{grid-column:1 / -1}.dashboard-summary{grid-template-columns:repeat(8,minmax(120px,1fr))}.dashboard-grid{display:grid;grid-template-columns:minmax(480px,1.25fr) minmax(360px,.75fr);gap:18px;align-items:start}.network-map{position:relative;overflow:hidden;width:100%;aspect-ratio:1672 / 941;min-height:420px;background:#050b13;border:1px solid rgba(61,166,255,.28);border-radius:8px}.network-map-screen{display:grid;grid-template-columns:minmax(620px,1.35fr) minmax(380px,.65fr);gap:18px;align-items:start}.network-map-screen.fullscreen{position:fixed;top:16px;right:16px;bottom:16px;left:16px;z-index:40;grid-template-columns:minmax(0,1fr) 380px;overflow:auto;padding:18px;background:#04080ef5;border:1px solid rgba(61,166,255,.28);border-radius:8px}.network-map.compact{min-height:340px}.network-map-stage{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:center;transition:transform .18s ease}.network-map img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}.map-toolbar,.map-filters,.map-footer,.map-card-actions,.map-legend,.unplaced-sites{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.map-toolbar{justify-content:space-between;margin-bottom:12px}.segmented-control,.zoom-controls{display:flex;gap:8px;flex-wrap:wrap}.segmented-control button,.zoom-controls button,.map-card-actions button,.map-filters button{min-height:36px;color:#dce8f8;background:#6fb7ff14;border:1px solid rgba(111,183,255,.24);border-radius:6px;padding:8px 11px;cursor:pointer}.segmented-control button.active{color:#fff;background:#259eff3d;border-color:#6fb7ffad}.map-filters{margin-bottom:12px}.map-filters label{display:grid;gap:5px;min-width:138px;color:#9fb0c6;font-size:12px;font-weight:700;text-transform:uppercase}.map-filters select{min-height:36px;color:#e7eef8;background:#080d14db;border:1px solid rgba(126,153,190,.24);border-radius:6px;padding:7px 9px}.network-map-lines,.network-map-nodes{position:absolute;top:0;right:0;bottom:0;left:0}.network-map-lines{width:100%;height:100%;pointer-events:none}.network-route{vector-effect:non-scaling-stroke;stroke-width:.38;filter:drop-shadow(0 0 5px rgba(45,168,255,.9))}.network-route-active{stroke:#4abdffeb;animation:route-pulse 2.8s ease-in-out infinite}.network-route-degraded{stroke:#ffd166eb;filter:drop-shadow(0 0 7px rgba(255,209,102,.78));animation:route-pulse 3.6s ease-in-out infinite}.network-route-offline{stroke:#ff5c77e6;filter:drop-shadow(0 0 7px rgba(255,92,119,.85))}.network-route-reserve{stroke:#afc1dab8;stroke-dasharray:1.4 1.2}.network-route.dimmed,.map-node.dimmed{opacity:.25}.map-node{position:absolute;width:42px;height:42px;padding:0;transform:translate(-50%,-50%);color:#eaf5ff;background:transparent;border:0;cursor:pointer;transition:transform .16s ease,filter .16s ease}.map-node:hover,.map-node:focus-visible,.map-node.selected{transform:translate(-50%,-50%) scale(1.2);filter:drop-shadow(0 0 14px rgba(68,185,255,.9));outline:none}.map-node-ring{position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px solid rgba(93,192,255,.95);border-radius:999px;background:#259eff38;box-shadow:0 0 0 5px #259eff21,0 0 22px #259effe0}.map-node-main{width:58px;height:58px}.map-node-main .map-node-ring{top:9px;right:9px;bottom:9px;left:9px;border-width:3px;box-shadow:0 0 0 8px #259eff24,0 0 32px #259efff2}.map-node-reserve .map-node-ring{border-color:#b7c5d7d1;background:#99abc129;box-shadow:0 0 0 5px #99abc11a,0 0 16px #99abc185}.map-node-critical .map-node-ring{border-color:#ff5c77;background:#ff5c7733;box-shadow:0 0 0 6px #ff5c771f,0 0 20px #ff5c77b8}.map-node-offline .map-node-ring{border-color:#ff5c77;background:#ff5c771f}.map-node-offline .map-node-ring:before,.map-node-offline .map-node-ring:after,.map-node-critical .map-node-ring:before,.map-node-critical .map-node-ring:after{content:"";position:absolute;left:50%;top:50%;width:20px;height:3px;background:#ff5c77;border-radius:999px;transform:translate(-50%,-50%) rotate(45deg)}.map-node-offline .map-node-ring:after,.map-node-critical .map-node-ring:after{transform:translate(-50%,-50%) rotate(-45deg)}.map-node-warning .map-node-ring:after,.map-node-maintenance .map-node-ring:after{content:"";position:absolute;right:-3px;top:-3px;width:10px;height:10px;border-radius:999px;background:#ffd166;box-shadow:0 0 14px #ffd166cc}.map-node-reserve.map-node-reserve .map-node-ring:after{display:none}.map-node-label{position:absolute;left:50%;top:calc(100% + 2px);min-width:max-content;transform:translate(-50%);padding:3px 7px;color:#eaf5ff;background:#050c16bd;border:1px solid rgba(76,176,255,.3);border-radius:5px;font-size:11px;font-weight:800;text-shadow:0 1px 6px rgba(0,0,0,.85);white-space:nowrap}.map-node-tooltip{position:absolute;left:50%;bottom:calc(100% + 7px);min-width:190px;transform:translate(-50%) translateY(6px);padding:8px 10px;color:#eaf5ff;background:#050c16eb;border:1px solid rgba(76,176,255,.38);border-radius:6px;box-shadow:0 12px 34px #00000057;font-size:12px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease}.map-node:hover .map-node-tooltip,.map-node:focus-visible .map-node-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.map-footer,.map-legend,.unplaced-sites{margin-top:12px;color:#9fb0c6;font-size:13px}.map-legend span,.unplaced-sites span{padding:5px 8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:999px}@keyframes route-pulse{0%,to{opacity:.52}50%{opacity:1}}.site-details{margin-bottom:16px}.node-list,.timeline,.agent-grid{display:grid;gap:10px}.node-list article,.timeline article,.agent-grid article{display:grid;gap:5px;padding:12px;background:#ffffff09;border:1px solid rgba(255,255,255,.06);border-radius:6px}.node-list span,.timeline span,.timeline time,.timeline p,.agent-grid span{margin:0;color:#9fb0c6;font-size:13px}.device-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:6px;color:#6fb7ff;background:#6fb7ff14;border:1px solid rgba(111,183,255,.22);border-radius:6px}.map-drilldown{display:grid;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(126,153,190,.18)}.map-drilldown h3,.map-drilldown p{margin:0}.map-drilldown p{color:#9fb0c6}.infrastructure-controls{display:grid;gap:14px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.breadcrumbs button,.link-button{color:#dce8f8;background:#6fb7ff14;border:1px solid rgba(111,183,255,.22);border-radius:6px;padding:7px 10px;cursor:pointer}.breadcrumbs button:after{content:"→";margin-left:8px;color:#6fb7ff}.breadcrumbs button:last-child:after{content:"";margin:0}.global-search{min-width:min(620px,100%);flex:1;min-height:38px;color:#e7eef8;background:#080d14db;border:1px solid rgba(126,153,190,.24);border-radius:6px;padding:8px 12px}.infrastructure-layout{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(320px,.8fr) minmax(420px,1fr);gap:18px;align-items:start}.nested-panel{margin-top:18px;background:#080d148c}.node-details-expanded{grid-template-columns:repeat(4,minmax(0,1fr))}.node-subsection{display:grid;gap:12px;margin-top:18px}.node-subsection h3,.agent-inline strong{margin:0}.agent-inline{display:grid;gap:12px;padding:12px;background:#ffffff09;border:1px solid rgba(255,255,255,.06);border-radius:6px}dd small{display:block;margin-top:4px;color:#6f83a0;font-size:11px}.details-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.details-tabs span{padding:5px 8px;color:#9fb0c6;background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:999px;font-size:12px;font-weight:700}.check-status{display:inline-flex;align-items:center;min-width:max-content;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800}.check-passed{color:#9ff0c2;background:#31d07d1f;border:1px solid rgba(49,208,125,.32)}.check-warning{color:#ffe2a0;background:#ffd1661f;border:1px solid rgba(255,209,102,.34)}.check-failed,.check-timeout{color:#ffb0bd;background:#ff5c771f;border:1px solid rgba(255,92,119,.34)}.check-running{color:#bfe0ff;background:#6fb7ff1f;border:1px solid rgba(111,183,255,.34)}.check-pending,.check-skipped{color:#c0c9d5;background:#8c98aa1f;border:1px solid rgba(140,152,170,.28)}.panel,.node-card{padding:18px}.panel-title{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:16px}.panel-title h2,.node-card h3,.sphere-card h3{margin:0;letter-spacing:0}.tree{display:grid;gap:8px;color:#dce8f8;font-family:SFMono-Regular,Consolas,monospace;font-size:14px}.tree>.tree-group>div:first-child,.tree .indent-1,.tree .indent-2,.tree .indent-3,.tree .indent-4,.tree .indent-5{padding:8px 10px;background:#ffffff09;border:1px solid rgba(255,255,255,.06);border-radius:6px}.tree-group,.tree-branch{display:grid;gap:8px}.tree span{color:#7f95b5}.indent-1{margin-left:18px}.indent-2{margin-left:36px}.indent-3{margin-left:54px}.indent-4{margin-left:72px}.indent-5{margin-left:90px}.node-card{display:grid;gap:16px}dl{margin:0}.node-card dl,.sphere-grid,.details-list{display:grid;gap:12px}.node-card dt,.sphere-grid dt,.details-list dt{color:#7f95b5;font-size:12px}.node-card dd,.sphere-grid dd,.details-list dd{margin:4px 0 0;color:#eef5ff}.sphere-list{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px}.sphere-list.compact{grid-template-columns:repeat(5,minmax(230px,1fr))}.sphere-card{display:grid;gap:14px;width:100%;min-height:270px;padding:16px;text-align:left;color:inherit;background:#090f17eb;border:1px solid rgba(126,153,190,.18);border-radius:8px;cursor:pointer}.sphere-card:hover,.sphere-card:focus-visible{border-color:#6fb7ffc7;outline:none}.sphere-card-header{display:flex;justify-content:space-between;align-items:start;gap:12px}.sphere-card p,.sphere-card footer{margin:0;color:#9fb0c6}.health-line{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.health-line span{color:#9fb0c6}.health-bar{grid-column:1 / -1;height:8px;overflow:hidden;background:#182234;border-radius:999px}.health-bar span{display:block;height:100%;background:linear-gradient(90deg,#31d07d,#6fb7ff)}.sphere-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sphere-card footer{display:flex;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid rgba(126,153,190,.14);font-size:13px}.table-wrap{overflow-x:auto}.filters-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;margin-bottom:14px}.filters-grid label{display:grid;gap:6px;color:#9fb0c6;font-size:12px;font-weight:700;text-transform:uppercase}.filters-grid select{width:100%;min-height:38px;color:#e7eef8;background:#080d14d1;border:1px solid rgba(126,153,190,.24);border-radius:6px;padding:8px 10px}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:12px 10px;border-bottom:1px solid rgba(126,153,190,.14);text-align:left;vertical-align:top}th{color:#7f95b5;font-size:12px;text-transform:uppercase}td span{display:block;margin-top:4px;color:#9fb0c6;font-size:13px}.automation-list{display:grid;gap:10px}.automation-list article{display:grid;grid-template-columns:1.2fr .6fr 1fr auto;gap:12px;align-items:center;padding:12px;background:#ffffff09;border:1px solid rgba(255,255,255,.06);border-radius:6px}.automation-list span,.automation-list p,.automation-list time{margin:0;color:#9fb0c6;font-size:13px}.discovery-list{display:grid;gap:12px}.discovery-list article{display:grid;gap:10px;padding:12px;background:#ffd1660f;border:1px solid rgba(255,209,102,.2);border-radius:8px}.discovery-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.discovery-title{display:grid;gap:4px;min-width:0;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer}.discovery-list span{color:#9fb0c6;font-size:13px}.discovery-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px}.discovery-grid div{padding:8px;background:#080c125c;border:1px solid rgba(126,153,190,.12);border-radius:6px}.discovery-grid dt{color:#7f95b5;font-size:12px}.discovery-grid dd{margin:4px 0 0;color:#eef5ff;overflow-wrap:anywhere}.validation-badge{display:inline-flex;align-items:center;min-height:28px;padding:5px 8px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap}.validation-waiting{color:#d7e4f5;background:#8c98aa1f;border:1px solid rgba(140,152,170,.28)}.validation-success{color:#d9ffe9;background:#31d07d1f;border:1px solid rgba(49,208,125,.3)}.validation-failed{color:#ffd9df;background:#ff5c771f;border:1px solid rgba(255,92,119,.3)}.plan-view{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:8px}.plan-stage{display:grid;gap:4px;min-height:64px;padding:8px;border-radius:6px;background:#ffffff09;border:1px solid rgba(126,153,190,.14)}.plan-stage strong{font-size:12px}.plan-stage span{margin:0;font-size:12px}.plan-waiting{border-color:#8c98aa38}.plan-ready,.plan-running{border-color:#6fb7ff57;background:#6fb7ff14}.plan-success{border-color:#31d07d57;background:#31d07d14}.plan-warning{border-color:#ffd16661;background:#ffd16614}.plan-failed{border-color:#ff5c7757;background:#ff5c7714}.workflow-actions{display:flex;flex-wrap:wrap;gap:8px}.workflow-actions button{min-height:34px;padding:7px 12px;color:#dce8f8;background:#6fb7ff1a;border:1px solid rgba(111,183,255,.28);border-radius:6px;cursor:pointer}.workflow-actions button:hover:not(:disabled),.workflow-actions button:focus-visible{border-color:#6fb7ffc2;outline:none}.workflow-actions button:disabled{cursor:wait;opacity:.56}.validation-details,.drawer-dry-run{display:grid;gap:6px}.validation-details code,.drawer-dry-run code{display:block;padding:7px 9px;overflow-wrap:anywhere;color:#dce8f8;background:#080c12b8;border:1px solid rgba(126,153,190,.16);border-radius:6px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.workflow-error{display:flex;gap:12px;align-items:center;margin-bottom:18px;color:#ffd9df;border-color:#ff5c7747}.workflow-error span{color:#ffb7c4}.empty-state,.api-state p{margin:0;color:#9fb0c6}.drawer{position:fixed;top:0;right:0;width:min(460px,100vw);height:100vh;padding:24px;overflow-y:auto;background:#0d1420;border-left:1px solid rgba(126,153,190,.28);box-shadow:-24px 0 80px #0000007a;z-index:10}.drawer-head{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:18px}.drawer h2{margin:0;font-size:30px}.icon-button{width:40px;height:40px;color:#dce8f8;background:#ffffff0f;border:1px solid rgba(255,255,255,.14);border-radius:8px;cursor:pointer;font-size:24px}.details-list{margin-top:20px;padding-top:18px;border-top:1px solid rgba(126,153,190,.18)}.details-list div{display:grid;grid-template-columns:150px 1fr;gap:12px}.drawer-note{margin-top:18px;padding:14px;color:#c7d5e7;background:#6fb7ff14;border:1px solid rgba(111,183,255,.2);border-radius:8px}.drawer-dry-run{margin-top:18px;padding-top:18px;border-top:1px solid rgba(126,153,190,.18)}.history-block{display:grid;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(126,153,190,.18)}.history-block article{display:grid;gap:4px;padding:10px;background:#ffffff09;border:1px solid rgba(255,255,255,.06);border-radius:6px}.history-block span,.history-block p{margin:0;color:#9fb0c6;font-size:13px}.agent-connect-hero{border-color:#6fb7ff57;background:linear-gradient(135deg,#1976d229,#070d16e0),#0c121ce6}.connection-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:18px;align-items:start}.copy-command{display:grid;gap:12px;padding:16px;background:#050a12ad;border:1px solid rgba(111,183,255,.22);border-radius:8px}.copy-command code{display:block;padding:12px;overflow-wrap:anywhere;color:#dce8f8;background:#00000047;border:1px solid rgba(126,153,190,.18);border-radius:6px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.connection-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.connection-step{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:start;padding:14px;background:#ffffff09;border:1px solid rgba(126,153,190,.16);border-radius:8px}.connection-step>span{display:grid;place-items:center;width:30px;height:30px;color:#06101c;background:#6fb7ff;border-radius:50%;font-weight:800}.connection-step p{margin:4px 0 0;color:#9fb0c6;font-size:13px}.connection-step em{color:#9fb0c6;font-style:normal;font-size:12px}.step-waiting>span{color:#dce8f8;background:#596575}.step-warning>span{color:#171200;background:#f6c85f}.step-failed>span{color:#fff;background:#ff5c77}.restriction-grid{display:flex;flex-wrap:wrap;gap:8px}.restriction-grid span{padding:7px 10px;color:#c7d5e7;background:#6fb7ff14;border:1px solid rgba(111,183,255,.18);border-radius:6px;font-size:13px}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.settings-grid label{display:grid;gap:7px;color:#9fb0c6;font-size:13px}.settings-grid input,.settings-grid select{min-width:0;padding:10px;color:#dce8f8;background:#070d16d1;border:1px solid rgba(126,153,190,.2);border-radius:6px}.settings-grid label:has(input[type=checkbox]){display:flex;gap:8px;align-items:center;padding:10px;background:#ffffff09;border:1px solid rgba(126,153,190,.16);border-radius:6px}.api-check{margin:0;color:#c7d5e7}.api-check-available{color:#83e8b2}.api-check-unavailable,.api-check-invalid_response,.api-check-tls_error,.api-check-timeout,.api-check-not_configured{color:#ffb7c4}.one-time-token{display:grid;gap:10px;margin-top:14px;padding:14px;color:#ffd9df;background:#ff5c7714;border:1px solid rgba(255,92,119,.22);border-radius:8px}.one-time-token code{padding:10px;overflow-wrap:anywhere;color:#f5f9ff;background:#00000052;border:1px solid rgba(255,255,255,.12);border-radius:6px}.install-steps{display:grid;gap:10px}.install-steps article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px;background:#ffffff09;border:1px solid rgba(126,153,190,.16);border-radius:8px}.install-steps article>span{display:grid;place-items:center;width:28px;height:28px;color:#06101c;background:#6fb7ff;border-radius:50%;font-weight:800}.install-steps code{display:block;margin-top:6px;padding:9px;overflow-wrap:anywhere;color:#dce8f8;background:#00000042;border:1px solid rgba(126,153,190,.14);border-radius:6px;font-size:12px}.topology-screen{display:grid;grid-template-columns:minmax(300px,.32fr) minmax(0,1fr);gap:18px;align-items:start}.topology-sidebar{position:sticky;top:14px;max-height:calc(100vh - 120px);overflow:auto}.topology-search{display:grid;gap:8px;margin-bottom:14px}.topology-search select{width:100%;padding:10px;color:#dce8f8;background:#070d16d1;border:1px solid rgba(126,153,190,.2);border-radius:6px}.topology-tree{display:grid;gap:5px}.topology-tree details{padding-left:10px;border-left:1px solid rgba(111,183,255,.12)}.topology-tree summary{list-style:none}.topology-tree summary::-webkit-details-marker{display:none}.topology-tree button{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;width:100%;align-items:center;padding:7px 8px;color:#c7d5e7;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;text-align:left}.topology-tree button:hover,.topology-tree button.active{color:#f5f9ff;background:#6fb7ff1a;border-color:#6fb7ff38}.topology-tree em{color:#8ca1ba;font-style:normal;font-size:11px}.topology-main{display:grid;gap:18px}.topology-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:start}.breadcrumbs{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.breadcrumbs button{display:inline-flex;gap:6px;align-items:center;padding:6px 8px;color:#c7d5e7;background:#ffffff09;border:1px solid rgba(126,153,190,.16);border-radius:6px;cursor:pointer}.topology-result-grid,.topology-passport-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.topology-result-card{display:grid;gap:4px;padding:12px;color:#dce8f8;background:#ffffff09;border:1px solid rgba(126,153,190,.16);border-radius:8px;cursor:pointer;text-align:left;transition:transform .16s ease,border-color .16s ease}.topology-result-card:hover{transform:translateY(-2px);border-color:#6fb7ff70}.topology-result-card span{color:#9fb0c6;font-size:13px}.digital-twin-strip{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}.digital-twin-strip span{padding:7px 9px;color:#dce8f8;background:#6fb7ff14;border:1px solid rgba(111,183,255,.17);border-radius:6px;font-size:12px}.mini-topology{display:grid;gap:9px;margin-top:16px}.mini-topology button{position:relative;display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;padding:10px;color:#dce8f8;background:#ffffff09;border:1px solid rgba(126,153,190,.16);border-radius:8px;cursor:pointer;text-align:left}.mini-topology button:not(:last-child):after{position:absolute;bottom:-10px;left:23px;width:1px;height:10px;background:#6fb7ff6b;content:""}.topology-graph-panel svg{width:100%;min-height:520px;background:linear-gradient(rgba(111,183,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(111,183,255,.055) 1px,transparent 1px),#050a128f;background-size:24px 24px;border:1px solid rgba(126,153,190,.16);border-radius:8px}.graph-edge{stroke:#6fb7ff6b;stroke-width:.35;transition:stroke .16s ease}.edge-offline,.edge-failed{stroke:#ff5c77d1}.graph-node{cursor:pointer}.graph-node circle{fill:#070d16eb;stroke:#6fb7ff;stroke-width:.6;transition:transform .16s ease,stroke-width .16s ease}.graph-node:hover circle,.graph-node.selected circle{stroke-width:1}.graph-node text{fill:#dce8f8;font-size:2.7px;pointer-events:none}.topology-targets{grid-template-columns:repeat(6,minmax(0,1fr))}.api-state{margin-top:20vh}.api-state h1{margin:0 0 14px}@media(max-width:1320px){.summary-grid{grid-template-columns:repeat(4,1fr)}.main-grid,.screen-grid,.dashboard-grid,.infrastructure-layout,.topology-screen,.topology-passport-grid,.connection-layout,.network-map-screen,.network-map-screen.fullscreen{grid-template-columns:1fr}.node-details-expanded{grid-template-columns:repeat(2,minmax(0,1fr))}.sphere-list.compact{grid-template-columns:repeat(2,minmax(260px,1fr))}}@media(max-width:760px){.app-shell{width:min(100vw - 20px,720px);padding-top:12px}.topbar{flex-direction:column}.topbar-status{flex-wrap:wrap;white-space:normal}.summary-grid,.filters-grid,.map-filters,.sphere-list,.sphere-list.compact{grid-template-columns:1fr}.automation-list article,.details-list div,.discovery-card-head,.map-toolbar{grid-template-columns:1fr}.discovery-grid,.plan-view,.connection-steps,.topology-result-grid,.topology-targets,.settings-grid,.install-steps article,.node-details-expanded{grid-template-columns:1fr}.topology-sidebar{position:static;max-height:none}.topology-toolbar{flex-direction:column}.indent-1,.indent-2,.indent-3,.indent-4,.indent-5{margin-left:0}}.sphere-real-status{display:grid;gap:5px;justify-items:end;max-width:260px;font-size:12px;color:#9fb0c6}.sphere-real-status:before{content:"";width:14px;height:14px;border-radius:50%;box-shadow:0 0 18px currentColor}.sphere-real-status.online:before{color:#43d17c;background:#43d17c}.sphere-real-status.warning:before{color:#ffd166;background:#ffd166}.sphere-real-status.offline:before{color:#ff5b6e;background:#ff5b6e}.sphere-real-status.unknown:before{color:#8a96a8;background:#8a96a8}.production-sphere-card{cursor:default}.sphere-grid-wide{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.sphere-actions button:disabled{cursor:wait;opacity:.55}.sphere-traffic-chart{display:grid;gap:10px;padding:12px;margin-top:12px;border:1px solid rgba(111,183,255,.16);border-radius:6px;background:#050a106b}.traffic-chart-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.compact-control button{padding:5px 8px;font-size:12px}.traffic-bars{display:flex;align-items:end;gap:3px;height:92px;padding:8px;border:1px solid rgba(126,153,190,.14);border-radius:6px;background:#0000002e}.traffic-bars span{position:relative;flex:1;min-width:3px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#6fb7ffd9,#26d77c6b)}.traffic-bars i{position:absolute;left:0;right:0;bottom:0;display:block;border-radius:3px 3px 0 0;background:#43d17cb8}.traffic-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.traffic-totals div{padding:8px;background:#ffffff09;border:1px solid rgba(255,255,255,.06);border-radius:6px}.traffic-totals dt,.chart-note{color:#9fb0c6;font-size:12px}.traffic-totals dd{margin:3px 0 0;color:#e7eef8;font-weight:700}.compact-sphere-card{min-height:220px;gap:12px}.compact-sphere-card footer button{flex:0 0 auto;padding:7px 10px;color:#eaf4ff;background:#6fb7ff24;border:1px solid rgba(111,183,255,.34);border-radius:6px;cursor:pointer}.compact-sphere-card footer button:disabled,.map-card-actions button:disabled{cursor:not-allowed;opacity:.48}.sphere-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sphere-summary-grid dd{overflow-wrap:anywhere}.sphere-detail-drawer{width:min(860px,100vw);z-index:60}.detail-hero{display:grid;grid-template-columns:auto auto 1fr auto;gap:12px;align-items:center;padding:12px;margin-bottom:14px;background:#ffffff09;border:1px solid rgba(126,153,190,.16);border-radius:8px}.detail-hero strong{font-size:20px}.detail-hero span{color:#cfe0f5}.detail-tab-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid rgba(126,153,190,.18)}.detail-tab-buttons button{padding:8px 10px;color:#9fb0c6;background:#ffffff09;border:1px solid rgba(126,153,190,.16);border-radius:6px;cursor:pointer}.detail-tab-buttons button.active{color:#f4f8ff;background:#6fb7ff24;border-color:#6fb7ff70}.detail-section{display:grid;gap:14px}.compact-details-list{grid-template-columns:repeat(2,minmax(240px,1fr));margin-top:0}.compact-details-list div{grid-template-columns:150px minmax(0,1fr)}.detail-chart .traffic-bars{height:130px}.control-primary{display:grid;gap:8px;padding:14px;background:#31d07d14;border:1px solid rgba(49,208,125,.22);border-radius:8px}.primary-action{width:fit-content;padding:10px 14px;color:#06110b;background:#31d07d;border:0;border-radius:6px;cursor:pointer;font-weight:800}.control-primary p,.compact-history p{margin:0;color:#9fb0c6}.compact-history{margin-top:0}@media(max-width:900px){.sphere-list,.sphere-list.compact,.compact-details-list,.detail-hero{grid-template-columns:1fr}.sphere-detail-drawer{width:100vw}}
