/* titular-login.css -- login + alta del titular (miNegocio, acento terracota --
   ESTILO_VISUAL_FUNCAR.md: "terracota -- Empresas/miNegocio". Corregido
   2026-10-05: este archivo decía textualmente "Personas/miNegocio usa lime,
   no terracota", en contradicción directa con ESTILO_VISUAL_FUNCAR.md (que
   ya decía "terracota -- Empresas/miNegocio" 47 minutos antes de este commit,
   verificado por git log) -- un error de quien escribió este comentario, no
   una decisión real. Confirmado por Rodrigo 2026-10-05. Tema CLARO por
   default desde 2026-10-20 (UX-09, ESTILO_VISUAL_FUNCAR.md); el oscuro es opcional
   y se recuerda. En claro, texto y botones con acento usan #A3481F (AA, UX-10).). Paleta y tipografia de ESTILO_VISUAL_FUNCAR.md
   (funcar-hermes). Archivo aparte (no <style> inline): asi la CSP de
   /titular-login no necesita 'unsafe-inline' en style-src. */

:root{
  --ink:#0B0D0A;
  --surface:#14180F;
  --surface-2:#1C2116;
  --terracota:#D97B4F;
  --terracota-hover:#E8926B;
  --bone:#F3F4EF;
  --muted:#A3A99A;
  --line:rgba(243,244,239,.16);
  --accent-text:#D97B4F;
  --seleccion:rgba(217,123,79,.10);
  --danger:#E08B78;
  --btn-text:#0B0D0A;
  /* Elevacion tonal (ESTILO_VISUAL_FUNCAR.md, "Tokens de elevacion tonal", 2026-10-02):
     permitida aca -- esta pantalla es alta/marketing, no un dashboard de uso diario. */
  --surface-3:#20261A;
  --line-hl:rgba(217,123,79,.4);
  --dur-e:230ms;
  --ease-out:cubic-bezier(0.23,1,0.32,1);
  color-scheme:dark;
}
:root[data-tema="claro"]{
  --ink:#F3F4EF;
  --surface:#FFFFFF;
  --surface-2:#E8EADF;
  --terracota:#A3481F;
  --terracota-hover:#8A3618;
  --bone:#0B0D0A;
  --muted:#4F5646;
  --line:rgba(11,13,10,.22);
  --btn-text:#FFFFFF;
  --accent-text:#A3481F;
  --seleccion:rgba(193,94,49,.32);
  --danger:#A63A25;
  --surface-3:#DCDFD0;
  --line-hl:rgba(193,94,49,.5);
  color-scheme:light;
}

*{box-sizing:border-box;margin:0;padding:0}
body{
  background:var(--ink);color:var(--bone);
  font-family:'Archivo',system-ui,sans-serif;font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--seleccion)}
.wrap{max-width:760px;margin:0 auto;padding:0 24px}

.barra{border-bottom:1px solid var(--line)}

/* Barra de avance del wizard de alta (DISENO_WIZARD_ALTA_PASOS_Y_PLAN.md, funcar-hermes,
   2026-10-15) -- mismo patron que frontend_web/onboarding-demo.html (.barra-progreso-fill),
   mas gruesa (6px en vez de 3px, pedido explicito de Rodrigo: "que se note el avance"). */
.barra-progreso{height:6px;background:var(--surface-2)}
.barra-progreso-fill{
  height:100%;background:var(--terracota);width:0;
  transition:width 320ms var(--ease-out);
}
.barra-in{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.logo{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:19px;
  letter-spacing:-.02em;color:var(--bone);
}
.logo .negocio{color:var(--accent-text)}
.tema{display:inline-flex;border:1px solid var(--line);border-radius:100px;padding:3px}
.tema button{
  font:inherit;font-size:14px;font-weight:500;color:var(--muted);background:transparent;
  border:none;border-radius:100px;padding:6px 14px;min-height:44px;cursor:pointer;
}
.tema button[aria-pressed="true"]{background:var(--terracota);color:var(--btn-text)}
.tema button:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}

main{padding:56px 0 96px}
.paso-n{
  font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent-text);margin-bottom:14px;
}
h1{
  font-family:'IBM Plex Mono',monospace;font-weight:700;
  font-size:clamp(28px,5vw,40px);line-height:1.08;letter-spacing:-.02em;margin-bottom:16px;
}
h1:focus{outline:none}
.lead{color:var(--muted);font-size:17px;max-width:54ch;margin-bottom:30px}
.lead strong{color:var(--bone);font-weight:500}
.ayuda{color:var(--muted);font-size:16px}
.ayuda-espaciada{margin-top:26px}

