:root {
  --fondo: #f6f7f9;
  --tarjeta: #ffffff;
  --texto: #1b1f24;
  --suave: #5b6470;
  --acento: #1f4e79;
  --acento-texto: #ffffff;
  --borde: #d9dee5;
  --aviso: #9b2c2c;
}
@media (prefers-color-scheme: dark) {
  :root {
    --fondo: #111418;
    --tarjeta: #1a1f25;
    --texto: #e8ebef;
    --suave: #a4adb8;
    --acento: #6ea8e0;
    --acento-texto: #0d1116;
    --borde: #2c333c;
    --aviso: #f19a9a;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--fondo);
  color: var(--texto);
  font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
main { max-width: 34rem; margin: 0 auto; padding: 2rem 1rem; }
header { margin-bottom: 1.5rem; }
.marca { font-weight: 700; letter-spacing: 0.12em; color: var(--acento); }
section {
  background: var(--tarjeta);
  border: 1px solid var(--borde);
  border-radius: 12px;
  padding: 1.5rem;
}
h1 { font-size: 1.35rem; margin: 0 0 0.75rem; }
p, li { color: var(--texto); }
.nota, footer { color: var(--suave); font-size: 0.9rem; }
footer { margin-top: 1.5rem; text-align: center; }
button {
  font: inherit;
  padding: 0.65rem 1.1rem;
  border-radius: 8px;
  border: 1px solid var(--borde);
  background: transparent;
  color: var(--texto);
  cursor: pointer;
}
button.principal { background: var(--acento); color: var(--acento-texto); border-color: var(--acento); }
.botones { display: flex; gap: 0.75rem; margin-top: 1rem; }
input {
  font: inherit;
  font-size: 1.4rem;
  letter-spacing: 0.3em;
  width: 9.5rem;
  padding: 0.5rem;
  margin-right: 0.5rem;
  border: 1px solid var(--borde);
  border-radius: 8px;
  background: var(--fondo);
  color: var(--texto);
}
.qr { display: block; width: 200px; height: 200px; margin: 0.5rem 0; background: #fff; padding: 8px; border-radius: 8px; }
code { word-break: break-all; }
.aviso { color: var(--aviso); }
.permisos li { margin-bottom: 0.4rem; }
