:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;line-height:1.6;font-weight:400;color:#111827;background-color:#f3f4f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#f3f4f6}#root{min-height:100vh}.app-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:linear-gradient(135deg,#f3f4f6,#e5ecfd)}.card{width:min(640px,100%);background:#fff;border-radius:24px;box-shadow:0 18px 40px #0f172a1f;padding:32px;display:flex;flex-direction:column;gap:24px}.progress{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;text-align:right;margin:0}.step-content{flex:1;display:flex;flex-direction:column;gap:24px}.banner-step{width:100%}.banner-image{position:relative;height:240px;border-radius:20px;background-position:center;background-size:cover;overflow:hidden;display:flex;align-items:flex-end}.banner-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0f172a0d,#0f172aa6)}.banner-text{position:relative;color:#fff;padding:32px}.banner-text h1{margin:0 0 8px;font-size:1.9rem}.banner-text p{margin:0;font-size:1.05rem;line-height:1.5}.step-body h2{font-size:1.5rem;margin:0 0 16px;color:#1f2937}.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.option-button{padding:16px;border-radius:14px;border:1px solid #d1d5db;background:#f9fafb;font-size:1rem;font-weight:500;color:#1f2937;transition:all .2s ease;cursor:pointer}.option-button:hover{border-color:#6366f1;background:#eef2ff}.option-button.selected{border-color:#4f46e5;background:#eef2ff;color:#312e81;box-shadow:0 10px 22px #4f46e52e}.text-input{width:100%;padding:14px 16px;font-size:1rem;border:1px solid #d1d5db;border-radius:12px;background:#f9fafb;transition:border-color .2s ease,box-shadow .2s ease}.text-input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 4px #4f46e526;background:#fff}.navigation{display:flex;justify-content:space-between;align-items:center}.nav-button{padding:12px 24px;font-size:1rem;font-weight:600;border-radius:12px;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}.nav-button.primary{background:#4f46e5;color:#fff;box-shadow:0 12px 24px #4f46e540}.nav-button.primary:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed}.nav-button.primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 16px 30px #4f46e54d}.nav-button.secondary{background:#e5e7eb;color:#1f2937}.nav-button.secondary:hover{background:#d1d5db}.review-list{display:grid;gap:12px;background:#f9fafb;border-radius:16px;padding:20px}.review-list div{display:flex;justify-content:space-between;align-items:center;font-size:.98rem;color:#1f2937}.review-list span{color:#6b7280}.review-list strong{color:#111827;font-weight:600;margin-left:12px}.status-message{padding:14px 18px;border-radius:12px;font-size:.95rem;display:flex;flex-direction:column;gap:4px}.status-message.success{background:#ecfdf5;color:#047857;border:1px solid #10b981}.status-message.error{background:#fef2f2;color:#b91c1c;border:1px solid #f87171}.status-message small{color:inherit;opacity:.8}@media(max-width:640px){.card{padding:24px;border-radius:20px}.banner-image{height:200px}.banner-text{padding:24px}.step-body h2{font-size:1.3rem}}
