body { background: #f4f6f9; font-size: .95rem; }
.card { border: 0; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.table td, .table th { vertical-align: middle; }
.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kpi .valor { font-size: 1.5rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.kpi .etiqueta { color: #6c757d; font-size: .85rem; }
.login-bg { background: linear-gradient(135deg, #1f2937, #374151); min-height: 100vh; }
.login-box { max-width: 400px; margin: 0 auto; padding-top: 12vh; }
@media print { body { background: #fff; font-size: 11px; } .card { box-shadow: none; } main { padding: 0 !important; } }
.manual h4 { border-bottom: 1px solid #dee2e6; padding-bottom: .3rem; }
.manual table { font-size: .88rem; }
.manual code { color: #b02a37; }
table.tabla-ordenable thead th[data-orden] { cursor: pointer; user-select: none; white-space: nowrap; }
table.tabla-ordenable thead th[data-orden]::after { content: " \2195"; color: #adb5bd; font-weight: normal; }
table.tabla-ordenable thead th[data-dir="asc"]::after { content: " \25B2"; color: #0d6efd; }
table.tabla-ordenable thead th[data-dir="desc"]::after { content: " \25BC"; color: #0d6efd; }
table.tabla-ordenable thead th[data-orden]:hover { background: #eef3ff; }
@media print { table.tabla-ordenable thead th[data-orden]::after { content: ""; } }
.rejilla td { padding: .15rem .2rem !important; vertical-align: middle; }
.rejilla .form-control-sm, .rejilla .form-select-sm { min-width: 6rem; }
.rejilla td.ancho-fecha .form-control { min-width: 8.5rem; }
.rejilla td.ancho-monto .form-control { min-width: 7.5rem; }
.rejilla td.ancho-ancho .form-control, .rejilla td.ancho-ancho .form-select { min-width: 14rem; }
.rejilla td.ancho-cargo .form-select { min-width: 22rem; }
.rejilla tr.table-danger td { background: #f8d7da !important; }
.rejilla .num-renglon { width: 2rem; }
.rejilla .info-renglon { font-size: .78rem; white-space: nowrap; }
/* v2.7: marca y versión */
.marca-renmes { font-size: 1.6rem; font-weight: 700; letter-spacing: .08em; color: #1f2937; }
.navbar .version-sistema { font-size: .65rem; vertical-align: middle; }
/* v2.8: dominio de la empresa en el cintillo del menú, junto al usuario */
.navbar .dominio-sistema { color: rgba(255, 255, 255, .85); font-size: .9rem; white-space: nowrap; }
.navbar .dominio-sistema .bi { opacity: .8; }
/* v2.9: logotipos (se muestran sobre fondo blanco para que cualquier logotipo se vea en el menú oscuro) */
.logo-fondo { background: #fff; border-radius: 4px; padding: 2px 6px; display: inline-block; line-height: 1; vertical-align: middle; }
.logo-renmes-menu { height: 26px; max-width: 150px; object-fit: contain; }
.logo-empresa-menu { height: 26px; max-width: 120px; object-fit: contain; }
.logo-renmes-login { max-height: 56px; max-width: 240px; object-fit: contain; }
.logo-empresa-login { max-height: 70px; max-width: 220px; object-fit: contain; }
.logo-empresa-inicio { max-height: 56px; max-width: 180px; object-fit: contain; }
.logo-empresa-titulo { max-height: 34px; max-width: 120px; object-fit: contain; vertical-align: middle; }
@media print { .logo-fondo { border: 0; } }
