:root{color-scheme:light;--brand-50:#eef0ff;--brand-100:#dfe3fe;--brand-200:#c3c8fd;--brand-300:#a0a5f5;--brand-400:#7a78e8;--brand-500:#4f46c7;--brand-600:#3e37ac;--brand-700:#2f2a8c;--brand-800:#201c6b;--brand-900:#10094b;--brand-950:#00008e;--gray-0:#fff;--gray-50:#f8f9fb;--gray-100:#f1f2f5;--gray-200:#e4e6eb;--gray-300:#d3d6dd;--gray-400:#b0b4bf;--gray-500:#8a8f9c;--gray-600:#6b707d;--gray-700:#4d515c;--gray-800:#34363d;--gray-900:#1c1d21;--gray-1000:#0b0c0e;--success-500:#16a34a;--success-100:#dcfce7;--success-on-tint:#166534;--danger-500:#dc2626;--danger-100:#fee2e2;--danger-on-tint:#991b1b;--warning-500:#d97706;--warning-100:#fef3c7;--warning-on-tint:#92400e;--info-500:#2563eb;--info-100:#dbeafe;--info-on-tint:#1d4ed8;--gold-500:#a9812f;--gold-on-tint:#7a5d22;--surface-app:var(--gray-50);--surface-card:var(--gray-0);--surface-sunken:var(--gray-100);--surface-overlay:var(--gray-0);--border-subtle:var(--gray-200);--border-default:var(--gray-300);--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-on-brand:#fff;--brand-interactive:var(--brand-500);--brand-interactive-hover:var(--brand-600);--brand-tint:var(--brand-50);--font-ui:-apple-system,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.65;--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;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(16,9,75,.04);--shadow-sm:0 1px 3px rgba(16,9,75,.06),0 1px 2px rgba(16,9,75,.04);--shadow-md:0 4px 12px rgba(16,9,75,.08),0 2px 4px rgba(16,9,75,.04);--shadow-lg:0 12px 32px rgba(16,9,75,.12),0 4px 8px rgba(16,9,75,.04);--ease-out:cubic-bezier(0.4,0,0.2,1);--duration-fast:120ms;--duration-base:180ms;--duration-slow:280ms;--container-max:1120px}:root[data-theme=dark]{color-scheme:dark;--surface-app:var(--gray-1000);--surface-card:var(--gray-900);--surface-sunken:var(--gray-800);--surface-overlay:var(--gray-800);--border-subtle:var(--gray-800);--border-default:var(--gray-700);--text-primary:var(--gray-50);--text-secondary:var(--gray-400);--text-on-brand:var(--gray-1000);--brand-interactive:var(--brand-400);--brand-interactive-hover:var(--brand-300);--brand-tint:rgba(122,120,232,.14);--success-100:rgba(22,163,74,.16);--success-on-tint:#6ee7b7;--danger-100:rgba(220,38,38,.16);--danger-on-tint:#fca5a5;--warning-100:rgba(217,119,6,.16);--warning-on-tint:#fcd34d;--info-100:rgba(37,99,235,.16);--info-on-tint:#93c5fd;--gold-on-tint:#e0be6b;--shadow-xs:0 1px 2px rgba(0,0,0,.32);--shadow-sm:0 1px 3px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.28);--shadow-md:0 4px 16px rgba(0,0,0,.44),0 2px 6px rgba(0,0,0,.3);--shadow-lg:0 16px 40px rgba(0,0,0,.5),0 4px 10px rgba(0,0,0,.32)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--surface-app:var(--gray-1000);--surface-card:var(--gray-900);--surface-sunken:var(--gray-800);--surface-overlay:var(--gray-800);--border-subtle:var(--gray-800);--border-default:var(--gray-700);--text-primary:var(--gray-50);--text-secondary:var(--gray-400);--text-on-brand:var(--gray-1000);--brand-interactive:var(--brand-400);--brand-interactive-hover:var(--brand-300);--brand-tint:rgba(122,120,232,.14);--success-100:rgba(22,163,74,.16);--success-on-tint:#6ee7b7;--danger-100:rgba(220,38,38,.16);--danger-on-tint:#fca5a5;--warning-100:rgba(217,119,6,.16);--warning-on-tint:#fcd34d;--info-100:rgba(37,99,235,.16);--info-on-tint:#93c5fd;--shadow-xs:0 1px 2px rgba(0,0,0,.32);--shadow-sm:0 1px 3px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,.28);--shadow-md:0 4px 16px rgba(0,0,0,.44),0 2px 6px rgba(0,0,0,.3);--shadow-lg:0 16px 40px rgba(0,0,0,.5),0 4px 10px rgba(0,0,0,.32)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);background:var(--surface-app);transition:background-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}body,h1,h2,h3{margin:0;color:var(--text-primary)}h1,h2,h3{font-weight:var(--font-semibold);line-height:var(--leading-tight);letter-spacing:-.01em}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-lg);color:var(--text-secondary);font-weight:var(--font-medium)}p{margin:0}a{color:var(--brand-interactive);text-decoration:none}a:hover{color:var(--brand-interactive-hover)}::selection{background:var(--brand-tint)}:focus-visible{outline:2px solid var(--brand-interactive);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.page-shell{max-width:var(--container-max);margin:0 auto;padding:var(--space-8) var(--space-6)}@media (max-width:640px){.page-shell{padding:var(--space-5) var(--space-4)}}.text-muted{color:var(--text-secondary)}.text-sm{font-size:var(--text-sm)}table{border-collapse:collapse;width:100%}td,th{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm)}th{color:var(--text-secondary);font-weight:var(--font-semibold);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}tbody tr{transition:background-color var(--duration-fast) var(--ease-out)}tbody tr:hover{background:var(--surface-sunken)}label{display:block;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-4)}input:not([type=checkbox]):not([type=radio]),select,textarea{font:inherit;width:100%;padding:9px var(--space-3);margin-top:var(--space-1);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}input[type=checkbox],input[type=radio]{width:auto;margin-top:0}input::placeholder,textarea::placeholder{color:var(--gray-400)}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:var(--gray-400)}input:not([type=checkbox]):not([type=radio]):focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--brand-interactive);box-shadow:0 0 0 3px var(--brand-tint)}.field-error input,.field-error textarea{border-color:var(--danger-on-tint)}button{font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:9px var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--brand-interactive);color:var(--text-on-brand);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--brand-interactive-hover);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--gray-400)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-sunken);color:var(--text-primary)}.btn-destructive{background:var(--danger-500);color:#fff}.btn-destructive:hover:not(:disabled){background:#b91c1c}.btn-sm{padding:6px var(--space-3);font-size:var(--text-sm)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--text-md)}.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.card-interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-padded{padding:var(--space-5)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--space-4);gap:var(--space-4);margin:var(--space-6) 0}.stat-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2)}.stat-card .label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.stat-card .value{font-size:var(--text-3xl);font-weight:var(--font-semibold);margin-top:var(--space-1);letter-spacing:-.02em}.stat-card-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--brand-tint);color:var(--brand-interactive);flex-shrink:0}.stat-card-brand{background:linear-gradient(135deg,var(--brand-800),var(--brand-500))}.stat-card-info{background:linear-gradient(135deg,#1e3a8a,var(--info-500))}.stat-card-success{background:linear-gradient(135deg,#15803d,var(--success-500))}.stat-card-gold{background:linear-gradient(135deg,#6b4f1a,var(--gold-500))}.stat-card-brand .label,.stat-card-gold .label,.stat-card-info .label,.stat-card-success .label{color:hsla(0,0%,100%,.85)}.stat-card-brand .value,.stat-card-gold .value,.stat-card-info .value,.stat-card-success .value{color:#fff}.stat-card-brand .stat-card-icon,.stat-card-gold .stat-card-icon,.stat-card-info .stat-card-icon,.stat-card-success .stat-card-icon{background:hsla(0,0%,100%,.16);color:#fff}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.badge-neutral{background:var(--surface-sunken);color:var(--text-secondary)}.badge-brand{background:var(--brand-tint);color:var(--brand-interactive-hover)}.badge-success{background:var(--success-100);color:var(--success-on-tint)}.badge-danger{background:var(--danger-100);color:var(--danger-on-tint)}.badge-gold{background:rgba(169,129,47,.14);color:var(--gold-on-tint)}.banner{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);animation:banner-in var(--duration-slow) var(--ease-out)}.banner-error{background:var(--danger-100);color:var(--danger-on-tint)}.banner-success{background:var(--success-100);color:var(--success-on-tint)}@keyframes banner-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.skeleton{background:linear-gradient(90deg,var(--surface-sunken) 25%,var(--border-subtle) 37%,var(--surface-sunken) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.empty-state{text-align:center;padding:var(--space-12) var(--space-6);color:var(--text-secondary)}.empty-state .empty-icon{color:var(--gray-400);margin-bottom:var(--space-3)}.empty-state h3{color:var(--text-primary);margin-bottom:var(--space-1)}.page-enter{animation:page-fade-in var(--duration-slow) var(--ease-out)}@keyframes page-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.spinner{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.app-shell{display:flex;min-height:100vh}.app-sidebar{--sidebar-bg:var(--gray-1000);--sidebar-border:var(--gray-800);--sidebar-text:var(--gray-400);--sidebar-text-active:#fff;width:248px;flex-shrink:0;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);padding:var(--space-5) var(--space-4);display:flex;flex-direction:column;gap:var(--space-6)}.app-sidebar-brand{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-semibold);font-size:var(--text-md);color:#fff;padding:0 var(--space-2)}.app-sidebar-links{display:flex;flex-direction:column;gap:var(--space-1)}.app-sidebar-link{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--sidebar-text);padding:9px var(--space-3);border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.app-sidebar-link:hover{background:hsla(0,0%,100%,.06);color:#fff}.app-sidebar-link[aria-current=page]{background:linear-gradient(135deg,var(--brand-500),var(--brand-700));color:#fff}.app-shell-content{flex:1 1;min-width:0}.app-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:40;display:flex;align-items:center;padding:var(--space-3) var(--space-6);background:var(--surface-card);border-bottom:1px solid var(--border-subtle)}.app-topbar-spacer{flex:1 1}.app-topbar-actions{display:flex;gap:var(--space-2);align-items:center}.app-shell-backdrop,.app-topbar-menu-toggle{display:none}@media (max-width:900px){.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:60;transform:translateX(-100%);transition:transform var(--duration-base) var(--ease-out);box-shadow:var(--shadow-lg)}.app-sidebar.open{transform:translateX(0)}.app-shell-backdrop{display:block;position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.4)}.app-topbar-menu-toggle{display:inline-flex}}.project-switcher{max-width:160px;padding:6px 10px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-app);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer}.project-switcher:disabled{opacity:.6;cursor:default}@media (max-width:480px){.project-switcher{max-width:96px}}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-form-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:var(--surface-app);overflow:hidden}.auth-form-panel:after,.auth-form-panel:before{content:"";position:absolute;border-radius:50%;filter:blur(60px);opacity:.28;pointer-events:none;z-index:0}.auth-form-panel:before{width:280px;height:280px;background:var(--brand-500);top:-80px;left:-80px}.auth-form-panel:after{width:220px;height:220px;background:var(--gold-500);bottom:-60px;left:8%}.auth-form-panel-inner{z-index:1;width:100%;max-width:360px;gap:var(--space-4)}.auth-brand-panel,.auth-form-panel-inner{position:relative;display:flex;flex-direction:column}.auth-brand-panel{justify-content:flex-end;padding:var(--space-12);background:radial-gradient(circle at 25% 15%,var(--brand-500),var(--brand-900) 65%);color:#fff;overflow:hidden}.auth-brand-panel:before{content:"";position:absolute;inset:0;background-image:radial-gradient(hsla(0,0%,100%,.1) 1px,transparent 0);background-size:22px 22px;opacity:.6;pointer-events:none}.auth-brand-panel-content{position:relative;max-width:380px}.auth-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-lg);background:hsla(0,0%,100%,.14);color:#fff;margin-bottom:var(--space-5)}.auth-brand-panel h2{color:#fff;font-size:var(--text-2xl);font-weight:var(--font-semibold)}.auth-brand-panel p{color:hsla(0,0%,100%,.78);margin-top:var(--space-3);line-height:var(--leading-relaxed)}.auth-brand-mark{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);color:#fff;font-weight:var(--font-semibold);font-size:var(--text-lg);margin-bottom:var(--space-8)}@media (max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-form-panel{padding:var(--space-6) var(--space-4)}}