.campo{margin-bottom:20px;max-width:440px}
.campo label{display:block;font-weight:500;font-size:16px;margin-bottom:7px}
.campo .nota{color:var(--muted);font-size:14px;margin-top:6px}
.campo input{
  width:100%;min-height:50px;font:inherit;font-size:17px;color:var(--bone);
  background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:11px 14px;
}
.campo input:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-color:var(--accent-text)}
.campo input[aria-invalid="true"]{border-color:var(--danger)}

/* Botón de mostrar/ocultar contraseña, ojito clásico -- pedido real de Rodrigo
   (2026-10-15): cualquier campo de login/alta/restablecer tiene que tenerlo. */
.campo-pass{position:relative}
.campo-pass input{padding-right:52px}
.btn-ver-pass{
  position:absolute;right:2px;top:0;bottom:0;margin:auto 0;height:44px;width:44px;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:none;color:var(--muted);cursor:pointer;padding:0;
}
.btn-ver-pass svg{width:19px;height:19px;display:block}
.btn-ver-pass:hover{color:var(--accent-text)}
.btn-ver-pass:focus-visible{outline:1px solid var(--accent-text);outline-offset:1px}
.btn-ver-pass[aria-pressed="true"]{color:var(--accent-text)}
.error{color:var(--danger);font-size:15px;font-weight:500;margin-top:7px}
.error:empty{display:none}
.error-general{border-left:3px solid var(--danger);padding:4px 0 4px 14px;margin-bottom:22px}
.error-general:empty{display:none}
.exito{color:var(--accent-text);font-weight:500;margin-top:12px}
.exito:empty{display:none}
.rubro-elegido{color:var(--accent-text);font-weight:600;font-size:15px;margin-bottom:26px}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:var(--terracota);color:var(--btn-text);font:inherit;font-weight:600;font-size:17px;
  padding:15px 30px;min-height:52px;border-radius:100px;text-decoration:none;
  border:1px solid rgba(11,13,10,.18);cursor:pointer;transition:background .18s;
}
.btn:hover{background:var(--terracota-hover)}
.btn:active{background:var(--terracota-hover)}
.btn[disabled]{opacity:.6;cursor:progress}
.btn:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}
.btn-ancho{width:100%}
/* Boton "Continuar con Google" segun la guia de marca de Google (fondo y borde
   neutros, logo G de 4 colores, Roboto Medium 14px, 40px de alto, forma pill).
   No usa el acento de func.ar a proposito: Google exige su propio estilo. */
.btn-google{
  display:flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;
  width:100%;max-width:280px;height:40px;margin:0 auto;padding:0 16px;
  border:1px solid #8E918F;border-radius:20px;background:#131314;color:#E3E3E3;
  font:500 14px/20px Roboto,Arial,sans-serif;text-decoration:none;white-space:nowrap;
  cursor:pointer;
}
.btn-google[hidden]{display:none}
.btn-google:hover{background:#1E1F20}
.btn-google:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}
.btn-google .g-logo{flex:none;width:18px;height:18px}
:root[data-tema="claro"] .btn-google{border-color:#747775;background:#FFFFFF;color:#1F1F1F}
:root[data-tema="claro"] .btn-google:hover{background:#F2F2F2}
.separador-o{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12.5px;
  text-transform:uppercase;letter-spacing:.04em;margin:18px 0}
.separador-o::before,.separador-o::after{content:'';flex:1;height:1px;background:var(--line)}
.acciones{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.link{color:var(--accent-text);font-weight:500;background:none;border:none;font:inherit;
      cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}
.link:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px}
[hidden]{display:none !important}
/* Areas tactiles en movil (UX-18): los enlaces de texto ("Olvidaste tu
   contrasena", "Crear cuenta") medían ~25 px de alto. */
@media (max-width:600px){
  .link{display:inline-flex;align-items:center;min-height:44px}
}

/* Selector Fisica/Juridica (DISENO_ALTA_UNICA_WEB_WIZARD.md §3.2) -- segmentado de
   dos botones, mismo lenguaje visual que el toggle de tema (.tema) de arriba, con el
   acento terracota de esta pantalla en vez de uno nuevo. */
.campo-leyenda{display:block;font-weight:500;font-size:16px;margin-bottom:9px}
.segmentado{display:inline-flex;border:1.5px solid var(--line);border-radius:100px;padding:3px;gap:3px}
.seg-opcion{
  font:inherit;font-size:15px;font-weight:500;color:var(--muted);background:transparent;
  border:none;border-radius:100px;padding:9px 18px;min-height:44px;cursor:pointer;
  transition:background .15s,color .15s;
}
.seg-opcion[aria-checked="true"]{background:var(--terracota);color:var(--btn-text);font-weight:600}
.seg-opcion:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}

/* 6 casilleros de verificacion (patron OTP estandar, DISENO_ALTA_UNICA_WEB_WIZARD.md
   §3.4): cuadrados chicos, monoespaciados (IBM Plex Mono, igual criterio tipografico
   que el resto de los numeros de esta pantalla), separados -- nunca un input unico. */
.campo-codigo{max-width:420px}
.casilleros{display:flex;gap:10px}
.casillero{
  width:48px;height:56px;text-align:center;font:inherit;
  font-family:'IBM Plex Mono',monospace;font-size:24px;font-weight:600;color:var(--bone);
  background:var(--surface);border:1.5px solid var(--line);border-radius:12px;
}
.casillero:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-color:var(--accent-text)}
.casillero[aria-invalid="true"]{border-color:var(--danger)}
@media(max-width:400px){.casillero{width:15.5vw;height:17vw;font-size:clamp(18px,5vw,24px)}}

