@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--bg-primary:#09090b;--bg-secondary:#121216;--bg-tertiary:#1a1a20;--bg-hover:#22222a;--bg-glass:#121216d9;--accent-primary:#2563eb;--accent-glow:#2563eb33;--accent-secondary:#22c55e;--accent-green-glow:#22c55e26;--accent-blue:#2563eb;--accent-violet:#a78bfa;--text-primary:#f4f4f5;--text-secondary:#a1a1aa;--text-muted:#71717a;--border-color:#ffffff14;--border-hover:#ffffff29;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-glow:0 0 0 1px var(--accent-primary), 0 8px 32px var(--accent-glow);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--sidebar-width:240px;--transition:.18s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg-primary:#f0f2f8;--bg-secondary:#fff;--bg-tertiary:#e8ecf4;--bg-hover:#e2e7f3;--bg-glass:#fffffff2;--accent-primary:#6d28d9;--accent-glow:#6d28d91f;--accent-secondary:#059669;--accent-green-glow:#0596691a;--accent-blue:#2563eb;--text-primary:#0f172a;--text-secondary:#374151;--text-muted:#6b7280;--border-color:#0000001a;--border-hover:#0003;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #0000001a;--shadow-glow:0 0 0 1px var(--accent-primary), 0 4px 16px var(--accent-glow)}[data-theme=light] body{color:#0f172a}[data-theme=light] .glass-card{background:#fff;border-color:#0000001a;box-shadow:0 2px 12px #0000000f}[data-theme=light] .glass-card:before{background:linear-gradient(135deg,#6d28d905 0%,#0000 60%)}[data-theme=light] .glass-card:hover{border-color:#6d28d940;box-shadow:0 4px 20px #0000001a}[data-theme=light] .stat-card{background:#fff;border-color:#00000017;box-shadow:0 1px 6px #0000000f}[data-theme=light] .sidebar{background:#fff;border-right-color:#00000014}[data-theme=light] .main-content{background:#f0f2f8}[data-theme=light] .nav-item{color:#374151}[data-theme=light] .nav-item:hover{color:#0f172a;background:#e8ecf4}[data-theme=light] .nav-item.active{color:#6d28d9;background:#6d28d91a}[data-theme=light] .btn-secondary{color:#0f172a;background:#0000000a;border-color:#0000001f}[data-theme=light] .btn-secondary:hover{color:#0f172a;background:#00000014;border-color:#0003}[data-theme=light] .data-table thead tr{background:#00000005}[data-theme=light] .data-table thead th{color:#6b7280}[data-theme=light] .data-table tbody tr:hover{background:#00000006}[data-theme=light] .badge-gray{color:#374151;background:#0000000f;border-color:#0000001a}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{color:#0f172a;background:#f8fafc;border-color:#00000026}[data-theme=light] input:focus,[data-theme=light] select:focus,[data-theme=light] textarea:focus{border-color:#6d28d9;box-shadow:0 0 0 3px #6d28d91f}[data-theme=light] input::placeholder{color:#9ca3af}[data-theme=light] select option{color:#0f172a;background:#fff}[data-theme=light] .text-gradient{background:linear-gradient(135deg,#5b21b6 0%,#7c3aed 50%,#4c1d95 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] td,[data-theme=light] th,[data-theme=light] p,[data-theme=light] span,[data-theme=light] div,[data-theme=light] label,[data-theme=light] h1,[data-theme=light] h2,[data-theme=light] h3,[data-theme=light] h4{color:inherit}[data-theme=light] table td{color:#0f172a}[data-theme=light] table th{color:#6b7280}[data-theme=light] pre{color:#374151!important;background:#0000000d!important}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0003}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition), color var(--transition);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.5;overflow-x:hidden}.dashboard-container{height:100vh;display:flex;overflow:hidden}.main-content{background:var(--bg-primary);scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;flex:1;padding:28px 32px;overflow:hidden auto}.main-content::-webkit-scrollbar{width:5px}.main-content::-webkit-scrollbar-track{background:0 0}.main-content::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:99px}.main-content::-webkit-scrollbar-thumb:hover{background:#ffffff26}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border-color);scrollbar-width:none;flex-direction:column;flex-shrink:0;gap:0;padding:20px 12px;display:flex;overflow:hidden auto}.sidebar::-webkit-scrollbar{display:none}.nav-item{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary);transition:background var(--transition), color var(--transition), box-shadow var(--transition);white-space:nowrap;align-items:center;gap:10px;padding:9px 12px;font-size:.84rem;font-weight:500;text-decoration:none;display:flex;position:relative}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-item.active{background:var(--accent-glow);color:#a78bfa;font-weight:600}.nav-item.active:before{content:"";background:var(--accent-primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:20%;bottom:20%;left:0}h1,h2,h3{letter-spacing:-.025em;font-weight:700}.page-title{color:var(--text-primary);letter-spacing:-.03em;font-size:1.4rem;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-top:3px;font-size:.8rem}.text-gradient{background:linear-gradient(135deg,#e2d9ff 0%,#a78bfa 50%,#7c3aed 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);padding:20px;position:relative;overflow:hidden}.glass-card:before{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,#7c3aed08 0%,#0000 60%);position:absolute;inset:0}.glass-card:hover{border-color:var(--border-hover);box-shadow:0 4px 24px #0006}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:border-color var(--transition), box-shadow var(--transition);cursor:default;padding:18px 20px}.stat-card:hover{border-color:#7c3aed59;box-shadow:inset 0 0 0 1px #7c3aed1f,0 4px 20px #00000059}.btn-primary{color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);white-space:nowrap;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;align-items:center;gap:6px;padding:9px 20px;font-size:.84rem;font-weight:600;display:inline-flex;box-shadow:0 2px 8px #7c3aed59}.btn-primary:hover{background:linear-gradient(135deg,#8b4ff7,#7c3aed);transform:translateY(-1px);box-shadow:0 4px 16px #7c3aed80}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);white-space:nowrap;background:#ffffff0a;align-items:center;gap:6px;padding:9px 16px;font-size:.84rem;font-weight:500;display:inline-flex}.btn-secondary:hover{border-color:var(--border-hover);color:var(--text-primary);background:#ffffff14}.btn-danger{color:#f87171;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);background:#ef444414;border:1px solid #ef444433;padding:7px 14px;font-size:.8rem;font-weight:600}.btn-danger:hover{background:#ef44442e;border-color:#ef444466}.data-table{border-collapse:collapse;width:100%;font-size:.84rem}.data-table thead tr{border-bottom:1px solid var(--border-color);background:#ffffff06}.data-table thead th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:10px 14px;font-size:.72rem;font-weight:600}.data-table tbody tr{border-bottom:1px solid var(--border-color);transition:background var(--transition)}.data-table tbody tr:last-child{border-bottom:none}.data-table tbody tr:hover{background:#ffffff06}.data-table tbody td{padding:10px 14px}.badge{border-radius:99px;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.badge-purple{color:#a78bfa;background:#7c3aed26;border:1px solid #7c3aed40}.badge-green{color:#34d399;background:#10b9811f;border:1px solid #10b98140}.badge-red{color:#f87171;background:#ef44441f;border:1px solid #ef444433}.badge-blue{color:#60a5fa;background:#3b82f61f;border:1px solid #3b82f633}.badge-gray{color:var(--text-secondary);border:1px solid var(--border-color);background:#ffffff0d}input,select,textarea{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:9px 12px;font-family:inherit;font-size:.875rem}input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #7c3aed26}input::placeholder{color:var(--text-muted)}select option{background:var(--bg-secondary)}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot.online{background:#22c55e;animation:2s infinite pulse-green;box-shadow:0 0 0 3px #22c55e33,0 0 8px #22c55e80}.status-dot.offline{background:#475569}@keyframes pulse-green{0%,to{box-shadow:0 0 0 3px #22c55e33,0 0 8px #22c55e66}50%{box-shadow:0 0 0 5px #22c55e14,0 0 12px #22c55e99}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#000000bf;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-secondary);border:1px solid var(--border-hover);border-radius:var(--radius-xl);width:440px;max-width:95vw;padding:28px;animation:.2s cubic-bezier(.34,1.56,.64,1) slideUp;box-shadow:0 24px 64px #000000b3}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.divider{background:var(--border-color);height:1px;margin:16px 0}.geo-hover-card:hover .geo-popover,.geo-hover-target:hover .geo-popover{animation:.18s ease-out forwards fadeInScale;display:block!important}.geo-hover-target:hover,.geo-hover-card:hover{z-index:1000!important}.geo-popover:before{content:"";background:0 0;height:12px;position:absolute;top:-12px;left:0;right:0}@keyframes fadeInScale{0%{opacity:0;transform:translateY(4px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}.flex{display:flex}.items-center{align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-auto{margin-top:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
