@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--bg-0: #09090b;--bg-1: #0f1115;--bg-2: #16181d;--bg-3: #1c1f26;--bg-4: #23262f;--bg-elevated: #1a1d24;--border-subtle: rgba(255,255,255,.06);--border-default: rgba(255,255,255,.08);--border-strong: rgba(255,255,255,.12);--text-primary: #ececf1;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--accent: #3b82f6;--accent-hover: #60a5fa;--accent-muted: rgba(59,130,246,.12);--accent-subtle: rgba(59,130,246,.06);--green: #22c55e;--green-muted: rgba(34,197,94,.12);--amber: #f59e0b;--amber-muted: rgba(245,158,11,.12);--red: #ef4444;--red-muted: rgba(239,68,68,.1);--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 2px 8px rgba(0,0,0,.4);--shadow-lg: 0 8px 24px rgba(0,0,0,.5);--transition-fast: .12s ease;--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-0);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11"}input,button,select,textarea{font-family:inherit}input::placeholder{color:var(--text-tertiary)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.page-header{margin-bottom:1.75rem}.page-title{font-size:1.5rem;font-weight:700;letter-spacing:-.025em;margin:0 0 .25rem}.page-desc{color:var(--text-tertiary);font-size:.875rem}.page-toolbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1.75rem;gap:1rem;flex-wrap:wrap}.page-toolbar .page-header{margin-bottom:0}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media (max-width: 900px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}}.card{background:var(--bg-2);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:1.25rem;transition:border-color var(--transition)}.card:hover{border-color:var(--border-strong)}.card--flush{padding:0}.card--interactive{cursor:pointer}.card--interactive:hover{border-color:#3b82f633;background:var(--bg-3)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;line-height:1.6}.badge--green{background:var(--green-muted);color:var(--green)}.badge--amber{background:var(--amber-muted);color:var(--amber)}.badge--red{background:var(--red-muted);color:var(--red)}.badge--neutral{background:#a1a1aa1a;color:var(--text-secondary)}.badge--accent{background:var(--accent-muted);color:var(--accent)}.badge--success{background:var(--green-muted);color:var(--green)}.badge--warning{background:var(--amber-muted);color:var(--amber)}.badge--danger{background:var(--red-muted);color:var(--red)}.dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot--green{background:var(--green);box-shadow:0 0 6px var(--green)}.dot--amber{background:var(--amber);box-shadow:0 0 6px var(--amber)}.dot--red{background:var(--red);box-shadow:0 0 6px var(--red)}.dot--muted{background:var(--text-tertiary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.5rem 1rem;border:1px solid transparent;border-radius:var(--radius);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:transparent;color:var(--text-secondary)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 1px 3px #3b82f64d}.btn--primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);box-shadow:0 2px 8px #3b82f659}.btn--ghost{background:transparent}.btn--ghost:hover:not(:disabled){background:var(--bg-4);color:var(--text-primary)}.btn--outline{border-color:var(--border-strong);background:transparent}.btn--outline:hover:not(:disabled){border-color:var(--text-tertiary);background:var(--bg-3);color:var(--text-primary)}.btn--danger-ghost{color:var(--red)}.btn--danger-ghost:hover:not(:disabled){background:var(--red-muted)}.btn--sm{padding:.3rem .65rem;font-size:.75rem}.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:.6rem .75rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);border-bottom:1px solid var(--border-default)}.table td{padding:.7rem .75rem;font-size:.85rem;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}.table tbody tr:hover{background:var(--bg-3)}.table tbody tr:last-child td{border-bottom:none}.input{width:100%;padding:.6rem .85rem;background:var(--bg-1);border:1px solid var(--border-default);border-radius:var(--radius);color:var(--text-primary);font-size:.875rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.mono{font-family:SF Mono,Fira Code,Cascadia Code,monospace}.text-muted{color:var(--text-tertiary)}.text-sm{font-size:.8125rem}.text-xs{font-size:.75rem}.text-right{text-align:right}.fw-600{font-weight:600}.gap-sm{gap:.5rem}.gap-md{gap:.75rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.divider{height:1px;background:var(--border-subtle);margin:.75rem 0}.skeleton{background:linear-gradient(90deg,var(--bg-3) 25%,var(--bg-4) 50%,var(--bg-3) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff24}::selection{background:#3b82f64d}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}.animate-in{animation:fadeIn .3s ease}.spin{animation:spin 1s linear infinite}
