
:root{--blue:#0d5287;--green:#249f3e;--lime:#abd42c;--sky:#89d2ee;--sky2:#179be7;--text:#0d5287;--muted:#7399b6;--line:#8db7d3;--soft:#f1f1f1;--white:#fff;--danger:#a82820;--row:46px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Google Sans Flex",Arial,sans-serif;color:var(--text);background:#fff}body{min-height:100dvh}.app-shell{width:min(100%,760px);min-height:100dvh;margin:0 auto;background:#fff;position:relative}.app-header{padding:26px 42px 0;height:126px}.brand-logo{display:block;width:178px;height:auto}.progress{height:2px;background:#b5d1e1;margin-top:18px;overflow:hidden;width:100%}.progress span{display:block;width:0;height:100%;background:var(--blue);transition:width .2s}.stepcount{text-align:right;font-size:16px;font-weight:460;color:var(--blue);margin-top:9px;min-height:20px}.step{display:none;min-height:calc(100dvh - 126px);padding:115px 42px 34px;flex-direction:column}.step.active{display:flex}.content{width:100%;max-width:676px}.eyebrow{font-size:19px;line-height:1.1;font-weight:520;letter-spacing:0;color:var(--green);margin:0 0 28px;text-transform:uppercase}h1,h2{font-weight:760;letter-spacing:-.045em;color:var(--blue);margin:0}h1{font-size:72px;line-height:.91}h2{font-size:64px;line-height:.96;max-width:680px}.lead{font-size:27px;line-height:1.35;color:var(--blue);font-weight:340;margin:26px 0 0;max-width:680px}.bottom{margin-top:auto;padding-top:42px}.actions{display:grid;grid-template-columns:205px 1fr;gap:12px}.primary,.secondary{border:0;border-radius:9px;min-height:64px;padding:0 22px;font:760 22px "Google Sans Flex",Arial,sans-serif;cursor:pointer}.primary{background:#59c786;color:#fff;width:100%}.secondary{background:#ededed;color:#1b1b1b}.demo{display:inline-block;margin-top:22px;padding:8px 12px;border-radius:6px;background:#fff4c9;color:#6d5600;font-weight:700;font-size:12px}
.field{display:block;margin-top:34px;color:var(--blue);font-weight:720;font-size:20px}.field>span{display:block;margin-bottom:12px}.field em{font-style:normal;font-weight:300;color:#4f7b9c}.field input{width:100%;height:70px;border:1px solid #b5cbd7;border-radius:12px;padding:0 22px;font:350 24px "Google Sans Flex",Arial,sans-serif;color:#153f5e;outline:none;background:#fff}.field input::placeholder{font-weight:280;color:#7990a0;opacity:1}.field input:focus{border-color:var(--blue);box-shadow:0 0 0 2px rgba(13,82,135,.05)}
.photo-zone,.credential-zone{margin-top:24px}.upload-panel{border:1px solid var(--line);padding:20px 28px;border-radius:4px}.upload-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px}.file-button{min-height:62px;border-radius:8px;display:flex;align-items:center;justify-content:center;font:700 22px "Google Sans Flex",Arial,sans-serif;cursor:pointer;border:0;padding:0 20px}.file-button.take-photo{background:var(--sky);color:var(--blue)}.file-button.choose-photo{background:var(--sky2);color:#fff}.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.profile-preview{min-height:300px;display:grid;place-items:center;padding-top:20px}.profile-placeholder{width:220px;height:220px;border-radius:50%;background:#f5f8f9;border:1px solid #c6d7df;display:grid;place-items:center;color:#8ca8b6;font-size:58px}.profile-image{width:310px;height:310px;border-radius:50%;object-fit:cover;border:1px solid var(--blue);display:block}.credential-preview{margin-top:18px;border:1px solid var(--line);border-radius:4px;min-height:322px;padding:20px;display:flex;align-items:center;justify-content:center}.credential-placeholder{width:100%;min-height:280px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9fb5c0;gap:12px}.credential-placeholder i{font-size:54px}.credential-image{display:block;max-width:90%;max-height:280px;width:auto;height:auto;object-fit:contain}.file-state{margin-top:22px;min-height:54px}.file-state.loading,.file-state.error{padding:12px 0;font-size:17px}.file-state.error{color:var(--danger)}.file-state.ready{display:block;padding:0;border:0}.file-state.ready strong,.file-state.ready span{display:block}.file-state.ready strong{font-size:20px;color:var(--blue);font-weight:650}.file-state.ready span{font-size:18px;color:#7aa1bc;font-weight:300;margin-top:1px}
.wheel-head{display:grid;grid-template-columns:1.35fr .65fr .85fr;gap:0;margin:72px auto 4px;max-width:430px;color:#7d9fb5;font-size:11px;font-weight:520;text-align:center;letter-spacing:.04em}.picker{position:relative;margin:0 auto;overflow:hidden}.picker-date{display:grid;grid-template-columns:1.35fr .65fr .85fr;max-width:430px;height:230px}.picker-single{max-width:430px;height:230px;margin-top:58px}.picker-column{height:230px;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain;padding:92px 0}.picker-column::-webkit-scrollbar{display:none}.picker-option{display:block;width:100%;height:var(--row);scroll-snap-align:center;border:0;background:transparent;color:#bed2de;font:650 20px "Google Sans Flex",Arial,sans-serif;text-align:center;padding:0 4px;transition:color .12s,font-size .12s;white-space:nowrap}.picker-option.selected{color:var(--blue);font-size:23px;font-weight:740}.picker-highlight{position:absolute;z-index:2;left:0;right:0;top:92px;height:var(--row);border:1px solid var(--line);pointer-events:none}.picker-date .picker-column{z-index:1}.benefit-picker .picker-option{font-size:18px}.benefit-picker .picker-option.selected{font-size:22px}.benefit-picker{max-width:500px}
.privacy-link{display:flex;align-items:center;justify-content:center;margin:42px auto 26px;min-height:64px;border-radius:8px;background:#8dd900;color:#fff;text-decoration:none;font-size:22px;font-weight:700;max-width:620px}.consent{display:flex;align-items:flex-start;gap:22px;padding:14px 58px;color:var(--blue);cursor:pointer}.consent input{appearance:none;-webkit-appearance:none;width:32px;height:32px;border-radius:5px;border:0;background:#0c639c;flex:0 0 auto;margin:2px 0 0;position:relative}.consent input:checked:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:21px;font-weight:800}.consent-copy{display:block}.consent-copy strong,.consent-copy small{display:block}.consent-copy strong{font-size:20px;line-height:1.2;font-weight:660}.consent-copy small{font-size:18px;line-height:1.3;font-weight:280;color:#76a0bd;margin-top:2px}.hidden{display:none!important}
.form-error{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:11000;width:min(90%,580px);padding:14px 18px;border-radius:8px;background:#a62820;color:#fff;font-size:14px;font-weight:650;box-shadow:0 8px 24px #0002}
.camera-modal{display:none;position:fixed;inset:0;background:#000;z-index:10000}.camera-modal.open{display:block}.camera-ui{height:100dvh;width:100%;background:#000;color:#fff;display:flex;flex-direction:column}.camera-top{height:82px;padding:max(12px,env(safe-area-inset-top)) 14px 8px;display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center;background:#080808}.camera-top button{width:36px;height:36px;border-radius:50%;border:0;background:#252525;color:#fff;font-size:17px}.camera-top strong,.camera-top span{display:block}.camera-top strong{font-size:14px;letter-spacing:.04em}.camera-top span{font-size:10px;color:#b9b9b9;margin-top:2px}.camera-stage{position:relative;flex:1;overflow:hidden}.camera-stage video{width:100%;height:100%;object-fit:cover}.camera-guide{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(58vw,390px);height:auto;aspect-ratio:1/1.586;border:1px solid #fff;border-radius:12px;box-shadow:0 0 0 9999px rgba(0,0,0,.38)}.camera-guide span{position:absolute;width:34px;height:34px;border-color:#65ef8b;border-style:solid}.camera-guide span:nth-child(1){left:-2px;top:-2px;border-width:4px 0 0 4px;border-radius:10px 0 0}.camera-guide span:nth-child(2){right:-2px;top:-2px;border-width:4px 4px 0 0;border-radius:0 10px 0 0}.camera-guide span:nth-child(3){left:-2px;bottom:-2px;border-width:0 0 4px 4px;border-radius:0 0 0 10px}.camera-guide span:nth-child(4){right:-2px;bottom:-2px;border-width:0 4px 4px 0;border-radius:0 0 10px}.camera-message{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);max-width:88%;padding:8px 12px;border-radius:999px;background:#000b;font-size:11px;text-align:center;white-space:normal}.camera-bottom{height:112px;padding:12px 20px max(14px,env(safe-area-inset-bottom));display:grid;place-items:center;background:#080808;position:relative}.shutter{width:68px;height:68px;border-radius:50%;border:3px solid #fff;background:transparent;padding:5px}.shutter span{display:block;width:100%;height:100%;border-radius:50%;background:#fff}.camera-cancel{position:absolute;right:22px;border:0;background:transparent;color:#fff;font:600 12px "Google Sans Flex",Arial,sans-serif}.camera-ready{border-color:#65ef8b!important}
@media(max-width:620px){
 body{background:#fff;overflow-x:hidden}.app-shell{width:100%;min-height:100dvh}.app-header{height:96px;padding:19px 24px 0}.brand-logo{width:164px;max-width:44vw}.progress{margin-top:11px;height:2px}.stepcount{font-size:14px;margin-top:7px}.step{min-height:calc(100dvh - 96px);padding:76px 36px 16px}.content{max-width:none}.eyebrow{font-size:16px;margin-bottom:23px}h1{font-size:clamp(58px,15.2vw,68px);line-height:.9}h2{font-size:clamp(42px,11.8vw,54px);line-height:.94}.lead{font-size:20px;line-height:1.36;margin-top:23px}.field{margin-top:28px;font-size:16px}.field>span{margin-bottom:9px}.field input{height:62px;border-radius:12px;padding:0 17px;font-size:20px;font-weight:330}.field input::placeholder{font-size:19px;font-weight:260;color:#7d8990}.bottom{padding-top:26px;padding-bottom:calc(4px + env(safe-area-inset-bottom))}.actions{grid-template-columns:132px 1fr;gap:10px}.primary,.secondary{min-height:54px;border-radius:8px;font-size:17px;padding:0 12px}.upload-panel{padding:12px 14px}.upload-actions{gap:10px}.file-button{min-height:48px;border-radius:7px;font-size:15px}.profile-preview{min-height:220px;padding-top:12px}.profile-placeholder{width:146px;height:146px;font-size:42px}.profile-image{width:200px;height:200px}.credential-preview{min-height:205px;padding:12px}.credential-placeholder{min-height:180px}.credential-image{max-height:190px;max-width:94%}.file-state{margin-top:16px;min-height:46px}.file-state.ready strong{font-size:15px}.file-state.ready span{font-size:14px}.wheel-head{margin-top:38px;max-width:340px;font-size:9px}.picker-date,.picker-single{height:230px;max-width:340px}.picker-single{margin-top:36px}.picker-column{height:230px;padding:92px 0}.picker-option{font-size:17px}.picker-option.selected{font-size:20px}.benefit-picker .picker-option{font-size:15px}.benefit-picker .picker-option.selected{font-size:18px}.privacy-link{min-height:52px;margin:30px 0 18px;font-size:16px}.consent{gap:13px;padding:12px 12px}.consent input{width:25px;height:25px}.consent input:checked:after{font-size:16px}.consent-copy strong{font-size:15px}.consent-copy small{font-size:14px}.form-error{bottom:86px;font-size:13px}
}
@media(max-width:390px){.app-header{padding-left:20px;padding-right:20px}.step{padding-left:28px;padding-right:28px}h1{font-size:55px}h2{font-size:41px}.lead{font-size:18px}.actions{grid-template-columns:118px 1fr}.primary,.secondary{font-size:15px}.field input{font-size:18px}.field input::placeholder{font-size:17px}.profile-image{width:180px;height:180px}.wheel-head,.picker-date,.picker-single{max-width:320px}}
@media(max-height:760px) and (max-width:620px){.step{padding-top:46px}.eyebrow{margin-bottom:17px}.lead{margin-top:17px}.field{margin-top:20px}.wheel-head{margin-top:25px}.picker-single{margin-top:25px}.profile-preview{min-height:176px}.profile-image{width:154px;height:154px}.credential-preview{min-height:180px}.credential-placeholder{min-height:156px}.credential-image{max-height:165px}.bottom{padding-top:18px}}

/* 3.0.3: faithful birthday/contact corrections */
.optional-title{font-weight:320;font-size:.48em;letter-spacing:0;white-space:nowrap}
.step[data-key="birthday"] .picker-date{margin-top:46px;height:138px;overflow:hidden}
.step[data-key="birthday"] .picker-column{height:138px;padding:0;scroll-padding-top:0;scroll-snap-type:y mandatory}
.step[data-key="birthday"] .picker-option{scroll-snap-align:start;height:46px;opacity:.38}
.step[data-key="birthday"] .picker-option.selected{opacity:1;color:var(--blue);font-size:23px;font-weight:740}
.step[data-key="birthday"] .picker-highlight{top:0;height:46px;border:0;border-bottom:1px solid var(--line)}
@media(max-width:620px){
 .step[data-key="birthday"] .picker-date{margin-top:32px;height:138px;max-width:340px}
 .step[data-key="birthday"] .picker-column{height:138px;padding:0}
 .step[data-key="birthday"] .picker-option{height:46px}
 .step[data-key="birthday"] .picker-highlight{top:0;height:46px}
 .step[data-key="emergency"] h2{font-size:clamp(40px,10.8vw,50px)}
 .step[data-key="emergency"] .field{margin-top:24px}
}
@media(max-height:760px) and (max-width:620px){
 .step[data-key="birthday"] .picker-date{margin-top:20px}
}

/* 3.0.4: mobile typography refinement */
@media(max-width:620px){
 .step{padding-top:70px}
 .eyebrow{font-size:15px;line-height:1.18;font-weight:520;margin-bottom:20px;letter-spacing:.005em}
 h1,h2{font-weight:700;letter-spacing:-.032em}
 h1{font-size:clamp(54px,14.2vw,64px);line-height:.94}
 h2{font-size:clamp(39px,10.8vw,49px);line-height:.99}
 .lead{font-size:19px;line-height:1.42;font-weight:330;margin-top:21px}
 .field{font-size:15px;font-weight:650}
 .field input{font-size:19px;font-weight:320;line-height:1.2}
 .field input::placeholder{font-size:18px;font-weight:240;letter-spacing:0;color:#85939c}
 .primary,.secondary{font-size:16px;font-weight:680;letter-spacing:.01em}
 .file-button{font-size:14px;font-weight:620}
 .picker-option{font-weight:560}
 .picker-option.selected{font-weight:680}
 .benefit-picker .picker-option.selected{font-weight:680}
 .consent-copy strong{font-weight:620;line-height:1.25}
 .consent-copy small{font-weight:270;line-height:1.38}
 .step[data-key="emergency"] h2{font-size:clamp(38px,10.2vw,46px);line-height:1.01}
}
@media(max-width:390px){
 h1{font-size:52px;line-height:.95}
 h2{font-size:39px;line-height:1}
 .lead{font-size:18px;line-height:1.42}
 .field input{font-size:18px}
 .field input::placeholder{font-size:17px}
 .step[data-key="emergency"] h2{font-size:37px}
}
@media(max-height:760px) and (max-width:620px){
 .step{padding-top:42px}
 .eyebrow{margin-bottom:16px}
 h1{line-height:.95}
 h2{line-height:1}
 .lead{margin-top:16px}
}


/* 3.0.5: wheel contrast + final thank-you spacing */
@media(max-width:620px){
  .picker-option{color:#7899ad;opacity:.72}
  .picker-option.selected{color:var(--blue);opacity:1}
  .step[data-key="birthday"] .picker-option{color:#7899ad;opacity:.58}
  .step[data-key="birthday"] .picker-option.selected{color:var(--blue);opacity:1}
  .step[data-key="birthday"] .picker-option.selected + .picker-option{color:#7f9fb2;opacity:.66}
  .step[data-key="birthday"] .picker-option.selected + .picker-option + .picker-option{color:#9eb7c5;opacity:.48}
  .thanks-title{letter-spacing:-.018em!important}
  .thanks-title .thank-name{display:inline-block;margin-left:.18em}
}
\n\n/* 3.0.6: synchronized top-row wheel + thank-you name spacing */\n@media(max-width:620px){\n  .step[data-key="birthday"] .picker-option{color:#6f91a7;opacity:.72}\n  .step[data-key="birthday"] .picker-option.selected{color:var(--blue);opacity:1;font-weight:700}\n  .step[data-key="birthday"] .picker-option.selected + .picker-option{color:#7999ad;opacity:.76}\n  .step[data-key="birthday"] .picker-option.selected + .picker-option + .picker-option{color:#9ab2c0;opacity:.58}\n  .thanks-title{line-height:.98!important;letter-spacing:-.012em!important}\n  .thanks-title .thanks-copy{display:block}\n  .thanks-title .thank-name{display:block!important;margin-left:0!important;margin-top:.14em}\n}\n

/* 3.0.7: cierre responsive para nombres variables */
.thanks-title .thanks-copy{display:block}
.thanks-title .thank-name{
  display:block!important;
  margin-left:0!important;
  margin-top:.16em!important;
  font-size:clamp(34px,7.2vw,58px)!important;
  line-height:1.02!important;
  letter-spacing:-.008em!important;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}
@media (max-width:620px){
  .thanks-title{font-size:clamp(46px,12.5vw,62px)!important;line-height:.98!important}
  .thanks-title .thank-name{
    font-size:clamp(30px,9.2vw,46px)!important;
    line-height:1.04!important;
    white-space:nowrap;
    letter-spacing:-.006em!important;
  }
}
@media (max-width:390px){
  .thanks-title .thank-name{font-size:clamp(27px,8.6vw,38px)!important}
}

/* 3.0.8: birthday wheel end reachability and tap targets */
.step[data-key="birthday"] .picker-column{padding-bottom:92px!important;scroll-padding-bottom:92px;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.step[data-key="birthday"] .picker-option{cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}
@media(max-width:620px){.step[data-key="birthday"] .picker-column{padding-bottom:92px!important}}

/* ACXEDE 3.1.0 document validation */
.credential-preview{transition:border-color .2s ease,box-shadow .2s ease,border-width .2s ease}
.credential-preview.is-valid{border:3px solid #249F3E!important;box-shadow:0 0 0 4px rgba(36,159,62,.13),0 0 24px rgba(36,159,62,.22)}
.camera-guide{transition:border-color .18s ease,box-shadow .18s ease}
.camera-guide.camera-detected{border:3px solid #ABD42C!important;box-shadow:0 0 0 9999px rgba(0,0,0,.38),0 0 24px rgba(171,212,44,.7)}
.camera-guide.camera-ready{border:5px solid #249F3E!important;box-shadow:0 0 0 9999px rgba(0,0,0,.38),0 0 30px rgba(36,159,62,.95)}
.camera-guide.profile-mode{aspect-ratio:1/1;width:min(72vw,430px);border-radius:50%;}
.camera-guide.profile-mode span{display:none}

/* ACXEDE 3.1.2 — definitive UI/performance pass */

.upload-actions{grid-template-columns:1fr!important}
.profile-zone .choose-photo{display:flex!important}
.profile-placeholder{background:transparent!important;border:0!important}
.profile-image{border:2px solid var(--blue)!important;box-shadow:0 0 0 1px rgba(13,82,135,.06)}
.credential-placeholder{color:#9fb5c0;text-align:center;padding:24px}
.credential-placeholder i{display:none!important}
.camera-guide.profile-mode{display:none!important}
.camera-guide.profile-mode~.camera-message{bottom:18px}

/* One shared centered wheel language: birthday, municipality and benefit. */
.picker-date,.picker-single,.step[data-key="birthday"] .picker-date{height:230px!important;overflow:hidden!important;margin-left:auto!important;margin-right:auto!important}
.picker-column,.step[data-key="birthday"] .picker-column{height:230px!important;padding:92px 0!important;scroll-padding:92px 0!important;scroll-snap-type:y mandatory!important;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.picker-option,.step[data-key="birthday"] .picker-option{height:46px!important;scroll-snap-align:center!important;color:#6f91a7!important;opacity:.30!important;font-size:20px!important;font-weight:560!important;transition:opacity .16s ease,color .16s ease,font-weight .16s ease!important}
.picker-option.selected,.step[data-key="birthday"] .picker-option.selected{color:var(--blue)!important;opacity:1!important;font-size:22px!important;font-weight:700!important}
.picker-option:has(+ .picker-option.selected),.picker-option.selected + .picker-option{opacity:.46!important}
.picker-option:has(+ .picker-option + .picker-option.selected),.picker-option.selected + .picker-option + .picker-option{opacity:.27!important}
.picker-highlight,.step[data-key="birthday"] .picker-highlight{top:92px!important;height:46px!important;border:1px solid rgba(13,82,135,.30)!important;border-radius:3px!important;background:rgba(13,82,135,.045)!important;box-shadow:0 1px 5px rgba(13,82,135,.035)!important;pointer-events:none!important}
.benefit-picker .picker-option{font-size:19px!important}.benefit-picker .picker-option.selected{font-size:21px!important}
@media(max-width:620px){.picker-date,.picker-single,.step[data-key="birthday"] .picker-date{max-width:340px!important;height:230px!important}.picker-column,.step[data-key="birthday"] .picker-column{height:230px!important;padding:92px 0!important}.picker-highlight,.step[data-key="birthday"] .picker-highlight{top:92px!important}.picker-option,.step[data-key="birthday"] .picker-option{font-size:17px!important}.picker-option.selected,.step[data-key="birthday"] .picker-option.selected{font-size:20px!important}.benefit-picker .picker-option{font-size:15px!important}.benefit-picker .picker-option.selected{font-size:18px!important}}

/* Working-backup update: photo picker and a non-blocking INE review. */
.profile-zone .upload-actions{grid-template-columns:1fr 1fr!important}
.photo-help{font-size:13px;line-height:1.5;color:var(--muted);margin:12px 0 0}
.file-button:disabled,.step button:disabled{opacity:.55;cursor:wait}
.camera-review{position:absolute;inset:12px 12px 62px;width:calc(100% - 24px);height:calc(100% - 74px);object-fit:contain}
.camera-modal.reviewing .camera-guide,.camera-modal.reviewing #cameraVideo{visibility:hidden}
.camera-modal.reviewing .camera-bottom{height:152px;min-height:152px;padding:12px 16px 42px}
.camera-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;max-width:460px}
.camera-review-actions button{border:1px solid #7c8c94;background:#24333d;color:#fff;border-radius:8px;min-height:42px;padding:8px 10px;font:600 15px Arial,sans-serif;cursor:pointer}
.camera-review-actions #cameraUse{grid-column:1/-1;background:#89d2ee;border-color:#89d2ee;color:#0d5287}
.camera-review-actions button:disabled{opacity:.5;cursor:wait}
.camera-modal.reviewing .camera-cancel{bottom:10px}
@media(max-width:620px){.profile-zone .file-button{padding:0 10px}.photo-help{font-size:12px}}
