:root{--primary:oklch(0.5 0.15 140);--secondary:oklch(0.7 0.12 120);--accent:oklch(0.6 0.18 160);--background:oklch(0.99 0.01 120);--foreground:oklch(0.15 0.05 140);--muted:oklch(0.96 0.02 120);--border:oklch(0.92 0.03 120);--primary-foreground:oklch(0.95 0.01 0);--secondary-foreground:oklch(0.15 0.05 140);--accent-foreground:oklch(0.15 0.05 140);--muted-foreground:oklch(0.15 0.05 140);--font-sans:Inter,sans-serif;--radius:0.75rem;--font-heading:Inter,sans-serif} *{box-sizing:border-box} html,body{height:100%;margin:0;padding:0} body{font-family:var(--font-sans),system-ui,-apple-system,sans-serif;line-height:1.6;color:var(--foreground);background-color:var(--background)} .page-layout{min-height:100vh;display:flex;flex-direction:column} .page-content{flex:1 0 auto;display:flex;flex-direction:column} h1,h2,h3,h4,h5,h6{font-family:var(--font-heading,var(--font-sans)),system-ui,-apple-system,sans-serif;font-weight:600;line-height:1.2;margin-bottom:0.5em} .btn-primary{background-color:var(--primary);color:var(--primary-foreground);padding:0.75rem 1.5rem;border-radius:var(--radius);border:none;cursor:pointer;font-weight:500;text-decoration:none;display:inline-block;transition:all 0.2s ease} .btn-primary:hover{opacity:0.9;transform:translateY(-1px)} .btn-secondary{background-color:transparent;color:var(--primary);border:2px solid var(--primary);padding:0.75rem 1.5rem;border-radius:var(--radius);cursor:pointer;font-weight:500;text-decoration:none;display:inline-block;transition:all 0.2s ease} .btn-secondary:hover{background-color:var(--primary);color:var(--primary-foreground)} .card{background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:0 2px 4px rgba(0,0,0,0.1)} .input{width:100%;padding:0.75rem;border:1px solid var(--border);border-radius:var(--radius);background-color:var(--background);color:var(--foreground);font-family:inherit} .input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in oklch,var(--primary) 20%,transparent)} @media (max-width:768px){.mobile-hidden{display:none !important} } @media (min-width:769px){.desktop-hidden{display:none !important} } .fade-in{animation:fadeIn 0.5s ease-in} @keyframes fadeIn{from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} } @media print{.no-print{display:none !important} }