/* =======================================================================
   Transporte Zuleta – CSS unificado y normalizado
   Criterios:
   - Orden lógico de secciones
   - Duplicados consolidados; la versión menos completa queda comentada
   - Sin romper selectores ni clases existentes
   ======================================================================= */

/* === 1) Base y cabecera ================================================= */
:root{
  --zuleta-color-primary:#048abf;
  --zuleta-color-primary-border:#0278a8;
  --zuleta-color-dark:#002447;
  --zuleta-color-success:#28a745;
  --zuleta-color-danger:#dc3545;
  --zuleta-color-warning:#ffc107;
}
.app-sidebar__user-avatar{width:48px;background:gray;padding:6px;}
.app-header{min-height:62px;}
.app-header__logo{display:flex;align-items:center;justify-content:flex-start;height:62px;padding:6px 14px;box-sizing:border-box;}
.app-header__logo-img{display:block;width:auto;max-width:170px;height:50px;object-fit:contain;object-position:left center;}
.app-content{margin-top:62px!important;}
@media (max-width:767px){.app-header__logo-img{max-width:130px;height:44px;}}
.headerRegister,.header-primary,.headerUpdate{background:var(--zuleta-color-primary);color:#fff;}
.headerRegister .close,.header-primary .close,.headerUpdate .close{color:#fff;opacity:1;text-shadow:none;}
.notBlock{display:none;}
.app-title{margin:0;padding:5px;border:#002447;border-bottom-style:solid;}
.app-content{padding:15px;background:#fff;min-height:0;}
.app-title h1{padding:10px 0 0 20px;}
.app-breadcrumb{padding-top:10px;padding-right:0;}
.tile{-webkit-box-shadow:none;box-shadow:none;}
.treeview-item{margin-left:20px;}
.botonNew{margin-left:40px;}
.breadcrumb-item + .breadcrumb-item::before{padding-right:0;}

/* === Layout sin menu lateral =========================================== */
.app-sidebar,
.app-sidebar__overlay,
.app-sidebar__toggle{display:none!important;}
.app-content{margin-left:0!important;width:100%!important;}
@media (min-width:768px){
  .app-content{margin-left:0!important;}
}

/* === 2) Tablas ========================================================== */
@media (min-width:992px){.table-responsive{overflow-x:hidden;}}
@media (min-width:1200px){.table-responsive{overflow-x:hidden;}}
table.dataTable thead th,#tableBeneficiarios thead th{background:var(--zuleta-color-primary);color:#fff;border-color:var(--zuleta-color-primary-border);vertical-align:middle;}
table.dataTable thead .sorting:before,
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_desc:after,
#tableBeneficiarios thead .sorting:before,
#tableBeneficiarios thead .sorting:after,
#tableBeneficiarios thead .sorting_asc:before,
#tableBeneficiarios thead .sorting_asc:after,
#tableBeneficiarios thead .sorting_desc:before,
#tableBeneficiarios thead .sorting_desc:after{color:#fff;opacity:.85;}
#tableBeneficiarios .beneficiarios-address-cell{white-space:normal!important;line-height:1.35;min-width:260px;}
#tableBeneficiarios .beneficiarios-address-cell::after{content:'';display:block;min-height:1.35em;}
#tableBeneficiarios .beneficiarios-actions-cell{text-align:center;white-space:nowrap;}
#tableBeneficiarios .beneficiarios-actions-cell .btn{min-width:38px;}
#tableBeneficiarios .beneficiario-nombre{font-weight:700;}
#tableBeneficiarios tr.beneficiario-seleccionable{cursor:pointer;}
#tableBeneficiarios tr.beneficiario-seleccionable:hover{filter:brightness(.97);}
#tableBeneficiarios tr.beneficiario-pais-guatemala td{background:#e8f1fb!important;}
#tableBeneficiarios tr.beneficiario-pais-salvador td{background:#fff4e6!important;}
#tableBeneficiarios tr.beneficiario-pais-honduras td{background:#e8f6ee!important;}
#tableBeneficiarios tr.beneficiario-inactivo{opacity:.55;}
#tableBeneficiarios tr.beneficiario-inactivo td{color:#6c757d;background:#ececec!important;}
#tableBeneficiarios tr.beneficiario-inactivo .beneficiarios-actions-cell,
#tableBeneficiarios tr.beneficiario-inactivo .beneficiarios-actions-cell .btn{text-decoration:none;}
#tableBuscarBeneficiarios .beneficiarios-address-cell{white-space:normal!important;line-height:1.35;min-width:220px;}
#tableBuscarBeneficiarios tr.beneficiario-seleccionable{cursor:pointer;}
#tableBuscarBeneficiarios tr.beneficiario-seleccionable:hover{filter:brightness(.97);}
#tableBuscarBeneficiarios tr.beneficiario-inactivo{opacity:.55;background:#ececec;}
#tableBuscarBeneficiarios tr.beneficiario-inactivo td{color:#6c757d;}
.forma-pago-fullscreen-content{width:100%;}
.forma-pago-listado-subtitle{padding:0 0 0 20px;color:#6c757d;font-size:.95rem;}
.forma-pago-top-actions,
.beneficiarios-top-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:flex-end;
  gap:.5rem;
}
.forma-pago-top-actions .btn-forma-pago-action,
.beneficiarios-top-actions .btn-beneficiarios-action{
  width:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  padding:.375rem .85rem;
  min-width:0;
}
.forma-pago-top-actions .mt-2,
.forma-pago-top-actions .mt-lg-0,
.beneficiarios-top-actions .mt-2{margin-top:0!important;}
.btn-salir-icon{
  width:38px;
  height:38px;
  min-width:38px!important;
  padding:0!important;
  flex:0 0 38px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.btn-salir-icon i{font-size:1.05rem;line-height:1;margin:0;display:block;}
.asignar-chofer-globos{margin-top:.25rem;}
.asignar-chofer-globo-label{font-weight:600;display:block;margin-bottom:.35rem;}
#buscarAsignarChofer{max-width:100%;}
.asignar-chofer-globo{
  min-height:280px;
  max-height:420px;
  overflow-y:auto;
  border:1px solid #ced4da;
  border-radius:12px;
  background:#f8f9fa;
  padding:.5rem;
}
.asignar-chofer-globo-empty{
  color:#6c757d;
  font-size:.9rem;
  padding:.75rem .5rem;
  text-align:center;
}
.asignar-chofer-item{
  background:#fff;
  border:1px solid #dee2e6;
  border-radius:8px;
  padding:.45rem .65rem;
  margin-bottom:.4rem;
  cursor:pointer;
  user-select:none;
  line-height:1.3;
}
.asignar-chofer-item:hover{
  border-color:var(--zuleta-color-primary,#007bff);
  background:#eef5ff;
}
.asignar-chofer-item:last-child{margin-bottom:0;}
#tableFormaPagoOrdenes .forma-pago-detalle-cell,
#tableFormaPagoFacturas .forma-pago-detalle-cell{white-space:normal!important;line-height:1.35;min-width:180px;}
#tableFormaPagoOrdenes thead th,
#tableFormaPagoFacturas thead th{background:var(--zuleta-color-primary);color:#fff;border-color:var(--zuleta-color-primary-border);vertical-align:middle;}
.beneficiario-pais-toggle .btn{white-space:normal;line-height:1.2;padding:.375rem .5rem;}
.beneficiario-pais-toggle .btn.active,
.beneficiario-pais-toggle .btn.active:hover{background-color:var(--zuleta-color-primary,#007bff);border-color:var(--zuleta-color-primary,#007bff);color:#fff;}
.btn-success{background-color:var(--zuleta-color-success);border-color:var(--zuleta-color-success);}
.btn-danger{background-color:var(--zuleta-color-danger);border-color:var(--zuleta-color-danger);}
.btn-warning{background-color:var(--zuleta-color-warning);border-color:var(--zuleta-color-warning);}

/* === 3) Login =========================================================== */
.login-content .logo{margin-bottom:28px;text-align:center;}
.login-brand-logo{display:block;width:min(240px,72vw);max-width:100%;height:auto;object-fit:contain;}
.login-content .login-box label{margin-bottom:0;}
#divLoading{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  display:none;
  justify-content:center;
  align-items:center;
  background:rgba(0,0,0,.28);
  z-index:1998; /* debajo de SweetAlert (2000/2001) pero arriba de modals */
}
#divLoading .divLoading__box{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:18px 22px;
  border-radius:10px;
  background:rgba(255,255,255,.92);
  box-shadow:0 6px 24px rgba(0,0,0,.18);
}
#divLoading img{width:52px;height:52px;}
#divLoading .divLoading__text{
  margin-top:10px;
  font-weight:600;
  color:#002447;
  text-align:center;
  max-width:260px;
}
.required{color:red;font-size:13pt;font-weight:bold;}

/* === 4) Navbar ========================================================== */
.navbar-center{position:absolute;left:50%;transform:translateX(-50%);}

/* === 5) DataTables: paginación, barra superior, responsive icon ========= */
div.dataTables_wrapper div.dataTables_paginate ul.pagination{justify-content:center;}
.page-item.active .page-link{z-index:1;color:#fff;background-color:gray;border-color:gray;}
.dataTables_wrapper .top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px;}
.dataTables_wrapper .dataTables_length{margin-right:20px;}
.dataTables_wrapper .dataTables_info{flex-grow:1;text-align:center;}
.dataTables_wrapper .dataTables_filter{margin-left:20px;}
table.dataTable:not(#tableBeneficiarios) td.dtr-control:before,table.dataTable:not(#tableBeneficiarios) th.dtr-control:before{content:'+';display:inline-block;margin-right:.5rem;font-weight:700;}
table.dataTable:not(#tableBeneficiarios) tr.parent td.dtr-control:before,table.dataTable:not(#tableBeneficiarios) tr.parent th.dtr-control:before{content:'–';}
#tableBeneficiarios td.dtr-control:before,#tableBeneficiarios th.dtr-control:before{content:none;display:none;}

/* === 6) SweetAlert / SweetAlert2 (z-index + estilo) ===================== */
.swal-button{padding:7px 19px;border-radius:2px;background-color:#002447;font-size:12px;border:1px solid #002447;text-shadow:0 -1px 0 rgba(0,0,0,.3);}
.sweet-alert button{background:#002447 !important;color:#fff;border:none;-webkit-box-shadow:none;box-shadow:none;font-size:17px;font-weight:500;border-radius:3px;padding:8px 20px;margin:26px 5px 0;cursor:pointer;}
.sweet-alert button.cancel{background:#dc3545 !important;}
/* Compatibilidad SweetAlert sobre fondo difuminado */
.sweet-overlay{ z-index:2000 !important; filter:none !important; }
.sweet-alert{  z-index:2001 !important; filter:none !important; }
/* SweetAlert2 */
.swal2-container{ z-index:2001 !important; filter:none !important; }
.swal2-container .swal2-popup{ filter:none !important; }

/* === 7) Elementos “sticky” ============================================= */
.fixed-row{position:sticky;top:0;background:#f9f9f9;z-index:1;}

/* === 8) UI “GS” ========================================================= */
.gs-header{align-items:center;}
.gs-logo{font-weight:600;font-size:1.05rem;display:flex;align-items:center;}
.gs-logo i{font-size:1.25rem;margin-right:.5rem;}
.gs-search .form-control{border-radius:2rem;}
.gs-section-title{font-weight:600;color:#5f6368;font-size:.95rem;margin:1rem 0 .5rem;}
.gs-templates .card{border:1px solid #e0e0e0;border-radius:8px;width:200px;min-width:200px;}
.gs-templates .card-img-top{height:120px;background:#eaf3ff;display:flex;align-items:center;justify-content:center;}
.gs-templates .card-img-top .plus{font-size:3rem;line-height:1;border:0;background:#fff;}
.gs-templates .card-title{font-size:.9rem;margin:.5rem 0 0;color:#5f6368;}
.gs-divider{border-top:1px solid #e9edf5;margin:1rem 0;}
.gs-file-head{color:#6a6f76;font-weight:600;border-bottom:1px solid #edf0f4;}
.gs-file-row{padding:.5rem .75rem;border-bottom:1px solid #edf0f4;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;}
.gs-file-row:hover{background:#fafafa;}
.gs-file-name{display:flex;align-items:center;gap:.5rem;}
.gs-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:#1a73e8;color:#fff;border-radius:3px;font-size:.85rem;}
.gs-right-controls i{color:#5f6368;}
@media (max-width:768px){.gs-templates{overflow-x:auto;}}
/* Template cards */
.template-card{width:200px;border-radius:.5rem;}
.template-card:hover{box-shadow:0 2px 12px rgba(0,0,0,.12);}
.template-card .card-img-top svg{display:block;width:100%;height:120px;}
/* Plus multicolor (consolidado) */
.gsheets-plus{position:relative;width:56px;height:56px}
.gsheets-plus.md{width:72px;height:72px}
.gsheets-plus:before,.gsheets-plus:after{content:"";position:absolute;border-radius:3px;left:50%;top:50%;transform:translate(-50%,-50%);}
.gsheets-plus:before{width:18px;height:72px;background:linear-gradient(#f4b400 0 25%,#0f9d58 25% 50%,#4285f4 50% 75%,#db4437 75% 100%)}
.gsheets-plus:after{width:72px;height:18px;background:linear-gradient(90deg,#f4b400 0 25%,#0f9d58 25% 50%,#4285f4 50% 75%,#db4437 75% 100%)}

/* === 9) Grillas rápidas FX/MF/CF/CG ==================================== */
.fx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:6px;}
.fx-cell{border:1px solid #dfe3e8;padding:8px;border-radius:4px;background:#fff;text-align:center;}
/* MF highlight + links */
.mf-hit{background:#14532d;color:#fff;font-weight:600;}
#mf-grid a{text-decoration:none;}
#mf-grid a:hover{text-decoration:underline;}
#modalFacturas #mf-grid a{color:inherit;text-decoration:none !important;}
#modalFacturas #mf-grid a:hover,#modalFacturas #mf-grid a:focus{text-decoration:none !important;}
#modalFacturas #mf-grid td.mf-hit{background:#14532d;color:#fff;}
#modalFacturas #mf-grid td.mf-hit a{color:#fff !important;text-decoration:none !important;}
/* Botón quitar (svg) */
#modalFacturas #mf-grid td{position:relative;padding-right:28px;white-space:nowrap;vertical-align:middle;}
#modalFacturas #mf-grid td .mf-del{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;color:#fff;cursor:pointer;transition:filter .15s ease,transform .05s ease;background-color:transparent;}
#modalFacturas #mf-grid td .mf-del:hover{filter:brightness(.95);}
#modalFacturas #mf-grid td .mf-del:active{transform:translateY(-50%) scale(.96);}
#modalFacturas #mf-grid td .mf-del svg{width:12px;height:12px;display:block;}
/* CG grid 3→6 cols */
#cg-grid td{height:42px;vertical-align:middle;text-align:center;}
@media (min-width:576px){#cg-grid tr{display:grid;grid-template-columns:repeat(3,1fr);}}
@media (min-width:768px){#cg-grid tr{grid-template-columns:repeat(4,1fr);}}
@media (min-width:992px){#cg-grid tr{grid-template-columns:repeat(6,1fr);}}

/* === 10) Badges de estados ============================================= */
.badge-violet{background:#6f42c1;color:#fff;min-width: 90px;}
.badge-rosa{background:#f78504;color:#fff;min-width: 90px;}
.badge-rosaOscuro{background:#0cd5f0;color:#000;min-width: 90px;}
.badge-danger{min-width: 90px;}
.badge-warning{min-width: 90px;}
.badge-success{min-width: 90px;}
.badge-secondary{min-width: 90px;}

/* === 11) Reportes / impresión ========================================== */
.report-wrap{max-width:1100px;margin:0 auto;padding:0 12px;}
.rep-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.rep-block{break-inside:avoid;}
.rep-kv{display:grid;grid-template-columns:200px 1fr;align-items:center;padding:4px 0;border-bottom:1px solid #eee;}
.rep-kv dt{margin:0;font-weight:600;color:#666;}
.rep-kv dd{margin:0;}
.kv{width:100%;border-collapse:separate;border-spacing:0 8px;}
.kv .k{width:24%;color:#6b7785;font-weight:600;padding-right:10px;white-space:nowrap;}
.kv .v{width:76%;border-bottom:1px solid #e9edf3;padding-bottom:6px;word-break:break-word;}
.grid{width:100%;table-layout:fixed;border-collapse:collapse;}
.grid th{background:#f5f7fb;border-top:1px solid #e5e9f2;border-bottom:1px solid #e5e9f2;text-align:center;padding:.6rem;}
.grid td{padding:.45rem .55rem;border:1px solid #e9edf3;vertical-align:middle;}
.grid .num a{color:#212529;text-decoration:none;display:inline-block;width:100%;}
.chk .box{width:10px;height:10px;border:1px solid #222;margin:0 auto;}
.rep-grid-wrapper{max-width:1100px;margin:0 auto;}
.rep-grid{width:100%;table-layout:fixed;border-collapse:collapse;}
.rep-grid td{width:12.5%;padding:.45rem .55rem;border:1px solid #e9edf3;vertical-align:middle;text-align:center;}
/* Cabeceras como el modal */
#rep-grid th.mf-colhdr,
#rep-grid th.corner,
#rep-grid td.mf-rowhdr{background:#cad5df;color:#2b1f12;font-weight:700;text-align:center;vertical-align:middle;border:1px solid #818181ef;white-space:nowrap;}
#rep-grid th.mf-coltitle{background:#cad5df;color:#2b1f12;font-weight:700;text-align:center;border:1px solid #818181ef;}
/* Enlaces reporte */
#rep-grid a{ text-decoration:none !important; color:inherit !important; }
#rep-grid a:hover{ text-decoration:none !important; }
/* No subrayar ni color en print */
@media print{
  a[href]::after{content:none !important;}
  .card{box-shadow:none;border:0;}
  .report-wrap{max-width:none;padding:0;}
  .rep-two-col{display:grid !important;grid-template-columns:1fr 1fr !important;grid-column-gap:18pt !important;align-items:start;width:100% !important;}
  .rep-two-col .rep-block{break-inside:avoid;}
  .rep-kv{display:grid !important;grid-template-columns:140pt 1fr !important;grid-column-gap:8pt;margin:0 0 6pt 0;}
  .rep-kv dt{font-weight:600;color:#6c757d;}
  .rep-grid-wrapper{max-width:100%;}
  .rep-grid td{width:12.5%;}
  .grid th.chk,.grid td.chk,.chk{display:none !important;}
  #rep-grid a{ text-decoration:none !important; color:#000 !important; }
  @page{size:letter;margin:12mm;}
}

/* === 12) “No imprimir” consistente ===================================== */
.no-print{ display:block !important; } /* visibilidad en pantalla por compatibilidad */
/* (INACTIVA la variante previa que la ocultaba en pantalla)
   .no-print{display:none !important;} */
@media print{ .no-print{ display:none !important; } }

/* === 13) Contenedores: tabla → cards móvil ============================= */
#tableContenedores{width:100%;}
#tableContenedores thead th{white-space:nowrap;font-size:.9rem;}
@media (max-width:768px){
  #tableContenedores thead{display:none;}
  #tableContenedores,#tableContenedores tbody,#tableContenedores tr,#tableContenedores td{display:block;width:100%;}
  #tableContenedores tbody tr{background:#fff;border:1px solid #e9ecef;border-radius:10px;padding:10px 12px;margin:0 0 12px;}
  #tableContenedores tbody td{border:0;padding:.35rem 0;font-size:15px;white-space:normal !important;word-break:break-word !important;}
  #tableContenedores tbody td::before{content:attr(data-label);display:block;font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:.02em;margin-bottom:2px;}
  #tableContenedores .badge{font-size:.8rem;padding:.3rem .55rem;border-radius:.6rem;}
}
#tableContenedores td{white-space:normal;}

/* === 14) Lista “Este mes” ajustes ====================================== */
.gs-file-row > *:last-child{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.gs-file-row .badge{margin-right:.5rem;}
@media (max-width:768px){.gs-file-row > *:last-child{width:100%;justify-content:flex-start;}}

/* === 15) Cabeceras numéricas MF + REP ================================== */
#modalFacturas #mf-grid th.mf-colhdr,
#modalFacturas #mf-grid th.mf-corner,
#modalFacturas #mf-grid td.mf-rowhdr{
  background:#cad5df;color:#2b1f12;font-weight:700;text-align:center;vertical-align:middle;border:1px solid #818181ef;white-space:nowrap;
}
#modalFacturas #mf-grid th.mf-coltitle{
  background:#cad5df;color:#2b1f12;font-weight:700;text-align:center;border:1px solid #818181ef;
}
#modalFacturas #mf-grid td.mf-rowhdr{ width:1%; }

/* === 16) Botones y utilidades ========================================== */
.btn-via{ background:#6f42c1; color:#fff; border-color:#6f42c1; }
.btn-via:hover{ filter:brightness(.95); color:#fff; }
.btn-objeto{ background:#888603; color:#fff; border-color:#888603; }
.btn-objeto:hover{ filter:brightness(.95); color:#fff; }
.btn-outline-danger{ color:#dc3545; border-color:#fff !important; }
.icon-action{cursor:pointer;padding:.375rem;line-height:1;border-radius:.25rem;display:inline-block}
.icon-action:hover{background:rgba(0,0,0,.075)}
.icon-action:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}
.flip-x{transform:scaleX(-1)}
.fontObjetos{font-weight:bold;padding:10px;margin-right:5px;margin-bottom:15px;}

/* === 17) Toasts genéricos ============================================== */
#cg-toast{position:sticky;top:0;z-index:2;}
.cg-ok{background:#e9f7ef;}
.cg-bad{background:#fdecea;}

/* === 18) Captura facturas (CF) ========================================= */
.cf-grid{display:flex;flex-direction:column;gap:.5rem;}
.cf-row{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem;margin-bottom:.5rem;}
.cf-cell{min-height:42px;border:1px solid #e9ecef;border-radius:.35rem;padding:.4rem .5rem;background:#fff;}
.cf-num{font-weight:600;}
.cf-sub{font-size:.82rem;color:#6c757d;}
@media (max-width:992px){.cf-row{grid-template-columns:repeat(4,1fr);}}
@media (max-width:576px){.cf-row{grid-template-columns:repeat(2,1fr);}}
/* Toast informativo */
.cf-toast{position:fixed;left:50%;top:1rem;transform:translateX(-50%);background:#343a40;color:#fff;padding:.5rem .75rem;border-radius:.25rem;opacity:0;transition:opacity .2s;z-index:1060;}
.cf-toast.show{opacity:1;}

/* === 19) Modal Carga Facturas (MCF) ==================================== */
#modalCargaFacturas .modal-dialog{max-width:640px;}
@media (max-width:768px){#modalCargaFacturas .modal-dialog{max-width:100%;margin:.5rem;}}
#modalCargaFacturas .modal-body{max-height:calc(100vh - 220px);overflow:auto;}
#modalCargaFacturas .modal-footer{position:sticky;bottom:0;background:#fff;z-index:2;}
#modalCargaFacturas .cf-lab{font-size:.85rem;color:#6c757d;font-weight:600;display:block;margin-bottom:.15rem;}
#modalCargaFacturas .cf-val{font-size:1rem;font-weight:700;}
#modalCargaFacturas #cfGrid{max-height:58vh;overflow:auto;}
#modalCargaFacturas .cf-row{display:block;margin:0 0 .6rem;}
#modalCargaFacturas .cf-cell{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem;border:1px dashed #d9dee3;border-radius:.5rem;background:#fff;}
#modalCargaFacturas .cf-cell .cf-nro{font-size:1.25rem;font-weight:700;letter-spacing:.2px;}
#modalCargaFacturas .cf-cell .cf-tag{font-size:.78rem;color:#6c757d;}
#modalCargaFacturas .cf-cell.cf-fixed{position:sticky;top:0;z-index:2;background:#0b5d1e;color:#fff;border-color:#0b5d1e;}
.cf-last{background:#14532d;color:#fff;font-weight:600;font-size:1.3rem;}
/* Highlight dentro del modal */
#modalCargaFacturas .cf-cell.mf-hit{background:#14532d !important;color:#fff !important;border-color:#14532d !important;}
#modalCargaFacturas .cf-cell.mf-hit .cf-num,#modalCargaFacturas .cf-cell.mf-hit .cf-tag{color:#fff !important;}
#modalCargaFacturas .cf-cell.mf-hit a{color:#fff !important;text-decoration:none !important;}
/* Última en rojo con texto blanco */
#modalCargaFacturas .cf-cell.cf-last{ background:red; color:#fff; border-color:red; }
#modalCargaFacturas .cf-cell.cf-last a{ color:#fff !important; }
#modalCargaFacturas .cf-cell.cf-last .cf-num,#modalCargaFacturas .cf-cell.cf-last .cf-tag{ color:#fff !important; }
/* Línea “pendientes multi-caja” */
#modalCargaFacturas .mc-multi-line{ margin:.35rem 0 .35rem; }
#modalCargaFacturas .mc-multi-line .k{ font-weight:600; margin-right:.35rem; }
#modalCargaFacturas .mc-multi-line .pend{ color:#dc3545; font-weight:700; margin-right:.5rem; white-space:nowrap; }
/* Línea "Cantidad de Cajas ingresadas" (versión vigente) */
#modalCargaFacturas .mc-count-line{display:inline-flex !important;align-items:baseline;justify-content:flex-start;gap:0;margin:.35rem 0 .35rem;}
#modalCargaFacturas .mc-count-line .k{font-weight:600;margin-right:10px;}
#modalCargaFacturas .mc-count-line .v{font-weight:800;font-size:calc(1rem + 2pt);line-height:1;}
/* (INACTIVA la variante previa más genérica)
#modalCargaFacturas .mc-count-line{
  display:flex !important;align-items:center;justify-content:space-between;gap:.5rem;margin:.35rem 0 .35rem;
}
#modalCargaFacturas .mc-count-line .k{font-weight:600;color:#6c757d;}
#modalCargaFacturas .mc-count-line .v{font-weight:800;}
*/

/* === 20) Modales mobile-first unificados ================================ */
@media (max-width:576px){
  .modal .modal-dialog{max-width:100% !important;margin:0 !important;}
  .modal .modal-content{
    height:100dvh !important;min-height:100dvh !important;
    height:100svh !important;min-height:100svh !important;
    height:var(--vh-mobile,100vh) !important;
    display:flex !important;flex-direction:column !important;
    overflow-y:auto !important;border-radius:0;padding-bottom:env(safe-area-inset-bottom,0);
    overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;
  }
  .modal .modal-header,.modal .modal-footer{position:static !important;top:auto !important;bottom:auto !important;z-index:auto !important;background:#fff;}
  .modal .modal-body{flex:0 0 auto !important;overflow:visible !important;max-height:none !important;}
  #modalFacturas .table-wrap,#modalCargaFacturas #cfGrid,#modalContenedores #mc-list{max-height:none !important;overflow:visible !important;}
  /* FIX específico MCF: desactivar sticky para que no tape la botonera */
  #modalCargaFacturas .cf-cell.cf-fixed{position:static !important;z-index:auto !important;top:auto !important;}
  #modalCargaFacturas .cf-row{position:relative;z-index:1;}
  #modalCargaFacturas .modal-footer{position:static !important;z-index:2;}
  /* Compactación MCF en móvil */
  #modalCargaFacturas .cf-row{ margin-bottom:.4rem; display:block; }
  #modalCargaFacturas .cf-cell{display:flex;align-items:center;justify-content:flex-start;padding:.45rem .65rem !important;min-height:44px !important;border:1px dashed #d9dee3;border-radius:.5rem;background:#fff;}
  #modalCargaFacturas .cf-cell:not(.cf-last){justify-content:space-between;}
  #modalCargaFacturas .cf-cell .cf-link{flex:0 1 auto;min-width:0;}
  #modalCargaFacturas .cf-cell .cf-edit,#modalCargaFacturas .cf-cell .cf-del{margin-left:0 !important;}
  #modalCargaFacturas .cf-cell .cf-num,#modalCargaFacturas .cf-cell .cf-nro{flex:1 1 auto;text-align:center;font-size:1.35rem;line-height:1.2;letter-spacing:.2px;}
  #modalCargaFacturas .cf-cell .btn,#modalCargaFacturas .cf-cell .btn-outline-danger{flex:0 0 auto;margin-left:auto;}
  #modalCargaFacturas .cf-cell .cf-tag{font-size:.72rem;}
  #modalCargaFacturas .cf-cell.cf-last{padding:.5rem .7rem;min-height:46px;}
}

/* === 21) Modal Facturas: contenedor ==================================== */
#modalFacturas .table-wrap{overflow:auto;-webkit-overflow-scrolling:touch;}
#modalFacturas .modal-content{min-height:70vh;}
#modalFacturas .table-wrap table{width:auto;min-width:100%;}
#modalFacturas #mf-grid th, #modalFacturas #mf-grid td{min-width:88px;}
#modalFacturas #mf-grid td.mf-empty{visibility:hidden;padding:0;border:0;}
#modalFacturas #mf-grid{min-width:520px;}

/* === 22) Modal Contenedores ============================================ */
#modalContenedores .modal-dialog{max-width:720px;}
@media (max-width:768px){#modalContenedores .modal-dialog{max-width:100%;margin:.5rem;}}
#mc-header .mc-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;}
#mc-header .mc-label{flex:0 0 140px;color:#6c757d;font-weight:600;text-transform:uppercase;font-size:.85rem;}
#mc-header input{flex:1 1 auto;}
#mc-header input:focus{box-shadow:0 0 0 .2rem rgba(0,36,71,.1);border-color:#bcd;}
#mc-list{display:flex;flex-direction:column;gap:.5rem;max-height:60vh;overflow:auto;}
#mc-list .mc-item{padding:.55rem .75rem;border:1px solid #e5e7eb;border-radius:.35rem;font-size:1.05rem;background:#fff;}
#mc-list .mc-item--last{background:#0a3d2e;color:#fff;font-weight:700;}
#modalContenedores .modal-footer{position:sticky;bottom:0;background:#fff;z-index:99;}

/* === 23) Backdrop, stacking y blur de fondo ============================ */
.modal-backdrop{ z-index:1040 !important; }
.modal{ z-index:1050 !important; }
.modal-backdrop.show{ opacity:.75 !important; }
/* Blur del fondo cuando hay modal */
body.blur-bg > *:not(.modal):not(.modal-backdrop){filter:blur(2px) brightness(.85);transition:filter .15s ease;}
/* (INACTIVA la duplicación previa del mismo bloque)
   body.blur-bg > *:not(.modal):not(.modal-backdrop){
     filter: blur(2px) brightness(.85);
     transition: filter .15s ease;
   }
*/
/* SweetAlert sobre blur (ya unificado arriba) */
body.blur-bg > *:not(.modal):not(.modal-backdrop):not(.sweet-alert):not(.sweet-overlay):not(.swal2-container){
  filter: blur(2px) brightness(.85);
  transition: filter .15s ease;
}

/* === 24) Cabeceras numéricas: colores en MF ============================ */
#modalFacturas td.mf-hit,#modalFacturas td.mf-hit a{ background:#015314 !important; color:#fff !important; }

/* === 25) Otros ========================================================== */
.obj-line{display:block!important;width:100%;flex:0 0 100%!important;margin:.35rem 0 .5rem;color:#343a40}
.obj-line .k{font-weight:600;margin-right:.35rem}
#modalFacturas .mf-obj-line,#modalCargaFacturas .mc-obj-line{padding-left:.5rem}

/* === Facturas MVC desde beneficiarios ================================== */
.factura-app-content{
  --factura-call-dock-width:300px;
  --factura-call-dock-height:380px;
  --factura-aside-width:min(520px,38%);
  --factura-history-height:30vh;
  max-width:100%;
}
body.factura-call-dock-active .factura-app-content,
body:has(.factura-call-dock.has-content) .factura-app-content{
  padding-bottom:calc(1rem + var(--factura-call-dock-height));
}
.factura-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,var(--factura-aside-width));
  align-items:start;
  gap:1rem;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:0;
}
.factura-main-panel{min-width:0;max-width:100%;overflow-x:hidden;}
.factura-history-panel{
  min-width:0;
  max-width:100%;
  width:100%;
  align-self:start;
  min-height:0;
}
.factura-card{border:1px solid #dfe4ea;box-shadow:0 2px 8px rgba(0,0,0,.04);max-width:100%;}
.factura-section-title{color:var(--zuleta-primary,#002447);font-weight:700;border-bottom:2px solid var(--zuleta-primary,#002447);padding-bottom:.35rem;margin-bottom:1rem;}
.factura-parties-row{margin-left:0;margin-right:0;}
.factura-party-panel{padding-top:.15rem;padding-bottom:.15rem;}
.factura-party-panel .form-group{margin-bottom:.85rem;}
.factura-party-panel label{font-size:.875rem;font-weight:600;color:#6c757d;margin-bottom:.25rem;}
.factura-field-value{font-weight:700;font-size:calc(1rem + 2pt);color:var(--zuleta-color-primary,#048abf);margin-bottom:0;white-space:pre-wrap;word-break:break-word;line-height:1.4;}
.factura-field-value--area{min-height:2.5rem;}
@media (min-width:992px){
  .factura-party-panel--cliente{border-right:1px solid #cfd8e3;padding-right:1.35rem;}
  .factura-party-panel--beneficiario{padding-left:1.35rem;}
}
@media (max-width:991px){
  .factura-party-panel--beneficiario{border-top:1px solid #cfd8e3;margin-top:1rem;padding-top:1rem;}
}
.factura-payment-options{display:flex;flex-wrap:wrap;gap:.75rem 1rem;}
.factura-payment-options label{margin-bottom:.25rem;font-weight:600;}
.factura-payment-inline{min-height:38px;align-items:center;}
.factura-payment-row{margin-top:.15rem;}
.factura-payment-detail-label{display:block;min-height:1.5rem;margin-bottom:.5rem;}
.factura-beneficiary-address{min-height:76px;resize:vertical;line-height:1.35;white-space:pre-wrap;}
.factura-date-field{position:relative;}
.factura-date-field .form-control{padding-right:2.45rem;background:#fff!important;cursor:pointer;font-size:.95rem;white-space:nowrap;}
.factura-date-picker{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;border:0;padding:0;margin:0;pointer-events:none;}
.factura-date-button{position:absolute;right:.25rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;border:0;background:transparent;color:#002447;cursor:pointer;}
.factura-date-button:focus{outline:1px solid #80bdff;outline-offset:1px;}
.factura-datepicker-panel{position:fixed;left:0;top:0;z-index:99999;display:none;background:#fff;border:1px solid #c5cdd6;border-radius:4px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:.75rem;width:auto;max-width:calc(100vw - 16px);box-sizing:border-box;}
.factura-datepicker-panel.is-open{display:block;}
.factura-datepicker-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:.45rem;gap:.5rem;}
.factura-datepicker-nav-btn{min-width:2rem;height:1.75rem;border:1px solid #c5cdd6;border-radius:3px;background:#f4f6f8;color:#002447;font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .35rem;}
.factura-datepicker-nav-btn:hover:not(:disabled){background:#e8eef5;}
.factura-datepicker-nav-btn:disabled{opacity:.4;cursor:default;}
.factura-datepicker-months{display:flex;flex-direction:row;flex-wrap:nowrap;gap:1.1rem;align-items:flex-start;}
.factura-datepicker-panel.is-stacked .factura-datepicker-months{flex-direction:column;gap:.85rem;}
.factura-datepicker-month{flex:0 0 auto;width:13.6rem;}
.factura-datepicker-panel.is-stacked .factura-datepicker-month{width:13.6rem;max-width:100%;}
.factura-datepicker-title{font-weight:700;color:#002447;text-align:center;margin-bottom:.45rem;font-size:.95rem;}
.factura-datepicker-weekdays,.factura-datepicker-days{display:grid;grid-template-columns:repeat(7,1.75rem);gap:.22rem;justify-content:center;}
.factura-datepicker-weekdays span{text-align:center;font-size:.72rem;color:#6c757d;font-weight:600;}
.factura-datepicker-day{width:1.75rem;height:1.75rem;border:0;border-radius:3px;background:transparent;color:#212529;font-size:.82rem;line-height:1;cursor:pointer;padding:0;}
.factura-datepicker-day:hover{background:#e8eef5;}
.factura-datepicker-day.is-selected{background:#002447;color:#fff;}
.factura-datepicker-day.is-today:not(.is-selected){border:1px solid #002447;}
.factura-datepicker-day:disabled{color:#c0c6ce;cursor:default;background:transparent;}
@media (max-width:575.98px){
  .factura-datepicker-panel.is-open .factura-datepicker-months{flex-direction:column;}
}
.factura-price-panel{border:2px solid #dfe4ea;border-radius:4px;overflow:hidden;background:#fff;}
.factura-price-header{padding:.85rem .85rem .65rem;gap:.75rem;}
.factura-price-search{flex:1 1 180px;min-width:0;max-width:320px;margin-left:auto;}
.factura-price-footer{padding:.65rem .85rem;border-top:1px solid #dfe4ea;background:#f8fafc;text-align:right;}
.factura-price-row-hidden{display:none!important;}
.factura-price-wrapper{max-height:55vh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;border-top:1px solid #dfe4ea;}
.factura-price-table{width:100%;table-layout:fixed;background:#fff;color:#212529;border-collapse:collapse;}
.factura-price-table thead th{position:sticky;top:0;z-index:2;background:#fff!important;color:#212529!important;vertical-align:middle;border:1px solid #dfe4ea;border-bottom:2px solid #dfe4ea;padding:.45rem .55rem;font-size:1.05rem;font-weight:600;}
.factura-price-table td,.factura-price-table th{overflow-wrap:break-word;word-break:break-word;background:#fff;color:#212529;border:1px solid #e9ecef;padding:.35rem .45rem;vertical-align:middle;}
.factura-price-table .form-control{max-width:100%;min-width:0;background:#fff;color:#212529;border:0!important;box-shadow:none!important;background-image:none;padding:.25rem .35rem;height:auto;font-size:1.05rem;font-weight:600;letter-spacing:.01em;}
.factura-price-table .form-control:focus{border:0!important;box-shadow:none!important;outline:0;}
.factura-price-table input[readonly],.factura-history-table{background:#fff;}
.factura-price-table .factura-cantidad{text-align:center;}
.factura-price-table tr.factura-price-guatemala td,
.factura-price-table tr.factura-price-salvador td,
.factura-price-table tr.factura-price-honduras td{background:#fff!important;color:#212529!important;}
.factura-price-table tr.factura-price-guatemala td{border-color:#0057b8!important;}
.factura-price-table tr.factura-price-salvador td{border-color:#f28c00!important;}
.factura-price-table tr.factura-price-honduras td{border-color:#198754!important;}
.factura-price-table tr.factura-price-guatemala input,
.factura-price-table tr.factura-price-salvador input,
.factura-price-table tr.factura-price-honduras input{background:#fff!important;color:#212529!important;border:0!important;box-shadow:none!important;font-size:1.05rem;font-weight:600;}
.factura-price-table tr.factura-price-guatemala input::placeholder,
.factura-price-table tr.factura-price-salvador input::placeholder,
.factura-price-table tr.factura-price-honduras input::placeholder{color:#6c757d;}
.factura-price-panel.factura-price-guatemala{border-color:#0057b8;}
.factura-price-panel.factura-price-salvador{border-color:#f28c00;}
.factura-price-panel.factura-price-honduras{border-color:#198754;}
.factura-price-panel.factura-price-guatemala .factura-section-title,
.factura-price-panel.factura-price-salvador .factura-section-title,
.factura-price-panel.factura-price-honduras .factura-section-title{border-bottom:0;padding:.45rem .65rem;margin-bottom:0;border-radius:3px;color:#fff;}
.factura-price-panel.factura-price-guatemala .factura-section-title{background:#0057b8;}
.factura-price-panel.factura-price-salvador .factura-section-title{background:#f28c00;}
.factura-price-panel.factura-price-honduras .factura-section-title{background:#198754;}
.factura-price-panel.factura-price-guatemala .factura-price-wrapper{border-top-color:#0057b8;}
.factura-price-panel.factura-price-salvador .factura-price-wrapper{border-top-color:#f28c00;}
.factura-price-panel.factura-price-honduras .factura-price-wrapper{border-top-color:#198754;}
.factura-price-panel.factura-price-guatemala .factura-price-table thead th{background:#0057b8!important;color:#fff!important;border-color:#0057b8!important;}
.factura-price-panel.factura-price-salvador .factura-price-table thead th{background:#f28c00!important;color:#fff!important;border-color:#f28c00!important;}
.factura-price-panel.factura-price-honduras .factura-price-table thead th{background:#198754!important;color:#fff!important;border-color:#198754!important;}
.factura-cantidad,
.factura-total-input{-moz-appearance:textfield;appearance:textfield;}
.factura-cantidad::-webkit-inner-spin-button,
.factura-cantidad::-webkit-outer-spin-button,
.factura-total-input::-webkit-inner-spin-button,
.factura-total-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0;}
.factura-nota-interna{background:#dc3545!important;color:#fff!important;}
.factura-nota-bodega{background:#008000!important;color:#fff!important;}
.factura-history-card{
  height:var(--factura-history-height);
  max-height:var(--factura-history-height);
  overflow:hidden;
  max-width:100%;
  min-height:0;
  display:flex;
  flex-direction:column;
  padding:0;
  margin-bottom:0;
}
.factura-history-card .tile-body{
  flex:1 1 auto;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:0;
}
.factura-history-wrapper{overflow-x:hidden!important;overflow-y:visible;max-width:100%;}
.factura-history-block{padding:0 0 .75rem;margin:0 0 .75rem;border-bottom:2px solid #dc3545;}
.factura-history-block--last{border-bottom:0;margin-bottom:0;padding-bottom:0;}
.factura-history-block .factura-section-title{
  margin:0;
  padding:.4rem .5rem .3rem;
  border-bottom:0;
}
.factura-history-block + .factura-history-block{padding-top:0;}
.factura-history-empty{margin:0;padding:.5rem;}
.factura-history-table thead th{
  position:sticky;
  top:0;
  z-index:2;
}
.factura-call-dock{
  position:fixed;
  right:12px;
  bottom:12px;
  width:var(--factura-call-dock-width);
  height:var(--factura-call-dock-height);
  z-index:1040;
  pointer-events:none;
}
.factura-call-dock.has-content{pointer-events:auto;}
.factura-call-dock iframe{
  display:block;
  width:100%;
  height:100%;
  border:0;
  border-radius:6px;
  box-shadow:0 4px 18px rgba(0,0,0,.22);
  background:#fff;
}
.factura-in-iframe .factura-call-dock{bottom:8px;right:8px;}
.factura-history-table{width:100%;table-layout:fixed;}
.factura-history-table th{background:var(--zuleta-datatable-header,#1191b8)!important;color:#fff!important;}
.factura-history-table th,.factura-history-table td{font-size:.72rem;white-space:normal;word-break:break-word;overflow-wrap:break-word;vertical-align:middle;padding:.35rem .25rem;}
.factura-history-link,.factura-history-trigger{font-size:.72rem;line-height:1.1;padding:.2rem .45rem;}
.factura-history-info-cell{position:relative;text-align:center;}
/* Globo historial: título subrayado + valor; contenido repartido en el alto */
.factura-history-popup{
  position:fixed;
  top:100px;
  left:20px;
  right:auto;
  transform:none;
  background:rgb(20,107,3);
  padding:24px 20px;
  border:1px solid #000;
  color:#fff!important;
  min-width:500px;
  width:500px;
  max-width:500px;
  min-height:300px;
  max-height:none;
  overflow:visible;
  text-align:left;
  z-index:9999;
  white-space:normal;
  word-break:break-word;
  overflow-wrap:break-word;
  box-shadow:none;
  font-size:16px;
  line-height:1.4;
  font-weight:700;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.factura-history-popup.is-open{display:flex!important;}
.factura-history-popup,
.factura-history-popup *{
  color:#fff!important;
  font-size:16px;
}
.factura-history-popup-block{
  margin:0;
  flex:0 0 auto;
}
.factura-history-popup-label{
  text-decoration:underline;
  font-weight:400!important;
}
.factura-history-popup-text{
  font-weight:700!important;
}
.factura-history-popup hr{
  margin:0;
  border:0;
  border-top:1px solid #fff;
  opacity:1;
  flex:0 0 auto;
  width:100%;
}
.factura-history-detail-table th{width:34%;background:#f4f6f8;color:#002447;vertical-align:top;}
.factura-history-detail-table td{white-space:pre-wrap;word-break:break-word;}
#modalFacturaHistorialDetalle .modal-dialog{max-width:min(1180px,calc(100vw - 40px));}
#modalFacturaHistorialDetalle .modal-body{padding:.75rem 1rem;}
#modalFacturaHistorialDetalle .factura-order-section{padding-top:.4rem;margin-top:.4rem;}
#modalFacturaHistorialDetalle .factura-order-section:first-child{padding-top:0;margin-top:0;}
#modalFacturaHistorialDetalle .factura-order-section-title{margin:0 0 .3rem;padding-bottom:.15rem;}
#modalFacturaHistorialDetalle .form-group{margin-bottom:.3rem;}
#modalFacturaHistorialDetalle .form-row{margin-bottom:.15rem;}
#modalFacturaHistorialDetalle .form-row:last-child{margin-bottom:0;}
#modalFacturaHistorialDetalle .form-group label{margin-bottom:.1rem;font-size:.8125rem;line-height:1.2;}
#modalFacturaHistorialDetalle .factura-field-value{line-height:1.3;}
#modalFacturaHistorialDetalle .factura-field-value--area{min-height:1.75rem;}
#modalFacturaHistorialDetalle .factura-history-detail-table th,
#modalFacturaHistorialDetalle .factura-history-detail-table td{padding:.35rem .5rem;line-height:1.3;vertical-align:top;}
.factura-order-detail{color:#212529;}
.factura-order-section{border-top:1px solid #e5e7eb;padding-top:.75rem;margin-top:.75rem;}
.factura-order-section:first-child{border-top:0;padding-top:0;margin-top:0;}
.factura-order-section-title{color:var(--zuleta-color-dark,#002447);font-weight:700;border-bottom:2px solid var(--zuleta-color-primary,#048abf);padding-bottom:.3rem;margin:0 0 .75rem;}
.factura-order-detail-section:first-child{border-top:0;padding-top:0;margin-top:0;}
.factura-order-detail-grid{display:grid;grid-template-columns:1fr;gap:.5rem .65rem;}
.factura-order-detail-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.factura-order-detail-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.factura-order-detail-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.factura-order-box-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem .65rem;}
.factura-order-detail-field{min-width:0;}
.factura-order-detail-label{font-size:.78rem;font-weight:700;color:#fff;margin-bottom:.15rem;}
.factura-order-readonly[readonly]{background:#f8fafc;color:#002447;font-weight:600;border-color:#d8dee6;}
.factura-order-detail-value{min-height:36px;padding:.45rem .55rem;background:#f8fafc;color:#002447;border:1px solid #d8dee6;border-radius:3px;white-space:pre-wrap;word-break:break-word;font-weight:600;}
.factura-order-detail-wide{grid-column:span 2;}
.factura-order-detail-area{grid-column:1 / -1;}
.factura-order-detail-area .factura-order-detail-value{min-height:92px;}
.factura-order-detail-textarea{display:block;width:100%;min-height:132px;padding:.55rem .65rem;background:#f8fafc;color:#002447;border:1px solid #d8dee6;border-radius:.25rem;white-space:pre-wrap;word-break:break-word;font-weight:600;resize:vertical;}
.factura-order-detail-textarea:focus{outline:0;box-shadow:0 0 0 .2rem rgba(4,138,191,.15);border-color:#80bdff;}
.factura-order-detail-driver{grid-column:1 / -1;}
.factura-order-detail-driver .factura-order-detail-value{background:#f8fafc;color:#002447;min-height:38px;}
.factura-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.factura-title-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:.5rem;
  flex:0 0 auto;
}
.factura-title-actions .btn{width:auto;white-space:nowrap;}
@media (max-width:1199px){
  .factura-layout{--factura-aside-width:100%;grid-template-columns:1fr;}
  .factura-history-panel{max-width:100%;width:100%;margin-top:1rem;}
  .factura-main-panel{width:100%;max-width:100%;}
  .factura-history-popup{left:10px;right:auto;min-width:0;width:auto;max-width:calc(100vw - 20px);}
  .factura-order-detail-grid-4,.factura-order-box-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767px){
  .factura-app-content{--factura-call-dock-width:260px;--factura-call-dock-height:320px;}
  .factura-title{display:block;}
  .factura-title-actions{margin-top:.75rem;}
  .factura-payment-options{display:block;}
  .factura-payment-options label{display:block;}
  .factura-price-header{flex-direction:column;align-items:stretch!important;}
  .factura-price-search{max-width:100%;flex-basis:100%;margin-left:0;margin-top:.5rem;}
  .factura-price-wrapper{max-height:none;}
  .factura-history-popup{top:72px;left:10px;right:auto;min-width:0;width:auto;max-width:calc(100vw - 20px);min-height:300px;}
  .factura-call-dock{right:8px;bottom:8px;}
  #modalFacturaHistorialDetalle .modal-dialog{max-width:100%;margin:0;}
  .factura-order-detail{padding:.75rem;}
  .factura-order-detail-grid-2,.factura-order-detail-grid-3,.factura-order-detail-grid-4,.factura-order-box-grid{grid-template-columns:1fr;}
  .factura-order-detail-wide{grid-column:auto;}
}
