/* CARTAFÁCIL · Estilos del panel y de las pantallas de acceso. Pensado primero para celular (360 px). */
:root{
  --fondo:#f6f1ea; --superficie:#fff; --texto:#2a2320; --suave:#6a5e57; --borde:#ddd2c6;
  --marca:#c8401e; --marca-oscura:#a83216; --sobre-marca:#fff;
  --ok-fondo:#e3f3e6; --ok-texto:#1d5b2c; --error-fondo:#fde7e3; --error-texto:#8f2413;
  --radio:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--texto);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--marca-oscura)}
h1{font-size:1.5rem;line-height:1.2;margin:0 0 8px}
p{margin:0 0 12px}
.suave{color:var(--suave)}

/* Barra superior */
.barra{display:flex;align-items:center;justify-content:space-between;max-width:480px;margin:0 auto;padding:6px 16px}
.marca{font-weight:800;font-size:1.25rem;color:var(--marca);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.enlace{background:none;border:0;color:var(--marca-oscura);font:inherit;text-decoration:underline;min-height:44px;padding:0 8px;cursor:pointer}

/* Contenedor: en tablet o PC solo se centra */
.pagina{max-width:480px;margin:0 auto;padding:8px 10px 40px}
.tarjeta{background:var(--superficie);border-radius:var(--radio);padding:24px 20px;margin-bottom:16px;box-shadow:0 1px 4px rgba(60,40,20,.08)}
.centro{text-align:center}
.franja{border-left:5px solid var(--marca)}
.pie-tarjeta{margin:16px 0 0;text-align:center}
.pie-tarjeta a{display:inline-block;padding:12px 4px}

/* Formularios */
label{display:block;font-weight:600;margin:16px 0 6px}
input[type=text],input[type=email],input[type=password]{
  width:100%;height:52px;padding:0 14px;border:1.5px solid var(--borde);border-radius:10px;
  background:#fff;color:var(--texto);font:inherit;font-size:16px /* 16 px evita el zoom automático en iPhone */
}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #1e6bd6;outline-offset:2px}
input[aria-invalid=true]{border-color:var(--error-texto)}
.campo-clave{position:relative}
.campo-clave input{padding-right:72px}
.ver-clave{position:absolute;right:4px;top:4px;height:44px;min-width:60px;border:0;background:none;color:var(--marca-oscura);font:inherit;font-weight:600;cursor:pointer}
.ayuda{font-size:.875rem;color:var(--suave);margin:6px 0 0}
.error{font-size:.9rem;color:var(--error-texto);margin:6px 0 0;font-weight:600}

/* Botones: grandes y al alcance del pulgar */
.boton{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;margin-top:20px;padding:0 20px;
  border:0;border-radius:12px;background:var(--marca);color:var(--sobre-marca);font:inherit;font-size:1.05rem;font-weight:700;text-decoration:none;cursor:pointer}
.boton:active{background:var(--marca-oscura)}
.boton-secundario{background:transparent;color:var(--marca-oscura);border:1.5px solid var(--marca);margin-top:12px}
.boton-secundario:active{background:#f6e3dc}

/* Avisos */
.aviso{padding:12px 14px;border-radius:10px;margin:0 0 16px;font-weight:600}
.aviso-ok{background:var(--ok-fondo);color:var(--ok-texto)}
.aviso-error{background:var(--error-fondo);color:var(--error-texto)}
.detalle{text-align:left;font-size:.75rem;overflow:auto;background:#f3f3f3;padding:10px;border-radius:8px}

/* Cifras del superadmin */
.cifras{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 0}
.cifras div{background:var(--fondo);border-radius:12px;padding:14px}
.cifras dt{font-size:.85rem;color:var(--suave)}
.cifras dd{margin:0;font-size:1.75rem;font-weight:800}

/* Enlace de contraseña olvidada, justo bajo el campo (zona táctil de 44 px) */
.olvide{margin:6px 0 0;text-align:right}
.olvide a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}

/* Accesos de la barra superior: Ingresar / Registrarse (o Mi panel / Salir si ya entró) */
.acceso-barra{display:flex;align-items:center;gap:6px}
.acceso-barra form{margin:0}
.boton-mini{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:99px;background:var(--marca);color:#fff;font-weight:700;text-decoration:none}
