:root{--color-primary-dark:#2b2d42;--color-secondary:#8d99ae;--color-background:#edf2f4;--color-accent:#ef233c;--color-accent-dark:#d90429;--color-surface:#fff;--color-text:#2b2d42;--color-text-muted:#8d99ae;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-size-base:16px;--font-size-sm:.875rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--line-height:1.6;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(43,45,66,.05);--shadow-md:0 4px 6px -1px rgba(43,45,66,.1),0 2px 4px -1px rgba(43,45,66,.06);--shadow-lg:0 10px 15px -3px rgba(43,45,66,.1),0 4px 6px -2px rgba(43,45,66,.05);--transition-fast:.15s ease-in-out;--transition-base:.2s ease-in-out;--transition-slow:.3s ease-in-out}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-background);color:var(--color-text);font-family:var(--font-family);line-height:var(--line-height);min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--color-primary-dark);font-weight:600;line-height:1.2;margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{margin-bottom:var(--spacing-sm)}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-dark)}.text-primary{color:var(--color-primary-dark)}.text-secondary{color:var(--color-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.bg-surface{background-color:var(--color-surface)}.bg-background{background-color:var(--color-background)}.bg-primary{background-color:var(--color-primary-dark)}.bg-accent{background-color:var(--color-accent)}.container{margin:0 auto;max-width:1200px;padding:0 var(--spacing-md);width:100%}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg)}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:500;justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all var(--transition-base);white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-accent-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--color-primary-dark);color:#fff}.btn-secondary:hover:not(:disabled){box-shadow:var(--shadow-md);opacity:.9;transform:translateY(-1px)}.btn-outline{background-color:transparent;border:2px solid var(--color-secondary);color:var(--color-primary-dark)}.btn-outline:hover:not(:disabled){background-color:var(--color-secondary);color:#fff}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}
