/* Horizonte Patagonia. Measurements follow the approved 1208 x 834 desktop frame. */
#ip-horizonte-flow{--ip-bg:#f8f8f6;--ip-surface:#fff;--ip-text:#111213;--ip-muted:#727988;--ip-line:#d8dce4;--ip-input-line:#d5d9e3;--ip-input-bg:#ffffff;--ip-placeholder:#9ca3b1;--ip-accent:#7068ff;--ip-blue:#6e85ff;--ip-soft:#f4f3ff;--ip-focus:#7369ff;--ip-error:#b92119;--ip-error-bg:#fff0ee;--ip-success:#1b9e40;--ip-success-bg:#e4f5e8;--ip-disabled:#eceef2;font-family:'Helvetica Neue',Arial,sans-serif;font-weight:400;font-size:16px;line-height:1.5;color:var(--ip-text);width:100%;background:var(--ip-surface);-webkit-font-smoothing:antialiased}
html,body{margin:0;min-height:100%;background:#fff}#ip-horizonte-flow *{box-sizing:border-box}#ip-horizonte-flow button,#ip-horizonte-flow input,#ip-horizonte-flow select{font:inherit}#ip-horizonte-flow button{touch-action:manipulation}#ip-horizonte-flow [hidden]{display:none!important}
#ip-horizonte-flow .ip-stage{container-type:inline-size;width:100%;max-width:100%;margin:auto;color-scheme:light;background:var(--ip-surface);color:var(--ip-text)}
html[data-idlp-appearance=oscuro] #ip-horizonte-flow .ip-stage{color-scheme:dark;--ip-bg:#1a1c1c;--ip-surface:#1a1c1c;--ip-text:#f8f8f8;--ip-muted:#bec1c7;--ip-line:#606468;--ip-input-line:#70757b;--ip-input-bg:#282a2b;--ip-placeholder:#a7a9af;--ip-accent:#9aa9ff;--ip-blue:#91a6ff;--ip-soft:#2d3047;--ip-focus:#9b9fff;--ip-error:#ffb5ae;--ip-error-bg:#382525;--ip-success:#75efa8;--ip-success-bg:#214734;--ip-disabled:#303335}
#ip-horizonte-flow .ip-shell{position:relative;display:grid;grid-template-columns:50% 50%;min-height:100svh;background:var(--ip-surface);overflow:hidden}
#ip-horizonte-flow .ip-masthead{position:absolute;inset:0 0 auto;height:105px;z-index:2;pointer-events:none}
#ip-horizonte-flow .ip-brand{position:absolute;left:4.8%;top:44px;display:flex;align-items:center;gap:22px;font-size:12.5px;font-weight:400;line-height:1.4;letter-spacing:2.2px;white-space:nowrap}
#ip-horizonte-flow .ip-brand-mark{display:block;background:currentColor;width:80px;height:35px;flex:none;mask:var(--ip-brand-url) center/contain no-repeat;-webkit-mask:var(--ip-brand-url) center/contain no-repeat}
#ip-horizonte-flow .ip-small-break{display:none}
#ip-horizonte-flow .ip-passkey-break{display:none}
#ip-horizonte-flow .ip-theme{position:absolute;right:22px;top:19px;border:0;background:transparent;color:var(--ip-muted);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;cursor:pointer;pointer-events:auto}
#ip-horizonte-flow .ip-theme svg{width:24px;height:24px}
#ip-horizonte-flow .ip-theme:hover{background:var(--ip-soft);color:var(--ip-accent)}
#ip-horizonte-flow .ip-story{position:absolute;inset:0 auto 0 0;width:50%;background:var(--ip-bg);overflow:hidden}
#ip-horizonte-flow .ip-story-copy{position:absolute;top:29.3%;left:10.5%;right:4%;z-index:1}
#ip-horizonte-flow .ip-story-copy p{font:300 clamp(26px,3.8cqw,52px)/1.18 'Helvetica Neue',Arial,sans-serif;letter-spacing:-.2px;margin:0 0 12px;white-space:nowrap}
#ip-horizonte-flow .ip-story-copy>span{font-size:22px;font-weight:300;color:#a5aab2}
html[data-idlp-appearance=oscuro] #ip-horizonte-flow .ip-stage .ip-story-copy>span{color:#b6bbc2}
/* Supplied vector artwork with native transparency; no raster matte or blending.
   The full illustration is anchored to the original bottom position without cropping. */
#ip-horizonte-flow .ip-story{isolation:isolate}
#ip-horizonte-flow .ip-landscape{position:absolute;left:0;bottom:0;width:100%;aspect-ratio:603/400;background-image:url('/assets/acceso/montanas-claras.svg');background-repeat:no-repeat;background-size:100% auto;background-position:center bottom;pointer-events:none}
html[data-idlp-appearance=oscuro] #ip-horizonte-flow .ip-stage .ip-landscape{background-image:url('/assets/acceso/montanas-oscuras.svg')}
#ip-horizonte-flow .ip-landscape div{display:none}
#ip-horizonte-flow .ip-access{grid-column:2;position:relative;display:flex;align-items:flex-start;justify-content:center;min-width:0;min-height:max(834px,100svh);padding:128px clamp(30px,5.7cqw,100px) 70px clamp(30px,6.375cqw,100px)}
#ip-horizonte-flow .ip-form-wrap{position:static;width:100%;max-width:480px;min-width:0}
#ip-horizonte-flow h1{font:300 42px/1.17 'Helvetica Neue',Arial,sans-serif;letter-spacing:-1.3px;margin:0 0 7px;color:var(--ip-text);text-wrap:balance}
#ip-horizonte-flow p.ip-intro{font-size:18px;line-height:1.45;color:var(--ip-muted);margin:0 0 24px}
#ip-horizonte-flow .ip-step{display:block;font-size:14px;line-height:20px;color:var(--ip-muted);margin:0 0 33px}
#ip-horizonte-flow .ip-control{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;padding:12px 16px;border-radius:9px;border:1px solid var(--ip-line);background:transparent;color:var(--ip-text);font-size:16px;font-weight:400;line-height:1.4;text-align:center;cursor:pointer;transition:filter .15s}
#ip-horizonte-flow .ip-control.ip-primary{min-height:48px;padding-block:11px;border:1px solid #7776ff;background:linear-gradient(115deg,#7184ff 0%,#7380ff 42%,#7069ff 100%);box-shadow:inset 0 0 8px #807aff38;color:white}
html[data-idlp-appearance=oscuro] #ip-horizonte-flow .ip-stage .ip-control.ip-primary{background:linear-gradient(115deg,#7586ff,#7681ff 48%,#7778ff);border-color:#7c83ff;color:#fff}
#ip-horizonte-flow .ip-control.ip-passkey{min-height:59px;border-color:#8070ff;box-shadow:none}
html[data-idlp-appearance=oscuro] #ip-horizonte-flow .ip-stage .ip-control.ip-passkey{border-color:#9b9dff}
#ip-horizonte-flow .ip-passkey svg{width:32px;height:36px;color:#8271ff;flex:none}
html[data-idlp-appearance=oscuro] #ip-horizonte-flow .ip-stage .ip-passkey svg{color:#829aff}
#ip-horizonte-flow .ip-primary:hover:not(:disabled),#ip-horizonte-flow .ip-primary.ip-hover{filter:brightness(.97)}
#ip-horizonte-flow h1:focus{outline:none}
#ip-horizonte-flow .ip-control:disabled,#ip-horizonte-flow input:disabled{background:var(--ip-disabled);color:var(--ip-muted);border-color:var(--ip-line);box-shadow:none;cursor:default}
#ip-horizonte-flow .ip-control[aria-busy=true]{background:var(--ip-soft);color:var(--ip-accent);border-color:var(--ip-line)}
#ip-horizonte-flow .ip-divider{display:flex;align-items:center;gap:16px;margin:25px 0 14px;font-size:14px;line-height:20px;color:var(--ip-muted)}
#ip-horizonte-flow .ip-divider:before,#ip-horizonte-flow .ip-divider:after{content:'';height:1px;background:var(--ip-line);flex:1}
#ip-horizonte-flow .ip-field{display:block;margin:0 0 22px;text-align:left}
#ip-horizonte-flow .ip-field>span{display:block;font-size:15px;font-weight:400;line-height:20px;color:var(--ip-text);margin-bottom:7px}
#ip-horizonte-flow .ip-input-wrap{position:relative}
#ip-horizonte-flow .ip-field input{display:block;width:100%;height:51px;min-height:51px;border-radius:10px;border:1px solid var(--ip-input-line);padding:12px 18px;background:var(--ip-input-bg);color:var(--ip-text);font-size:16px;line-height:24px;box-shadow:0 0 0 .3px color-mix(in srgb,var(--ip-input-line) 30%,transparent)}
#ip-horizonte-flow .ip-field input::placeholder{color:var(--ip-placeholder);opacity:1}
#ip-horizonte-flow .ip-field input[data-secret]{padding-right:53px}
#ip-horizonte-flow .ip-field input[readonly]{background:#f1f3f7;color:#8e96a6;padding-right:45px}
html[data-idlp-appearance=oscuro] #ip-horizonte-flow .ip-stage .ip-field input[readonly]{background:#242727;color:#acb1bc}
#ip-horizonte-flow .ip-field input[aria-invalid=true]{border-color:var(--ip-error)}
#ip-horizonte-flow .ip-eye{position:absolute;right:4px;top:3px;border:0;background:transparent;color:var(--ip-muted);width:44px;height:44px;border-radius:8px;display:grid;place-items:center;cursor:pointer}
#ip-horizonte-flow .ip-eye svg{width:20px;height:20px}
#ip-horizonte-flow .ip-eye:hover{background:var(--ip-soft)}
#ip-horizonte-flow .ip-field-lock{position:absolute;right:18px;top:16px;color:var(--ip-muted)}
#ip-horizonte-flow .ip-check{display:flex;align-items:center;gap:12px;min-height:22px;margin:-3px 0 26px;font-size:15px;line-height:22px;color:var(--ip-text);cursor:pointer}
#ip-horizonte-flow .ip-check input{appearance:none;width:21px;height:21px;margin:0;border:1px solid #a8afbc;border-radius:3px;background:transparent;flex:none}
#ip-horizonte-flow .ip-check input:checked{appearance:auto;accent-color:var(--ip-accent)}
html[data-idlp-appearance=oscuro] #ip-horizonte-flow .ip-stage .ip-check input{border-color:#eceff3}
#ip-horizonte-flow .ip-link{border:0;background:transparent;color:var(--ip-accent);font-size:15px;font-weight:400;line-height:22px;min-height:44px;padding:10px 2px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;text-decoration:underline;text-underline-offset:2px}
#ip-horizonte-flow .ip-link:hover{filter:brightness(.88)}
#ip-horizonte-flow .ip-link:disabled{color:var(--ip-muted);cursor:default}
#ip-horizonte-flow .ip-links{margin-top:7px;text-align:center}
#ip-horizonte-flow .ip-session-actions{display:grid;gap:16px}
#ip-horizonte-flow .ip-organization-summary{margin:28px 0;text-align:left;font-size:15px;line-height:1.5}
#ip-horizonte-flow .ip-organization-summary h2{font-size:20px;font-weight:500;line-height:1.35;overflow-wrap:anywhere;margin:0 0 16px}
#ip-horizonte-flow .ip-summary-message{color:var(--ip-muted);margin:0 0 16px}
#ip-horizonte-flow .ip-summary-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin:22px 0}
#ip-horizonte-flow .ip-summary-metrics dt{color:var(--ip-muted);font-size:13px}
#ip-horizonte-flow .ip-summary-metrics dd{margin:6px 0 0;font-size:26px;font-variant-numeric:tabular-nums}
#ip-horizonte-flow .ip-summary-selector{display:grid;gap:8px;margin-bottom:18px}
#ip-horizonte-flow .ip-summary-selector select{width:100%;padding:12px;border:1px solid var(--ip-line);border-radius:10px;color:inherit;background:transparent;font:inherit}
#ip-horizonte-flow .ip-form-wrap:has(.ip-organization-summary) .ip-footer{position:static;inset:auto;margin-top:32px;padding-top:24px;border-top:1px solid var(--ip-line)}
#ip-horizonte-flow .ip-form-wrap:has(.ip-organization-summary) .ip-footer:before{content:none}
#ip-horizonte-flow .ip-invite{margin-top:13px;border-top:1px solid var(--ip-line);padding-top:9px;text-align:center;font-size:14px;line-height:24px;color:var(--ip-muted)}
#ip-horizonte-flow .ip-footer{position:absolute;left:clamp(30px,6.375cqw,100px);right:clamp(30px,5.7cqw,100px);bottom:31px;display:flex;align-items:center;justify-content:center;gap:12px;min-height:20px;font-size:12px;line-height:20px;color:var(--ip-muted);text-align:center}
#ip-horizonte-flow .ip-footer svg{flex:none;width:16px;height:18px}
#ip-horizonte-flow .ip-status{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:21px;text-align:left;color:var(--ip-error);border:1px solid #f38b87;background:var(--ip-error-bg);border-radius:8px;padding:12px 14px;margin:0 0 17px}
#ip-horizonte-flow .ip-status svg{flex:none;width:22px;height:22px}
#ip-horizonte-flow .ip-status.ip-note{color:var(--ip-muted);background:var(--ip-soft);border-color:var(--ip-line)}
#ip-horizonte-flow .ip-status.ip-ok{color:var(--ip-success);background:var(--ip-success-bg);border-color:color-mix(in srgb,var(--ip-success) 30%,var(--ip-line))}
#ip-horizonte-flow .ip-emblem{display:grid;place-items:center;width:104px;height:104px;margin:0 auto 23px;border-radius:50%;background:var(--ip-soft);color:var(--ip-accent);border:0}
#ip-horizonte-flow .ip-emblem svg{width:43px;height:43px;stroke-width:1.6px}
#ip-horizonte-flow .ip-emblem.ip-success{background:var(--ip-success-bg);color:var(--ip-success)}
#ip-horizonte-flow .ip-form-wrap:has(>.ip-emblem){text-align:center}
#ip-horizonte-flow .ip-explain{border-top:1px solid var(--ip-line);padding-top:24px;margin:34px 0;font-size:17px;line-height:1.6;color:var(--ip-muted)}
#ip-horizonte-flow .ip-hint{font-size:13px;line-height:20px;color:var(--ip-muted);margin:8px 0 20px}
#ip-horizonte-flow .ip-strength{display:flex;gap:8px;margin:-15px 0 5px}
#ip-horizonte-flow .ip-strength span{height:5px;flex:1;background:var(--ip-line);border-radius:3px}
#ip-horizonte-flow .ip-strength span.is-on{background:#7465ff}
#ip-horizonte-flow .ip-password-help{margin:0 0 24px;text-align:left}
#ip-horizonte-flow .ip-strength-label{font-size:14px;line-height:20px;color:var(--ip-muted);margin:0}
#ip-horizonte-flow .ip-password-count{font-size:14px;font-weight:500;line-height:20px;color:var(--ip-accent);font-variant-numeric:tabular-nums;margin:8px 0 0}
#ip-horizonte-flow .ip-next{margin-top:12px}
#ip-horizonte-flow .ip-spinner{width:17px;height:17px;flex:none;border:2px solid color-mix(in srgb,var(--ip-accent) 24%,transparent);border-top-color:var(--ip-accent);border-radius:50%;animation:ip-spin .8s linear infinite}
@keyframes ip-spin{to{transform:rotate(360deg)}}
/* Screen-specific geometry follows the other six approved boards. */
#ip-horizonte-flow [data-screen=invite]:not([data-status=expired]):not([data-status=used]):not([data-status=success]) .ip-access{padding-top:40px}
#ip-horizonte-flow [data-screen=invite] h1{font-size:40px;letter-spacing:-.5px}
#ip-horizonte-flow [data-screen=invite] p.ip-intro{margin-bottom:18px;font-size:19px;line-height:26px}
#ip-horizonte-flow [data-screen=invite]:has(form[data-form=invite]) .ip-access{padding-left:4.55cqw}
#ip-horizonte-flow [data-screen=invite] .ip-field{margin-bottom:15px}
#ip-horizonte-flow [data-screen=invite] .ip-strength{margin-top:17px}
#ip-horizonte-flow [data-screen=invite]:has(form[data-form=invite]) .ip-footer:before,#ip-horizonte-flow [data-screen=new-password] .ip-footer:before,#ip-horizonte-flow [data-screen=recover]:has(form[data-form=recover]) .ip-footer:before{content:'';position:absolute;left:0;right:0;top:-33px;height:1px;background:var(--ip-line)}
#ip-horizonte-flow [data-screen=recover] .ip-access{padding-top:136px}
#ip-horizonte-flow [data-screen=recover] .ip-intro{margin-bottom:48px}
#ip-horizonte-flow [data-screen=recover] h1{letter-spacing:-.65px}
#ip-horizonte-flow [data-screen=recover] .ip-emblem{margin-bottom:16px;color:#424958}
html[data-idlp-appearance=oscuro] #ip-horizonte-flow [data-screen=recover] .ip-emblem{color:#f4f6ff}
#ip-horizonte-flow [data-screen=recover] .ip-links{margin-top:11px}
#ip-horizonte-flow [data-screen=email] .ip-access{padding-top:148px}
#ip-horizonte-flow [data-screen=email] .ip-emblem{width:114px;height:114px}
#ip-horizonte-flow [data-screen=email] .ip-emblem{margin-bottom:33px}
#ip-horizonte-flow [data-screen=email] .ip-intro{margin-bottom:38px}
#ip-horizonte-flow [data-screen=email] .ip-explain{margin:34px 0 38px}
#ip-horizonte-flow [data-screen=new-password]:not([data-status=success]):not([data-status=expired]):not([data-status=invalid]) .ip-access{padding-top:106px}
#ip-horizonte-flow [data-screen=new-password]:not([data-status=success]):not([data-status=expired]):not([data-status=invalid]) .ip-form-wrap{text-align:left}
#ip-horizonte-flow [data-screen=new-password]:not([data-status=success]):not([data-status=expired]):not([data-status=invalid]) .ip-emblem{width:80px;height:80px;margin:0 0 11px}
#ip-horizonte-flow [data-screen=new-password] h1{font-size:40px;letter-spacing:-.7px}
#ip-horizonte-flow [data-screen=new-password] .ip-intro{margin-bottom:32px;letter-spacing:-.35px}
#ip-horizonte-flow [data-screen=new-password] .ip-strength{margin-top:-5px}
#ip-horizonte-flow [data-screen=new-password] .ip-password-help{margin-bottom:28px}
#ip-horizonte-flow [data-screen=new-password] .ip-links{margin-top:18px}
#ip-horizonte-flow [data-screen=passkey] .ip-access{padding-top:108px}
#ip-horizonte-flow [data-screen=passkey] .ip-emblem{width:96px;height:96px;margin-bottom:22px}
#ip-horizonte-flow [data-screen=passkey] h1{line-height:1.18;margin-bottom:17px}
#ip-horizonte-flow [data-screen=passkey] .ip-explain{margin:38px -12px 28px;padding:22px 12px 0;font-size:16px;line-height:1.65}
#ip-horizonte-flow [data-screen=passkey] .ip-step{display:none}
#ip-horizonte-flow [data-screen=passkey] .ip-links .ip-link,#ip-horizonte-flow [data-screen=email] .ip-links .ip-link,#ip-horizonte-flow [data-status=expired] .ip-links .ip-link,#ip-horizonte-flow [data-status=used] .ip-links .ip-link,#ip-horizonte-flow [data-screen=invite][data-status=success] .ip-links .ip-link{display:flex;width:100%;min-height:51px;border:1px solid var(--ip-line);border-radius:9px;text-decoration:none;font-size:17px;margin-top:14px}
#ip-horizonte-flow [data-status=success] .ip-access{padding-top:194px}
#ip-horizonte-flow [data-status=success] .ip-emblem{margin-bottom:32px}
#ip-horizonte-flow [data-status=success] p.ip-intro{font-size:20px;line-height:1.45;margin:16px 0 56px}
#ip-horizonte-flow [data-screen=invite][data-status=success] .ip-access{padding-top:196px}
#ip-horizonte-flow [data-screen=invite][data-status=success] .ip-emblem{width:106px;height:106px;background:transparent;border:1px solid var(--ip-success);margin-bottom:35px}
#ip-horizonte-flow [data-status=expired] .ip-access,#ip-horizonte-flow [data-status=used] .ip-access,#ip-horizonte-flow [data-status=invalid] .ip-access{padding-top:188px}
#ip-horizonte-flow [data-status=expired] .ip-emblem,#ip-horizonte-flow [data-status=used] .ip-emblem,#ip-horizonte-flow [data-status=invalid] .ip-emblem{width:132px;height:132px;margin-bottom:36px}
#ip-horizonte-flow [data-status=expired] .ip-emblem svg,#ip-horizonte-flow [data-status=used] .ip-emblem svg,#ip-horizonte-flow [data-status=invalid] .ip-emblem svg{width:74px;height:74px;stroke-width:1.25px}
#ip-horizonte-flow [data-status=expired] p.ip-intro,#ip-horizonte-flow [data-status=used] p.ip-intro,#ip-horizonte-flow [data-status=invalid] p.ip-intro{margin:20px 0 36px}
#ip-horizonte-flow [data-status=blocked] .ip-access{padding-top:195px}
#ip-horizonte-flow [data-status=blocked] .ip-emblem{width:96px;height:96px;background:#444553;color:#fff;margin-bottom:45px}
#ip-horizonte-flow [data-status=blocked] h1{font-size:36px}
#ip-horizonte-flow [data-status=blocked] p.ip-intro{font-size:22px;line-height:1.5;margin:15px 0 25px;color:var(--ip-text)}
#ip-horizonte-flow [data-status=blocked] .ip-status{padding:0;border:0;background:transparent;text-align:center;color:var(--ip-muted);font-size:18px;line-height:1.5;display:block;margin:0 0 80px}
#ip-horizonte-flow [data-status=blocked] .ip-status svg{display:none}
#ip-horizonte-flow [data-screen=invite][data-status=expired] h1{font-size:42px;letter-spacing:-.1px}
/* Prototype controls are outside the approved screen composition. */
#ip-horizonte-flow .ip-tools{background:#f7f7f8;color:#656a76;border-top:1px solid #e3e5e9;padding:12px 22px 24px}
#ip-horizonte-flow .ip-prototype{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;font-size:12px;line-height:1.6}
#ip-horizonte-flow .ip-prototype strong{font-weight:500}
#ip-horizonte-flow .ip-prototype a{color:inherit;text-underline-offset:3px}
#ip-horizonte-flow .ip-review{font-size:13px;max-width:480px;margin:14px auto 0}
#ip-horizonte-flow .ip-review summary{cursor:pointer;min-height:32px;text-align:center;list-style:none;text-decoration:underline;text-underline-offset:3px}
#ip-horizonte-flow .ip-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 0}
#ip-horizonte-flow .ip-review label{display:grid;gap:6px;min-width:0}
#ip-horizonte-flow .ip-review select{width:100%;min-width:0;min-height:42px;border:1px solid #d8dce4;border-radius:8px;padding:8px;background:#fff;color:#303540;font-size:13px}
#ip-horizonte-flow .ip-review-note{font-size:12px;line-height:1.6}
@media(prefers-reduced-motion:reduce){#ip-horizonte-flow *{transition:none!important}#ip-horizonte-flow .ip-spinner{animation:none}}
@container(max-width:739px){
 #ip-horizonte-flow .ip-shell{display:block;min-height:100svh}
 #ip-horizonte-flow .ip-story{display:none}
 #ip-horizonte-flow .ip-brand{left:32px;top:35px;gap:15px;font-size:10px;letter-spacing:1.5px}
 #ip-horizonte-flow .ip-brand-mark{width:60px;height:27px}
 #ip-horizonte-flow .ip-small-break{display:none}
 #ip-horizonte-flow .ip-theme{right:18px;top:15px}
 #ip-horizonte-flow .ip-access{min-height:max(834px,100svh);padding:106px 32px 70px}
 #ip-horizonte-flow .ip-form-wrap{max-width:440px}
 #ip-horizonte-flow h1{font-size:35px;line-height:1.15;letter-spacing:-.2px}
 #ip-horizonte-flow p.ip-intro{font-size:16px;line-height:1.5;margin-top:10px;margin-bottom:28px}
 #ip-horizonte-flow .ip-control{font-size:17px;min-height:51px}
 #ip-horizonte-flow .ip-control.ip-primary{min-height:52px;padding-block:13px}
 #ip-horizonte-flow [data-screen=invite][data-status=success] .ip-links .ip-link{color:var(--ip-text);border-color:var(--ip-text)}
 #ip-horizonte-flow .ip-control.ip-passkey{min-height:74px;font-size:16px;gap:18px;padding:12px 18px}
 #ip-horizonte-flow .ip-passkey span{max-width:220px}
 #ip-horizonte-flow .ip-passkey-break{display:block}
 #ip-horizonte-flow [data-screen=login]:not([data-status=blocked]) h1{font-size:32.5px}
 #ip-horizonte-flow .ip-passkey svg{width:34px;height:38px}
 #ip-horizonte-flow .ip-divider{margin:25px 0 18px}
 #ip-horizonte-flow .ip-field{margin-bottom:22px}
 #ip-horizonte-flow .ip-field>span{font-size:15px}
 #ip-horizonte-flow .ip-field input{height:51px;min-height:51px;padding-left:18px}
 html[data-idlp-appearance=oscuro] #ip-horizonte-flow .ip-stage .ip-field input::placeholder{font-style:italic}
 #ip-horizonte-flow .ip-check{margin:-2px 0 29px;font-size:15px}
 #ip-horizonte-flow .ip-links{margin-top:7px}
 #ip-horizonte-flow .ip-link{font-size:16px}
 #ip-horizonte-flow .ip-invite{margin-top:13px;padding-top:11px;font-size:14px}
 #ip-horizonte-flow .ip-invite .ip-link{font-size:14px}
 #ip-horizonte-flow .ip-footer{bottom:31px;left:30px;right:30px;font-size:12px;gap:12px}
 #ip-horizonte-flow [data-screen=invite]:not([data-status=expired]):not([data-status=used]):not([data-status=success]) .ip-access{padding-top:112px;min-height:1010px}
 #ip-horizonte-flow [data-screen=invite] h1{font-size:34px}
 #ip-horizonte-flow [data-screen=invite]:has(form[data-form=invite]) .ip-access{padding-left:32px}
 #ip-horizonte-flow [data-screen=invite] p.ip-intro{font-size:16px;line-height:1.5}
 #ip-horizonte-flow [data-screen=new-password] .ip-intro{letter-spacing:0}
 #ip-horizonte-flow [data-screen=recover] .ip-access{padding-top:148px}
 #ip-horizonte-flow [data-screen=recover] .ip-intro{margin-bottom:40px}
 #ip-horizonte-flow [data-screen=email] .ip-access{padding-top:148px}
 #ip-horizonte-flow [data-screen=email] h1{font-size:37px}
 #ip-horizonte-flow [data-screen=email] .ip-access{padding-left:26px;padding-right:26px}
 #ip-horizonte-flow [data-screen=email] .ip-intro{font-size:18px;letter-spacing:-.2px}
 #ip-horizonte-flow [data-screen=email] .ip-explain{font-size:16px;margin-top:38px;padding-top:28px}
 #ip-horizonte-flow [data-screen=new-password] h1{font-size:34px}
 #ip-horizonte-flow [data-screen=new-password]:not([data-status=success]):not([data-status=expired]):not([data-status=invalid]) .ip-access{padding-top:112px;min-height:910px}
 #ip-horizonte-flow [data-screen=passkey] .ip-access{padding-top:128px;min-height:910px}
 #ip-horizonte-flow [data-screen=passkey] h1{font-size:34px}
 #ip-horizonte-flow [data-status=success] .ip-access,#ip-horizonte-flow [data-screen=invite][data-status=success] .ip-access{padding-top:197px;min-height:max(834px,100svh)}
 #ip-horizonte-flow [data-status=success] h1{font-size:36px}
 #ip-horizonte-flow [data-status=success] p.ip-intro{font-size:20px;line-height:1.5;margin:17px auto 34px;max-width:310px}
 #ip-horizonte-flow [data-screen=passkey][data-status=success] .ip-primary{margin-top:90px}
 #ip-horizonte-flow [data-status=expired] .ip-access,#ip-horizonte-flow [data-status=used] .ip-access,#ip-horizonte-flow [data-status=invalid] .ip-access{padding-top:188px}
 #ip-horizonte-flow [data-status=expired] h1,#ip-horizonte-flow [data-status=used] h1,#ip-horizonte-flow [data-status=invalid] h1{font-size:37px}
 #ip-horizonte-flow [data-status=used] p.ip-intro{font-size:18px;margin-bottom:42px}
 #ip-horizonte-flow [data-status=blocked] .ip-access{padding-top:196px}
 #ip-horizonte-flow [data-status=blocked] h1{font-size:34px}
 #ip-horizonte-flow [data-status=blocked] p.ip-intro{font-size:22px}
 #ip-horizonte-flow .ip-review-grid{grid-template-columns:1fr}
}
@container(max-width:359px){
 #ip-horizonte-flow .ip-brand{left:20px;gap:10px;font-size:8px;letter-spacing:1.1px}
 #ip-horizonte-flow .ip-brand-mark{width:48px;height:25px}
 #ip-horizonte-flow .ip-theme{right:10px}
 #ip-horizonte-flow .ip-access{padding-left:22px;padding-right:22px}
 #ip-horizonte-flow h1{font-size:32px}
 #ip-horizonte-flow .ip-invite{font-size:13px}
 #ip-horizonte-flow .ip-footer{left:18px;right:18px;font-size:11px;gap:8px}
}

#ip-horizonte-flow [data-screen=new-password] .ip-emblem:not(.ip-success) svg{transform:scaleX(-1)}

#ip-horizonte-flow [data-screen=new-password] form .ip-field:last-of-type{margin-bottom:32px}
#ip-horizonte-flow [data-screen=new-password] .ip-control.ip-primary{min-height:52px;padding-block:13px}
#ip-horizonte-flow [data-screen=new-password] .ip-footer:before{top:-61px}
#ip-horizonte-flow [data-screen=recover] .ip-footer:before{top:-49px}
#ip-horizonte-flow [data-screen=passkey]:not([data-status=success]) h1{letter-spacing:-.5px}
@container(max-width:739px){#ip-horizonte-flow [data-screen=new-password] .ip-footer:before{top:-52px}}

/* Password help and errors change the form height. The divider must follow
   the return action in document flow, in every state and at any text size. */
#ip-horizonte-flow [data-screen=new-password] .ip-footer,
#ip-horizonte-flow [data-screen=recover] .ip-footer,
#ip-horizonte-flow [data-screen=invite]:has(form) .ip-footer{position:static;inset:auto;margin-top:40px;padding-top:28px;border-top:1px solid var(--ip-line)}
#ip-horizonte-flow [data-screen=new-password] .ip-footer:before,
#ip-horizonte-flow [data-screen=recover] .ip-footer:before,
#ip-horizonte-flow [data-screen=invite]:has(form) .ip-footer:before{content:none}

#ip-horizonte-flow svg.ip-fingerprint{stroke-width:1.25px;shape-rendering:geometricPrecision}

/* Buttons stay halo-free for mouse/touch; keyboard focus uses an internal marker. */
#ip-horizonte-flow button:focus{outline:none;box-shadow:none}
#ip-horizonte-flow button:is(:focus-visible,.ip-demo-focus){outline:none;box-shadow:none;text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:.25em}
#ip-horizonte-flow .ip-link:is(:focus-visible,.ip-demo-focus){text-decoration-style:double}
#ip-horizonte-flow :is(.ip-theme,.ip-eye):is(:focus-visible,.ip-demo-focus):after{content:'';position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:2px;background:currentColor}
/* Keep an explicit focus indicator on fields and other non-button controls. */
#ip-horizonte-flow :is(input:not([type=checkbox]),select,summary,a):is(:focus-visible,.ip-demo-focus),
#ip-horizonte-flow input:not([type=checkbox]):focus{outline:2px solid var(--ip-focus);outline-offset:0;border-color:transparent!important;box-shadow:none!important}
/* The remember-device checkbox has no external halo; keyboard focus marks its label. */
#ip-horizonte-flow .ip-check input:is(:focus,:focus-visible,.ip-demo-focus){outline:none;box-shadow:none!important}
#ip-horizonte-flow .ip-check input:is(:focus-visible,.ip-demo-focus)+span{text-decoration-line:underline;text-decoration-thickness:2px;text-underline-offset:.25em}
