:root{--brand-blue:#3b82f6;--brand-blue-hover:#2563eb;--brand-blue-light:#eff6ff;--bg-primary:#fff;--bg-sidebar:#f9fafb;--bg-hover:#f3f4f6;--bg-muted:#f9fafb;--text-primary:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--text-link:#2563eb;--border-default:#e5e7eb;--border-strong:#d1d5db;--status-green:#16a34a;--status-green-bg:#f0fdf4;--status-amber:#d97706;--status-amber-bg:#fffbeb;--status-red:#dc2626;--status-red-bg:#fef2f2;--status-blue:#2563eb;--status-blue-bg:#eff6ff;--status-gray:#6b7280;--status-gray-bg:#f3f4f6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--topnav-height:56px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}#main,#dx-root{height:100%}a{color:inherit;text-decoration:none}.page-title{color:var(--text-primary);font-size:22px;font-weight:600}.section-heading{color:var(--text-primary);font-size:16px;font-weight:600}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted);font-size:13px}.text-link,a.text-link{color:var(--text-link);cursor:pointer;text-decoration:none}.text-link:hover,a.text-link:hover{text-decoration:underline}.page{max-width:1200px;padding:var(--space-6) var(--space-8);margin:0 auto}.page-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.btn-primary{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--brand-blue);color:#fff;cursor:pointer;border:none;border-radius:6px;font-size:13px;font-weight:500;transition:background-color .1s;display:inline-flex}.btn-primary:hover{background:var(--brand-blue-hover)}.btn-primary:disabled{background:var(--border-strong);cursor:not-allowed}.btn-ghost{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);color:var(--text-secondary);border:1px solid var(--border-default);cursor:pointer;background:0 0;border-radius:6px;font-size:13px;font-weight:500;transition:background-color .1s;display:inline-flex}.btn-ghost:hover{background:var(--bg-hover)}.btn-ghost:disabled{color:var(--text-muted);border-color:var(--border-default);cursor:not-allowed}.btn-ghost:disabled:hover{background:0 0}.input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);color:var(--text-primary);background:var(--bg-primary);border-radius:6px;outline:none;font-family:inherit;font-size:14px;transition:border-color .1s;display:block}.input:focus{border-color:var(--brand-blue);box-shadow:0 0 0 2px var(--brand-blue-light)}.input::placeholder{color:var(--text-muted)}select.input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.badge{border-radius:9999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:500;line-height:1.4;display:inline-flex}.badge-generating{color:var(--status-blue);background:var(--status-blue-bg)}.badge-pending{color:var(--status-amber);background:var(--status-amber-bg)}.badge-done{color:var(--status-green);background:var(--status-green-bg)}.badge-dismissed{color:var(--status-gray);background:var(--status-gray-bg)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.badge-generating{animation:2s ease-in-out infinite pulse}.data-table{border-collapse:collapse;width:100%}.data-table thead th{text-align:left;padding:var(--space-3) var(--space-4);color:var(--text-secondary);border-bottom:1px solid var(--border-default);white-space:nowrap;font-size:12px;font-weight:500}.data-table tbody td{padding:var(--space-3) var(--space-4);color:var(--text-primary);border-bottom:1px solid var(--border-default);vertical-align:middle;font-size:13px}.data-table tbody tr{height:44px;transition:background-color .1s}.data-table tbody tr:hover{background:var(--bg-hover)}.card{background:var(--bg-primary);border:1px solid var(--border-default);padding:var(--space-5);border-radius:8px}.filter-bar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.filter-bar .input{max-width:300px}.empty-state{padding:var(--space-16) 0;justify-content:center;align-items:center;display:flex}@media (width<=768px){.page{padding:var(--space-4)}}.app-layout.svelte-12qhfyh{flex-direction:column;height:100vh;display:flex;overflow:hidden}.vibe-banner.svelte-12qhfyh{padding:6px var(--space-6);color:#78350f;text-align:center;background:#fef3c7;border-bottom:1px solid #fcd34d;flex-shrink:0;font-size:12px;font-weight:500}.topnav.svelte-12qhfyh{padding:0 var(--space-6);background:#1f2937;border-bottom:none;flex-shrink:0;justify-content:space-between;align-items:center;height:40px;display:flex}.topnav-left.svelte-12qhfyh{align-items:center;gap:var(--space-6);display:flex}.topnav-brand.svelte-12qhfyh{align-items:center;gap:var(--space-2);text-decoration:none;display:flex}.brand-logo.svelte-12qhfyh{filter:brightness(0)invert();width:18px;height:18px}.topnav-links.svelte-12qhfyh{align-items:center;gap:var(--space-1);display:flex}.nav-item.svelte-12qhfyh{padding:var(--space-1) var(--space-3);color:#9ca3af;cursor:pointer;border-radius:4px;font-size:13px;font-weight:400;text-decoration:none;transition:background-color .1s,color .1s}.nav-item.svelte-12qhfyh:hover{color:#e5e7eb;background:#ffffff1a}.nav-item.active.svelte-12qhfyh{color:#fff;background:#ffffff26;font-weight:500}.topnav-right.svelte-12qhfyh{align-items:center;gap:var(--space-3);display:flex}.topnav-user.svelte-12qhfyh{color:#9ca3af;font-size:12px}.btn-sm{padding:2px var(--space-2);color:#9ca3af;border-color:#fff3;font-size:11px}.btn-sm:hover{color:#e5e7eb;background:#ffffff1a}.main-content.svelte-12qhfyh{background:var(--bg-primary);flex:1;overflow-y:auto}@media (width<=768px){.topnav.svelte-12qhfyh{padding:0 var(--space-3)}.topnav-left.svelte-12qhfyh{gap:var(--space-4)}.topnav-user.svelte-12qhfyh{display:none}}
