/**********************************************************************************************
 * centro-mando.css — Skin del Centro de Mando HLD (v16).
 * Replica fuentes, paleta y formas de centro_mando_v16_1.html sobre Bootstrap 5.
 * No toca el login (site.css). Autor: pixel · 2026-08-20
 **********************************************************************************************/

:root {
  --paper:#FBFAF7; --ink:#1B1F24; --muted:#5C6470; --faint:#9AA1AC;
  --line:#E4E1D8; --card:#FFFFFF;
  --amber:#F5A623; --amber-deep:#C77E0A;
  --teal:#12808C; --steel:#6B7A8C;
  --ok:#2E8B57; --anti:#2980B9; --tiempo:#8FB6D9; --warn:#D98E04; --bad:#C0392B;
  --fis:#0F4C81; --fac:#7c3aed; --cob:#2E8B57;

  /* Mapear la semántica de Bootstrap a la paleta del v16 */
  --bs-body-bg:#FBFAF7;
  --bs-body-color:#1B1F24;
  --bs-border-color:#E4E1D8;
  --bs-primary:#12808C;   --bs-primary-rgb:18,128,140;
  --bs-success:#2E8B57;   --bs-success-rgb:46,139,87;
  --bs-danger:#C0392B;    --bs-danger-rgb:192,57,43;
  --bs-warning:#D98E04;   --bs-warning-rgb:217,142,4;
  --bs-info:#12808C;      --bs-info-rgb:18,128,140;
  --bs-secondary:#6B7A8C; --bs-secondary-rgb:107,122,140;
  --bs-link-color:#12808C; --bs-link-hover-color:#0d5f68;
}

/* Forzar el tema claro tipo "papel" (el v16 no tiene modo oscuro).
   Blindaje: aunque algo ponga data-bs-theme="dark" (modo oscuro del SO / caché),
   se re-fijan las variables de Bootstrap a la paleta papel para que el texto de
   tablas y grillas NUNCA quede claro sobre el fondo blanco. */
