.node-map-view{position:relative}.node-map-view__layout{align-items:start;gap:1.5rem;display:grid}@media (min-width:1024px){.node-map-view__layout{grid-template-columns:minmax(0,2.35fr) minmax(260px,.72fr)}}.node-map-view__surface{background:radial-gradient(circle at 0 0,#fffffffa,#f8fafce6 42%,#e2e8f0f2),linear-gradient(140deg,#dbeafed1,#fffffff5 52%,#e0f2fed6);border:1px solid #bfdbfeb3;border-radius:1.75rem;min-height:500px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb3,0 18px 48px #94a3b829}@media (min-width:1024px){.node-map-view__surface{height:clamp(520px,56vw,620px)}}.node-map-view__svg{grid-area:1/1;width:100%;height:100%;min-height:0;display:block}.node-map-view__ocean{fill:#f4f8fce0}.node-map-view__graticule{fill:none;stroke:#94a3b82e;stroke-width:.8px;vector-effect:non-scaling-stroke}.node-map-view__country{fill:#d4e2efcc;stroke:#94a3b880;stroke-width:.75px;vector-effect:non-scaling-stroke;transition:fill .18s,stroke .18s,filter .18s,transform .18s}.node-map-view__country.is-active{cursor:pointer}.node-map-view__country.status-online{fill:#10b981b8;stroke:#059669d9}.node-map-view__country.status-partial{fill:#f59e0bad;stroke:#d97706d9}.node-map-view__country.status-offline{fill:#f43f5e9e;stroke:#e11d48d6}.node-map-view__country:hover,.node-map-view__country.is-selected{stroke-width:1.6px;filter:drop-shadow(0 12px 18px #0f172a1f)}.node-map-view__legend{pointer-events:none;flex-wrap:wrap;grid-area:1/1;justify-content:center;align-self:end;align-items:flex-end;gap:1rem;padding:0 1.1rem 1rem;display:flex}.node-map-view__legend--inset{justify-content:space-between}.node-map-view__legend-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;background:#ffffffd6;border:1px solid #e2e8f0d1;border-radius:1rem;align-items:center;gap:.85rem;max-width:100%;padding:.68rem .92rem;display:flex;box-shadow:0 10px 24px #0f172a14,inset 0 1px #ffffffb8}.node-map-view__legend-card--status{align-items:flex-start;padding:.82rem .9rem}.node-map-view__legend-card--stacked{flex-direction:column;align-items:stretch;gap:.6rem;width:min(100%,360px)}.node-map-view__legend-unmapped-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.node-map-view__legend-unmapped-list{flex-direction:column;gap:.45rem;max-height:10rem;display:flex;overflow-y:auto}.node-map-view__legend-unmapped-item{background:#f8fafceb;border-radius:.85rem;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.55rem .7rem;display:flex}.node-map-view__legend-unmapped-region{color:#334155;overflow-wrap:anywhere;min-width:0;font-size:.76rem;font-weight:600}.node-map-view__legend-unmapped-node{text-align:right;color:#64748b;overflow-wrap:anywhere;flex:none;min-width:0;max-width:48%;font-size:.72rem}.node-map-view__legend-items{flex-wrap:wrap;gap:.85rem;display:flex}.node-map-view__legend-items--stacked{flex-flow:column;gap:.5rem}.node-map-view__legend-item{color:#475569;align-items:center;gap:.45rem;font-size:.78rem;display:inline-flex}.node-map-view__legend-dot{border-radius:9999px;width:.65rem;height:.65rem}.node-map-view__legend-dot.status-online{background:#10b981}.node-map-view__legend-dot.status-offline{background:#f43f5e}.node-map-view__legend-dot.status-partial{background:#f59e0b}.node-map-view__detail{flex-direction:column;gap:1rem;min-width:0;display:flex}.node-map-view__detail-card{background:linear-gradient(#fffffff7,#f8fafce6);border:1px solid #e2e8f0d6;border-radius:1.5rem;flex-direction:column;min-height:0;display:flex;overflow:hidden;box-shadow:0 18px 36px #94a3b81f}.node-map-view__detail-card--empty{justify-content:center}.node-map-view__detail-empty{gap:.75rem;padding:1.6rem;display:grid}@media (min-width:1024px){.node-map-view__detail-card{height:clamp(520px,56vw,620px)}}.node-map-view__detail-header{border-bottom:1px solid #f1f5f9eb;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:1.25rem 1.25rem 1rem;display:flex}.node-map-view__detail-heading{align-items:center;gap:.75rem;min-width:0;display:flex}.node-map-view__detail-flag{flex:none;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:inline-flex}.node-map-view__detail-flag>span{width:100%;height:100%;margin:0}.node-map-view__detail-flag img{display:block}.node-map-view__node-list{flex-direction:column;flex:1;gap:.75rem;min-height:0;padding:0 1.25rem 1.25rem;display:flex;overflow-y:auto}.node-map-view__node-card{text-align:left;background:#ffffffeb;border:1px solid #e2e8f0d6;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.95rem 1rem;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex;box-shadow:0 8px 22px #0f172a0f}@media (max-width:1023px){.node-map-view__surface{min-height:420px}.node-map-view__svg{min-height:0}.node-map-view__legend{justify-content:center;padding:0 .85rem .52rem}.node-map-view__legend--inset{justify-content:center}.node-map-view__legend-card{justify-content:center;width:100%}.node-map-view__legend-card--status{align-items:center}.node-map-view__legend-card--stacked{justify-content:flex-start}.node-map-view__legend-items--stacked{align-items:flex-start}.node-map-view__detail-header{flex-direction:column;align-items:flex-start}}.node-map-view__node-card:hover{border-color:#7dd3fcb3;transform:translateY(-1px);box-shadow:0 14px 30px #94a3b829}.node-map-view__node-card:focus-visible{outline-offset:2px;outline:2px solid #0e749047}.dark .node-map-view__surface{background:radial-gradient(circle at 0 0,#27272af5,#1e1e22f0 42%,#18181bf5),linear-gradient(160deg,#27272af0,#1e1e22f5 55%,#18181bfa);border-color:#47556994;box-shadow:inset 0 1px #94a3b814,0 18px 48px #0206176b}.dark .node-map-view__ocean{fill:#0f172ad6}.dark .node-map-view__graticule{stroke:#94a3b81f}.dark .node-map-view__country{fill:#334155eb;stroke:#94a3b83d}.dark .node-map-view__country.status-online{fill:#10b981c2;stroke:#34d399db}.dark .node-map-view__country.status-partial{fill:#f59e0bc2;stroke:#fbbf24e0}.dark .node-map-view__country.status-offline{fill:#f43f5eb8;stroke:#fb7185d6}.dark .node-map-view__legend-card{background:#27272ad1;border-color:#475569b8;box-shadow:0 12px 28px #02061757,inset 0 1px #94a3b814}.dark .node-map-view__legend-item,.dark .node-map-view__legend-unmapped-region{color:#e2e8f0}.dark .node-map-view__legend-unmapped-node{color:#94a3b8}.dark .node-map-view__legend-unmapped-item{background:#1e293bd1}.dark .node-map-view__detail-card{background:linear-gradient(#27272af0,#1e1e22eb);border-color:#475569b8;box-shadow:0 18px 36px #0206175c}.dark .node-map-view__detail-header{border-bottom-color:#4755697a}.dark .node-map-view__node-card{background:#27272ae0;border-color:#475569b8;box-shadow:0 8px 22px #0206173d}
.node-table-container{scrollbar-width:thin;scrollbar-color:var(--accent-7) var(--accent-3)}.node-table-container::-webkit-scrollbar{width:6px;height:6px}.node-table-container::-webkit-scrollbar-track{background:var(--accent-3);border-radius:3px}.node-table-container::-webkit-scrollbar-thumb{background:var(--accent-7);border-radius:3px;transition:background-color .2s}.node-table-container::-webkit-scrollbar-thumb:hover{background:var(--accent-9)}.search-clear-button{opacity:.6;transition:opacity .2s}.search-clear-button:hover{opacity:1}.view-switch-button{transition:all .2s}.table-row-hover{transition:background-color .15s}.expanded-row{border-top:1px solid var(--accent-4);background-color:var(--accent-1)!important}.expanded-row:hover{background-color:var(--accent-1)!important}.expand-content{animation:.2s ease-out slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.expand-button{transition:transform .2s}.expand-button.expanded{transform:rotate(90deg)}.usage-bar-container{position:relative;overflow:hidden}.usage-bar-fill{transition:width .8s cubic-bezier(.4,0,.2,1)}.node-table-container .text-xs{font-size:.7rem;line-height:1rem}.node-name-cell{min-width:150px}.network-traffic-cell{min-width:160px}.network-traffic-cell .traffic-row{margin-bottom:2px;padding:1px 0}.details-grid{gap:1rem;display:grid}.details-section{background:var(--accent-2);border-radius:.5rem;padding:1rem}.ping-chart-placeholder{background:linear-gradient(45deg, var(--accent-2) 25%, transparent 25%), linear-gradient(-45deg, var(--accent-2) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--accent-2) 75%), linear-gradient(-45deg, transparent 75%, var(--accent-2) 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}
