:root{--primary:#f472b6;--primary-light:#f9a8d4;--primary-dark:#ec4899;--primary-soft:#fce7f3;--primary-gradient:linear-gradient(135deg, #f472b6, #ec4899);--primary-gradient-light:linear-gradient(135deg, #f9a8d4, #f472b6);--secondary:#fbbf24;--secondary-light:#fcd34d;--secondary-dark:#f59e0b;--secondary-soft:#fef3c7;--success:#6ee7b7;--success-light:#a7f3d0;--success-dark:#34d399;--success-soft:#ecfdf5;--warning:#fbbf24;--warning-light:#fcd34d;--warning-dark:#f59e0b;--warning-soft:#fef3c7;--danger:#f87171;--danger-light:#fca5a5;--danger-dark:#ef4444;--danger-soft:#fee2e2;--info:#a78bfa;--info-light:#c4b5fd;--info-dark:#8b5cf6;--info-soft:#ede9fe;--white:#ffffff;--gray-50:#fefefc;--gray-100:#fdfbf7;--gray-200:#f3f0ea;--gray-300:#e5dfd6;--gray-400:#cbc3b8;--gray-500:#a69b8d;--gray-600:#857a6c;--gray-700:#635a4f;--gray-800:#423b33;--gray-900:#241f1a;--bg-primary:#ffffff;--bg-secondary:#fefcf8;--bg-tertiary:#fdf9f4;--bg-gradient:linear-gradient(135deg, #fefcf8 0%, #fdf9f4 100%);--text-primary:#3b2e24;--text-secondary:#7a6b5d;--text-muted:#b4a496;--text-light:#d4cabc;--text-white:#ffffff;--border-light:#f3efe9;--border-medium:#e3dbd1;--border-dark:#d0c6b9;--border-blue-light:#f9a8d4;--border-blue-dark:#ec4899;--shadow-xs:0 1px 2px rgba(0, 0, 0, 0.02);--shadow-sm:0 1px 3px rgba(0, 0, 0, 0.04);--shadow-md:0 4px 8px rgba(0, 0, 0, 0.05);--shadow-lg:0 10px 20px rgba(0, 0, 0, 0.06);--shadow-xl:0 20px 30px -5px rgba(0, 0, 0, 0.08);--shadow-hover:0 15px 30px rgba(0, 0, 0, 0.08);--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--radius-sm:0.375rem;--radius-md:0.625rem;--radius-lg:0.875rem;--radius-xl:1.125rem;--radius-2xl:1.5rem;--radius-full:9999px;--font-xs:0.75rem;--font-sm:0.875rem;--font-base:1rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:1.875rem;--font-4xl:2.25rem;--font-5xl:3rem;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--transition-fast:150ms;--transition-base:250ms;--transition-slow:350ms;--ease:cubic-bezier(0.4, 0, 0.2, 1);--z-dropdown:1000;--z-sticky:1020;--z-modal:1050}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:var(--font-base);font-weight:var(--font-normal);line-height:1.6;color:var(--text-primary);-webkit-text-size-adjust:100%}h1,.h1{font-size:clamp(1.75rem, 5vw, 2.5rem);font-weight:var(--font-extrabold);line-height:1.2}h2,.h2{font-size:clamp(1.5rem, 4vw, 2.25rem);font-weight:var(--font-bold);line-height:1.25}h3,.h3{font-size:clamp(1.25rem, 3.5vw, 1.875rem);font-weight:var(--font-semibold);line-height:1.3}h4,.h4{font-size:var(--font-xl);font-weight:var(--font-semibold)}h5,.h5{font-size:var(--font-lg);font-weight:var(--font-semibold)}h6,.h6{font-size:var(--font-sm);font-weight:var(--font-semibold)}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-base{font-size:var(--font-base)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}.text-2xl{font-size:var(--font-2xl)}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-extrabold{font-weight:var(--font-extrabold)}.text-primary{color:var(--primary)}.text-secondary{color:var(--secondary)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-danger{color:var(--danger)}.text-info{color:var(--info)}.text-muted{color:var(--text-muted)}.text-white{color:var(--text-white)}.gradient-text{background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);font-size:var(--font-sm);font-weight:var(--font-medium);border-radius:var(--radius-md);min-height:44px;transition:all var(--transition-base) var(--ease);cursor:pointer}.btn-primary{background:var(--primary-gradient);color:var(--text-white);border:none}.btn-primary:hover{background:var(--primary-gradient-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-outline-primary{background:#fff0;border:1px solid var(--primary);color:var(--primary)}.btn-outline-primary:hover{background:var(--primary);color:var(--text-white)}@media (max-width:768px){body{font-size:.95rem;line-height:1.65}h1,.h1{font-size:1.75rem}h2,.h2{font-size:1.5rem}h3,.h3{font-size:1.25rem}.card{border-radius:var(--radius-lg)}.form-control{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-base)}.alert{padding:var(--spacing-4) var(--spacing-5)}}@media (min-width:769px) and (max-width:1024px){h1,.h1{font-size:2.25rem}h2,.h2{font-size:2rem}}.card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-xl);transition:all var(--transition-base) var(--ease)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.form-control{width:100%;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-sm);border:1px solid var(--border-blue-dark);border-radius:var(--radius-md);transition:all var(--transition-base) var(--ease)}.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgb(255 140 66 / .1)}.alert{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);border-left:4px solid #fff0;margin-bottom:var(--spacing-4)}.alert-success{background:var(--success-soft);color:var(--success-dark);border-left-color:var(--success)}.alert-danger{background:var(--danger-soft);color:var(--danger-dark);border-left-color:var(--danger)}.alert-warning{background:var(--warning-soft);color:var(--warning-dark);border-left-color:var(--warning)}.alert-info{background:var(--info-soft);color:var(--info-dark);border-left-color:var(--info)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn var(--transition-base) var(--ease)}.slide-up{animation:slideInUp var(--transition-base) var(--ease)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.cursor-pointer{cursor:pointer}.transition{transition:all var(--transition-base) var(--ease)}