:root{--color-primary: #6b46c1;--color-primary-dark: #553c9a;--color-primary-light: #9f7aea;--color-accent: #c4b5fd;--color-accent-light: #e9d5ff;--color-bg: #ffffff;--color-surface: #f9fafb;--color-surface-dark: #f3f4f6;--color-text: #1f2937;--color-text-light: #6b7280;--color-muted: #9ca3af;--color-border: #e5e7eb;--color-success: #10b981;--color-error: #ef4444;--color-warning: #f59e0b;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: .25rem;--radius: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--maxw-container: 1200px;--maxw-content: 800px;--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--transition: .15s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);line-height:1.6;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,.btn{font-family:var(--font-sans);font-weight:500;border-radius:var(--radius);border:none;cursor:pointer;transition:all var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm)}.btn-primary{background-color:var(--color-primary);color:#fff;padding:var(--space-md) var(--space-xl);font-size:var(--font-size-base)}.btn-primary:hover{background-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:#fff;color:var(--color-primary);border:2px solid var(--color-primary);padding:calc(var(--space-md) - 2px) calc(var(--space-xl) - 2px);font-size:var(--font-size-base)}.btn-secondary:hover{background-color:var(--color-surface)}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-lg) var(--space-2xl);font-size:var(--font-size-lg)}.card{background-color:#fff;border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow);border:1px solid var(--color-border)}.card:hover{box-shadow:var(--shadow-md)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=datetime-local],textarea,select{width:100%;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-size-base);font-family:var(--font-sans);transition:border-color var(--transition)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6b46c11a}label{display:block;font-weight:500;margin-bottom:var(--space-sm);color:var(--color-text)}.text-center{text-align:center}.text-muted{color:var(--color-text-light)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-sm)}.mb-2{margin-bottom:var(--space-md)}.mb-3{margin-bottom:var(--space-lg)}.mb-4{margin-bottom:var(--space-xl)}.mb-5{margin-bottom:var(--space-2xl)}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-sm)}.mt-2{margin-top:var(--space-md)}.mt-3{margin-top:var(--space-lg)}.mt-4{margin-top:var(--space-xl)}.mt-5{margin-top:var(--space-2xl)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--color-text)}p{margin-bottom:var(--space-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-primary-dark)}img{max-width:100%;height:auto;display:block}button:disabled{opacity:.6;cursor:not-allowed}
