/* ===== Lavado de cara de la app: mismas variables de color de cada liga; cambia tipografia, ritmo y panel de administracion ===== */
@font-face { font-family: 'Barlow'; font-weight: 400; font-style: normal; font-display: swap; src: url('../assets/fonts/barlow-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-weight: 600; font-style: normal; font-display: swap; src: url('../assets/fonts/barlow-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-weight: 700; font-style: normal; font-display: swap; src: url('../assets/fonts/barlow-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow Condensed'; font-weight: 700; font-style: normal; font-display: swap; src: url('../assets/fonts/barlow-condensed-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Barlow Condensed'; font-weight: 800; font-style: normal; font-display: swap; src: url('../assets/fonts/barlow-condensed-latin-800-normal.woff2') format('woff2'); }
:root { --serie: 'Barlow Condensed', 'Arial Narrow', 'Roboto Condensed', system-ui, sans-serif; }
body, button, input, select, textarea { font-family: 'Barlow', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }
body { font-size: 17px; -webkit-font-smoothing: antialiased; }
h1, h2, h3, .marca h1 { font-family: var(--serie); font-weight: 800; letter-spacing: .005em; }
h2 { font-size: 1.9rem; margin: 22px 0 8px; }
h3 { font-size: 1.35rem; margin: 26px 0 10px; }
.marca h1 { font-size: 1.7rem; line-height: 1.05; }
.tab { font-weight: 600; font-size: 1.02rem; padding: 12px 16px; }
.btn { border-radius: 10px; font-weight: 700; letter-spacing: .01em; }
.btn.pequeno { border-radius: 8px; font-weight: 600; }
.btn.peligro { background: transparent; color: var(--mal); border: 1px solid color-mix(in srgb, var(--mal) 55%, transparent); }
.btn.peligro:hover { background: var(--mal); color: #fff; }

/* administracion: menu lateral y secciones como listas */
.admin-rejilla { display: grid; grid-template-columns: 224px minmax(0, 1fr); gap: 32px; align-items: start; margin-top: 8px; }
.admin-rejilla > .subnav { flex-direction: column; flex-wrap: nowrap; overflow: visible; gap: 2px; padding: 0 16px 0 0; border-right: 1px solid var(--borde); position: sticky; top: 14px; }
.admin-rejilla > .subnav .pill { background: transparent; border: 0; border-radius: 8px; text-align: left; padding: 11px 12px; font-weight: 600; font-size: .98rem; color: var(--suave); transition: background .15s, color .15s; }
.admin-rejilla > .subnav .pill:hover { background: var(--hover); color: var(--texto); }
.admin-rejilla > .subnav .pill.activa { background: color-mix(in srgb, var(--c1) 14%, transparent); color: var(--texto); box-shadow: inset 3px 0 0 var(--c1); }
.seccion-admin { min-width: 0; }
.seccion-admin > h3:first-child { margin-top: 0; }
.seccion-admin h3 { position: relative; padding-top: 14px; }
.seccion-admin h3::before { content: ''; position: absolute; top: 0; left: 0; width: 34px; height: 3px; border-radius: 2px; background: var(--c1); }
.fila-admin { border-radius: 10px; padding: 14px 16px; margin: 8px 0; transition: border-color .15s; }
.fila-admin:hover { border-color: color-mix(in srgb, var(--c1) 45%, var(--borde)); }
.fila-admin strong { font-size: 1.08rem; }
@media (max-width: 880px) {
  .admin-rejilla { display: block; }
  .admin-rejilla > .subnav { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; border-right: 0; padding: 2px 0 10px; position: static; }
  .admin-rejilla > .subnav .pill { background: var(--tarjeta); border: 1px solid var(--borde); border-radius: 999px; padding: 7px 14px; white-space: nowrap; flex: none; }
  .admin-rejilla > .subnav .pill.activa { background: var(--c1); color: #fff; border-color: var(--c1); box-shadow: none; }
}

/* Ajustes: casilla del directorio en su propia linea, con el texto alineado */
.campo-check { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0; line-height: 1.4; cursor: pointer; }
.campo-check input { margin-top: 3px; flex: none; }

/* Ajustes: cambiar la direccion de la liga */
.dir-campo { display: flex; align-items: center; border: 1px solid var(--borde); border-radius: 10px; background: var(--tarjeta); overflow: hidden; max-width: 560px; }
.dir-campo span { padding: 0 10px; color: var(--suave); font-size: .88rem; white-space: nowrap; }
.dir-campo input { flex: 1; min-width: 80px; border: 0; border-radius: 0; background: transparent; padding: 10px 4px; font-weight: 600; }
.dir-campo input:focus { outline: none; }
.dir-campo:focus-within { border-color: var(--c1); }
.dir-estado { display: block; min-height: 1.2em; margin: 6px 0 4px; font-size: .82rem; color: var(--suave); word-break: break-all; }
.dir-estado.ok { color: var(--bien, #2ecc71); } .dir-estado.mal { color: var(--mal, #e74c3c); }
@media (max-width: 480px) { .dir-campo span:last-child { font-size: .75rem; padding: 0 6px; } .dir-campo span:first-child { display: none; } }
