/* Paleta Campeonato de Integración */
:root {
  --ci-verde: #379454;
  --ci-verde-osc: #2A6B3D;
  --ci-dorado: #FECD21;
  --ci-grafito: #424D4B;
  --ci-verde-claro: #E9F4EC;
  --bs-primary: #379454;
  --bs-primary-rgb: 55, 148, 84;
  --bs-link-color: #2A6B3D;
  --bs-link-color-rgb: 42, 107, 61;
  --bs-link-hover-color: #1f5230;
  --bs-body-color: #424D4B;
  --bs-body-bg: #f6f8f7;
  --bs-border-radius: .6rem;
}
body { background: var(--bs-body-bg); font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif; }
.btn-primary { --bs-btn-bg: var(--ci-verde); --bs-btn-border-color: var(--ci-verde);
  --bs-btn-hover-bg: var(--ci-verde-osc); --bs-btn-hover-border-color: var(--ci-verde-osc);
  --bs-btn-active-bg: var(--ci-verde-osc); --bs-btn-disabled-bg: var(--ci-verde); }
.btn-outline-primary { --bs-btn-color: var(--ci-verde-osc); --bs-btn-border-color: var(--ci-verde);
  --bs-btn-hover-bg: var(--ci-verde); --bs-btn-hover-border-color: var(--ci-verde);
  --bs-btn-active-bg: var(--ci-verde-osc); }
.btn-gold { background: var(--ci-dorado); color: var(--ci-grafito); border: 0; font-weight: 600; }
.btn-gold:hover { background: #f0bd00; color: var(--ci-grafito); }
.navbar-ci { background: var(--ci-verde-osc); }
.navbar-ci .navbar-brand { font-weight: 700; letter-spacing: .02em; }
.navbar-ci .brand-mark { color: var(--ci-dorado); }
.navbar-ci .nav-link { color: rgba(255,255,255,.85); }
.navbar-ci .nav-link:hover, .navbar-ci .nav-link.active { color: #fff; }
.navbar-ci .nav-link.active { box-shadow: inset 0 -3px 0 var(--ci-dorado); }
.estado-banner { font-size: .85rem; }
.card { border: 1px solid #e3e9e5; box-shadow: 0 1px 2px rgba(0,0,0,.03); }
.card-header { background: #fff; font-weight: 600; }
.stat { background: var(--ci-verde-claro); border-radius: .6rem; padding: .9rem 1rem; height: 100%; }
.stat .n { font-size: 1.6rem; font-weight: 700; color: var(--ci-verde-osc); line-height: 1.1; }
.stat .l { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; }
.table > :not(caption) > * > * { vertical-align: middle; }
.table thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7672; white-space: nowrap; }
.rut { font-variant-numeric: tabular-nums; white-space: nowrap; }
.accordion-button:not(.collapsed) { background: var(--ci-verde-claro); color: var(--ci-verde-osc); }
.accordion-button:focus { box-shadow: 0 0 0 .2rem rgba(55,148,84,.25); }
.form-control:focus, .form-select:focus { border-color: var(--ci-verde); box-shadow: 0 0 0 .2rem rgba(55,148,84,.2); }
.login-wrap { min-height: 100vh; background: linear-gradient(160deg, var(--ci-verde-osc), var(--ci-verde)); }
.login-card { max-width: 400px; width: 100%; }
.page-title { font-weight: 700; color: var(--ci-verde-osc); }
.log-detalle { font-size: .78rem; max-width: 420px; white-space: pre-wrap; word-break: break-word; }

/* Listas tipo tarjeta en móvil para tablas largas */
@media (max-width: 767.98px) {
  .table-cards thead { display: none; }
  .table-cards tr { display: block; border-bottom: 1px solid #e3e9e5; padding: .5rem 0; }
  .table-cards td { display: flex; justify-content: space-between; gap: 1rem; border: 0; padding: .2rem .75rem; }
  .table-cards td::before { content: attr(data-label); font-weight: 600; font-size: .78rem; color: #6b7672; }
  .table-cards td.acciones { justify-content: flex-end; }
  .table-cards td.acciones::before { content: none; }
}
.login-logo { width: 260px; max-width: 80%; filter: drop-shadow(0 4px 10px rgba(0,0,0,.12)); }
