html { font-size: 18px; }
body {
  font-family: "Lato", ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
}
strong, b, h1, h2, h3, h4, h5, h6, th,
.font-semibold, .font-bold, .font-medium { font-weight: 700; }
.text-\[11px\] { font-size: 16px !important; }
.text-xs { font-size: 16px !important; line-height: 1.45; }
.text-sm { font-size: 17px !important; }
.text-base { font-size: 18px !important; }
.text-lg { font-size: 22px !important; }
.text-xl { font-size: 24px !important; }
.text-2xl { font-size: 29px !important; }
.text-3xl { font-size: 36px !important; }
input, select, textarea, button { font-family: inherit; font-size: 17px; }
label { font-size: 16px; }
table { font-size: 17px; }
.chip { font-size: 15px; padding: 4px 12px; border-radius: 9999px; font-weight: 700; }
.screen { box-shadow: 0 10px 30px rgba(15,23,42,.08), 0 2px 6px rgba(15,23,42,.05); }
.tab-active { border-bottom: 2px solid #2563eb; color: #2563eb; font-weight: 700; }
.tab { border-bottom: 2px solid transparent; color: #475569; cursor: pointer; }
.badge-ap { background:#dbeafe; color:#1d4ed8; }
.badge-pq { background:#fef3c7; color:#92400e; }
.badge-dp { background:#e9d5ff; color:#6b21a8; }
.badge-lc { background:#dcfce7; color:#166534; }
.badge-cs { background:#fee2e2; color:#991b1b; }
.badge-bd { background:#e2e8f0; color:#334155; }
.badge-gj { background:#fde68a; color:#92400e; }
.badge-lt { background:#bae6fd; color:#075985; }
.badge-zc { background:#e5e7eb; color:#374151; }

/* Las listas en tarjeta dentro del detalle de unidad: scroll interno para
   evitar empujar la página vertical y mantener el header sticky útil. */
.scrollable-list {
  max-height: calc(100vh - 320px);
  overflow-y: auto;
  padding-right: 6px;
}
.scrollable-list::-webkit-scrollbar { width: 8px; }
.scrollable-list::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.scrollable-list::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Tablas con scroll vertical interno y encabezado sticky. */
.scrollable-table {
  max-height: calc(100vh - 280px);
  overflow-y: auto;
}
.scrollable-table thead th {
  position: sticky;
  top: 0;
  background: #f8fafc;
  z-index: 1;
  box-shadow: 0 1px 0 #e2e8f0;
}
.scrollable-table::-webkit-scrollbar { width: 8px; }
.scrollable-table::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
.scrollable-table::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
