/* Estilos comunes de las páginas de administración. */
:root{--verde:#2E7D5B;--tinta:#161B22;--sub:#5B6672;--linea:#E3E7EB;--fondo:#F7F8FA;
      --rojo:#B03A3A;--ambar:#C87A20;--card:#fff}
*{box-sizing:border-box}
body{margin:0;background:var(--fondo);color:var(--tinta);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;padding:0 0 40px}
.caja{max-width:900px;margin:0 auto;padding:0 16px}

/* Cabecera y navegación, iguales en todas las páginas */
.admin-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  flex-wrap:wrap;padding:22px 0 14px}
.am-t{font-size:22px;font-weight:800;line-height:1.1}
.am-s{color:var(--sub);font-size:13px;margin-top:2px}
.admin-quien{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--sub)}
.admin-nav{display:flex;gap:4px;border-bottom:1px solid var(--linea);margin-bottom:22px;
  overflow-x:auto}
.nav-item{padding:10px 14px;font-size:14px;font-weight:700;color:var(--sub);
  text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.nav-item:hover{color:var(--tinta)}
.nav-item.on{color:var(--verde);border-bottom-color:var(--verde)}

h2{font-size:12px;margin:26px 0 10px;text-transform:uppercase;letter-spacing:.06em;color:var(--sub)}
h2:first-child{margin-top:0}
label{display:block;font-size:12px;font-weight:700;color:var(--sub);margin:0 0 5px}
input,textarea,select{width:100%;padding:10px;border:1px solid var(--linea);border-radius:9px;
  font-size:14px;font-family:inherit;background:#fff;color:var(--tinta)}
input:focus,textarea:focus{outline:none;border-color:var(--verde)}
button{background:var(--verde);color:#fff;border:none;border-radius:10px;padding:12px 18px;
  font-size:15px;font-weight:700;font-family:inherit;cursor:pointer}
button:disabled{opacity:.5;cursor:default}
button.sec{background:#fff;color:var(--sub);border:1px solid var(--linea);padding:8px 14px;font-size:13px}
button.peligro{background:#fff;color:var(--rojo);border:1px solid var(--linea)}
.fila{display:flex;gap:12px;flex-wrap:wrap}
.fila>div{flex:1;min-width:150px}
.panel{background:var(--card);border:1px solid var(--linea);border-radius:16px;padding:22px}
.msg{padding:11px 13px;border-radius:10px;font-size:13px;margin:14px 0;display:none;line-height:1.55}
.msg.on{display:block}
.msg.err{background:#FBEAEA;color:var(--rojo)}
.msg.ok{background:#E7F3ED;color:var(--verde)}
.msg.avi{background:#FCF3E6;color:var(--ambar)}
.msg ul{margin:6px 0 0;padding-left:20px}
.oculto{display:none}
.pista{font-size:12px;color:var(--sub);line-height:1.5;margin-top:6px}
.acciones{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;
  color:var(--sub);padding:6px;border-bottom:1px solid var(--linea)}
td{padding:4px 6px;border-bottom:1px solid #F0F2F4}
td input,td select{padding:7px;font-size:13px}
.quitar{background:none;border:none;color:var(--rojo);cursor:pointer;font-size:16px;padding:0 6px}

/* Pantalla de acceso, común */
.acceso-caja{max-width:440px;margin:60px auto 0}
#adminCargando{max-width:440px;margin:80px auto;text-align:center;color:var(--sub);font-size:13px}

/* Cifras */
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.cifra{background:var(--card);border:1px solid var(--linea);border-radius:14px;padding:14px 16px}
.cifra .n{font-size:26px;font-weight:800;line-height:1.1}
.cifra .e{font-size:12px;color:var(--sub);margin-top:3px;line-height:1.35}
.cifra .d{font-size:11px;color:var(--sub);margin-top:6px;opacity:.85}
