/* Timbre · Administración (mismo estilo de la app: arena, tinta y un solo acento) */
.adm-entrada { min-height: 100dvh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px 16px; }
.adm-entrada .logo img { height: 56px; }
.adm-sobre { font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--suave); margin: 12px 0 28px; }
.adm-caja { width: 100%; max-width: 460px; background: var(--superficie); border-radius: 24px; padding: 28px; box-shadow: var(--sombra); }
.adm-caja h1 { margin: 0 0 6px; font-size: 24px; letter-spacing: -.02em; }
.adm-caja > p { margin: 0 0 18px; line-height: 1.5; }
.cerraduras { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.cerraduras li { display: flex; gap: 14px; align-items: flex-start; padding: 16px; border: 1.5px solid var(--linea); border-radius: 16px; }
.cerraduras li > div { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.cerraduras b { font-size: 15.5px; }
.cerraduras small { color: var(--suave); font-size: 13px; margin-bottom: 10px; }
.marca-paso { flex: none; width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--linea); margin-top: 1px; }
.cerraduras li.hecho { border-color: #2fb36b55; background: #2fb36b0d; }
.cerraduras li.hecho .marca-paso { border-color: #2fb36b; background: #2fb36b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat; }
.cerraduras li.hecho button, .cerraduras li.hecho form, .cerraduras li.hecho .boton-google { display: none; }
.cerraduras li.oculto { display: none; }
.fila-codigo { display: flex; gap: 8px; }
.fila-codigo input { flex: 1; min-width: 0; }
.adm-boton { font: inherit; font-weight: 600; font-size: 14px; padding: 10px 16px; border-radius: 999px; background: var(--fondo); color: var(--tinta); border: 1.5px solid var(--linea); cursor: pointer; white-space: nowrap; }
.adm-boton:hover { border-color: var(--tinta); }
.adm-boton.grande { background: var(--tinta); color: var(--fondo); border-color: var(--tinta); padding: 12px 20px; }
.adm-boton:disabled { opacity: .5; }
.adm-campo, .fila-codigo input { font: inherit; font-size: 15px; color: var(--tinta); background: var(--superficie); border: 1.5px solid var(--linea); border-radius: 12px; padding: 11px 13px; outline: none; width: 100%; }
.adm-campo:focus, .fila-codigo input:focus { border-color: var(--acento); }
.adm-campo.corto { width: auto; min-width: 200px; }
.adm-caja .adm-campo { margin-bottom: 12px; }
.adm-caja .adm-boton.grande { width: 100%; }
.codigos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 6px 0 18px; font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 17px; font-weight: 600; letter-spacing: .06em; }
.codigos span { padding: 10px; text-align: center; border-radius: 10px; background: var(--fondo); }
.fila-botones { display: flex; gap: 10px; justify-content: flex-end; align-items: center; }
.fila-botones .cancelar { width: auto; margin: 0; }

.adm-principal { max-width: 1080px; margin: 0 auto; padding: 0 24px 64px; }
.adm-barra { display: flex; align-items: center; gap: 20px; padding: 22px 0; }
.adm-barra .marca { flex-direction: column; align-items: flex-start; gap: 8px; margin-right: auto; }
.adm-barra .logo img { height: 34px; display: block; }
.adm-pestanas { display: flex; gap: 4px; background: var(--superficie); padding: 4px; border-radius: 999px; box-shadow: var(--sombra); }
.adm-pestanas button { font: inherit; font-weight: 600; font-size: 14px; padding: 9px 16px; border-radius: 999px; color: var(--suave); }
.adm-pestanas button.activa { background: var(--tinta); color: var(--fondo); }
.adm-titulo { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 26px 0 14px; }
.adm-titulo h2 { margin: 0; font-size: 28px; letter-spacing: -.02em; }
.adm-titulo.chico { margin: 0 0 12px; }
.adm-titulo.chico h3 { margin: 0; }
.adm-tarjeta { background: var(--superficie); border-radius: 22px; padding: 22px; box-shadow: var(--sombra); margin-bottom: 16px; }
.adm-tarjeta h3 { margin: 0 0 14px; font-size: 17px; }
.tarjetas-comercio { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.tarjeta-comercio { text-align: left; font: inherit; color: inherit; background: var(--superficie); border-radius: 20px; padding: 20px; box-shadow: var(--sombra); cursor: pointer; border: 1.5px solid transparent; }
.tarjeta-comercio:hover { border-color: var(--linea); }
.tarjeta-comercio b { display: block; font-size: 18px; margin-bottom: 4px; }
.tarjeta-comercio small { display: block; color: var(--suave); font-size: 13px; line-height: 1.6; }
.tarjeta-comercio .estado { display: inline-block; margin-top: 10px; font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; background: #2fb36b1a; color: #23935a; }
.tarjeta-comercio .estado.falta { background: var(--acento-suave); color: var(--acento); }
.tarjeta-comercio.inactivo { opacity: .5; }
.fila-usuario { display: grid; grid-template-columns: 1.2fr 1.1fr 1.1fr 1fr 1fr auto; gap: 8px; }

.adm-editor { max-width: 720px; }
.adm-editor fieldset { border: 0; padding: 0; margin: 18px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
.adm-editor legend { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--suave); margin-bottom: 8px; }
.adm-editor label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; font-weight: 600; color: var(--suave); }
.adm-editor label.ancho, .adm-editor .ancho { grid-column: 1 / -1; }
.adm-editor input:not([type=checkbox]), .adm-editor select, .adm-editor textarea { font: inherit; font-size: 15px; font-weight: 400; color: var(--tinta); background: var(--superficie); border: 1.5px solid var(--linea); border-radius: 12px; padding: 10px 12px; outline: none; width: 100%; }
.adm-editor textarea { font-family: ui-monospace, Menlo, monospace; font-size: 12.5px; resize: vertical; }
.adm-editor input:focus, .adm-editor select:focus, .adm-editor textarea:focus { border-color: var(--acento); }
.adm-editor label.casilla { flex-direction: row; align-items: center; gap: 10px; font-size: 15px; color: var(--tinta); font-weight: 500; }
.adm-editor label.casilla input { width: 20px; height: 20px; accent-color: var(--acento); }
.clave-atajo { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 14px; }
.aviso-clave { padding: 14px; border-radius: 12px; background: var(--acento-suave); font-size: 14px; line-height: 1.5; }
.aviso-clave code { font-size: 17px; font-weight: 700; letter-spacing: .04em; user-select: all; }
.adm-editor .fila-botones { margin-top: 20px; }

@media (max-width: 820px) {
  .adm-barra { flex-wrap: wrap; }
  .adm-pestanas { order: 3; width: 100%; justify-content: space-between; }
  .adm-pestanas button { flex: 1; }
  .fila-usuario, .adm-editor fieldset { grid-template-columns: 1fr; }
  .adm-titulo { flex-wrap: wrap; }
}
@media print {
  body * { visibility: hidden; }
  #primeraCodigos, #primeraCodigos *, #listaCodigos, #listaCodigos * { visibility: visible; }
  #primeraCodigos, #listaCodigos { position: absolute; inset: 0; box-shadow: none; }
}
