:root{--maple-50:#fef2f2;--maple-100:#fee2e2;--maple-200:#fecaca;--maple-300:#fca5a5;--maple-400:#f87171;--maple-500:#ef4444;--maple-600:#dc2626;--maple-700:#b91c1c;--maple-800:#991b1b;--maple-900:#7f1d1d;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--slate-950:#020617;--green-50:#f0fdf4;--green-100:#dcfce7;--green-200:#bbf7d0;--green-300:#86efac;--green-400:#4ade80;--green-500:#22c55e;--green-600:#16a34a;--green-700:#15803d;--green-800:#166534;--green-900:#14532d;--gold-400:#facc15;--gold-500:#eab308;--gold-600:#ca8a04;--bg-primary:#fff;--bg-secondary:var(--slate-50);--bg-tertiary:var(--slate-100);--text-primary:var(--slate-900);--text-secondary:var(--slate-600);--text-tertiary:var(--slate-400);--border-color:var(--slate-200);--border-focus:var(--maple-500);--success:var(--green-500);--error:var(--maple-500);--warning:var(--gold-500);--font-heading:"Sora", sans-serif;--font-body:"DM Sans", sans-serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000f;--shadow-glow:0 0 30px #dc262626;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--max-width:1200px;--nav-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--text-primary);background:var(--bg-primary);min-height:100vh;font-size:16px;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:700;line-height:1.2}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.5rem,3.5vw,2.5rem)}h3{font-size:clamp(1.25rem,2.5vw,1.75rem)}h4{font-size:1.25rem}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}input,select,textarea,button{font-family:inherit;font-size:inherit}.container{max-width:var(--max-width);padding:0 var(--space-lg);margin:0 auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);font-family:var(--font-heading);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;transition:opacity var(--transition-fast);background:linear-gradient(135deg,#ffffff26 0%,#0000 50%);position:absolute;inset:0}.btn:hover:after{opacity:1}.btn-primary{background:linear-gradient(135deg, var(--maple-600) 0%, var(--maple-700) 100%);color:#fff;box-shadow:0 2px 8px #dc26264d}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #dc262666}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-primary);color:var(--text-primary);border:1.5px solid var(--border-color)}.btn-secondary:hover{border-color:var(--maple-300);background:var(--maple-50)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--slate-100);color:var(--text-primary)}.btn-success{background:linear-gradient(135deg, var(--green-600) 0%, var(--green-700) 100%);color:#fff;box-shadow:0 2px 8px #16a34a4d}.btn-success:hover{transform:translateY(-1px);box-shadow:0 4px 16px #16a34a66}.btn-lg{border-radius:var(--radius-lg);padding:1rem 2rem;font-size:1.1rem}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.btn-full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}.form-label{color:var(--text-primary);font-size:.9rem;font-weight:500}.form-label .required{color:var(--maple-500);margin-left:2px}.form-hint{color:var(--text-tertiary);font-size:.8rem}.form-input,.form-select{border:1.5px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);width:100%;color:var(--text-primary);transition:all var(--transition-fast);outline:none;padding:.75rem 1rem;font-size:.95rem}.form-input:hover,.form-select:hover{border-color:var(--slate-300)}.form-input:focus,.form-select:focus{border-color:var(--maple-500);box-shadow:0 0 0 3px #dc26261a}.form-input.error,.form-select.error{border-color:var(--error);box-shadow:0 0 0 3px #ef44441a}.form-input::placeholder{color:var(--text-tertiary)}.form-error{color:var(--error);align-items:center;gap:4px;font-size:.8rem;display:flex}.form-error:before{content:"⚠";font-size:.75rem}.form-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-elevated{box-shadow:var(--shadow-lg);border:none}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:4px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{background:var(--green-100);color:var(--green-700)}.badge-warning{color:var(--gold-600);background:#fef3c7}.badge-error{background:var(--maple-100);color:var(--maple-700)}.badge-info{color:#1d4ed8;background:#dbeafe}.progress-bar{background:var(--slate-200);border-radius:var(--radius-full);height:6px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg, var(--maple-500), var(--maple-600));border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes countUp{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-fade-in{animation:.5s ease-out fadeIn}.animate-fade-in-up{animation:.6s ease-out fadeInUp}.animate-slide-right{animation:.4s ease-out slideInRight}.animate-slide-left{animation:.4s ease-out slideInLeft}.delay-1{animation-delay:.1s;animation-fill-mode:backwards}.delay-2{animation-delay:.2s;animation-fill-mode:backwards}.delay-3{animation-delay:.3s;animation-fill-mode:backwards}.delay-4{animation-delay:.4s;animation-fill-mode:backwards}.delay-5{animation-delay:.5s;animation-fill-mode:backwards}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--slate-100)}::-webkit-scrollbar-thumb{background:var(--slate-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--slate-400)}::selection{background:var(--maple-200);color:var(--maple-900)}
