/* ============================================================
   Club de la 15 — estilos compartidos (1516, oscuro/premium)
   NOTA: paleta y tipografía son una primera pasada; confirmar
   contra el brand real de 1516.
   Reglas: sin emojis, sin gradients en botones, sin blur/glass.
   Mobile-first. Botones >=48px. Ícono + texto.
   ============================================================ */
:root{
  --bg:#14110e;
  --surface:#1e1a16;
  --surface-2:#2a241e;
  --text:#f5efe6;
  --text-muted:#a89e90;
  --gold:#c8a96e;
  --gold-hover:#dcc08a;
  --line:rgba(255,255,255,.08);
  --ok:#6bbf8a;
  --warn:#e0b25e;
  --err:#df8166;
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  min-height:100dvh;
  display:flex;
  flex-direction:column;
}
.wrap{
  width:100%;
  max-width:460px;
  margin:0 auto;
  padding:32px 22px 48px;
  flex:1;
  display:flex;
  flex-direction:column;
}
.brand{text-align:center;margin-bottom:28px}
.brand img{
  width:76px;height:76px;border-radius:50%;
  object-fit:cover;border:1px solid var(--line);
}
.brand .club{
  font-family:'Fraunces',Georgia,serif;
  font-size:1.7rem;font-weight:600;letter-spacing:.2px;
  margin-top:14px;
}
.brand .tag{
  font-size:.82rem;color:var(--text-muted);
  letter-spacing:.4px;margin-top:4px;
}
h1{
  font-family:'Fraunces',Georgia,serif;
  font-size:1.5rem;font-weight:600;margin-bottom:6px;
}
.sub{color:var(--text-muted);font-size:.95rem;margin-bottom:24px}
.card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px;
}
label{display:block;font-size:.82rem;color:var(--text-muted);margin:14px 0 6px}
input{
  width:100%;min-height:50px;
  background:var(--surface-2);
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--text);
  font-size:1rem;
  padding:0 14px;
}
input:focus{outline:none;border-color:var(--gold)}
.btn{
  width:100%;min-height:54px;
  display:flex;align-items:center;justify-content:center;gap:10px;
  border:none;border-radius:12px;cursor:pointer;
  font-size:1.02rem;font-weight:600;
  text-decoration:none;
}
.btn svg{width:20px;height:20px;flex:none}
.btn-primary{background:var(--gold);color:#1a140c}
.btn-primary:active{background:var(--gold-hover)}
.btn-ghost{
  background:transparent;color:var(--text);
  border:1px solid var(--line);
}
.btn[disabled]{opacity:.5;pointer-events:none}
.btn + .btn{margin-top:12px}
.stack{margin-top:8px}
.msg{
  margin-top:18px;padding:14px 16px;border-radius:10px;
  font-size:.95rem;border:1px solid var(--line);
  background:var(--surface-2);display:none;
}
.msg.show{display:block}
.msg.ok{border-color:var(--ok);color:var(--ok)}
.msg.warn{border-color:var(--warn);color:var(--warn)}
.msg.err{border-color:var(--err);color:var(--err)}
.saldo{
  text-align:center;margin:10px 0 4px;
}
.saldo .n{
  font-family:'Fraunces',Georgia,serif;
  font-size:2.6rem;font-weight:600;color:var(--gold);
}
.saldo .l{font-size:.8rem;color:var(--text-muted);letter-spacing:.5px}
.foot{
  text-align:center;color:var(--text-muted);
  font-size:.75rem;margin-top:28px;
}
.foot a{color:var(--gold)}
.cfg-warn{
  display:none;margin-bottom:18px;padding:12px 14px;
  border:1px solid var(--err);border-radius:10px;
  color:var(--err);font-size:.85rem;background:var(--surface-2);
}
.cfg-warn.show{display:block}
