/* FACTURACIÓN Y FINANZAS ESM - MÓDULO NUEVO SEPARADO */
.modal-facturacion-finanzas{
  width:min(1480px,96vw)!important;
  height:min(880px,92vh)!important;
  max-width:1480px!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,rgba(2,6,23,.98),rgba(3,18,40,.98),rgba(5,46,62,.94))!important;
  border:1px solid rgba(56,189,248,.30)!important;
  box-shadow:0 0 45px rgba(14,165,233,.22)!important;
}
.fact-header-pro{border-bottom:1px solid rgba(125,211,252,.18)!important;margin-bottom:12px!important;}
.fact-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px;}
.fact-tab{border:1px solid rgba(125,211,252,.22);background:rgba(15,23,42,.72);color:#dff7ff;border-radius:14px;padding:10px 13px;font-weight:800;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
.fact-tab.active,.fact-tab:hover{background:linear-gradient(135deg,rgba(14,165,233,.34),rgba(34,197,94,.18));border-color:rgba(125,211,252,.55);box-shadow:0 0 18px rgba(14,165,233,.22);}
.fact-dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;}
.fact-kpi{border:1px solid rgba(125,211,252,.20);border-radius:20px;padding:14px;background:rgba(15,23,42,.62);box-shadow:0 14px 28px rgba(0,0,0,.24);}
.fact-kpi span{display:block;color:#9eeaff;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.fact-kpi strong{display:block;color:white;font-size:1.55rem;margin:5px 0;text-shadow:0 0 18px rgba(56,189,248,.45);}
.fact-kpi small{color:#a5b4fc;font-size:.74rem;}
.fact-panel{display:none;height:calc(92vh - 280px);overflow:auto;padding-right:4px;}
.fact-panel.active{display:block;}
.fact-two-col{display:grid;grid-template-columns:1.3fr .7fr;gap:14px;}
.fact-card{border:1px solid rgba(125,211,252,.18);border-radius:22px;padding:16px;background:rgba(3,7,18,.56);box-shadow:0 18px 32px rgba(0,0,0,.25);}
.fact-card h3{margin:0 0 8px;color:#e0f2fe;}
.fact-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;}
.fact-form-grid .btn-modal{min-height:42px;}
.fact-table{display:grid;gap:8px;}
.fact-row{display:grid;grid-template-columns:1fr 1fr 1.3fr .8fr .8fr auto;gap:8px;align-items:center;border:1px solid rgba(125,211,252,.15);border-radius:14px;padding:10px;background:rgba(15,23,42,.54);color:#e5f6ff;font-size:.84rem;}
.fact-row strong{color:#fff}.fact-row small{color:#93c5fd}.fact-row .monto{font-weight:900;color:#bbf7d0}.fact-row .estado{font-weight:800;color:#fde68a}
.fact-lista-mini{display:grid;gap:8px;margin-top:10px;}
.fact-mini{display:flex;justify-content:space-between;gap:10px;border:1px solid rgba(125,211,252,.13);border-radius:12px;padding:10px;background:rgba(15,23,42,.42);color:#dbeafe;}
.fact-alerta{border:1px solid rgba(251,191,36,.18);background:rgba(120,53,15,.20);color:#fde68a;border-radius:14px;padding:11px;margin:8px 0;font-weight:800;}
.colilla-preview-esm{margin-top:14px;border:1px solid rgba(125,211,252,.22);border-radius:18px;background:#fff;color:#0f172a;padding:18px;min-height:160px;}
.colilla-preview-esm h3{margin:0 0 8px;color:#0f172a}.colilla-preview-esm table{width:100%;border-collapse:collapse;margin-top:10px}.colilla-preview-esm td{border-bottom:1px solid #dbe4f0;padding:8px}.colilla-preview-esm .neto{font-size:1.2rem;font-weight:900;color:#166534;}
@media(max-width:1000px){.fact-dashboard-grid,.fact-form-grid,.fact-two-col{grid-template-columns:1fr}.fact-panel{height:auto;max-height:62vh}.fact-row{grid-template-columns:1fr}.modal-facturacion-finanzas{height:94vh!important;}}

/* FACTURACION FULL SCREEN REAL - 20260531
   Solo afecta el modulo Facturacion y Finanzas. No toca GPS, Vehiculos, Login ni otros modulos. */
#modalFacturacionFinanzas.modal{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  padding:0!important;
  margin:0!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  overflow:hidden!important;
  background:radial-gradient(circle at top left,rgba(14,165,233,.18),transparent 34%),radial-gradient(circle at bottom right,rgba(34,197,94,.12),transparent 32%),rgba(2,6,23,.96)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  z-index:9900!important;
}
#modalFacturacionFinanzas .modal-facturacion-finanzas{
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  min-height:0!important;
  border-radius:0!important;
  margin:0!important;
  padding:18px 20px 20px!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto auto auto 1fr!important;
  background:linear-gradient(135deg,rgba(2,6,23,.99),rgba(3,18,40,.98),rgba(5,46,62,.95))!important;
  border:0!important;
  box-shadow:none!important;
}
#modalFacturacionFinanzas .fact-header-pro{
  margin:0 0 12px!important;
  padding:12px 14px!important;
  border:1px solid rgba(125,211,252,.16)!important;
  border-radius:22px!important;
  background:rgba(15,23,42,.46)!important;
  flex-shrink:0!important;
}
#modalFacturacionFinanzas .fact-header-pro h2{
  font-size:clamp(1.4rem,2vw,2.15rem)!important;
  line-height:1.05!important;
}
#modalFacturacionFinanzas .fact-header-pro .nota{
  max-width:1050px!important;
}
#modalFacturacionFinanzas #cerrarFacturacionFinanzas{
  min-width:118px!important;
  border-radius:16px!important;
  position:relative!important;
  z-index:5!important;
}
#modalFacturacionFinanzas .fact-tabs{
  display:flex!important;
  gap:9px!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  margin:0 0 12px!important;
  padding:3px 2px 8px!important;
  flex-shrink:0!important;
  scrollbar-width:thin!important;
}
#modalFacturacionFinanzas .fact-tab{
  white-space:nowrap!important;
  min-height:42px!important;
  padding:10px 15px!important;
}
#modalFacturacionFinanzas .fact-dashboard-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0 0 12px!important;
  flex-shrink:0!important;
}
#modalFacturacionFinanzas .fact-kpi{
  min-height:92px!important;
  padding:13px 14px!important;
}
#modalFacturacionFinanzas .fact-kpi strong{
  font-size:clamp(1.15rem,1.6vw,1.7rem)!important;
}
#modalFacturacionFinanzas .fact-panel{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  padding:2px 4px 12px 0!important;
}
#modalFacturacionFinanzas .fact-panel.active{
  display:block!important;
}
#modalFacturacionFinanzas .fact-two-col{
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)!important;
  gap:14px!important;
}
#modalFacturacionFinanzas .fact-form-grid{
  grid-template-columns:repeat(5,minmax(150px,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}
#modalFacturacionFinanzas .fact-form-grid .btn-modal{
  min-height:44px!important;
}
#modalFacturacionFinanzas .fact-table{
  max-height:calc(100vh - 360px)!important;
  overflow:auto!important;
  padding-right:4px!important;
}
#modalFacturacionFinanzas .fact-row{
  grid-template-columns:1fr 1fr 1.4fr .8fr .8fr auto!important;
  min-height:48px!important;
}
#modalFacturacionFinanzas .colilla-preview-esm{
  max-height:calc(100vh - 420px)!important;
  overflow:auto!important;
}
@media(max-width:1100px){
  #modalFacturacionFinanzas .modal-facturacion-finanzas{padding:12px!important;grid-template-rows:auto auto auto 1fr!important;}
  #modalFacturacionFinanzas .fact-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #modalFacturacionFinanzas .fact-two-col{grid-template-columns:1fr!important;}
  #modalFacturacionFinanzas .fact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #modalFacturacionFinanzas .fact-row{grid-template-columns:1fr!important;}
}
@media(max-width:650px){
  #modalFacturacionFinanzas .fact-header-pro{padding:10px!important;}
  #modalFacturacionFinanzas .fact-header-pro .nota{display:none!important;}
  #modalFacturacionFinanzas .fact-dashboard-grid{grid-template-columns:1fr!important;}
  #modalFacturacionFinanzas .fact-form-grid{grid-template-columns:1fr!important;}
}
