:root{--brand-primary:#008752;--brand-secondary:#7ac142;--brand-accent:#ffc423;--brand-dark:#2d2926;--brand-light:#f0f8f4;--text-main:#2d2926;--text-muted:#53565a;--white:#fff;--radius:16px;--shadow:0 8px 32px #0000001a;--transition:.25s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--brand-light);color:var(--text-main);min-height:100vh;font-family:Red Hat Display,Inter,Segoe UI,sans-serif}#root{flex-direction:column;min-height:100vh;display:flex}.btn-primary{background:linear-gradient(135deg, var(--brand-primary), #00a85e);color:var(--white);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition);border:none;border-radius:50px;padding:14px 32px;font-family:Red Hat Display,sans-serif;font-size:1rem;font-weight:700;box-shadow:0 4px 15px #00875259}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #00875273}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{color:var(--brand-primary);border:2px solid var(--brand-primary);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:50px;padding:12px 28px;font-family:Red Hat Display,sans-serif;font-size:1rem;font-weight:700}.btn-secondary:hover{background:var(--brand-primary);color:var(--white)}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:700px;margin:0 auto;padding:2.5rem}.input-group{flex-direction:column;gap:6px;margin-bottom:1.2rem;display:flex}.input-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:600}.input-group input,.input-group select{color:var(--text-main);transition:border-color var(--transition);background:#fafafa;border:2px solid #e5e7eb;border-radius:12px;outline:none;padding:13px 16px;font-size:1rem}.input-group input:focus,.input-group select:focus{border-color:var(--brand-primary);background:var(--white)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:var(--brand-secondary);border-radius:3px}.progress-wrapper{width:100%;max-width:700px;margin:0 auto 2rem;padding:0 1rem}.progress-steps{z-index:1;justify-content:space-between;margin-bottom:10px;display:flex;position:relative}.step-dot-wrapper{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.step-dot{color:#9ca3af;background:#e5e7eb;border:3px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.85rem;font-weight:700;transition:all .3s;display:flex}.step-dot-wrapper.done .step-dot{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.step-dot-wrapper.active .step-dot{color:var(--brand-primary);border-color:var(--brand-primary);background:#fff;box-shadow:0 0 0 4px #e85d0426}.step-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;text-align:center;font-size:.72rem;font-weight:600}.step-dot-wrapper.active .step-label,.step-dot-wrapper.done .step-label{color:var(--brand-primary)}.progress-track{background:#e5e7eb;border-radius:10px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--brand-primary), var(--brand-secondary));border-radius:10px;height:100%;transition:width .5s}.privacy-wrapper{flex-direction:column;align-items:center;gap:1.5rem;padding:2rem 1rem;display:flex}.privacy-header{text-align:center}.welcome-logo{background:#fff;border-radius:16px;justify-content:center;margin-bottom:1rem;padding:16px 24px;display:inline-flex;box-shadow:0 4px 16px #0087521f}.privacy-title{color:var(--brand-dark);margin-bottom:.3rem;font-size:2.2rem;font-weight:800}.privacy-subtitle{color:var(--text-muted);max-width:920px;font-size:1.05rem;font-weight:400;line-height:1.65}.privacy-subtitle p{margin:.5rem 0}.privacy-card h2{color:var(--brand-dark);margin-bottom:.5rem;font-size:1.4rem;font-weight:700}.privacy-intro{color:var(--text-muted);margin-bottom:1.2rem;line-height:1.6}.policy-box{max-height:280px;color:var(--text-main);background:#f0f8f4;border:1.5px solid #b2dfc5;border-radius:12px;margin-bottom:1.5rem;padding:1.4rem;font-size:.92rem;line-height:1.7;overflow-y:auto}.policy-box h3{color:var(--brand-primary);margin-bottom:.8rem;font-size:1rem;font-weight:700}.policy-box ul{flex-direction:column;gap:.5rem;margin:.8rem 0;padding-left:1.4rem;display:flex}.policy-box p{margin-bottom:.6rem}.accept-label{cursor:pointer;color:var(--text-main);align-items:flex-start;gap:12px;margin-bottom:1.5rem;font-size:.95rem;line-height:1.5;display:flex}.accept-label input[type=checkbox]{width:20px;min-width:20px;height:20px;accent-color:var(--brand-primary);cursor:pointer;margin-top:2px}.required-asterisk{color:#d92d20;font-weight:800}.captcha-section{background:#fafcfa;border:1px solid #d9e3dd;border-radius:12px;margin-bottom:1.2rem;padding:12px}.captcha-label{color:var(--brand-dark);margin-bottom:10px;font-size:.9rem;font-weight:700}.captcha-info{color:var(--text-muted);font-size:.88rem}.captcha-widget{min-height:78px}.captcha-error{color:#b42318;margin-top:8px;font-size:.86rem;font-weight:600}.captcha-ok{color:#1d7a35;margin-top:8px;font-size:.86rem;font-weight:600}.privacy-btn{width:100%;padding:15px;font-size:1.05rem}.userinfo-wrapper{padding:1rem}.step-header{text-align:center;margin-bottom:2rem}.step-icon{margin-bottom:.6rem;font-size:2.8rem}.step-header h2{color:var(--brand-dark);margin-bottom:.4rem;font-size:1.7rem;font-weight:800}.step-desc{color:var(--text-muted);font-size:.95rem;line-height:1.6}.categories-wrapper{padding:1rem}.categories-card{max-width:780px}.categories-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:1.5rem;display:grid}@media (width<=600px){.categories-grid{grid-template-columns:repeat(2,1fr)}}.category-card{cursor:pointer;text-align:center;background:#f9fafb;border:2.5px solid #e5e7eb;border-radius:16px;padding:1.2rem .8rem;transition:all .25s;position:relative;overflow:hidden}.category-card:before{content:"";background:var(--cat-gradient);opacity:0;transition:opacity .25s;position:absolute;inset:0}.category-card:hover{border-color:var(--cat-color);transform:translateY(-3px);box-shadow:0 8px 24px #0000001f}.category-card.selected{border-color:var(--cat-color);box-shadow:0 8px 24px #00000026}.category-card.selected:before{opacity:1}.cat-emoji{z-index:1;filter:drop-shadow(0 2px 4px #0000001a);margin-bottom:.5rem;font-size:2.5rem;position:relative}.cat-name{color:var(--text-main);z-index:1;font-size:1rem;font-weight:800;transition:color .25s;position:relative}.category-card.selected .cat-name{color:#fff}.cat-subs{color:var(--text-muted);z-index:1;margin-top:4px;font-size:.72rem;line-height:1.4;transition:color .25s;position:relative}.category-card.selected .cat-subs{color:#ffffffd9}.cat-check{width:22px;height:22px;color:var(--cat-color);opacity:0;z-index:2;background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:800;transition:all .25s;display:flex;position:absolute;top:8px;right:10px;transform:scale(.5)}.category-card.selected .cat-check{opacity:1;transform:scale(1)}.subcategories-box{background:#fafafa;border:2px solid;border-radius:12px;margin-bottom:1rem;padding:1rem}.subs-title{margin-bottom:.7rem;font-size:.85rem;font-weight:600}.subs-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:#fff;border-radius:50px;padding:4px 12px;font-size:.78rem;font-weight:600}.error-msg{color:#b91c1c;background:#fff0f0;border:1.5px solid #fca5a5;border-radius:10px;margin-bottom:1rem;padding:10px 14px;font-size:.9rem}.questions-wrapper{padding:1rem}.questions-card{max-width:720px}.questions-list{flex-direction:column;gap:16px;margin-bottom:1.5rem;display:flex}.voice-question{background:#fafafa;border:2px solid #e5e7eb;border-radius:14px;padding:1.2rem;transition:border-color .25s,background .25s}.voice-question.recording{background:#fff5f5;border-color:#ef4444}.voice-question.done{background:#f0fdf4;border-color:#22c55e}.voice-question.error{background:#fffbeb;border-color:#f59e0b}.vq-header{align-items:flex-start;gap:12px;margin-bottom:1rem;display:flex}.vq-emoji{flex-shrink:0;margin-top:2px;font-size:1.8rem}.vq-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-size:.95rem;font-weight:700}.vq-text{color:var(--text-main);font-size:1rem;line-height:1.5}.answer-mode-toggle{gap:8px;margin-bottom:.8rem;display:flex}.mode-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:700}.mode-btn.active{border-color:var(--brand-primary);color:var(--brand-primary);background:#e8f5ee}.vq-controls{align-items:center;gap:12px;display:flex}.rec-btn{cursor:pointer;border:none;border-radius:50px;padding:10px 20px;font-size:.9rem;font-weight:700;transition:all .2s}.rec-btn.start{background:linear-gradient(135deg, var(--brand-primary), #00a85e);color:#fff;box-shadow:0 4px 12px #0087524d}.rec-btn.start:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00875266}.rec-btn.stop{color:#fff;background:#ef4444;box-shadow:0 4px 12px #ef44444d}.rec-btn.stop:hover{background:#dc2626}.recording-active{align-items:center;gap:14px;display:flex}.pulse-ring{background:#ef4444;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:1.2s infinite pulse;box-shadow:0 0 #ef444480}@keyframes pulse{0%{box-shadow:0 0 #ef444480}70%{box-shadow:0 0 0 10px #ef444400}to{box-shadow:0 0 #ef444400}}.rec-timer{color:#ef4444;font-variant-numeric:tabular-nums;min-width:42px;font-size:1.1rem;font-weight:700}.vq-status{align-items:center;gap:12px;font-size:.9rem;display:flex}.vq-status.uploading{color:var(--text-muted)}.vq-status.done{color:#15803d}.vq-status.error{color:#b45309}.done-check{color:#fff;background:#22c55e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.3rem;font-weight:800;display:flex}.done-text{margin-bottom:6px;font-weight:700}.audio-player{width:220px;height:34px}.text-answer-box{flex-direction:column;gap:10px;width:100%;display:flex}.text-answer-box textarea{resize:vertical;border:1.5px solid #d1d5db;border-radius:10px;width:100%;min-height:90px;padding:10px 12px;font-family:inherit;font-size:.9rem}.interest-options{flex-direction:column;gap:10px;margin-bottom:10px;display:flex}.interest-option{background:#fff;border:2px solid #d1d5db;border-radius:12px;padding:8px}.interest-option-trigger{cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:6px;display:flex}.interest-title{text-align:left;align-items:center;gap:8px;font-size:.9rem;font-weight:800;display:flex}.interest-icon{font-size:1rem}.interest-status{color:var(--text-muted);font-size:.8rem;font-weight:700}.interest-option textarea{resize:vertical;border:1.5px solid #d1d5db;border-radius:10px;width:100%;min-height:90px;margin-top:8px;padding:10px 12px;font-family:inherit;font-size:.9rem}.interest-option.active{box-shadow:0 4px 14px #00000014}.interest-industria{background:#ecfdf5;border-color:#065f46}.interest-industria .interest-title{color:#065f46}.interest-food{background:#fffbeb;border-color:#d97706}.interest-food .interest-title{color:#b45309}.interest-ia{background:#f3f4f6;border-color:#6b7280}.interest-ia .interest-title{color:#374151}.interest-otros{background:#eff6ff;border-color:#2563eb}.interest-otros .interest-title{color:#1d4ed8}.text-preview{color:#14532d;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:8px;padding:8px 10px;font-size:.86rem;line-height:1.5}.interests-ok{color:#15803d;margin:0;font-size:.9rem;font-weight:600}.interests-error{color:#b45309;margin:0;font-size:.9rem;font-weight:600}.spinner{border:3px solid #e5e7eb;border-top-color:var(--brand-primary);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.responses-count{background:#e5e7eb;border-radius:50px;height:8px;margin-bottom:.6rem;position:relative;overflow:hidden}.responses-bar{background:linear-gradient(90deg, var(--brand-primary), var(--brand-secondary));border-radius:50px;height:100%;transition:width .5s}.responses-count span{text-align:center;color:var(--text-muted);margin-top:6px;margin-bottom:1rem;font-size:.8rem;display:block}.step-actions{justify-content:space-between;gap:12px;margin-top:1rem;display:flex}.success-wrapper{justify-content:center;align-items:center;min-height:70vh;padding:2rem 1rem;display:flex}.success-card{text-align:center;background:#fff;border-radius:24px;width:100%;max-width:520px;padding:3.5rem 2.5rem;box-shadow:0 20px 60px #0000001f}.success-circle{width:90px;height:90px;margin:0 auto 2rem}.checkmark{width:90px;height:90px}.checkmark__circle{stroke:var(--brand-primary);stroke-width:2.5px;stroke-dasharray:166;stroke-dashoffset:166px;animation:.6s cubic-bezier(.65,0,.45,1) forwards stroke}.checkmark__check{stroke:var(--brand-primary);stroke-width:2.5px;stroke-dasharray:48;stroke-dashoffset:48px;animation:.4s cubic-bezier(.65,0,.45,1) .6s forwards stroke}@keyframes stroke{to{stroke-dashoffset:0}}.success-title{color:var(--brand-dark);margin-bottom:1rem;font-size:2.2rem;font-weight:900}.success-msg{color:var(--text-muted);margin-bottom:1.5rem;font-size:1rem;line-height:1.7}.success-divider{background:linear-gradient(90deg, transparent, var(--brand-primary), var(--brand-secondary), var(--brand-accent), transparent);border-radius:10px;height:3px;margin:1.5rem 0}.success-restart-btn{margin-bottom:1.5rem}.success-footer{flex-direction:column;align-items:center;gap:6px;display:flex}.success-tagline{color:var(--text-muted);font-size:.85rem;font-style:italic;font-weight:500}.app-shell{background:linear-gradient(160deg,#f0f8f4 0%,#e8f5ee 50%,#f0f8f4 100%);flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:100;background:#fff;border-bottom:2px solid #c8e6d4;position:sticky;top:0;box-shadow:0 2px 12px #00875214}.header-inner{justify-content:space-between;align-items:center;max-width:800px;margin:0 auto;padding:12px 24px;display:flex}.brand{align-items:center;display:flex}.brand-tagline{color:var(--text-muted);letter-spacing:.03em;margin-top:-2px;font-size:.7rem;font-weight:500}.step-indicator{color:var(--brand-primary);background:#e8f5ee;border:1.5px solid #b2dfc5;border-radius:50px;padding:5px 14px;font-family:Red Hat Display,sans-serif;font-size:.82rem;font-weight:700}.progress-container{width:100%;max-width:800px;margin:24px auto 0;padding:0 24px}.app-main{flex:1;padding:24px 16px 48px}.app-footer{text-align:center;color:var(--text-muted);background:#fff;border-top:2px solid #c8e6d4;padding:20px;font-size:.78rem}.footer-logo{justify-content:center;align-items:center;gap:8px;margin-bottom:4px;display:flex}
