/*
 * Estilos del área de administración y del login.
 *
 * Se carga desde templates/admin/header.php DESPUÉS de Bootstrap 5.3.3 y de
 * assets/tokens.css (el sistema de diseño). Solo usa los tokens de marca;
 * lo que falta se define abajo con prefijo --pk-a- (ver :root).
 *
 * Criterio: herramienta de trabajo de UNA persona, casi siempre desde el
 * celular en la pista. Plano, denso pero respirado, sin sombras decorativas,
 * radios de 2-4px, objetivos táctiles de 44px o más y un solo lenguaje
 * de estados (ver "Etiquetas de estado").
 */

:root {
  /* Tokens que el sistema no trae. Contrastes medidos (WCAG). */
  --pk-a-borde-campo: #8A857D;        /* borde de campos: 3,7:1 sobre blanco (los 2,0:1 de tokens.css no llegan a 3:1 para componentes de UI) */
  --pk-a-gris: #E9EAE4;               /* relleno neutro: texto-2 5,9:1, texto 13,8:1 */
  --pk-a-azul-tenue: #E8EDF6;         /* fondo de avisos informativos: texto 15:1 */
  --pk-a-ladrillo-tenue: #F8E9E7;     /* fondo de avisos de error: texto 14:1 */
  --pk-a-claro-sobre-oscuro: #C9C0BA; /* texto secundario sobre tierra: 8,8:1 */
  --pk-a-nav-alto: 4rem;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: var(--pk-papel);
}

.pk-main { flex: 1 0 auto; }

/* ---------- Encabezado de página (un solo estilo de h1) ---------- */
.pk-pagina { padding-top: 1.5rem; padding-bottom: 3rem; }
@media (min-width: 768px) { .pk-pagina { padding-top: 2.5rem; padding-bottom: 4rem; } }

.pk-main h1 {
  margin: 0;
  font-size: clamp(2.25rem, 1.85rem + 1.6vw, 3.25rem);
  color: var(--pk-texto);
}
.pk-main h2 {
  font-size: clamp(1.5rem, 1.3rem + 0.8vw, 1.875rem);
  margin: 0 0 0.75rem;
}
.pk-cabecera {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.5rem;
  margin-bottom: 1.5rem;
}
.pk-intro { color: var(--pk-texto-2); margin: -0.75rem 0 1.5rem; }

