:root{--color-bg:#f5f7fb;--color-surface:#fff;--color-text:#1f2937;--color-text-muted:#6b7280;--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-border:#e5e7eb;--color-accent:#eef2ff;--shadow-sm:0 1px 2px #1118270d;--shadow-md:0 8px 24px #11182714;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--color-bg:#0f172a;--color-surface:#1e293b;--color-text:#f1f5f9;--color-text-muted:#94a3b8;--color-primary:#818cf8;--color-primary-hover:#a5b4fc;--color-border:#334155;--color-accent:#1e293b;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 8px 24px #00000059}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{min-height:100svh;margin:0}h1,h2,h3{color:var(--color-text);margin:0;line-height:1.2}p{color:var(--color-text-muted);margin:0}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit;font-size:1rem}.app{flex-direction:column;min-height:100svh;display:flex}.app-header{border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.app-header .brand{align-items:center;text-decoration:none;display:flex}.brand-logo{align-items:center;display:flex}.brand-logo img{display:block}.user-menu{position:relative}.user-menu-trigger{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:4px 6px;transition:background-color .15s;display:flex}.user-menu-trigger:hover{background:var(--color-accent)}.user-menu-nickname{color:var(--color-text-muted);font-size:1.2rem;font-weight:500}.user-avatar{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.user-avatar svg{width:36px;height:36px}.user-menu-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:160px;box-shadow:var(--shadow-md);z-index:100;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.user-menu-item{text-align:left;width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:10px 16px;font-size:.9rem;font-weight:500;transition:background-color .12s;display:block}.user-menu-item:hover{background:var(--color-accent)}.user-menu-item--danger{color:#dc2626}.user-menu-item--danger:hover{background:#fef2f2}@media (prefers-color-scheme:dark){.user-menu-item--danger{color:#fca5a5}.user-menu-item--danger:hover{background:#dc262626}}.app-footer{border-top:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;gap:20px;padding:16px 24px;display:flex}.footer-logo{flex-shrink:0;align-items:center;display:flex}.footer-logo img{display:block}.footer-institution{color:var(--color-text-muted);text-align:center;margin:0;font-size:clamp(.6rem,1.2vw,.78rem);line-height:1.4}.footer-legal{color:var(--color-text-muted);margin-bottom:1em;font-size:clamp(.6rem,1.2vw,.78rem);line-height:1;text-decoration:none;display:block}.footer-legal:last-child{margin-bottom:0}.footer-legal:hover{text-decoration:underline}.legal{flex-direction:column;gap:16px;display:flex}.legal h1{font-size:clamp(1.4rem,4vw,1.8rem)}.legal ol li{color:var(--color-text-muted)}.btn-sm{border-radius:var(--radius-sm);min-height:0;padding:6px 12px;font-size:.9rem}.app-main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:24px 20px 48px}@media (width>=768px){.app-main{padding:48px 24px 64px}}.btn{border-radius:var(--radius-md);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 20px;font-size:1rem;font-weight:500;text-decoration:none;transition:background-color .2s,transform 50ms,box-shadow .2s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{color:var(--color-text);border-color:var(--color-border);background:0 0}.btn-secondary:hover{background:var(--color-accent)}.btn-block{width:100%}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px}@media (width>=768px){.card{padding:40px}}.home{text-align:center;flex-direction:column;align-items:center;gap:24px;display:flex}.home h1{letter-spacing:-.02em;font-size:clamp(1.75rem,5vw,2.5rem)}.home p{max-width:52ch;font-size:1.05rem}.home .cta{width:100%;max-width:320px;margin-top:8px}.home-actions{flex-direction:column;gap:12px;width:100%;max-width:320px;margin:8px auto 0;display:flex}.home-actions .btn{width:100%}.survey{position:relative}.answered-badge{color:var(--color-text-muted);pointer-events:none;font-size:.72rem;line-height:1;position:absolute;top:16px;right:20px}.answered-num{color:var(--color-primary);font-weight:700}@media (width>=768px){.answered-badge{top:22px;right:28px}}.survey h1{margin-bottom:8px;font-size:clamp(1.5rem,4vw,2rem)}.survey .subtitle{margin-bottom:28px}.survey-form{flex-direction:column;gap:24px;display:flex}.field{flex-direction:column;gap:10px;display:flex}.field>.label{color:var(--color-text);font-weight:500}.field input[type=text],.field input[type=password],.field textarea,.field select{background:var(--color-surface);width:100%;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;padding:12px 14px;transition:border-color .15s,box-shadow .15s}.field input[type=text]:focus,.field input[type=password]:focus,.field textarea:focus,.field select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-accent)}.field textarea{resize:vertical;min-height:120px}.options{flex-direction:column;gap:8px;display:flex}.option{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;padding:12px 14px;transition:border-color .15s,background-color .15s;display:flex}.option:hover{background:var(--color-accent)}.option input{appearance:none;border:2px solid var(--color-border);cursor:pointer;background:0 0;border-radius:50%;flex:0 0 20px;width:20px;height:20px;transition:border-color .12s,box-shadow .12s,background-color .12s;display:inline-block;position:relative}.option input:checked{border-color:var(--color-primary);background:var(--color-primary)}.option input:after{content:"";opacity:0;background:#fff;border-radius:50%;width:9px;height:9px;transition:opacity .12s,transform .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.option input:checked:after{opacity:1}.option input:focus{box-shadow:0 0 0 3px var(--color-accent);outline:none}.options-inline{flex-direction:row;gap:20px}.consent-check{cursor:pointer;color:var(--color-text-muted);align-items:flex-start;gap:12px;font-size:.875rem;line-height:1.5;display:flex}.consent-check input[type=checkbox]{appearance:none;border:2px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;width:20px;height:20px;margin-top:2px;transition:border-color .12s,background-color .12s;position:relative}.consent-check input[type=checkbox]:checked{border-color:var(--color-primary);background:var(--color-primary)}.consent-check input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-top:none;border-left:none;width:6px;height:10px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.consent-check input[type=checkbox]:focus{box-shadow:0 0 0 3px var(--color-accent);outline:none}.consent-link{color:inherit;text-decoration:underline}.options-inline .option{background:0 0;border:none;border-radius:0;padding:0}.options-inline .option:hover{background:0 0}.actions{flex-direction:column-reverse;gap:12px;margin-top:8px;display:flex}@media (width>=600px){.actions{flex-direction:row;justify-content:flex-end}.actions .btn{width:auto}}.thanks{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.contexto{background:var(--color-accent);border-radius:var(--radius-sm);border-left:3px solid var(--color-primary);margin-bottom:20px;padding:16px}.contexto-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.contexto h2{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:0;font-size:.85rem;font-weight:600}.info-tooltip-wrapper{align-items:center;display:flex;position:relative}.info-btn{border:1.5px solid var(--color-primary);width:16px;height:16px;color:var(--color-primary);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.65rem;font-style:italic;font-weight:700;line-height:1;transition:background-color .15s,color .15s;display:flex}.info-btn:hover{background:var(--color-text-muted);color:var(--color-surface)}.info-popup{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:200;white-space:normal;min-width:200px;padding:12px 32px 12px 16px;font-size:.85rem;line-height:1.7;position:absolute;top:calc(100% + 6px);left:0}.info-popup p{margin:0}.info-popup strong{color:var(--color-primary)}.info-popup-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:0 2px;font-size:1.1rem;line-height:1;transition:color .15s;position:absolute;top:6px;right:8px}.info-popup-close:hover{color:var(--color-text)}.contexto-text{color:var(--color-text);line-height:1.6}.keyword{color:var(--color-primary);font-weight:700}.form-error{color:#dc2626;margin:0;font-size:.9rem}.field-error{color:#dc2626;margin-left:8px;font-size:.8rem;font-weight:400}.field input.input-error,.field input.input-error:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc262626}@media (prefers-color-scheme:dark){.form-error,.field-error{color:#fca5a5}.field input.input-error,.field input.input-error:focus{border-color:#f87171;box-shadow:0 0 0 3px #f8717133}}.home{padding-bottom:44px;position:relative}.ver-tutorial-btn{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;font-size:.72rem;display:flex;position:absolute;bottom:16px;right:20px}.ver-tutorial-btn:hover{text-decoration:underline}@media (width>=768px){.ver-tutorial-btn{bottom:20px;right:24px}}.tutorial{flex-direction:column;gap:20px;display:flex}.tutorial h1{font-size:clamp(1.4rem,4vw,2rem)}.tutorial p{font-size:1rem;line-height:1.65}.tutorial-example{background:var(--color-accent);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);padding:14px 16px}.tutorial-example-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:8px;font-size:.75rem;font-weight:600}.tutorial-example-text{color:var(--color-text);margin-bottom:12px;font-size:.95rem}.tutorial-options-preview{flex-direction:column;gap:6px;display:flex}.tutorial-option-row{color:var(--color-text-muted);align-items:center;gap:10px;font-size:.9rem;display:flex}.tutorial-option-row--selected{color:var(--color-text);font-weight:500}.tutorial-radio{border:2px solid var(--color-border);border-radius:50%;flex-shrink:0;width:16px;height:16px;display:inline-block}.tutorial-radio--selected{border-color:var(--color-primary);background:var(--color-primary)}.tutorial-tips{flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.tutorial-tips li{color:var(--color-text-muted);font-size:.95rem;line-height:1.5}.tutorial-check{margin-top:4px}.tutorial-actions{justify-content:flex-end;gap:12px;width:100%;margin-top:8px;display:flex}.tutorial-actions .btn{min-width:140px}
