.acceso-astra {--bg:#f5f6f8;--surface:#fff;--surface-2:#f1f3f6;--text:#192431;--text-2:#536172;--text-3:#617083;--border:#e3e7ec;--border-2:#c8d0da;--accent:#00796e;--accent-hover:#00675e;--accent-ink:#fff;--accent-tint:#e4f2ef;--neg:#b83c50;--neg-bg:#fbecef;--info:#2368a2;--info-bg:#eaf3fb;--card:var(--surface);--text-sec:var(--text-2);color-scheme:light;background:var(--bg);color:var(--text);display:block;min-height:100dvh;padding:0;margin:0;font:14px/1.65 Poppins,sans-serif;}
html[data-panel-tema="oscuro"] .acceso-astra {--bg:#10151d;--surface:#181f29;--surface-2:#202a36;--text:#f0f3f7;--text-2:#b3bfce;--text-3:#9dacc0;--border:#2b3543;--border-2:#49566a;--accent:#67d5c3;--accent-hover:#92e5d6;--accent-ink:#10211f;--accent-tint:#203a39;--neg:#f08e9d;--neg-bg:#3e2933;--info:#8ec3ef;--info-bg:#25354a;color-scheme:dark;}
.acceso-astra * {box-sizing:border-box;}
.acceso-astra :focus-visible {outline:3px solid var(--accent);outline-offset:4px;}
.ac-header,.ac-footer {max-width:1320px;margin:auto;padding:28px 48px;display:flex;justify-content:space-between;align-items:center;gap:24px;}
.ac-brand {display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:.015em;color:var(--text);text-decoration:none;}
.ac-brand b {color:var(--accent);font-weight:600;}
html[data-panel-tema="claro"] .ac-brand img {content:url('faro-logo-tinta.svg');}
.ac-theme {display:flex;gap:12px;align-items:center;font-size:12px;}
.ac-theme label {margin:0;color:var(--text-2);}
.ac-theme select {background:var(--surface);color:var(--text);border:1px solid var(--border-2);border-radius:10px;padding:10px 12px;font:inherit;min-height:44px;}
.ac-layout {max-width:1224px;margin:26px auto;display:grid;grid-template-columns:1.05fr 1fr;background:var(--surface);border:1px solid var(--border);border-radius:24px;overflow:hidden;min-height:660px;}
.ac-editorial {padding:56px;background:var(--surface-2);display:flex;flex-direction:column;justify-content:space-between;gap:40px;position:relative;}
.ac-eyebrow {font-size:10px;font-weight:500;letter-spacing:.14em;color:var(--accent);margin:0 0 20px;}
.ac-editorial h2 {font-size:clamp(34px,3.4vw,48px);font-weight:500;line-height:1.15;letter-spacing:-.055em;margin:0;}
.ac-intro {font-size:16px;line-height:1.9;color:var(--text-2);margin:22px 0 0;}
.ac-principles>div {display:flex;gap:20px;padding:17px 0;border-top:1px solid var(--border-2);}
.ac-principles span {font-size:11px;color:var(--accent);padding-top:4px;font-variant-numeric:tabular-nums;}
.ac-principles p {font-size:12px;color:var(--text-2);margin:0;}
.ac-principles strong {display:block;font-size:14px;font-weight:500;color:var(--text);margin-bottom:3px;}
.ac-caption {font-size:10px;color:var(--text-3);margin:0;}
.ac-form-area {padding:56px;align-self:center;min-width:0;}
.acceso-astra .tarjeta {width:100%;max-width:430px;margin:auto;padding:0;background:none;border:0;border-radius:0;box-shadow:none;}
.acceso-astra h1 {font-size:30px;font-weight:500;letter-spacing:-.045em;line-height:1.25;text-align:left;margin:0 0 14px;}
.acceso-astra .subtitulo {text-align:left;color:var(--text-2);font-size:13px;line-height:1.8;margin:0 0 32px;}
.acceso-astra form label {color:var(--text);font-size:12px;font-weight:500;margin:20px 0 8px;display:block;}
.acceso-astra input.fx-input {width:100%;height:50px;background:var(--surface);color:var(--text);border:1px solid var(--border-2);border-radius:10px;padding:12px 14px;font:14px Poppins,sans-serif;box-shadow:none;}
.acceso-astra input::placeholder {color:var(--text-3);}
.ac-password-label {display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.ac-password-label a {font-size:11px;}
.acceso-astra button[type="submit"] {width:100%;margin:24px 0 0;min-height:50px;background:var(--accent);color:var(--accent-ink);border:1px solid transparent;border-radius:10px;font:500 13px Poppins,sans-serif;box-shadow:none;padding:12px 16px;}
.acceso-astra .ac-submit {display:flex;justify-content:space-between;align-items:center;}
.acceso-astra button[type="submit"]:hover {background:var(--accent-hover);}
.acceso-astra a {color:var(--accent);}
.acceso-astra .ac-brand {color:var(--text);}
.ac-signup {font-size:12px;text-align:center;padding:24px 0;margin:0;}
.ac-signup a {font-weight:500;}
.ac-security {display:flex;align-items:flex-start;gap:10px;border-top:1px solid var(--border);padding-top:22px;margin:0;font-size:11px;line-height:1.8;color:var(--text-2);}
.ac-security svg {flex-shrink:0;margin-top:3px;}
.ac-footer {padding-top:0;font-size:10px;color:var(--text-3);}
.ac-footer p {margin:0;}
.ac-footer nav {display:flex;gap:20px;flex-wrap:wrap;}
.ac-footer a {display:inline-flex;align-items:center;min-height:44px;color:var(--text-2);}
.ac-messages {margin:0 0 22px;}
.ac-messages .mensaje {font-size:13px;}
.acceso-astra .enlaces {font-size:12px;margin-top:24px;}
.acceso-astra .ayuda {color:var(--text-2);font-size:12px;}
.ac-skip {position:fixed;top:-80px;left:16px;padding:12px;background:var(--surface);z-index:10;}
.ac-skip:focus {top:12px;}
html.pu-theme-changing .acceso-astra * {transition:none!important;}
@media(max-width:1250px) {.ac-layout {margin:16px 32px;} .ac-editorial,.ac-form-area {padding:40px;}}
@media(max-width:850px) {.ac-layout {display:block;min-height:0;max-width:520px;margin:24px auto;} .ac-editorial {display:none;} .ac-form-area {padding:40px;} .ac-header,.ac-footer {padding:24px 32px;} .ac-footer {flex-wrap:wrap;justify-content:center;text-align:center;}}
@media(max-width:560px) {.ac-header {padding:20px;gap:12px;} .ac-theme label {display:none;} .ac-brand {font-size:12px;gap:8px;} .ac-brand img {width:24px;height:28px;} .ac-layout {margin:12px 16px 24px;border-radius:18px;} .ac-form-area {padding:30px 24px;} .acceso-astra h1 {font-size:27px;} .ac-footer {padding:0 24px 24px;gap:8px;} .ac-footer nav {gap:16px;}}
@media(prefers-reduced-motion:reduce) {.acceso-astra * {transition:none!important;animation:none!important;}}

.acceso-astra a.boton:not(.secundario) {color:var(--accent-ink);}

/* --- Complementos al fusionar (29-sep): pie legal completo, formulario de registro y páginas de resultado --- */
.acceso-astra {--warn:#8a5a00;--warn-bg:#fff4dc;--pos:#1d7a4f;--pos-bg:#e5f5ec;}
html[data-panel-tema="oscuro"] .acceso-astra {--warn:#f2c46d;--warn-bg:#3a3020;--pos:#7fd8a8;--pos-bg:#1f3a2c;}
.ac-footer {flex-direction:column;align-items:flex-start;gap:10px;}
.ac-footer .ac-legal {max-width:960px;line-height:1.7;color:var(--text-3);}
.ac-footer a {min-height:36px;}
.acceso-astra select.fx-select {width:100%;height:50px;background:var(--surface);color:var(--text);border:1px solid var(--border-2);border-radius:10px;padding:12px 14px;font:14px Poppins,sans-serif;box-shadow:none;}
.acceso-astra .fx-exp-checkbox {color:var(--text);font-size:12px;line-height:1.7;margin:14px 0 0;}
.acceso-astra .fx-exp-checkbox input {accent-color:var(--accent);}
.acceso-astra .fx-exp-checkbox a,.acceso-astra .ayuda a {color:var(--accent);}
.acceso-astra .fx-aviso-advertencia {background:var(--warn-bg);border-color:var(--warn);color:var(--text);margin:16px 0 0;}
.acceso-astra .fx-aviso-advertencia strong {color:var(--warn);}
.acceso-astra .mensaje.success {background:var(--pos-bg);border:1px solid var(--pos);color:var(--text);}
.acceso-astra .tarjeta.resultado h1,.acceso-astra .tarjeta.resultado .subtitulo {text-align:center;}
.acceso-astra .tarjeta.resultado .icono {color:var(--accent);}
.acceso-astra .tarjeta.resultado .icono svg {width:44px;height:44px;}
.acceso-astra a.boton {display:flex;justify-content:center;align-items:center;min-height:50px;margin-top:24px;border-radius:10px;font:500 13px Poppins,sans-serif;text-decoration:none;}
.acceso-astra a.boton.secundario {background:transparent;border:1px solid var(--border-2);color:var(--text);}
.acceso-astra a.boton.secundario:hover {border-color:var(--accent);background:var(--accent-tint);color:var(--text);}
.acceso-astra .fx-campo-clave input {padding-right:52px;}
@media(max-width:850px) {.ac-footer {align-items:center;text-align:center;} .ac-footer .ac-legal {text-align:center;}}

/* --- Onboarding (30-sep): errores en línea, acciones, ayuda del código y cuenta regresiva del reenvío --- */
.ac-error {color:var(--neg);font-size:12px;line-height:1.6;margin:8px 0 0;}
.acceso-astra [aria-invalid="true"] {border-color:var(--neg)!important;}
.ac-ayuda {line-height:1.7;margin-top:8px;}
.ac-opcional {color:var(--text-2);font-weight:400;}
.ac-acciones {display:grid;gap:12px;margin-top:24px;}
.ac-acciones form,.ac-acciones a.boton {margin:0;}
.ac-acciones button[type="submit"],.ac-acciones a.boton {margin-top:0;}
.acceso-astra button.ac-secundario {width:100%;min-height:50px;margin:0;padding:12px 16px;background:transparent;color:var(--text);border:1px solid var(--border-2);border-radius:10px;font:500 13px Poppins,sans-serif;cursor:pointer;box-shadow:none;}
.acceso-astra button.ac-secundario:hover:not(:disabled) {border-color:var(--accent);background:var(--accent-tint);}
.acceso-astra button:disabled {cursor:not-allowed;opacity:.6;}
.acceso-astra button[data-espera] {font-variant-numeric:tabular-nums;}
.ac-enlace-suelto {text-align:center;font-size:12px;padding:10px 0;}
.ac-nota-espera {color:var(--text);background:var(--accent-tint);border-radius:10px;padding:12px 14px;font-size:12px;margin:0 0 8px;}
.acceso-astra .tarjeta.resultado .mensaje.success {text-align:center;margin:0 0 20px;padding:12px 14px;border-radius:10px;font-size:13px;}
.acceso-astra .tarjeta.resultado .ac-acciones label {text-align:left;}
