:root{color-scheme:dark;--bg:#090f1b;--panel:#101b2b;--line:#24364b;--text:#e3edf8;--muted:#95a9c1;--green:#51e1bb;--blue:#6aabff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:13px;line-height:1.7}aside{position:fixed;left:0;top:0;width:210px;height:100vh;padding:32px 24px;background:#0e1826;border-right:1px solid var(--line)}.brand{font-size:27px;font-weight:bold;color:var(--green)}.brand small{font-size:10px;display:block;letter-spacing:2px;color:var(--muted);margin-top:4px}nav{display:grid;gap:13px;margin-top:50px}nav a{color:var(--muted);text-decoration:none;padding:10px;border-radius:9px}nav a:hover{background:#1a2c40;color:var(--text)}.aside-note{position:absolute;bottom:35px;left:24px;right:24px;color:var(--muted);font-size:11px}main{margin-left:210px;padding:34px;max-width:1650px}header,.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px}header{margin-bottom:25px}.eyebrow{font-size:10px;color:var(--green);letter-spacing:3px}h1{font-size:30px;margin:4px 0}h2{font-size:17px;margin:0 0 12px}p{margin:5px 0;color:var(--muted)}.badge{border:1px solid var(--line);padding:6px 15px;border-radius:20px;color:var(--muted)}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:21px;margin-bottom:19px}label{display:grid;gap:6px;color:var(--muted);font-size:11px}input,select{min-width:0;width:100%;background:#0b1523;color:var(--text);border:1px solid #2b4059;border-radius:7px;padding:10px;font:inherit;font-size:12px;height:39px}input:focus,select:focus{outline:1px solid var(--green)}button{background:var(--green);border:0;border-radius:8px;color:#0b2022;padding:10px 17px;font-family:inherit;cursor:pointer;font-size:12px;white-space:nowrap}button:disabled{opacity:.4;cursor:default}.ghost{border:1px solid #30465e;background:transparent;color:var(--text)}.auth{display:flex;gap:12px;align-items:end}.auth label{width:310px}.auth span{font-size:11px;color:var(--muted);padding-bottom:8px}#message{padding:0 6px 18px;color:var(--green)}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.filters label{flex:1;min-width:135px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.metrics article{display:grid;gap:7px}.metrics span,.metrics small{color:var(--muted)}.metrics strong{font-family:Arial;font-size:27px;color:var(--text);direction:ltr;text-align:left}.metrics small{font-size:10px}.split{display:grid;grid-template-columns:1.65fr 1fr;gap:19px}.sub{font-size:11px;color:var(--muted)}.empty{padding:30px;text-align:center;color:var(--muted)}.chart{height:150px;margin-top:16px;display:flex;gap:5px;align-items:flex-end;direction:ltr;overflow:auto}.bar{background:linear-gradient(var(--green),#16839b);min-width:10px;flex:1;border-radius:4px 4px 0 0}.stack{display:grid;gap:12px}.status{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:4px 0 9px}#world{width:100%;max-height:480px;border:1px solid var(--line);border-radius:10px;touch-action:none;cursor:grab;direction:ltr}#world:active{cursor:grabbing}#countries path{fill:#254459;stroke:#436178;stroke-width:.45}#markers circle{fill:var(--green);stroke:#c3ffe8;stroke-width:1.5;cursor:pointer}#mapDetail{color:var(--green);font-size:12px;margin:14px 0 8px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}th{text-align:left;color:var(--muted);font-weight:normal;padding:13px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid #1d3045}td.ltr{direction:ltr;text-align:left;font-family:Consolas,monospace}td small{display:block;color:var(--muted)}.pager{display:flex;justify-content:end;gap:10px;margin-top:15px}.node{border-bottom:1px solid var(--line);padding:13px 0;display:flex;flex-wrap:wrap;gap:18px}.node small{color:var(--muted)}pre{white-space:pre-wrap;word-break:break-word;font:12px/1.7 Consolas,monospace;text-align:left}dialog{background:#101b2b;color:var(--text);border:1px solid #3b556f;border-radius:16px;width:85vw;max-width:1000px;max-height:85vh}dialog::backdrop{background:#0009}footer{color:var(--muted);font-size:10px;padding:15px 0}@media(max-width:1000px){aside{display:none}main{margin:0;padding:20px}.metrics{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.auth{flex-wrap:wrap}.auth label{flex:1;min-width:180px}.auth span{width:100%}}@media print{aside,.auth,.filters,.pager,button,#lookup,footer{display:none}main{margin:0;padding:0}body{background:white;color:black}.card{background:white;border:1px solid #ccc;break-inside:avoid}.metrics strong,h1,h2,td,th,p{color:black}#world{max-height:300px}.table-wrap{overflow:visible}table{white-space:normal;font-size:8px}}
.login-page{min-height:100vh;display:grid;place-items:center;padding:36px;background:radial-gradient(ellipse at 80% 10%,#132c36 0,transparent 55%),#090f1b}.login-shell{display:grid;grid-template-columns:1.1fr 1fr;width:min(1050px,100%);min-height:650px;background:#0e1826;border:1px solid #263a4b;border-radius:28px;overflow:hidden;box-shadow:0 30px 100px #0005}.login-story{padding:45px 48px;background:radial-gradient(ellipse at 50% 40%,#163b43,transparent 65%),#0c2029;border-right:1px solid #28404c;position:relative}.login-story h1{font-size:42px;line-height:1.55;letter-spacing:-1px;margin:12px 0}.login-story p{font-size:13px}.login-features{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}.login-features span{border:1px solid #355159;border-radius:30px;padding:6px 12px;color:#bed5d9;font-size:10px}.login-panel{padding:65px 48px;display:flex;flex-direction:column;justify-content:center}.login-lock{width:50px;height:50px;display:grid;place-items:center;background:#183930;border:1px solid #2a5a49;border-radius:14px;color:var(--green);font-size:32px;margin-bottom:25px}.login-panel h2{font-size:26px;margin:0 0 9px}.login-panel>p{font-size:12px}.login-panel form{margin-top:28px}.login-panel form>label{display:block;font-size:12px;margin:0 0 9px}.login-panel input{height:49px;font-size:14px;padding:13px 15px}.login-panel form>input{margin-bottom:22px}.password-input{position:relative}.password-input input{padding-right:65px}.password-input button{position:absolute;right:7px;top:7px;height:35px;padding:0 9px;font-size:10px;border:0;color:var(--muted)}.login-error{color:#ffab9e;min-height:42px;font-size:11px;padding:9px 0}.login-panel #loginButton{width:100%;font-size:14px;min-height:49px;font-weight:bold;display:flex;align-items:center;justify-content:space-between;padding:12px 18px}.login-help{font-size:10px!important;text-align:center;margin-top:20px}.login-footer{color:#657d94;font-size:10px;text-align:center;margin-top:48px}.login-mobile-brand{display:none}.login-visual{height:175px;position:relative;margin:15px 0 26px;direction:ltr}.orbit{position:absolute;left:50%;top:50%;border:1px solid #39615d;border-radius:50%;transform:translate(-50%,-50%)}.orbit-one{width:115px;height:115px}.orbit-two{width:210px;height:140px;transform:translate(-50%,-50%) rotate(-24deg)}.orbit-three{width:310px;height:160px;transform:translate(-50%,-50%) rotate(18deg)}.network-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:68px;color:var(--green);text-shadow:0 0 50px #51e1bb55}.network-point{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 18px #51e1bb88}.point-one{left:12%;top:26%}.point-two{left:66%;top:18%}.point-three{left:78%;top:77%}@media(max-width:750px){.login-page{padding:18px}.login-shell{grid-template-columns:1fr;min-height:0;max-width:470px;border-radius:20px}.login-story{display:none}.login-panel{padding:38px 28px}.login-mobile-brand{display:block;color:var(--green);font-size:24px;font-weight:bold;margin-bottom:30px}.login-lock{margin-bottom:19px}.login-panel h2{font-size:24px}.login-footer{margin-top:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.destination-map .eyebrow{font-size:9px}.destination-map h2{font-size:22px;margin:2px 0 5px}.map-controls{display:flex;gap:6px}.map-stats{display:flex;align-items:center;gap:34px;padding:18px 0 20px;margin-top:12px;border-top:1px solid var(--line)}.map-stats>div{display:grid;gap:1px}.map-stats strong{font:600 23px Arial,sans-serif;color:var(--green)}.map-stats span{font-size:10px;color:var(--muted)}.map-legend{display:flex;align-items:center;gap:7px;margin-left:auto}.map-legend i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #51e1bb20}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:20px}.map-stage{position:relative;min-width:0}.destination-map #world{display:block;width:100%;height:auto;max-height:none;aspect-ratio:2/1;overflow:hidden}.destination-map #countries path{fill:#203e51;stroke:#3c6075;stroke-width:.4;transition:fill .2s}.map-marker{cursor:pointer;outline:none}.destination-map #markers .marker-halo{fill:#51e1bb18;stroke:#51e1bb35;stroke-width:.6}.destination-map #markers .marker-dot{fill:#32c8aa;stroke:#b0ffe6;stroke-width:1;filter:drop-shadow(0 0 4px #32c8aa66)}.destination-map #markers .marker-center{fill:#e1fff4;stroke:none}.destination-map #markers .selected .marker-halo,.destination-map #markers .map-marker:focus .marker-halo{fill:#74bdff22;stroke:#b9dfff;stroke-width:1.5}.destination-map #markers .selected .marker-dot{fill:#76bcff}.map-empty{position:absolute;top:35%;left:15%;right:15%;text-align:center;display:grid;gap:6px;padding:18px;background:#081522d9;border:1px solid var(--line);border-radius:12px;pointer-events:none}.map-empty[hidden]{display:none}.map-empty b{font-size:15px}.map-empty span{font-size:11px;color:var(--muted)}.map-sidebar{min-width:0;border-left:1px solid var(--line);padding-left:20px}.map-sidebar h3{font-size:12px;font-weight:600;margin:0 0 13px}.country-rank{display:grid;gap:11px;margin-bottom:25px}.country-heading{display:flex;justify-content:space-between;font-size:11px;gap:10px}.country-heading b{font-weight:normal;color:var(--green)}.country-track{height:3px;background:#1b3141;margin-top:6px;border-radius:3px;overflow:hidden}.country-track i{display:block;height:100%;background:linear-gradient(90deg,#2caea6,#51e1bb)}.map-list-heading{display:flex;justify-content:space-between;align-items:center}.map-list-heading button{padding:3px 7px;font-size:9px;margin-bottom:13px}.destination-list{display:grid;gap:0;max-height:285px;overflow:auto}.destination-row{display:flex;justify-content:space-between;align-items:center;gap:8px;background:none;color:var(--text);padding:10px 0;border-radius:0;border-bottom:1px solid #203244;text-align:left;white-space:normal}.destination-row:hover{color:var(--green)}.destination-caption{display:grid;gap:1px;min-width:0}.destination-caption b{font:11px Consolas,monospace;overflow-wrap:anywhere}.destination-caption small{font-size:10px;color:var(--muted)}.destination-count{border:1px solid #2b4d52;background:#193a362f;color:var(--green);border-radius:5px;padding:1px 7px;font-size:10px}.map-footnote{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:13px;margin-top:12px;font-size:10px;color:var(--muted)}.map-footnote a{color:#94c5d4;text-decoration:none}.map-footnote a:hover{text-decoration:underline}@media(max-width:1100px){.map-layout{grid-template-columns:minmax(0,1fr) 215px}.map-sidebar{padding-left:14px}.map-stats{gap:22px}}@media(max-width:750px){.destination-map .section-head{align-items:start;flex-direction:column}.destination-map h2{font-size:20px}.map-stats{gap:17px;flex-wrap:wrap}.map-stats strong{font-size:20px}.map-stats>div{flex:1;min-width:76px}.map-legend{margin-left:0;width:100%}.map-layout{grid-template-columns:1fr}.map-sidebar{border-left:0;border-top:1px solid var(--line);padding:17px 0 0}.map-empty{top:17%;left:5%;right:5%;padding:10px}.map-empty b{font-size:12px}.map-empty span{font-size:9px}.map-footnote{font-size:9px}.destination-list{max-height:230px}}@media(prefers-reduced-motion:reduce){.destination-map #countries path{transition:none}}
.wireguard-network h2{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.wireguard-range{font:12px Consolas,monospace;color:#b9a9ff;border:1px solid #7562b0;border-radius:6px;padding:4px 9px;background:#7562b016}.wireguard-stats{display:flex;gap:40px;padding:16px 0;border-top:1px solid var(--line);margin-top:12px}.wireguard-stats>div{display:grid;gap:4px}.wireguard-stats strong{font:600 23px Arial,sans-serif;color:#b9a9ff}.wireguard-stats span{color:var(--muted);font-size:11px}.wireguard-peers{max-height:360px;overflow:auto}.wireguard-peer{display:grid;grid-template-columns:135px minmax(120px,1fr) 100px 120px 155px;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line);font-size:11px}.wireguard-peer>button{font:12px Consolas,monospace;color:#cabdff;text-align:left;overflow-wrap:anywhere}.wireguard-evidence{display:grid;gap:4px;min-width:0}.wireguard-evidence small{color:var(--muted);overflow-wrap:anywhere}.wireguard-bytes{color:var(--muted)}@media(max-width:1100px){.wireguard-peer{grid-template-columns:120px minmax(100px,1fr) 90px}.wireguard-bytes{grid-column:2/4}}@media(max-width:750px){.wireguard-network .section-head{align-items:start;flex-direction:column}.wireguard-network .map-controls{flex-wrap:wrap}.wireguard-peer{grid-template-columns:100px minmax(0,1fr);gap:8px}.wireguard-bytes{grid-column:1/3}.wireguard-stats{gap:22px}}
[hidden]{display:none!important}.account-list{display:grid;gap:10px;margin-top:16px}.account-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.account-row span{color:var(--green)}.account-row small{color:var(--muted)}#usage td{white-space:normal;min-width:140px}#usage td:first-child{max-width:230px}#usage td button{white-space:normal;overflow-wrap:anywhere}#usage td small,.wireguard-bytes small{display:block;font:10px Consolas,monospace;color:var(--muted);margin-top:4px}#usage .section-head{flex-wrap:wrap}#accounts .filters{margin-top:16px}
.auth{justify-content:space-between;align-items:center}.auth-actions{display:flex;align-items:center;gap:10px}.account-shortcut{display:inline-block;background:var(--green);color:#0b2022;text-decoration:none;border-radius:8px;padding:10px 17px;font-size:12px;white-space:nowrap}.account-shortcut:focus-visible{outline:2px solid var(--blue);outline-offset:3px}#accounts{scroll-margin-top:18px}@media(max-width:750px){.auth{align-items:flex-start;flex-direction:column}.auth-actions{width:100%;flex-wrap:wrap}.account-shortcut{flex:1;text-align:center}}

#sna{scroll-margin-top:18px}#sna .section-head{flex-wrap:wrap}#sna .filters{margin-top:16px}#sna .sna-ca{flex-basis:100%}#sna textarea{font:11px Consolas,monospace;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:10px;width:100%;resize:vertical}#sna .sna-enabled{flex-direction:row;align-items:center;gap:10px}#sna .sna-enabled input{width:auto}.sna-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:15px}.sna-actions a{color:var(--green)}
#sna .sna-enabled{display:flex;grid-column:1/-1;justify-content:flex-start}#sna .sna-enabled input{width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0;accent-color:var(--green)}#sna .sna-ca{grid-column:1/-1}

.sna-connections{display:grid;gap:14px;margin-top:20px}.sna-connection{border:1px solid var(--line);border-radius:10px;padding:18px}.sna-connection h3{margin:0}.sna-connection p{overflow-wrap:anywhere}.sna-connection .sna-actions{margin-top:12px}#snaEditor{border-top:1px solid var(--line);padding-top:18px;margin-top:20px;scroll-margin-top:18px}#snaRemoveDialog{max-width:500px}#sna .sna-actions{margin-top:0}@media(max-width:750px){.sna-connection{padding:12px}.sna-connection .section-head{gap:10px}.sna-connection .sna-actions button{flex:1;min-width:95px}}

input[type=checkbox]{width:16px;height:16px;min-width:16px;padding:0;accent-color:var(--green)}.sna-actions label{display:flex;align-items:center;gap:6px}.sub,.account-row{overflow-wrap:anywhere}.account-row{min-width:0}#operations .table-wrap{max-height:420px;margin-top:12px}#auditRows td:last-child{white-space:normal;min-width:180px;max-width:440px;overflow-wrap:anywhere}#reportDownloads a{color:var(--blue)}@media(max-width:600px){#operations .section-head{flex-wrap:wrap}.account-row>*{min-width:0;max-width:100%}}