/* ---------- Navbar ---------- */
.pk-nav {
  background: var(--pk-tierra);
  border-bottom: 1px solid var(--pk-linea-oscura);
  padding: 0;
  /* Iconos de la navbar toggler en blanco (sobre tierra) */
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.pk-nav .container { min-height: var(--pk-a-nav-alto); }

.pk-marca {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 44px;
  color: #fff;
  font-family: var(--pk-fuente-display);
  font-weight: 800;
  font-size: 1.625rem;
  line-height: 1;
  text-decoration: none;
  margin-right: 1.5rem;
}
.pk-marca:hover { color: #fff; }
.pk-marca img { height: 34px; width: auto; }

.pk-nav .navbar-toggler {
  min-width: 44px;
  min-height: 44px;
  border-color: rgba(255, 255, 255, 0.55);
  border-radius: var(--pk-radio);
}
.pk-nav .navbar-toggler:focus { box-shadow: none; }

.pk-nav .nav-link {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 0 1rem;
  color: var(--pk-texto-sobre-oscuro);
  font-weight: 500;
  border-radius: 0;
}
.pk-nav .nav-link:hover { color: #fff; background: rgba(255, 255, 255, 0.06); }
.pk-nav .nav-link.active { color: #fff; font-weight: 600; }
.pk-nav .nav-link:focus-visible { outline-offset: -3px; }

/* Menú desplegado (móvil y tablet): la marca del activo es una barra dorada a la izquierda */
@media (max-width: 1199.98px) {
  .pk-nav .navbar-collapse { padding-bottom: 0.75rem; }
  .pk-nav .nav-link.active { box-shadow: inset 4px 0 0 var(--pk-dorado); }
  .pk-nav-fin { margin-top: 0.5rem; padding-top: 0.5rem; border-top: 1px solid var(--pk-linea-oscura); }
}
/* Escritorio: los enlaces ocupan todo el alto de la barra y el activo lleva
   la línea dorada gruesa apoyada en su borde inferior. */
@media (min-width: 1200px) {
  .pk-nav .navbar-nav { align-items: stretch; }
  .pk-nav .nav-link {
    min-height: var(--pk-a-nav-alto);
    padding: 0 0.85rem;
    border-bottom: 4px solid transparent;
  }
  .pk-nav .nav-link.active { border-bottom-color: var(--pk-dorado); }
  .pk-nav .navbar-collapse { align-self: stretch; }
  .pk-nav-fin { margin-left: auto; }
}

/* ---------- Avisos (alert) ----------
   Un solo lenguaje: azul = informa/salió bien, ladrillo = error. El ícono y
   el texto llevan el significado; el color no va solo. */
.alert {
  --bs-alert-border-radius: var(--pk-radio);
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  padding: 0.9rem 1rem;
  color: var(--pk-texto);
  background: var(--pk-a-azul-tenue);
  border: 0;
  border-left: 5px solid var(--pk-azul);
}
.alert > .bi { flex: none; margin-top: 0.15rem; color: var(--pk-azul); font-size: 1.15rem; }
.alert > div { flex: 1; min-width: 0; }
.alert-danger { background: var(--pk-a-ladrillo-tenue); border-left-color: var(--pk-ladrillo); }
.alert-danger > .bi { color: var(--pk-ladrillo); }
.alert ul { padding-left: 1.1rem; }
.alert .btn-close { flex: none; margin: -0.25rem -0.25rem 0 auto; padding: 0.75rem; }
.alert-info { background: var(--pk-a-azul-tenue); }

/* ---------- Superficies (formularios, listas) ---------- */
.pk-panel {
  background: var(--pk-blanco);
  border: 1px solid var(--pk-linea);
  border-radius: var(--pk-radio);
  padding: 1.25rem 1rem;
}
@media (min-width: 768px) { .pk-panel { padding: 1.75rem 2rem; } }

/* ---------- Formularios ---------- */
.form-control, .form-select {
  min-height: 46px;
  font-size: 1rem;
  border-color: var(--pk-a-borde-campo);
}
textarea.form-control { min-height: 0; }
.form-label { margin-bottom: 0.35rem; }
.pk-obligatorio { font-weight: 700; }
.pk-opcional { font-weight: 400; color: var(--pk-texto-2); }
.form-text { font-size: 0.9375rem; margin-top: 0.35rem; }

input[type="file"].form-control { padding: 0.5rem; }
input[type="file"].form-control::file-selector-button {
  min-height: 34px;
  margin: -0.15rem 0.85rem -0.15rem -0.15rem;
  padding: 0.35rem 0.9rem;
  color: var(--pk-texto);
  font-weight: 600;
  background: var(--pk-papel);
  border: 1px solid var(--pk-a-borde-campo);
  border-radius: var(--pk-radio);
}

/* Casillas: fila de 44px, la etiqueta también es zona táctil */
.form-check {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 44px;
  margin: 0;
  padding: 0;
}
.form-check .form-check-input {
  flex: none;
  float: none;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
  border-color: var(--pk-a-borde-campo);
}
.form-check .form-check-input:checked { border-color: var(--pk-ladrillo); }
.form-check .form-check-label { flex: 1; padding-block: 0.5rem; }

.pk-form-acciones {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--pk-linea);
}
.pk-form-acciones .btn { flex: 1 1 100%; min-height: 48px; }
@media (min-width: 576px) { .pk-form-acciones .btn { flex: 0 0 auto; min-width: 11rem; } }

.pk-vista-actual {
  display: block;
  max-width: 100%;
  max-height: 220px;
  object-fit: contain;
  background: var(--pk-papel);
  border: 1px solid var(--pk-linea);
  border-radius: var(--pk-radio);
}

/* ---------- Botones de la herramienta ---------- */
.btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; }
.btn-sm { --bs-btn-padding-y: 0.35rem; --bs-btn-padding-x: 0.9rem; --bs-btn-font-size: 1rem; min-height: 40px; }
.btn-secondary,
.btn-outline-secondary {
  --bs-btn-color: var(--pk-texto);
  --bs-btn-bg: var(--pk-blanco);
  --bs-btn-border-color: var(--pk-a-borde-campo);
  --bs-btn-hover-color: var(--pk-texto);
  --bs-btn-hover-bg: var(--pk-a-gris);
  --bs-btn-hover-border-color: var(--pk-texto-2);
  --bs-btn-active-color: var(--pk-texto);
  --bs-btn-active-bg: #DCDED6;
  --bs-btn-active-border-color: var(--pk-texto-2);
  --bs-btn-focus-shadow-rgb: var(--pk-ladrillo-rgb);
}
/* Eliminar: siempre secundario (contorno neutro); la confirmación es la barrera. */
.btn-outline-danger {
  --bs-btn-color: var(--pk-texto);
  --bs-btn-bg: var(--pk-blanco);
  --bs-btn-border-color: var(--pk-a-borde-campo);
  --bs-btn-hover-color: var(--pk-ladrillo-oscuro);
  --bs-btn-hover-bg: var(--pk-a-ladrillo-tenue);
  --bs-btn-hover-border-color: var(--pk-ladrillo);
  --bs-btn-active-color: var(--pk-ladrillo-oscuro);
  --bs-btn-active-bg: #F1D6D3;
  --bs-btn-active-border-color: var(--pk-ladrillo);
}

/* ---------- Etiquetas de estado (un solo lenguaje) ----------
   programado = azul · cancelado = ladrillo · realizado = gris neutro ·
   visible/activo = contorno azul · oculto/inactivo = gris punteado. */
.pk-etiqueta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.6rem;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
  border: 1px solid transparent;
  border-radius: var(--pk-radio-chico);
}
.pk-etiqueta-programado { color: #fff; background: var(--pk-azul); border-color: var(--pk-azul); }
.pk-etiqueta-cancelado  { color: #fff; background: var(--pk-ladrillo); border-color: var(--pk-ladrillo); }
.pk-etiqueta-realizado  { color: var(--pk-texto-2); background: var(--pk-a-gris); border-color: var(--pk-a-gris); }
.pk-etiqueta-visible    { color: var(--pk-azul); background: var(--pk-blanco); border-color: var(--pk-azul); }
.pk-etiqueta-oculto     { color: var(--pk-texto-2); background: transparent; border: 1px dashed var(--pk-texto-2); }

/* ---------- Listas: tabla de escritorio, filas apiladas en móvil ---------- */
.pk-lista {
  background: var(--pk-blanco);
  border: 1px solid var(--pk-linea);
  border-radius: var(--pk-radio);
  overflow-x: auto; /* red de seguridad: si algo no entra, scroll propio y no de la página */
}
.pk-tabla { margin: 0; --bs-table-bg: transparent; --bs-table-border-color: var(--pk-linea); }
.pk-tabla thead th {
  padding: 0.7rem 0.75rem;
  color: var(--pk-texto-2);
  font-size: 0.9375rem;
  font-weight: 600;
  white-space: nowrap;
  background: var(--pk-papel);
  border-bottom: 1px solid var(--pk-linea);
}
.pk-tabla tbody td { padding: 0.85rem 0.75rem; vertical-align: middle; border-color: var(--pk-linea); }
.pk-tabla tbody tr:last-child td { border-bottom: 0; }
.pk-tabla tbody .pk-c-img { width: 1%; padding-right: 0; }
.pk-tabla tbody .pk-c-acc { width: 1%; white-space: nowrap; }
.pk-fecha { font-weight: 600; white-space: nowrap; }
.pk-titulo-fila { font-weight: 600; }
.pk-meta-fila { display: flex; flex-wrap: wrap; gap: 0.15rem 1.1rem; margin-top: 0.15rem; color: var(--pk-texto-2); font-size: 0.9375rem; }
.pk-meta-fila .bi { margin-right: 0.3rem; }
.pk-estados { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.pk-url {
  display: inline-block;
  max-width: 12rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: bottom;
}
.pk-descripcion { max-width: 15rem; color: var(--pk-texto-2); font-size: 0.9375rem; }

/* Miniaturas de tamaño uniforme */
.pk-mini {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: cover;
  background: var(--pk-papel);
  border: 1px solid var(--pk-linea);
  border-radius: var(--pk-radio-chico);
}
.pk-mini-contener { object-fit: contain; padding: 3px; background: var(--pk-blanco); }
.pk-mini-vacia {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--pk-texto-2);
  font-size: 1.5rem;
  border-style: dashed;
}

.pk-acciones { display: flex; flex-wrap: nowrap; justify-content: flex-end; gap: 0.5rem; }
.pk-acciones form { display: flex; gap: 0.5rem; margin: 0; }
.pk-acciones .btn { white-space: nowrap; }
.pk-acciones .form-select { min-height: 40px; width: auto; padding-block: 0.3rem; font-size: 1rem; }

/* Debajo de 1200px la tabla no entra con sus acciones: cada fila pasa a bloque */
@media (max-width: 1199.98px) {
  .pk-apilable thead {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
  }
  .pk-apilable, .pk-apilable tbody { display: block; }
  .pk-apilable tr {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    column-gap: 0.85rem;
    padding: 1rem;
    border-bottom: 1px solid var(--pk-linea);
  }
  .pk-apilable tbody tr:last-child { border-bottom: 0; }
  .pk-apilable tbody td,
  .pk-apilable tbody .pk-c-img,
  .pk-apilable tbody .pk-c-acc { display: block; width: auto; padding: 0; border: 0; grid-column: 2; margin-bottom: 0.35rem; white-space: normal; }
  .pk-apilable tbody td:last-child { margin-bottom: 0; }
  .pk-apilable tbody .pk-c-img { grid-column: 1; grid-row: 1 / span 6; }
  .pk-apilable .pk-c-img .pk-mini { width: 72px; height: 72px; }
  .pk-apilable tbody .pk-c-acc { grid-column: 1 / -1; grid-row: 7; margin-top: 0.85rem; }
  .pk-apilable .pk-fecha { white-space: normal; }
  .pk-apilable .pk-acciones { flex-wrap: wrap; justify-content: flex-start; }
  .pk-apilable .pk-acciones > a.btn,
  .pk-apilable .pk-acciones > form { flex: 1 1 auto; }
  .pk-apilable .pk-acciones form .btn { flex: 1 1 auto; }
  .pk-apilable .pk-acciones .btn,
  .pk-apilable .pk-acciones .form-select { min-height: 44px; }
  /* El selector de estado va en su propia fila, debajo de los tres botones */
  .pk-apilable .pk-acciones form:has(select) { order: 2; flex: 1 1 100%; }
  .pk-apilable .pk-acciones form:has(select) .form-select { width: 100%; }
  .pk-apilable .pk-url { max-width: 100%; }
  .pk-apilable .pk-descripcion { max-width: none; }
}

/* Estado vacío */
.pk-vacio {
  padding: 2.5rem 1.25rem;
  text-align: center;
  background: var(--pk-blanco);
  border: 1px dashed var(--pk-a-borde-campo);
  border-radius: var(--pk-radio);
}
.pk-vacio p { margin: 0 auto 1.25rem; font-size: 1.125rem; }

/* ---------- Panel (admin.php) ---------- */
.pk-atencion {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  padding: 1.25rem 1.25rem 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
  background: var(--pk-blanco);
  border: 1px solid var(--pk-linea);
  border-left: 8px solid var(--pk-ladrillo);
  border-radius: var(--pk-radio);
}
.pk-atencion-cifra {
  font-family: var(--pk-fuente-display);
  font-weight: 800;
  font-size: 4.5rem;
  line-height: 0.85;
  color: var(--pk-ladrillo);
}
.pk-atencion-texto { flex: 1 1 14rem; min-width: 0; }
.pk-atencion-texto strong { display: block; font-size: 1.25rem; line-height: 1.3; }
.pk-atencion-texto span { color: var(--pk-texto-2); }
.pk-atencion .btn { flex: 1 1 100%; min-height: 52px; font-size: 1.125rem; }
@media (min-width: 576px) { .pk-atencion .btn { flex: 0 0 auto; } }
/* Sin pendientes: bloque en calma, sin acento */
.pk-atencion-calma { border-left-color: var(--pk-linea); }
.pk-atencion-calma .pk-atencion-cifra { color: var(--pk-texto-2); font-size: 3rem; }

.pk-proxima {
  height: 100%;
  padding: 1.5rem;
  color: #fff;
  background: var(--pk-tierra);
  border-top: 6px solid var(--pk-dorado);
  border-radius: var(--pk-radio);
}
.pk-proxima-rotulo { margin: 0 0 0.75rem; color: var(--pk-a-claro-sobre-oscuro); font-weight: 600; }
.pk-proxima-fecha { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.pk-proxima-dia {
  font-family: var(--pk-fuente-display);
  font-weight: 800;
  font-size: 5rem;
  line-height: 0.85;
  color: var(--pk-dorado);
}
.pk-proxima-mes { display: block; font-family: var(--pk-fuente-display); font-weight: 800; font-size: 1.75rem; line-height: 1.05; }
.pk-proxima-semana { display: block; color: var(--pk-texto-sobre-oscuro); }
.pk-proxima h2 { margin: 0 0 0.75rem; color: #fff; font-size: 1.75rem; line-height: 1.1; text-wrap: balance; }
.pk-proxima-datos { margin: 0 0 1.25rem; padding: 0; list-style: none; color: var(--pk-texto-sobre-oscuro); }
.pk-proxima-datos .bi { margin-right: 0.5rem; color: var(--pk-dorado); }
.pk-proxima-acciones { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.pk-proxima-acciones .btn { flex: 1 1 auto; }
.pk-proxima-vacia {
  padding: 1.5rem;
  background: var(--pk-blanco);
  border: 1px dashed var(--pk-a-borde-campo);
  border-radius: var(--pk-radio);
}
.pk-proxima-vacia p { margin: 0 0 1.25rem; font-size: 1.125rem; }

/* Resumen: bloque plano dividido por líneas finas, no tarjetas iguales */
.pk-resumen { margin: 0; padding: 0; list-style: none; background: var(--pk-blanco); border: 1px solid var(--pk-linea); border-radius: var(--pk-radio); }
.pk-resumen li { display: grid; grid-template-columns: 3rem minmax(0, 1fr); column-gap: 1rem; align-items: center; padding: 1rem 1.25rem; }
.pk-resumen li + li { border-top: 1px solid var(--pk-linea); }
.pk-resumen-cifra { font-family: var(--pk-fuente-display); font-weight: 800; font-size: 3rem; line-height: 1; color: var(--pk-texto); }
.pk-resumen-rotulo { display: block; font-weight: 600; line-height: 1.3; }
.pk-resumen-detalle { display: block; color: var(--pk-texto-2); font-size: 0.9375rem; }
.pk-resumen-enlaces { grid-column: 2; display: flex; flex-wrap: wrap; gap: 0 1.25rem; margin-top: 0.25rem; }
.pk-resumen-enlaces a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }

/* ---------- Moderación de fotos (listado_de_imagenes.php) ---------- */
.pk-herramientas { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.25rem; }
.pk-fotos { display: grid; grid-template-columns: 1fr; align-items: start; gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 640px) {
  .pk-fotos { grid-template-columns: repeat(2, 1fr); }
  /* En grilla todas las fotos ocupan el mismo alto (se ven enteras, sin recortar) */
  .pk-foto .pk-foto-imagen { height: 22rem; }
  .pk-foto .pk-foto-imagen img { width: 100%; height: 100%; max-height: none; object-fit: contain; }
}
@media (min-width: 992px) { .pk-fotos { grid-template-columns: repeat(3, 1fr); } }

.pk-foto {
  display: flex;
  flex-direction: column;
  background: var(--pk-blanco);
  border: 1px solid var(--pk-linea);
  border-radius: var(--pk-radio);
  overflow: hidden;
}
.pk-foto-imagen {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 14rem;
  background: var(--pk-tierra);
}
.pk-foto-imagen img {
  display: block;
  max-width: 100%;
  max-height: min(70vh, 32rem);
  width: auto;
  height: auto;
}
.pk-foto-pie { padding: 0.85rem 1rem 1rem; }
.pk-foto-nombre { margin: 0 0 0.75rem; color: var(--pk-texto-2); font-size: 0.9375rem; overflow-wrap: anywhere; }
.pk-decision { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
.pk-decision .btn { min-height: 52px; font-size: 1.0625rem; }
.pk-decision .btn-check:focus-visible + .btn { outline: 3px solid var(--pk-azul); outline-offset: 2px; box-shadow: none; }
/* Elegida: Aprobar = azul (estado), Rechazar = tierra oscura + la foto se apaga */
.pk-decision .pk-dec-aprobar {
  --bs-btn-color: var(--pk-azul);
  --bs-btn-hover-color: var(--pk-azul);
  --bs-btn-hover-bg: var(--pk-a-azul-tenue);
  --bs-btn-hover-border-color: var(--pk-azul);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--pk-azul);
  --bs-btn-active-border-color: var(--pk-azul);
  --bs-btn-border-color: var(--pk-azul);
}
.pk-decision .pk-dec-rechazar {
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--pk-tierra);
  --bs-btn-active-border-color: var(--pk-tierra);
  --bs-btn-hover-bg: var(--pk-a-gris);
}
.pk-foto:has(input[value="aprobar"]:checked) { border-color: var(--pk-azul); box-shadow: 0 0 0 2px var(--pk-azul); }
.pk-foto:has(input[value="rechazar"]:checked) { border-color: var(--pk-tierra); box-shadow: 0 0 0 2px var(--pk-tierra); }
.pk-foto:has(input[value="rechazar"]:checked) .pk-foto-imagen img { opacity: 0.35; }

/* Barra fija con la acción principal: siempre a mano con el pulgar */
.pk-barra-fija {
  position: sticky;
  bottom: 0;
  z-index: 10;
  margin: 1.5rem -12px 0;
  padding: 0.75rem 12px calc(0.75rem + env(safe-area-inset-bottom));
  background: var(--pk-papel);
  border-top: 1px solid var(--pk-linea);
}
.pk-barra-fija .btn { width: 100%; min-height: 52px; font-size: 1.125rem; }
@media (min-width: 576px) { .pk-barra-fija .btn { width: auto; min-width: 16rem; } }

/* ---------- Login (acces.php) ---------- */
body.admin-login { background: var(--pk-tierra); }
.pk-login { flex: 1; display: flex; flex-direction: column; min-height: 100vh; background: var(--pk-tierra); }
.pk-login-centro {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.75rem;
  padding: 2rem 1rem 2.5rem;
}
.pk-login-logo { display: block; width: 132px; height: auto; }
@media (min-width: 768px) { .pk-login-logo { width: 176px; } }
.pk-login-panel {
  width: 100%;
  max-width: 26rem;
  padding: 1.75rem 1.5rem 2rem;
  color: var(--pk-texto);
  background: var(--pk-blanco);
  border-radius: var(--pk-radio);
}
@media (min-width: 576px) { .pk-login-panel { padding: 2.25rem 2.25rem 2.5rem; } }
.pk-login-panel h1 { margin-bottom: 1.5rem; font-size: 2.5rem; }
.pk-login-panel .alert { margin-bottom: 1.25rem; }
.pk-login-panel .input-group-text { color: var(--pk-texto-2); background: var(--pk-papel); border-color: var(--pk-a-borde-campo); }
.pk-login-volver { color: var(--pk-texto-sobre-oscuro); font-weight: 500; }
.pk-login-volver:hover { color: #fff; }
