:root{--bg-primary:#f0f0f3;--bg-card:#e8e8eb;--bg-surface:#fff;--bg-sidebar:#eaeaed;--bg-overlay:#1a1a2e66;--text-primary:#1a1a2e;--text-secondary:#4a4a68;--text-muted:#8888a0;--text-inverse:#fff;--accent:#5b5fc7;--accent-hover:#4a4eb5;--accent-light:#ededfa;--accent-soft:#5b5fc71a;--danger:#d64545;--danger-hover:#c03030;--danger-soft:#fdf2f2;--danger-border:#f5c6c6;--safe:#2d8a4e;--safe-hover:#24713f;--safe-soft:#f0faf4;--safe-border:#b8e6c8;--warning:#c4841d;--warning-hover:#a86e15;--warning-soft:#fef9f0;--warning-border:wheat;--critical:#991b1b;--critical-soft:#fef2f2;--border:#d8d8de;--border-light:#ececef;--neu-bg:#e8e8eb;--neu-shadow:6px 6px 12px #d1d1d4, -6px -6px 12px #fff;--neu-shadow-sm:3px 3px 6px #d1d1d4, -3px -3px 6px #fff;--neu-shadow-inset:inset 4px 4px 8px #d1d1d4, inset -4px -4px 8px #fff;--neu-shadow-hover:8px 8px 16px #c8c8cb, -8px -8px 16px #fff;--neu-shadow-pressed:inset 3px 3px 6px #d1d1d4, inset -3px -3px 6px #fff;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--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;--space-20:80px;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--sidebar-width:260px;--topbar-height:64px;--z-dropdown:100;--z-modal-backdrop:200;--z-modal:300;--z-toast:400;--z-tooltip:500}
.neu-flat{background:var(--neu-bg);box-shadow:var(--neu-shadow);border-radius:var(--radius-lg);transition:box-shadow var(--transition-base)}.neu-flat:hover{box-shadow:var(--neu-shadow-hover)}.neu-flat-sm{background:var(--neu-bg);box-shadow:var(--neu-shadow-sm);border-radius:var(--radius-md);transition:box-shadow var(--transition-base)}.neu-card{background:var(--neu-bg);box-shadow:var(--neu-shadow);border-radius:var(--radius-xl);padding:var(--space-6);transition:box-shadow var(--transition-base), transform var(--transition-base)}.neu-card:hover{box-shadow:var(--neu-shadow-hover)}.neu-card-interactive:hover{transform:translateY(-2px)}.neu-inset{background:var(--neu-bg);box-shadow:var(--neu-shadow-inset);border-radius:var(--radius-md)}.neu-button{background:var(--neu-bg);box-shadow:var(--neu-shadow-sm);border-radius:var(--radius-md);cursor:pointer;transition:box-shadow var(--transition-fast), transform var(--transition-fast);border:none;font-family:inherit}.neu-button:hover{box-shadow:var(--neu-shadow)}.neu-button:active{box-shadow:var(--neu-shadow-pressed);transform:scale(.98)}.neu-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.neu-button:disabled:hover{box-shadow:var(--neu-shadow-sm)}.neu-input{background:var(--neu-bg);box-shadow:var(--neu-shadow-inset);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);transition:box-shadow var(--transition-fast);border:none;outline:none;width:100%;font-family:inherit;font-size:.9375rem}.neu-input::placeholder{color:var(--text-muted)}.neu-input:focus{box-shadow:var(--neu-shadow-inset), 0 0 0 2px var(--accent-soft)}.neu-badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);letter-spacing:.02em;font-size:.75rem;font-weight:600;display:inline-flex}.neu-divider{background:linear-gradient(90deg, transparent, var(--border), transparent);height:1px;margin:var(--space-4) 0;border:none}
@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes breathe{0%,to{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 8px #0000}}@keyframes countDown{0%{stroke-dashoffset:0}to{stroke-dashoffset:283px}}.animate-fade-in{animation:fadeIn var(--transition-base) ease both}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease both}.animate-fade-in-down{animation:fadeInDown var(--transition-slow) ease both}.animate-slide-in-right{animation:slideInRight var(--transition-slow) ease both}.animate-scale-in{animation:scaleIn var(--transition-base) ease both}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-shimmer{background:linear-gradient(90deg, var(--bg-card) 25%, var(--bg-surface) 50%, var(--bg-card) 75%);background-size:200% 100%;animation:1.5s infinite shimmer}.animate-spin{animation:1s linear infinite spin}.animate-breathe{animation:2s ease-in-out infinite breathe}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.5rem;line-height:2rem}.text-2xl{font-size:2rem;line-height:2.5rem}.text-3xl{font-size:3rem;line-height:3.5rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.text-danger{color:var(--danger)}.text-safe{color:var(--safe)}.text-warning{color:var(--warning)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mono{font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.875em}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-geist-sans), "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--accent-soft);color:var(--accent)}
