:root{--color-primary:#f16522;--color-text:#3e4042;--color-surface:#fff;--color-subtle:#f5f6f7;--color-border:#e8eaee;--color-footer-bg:#2f3133;--focus-ring:0 0 0 3px #f165224d;--shadow-soft:0 6px 20px #00000014;--shadow-soft-hover:0 10px 24px #f165222e;--radius-card:16px;--radius-cta:12px;--font-sans:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";--fs-h1:clamp(40px,5vw,44px);--fs-h2:clamp(28px,3.5vw,32px);--fs-body:16px;--section-pad-desktop:80px;--section-pad-mobile:32px}@media (max-width:768px){:root{--fs-body:15px}}#root,body,html{height:100%}html{background:var(--color-subtle);color:var(--color-text);font-family:var(--font-sans)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}.btn-cta{background:var(--color-primary);border:1px solid #0000;border-radius:var(--radius-cta);box-shadow:var(--shadow-soft);color:#fff;font-weight:700}.btn-cta:hover{box-shadow:var(--shadow-soft-hover);filter:brightness(.95)}.btn-cta:focus-visible{box-shadow:var(--shadow-soft),var(--focus-ring);outline:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f8f9fa;color:#333;font-family:Roboto,Helvetica,Arial,sans-serif;line-height:1.6}.App{display:flex;flex-direction:column;min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.container{margin:0 auto;max-width:1200px;padding:0 16px;width:100%}@media (max-width:768px){.container{padding:0 12px}}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;display:inline-block;height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hover-card{cursor:pointer;transition:all .3s ease}.hover-card:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.btn-animate{overflow:hidden;position:relative;transition:all .3s ease}.btn-animate:hover{transform:translateY(-2px)}.form-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:16px 0;padding:24px}@media (max-width:768px){.form-container{margin:8px 0;padding:16px}}.responsive-text{font-size:1rem}@media (max-width:768px){.responsive-text{font-size:.875rem}}.responsive-title{font-size:2rem;font-weight:700}@media (max-width:768px){.responsive-title{font-size:1.5rem}}.responsive-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@media (max-width:768px){.responsive-grid{gap:12px;grid-template-columns:1fr}}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}.flex-column{display:flex;flex-direction:column}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.p-1{padding:8px}.p-2{padding:16px}.p-3{padding:24px}.p-4{padding:32px}.hide-mobile{display:block}.show-mobile{display:none}@media (max-width:768px){.hide-mobile{display:none}.show-mobile{display:block}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-out}@keyframes slideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.slide-in{animation:slideIn .5s ease-out}@media print{.no-print{display:none!important}body{background:#fff}.container{max-width:none;padding:0}}.focus-visible{outline:2px solid #2196f3;outline-offset:2px}.error-text{color:#f44336}.error-text,.success-text{font-size:.875rem;margin-top:4px}.success-text{color:#4caf50}.skeleton{animation:loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}