/* Verified identity release candidate. The layout inherits the established
   app tokens and stays usable at 320px, 200% zoom, keyboard and dark mode. */
.identity-wrap{max-width:460px; margin-top:clamp(18px,5vh,52px); padding-bottom:32px;}
.identity-card{padding:clamp(18px,4vw,28px);}
.identity-title{font-size:clamp(1.35rem,5vw,1.75rem); line-height:1.18; margin:0 0 7px;}
.identity-lead{line-height:1.55; margin-bottom:18px;}
.identity-form{display:grid; gap:2px;}
.identity-form label:not(.consent-row){margin-top:10px;}
/* The shared route contract deliberately permits denser 32px desktop controls.
   Verified identity is a mobile-first, infrequent safety flow, so its form keeps
   a full finger target at every viewport rather than inheriting that compact
   desktop exception. */
#view .route-frame .identity-form :is(input:not([type="checkbox"]),select,textarea){min-height:var(--tap);}
#view .route-frame .identity-primary{margin-top:16px; min-height:48px;}
#view .route-frame .identity-form .pw-toggle{min-width:var(--tap); min-height:var(--tap);}
#view .route-frame .identity-form .consent-row a{min-height:var(--tap);}
.identity-error{outline:none; overflow-wrap:anywhere;}
.identity-error:focus{box-shadow:0 0 0 3px var(--flare-dim); border-radius:6px;}
.identity-hint,.identity-privacy{font-size:var(--fs-xs); color:var(--chalk-dim); line-height:1.55; margin:4px 0 6px;}
.identity-privacy{padding:10px 12px; background:var(--surface2); border-left:3px solid var(--flare); border-radius:0 8px 8px 0;}
.identity-field-status{min-height:1.35em; margin:-2px 0 2px; font-size:var(--fs-xs); color:var(--chalk-dim);}
.identity-field-status.ok{color:var(--success-ink,var(--green));}
.identity-field-status.bad{color:var(--danger-ink);}
.identity-code{font-family:'JetBrains Mono',monospace; font-size:1.35rem; font-variant-numeric:tabular-nums; letter-spacing:.26em; text-align:center;}
.identity-actions{display:flex; justify-content:flex-end; margin-top:8px;}
.identity-resend{min-height:44px; padding:8px 2px; border:0; background:transparent; color:var(--flare-ink); text-decoration:underline; font:inherit; font-weight:650; cursor:pointer;}
.identity-resend:disabled{color:var(--chalk-dim); cursor:not-allowed; text-decoration:none;}
.identity-notice{padding:13px 14px; margin:14px 0 4px; border:1px solid var(--hairline); border-radius:12px; background:var(--surface2);}
.identity-notice strong{font-size:var(--fs-sm);}
.identity-notice p{margin:5px 0 0; color:var(--chalk-dim); font-size:var(--fs-xs); line-height:1.55;}
.identity-login-link{margin-top:16px; text-align:center; justify-content:center;}
@media (max-width:420px){
  .identity-wrap{margin-top:14px;}
  .identity-card{padding:18px 15px;}
  .identity-code{letter-spacing:.18em;}
}
@media (prefers-reduced-motion:reduce){
  .identity-card,.identity-form *{scroll-behavior:auto!important; transition:none!important;}
}
