:root{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-light: #60a5fa;--background: #f8fafc;--surface: #ffffff;--text-main: #0f172a;--text-secondary: #64748b;--border: #e2e8f0;--success: #22c55e;--danger: #ef4444;--error: #ef4444;--warning: #f59e0b;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--input-bg: #ffffff}.dark{--background: #0f172a;--surface: #1e293b;--text-main: #f8fafc;--text-secondary: #94a3b8;--border: #334155;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4);--input-bg: #0f172a}.input{width:100%;padding:.75rem;border-radius:var(--radius-md);border:1px solid var(--border);font-size:1rem;outline:none;transition:border-color .2s;background-color:var(--input-bg);color:var(--text-main)}.input-error{border-color:var(--danger)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--background);color:var(--text-main);line-height:1.5;-webkit-font-smoothing:antialiased}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.container{max-width:600px;margin:0 auto;padding:var(--spacing-md);min-height:100vh;background-color:var(--surface);box-shadow:var(--shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--spacing-md);height:42px;border-radius:var(--radius-md);font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);border:none;gap:var(--spacing-sm);transform:scale(1)}.btn:active{transform:scale(.96)}.btn-primary{background-color:var(--primary);color:#fff;box-shadow:0 2px 4px #2563eb33}.btn-primary:hover{background-color:var(--primary-dark);box-shadow:0 4px 6px #2563eb4d}.btn-primary:active{background-color:var(--primary-dark);box-shadow:none}.btn-outline{background-color:transparent;border:1px solid var(--border);color:var(--text-main)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.fade-in{animation:fadeIn .3s ease-out forwards}.slide-up{animation:slideUp .4s ease-out forwards}.page-transition{animation:fadeIn .3s ease-out}
