@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";
:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"JetBrains Mono", monospace;--bg-main:#f8fafc;--bg-surface:#fff;--bg-card:#fff;--bg-card-hover:#f8fafc;--border-subtle:#e2e8f0;--border-hover:#cbd5e1;--border-focus:#6366f1;--primary:#4f46e5;--primary-hover:#4338ca;--primary-gradient:linear-gradient(135deg, #4f46e5 0%, #4338ca 100%);--primary-glow:#4f46e540;--accent-cyan:#0284c7;--accent-emerald:#059669;--accent-amber:#d97706;--accent-rose:#e11d48;--text-main:#0f172a;--text-muted:#475569;--text-dim:#64748b;--radius-xs:6px;--radius-sm:8px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 2px #0f172a0a;--shadow-card:0 4px 20px -2px #0f172a0d, 0 2px 6px -1px #0f172a05;--shadow-float:0 14px 32px -4px #0f172a17, 0 4px 12px -2px #0f172a0a;--shadow-modal:0 24px 48px -12px #0f172a2e, 0 8px 16px -4px #0f172a14}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 0 0,#6366f109 0,#0000 50%),radial-gradient(at 100% 0,#0284c706 0,#0000 50%),radial-gradient(at 50% 100%,#10b98105 0,#0000 50%);background-attachment:fixed;min-height:100vh;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em}code,kbd,samp,pre,.font-mono{font-family:var(--font-mono)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:#cbd5e1}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.glass-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all .2s cubic-bezier(.16,1,.3,1)}.glass-card-hover{transition:all .2s cubic-bezier(.16,1,.3,1)}.glass-card-hover:hover{border-color:var(--border-hover);box-shadow:var(--shadow-float);transform:translateY(-2px)}.btn-primary{background:var(--primary-gradient);color:#fff;border-radius:var(--radius-md);font-family:var(--font-display);letter-spacing:-.01em;cursor:pointer;box-shadow:0 2px 10px var(--primary-glow);border:1px solid #ffffff26;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary:hover{box-shadow:0 4px 16px var(--primary-glow);background:linear-gradient(135deg,#4338ca 0%,#3730a3 100%);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{color:var(--text-main);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-family:var(--font-display);letter-spacing:-.01em;cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;justify-content:center;align-items:center;gap:7px;padding:9px 16px;font-size:13px;font-weight:600;transition:all .18s;display:inline-flex}.btn-secondary:hover{border-color:var(--border-hover);color:#0f172a;background:#f8fafc}.btn-secondary:active{transform:translateY(0)}.btn-danger{color:#dc2626;border-radius:var(--radius-md);font-family:var(--font-display);cursor:pointer;background:#fee2e2;border:1px solid #fecaca;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .18s;display:inline-flex}.btn-danger:hover{color:#b91c1c;background:#fecaca;border-color:#fca5a5}.input-control{border-radius:var(--radius-md);width:100%;color:var(--text-main);font-family:var(--font-sans);background:#fff;border:1px solid #cbd5e1;outline:none;padding:9px 13px;font-size:13px;transition:all .18s;box-shadow:0 1px 2px #0f172a05}.input-control:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f124}.input-control::placeholder{color:#94a3b8;font-size:13px}.badge{border-radius:var(--radius-full);font-family:var(--font-display);letter-spacing:.01em;align-items:center;gap:5px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.badge-primary{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe}.badge-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.badge-warning{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.badge-danger{color:#be123c;background:#fff1f2;border:1px solid #fecdd3}.pulse-indicator{background:#10b981;border-radius:50%;width:8px;height:8px;display:inline-block;position:relative}.pulse-indicator:after{content:"";background:#10b98166;border-radius:50%;width:16px;height:16px;animation:1.8s cubic-bezier(.215,.61,.355,1) infinite pulse-ring;position:absolute;top:-4px;left:-4px}@keyframes pulse-ring{0%{opacity:.9;transform:scale(.6)}50%{opacity:.35;transform:scale(1.3)}to{opacity:0;transform:scale(1.7)}}.modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#0f172a80;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fadeInBackdrop;display:flex;position:fixed;inset:0}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-backdrop>div{box-shadow:var(--shadow-modal);animation:.22s cubic-bezier(.16,1,.3,1) modalSlideUp}@media print{body{color:#000!important;background:#fff!important}.no-print{display:none!important}.glass-card{box-shadow:none!important;border:1px solid #e2e8f0!important}}.leaflet-tooltip.leaflet-dwell-tooltip{color:#0f172a!important;pointer-events:none!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:14px!important;padding:0!important;transition:opacity .15s ease-in-out,transform .15s ease-in-out!important;box-shadow:0 16px 36px -4px #0f172a38,0 4px 12px #0f172a14!important}.leaflet-tooltip.leaflet-dwell-tooltip:before{border-top-color:#cbd5e1!important}.leaflet-tooltip-top.leaflet-dwell-tooltip:before{border-top-color:#fff!important}.interactive-breadcrumb-marker{cursor:pointer;transition:all .15s cubic-bezier(.16,1,.3,1)}.interactive-breadcrumb-marker:hover{filter:drop-shadow(0 0 6px #4f46e5cc)}