:root,
[data-bs-theme="dark"] {
  color-scheme: light;
  --bs-body-bg:#FBFAF7;
  --bs-body-color:#1B1F24;
  --bs-emphasis-color:#1B1F24;
  --bs-secondary-color:#5C6470;
  --bs-border-color:#E4E1D8;
  --bs-table-color:#1B1F24;
  --bs-table-bg:#FFFFFF;
  --bs-table-striped-color:#1B1F24;
  --bs-table-hover-color:#1B1F24;
  --bs-heading-color:#1B1F24;
}
[data-bs-theme="dark"] body { background:#FBFAF7; color:#1B1F24; }

/* El texto de las celdas usa --bs-table-color; lo fijamos explícito por si acaso. */
.table { --bs-table-color:#1B1F24; --bs-table-bg:#FFFFFF; color:#1B1F24; }
.table > tbody > tr > td,
.table > tbody > tr > th { color:#1B1F24; }

#theme-toggle { display:none !important; }

body {
  background: var(--paper);
  color: var(--ink);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.5;
}

/* -- Tipografía: títulos en Saira Condensed, mayúsculas y tracking -- */
h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6 {
  font-family: 'Saira Condensed', sans-serif;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--ink);
}
h1,.h1 { font-weight:700; }
h2,.h2,h3,.h3 { text-transform: uppercase; }
h5,.h5,h6,.h6 { text-transform: uppercase; letter-spacing:.05em; }

.text-body-secondary { color: var(--muted) !important; }

/* -- Números / datos monoespaciados (KPIs, tablas) -- */
.card .h4, .card .h3.mb-0,
td.text-end, th.text-end,
.table .text-end, .mono, .num {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
}

/* -- Navbar: barra tinta con acento ámbar (evoca el header del v16) -- */
.navbar.bg-dark {
  background: var(--ink) !important;
  border-bottom: 3px solid var(--amber);
}
.navbar .navbar-brand {
  font-family: 'Saira Condensed', sans-serif;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #fff !important;
}
.navbar .nav-link {
  font-family: 'Saira Condensed', sans-serif;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72) !important;
  border-bottom: 3px solid transparent;
}
.navbar .nav-link:hover { color:#fff !important; }
.navbar .nav-link.active,
.navbar .nav-item.active > .nav-link {
  color:#fff !important;
  border-bottom-color: var(--amber);
}

/* -- Cards / paneles: rectos, borde tenue, fondo blanco -- */
.card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
}
.card .h4, .card .h3 { color: var(--ink); }

/* KPIs con filete ámbar arriba (como .kpi del v16) */
.kpi-row .card { border-top: 3px solid var(--amber); }
.kpi-row .card.border-success { border-top-color: var(--ok); }
.kpi-row .card.border-danger  { border-top-color: var(--bad); }
.kpi-row .card.border-warning { border-top-color: var(--warn); }
.kpi-row .card.border-info    { border-top-color: var(--teal); }

/* -- Tablas al estilo editorial del v16 -- */
.table { --bs-table-bg: var(--card); color: var(--ink); }
.table > thead th,
.table > thead > tr > th {
  font-family: 'Saira Condensed', sans-serif;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--muted);
  border-bottom: 2px solid var(--ink);
  white-space: nowrap;
}
.table > tbody > tr > td { border-bottom: 1px solid var(--line); vertical-align: middle; }
.table > tfoot > tr { background:#F6F4EE; }
.table > tfoot > tr > td { border-top: 2px solid var(--ink); font-weight:600; }
.table-hover > tbody > tr:hover > * { background: #FAF8F2; }

/* -- Badges y "pills" monoespaciados, esquinas mínimas -- */
.badge {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  font-size: 10.5px;
  letter-spacing: .02em;
  border-radius: 3px;
}
.badge.bg-success { background: var(--ok) !important; }
.badge.bg-danger  { background: var(--bad) !important; }
.badge.bg-warning { background: var(--warn) !important; color:#fff !important; }
.badge.bg-info    { background: var(--teal) !important; color:#fff !important; }
.badge.bg-secondary { background: var(--steel) !important; }

/* -- Botones: acentos de marca (teal primario, ámbar de acción) -- */
.btn { border-radius: 4px; font-weight: 600; letter-spacing:.01em; }
.btn-primary { --bs-btn-bg:var(--teal); --bs-btn-border-color:var(--teal); --bs-btn-hover-bg:#0d5f68; --bs-btn-hover-border-color:#0d5f68; --bs-btn-active-bg:#0d5f68; }
.btn-outline-primary { --bs-btn-color:var(--teal); --bs-btn-border-color:var(--teal); --bs-btn-hover-bg:var(--teal); --bs-btn-hover-border-color:var(--teal); }
.btn-success { --bs-btn-bg:var(--amber-deep); --bs-btn-border-color:var(--amber-deep); --bs-btn-hover-bg:#a86709; --bs-btn-hover-border-color:#a86709; --bs-btn-active-bg:#a86709; }
.btn-outline-success { --bs-btn-color:var(--amber-deep); --bs-btn-border-color:var(--amber-deep); --bs-btn-hover-bg:var(--amber-deep); --bs-btn-hover-border-color:var(--amber-deep); }
.btn-outline-secondary { --bs-btn-color:var(--muted); --bs-btn-border-color:var(--line); --bs-btn-hover-bg:var(--ink); --bs-btn-hover-border-color:var(--ink); }

/* -- Alerts atenuados en clave "papel" -- */
.alert { border-radius: 0; border-width: 1px; border-left-width: 4px; }
.alert-info    { background:#F1F6F6; border-color:var(--teal); color:#0d5f68; }
.alert-success { background:#EEF6F1; border-color:var(--ok); color:#1e6b41; }
.alert-warning { background:#FBF3E3; border-color:var(--warn); color:#8a5a02; }
.alert-danger  { background:#FBEDEC; border-color:var(--bad); color:#8f2b20; }

/* Cabecera de sección con filete inferior tinta (como el header del v16) */
main > .container > h1:first-of-type,
.cm-underline { border-bottom: 3px solid var(--ink); padding-bottom: 8px; }

/* Enlaces */
a { color: var(--teal); }
a:hover { color:#0d5f68; }
