/* assets/css/PublicAccount.css · Material público compartido de cuenta y onboarding. */
:root { --account-shadow:0 20px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12);
  --account-sheen:linear-gradient(140deg,rgba(255,255,255,.06),transparent 48%);
  --account-surface:rgba(24,24,28,.82); }
.auth-card h1 { font-weight:650; letter-spacing:-.035em; }
.submit-btn { font-weight:600; letter-spacing:.04em; }
body { font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI','Plus Jakarta Sans',sans-serif; }
.auth-card,.onboarding-card { border-radius:30px; box-shadow:var(--account-shadow); background:var(--account-sheen),var(--account-surface); }
.field-input,.input-dark,.input-combined,.submit-btn,.btn-gold { border-radius:16px; min-height:48px; }
.selectable-card { border-radius:20px; }
.field-input input,.input-dark,.input-combined input,:is(input,select,textarea) { font-size:16px; min-width:0; }
:is(button,a,summary,input,select,textarea):focus-visible { outline:2px solid var(--gold-solid); outline-offset:3px; }
.hidden-input { display:block; position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.hidden-input:focus-visible + :is(.selectable-card,.selectable-tag,.day-circle) { outline:2px solid var(--gold-solid); outline-offset:3px; }
.opcional-lbl,.field label,.viz-pistas li { font-size:var(--font-size-xs); }
.opcional-lbl { color:var(--text-dim); }
@media(max-width:480px) { .auth-card { padding:1.5rem 1.25rem; } .btn-ghost,.selectable-tag,.back-link { min-height:44px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
@media(prefers-reduced-transparency:reduce) { .auth-card,.onboarding-card { background:var(--bg-base); backdrop-filter:none; -webkit-backdrop-filter:none; } }

/* Un paso visible, campos agrupados y navegación siempre reconocible. */
.onboarding-page {
  align-items:flex-start; padding:1.5rem 1rem;
  --font-size-xs:.75rem; --font-size-sm:.875rem;
}
.onboarding-page .onboarding-shell { gap:1.25rem; }
.onboarding-intro { display:flex; align-items:center; gap:1rem; width:100%; max-width:850px; }
.onboarding-mark { width:42px; height:42px; flex:none; }
.onboarding-mark i { font-size:1.4rem; }
.onboarding-intro h1 { font-size:clamp(1.5rem,3vw,2rem); line-height:1.2; margin:0 0 .3rem; }
.onboarding-intro p { margin:0; line-height:1.5; }
.onboarding-page .onboarding-card { border-radius:20px; overflow:visible; }
.onboarding-page .progress-bar-container { border-radius:20px 20px 0 0; overflow:hidden; }
.onboarding-page .progress-bar { box-shadow:none; }
.wizard-navigation { padding:1.25rem 1.5rem 0; }
.wizard-step-status { margin:0 0 .75rem; font-size:.8rem; color:var(--text-dim); }
.wizard-steps {
  display:flex; gap:.45rem; list-style:none; padding:0 0 1rem; margin:0;
  border-bottom:1px solid var(--glass-border); overflow-x:auto;
}
.wizard-steps li { flex:1; min-width:max-content; }
.wizard-steps button {
  width:100%; display:flex; align-items:center; gap:.4rem; min-height:44px;
  background:transparent; color:var(--text-dim); border:0; padding:.5rem .6rem;
  border-radius:12px; font:inherit; font-size:.75rem; cursor:pointer;
}
.wizard-steps button>span { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:var(--glass-bg); }
.wizard-steps button[aria-current="step"] { background:var(--gold-dim); color:var(--gold-solid); font-weight:700; }
.wizard-steps button:disabled { opacity:.65; cursor:default; }
.onboarding-page .wizard-content { padding:1.5rem; }
.onboarding-page .step-container>div:first-child { margin-bottom:1.5rem; padding-bottom:1rem; }
.onboarding-page .step-container h2 { font-size:1.2rem; }
.onboarding-page .input-label { text-transform:none; letter-spacing:0; font-size:.8rem; font-weight:600; color:var(--text-dim); }
.onboarding-page .step-container h3 { text-transform:none; letter-spacing:0; }
.onboarding-page [data-name="dias[]"]>.flex {
  display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:.25rem; max-width:100%;
}
.onboarding-page [data-name="dias[]"] label { min-width:0; }
.onboarding-page .day-circle { width:100%; height:44px; border-radius:12px; }
.onboarding-page .selectable-card { border-radius:14px; }
.onboarding-page .selectable-card:hover { transform:none; box-shadow:none; }
.onboarding-page .hidden-input:checked+.selectable-card { transform:none; box-shadow:none; }
.onboarding-page .wizard-controls {
  position:sticky; bottom:0; z-index:10; gap:1rem; margin:1.5rem -1.5rem -1.5rem;
  padding:1rem 1.5rem calc(1rem + env(safe-area-inset-bottom,0px));
  background:var(--bg-base); border-radius:0 0 20px 20px;
}
.onboarding-page .btn-gold { min-height:48px; border-radius:14px; }
.onboarding-page .btn-ghost { min-height:44px; }
.onboarding-page #onboardingForm { scroll-margin-top:1rem; }

@media(max-width:480px) {
  .onboarding-page { padding:1rem .75rem; }
  .onboarding-intro { gap:.75rem; }
  .onboarding-intro p { font-size:.8rem; }
  .wizard-navigation { padding:1rem 1rem 0; }
  .wizard-steps { gap:.25rem; }
  .wizard-steps button { padding:.5rem .45rem; }
  .onboarding-page .wizard-content { padding:1rem; }
  .onboarding-page .wizard-controls { margin-inline:-1rem; margin-bottom:-1rem; padding-inline:1rem; }
  .onboarding-page .step-container>div:first-child { margin-bottom:1.25rem; }
}
