/* Pantallas de entrada (configurar, activar, PIN) y piezas nuevas del servidor */
html,body{height:100%}
body{margin:0}
[hidden]{display:none!important}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}

.acceso{min-height:100%;display:flex;flex-direction:column;align-items:center;
  padding-block:40px 32px;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.acceso .logo img{height:30px}
.acceso .caja{width:100%;max-width:400px;margin-top:34px;display:flex;flex-direction:column;gap:16px}
.acceso h1{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.15;margin:0;text-wrap:balance}
.acceso p{margin:0;color:var(--muted);font-size:15px}
.acceso .error{color:var(--red);font-weight:600;font-size:14px;min-height:20px}
.acceso .f{gap:12px}
.acceso .linkbtn{align-self:center;margin-top:8px;font-size:14px}
.acceso .pie{margin-top:auto;padding-top:28px}

.quien{display:flex;flex-direction:column;gap:10px}
.quien button{display:flex;align-items:center;gap:14px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;font-size:17px;font-weight:600}
.quien button:hover{border-color:var(--clay)}
.quien .ini{width:40px;height:40px;border-radius:50%;background:var(--clay-soft);color:var(--clay-ink);display:grid;place-items:center;font-family:var(--serif);font-size:19px;flex:none}
.quien small{display:block;font-weight:400;font-size:13px;color:var(--muted)}

.puntos{display:flex;justify-content:center;gap:16px;margin:8px 0 4px}
.puntos i{width:16px;height:16px;border-radius:50%;border:2px solid var(--muted)}
.puntos i.on{background:var(--fg);border-color:var(--fg)}
.puntos.mal{animation:sacudir .35s}
@keyframes sacudir{25%{transform:translateX(-8px)}50%{transform:translateX(8px)}75%{transform:translateX(-4px)}}
.teclado{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
.teclado button{height:64px;border-radius:16px;border:0;background:var(--sunk);font-size:26px;font-weight:500;font-variant-numeric:tabular-nums}
.teclado button:active{background:var(--line)}
.teclado .vacio{visibility:hidden}
.teclado .borrar{font-size:15px;font-weight:600;color:var(--muted)}

.qr{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px;background:#fff;border-radius:16px;border:1px solid var(--line)}
.qr svg{width:min(260px,70vw);height:auto;display:block}
.qr p{color:#1A1918;font-size:13px;text-align:center;margin:0}
.copiar{display:flex;gap:8px;width:100%}
.copiar input{flex:1;min-width:0;font-size:12px!important;padding:8px 10px!important}

.aparato{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.aparato b{font-weight:600}
.aparato small{display:block;color:var(--muted);font-size:12.5px}
.pinok{font-size:12.5px;color:var(--green);font-weight:600}
.pinno{font-size:12.5px;color:var(--red);font-weight:600}
.quiensoy{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13.5px;color:var(--muted)}
.quiensoy b{color:var(--fg)}
.side .quiensoy{flex-direction:column;align-items:flex-start}
.salir{background:none;border:0;color:var(--clay-ink);font-weight:600;font-size:13.5px;padding:4px 0}
.top .sel.solo{grid-template-columns:1fr}
.cargando{padding:40px 0;color:var(--muted);text-align:center}
.row .txt{min-width:0}
.empty.sin-borde{border:0;padding:4px 0}
.btn.grow{flex:1}
.fotos a{display:block}
.f input[type=password]{width:100%;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 12px;font-size:16px;color:var(--fg)}
