@tailwind base;@tailwind components;@tailwind utilities;:root{--sidebar-bg:#090e17;--sidebar-hover-bg:#ffffff0f;--sidebar-active-bg:#6366f11f;--sidebar-active-text:#c7d2fe;--sidebar-text:#8b9cb6;--sidebar-text-muted:#475569;--sidebar-border:#ffffff0a;--sidebar-accent:#6366f1;--bg:#fafafa;--surface:#fff;--surface-1:#fff;--surface-2:#f8fafc;--surface-3:#f1f5f9;--surface-4:#e2e8f0;--border:214 32% 91%;--border-strong:#cbd5e1;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-muted:#94a3b8;--green:#10b981;--yellow:#f59e0b;--red:#ef4444;--blue:#3b82f6;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", monospace;--text-inverse:#fff;--ob-accent:#6366f1;--ob-accent-hover:#4f46e5;--ob-accent-light:#eef2ff;--ob-accent-border:#c7d2fe;--ob-accent-text:#4338ca;--accent:#6366f1;--accent-hover:#4f46e5;--accent-light:#eef2ff;--accent-bg:#eef2ff;--accent-border:#c7d2fe;--accent-text:#4338ca;--success:#10b981;--success-bg:#ecfdf5;--success-border:#6ee7b7;--success-text:#047857;--warning:#f59e0b;--warning-bg:#fffbeb;--warning-border:#fcd34d;--warning-text:#b45309;--danger:#ef4444;--danger-bg:#fef2f2;--danger-border:#fca5a5;--danger-text:#b91c1c;--info:#3b82f6;--info-bg:#eff6ff;--info-border:#93c5fd;--info-text:#1d4ed8;--shadow-xs:0 1px 2px #0f172a08;--shadow-sm:0 1px 3px #0f172a0a, 0 1px 2px #0f172a05;--shadow-md:0 4px 6px -1px #0f172a0d, 0 2px 4px -1px #0f172a08;--shadow-lg:0 10px 15px -3px #0f172a0f, 0 4px 6px -2px #0f172a08;--shadow-xl:0 20px 25px -5px #0f172a14, 0 10px 10px -5px #0f172a08;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:24px;--background:210 40% 98%;--foreground:222 47% 7%;--card:0 0% 100%;--card-foreground:222 47% 7%;--primary:239 84% 67%;--primary-foreground:0 0% 100%;--secondary:215 16% 43%;--secondary-foreground:0 0% 100%;--muted:210 40% 96%;--muted-foreground:215 16% 43%;--destructive:0 72% 51%;--destructive-foreground:0 0% 100%;--input:214 32% 91%;--ring:239 84% 67%;--radius:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}body{background:var(--bg);color:var(--text-primary);line-height:1.5}main{animation:.4s ease-out fadeIn}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.ob-sidebar-nav{scrollbar-width:thin;scrollbar-color:#ffffff1f transparent}.ob-sidebar-nav::-webkit-scrollbar{width:6px}.ob-sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}.ob-sidebar-nav:hover::-webkit-scrollbar-thumb{background:#ffffff2e}.ob-sidebar-nav::-webkit-scrollbar-thumb:hover{background:#ffffff47}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.animate-spin{animation:.8s linear infinite spin}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-fade-in{animation:.2s ease-out fadeIn}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);transition:box-shadow .2s,border-color .2s}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.badge{letter-spacing:.02em;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.badge-success{background:var(--success-bg);color:var(--success-text);border:1px solid var(--success-border)}.badge-warning{background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border)}.badge-danger{background:var(--danger-bg);color:var(--danger-text);border:1px solid var(--danger-border)}.badge-info{background:var(--info-bg);color:var(--info-text);border:1px solid var(--info-border)}.badge-neutral{background:var(--surface-3);color:var(--text-secondary);border:1px solid var(--border-strong)}.badge-accent{background:var(--ob-accent-light);color:var(--ob-accent-text);border:1px solid var(--ob-accent-border)}@layer components{.btn{border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;background:var(--surface);color:var(--text-primary);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{color:#fff;text-shadow:0 1px 1px #0000001a;background:linear-gradient(#6366f1 0%,#4f46e5 100%);border:1px solid #4338ca;box-shadow:0 1px 2px #6366f133,inset 0 1px #ffffff1a}.btn-primary:hover:not(:disabled){background:linear-gradient(#4f46e5 0%,#4338ca 100%);border-color:#3730a3;box-shadow:0 2px 4px #6366f14d,inset 0 1px #ffffff1a}.btn-primary:active:not(:disabled){background:#4338ca;box-shadow:inset 0 2px 4px #0000001a}.btn-secondary{color:var(--text-primary);border-color:var(--border-strong);background:linear-gradient(#fff 0%,#f8fafc 100%);box-shadow:0 1px 2px #0f172a0a}.btn-secondary:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.btn-secondary:active:not(:disabled){background:#e2e8f0;box-shadow:inset 0 2px 4px #0000000d}.btn-danger{background:var(--danger);color:#fff;border-color:#dc2626;box-shadow:0 1px 2px #ef444433}.btn-danger:hover:not(:disabled){background:#dc2626;border-color:#b91c1c}.btn-ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text-primary)}.btn-sm{padding:6px 12px;font-size:12px}.btn-lg{padding:12px 24px;font-size:14px}}.table{border-collapse:collapse;width:100%}.table th{text-align:left;letter-spacing:.06em;color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--border-strong);background:var(--surface);padding:12px 16px;font-size:11px;font-weight:700}.table td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:14px 16px;font-size:13px;transition:background .15s}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--surface-2)}.input{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;color:var(--text-primary);box-shadow:var(--shadow-xs);outline:none;padding:10px 14px;font-family:inherit;font-size:13px;transition:all .2s}.input:hover{border-color:var(--text-tertiary)}.input:focus{border-color:var(--ob-accent);box-shadow:0 0 0 3px #6366f126}.input::placeholder{color:var(--text-tertiary)}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-sm);padding:24px;transition:all .2s;position:relative;overflow:hidden}.stat-card:before{content:"";background:0 0;width:3px;transition:background .2s;position:absolute;top:0;bottom:0;left:0}.stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.stat-card:hover:before{background:var(--ob-accent)}.page-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:24px;display:flex}.breadcrumb{color:var(--text-tertiary);letter-spacing:.01em;align-items:center;gap:8px;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.breadcrumb-sep{color:var(--border-strong)}.breadcrumb-current{color:var(--text-secondary)}.page-title{color:var(--text-primary);letter-spacing:-.03em;font-size:26px;font-weight:800}.page-subtitle{color:var(--text-secondary);margin-top:6px;font-size:14px;font-weight:500}.section{margin-bottom:32px}.section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-size:12px;font-weight:700}.mono{letter-spacing:-.01em;font-family:JetBrains Mono,monospace}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot-green{background:var(--success);box-shadow:0 0 0 2px var(--success-bg)}.status-dot-red{background:var(--danger);box-shadow:0 0 0 2px var(--danger-bg)}.status-dot-yellow{background:var(--warning);box-shadow:0 0 0 2px var(--warning-bg)}.status-dot-blue{background:var(--info);box-shadow:0 0 0 2px var(--info-bg)}.status-dot-gray{background:var(--text-tertiary);box-shadow:0 0 0 2px var(--surface-3)}.divider{background:var(--border);height:1px;margin:20px 0}[data-tooltip]{cursor:default;position:relative}[data-tooltip]:after{content:attr(data-tooltip);background:var(--text-primary);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:1000;box-shadow:var(--shadow-md);border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)translateY(2px)}.grid-2{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}@media (max-width:1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.grid-3,.grid-4{grid-template-columns:1fr}}@media (max-width:700px){.grid-2{grid-template-columns:1fr}}.pill{white-space:nowrap;letter-spacing:.02em;border-radius:20px;align-items:center;padding:4px 10px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.tag{background:var(--surface-3);color:var(--text-secondary);white-space:nowrap;border:1px solid var(--border);border-radius:6px;align-items:center;padding:4px 8px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.skeleton{background:linear-gradient(90deg, var(--surface-3) 25%, var(--surface-4) 50%, var(--surface-3) 75%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);background:var(--surface);border-bottom:1px solid var(--border-strong);white-space:nowrap;padding:12px 16px;font-size:11px;font-weight:700}.data-table td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:14px 16px;transition:background .15s}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--surface-2)}
