@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary:#0a0a0f;--bg-secondary:#0f0f1a;--bg-card:#13131f;--bg-card-hover:#1a1a28;--bg-overlay:#0a0a0ff2;--copper-100:#f5d4b8;--copper-200:#e8b48a;--copper-300:#d9935c;--copper-400:#c8814a;--copper-500:#a8692d;--copper-600:#8a5220;--status-danger:#e05252;--status-warning:#e0a832;--status-success:#52b788;--status-info:#4a9ede;--status-neutral:#6b7280;--text-primary:#e8e6e0;--text-secondary:#9a9890;--text-muted:#5a5855;--text-copper:#c8814a;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-strong:#c8814a4d;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-sans:"Inter", system-ui, sans-serif;--sidebar-width:220px;--topbar-height:52px;--card-radius:10px;--card-padding:16px;--node-person:#7f77dd;--node-phone:#4a9ede;--node-bank:#52b788;--node-vehicle:#e0a832;--node-case:#e05252;--chart-1:#7f77dd;--chart-2:#4a9ede;--chart-3:#e05252;--chart-4:#c8814a;--chart-5:#52b788;--chart-6:#6b7280}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--copper-500);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--copper-400)}.mono{font-family:var(--font-mono);color:var(--copper-400);letter-spacing:.02em;font-size:12px}.section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-size:10px;font-weight:600}.text-copper{color:var(--copper-400)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--card-radius);padding:var(--card-padding);transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--border-default)}.card-elevated{box-shadow:0 4px 24px #0006}.badge{letter-spacing:.05em;text-transform:uppercase;border-radius:4px;align-items:center;padding:2px 8px;font-size:10px;font-weight:600;display:inline-flex}.badge-danger{color:var(--status-danger);background:#e0525226}.badge-warning{color:var(--status-warning);background:#e0a83226}.badge-success{color:var(--status-success);background:#52b78826}.badge-info{color:var(--status-info);background:#4a9ede26}.badge-neutral{color:var(--status-neutral);background:#6b728026}.badge-copper{color:var(--copper-400);background:#c8814a26}.btn{border:1px solid var(--border-default);background:var(--bg-card);color:var(--text-primary);font-family:var(--font-sans);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn:hover{background:var(--bg-card-hover);border-color:var(--copper-400)}.btn-copper{background:var(--copper-500);border-color:var(--copper-400);color:#fff}.btn-copper:hover{background:var(--copper-400)}.btn-sm{padding:4px 10px;font-size:11px}.input{background:var(--bg-secondary);border:1px solid var(--border-default);color:var(--text-primary);font-family:var(--font-sans);border-radius:6px;outline:none;width:100%;padding:8px 12px;font-size:13px;transition:border-color .15s}.input:focus{border-color:var(--copper-400)}.input::placeholder{color:var(--text-muted)}@keyframes copper-pulse{0%,to{opacity:1}50%{opacity:.4}}.live-dot{background:var(--status-success);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite copper-pulse;display:inline-block}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s forwards fade-in}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.slide-in-right{animation:.25s forwards slide-in-right}@keyframes ticker-scroll{0%{transform:translate(100%)}to{transform:translate(-100%)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.scanlines{background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#0000001a 2px 4px)}.leaflet-container{background:#04060c!important}.tactical-dark-tiles img,.tactical-dark-tiles .leaflet-tile{filter:invert()hue-rotate(180deg)brightness(85%)contrast(125%)saturate(30%)!important}.vis-network{outline:none!important}
