:root{--gray-50:#fafafa;--gray-100:#f4f4f5;--gray-200:#e4e4e7;--gray-300:#d4d4d8;--gray-400:#a1a1aa;--gray-500:#71717a;--gray-600:#52525b;--gray-700:#3f3f46;--gray-800:#27272a;--gray-850:#1e1e22;--gray-900:#18181b;--gray-950:#0f0f12;--indigo-400:#818cf8;--indigo-500:#6366f1;--indigo-600:#4f46e5;--indigo-900:#1e1b4b;--color-bg:var(--gray-950);--color-surface:var(--gray-900);--color-surface-raised:var(--gray-850);--color-surface-hover:var(--gray-800);--color-border:var(--gray-800);--color-border-subtle:#ffffff0f;--color-text:var(--gray-100);--color-text-secondary:var(--gray-400);--color-text-muted:var(--gray-500);--color-primary:var(--indigo-500);--color-primary-hover:var(--indigo-400);--color-primary-bg:var(--indigo-900);--green-500:#22c55e;--blue-500:#3b82f6;--yellow-500:#eab308;--orange-500:#f97316;--red-500:#ef4444;--sidebar-width:240px;--radius-sm:4px;--radius:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px #0000004d;--shadow:0 2px 8px #0000004d;--shadow-lg:0 8px 24px #0006;--font-mono:"SF Mono", "Fira Code", "JetBrains Mono", monospace;--transition:.15s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;font-size:14px;line-height:1.6}a{color:var(--color-primary);transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-primary-hover)}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}table{border-collapse:collapse;width:100%}.btn{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text);transition:all var(--transition);white-space:nowrap;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;display:inline-flex}.btn:hover{background:var(--color-surface-hover);border-color:var(--gray-700)}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-danger{color:var(--red-500)}.btn-danger:hover{border-color:var(--red-500);background:#ef44441a}.btn-sm{padding:5px 10px;font-size:12px}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--color-surface-hover)}.input{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);transition:border-color var(--transition);outline:none;padding:9px 12px;font-size:13px}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f126}.input::placeholder{color:var(--gray-600)}.select{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;outline:none;padding:9px 12px;font-size:13px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.card-body{padding:20px}.card-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card-header h3{font-size:14px;font-weight:600}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px}.stat-card .stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:6px;margin-bottom:8px;font-size:11px;font-weight:500;display:flex}.stat-card .stat-value{font-size:28px;font-weight:700;line-height:1}.stat-card .stat-sub{color:var(--color-text-secondary);margin-top:6px;font-size:12px}th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--color-border);background:var(--color-surface-raised);z-index:1;padding:10px 16px;font-size:11px;font-weight:600;position:sticky;top:0}td{border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-secondary);padding:12px 16px;font-size:13px}tr{transition:background var(--transition)}tbody tr:hover td{background:var(--color-surface-hover)}tbody tr[data-clickable]:hover{cursor:pointer}.page{max-width:1200px}.page-header{margin-bottom:28px}.page-header h1{margin-bottom:4px;font-size:22px;font-weight:700}.page-header p{color:var(--color-text-secondary);font-size:14px;line-height:1.5}.page-actions{gap:10px;margin-top:12px;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.section{margin-bottom:32px}.section-title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-size:13px;font-weight:600}.form-group{margin-bottom:18px}.form-group label{color:var(--color-text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-group .help-text{color:var(--color-text-muted);margin-top:4px;font-size:12px}.form-group textarea{resize:vertical;min-height:80px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.badge{border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.help-tip{width:16px;height:16px;color:var(--color-text-muted);border:1px solid var(--color-border);cursor:help;border-radius:50%;justify-content:center;align-items:center;margin-left:4px;font-size:10px;font-weight:700;display:inline-flex;position:relative}.help-tip:hover .help-tip-content{opacity:1;visibility:visible;transform:translateY(0)}.help-tip-content{background:var(--gray-800);border:1px solid var(--gray-700);border-radius:var(--radius);color:var(--color-text-secondary);z-index:50;width:260px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:all var(--transition);pointer-events:none;text-transform:none;letter-spacing:0;padding:10px 14px;font-size:12px;font-weight:400;line-height:1.5;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty-state .empty-icon{color:var(--gray-700);margin-bottom:4px}.empty-state h3{color:var(--color-text);font-size:15px;font-weight:600}.empty-state p{color:var(--color-text-muted);max-width:360px;font-size:13px;line-height:1.6}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.pulse{animation:2s ease-in-out infinite pulse}.skeleton{background:linear-gradient(90deg, var(--gray-800) 25%, var(--gray-700) 50%, var(--gray-800) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--gray-700);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}