.pie{color:var(--muted);font-size:14px;max-width:70ch;margin-top:56px;padding-top:20px;border-top:1px solid var(--line)}

/* Transicion lateral entre pasos del wizard (DISENO_WIZARD_ALTA_PASOS_Y_PLAN.md,
   funcar-hermes, 2026-10-15) -- mismo patron que onboarding-demo.html
   (.entrando-d/.entrando-i), pedido explicito: avanzar/volver desliza, nunca recarga
   la pagina entera (todo sigue siendo show/hide de <section>, como ya hacia
   `mostrar()` -- esto solo le suma la animacion de entrada). */
@keyframes entra-d{from{opacity:0;transform:translateX(28px)} to{opacity:1;transform:translateX(0)}}
@keyframes entra-i{from{opacity:0;transform:translateX(-28px)} to{opacity:1;transform:translateX(0)}}
main section.entrando-d{animation:entra-d var(--dur-e) var(--ease-out) both}
main section.entrando-i{animation:entra-i var(--dur-e) var(--ease-out) both}

/* Tarjetas de rubro (paso "Tu Rubro") y de plan (paso "Elegir Plan") -- elevacion
   tonal (--surface-3/--line-hl) en vez de gradiente o box-shadow, mismo criterio
   que el resto de ESTILO_VISUAL_FUNCAR.md. */
.tarjetas-rubro,.tarjetas-plan{display:flex;flex-direction:column;gap:14px;margin-bottom:28px}
.tarjeta-rubro,.tarjeta-plan{
  display:block;width:100%;text-align:left;font:inherit;color:var(--bone);
  background:var(--surface-2);border:1.5px solid var(--line);border-radius:16px;
  padding:20px 22px;cursor:pointer;transition:background .15s,border-color .15s;
}
.tarjeta-rubro:hover,.tarjeta-plan:hover{background:var(--surface-3);border-color:var(--line-hl)}
.tarjeta-rubro:focus-visible,.tarjeta-plan:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}
.tarjeta-rubro[aria-checked="true"],.tarjeta-plan[aria-checked="true"]{
  background:var(--surface-3);border-color:var(--terracota);
}
.tarjeta-rubro-titulo,.tarjeta-plan-titulo{display:block;font-weight:600;font-size:18px;margin-bottom:4px}
.tarjeta-rubro-desc,.tarjeta-plan-desc{display:block;color:var(--muted);font-size:15px}
.tarjeta-plan-precio{
  font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:17px;color:var(--accent-text);
  margin-top:8px;display:block;
}
.tarjeta-plan-nota{display:block;color:var(--muted);font-size:13.5px;margin-top:6px}

@media(prefers-reduced-motion:reduce){
  *{transition:none !important}
  main section.entrando-d,main section.entrando-i{animation:none !important}
}
