@font-face{font-family:Inter;src:local('Inter'),local('Segoe UI')}*{box-sizing:border-box} :root{color-scheme:dark;--navy:#0C1F31;--bg:#0C1F31;--panel:#15283A;--panel2:#1A2E40;--line:#33495A;--text:#EDF5FA;--muted:#88A4B4;--sky:#BDDDEC;--coral-soft:#DB9194;--coral:#E57877;--map-land:#213647;--map-border:#455C6D;--map-active:#6D8898;--map-selection:#D1E7F2}body{margin:0;background:var(--bg);color:var(--text);font:14px Inter,'Segoe UI',sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}button{color:inherit}button,input,select{border:1px solid var(--line);border-radius:8px;background:var(--panel2)}input,select{padding:11px 12px;color:var(--text);max-width:100%}input{width:100%}button{padding:10px 14px}button:hover{border-color:#7691A1}button:focus-visible,a:focus-visible{outline:2px solid var(--sky)}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:222px;border-right:1px solid var(--line);padding:32px 21px;display:flex;flex-direction:column;background:#0A1A2A}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.2;font-size:15px}.brand strong{display:block;font-size:11px;letter-spacing:3.5px;color:var(--sky);margin-top:6px}.brand-mark{position:relative;font-size:25px;letter-spacing:-3px;display:inline-flex;align-items:center;justify-content:center;width:43px;height:43px;border:1px solid #536B7C;border-radius:12px;color:var(--sky)}.brand-mark span{color:var(--coral);font-size:18px;letter-spacing:0;position:absolute;right:4px;top:0}.nav-label{color:#7F9AAB;letter-spacing:1.7px;font-size:9px;margin:56px 10px 17px}nav{display:grid;gap:8px}nav button{border-color:transparent;background:none;text-align:left;padding:13px 12px;color:#9AB7C7;display:flex;align-items:center;gap:12px;font-size:12px}nav button>span{font-size:19px;width:20px}nav button.active{background:#233849;color:#D1E7F2;border:1px solid #587181}nav b{margin-left:auto;font-size:10px;background:#384E60;border-radius:4px;padding:2px 5px}.sidebar-foot{margin-top:auto}.sidebar-foot>p{font-size:22px;line-height:1.4;color:#88A4B4;letter-spacing:-.6px}.system-light,.live-label{display:flex;align-items:center;gap:8px;font-size:10px;color:#96B3C3}.system-light i,.live-label i{width:6px;height:6px;background:var(--sky);border-radius:50%;box-shadow:0 0 12px #BDDDEC33}.system-light i.warn{background:var(--coral-soft)}.text-button{border:none;background:none;color:var(--sky);padding:8px 0;font-size:12px}.text-button:hover{text-decoration:underline}main{margin-left:222px;padding:34px 36px 0;max-width:1900px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.eyebrow{color:var(--muted);letter-spacing:1.7px;font-size:9px;font-weight:600;margin:0 0 11px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;font-weight:500;letter-spacing:-1px;margin-bottom:9px}h1 span{color:var(--coral)}header p:last-child{color:var(--muted);font-size:12px;margin-bottom:0}.header-status{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:10px}.icon-button{font-size:22px;line-height:1;padding:8px 11px;background:transparent}.toolbar{display:flex;gap:10px;align-items:center;padding:17px 0 23px;border-bottom:1px solid var(--line);margin-bottom:23px}.toolbar select{font-size:11px;padding:9px;background:none}.live-label{letter-spacing:1px;margin-right:10px}.pill{border-radius:20px;background:none;font-size:10px;padding:8px 12px}.pill[aria-pressed=true]{background:#2D2C3C;border-color:var(--coral-soft);color:var(--coral-soft)}.toolbar-spacer{flex:1}.export-link{text-decoration:none;color:var(--muted);font-size:11px;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:23px}.metric{padding:21px 23px;background:var(--panel);border:1px solid var(--line);border-radius:11px}.metric>div{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:11px}.metric .symbol{font-size:20px;color:#7F9AAB}.metric strong{display:block;font-weight:400;font-size:35px;letter-spacing:-1px;margin:10px 0}.metric small{color:var(--muted);font-size:10px}.metric.security strong{color:var(--coral-soft)}.metric.blocked strong{color:var(--sky)}.overview-grid{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(260px,1fr);gap:19px;margin-bottom:19px}.panel{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:23px;margin-bottom:19px;min-width:0}.overview-grid>.panel,.lower-grid>.panel{margin:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-heading .eyebrow{font-size:8px;margin-bottom:8px}h2{font-size:18px;font-weight:500;letter-spacing:-.4px;margin-bottom:0}.panel-help{font-size:11px;color:var(--muted);line-height:1.7}.map-panel{padding:23px 0 0;overflow:hidden}.map-panel .panel-heading{padding:0 23px}#world-map{height:348px;background:#0F2234;z-index:0}.leaflet-container{font-family:inherit;background:#0F2234!important}.leaflet-control-zoom a{background:#233849!important;color:var(--text)!important;border-color:var(--line)!important}.leaflet-control-attribution{background:#0C1F31!important;color:var(--muted)!important;font-size:8px!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#1C3042;color:var(--text)}.leaflet-popup-content{line-height:1.7}.map-footer{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:8px;border-top:1px solid var(--line)}.map-footer a{text-decoration:none}.legend{display:flex;gap:13px;font-size:9px;color:var(--muted);flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:5px}.dot{width:6px;height:6px;display:inline-block;border-radius:50%}.sky{background:var(--sky)}.coral-soft{background:var(--coral-soft)}.coral{background:var(--coral)}.country-panel .panel-help{margin-bottom:21px}.country-row{display:flex;align-items:center;gap:10px;width:100%;padding:13px 0;border:none;border-bottom:1px solid var(--line);border-radius:0;background:none;text-align:left}.country-code{font-size:10px;border:1px solid #536B7C;border-radius:5px;padding:6px;color:var(--sky);min-width:30px;text-align:center}.country-row .name{flex:1;font-size:12px}.country-row strong{font-weight:400;font-size:14px}.country-row small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.bar-track{height:3px;background:#213647;border-radius:2px;margin-top:7px;overflow:hidden}.bar-track i{display:block;height:100%;background:var(--sky)}.lower-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:19px;margin-bottom:19px}.timeline{height:115px;display:flex;align-items:flex-end;gap:4px;padding:15px 0 4px;border-bottom:1px solid var(--line)}.timeline-col{flex:1;min-width:2px;background:#BDDDEC;position:relative;border-radius:3px 3px 0 0}.timeline-col i{display:block;position:absolute;bottom:0;width:100%;background:var(--coral-soft);border-radius:3px 3px 0 0}.empty{padding:25px 0;color:var(--muted);font-size:12px;line-height:1.7}.empty.large{min-height:170px;display:flex;align-items:center;justify-content:center;text-align:center}.subtle{font-size:10px;color:var(--muted)}.shield{font-size:32px;color:var(--sky)}.protection>p{color:var(--muted);font-size:12px;line-height:1.7}.protection-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;margin-bottom:12px;font-size:12px}.toggle{padding:3px;width:37px;height:22px;border-radius:20px;background:#BDDDEC;display:flex;justify-content:flex-end;border:0}.toggle span{display:block;width:16px;height:16px;border-radius:50%;background:#0C1F31}.toggle[aria-checked=false]{background:#415869;justify-content:flex-start}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:11px}th{text-transform:uppercase;color:#88A4B4;letter-spacing:1px;font-size:8px;font-weight:500;padding:13px 12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid #33495A66;color:#C5E1EE}tbody tr:last-child td{border-bottom:0}.ip-button{background:none;border:0;border-radius:0;padding:0;font-family:Consolas,monospace;color:#D1E7F2;font-size:11px}.ip-button:hover{text-decoration:underline}.badge{padding:4px 7px;border-radius:4px;background:#233849;color:var(--sky);font-size:9px;white-space:nowrap}.badge.warn{background:#2D2C3C;color:var(--coral-soft)}.badge.danger{background:#35303E;color:var(--coral)}.badge.neutral{background:#1E3244;color:#9DBBCA}.muted{color:var(--muted)}.search-label{width:300px}.search-label input{font-size:11px;padding:10px;background:none}footer{display:flex;justify-content:space-between;gap:15px;padding:24px 0;color:#7F9AAB;font-size:9px}footer b{font-weight:400;padding:0 8px}.notice{border:1px solid #99595E;background:#2D2C3C;color:var(--coral-soft);padding:14px;border-radius:8px;margin-bottom:16px;font-size:12px;line-height:1.6}.notice.danger{border-color:#A45D62;background:#332F3E;color:var(--coral)}.filter-label{font-size:12px;color:var(--sky);margin-bottom:18px}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.source-card{background:#1A2E40;border:1px solid var(--line);padding:17px;border-radius:8px;min-width:0}.source-card h3{font-size:12px;margin:0 0 12px;overflow-wrap:anywhere}.source-card p{font-size:11px;color:var(--muted);line-height:1.6;margin:10px 0}.source-card small{color:var(--muted);font-size:9px}.detail-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.detail-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.detail-row button{background:none;border:0;text-align:left;padding:0}.detail-row b{font-weight:400}.topology-legend{padding:0 0 10px}#topology-wrap{height:560px;background:radial-gradient(ellipse at center,#172A3C 0,#0B1D2F 75%);border:1px solid var(--line);border-radius:8px;overflow:hidden}#topology{width:100%;height:100%;cursor:grab;touch-action:none}.topo-node{cursor:pointer}.topo-node rect{fill:#1F3446;stroke:#536B7C;stroke-width:1}.topo-node text{fill:#D1E7F2;font-size:11px}.topo-node .sub{fill:#8BA8B8;font-size:8px}.topo-node .node-kind{fill:var(--sky);font-size:8px;letter-spacing:1px}.topo-node.selected rect{stroke:var(--sky);stroke-width:2}.topo-link{fill:none;stroke:#536B7C;stroke-width:1.3;opacity:.7}.topo-request{fill:none;stroke:var(--sky);stroke-dasharray:5 5;opacity:.65}.topo-label{font-size:9px;fill:#8BA8B8}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:100px;padding:40px}.login-card{width:380px}.login-card>.brand-mark{margin-bottom:40px}.login-card h1{font-size:38px;line-height:1.2;margin:20px 0}.login-card .muted{font-size:13px;line-height:1.8;margin-bottom:30px}label{display:block;font-size:11px;color:var(--muted);margin-bottom:16px}label input,label select{display:block;margin-top:9px}.primary{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--sky);color:#0C1F31;font-weight:600;border:1px solid var(--sky);padding:13px 17px}.primary:hover{background:#D4E9F3;border-color:#D4E9F3}.login-card .primary{width:100%;margin-top:25px}.primary.small{padding:10px 13px;font-size:11px}.login-card small{display:block;color:#7F9AAB;font-size:10px;margin-top:40px}.login-orbit{position:relative;width:470px;height:470px;display:grid;place-items:center;border:1px solid #3E5465;border-radius:50%;background:radial-gradient(#536B7C55,transparent 65%)}.login-orbit>div{position:absolute;border:1px solid #5C748555;border-radius:50%;inset:40px}.login-orbit>div:nth-child(2){inset:85px}.login-orbit>div:nth-child(3){inset:130px}.login-orbit>span{font-size:23px;color:#9DBBCA;text-align:center;line-height:1.7;letter-spacing:-.7px}.login-orbit b{font-size:15px;letter-spacing:7px;color:var(--sky)}.error{color:var(--coral);font-size:12px;margin-top:15px;min-height:18px}dialog{width:min(820px,95vw);max-height:88vh;background:#15283A;color:var(--text);border:1px solid #647E8E;border-radius:14px;padding:28px;overflow:auto}dialog::backdrop{background:#081622B8;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;gap:12px}.dialog-heading h2{font-size:24px}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.dialog-actions button{font-size:11px}.dialog-actions .destructive{color:var(--coral);border-color:#A45D62}.toast{position:fixed;right:28px;bottom:25px;z-index:10000;max-width:450px;padding:16px 20px;border:1px solid #647E8E;background:#1E3244;border-radius:9px;box-shadow:0 15px 40px #0C1F3199;font-size:12px;line-height:1.6}.toast.error{color:var(--coral);background:#332F3E;border-color:#A45D62}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.mono{font-family:Consolas,monospace}.country-list-small{display:flex;gap:8px;flex-wrap:wrap}.country-list-small button{font-size:11px}.warning-text{color:var(--coral-soft)}
@media(min-width:1600px){#world-map{height:410px}.metrics{gap:20px}.panel{padding:27px}.map-panel{padding:27px 0 0}.country-panel{padding:27px}}
@media(max-width:1150px){.sidebar{width:185px;padding:28px 15px}main{margin-left:185px;padding:28px 22px 0}.overview-grid{grid-template-columns:minmax(0,1.9fr) minmax(240px,1fr)}.metric{padding:17px}.metric strong{font-size:30px}.toolbar{flex-wrap:wrap}.source-grid{grid-template-columns:repeat(2,1fr)}.map-footer{flex-wrap:wrap}h1{font-size:29px}.login-orbit{width:350px;height:350px}.login-shell{gap:50px}}
@media(max-width:850px){.sidebar{position:static;width:100%;padding:17px 20px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:13px}.brand-mark{height:35px;width:35px;font-size:22px}.brand strong{font-size:9px}.nav-label,.sidebar-foot{display:none}nav{display:flex;margin-top:16px;gap:5px;overflow:auto}nav button{white-space:nowrap;padding:8px 10px;font-size:10px}nav button>span{font-size:15px;width:auto}main{margin-left:0;padding:24px 20px 0}.overview-grid{grid-template-columns:minmax(0,1.7fr) minmax(220px,1fr)}.metrics{gap:10px}.metric{padding:14px}.metric>div{font-size:9px}.metric small{font-size:8px}.lower-grid{grid-template-columns:1fr 1fr}.panel{padding:18px}.map-panel{padding:18px 0 0}h2{font-size:16px}.map-panel .panel-heading{padding:0 18px}.login-orbit{display:none}.login-shell{padding:30px}.header-status{max-width:140px;text-align:right}.toolbar-spacer{display:none}}
@media(max-width:620px){main{padding:22px 14px 0}header{align-items:flex-start}h1{font-size:25px}header .eyebrow{font-size:7px}.header-status{font-size:8px;gap:6px;max-width:115px}.metrics{grid-template-columns:repeat(2,1fr)}.metric strong{font-size:29px}.metric small{font-size:9px}.overview-grid,.lower-grid{grid-template-columns:1fr}.source-grid{grid-template-columns:1fr}.toolbar{gap:7px}.live-label{width:100%;margin-bottom:5px}.toolbar select{font-size:10px;flex:1}.toolbar .export-link{margin-left:auto;font-size:10px}.country-panel{min-height:190px}.country-row{padding:10px 0}#world-map{height:310px}.map-footer{font-size:8px;padding:13px 16px}.panel-heading{flex-wrap:wrap}.search-label{width:100%}.panel{margin-bottom:14px}.overview-grid,.lower-grid{gap:14px;margin-bottom:14px}#topology-wrap{height:500px}.login-card h1{font-size:34px}footer{flex-direction:column;gap:8px}.toast{right:14px;left:14px;bottom:14px;max-width:none}dialog{padding:20px}.dialog-heading h2{font-size:21px}.source-card{padding:15px}}
