/* /assets/form-layout-20260909.css */
/* Unified form geometry for administrator and client panels. */
body.app main,body.app main form,body.app main .grid-two,body.app main .card{min-width:0;box-sizing:border-box}
body.app main .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;align-items:start;align-content:start;gap:14px 18px;width:100%;max-width:100%;min-height:0}
body.app main .form-grid>*,body.app main .form-grid label{min-width:0;max-width:100%;box-sizing:border-box}
body.app main .form-grid .full{grid-column:1/-1}
body.app main .form-grid label{display:flex!important;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px!important;margin:0;font-size:12px;line-height:18px}
body.app main .form-grid label>span{min-height:18px}
body.app main .form-grid input:not([type=hidden]):not([type=checkbox]):not([type=radio]),body.app main .form-grid select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:44px!important;min-height:44px!important;max-height:44px;padding:10px 12px;margin:0;line-height:22px;font-size:14px;align-self:stretch}
body.app main .form-grid input[type=file]{padding:7px 8px!important;font-size:12px!important;line-height:26px;overflow:hidden}
body.app main .form-grid input[type=file]::file-selector-button{height:28px;margin:-1px 8px -1px 0;border:1px solid #ccdaea;border-radius:6px;background:#fff;color:#123b6a;cursor:pointer}
body.app main .form-grid textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:88px;padding:10px 12px;font-size:14px;line-height:1.5;resize:vertical;margin:0}
body.app main .form-grid small{display:block;margin:0;font-size:11px;line-height:16px;text-transform:none;letter-spacing:0}
body.app main .form-grid>h2,body.app main .form-grid>h3{margin:0!important;padding:0;font-size:20px;line-height:26px}
body.app main .form-grid>p{margin:0!important;padding:0;line-height:20px;font-size:13px}
body.app main .form-grid>.actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin:0;padding:4px 0 0;min-height:0}
body.app main .form-grid .btn,body.app main .form-grid button:not(.link){box-sizing:border-box;min-height:44px;max-width:100%;padding:10px 16px;line-height:22px;white-space:normal;text-align:center}
body.app main .form-grid>.actions>.btn{flex:0 1 auto;width:auto}
/* Compact, balanced document upload and list in either role. */
body.app main:has(#generar-guia-admin)>.page-title,body.app .client-documents-page>.page-title{padding:16px 20px;margin-bottom:16px;min-height:0}
body.app main:has(#generar-guia-admin)>.page-title h1,body.app .client-documents-page>.page-title h1{font-size:28px;line-height:34px}
body.app main:has(#generar-guia-admin)>.grid-two,body.app .client-documents-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch;gap:16px!important;margin:0}
body.app main:has(#generar-guia-admin)>.grid-two>.card,body.app .client-documents-layout>.card{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:0!important;padding:18px!important}
body.app main:has(#generar-guia-admin)>.grid-two>.card.full{grid-column:1/-1}
body.app #client-upload-form .upload-card-heading{display:flex;gap:10px;align-items:center;margin:0;padding:0;min-height:0}
body.app #client-upload-form .upload-card-heading h3{margin:0;font-size:20px;line-height:26px}
body.app #client-upload-form .upload-card-heading p{margin:4px 0 0;font-size:13px;line-height:20px}
body.app #upload-document-status:empty,body.app .jax-file-summary:empty{display:none}
body.app main:has(#generar-guia-admin) .grid-two>.card>.table-wrap,body.app .client-documents-list .table-wrap{width:100%;max-width:100%;max-height:260px;overflow:auto}
body.app main:has(#generar-guia-admin) .table-wrap table,body.app .client-documents-list table{width:100%;min-width:0!important;table-layout:fixed}
body.app main:has(#generar-guia-admin) .table-wrap th,body.app main:has(#generar-guia-admin) .table-wrap td,body.app .client-documents-list th,body.app .client-documents-list td{padding:10px 8px;white-space:normal!important;overflow-wrap:anywhere;font-size:12px}
body.app main:has(#generar-guia-admin) .table-wrap th:nth-child(2){width:25%}
body.app main:has(#generar-guia-admin) .table-wrap th:last-child{width:21%}
body.app .client-documents-list th:nth-child(2){width:40%}
body.app .client-documents-list .actions{display:flex;flex-wrap:wrap;gap:6px;padding:0}
body.app main:has(#generar-guia-admin) .table-wrap .inline{display:inline-block;margin:0}
body.app main:has(#generar-guia-admin) .table-wrap button,body.app .client-documents-list button{min-height:34px;padding:6px 9px;font-size:11px;white-space:normal}
body.app #generar-guia,body.app #generar-guia-admin{height:auto!important;min-height:0!important;gap:12px 18px!important}
body.app #generar-guia{margin:16px 0 0!important;padding:18px!important}
body.app #generar-guia-admin{margin:0!important;padding:0!important}
body.app #generar-guia .actions,body.app #generar-guia-admin .actions{margin-top:0!important;padding:2px 0 0!important}
@media(min-width:1500px){body.app #generar-guia,body.app #generar-guia-admin{grid-template-columns:repeat(4,minmax(0,1fr))!important}body.app #generar-guia label,body.app #generar-guia-admin label{font-size:12px}body.app #generar-guia label:has(input[name=consignee_name]),body.app #generar-guia-admin label:has(input[name=consignee_name]){grid-column:auto}}
@media(max-width:1100px){body.app main:has(#generar-guia-admin)>.grid-two,body.app .client-documents-layout{grid-template-columns:minmax(0,1fr)!important}body.app main:has(#generar-guia-admin) .table-wrap table{font-size:12px}}
@media(max-width:640px){body.app main .form-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}body.app main .form-grid>*{grid-column:1!important}body.app main .form-grid>.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px}body.app main .form-grid>.actions>.btn{width:100%;font-size:11px;padding:10px 8px}body.app main .form-grid input:not([type=hidden]):not([type=checkbox]):not([type=radio]),body.app main .form-grid select,body.app main .form-grid textarea{font-size:16px}body.app main:has(#generar-guia-admin)>.grid-two>.card,body.app .client-documents-layout>.card,body.app #generar-guia{padding:14px!important}body.app .client-documents-list th,body.app .client-documents-list td{padding:8px 5px;font-size:11px}}

body.app main .form-grid label:has(>input:not([type=checkbox]):not([type=radio])),body.app main .form-grid label:has(>select){display:grid!important;grid-template-rows:36px 44px auto;align-content:start;align-items:start}body.app main .form-grid label>span{align-self:end}body.app main .form-grid label>input,body.app main .form-grid label>select{grid-row:2}body.app main .form-grid label>small,body.app main .form-grid label>.jax-file-summary{grid-row:3}

body.app main form.card.form-grid{width:100%!important;max-width:100%!important;align-self:stretch}body.app main .form-grid label{grid-template-columns:minmax(0,1fr)!important;justify-content:stretch!important;width:100%!important}body.app main .form-grid label>input:not([type=checkbox]):not([type=radio]),body.app main .form-grid label>select{width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important}body.app main .form-grid label>input,body.app main .form-grid label>select,body.app main .form-grid label>small,body.app main .form-grid label>span{grid-column:1!important}

body.app.jax-ops #contenido .grid-two>form.card.form-grid,body.app.jax-ops #contenido #client-upload-form{width:100%!important;max-width:100%!important;min-width:0!important;justify-self:stretch!important}body.app.jax-ops #contenido .form-grid label>input:not([type=checkbox]):not([type=radio]),body.app.jax-ops #contenido .form-grid label>select{width:100%!important;height:44px!important;min-height:44px!important;max-height:44px!important}

body.app main:has(#generar-guia-admin)>.page-title .actions,body.app .client-documents-page>.page-title .actions{margin:0!important;padding:0!important}body.app main:has(#generar-guia-admin) .grid-two>.card>.table-wrap,body.app .client-documents-list .table-wrap{max-height:200px}body.app main:has(#generar-guia-admin)>.page-title,body.app .client-documents-page>.page-title{padding:12px 18px!important} @media(min-width:1200px) and (max-width:1499px){body.app #generar-guia label,body.app #generar-guia-admin label{grid-template-rows:24px 44px auto!important}}

body.app #contenido .grid-two:has(>form.card.form-grid),body.app #contenido .client-documents-layout{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
body.app #contenido .grid-two>form.card.form-grid{max-width:100%!important;width:100%!important}
body.app #contenido .client-documents-layout{align-items:stretch!important}
body.app #contenido .client-documents-layout>.card{align-self:stretch!important;max-width:100%!important}
@media(max-width:1100px){body.app #contenido .grid-two:has(>form.card.form-grid),body.app #contenido .client-documents-layout{grid-template-columns:minmax(0,1fr)!important}}
body.app #contenido .client-documents-page>.page-title h1{margin:4px 0!important;font-size:28px!important;line-height:34px!important}
body.app #contenido .client-documents-page>.page-title p{margin:0!important;font-size:13px!important;line-height:20px!important}
body.app #contenido .client-documents-page>.page-title>div>span{display:block;line-height:16px}
body.app #contenido #client-upload-form{padding:14px!important;gap:10px!important}
@media(min-width:1200px) and (max-width:1499px){body.app #generar-guia label,body.app #generar-guia-admin label{grid-template-rows:18px 44px auto!important}}
@media(max-width:640px){body.app #contenido .grid-two>form.card.form-grid{grid-template-columns:minmax(0,1fr)!important}}
body.app #contenido #generar-guia{padding:14px!important}

/* /assets/jax-portal-fixes-20260929.css */
/* JAX Courier Perú — correcciones visuales/UX 2026-09-29.
   Solo presentación. No altera formularios, nombres de campos, rutas ni lógica.
   Rollback: quitar las 2 líneas de index.php que cargan este archivo y el JS homónimo. */
:root{--jfx-navy:#002855;--jfx-navy2:#102e50;--jfx-red:#E31B23;--jfx-red-dark:#b5141b;--jfx-line:#d6e2ed;--jfx-muted:#4f5f73;--jfx-radius:9px;--jfx-h:40px}

/* ---------- 3. Tablas anchas: scroll horizontal, anchos mínimos, acciones fijas ---------- */
.jfx-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
html body.app #contenido .table-wrap,html body.app #contenido .jfx-scroll{overflow-x:auto!important}
html body.app #contenido table :is(button,.btn,a.btn,input[type=submit]){white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important}
html body.app #contenido td.jfx-actions{white-space:nowrap}
html body.app #contenido td.jfx-actions>:is(form,div,span).inline,html body.app #contenido td.jfx-actions>form{display:inline-flex;margin:0}
html body.app #contenido .jfx-actions-row{display:inline-flex!important;flex-wrap:nowrap!important;align-items:center;gap:6px!important}
@media(min-width:901px){
  html body.app #contenido table.jfx-has-actions{min-width:100%}
  html body.app #contenido table.jfx-has-actions :is(th,td).jfx-actions-col{position:sticky;right:0;z-index:2;background:#fff;box-shadow:-8px 0 10px -8px rgba(16,46,80,.22)}
  html body.app #contenido table.jfx-has-actions th.jfx-actions-col{z-index:3}
  html body.app #contenido table.jfx-has-actions :is(td,td small,td b){overflow-wrap:normal!important;word-break:normal!important}
  html body.app #contenido table.jfx-has-actions td{min-width:84px}
  html body.app #contenido table.jfx-has-actions td:first-child:has(>input[type=checkbox]){min-width:0}
  html body.app #contenido table.jfx-has-actions tbody tr:hover td.jfx-actions-col{background:#f8fbff}
  html body.app #contenido table.jfx-has-actions tbody tr:has(input[type=checkbox]:checked) td.jfx-actions-col{background:#e7f1fd}
  html body.app #contenido table.jfx-has-actions td.jfx-actions-col{display:table-cell}
  html body.app #contenido table.jfx-has-actions td.jfx-actions-col>*{vertical-align:middle}
  html body.app #contenido table td:is(.jfx-nowrap){white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
}

/* ---------- 2. Estado vacío en celdas colspan (nunca una letra por línea) ---------- */
table td[colspan]{white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none}
table td.jfx-empty::before{display:none!important;content:none!important}
table td.jfx-empty{text-align:center!important;padding-left:14px!important;color:#4f5f73;padding:22px 14px!important;min-width:min(280px,80vw)}
@media(max-width:900px){
  table td.jfx-empty,.jax-card-table tbody td[colspan]{display:block!important;width:auto!important;min-width:0;grid-template-columns:none!important}
  .jfx-scroll>table:not(.jax-card-table){min-width:640px}
}

/* ---------- 1. Auditoría ---------- */
html body.app #contenido table.jfx-audit td.jfx-ip,html body.app #contenido table.jfx-audit td.jfx-date,html body.app #contenido table.jfx-audit th.jfx-ip,html body.app #contenido table.jfx-audit th.jfx-date{white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
html body.app #contenido table.jfx-audit td{min-width:120px}
html body.app #contenido table.jfx-audit td small{overflow-wrap:break-word!important;word-break:normal!important}
html body.app #contenido table.jfx-audit td.jfx-ip{min-width:130px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}
html body.app #contenido table.jfx-audit td.jfx-date{min-width:150px;font-variant-numeric:tabular-nums}
html body.app #contenido table.jfx-audit td.jfx-ip.jfx-ipv6{white-space:normal!important;min-width:150px;max-width:190px;overflow-wrap:normal!important}
html body.app #contenido table.jfx-audit td.jfx-event small{white-space:nowrap}
html body.app #contenido table.jfx-audit td.jfx-event{min-width:170px;max-width:230px;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important}
html body.app #contenido table.jfx-audit td.jfx-event code,html body.app #contenido table.jfx-audit .jfx-evt{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;background:#eef3f9;color:#102e50;border-radius:6px;padding:2px 6px;display:inline-block;overflow-wrap:anywhere}
html body.app #contenido table.jfx-audit td.jfx-detail{min-width:200px;max-width:320px;white-space:normal!important;vertical-align:top}
.jfx-json{margin:0}
.jfx-json>summary{cursor:pointer;list-style:none;font:12.5px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#23405f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px;padding:3px 6px;border-radius:6px;background:#f3f7fb;border:1px solid #e1e9f2}
.jfx-json>summary::-webkit-details-marker{display:none}
.jfx-json>summary::before{content:"▸ ";color:#002855}
.jfx-json[open]>summary::before{content:"▾ "}
.jfx-json pre{margin:6px 0 0;padding:8px 10px;max-height:260px;max-width:420px;overflow:auto;background:#0f2742;color:#e6eef8;border-radius:8px;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}
.jfx-toolsbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px}
.jfx-toolsbar input[type=search]{flex:1 1 260px;max-width:420px;min-height:40px;border:1px solid #cfddec;border-radius:9px;padding:8px 12px;font:inherit;background:#fff!important}
.jfx-toolsbar .jfx-count{font-size:13px;color:#4f5f73}
.jfx-pager{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0}
.jfx-pager button{min-height:34px!important;padding:5px 11px!important;font-size:13px!important}
.jfx-pager button[aria-current=page]{background:#002855!important;color:#fff!important;border-color:#002855!important}
.jfx-pager .jfx-count{font-size:13px;color:#4f5f73;margin-left:6px}
tr.jfx-hidden,.jfx-hidden{display:none!important}
@media(max-width:900px){
  html body.app #contenido table.jfx-audit td:is(.jfx-ip,.jfx-date,.jfx-event,.jfx-detail){min-width:0;max-width:none}
  .jfx-json>summary,.jfx-json pre{max-width:100%}
}

/* ---------- 4 y 6. Botones unificados ---------- */
html body.app #contenido [hidden]{display:none!important}
@media(min-width:901px){body.app #contenido :is(.toolbar,.page-title,.filters,.card-head,.actions) :is(button,.btn,a.btn){white-space:nowrap}}
html body.app #contenido :is(button,.btn,a.btn,input[type=submit],input[type=button]):not(.link):not(.nav-toggle):not(.combined-guide-close):not(.jfx-raw){text-transform:none;letter-spacing:0;font-weight:700;border-radius:var(--jfx-radius);min-height:var(--jfx-h);padding:8px 16px;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;font-size:14px}
html body.app #contenido :is(button,.btn,a.btn):not(.secondary):not(.danger):not(.link):not(.jfx-danger):not(.jfx-ghost):not(.nav-toggle):not(.combined-guide-close):not(.jfx-raw){background:var(--jfx-navy);color:#fff;border:1px solid var(--jfx-navy)}
html body.app #contenido :is(button,.btn,a.btn):not(.secondary):not(.danger):not(.link):not(.jfx-danger):not(.jfx-ghost):not(.nav-toggle):not(.combined-guide-close):not(.jfx-raw):hover{background:var(--jfx-navy2);border-color:var(--jfx-navy2)}
html body.app #contenido :is(button,.btn,a.btn).secondary,html body.app #contenido .jfx-ghost{background:#fff!important;color:var(--jfx-navy)!important;border:1px solid #b9cbe0!important;box-shadow:none}
html body.app #contenido :is(button,.btn,a.btn).secondary:hover,html body.app #contenido .jfx-ghost:hover{background:#eef4fb!important;border-color:var(--jfx-navy)!important}
html body.app #contenido a.jfx-ghost{text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;min-height:var(--jfx-h);padding:8px 16px;border-radius:var(--jfx-radius);font-weight:700;font-size:14px}
/* Destructivo: rojo solo en acciones de borrado; secundario (contorno) para no dominar. */
html body.app #contenido :is(button,.btn,a).jfx-danger,html body.app #contenido :is(button,.btn,a).danger{background:#fff!important;color:var(--jfx-red-dark)!important;border:1px solid #efb9bc!important;box-shadow:none!important}
html body.app #contenido :is(button,.btn,a).jfx-danger:hover,html body.app #contenido :is(button,.btn,a).danger:hover{background:#fff1f2!important;border-color:var(--jfx-red)!important;color:var(--jfx-red)!important}
html body.app #contenido table :is(button,.btn,a).jfx-danger,html body.app #contenido table :is(button,.btn,a).danger{min-height:32px!important;padding:5px 10px!important;font-size:12.5px!important}
html body.app #contenido table td.jfx-actions :is(button,.btn,a):not(.jfx-danger):not(.danger){min-height:34px;padding:6px 11px;font-size:13px}
html body.app #contenido .jfx-actions .jfx-danger-host{order:99;margin-left:auto}
@media(max-width:900px){
  .jax-card-table tbody td.jfx-actions{display:flex!important;flex-wrap:wrap;gap:8px;align-items:center}
  .jax-card-table tbody td.jfx-actions>.jfx-danger-host,.jax-card-table tbody td.jfx-actions>.jfx-danger{order:99;margin-left:auto}
  .jax-card-table tbody td.jfx-actions :is(button,a).jfx-danger,.jax-card-table tbody td.jfx-actions :is(button,a).danger{min-height:36px!important;padding:6px 10px!important;font-size:12.5px!important;flex:0 0 auto}
  html body.app #contenido :is(button,.btn,a.btn):not(.link):not(.nav-toggle){white-space:normal}
}

/* ---------- 5. Liquidaciones (admin-tools/liquidaciones/index.html): acentos de marca ----------
   Solo variables y colores; el JS de la herramienta no se toca. */
body.jfx-liq{--navy:#002855;--navy-deep:#102e50;--blue:#1b4a7a;--light:#e6edf5;--grid:#c3d2e2;--red:#E31B23;--text:#102e50;--muted:#5b6778;accent-color:#E31B23}
body.jfx-liq .admin-tool-nav{background:#002855}
body.jfx-liq .topbar{background:linear-gradient(105deg,#102e50,#002855)}
body.jfx-liq .step{background:#002855}
body.jfx-liq :is(.editor-table,.preview-table) th{background:#102e50!important;color:#fff!important;border-right-color:rgba(255,255,255,.12)}
body.jfx-liq .jax-tab.active{background:#002855!important}
body.jfx-liq .btn-primary{background:#E31B23!important;color:#fff!important}
body.jfx-liq .btn-secondary{background:#002855!important;color:#fff!important}
body.jfx-liq .btn-soft{background:#fff!important;color:#002855!important;border:1px solid #b9cbe0!important}
body.jfx-liq .btn-danger,body.jfx-liq .remove-btn{background:#fff!important;color:#b5141b!important;border:1px solid #efb9bc!important}
body.jfx-liq .file-drop:hover{border-color:#002855}
body.jfx-liq .field-group input:focus,body.jfx-liq .field-group select:focus{border-color:#002855;box-shadow:0 0 0 3px rgba(0,40,85,.12)}
/* Tabla editable: se conserva el scroll horizontal propio (sin modo tarjeta) y el vacío ocupa el ancho visible. */
body.jfx-liq td.jfx-empty{text-align:left!important}
body.jfx-liq td.jfx-empty>.jfx-empty-msg{position:sticky;left:16px;display:inline-block;width:min(560px,calc(100vw - 80px));text-align:center;white-space:normal}

/* ---------- 7. Notificaciones ---------- */
.jfx-chips{display:flex;flex-wrap:wrap;gap:6px}
.jfx-chip{min-height:32px!important;padding:5px 12px!important;border-radius:999px!important;font-size:13px!important;font-weight:600!important;background:#fff!important;color:#002855!important;border:1px solid #b9cbe0!important}
.jfx-chip[aria-pressed=true]{background:#002855!important;color:#fff!important;border-color:#002855!important}
.timeline li.jfx-day{border-left:0!important;padding:0 0 6px!important}
.jfx-day{margin:18px 0 8px;padding:0 2px;font-size:13px;font-weight:800;letter-spacing:.04em;color:#102e50;text-transform:uppercase;border-bottom:1px solid #dbe5ef;padding-bottom:6px;list-style:none}
body.jfx-notif #contenido .jfx-notif-item{padding:12px 14px;line-height:1.5}
body.jfx-notif #contenido .jfx-notif-item+.jfx-notif-item{margin-top:8px}
body.jfx-notif #contenido .jfx-notif-item :is(small,time){color:#4f5f73;font-size:13px}

/* ---------- 8. Sincronizaciones: contraste y tamaño ---------- */
body.jfx-sync #contenido :is(small,.muted,.text-muted,.hint,.help,td small,p){color:#4a5a6e!important;font-size:max(13.5px,1em)!important;line-height:1.5}
body.jfx-sync #contenido small{font-size:13.5px!important}
body.jfx-sync #contenido :is(.stats,.card) span{color:#4a5a6e!important;font-size:13.5px!important}
body.jfx-sync #contenido table th{color:#34475e!important;font-size:12.5px!important}

/* ---------- 9. Control de archivo en español ---------- */
.jfx-file{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:44px;padding:6px 8px;border:1px dashed #b9cbe0;border-radius:9px;background:#f7fafd;position:relative;box-sizing:border-box;width:100%;max-width:100%}
.jfx-file:focus-within{outline:3px solid #4288d5;outline-offset:2px}
.jfx-file input[type=file]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;border:0!important;opacity:0}
.jfx-file .jfx-file-btn{display:inline-flex;align-items:center;min-height:34px;padding:6px 14px;border:1px solid #002855;border-radius:8px;background:#fff;color:#002855;font-weight:700;font-size:13.5px;cursor:pointer;white-space:nowrap;text-transform:none;letter-spacing:0}
.jfx-file .jfx-file-btn:hover{background:#eef4fb}
.jfx-file .jfx-file-name{font-size:13.5px;color:#34475e;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 140px}
.jfx-file.is-empty .jfx-file-name{color:#5b6778}
.jfx-file.is-disabled{opacity:.6}
body.app main .form-grid label>.jfx-file{grid-row:2;grid-column:1!important}

/* ---------- 10. Etiquetas de menú sin mayúsculas forzadas ---------- */
body.jax-ops>header nav a{text-transform:none!important}

/* /assets/jax-logo-20260929.css */
/* 2026-09-29 · Logo JAX integrado (sin tarjeta blanca). Solo presentación.
   Neutraliza reglas antiguas: visual-audit.css (fondo #fff, radio, sombra, 148x76/160x84/112x58),
   ux-logistics.css (object-fit:cover, borde, 132x62/112x58/92x50), production-refresh.css,
   regla inline de index.php (object-fit:cover), admin-enhancements.js (156x76, radio 10) y app.css (content:url(/?jax_logo)).
   Los :not(#jx) solo elevan la especificidad por encima de esas reglas !important. Rollback: quitar el <link> en index.php. */

/* Menú lateral navy (escritorio) */
html body.jax-ops:not(#jx):not(#jx)>header .brand{background:transparent!important;box-shadow:none!important;border:0!important;min-height:0!important;height:auto!important;overflow:visible!important;padding:6px 8px 14px!important;justify-content:flex-start!important}
html body.jax-ops:not(#jx):not(#jx)>header .brand img{content:normal!important;display:block!important;width:100%!important;max-width:188px!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:400/196!important;object-fit:contain!important;object-position:left center!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;mix-blend-mode:normal!important;filter:none!important}
/* Barra superior navy (móvil / tablet) */
@media(max-width:900px){
 html body.jax-ops:not(#jx):not(#jx)>header .brand{padding:0!important;width:auto!important}
 html body.jax-ops:not(#jx):not(#jx)>header .brand img{width:auto!important;height:46px!important;max-width:none!important}
}

/* Página pública (hero navy): línea de marca */
html body:not(#jx):not(#jx) .jax-home .jh-brandline img{content:normal!important;width:128px!important;height:63px!important;object-fit:contain!important;background:transparent!important;border-radius:0!important;padding:0!important;box-shadow:none!important}
@media(max-width:640px){html body:not(#jx):not(#jx) .jax-home .jh-brandline img{width:104px!important;height:51px!important}}

/* Herramientas (liquidaciones / facturas): las reglas genéricas .brand img del portal no deben pintar tarjeta */
html body:not(#jx):not(#jx) .topbar .brand img.brand-logo{content:normal!important;width:172px!important;height:84px!important;max-height:none!important;object-fit:contain!important;object-position:left center!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
@media(max-width:760px){html body:not(#jx):not(#jx) .topbar .brand img.brand-logo{width:124px!important;height:61px!important}}
html body:not(#jx):not(#jx)>header .brand .brand-image img{content:normal!important;background:transparent!important;border-radius:0!important;box-shadow:none!important}

/* /assets/jax-portal-ui-20261010.css */
/* JAX Courier Perú — capa visual 2026-10-10 (jui).
   Solo presentación: no cambia formularios, nombres de campos, rutas, datos ni lógica.
   Se carga al final desde public_html/index.php. Rollback: borrar la línea "2026-10-10" de index.php. */
:root{--jui-navy:#001C47;--jui-navy-2:#0A2C5E;--jui-navy-3:#123A73;--jui-red:#D50104;--jui-ink:#13294B;--jui-muted:#4A5A70;--jui-line:#D5DFEB;--jui-bg:#F2F5F9;--jui-h:42px;--jui-r:10px;--jui-side:280px}

/* ============ 1. Menú lateral: navy de marca, alto completo, íconos alineados ============ */
html body.app.jax-ops>header,html body.app.jax-ops #menu-principal{background:var(--jui-navy)!important}
html body.app.jax-ops #menu-principal a{color:#E6EDF7!important}
html body.app.jax-ops #menu-principal a:hover{background:var(--jui-navy-2)!important}
html body.app.jax-ops #menu-principal a[aria-current=page]{background:var(--jui-navy-3)!important;color:#fff!important;box-shadow:inset 3px 0 0 var(--jui-red)!important}
html body.app.jax-ops #menu-principal .jax-nav-icon{color:#C9D7EA}
html body.app.jax-ops #menu-principal a[aria-current=page] .jax-nav-icon{color:#fff}
/* Enlaces sin ícono propio: el JS agrega un SVG; si no pudiera, se respeta la misma sangría. */
html body.app.jax-ops #menu-principal a:not(:has(svg)){padding-left:calc(12px + 28px + 14px)!important}
/* Encabezados de grupo: chevron SVG en lugar del triángulo de texto */
html body.app #menu-principal details.jax-nav-group>summary{list-style:none!important;display:flex!important;align-items:center;justify-content:space-between;gap:8px;color:#AFC3DC!important;font-size:11.5px!important;letter-spacing:.09em!important;font-weight:750!important}
html body.app #menu-principal details.jax-nav-group>summary::-webkit-details-marker{display:none}
html body.app #menu-principal details.jax-nav-group>summary::marker{content:""}
html body.app #menu-principal .jui-chev{width:16px;height:16px;flex:0 0 16px;stroke:currentColor;fill:none;stroke-width:2.2;transition:none;transform:rotate(0deg)}
html body.app #menu-principal details[open]>summary .jui-chev{transform:rotate(90deg)}
html body.app #menu-principal details.jax-nav-group>summary:hover{color:#fff!important}
@media(min-width:901px){
  /* El menú es fixed (100dvh). Esta columna navy cubre todo el alto del documento: capturas de página completa,
     zoom alto o navegadores sin dvh ya no muestran el fondo gris bajo el menú. */
  html body.app.jax-ops{position:relative;min-height:100vh}
  html body.app.jax-ops::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--jui-side);background:var(--jui-navy);z-index:29;pointer-events:none}
  html body.app.jax-ops>header{z-index:30!important}
  html body.app.jax-ops>footer{margin-left:var(--jui-side)!important;position:relative;z-index:1}
}
@media print{html body.app.jax-ops::before{display:none!important}}

/* ============ 2. Encabezado de página unificado (banda navy) ============ */
html body.app #contenido .page-title,html body.app #contenido .jui-band{text-align:left!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:14px 20px!important;background:var(--jui-navy)!important;background-image:none!important;color:#fff!important;border:0!important;border-left:4px solid var(--jui-red)!important;border-radius:12px!important;padding:18px 22px!important;margin:0 0 18px!important;box-shadow:0 6px 18px rgba(0,28,71,.12)!important;position:relative;overflow:hidden;max-width:none!important;width:auto!important;box-sizing:border-box}
html body.app #contenido .page-title::before,html body.app #contenido .page-title::after,html body.app #contenido .jui-band::before,html body.app #contenido .jui-band::after{display:none!important;content:none!important}
html body.app #contenido :is(.page-title,.jui-band)>div:first-child{min-width:0;flex:1 1 380px;max-width:none!important;width:auto!important}
/* Antetítulo: claro sobre navy (el rojo solo se usa en el borde, nunca en texto pequeño sobre navy). */
html body.app #contenido :is(.page-title,.jui-band) :is(span,.jui-eyebrow):first-child:not(.badge){display:block;color:#B9CBE3!important;font-size:11px!important;font-weight:750!important;letter-spacing:.12em!important;text-transform:uppercase;margin:0 0 4px!important;background:none!important;padding:0!important}
html body.app #contenido :is(.page-title,.jui-band) h1{color:#fff!important;font-size:clamp(22px,2.1vw,27px)!important;line-height:1.2!important;margin:0!important;letter-spacing:-.01em!important;font-weight:800!important}
html body.app #contenido :is(.page-title,.jui-band) p{color:#D7E1EF!important;font-size:14px!important;line-height:1.5!important;margin:6px 0 0!important;max-width:78ch}
html body.app #contenido :is(.page-title,.jui-band) p a{color:#fff;text-decoration:underline}
html body.app #contenido :is(.page-title,.jui-band) code{background:rgba(255,255,255,.12)!important;color:#fff!important;border-radius:5px;padding:1px 5px}
/* Botones dentro de la banda: blancos (primario) o contorno claro (secundario) */
html body.app #contenido :is(.page-title,.jui-band) :is(.btn,a.btn,button,a.jfx-ghost,a.secondary){background:#fff!important;color:var(--jui-navy)!important;border:1px solid #fff!important;min-height:40px!important;box-shadow:none!important}
html body.app #contenido :is(.page-title,.jui-band) :is(.btn,a.btn,button,a.jfx-ghost):hover{background:#E8EEF7!important}
html body.app #contenido :is(.page-title,.jui-band) :is(.btn.secondary,a.secondary,a.jfx-ghost){background:transparent!important;color:#fff!important;border-color:rgba(255,255,255,.55)!important}
html body.app #contenido :is(.page-title,.jui-band) :is(.btn.secondary,a.secondary,a.jfx-ghost):hover{background:rgba(255,255,255,.12)!important}
html body.app #contenido :is(.page-title,.jui-band) .actions,html body.app #contenido .jui-band .jui-band-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
html body.app #contenido .jui-band .jui-band-actions{flex:0 0 auto}
@media(max-width:640px){
  html body.app #contenido :is(.page-title,.jui-band){padding:16px!important;border-radius:10px!important}
  html body.app #contenido :is(.page-title,.jui-band)>div:first-child{flex-basis:100%}
  html body.app #contenido :is(.page-title,.jui-band) :is(.actions,.jui-band-actions){width:100%}
  html body.app #contenido :is(.page-title,.jui-band) :is(.actions,.jui-band-actions)>*{flex:1 1 auto}
}
/* Sincronizaciones: párrafos legibles y lista con viñetas de marca */
html body.app.jfx-sync #contenido .card p{max-width:95ch}
html body.app.jfx-sync #contenido .card ul{padding-left:0;list-style:none}
html body.app.jfx-sync #contenido .card ul li{position:relative;padding:4px 0 4px 18px}
html body.app.jfx-sync #contenido .card ul li::before{content:"";position:absolute;left:2px;top:12px;width:7px;height:7px;border-radius:50%;background:var(--jui-navy)}

/* ============ 3. Barra de filtros unificada ============ */
html body.app #contenido form.jui-filters{display:flex!important;flex-wrap:wrap!important;align-items:flex-end!important;gap:12px 14px!important;padding:16px 18px!important;grid-template-columns:none!important;box-sizing:border-box}
html body.app #contenido form.jui-filters>label,html body.app #contenido form.jui-filters>div:not(.jui-filter-actions):not(.hg-actions):not(.ws-buttons)>label{display:flex!important;flex-direction:column!important;justify-content:flex-end;gap:6px!important;flex:1 1 170px;min-width:150px;max-width:100%;margin:0!important;font-size:12.5px!important;font-weight:700!important;color:var(--jui-ink)!important;text-transform:none!important;letter-spacing:0!important;grid-column:auto!important}
html body.app #contenido form.jui-filters>label>span{font-size:12.5px!important;font-weight:700!important;color:var(--jui-ink)!important;text-transform:none!important;letter-spacing:0!important;margin:0!important}
html body.app #contenido form.jui-filters>label:not(.jui-search):not(.jui-check){max-width:260px}
html body.app #contenido form.jui-filters>label.jui-search,html body.app #contenido form.jui-filters>input.jui-search{flex:2 1 280px!important}
html body.app #contenido form.jui-filters>label.jui-date{flex:0 1 165px;min-width:150px}
html body.app #contenido form.jui-filters>label.jui-check{flex:0 0 auto;min-width:0;flex-direction:row!important;align-items:center!important;gap:8px!important;min-height:var(--jui-h);font-weight:600!important;align-self:flex-end;white-space:nowrap}
html body.app #contenido form.jui-filters>label.jui-check input{width:18px!important;height:18px!important;min-height:0!important;margin:0!important;accent-color:var(--jui-navy)}
html body.app #contenido form.jui-filters :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select){height:var(--jui-h)!important;min-height:var(--jui-h)!important;max-height:var(--jui-h)!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important;padding:0 12px!important;border:1px solid #B8C8DC!important;border-radius:var(--jui-r)!important;background:#fff!important;color:var(--jui-ink)!important;font-size:14px!important;font-weight:500!important;line-height:normal!important}
html body.app #contenido form.jui-filters>input:not([type=hidden]){flex:1 1 220px;min-width:180px;align-self:flex-end}
html body.app #contenido form.jui-filters :is(input,select):focus{border-color:var(--jui-navy)!important;box-shadow:0 0 0 3px rgba(0,28,71,.14)!important}
/* Contenedor de botones (propio o creado por el JS) */
html body.app #contenido form.jui-filters :is(.jui-filter-actions,.hg-actions,.ws-buttons){display:flex!important;flex:0 0 auto!important;margin-left:auto!important;flex-wrap:nowrap!important;gap:8px!important;align-items:center!important;align-self:flex-end!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;width:auto!important;grid-column:auto!important}
html body.app #contenido form.jui-filters :is(button,.btn,a.jfx-ghost,a.secondary,a.jui-clear){height:var(--jui-h)!important;min-height:var(--jui-h)!important;max-height:var(--jui-h)!important;padding:0 18px!important;margin:0!important;border-radius:var(--jui-r)!important;font-size:14px!important;font-weight:700!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;white-space:nowrap!important;width:auto!important;align-self:flex-end!important;box-sizing:border-box!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important}
html body.app #contenido form.jui-filters :is(button,.btn):not(.jui-clear):not(.secondary):not(.jfx-ghost){background:var(--jui-navy)!important;color:#fff!important;border:1px solid var(--jui-navy)!important}
html body.app #contenido form.jui-filters :is(button,.btn):not(.jui-clear):not(.secondary):not(.jfx-ghost):hover{background:var(--jui-navy-2)!important}
html body.app #contenido form.jui-filters :is(a.jfx-ghost,a.secondary,a.jui-clear,button.jui-clear){background:#fff!important;color:var(--jui-navy)!important;border:1px solid #9FB3CC!important;text-decoration:none!important}
html body.app #contenido form.jui-filters :is(a.jfx-ghost,a.secondary,a.jui-clear,button.jui-clear):hover{background:#EEF3FA!important;border-color:var(--jui-navy)!important}
html body.app #contenido form.jui-filters .jui-ico{width:16px;height:16px;flex:0 0 16px;stroke:currentColor;fill:none;stroke-width:2.2}
html body.app #contenido form.jui-filters>details{flex:1 1 100%!important;margin:2px 0 0!important;border-top:1px solid var(--jui-line);padding-top:10px}
html body.app #contenido form.jui-filters>details>summary{color:var(--jui-navy);font-weight:700;cursor:pointer}
html body.app #contenido form.jui-filters .jax-filter-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))!important;gap:12px!important;margin-top:10px}
html body.app #contenido form.jui-filters .jax-filter-grid label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;color:var(--jui-ink)}
@media(max-width:640px){
  html body.app #contenido form.jui-filters{padding:14px!important;gap:10px!important}
  html body.app #contenido form.jui-filters>label,html body.app #contenido form.jui-filters>input:not([type=hidden]){flex:1 1 100%!important;min-width:0!important;max-width:none!important}
  html body.app #contenido form.jui-filters :is(.jui-filter-actions,.hg-actions,.ws-buttons){margin-left:0!important}
  html body.app #contenido form.jui-filters>label.jui-date{flex:1 1 calc(50% - 6px)!important}
  html body.app #contenido form.jui-filters :is(.jui-filter-actions,.hg-actions,.ws-buttons){flex:1 1 100%!important}
  html body.app #contenido form.jui-filters :is(.jui-filter-actions,.hg-actions,.ws-buttons)>*{flex:1 1 0!important}
  html body.app #contenido form.jui-filters :is(input:not([type=checkbox]):not([type=radio]),select,button,.btn,a.jfx-ghost){height:44px!important;min-height:44px!important;max-height:44px!important;font-size:16px!important}
}

/* ============ 4. Tablas ============ */
/* Contenedor: scroll horizontal solo si hace falta (el JS marca jui-fit / jui-overflow). */
html body.app #contenido .table-wrap,html body.app #contenido .jfx-scroll{max-height:none!important;overflow-y:visible!important}
@media(min-width:901px){
  html body.app #contenido .table-wrap.jui-fit,html body.app #contenido .jfx-scroll.jui-fit{overflow:visible!important}
  html body.app #contenido .table-wrap.jui-overflow,html body.app #contenido .jfx-scroll.jui-overflow{overflow-x:auto!important;overflow-y:hidden!important;border:1px solid var(--jui-line);border-radius:12px;scrollbar-color:#9FB3CC #EEF3F8;scrollbar-width:thin}
  html body.app #contenido .table-wrap.jui-overflow::-webkit-scrollbar{height:10px}
  html body.app #contenido .table-wrap.jui-overflow::-webkit-scrollbar-thumb{background:#9FB3CC;border-radius:8px}
  /* Encabezado fijo al desplazar la página (solo cuando la tabla cabe y el contenedor no recorta). */
  html body.app #contenido .jui-fit>table>thead>tr>th{position:sticky!important;top:var(--jui-top,0px)!important;z-index:5!important;background:var(--jui-navy)!important;color:#fff!important;box-shadow:0 1px 0 rgba(255,255,255,.08),0 6px 10px -8px rgba(0,28,71,.45)}
  /* Sin columna de acciones superpuesta cuando la tabla cabe: desaparece la sombra suelta y el recorte. */
  html body.app #contenido .jui-fit table.jfx-has-actions td.jfx-actions-col{position:static!important;box-shadow:none!important}
  html body.app #contenido .jui-fit table.jfx-has-actions th.jfx-actions-col{right:auto!important}
  html body.app #contenido .jui-overflow table.jfx-has-actions :is(th,td).jfx-actions-col{box-shadow:-10px 0 12px -10px rgba(0,28,71,.35)!important}
  /* Tablas compactas para que quepan en 1280 px */
  html body.app #contenido table.jui-table{width:100%!important;min-width:0!important}
  html body.app #contenido table.jui-table :is(th,td){padding:10px 10px!important}
  html body.app #contenido table.jui-table th{font-size:11.5px!important;letter-spacing:.04em!important;line-height:1.3!important;white-space:normal!important;vertical-align:middle}
  html body.app #contenido table.jui-table td{overflow-wrap:break-word;word-break:normal;vertical-align:top}
  html body.app #contenido table.jui-table td.jfx-actions-col,html body.app #contenido table.jui-table td.jui-actions{width:1%}
  html body.app #contenido table.jui-table td.jui-actions{white-space:normal!important}
  html body.app #contenido table.jui-table td.jui-actions>*:not(script):not(style){margin:0 0 6px!important}
  html body.app #contenido table.jui-table td.jui-actions :is(a,button,.btn){width:100%!important;min-width:0!important;justify-content:center;box-sizing:border-box;white-space:nowrap!important;min-height:34px!important;padding:6px 12px!important;font-size:13px!important}
  html body.app #contenido table.jui-table td.jui-actions form{display:block!important;width:100%}
  /* Columna de selección (casilla): ancho justo, encabezado completo */
  html body.app #contenido table.jui-table :is(th,td).jui-check-col{width:44px!important;min-width:44px!important;max-width:none!important;text-align:center!important;padding-left:8px!important;padding-right:8px!important;overflow:visible!important;text-overflow:clip!important}
  html body.app #contenido table.jui-table th.jui-check-col{font-size:0!important}
  html body.app #contenido table.jui-table th.jui-check-col::after{content:"✓";font-size:13px}
  /* WR: la tabla fija (1006) deja de exigir 1000 px y reparte mejor */
  html body.app #contenido table.jax-wr-table.jui-table{min-width:0!important}
  /* Exportar guías: valores largos se cortan en palabras, no en letras */
  html body.app #contenido table.admin-guide-request-table td{overflow-wrap:anywhere}
  html body.app #contenido table.admin-guide-request-table td:nth-child(4){min-width:200px}
  /* Guías hijas: sin desbordar a la derecha */
  html body.app #contenido table.hg-table.jui-table :is(th,td){padding:9px 8px!important}
  html body.app #contenido table.hg-table.jui-table td{font-size:13px}
  /* No identificados: los controles de asignación ocupan su celda sin cortar el texto */
  html body.app #contenido table.admin-unidentified-table td:last-child form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"sel btn" "inp btn";gap:6px 8px!important;align-items:center;margin:0}
  html body.app #contenido table.admin-unidentified-table td:last-child form>select{grid-area:sel}
  html body.app #contenido table.admin-unidentified-table td:last-child form>input:not([type=hidden]){grid-area:inp}
  html body.app #contenido table.admin-unidentified-table td:last-child form>button{grid-area:btn;align-self:stretch;height:auto!important;min-height:0!important}
  html body.app #contenido table.admin-unidentified-table td:last-child :is(select,input:not([type=hidden])){width:100%!important;min-width:0!important;height:38px!important;padding:0 10px!important;text-overflow:ellipsis;box-sizing:border-box}
  html body.app #contenido table.admin-unidentified-table td:last-child{min-width:300px;width:34%}
  html body.app #contenido table.admin-unidentified-table td[data-label^="Registrado"]{white-space:nowrap}
  html body.app #contenido table.admin-unidentified-table td:not(:last-child){overflow-wrap:break-word}
}
/* Envoltura estilizada general */
html body.app #contenido .table-wrap>table{border-collapse:separate;border-spacing:0}
html body.app #contenido table.jui-table thead th{background:var(--jui-navy)!important;color:#fff!important}
html body.app #contenido table.jui-table tbody tr:nth-child(even)>td{background-color:#FAFBFD}
html body.app #contenido table.jui-table tbody tr:hover>td{background-color:#F1F6FC}

/* Móvil (<640 px): tablas como tarjetas (data-label leído de los encabezados) */
@media(max-width:640px){
  html body.app #contenido table.jui-cards{display:block!important;min-width:0!important;width:100%!important;border:0!important;background:transparent!important}
  html body.app #contenido table.jui-cards>thead{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap}
  html body.app #contenido table.jui-cards>tbody{display:grid!important;gap:12px!important;padding:2px!important;background:transparent!important}
  html body.app #contenido table.jui-cards>tbody>tr{display:block!important;border:1px solid var(--jui-line)!important;border-left:3px solid var(--jui-navy)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 2px 8px rgba(0,28,71,.06)!important;overflow:hidden;padding:4px 0!important}
  html body.app #contenido table.jui-cards>tbody>tr>td{display:grid!important;grid-template-columns:minmax(92px,34%) minmax(0,1fr)!important;gap:4px 10px!important;align-items:start;padding:8px 14px!important;border:0!important;border-bottom:1px solid #EEF2F7!important;background:#fff!important;white-space:normal!important;overflow-wrap:anywhere;min-width:0!important;width:auto!important;max-width:none!important;text-align:left!important;position:static!important;box-shadow:none!important;font-size:14px}
  html body.app #contenido table.jui-cards>tbody>tr>td:last-child{border-bottom:0!important}
  html body.app #contenido table.jui-cards>tbody>tr>td::before{content:attr(data-label)!important;display:block!important;font-size:11px!important;font-weight:750!important;text-transform:uppercase;letter-spacing:.05em;color:#55667D!important;padding-top:2px;position:static!important;width:auto!important;float:none!important}
  html body.app #contenido table.jui-cards>tbody>tr>td>*{grid-column:2;min-width:0}
  html body.app #contenido table.jui-cards>tbody>tr>td>:is(.badge,.status,span[class*=badge],span[class*=status],.repack-status){justify-self:start;width:auto!important}
  html body.app #contenido table.jui-cards>tbody>tr>td[data-label=""]::before{display:none!important}
  html body.app #contenido table.jui-cards>tbody>tr>td[data-label=""]{grid-template-columns:minmax(0,1fr)!important}
  html body.app #contenido table.jui-cards>tbody>tr>td[data-label=""]>*{grid-column:1}
  html body.app #contenido table.jui-cards>tbody>tr>td[colspan]{display:block!important;text-align:center!important}
  html body.app #contenido table.jui-cards>tbody>tr>td[colspan]::before{display:none!important}
  html body.app #contenido table.jui-cards>tbody>tr>td.jui-actions,html body.app #contenido table.jui-cards>tbody>tr>td.jfx-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;background:#F6F8FB!important}
  html body.app #contenido table.jui-cards>tbody>tr>td.jui-actions::before,html body.app #contenido table.jui-cards>tbody>tr>td.jfx-actions::before{flex:1 1 100%}
  html body.app #contenido table.jui-cards>tbody>tr>td.jui-actions :is(a,button,.btn){min-height:44px!important;flex:1 1 auto}
  html body.app #contenido table.jui-cards>tbody>tr>td.jui-actions form{display:flex;flex:1 1 auto;margin:0}
  html body.app #contenido table.jui-cards>tbody>tr>td.jui-check-col{display:flex!important;align-items:center;gap:10px;background:#F6F8FB!important}
  html body.app #contenido table.jui-cards>tbody>tr>td.jui-check-col::before{order:2;content:"Seleccionar"!important;text-transform:none;font-size:13px!important;letter-spacing:0}
  html body.app #contenido :is(.table-wrap,.jfx-scroll):has(>table.jui-cards){overflow:visible!important;border:0!important;background:transparent!important}
  html body.app #contenido table.admin-unidentified-table.jui-cards td:last-child form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px}
  html body.app #contenido table.admin-unidentified-table.jui-cards td:last-child :is(select,input,button){width:100%!important;min-height:44px!important}
}

/* Casillas con su texto en la misma línea (fuera de tablas) */
html body.app #contenido label:has(>input[type=checkbox]:first-child):not(.jui-check):not(:has(select,textarea,input:not([type=checkbox]))){display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;margin:4px 16px 4px 0}
html body.app #contenido label:has(>input[type=checkbox]:first-child) > input[type=checkbox]{width:18px!important;height:18px!important;margin:0!important;flex:0 0 18px;accent-color:var(--jui-navy)}
html body.app #contenido td label:has(>input[type=checkbox]:first-child){margin:0}
html body.app #contenido .bulk-download-bar{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;margin:0 0 12px!important}
html body.app #contenido .bulk-download-bar form{margin:0!important}

/* ============ 6. Auditoría ============ */
html body.app #contenido table.jfx-audit .jui-ev{display:block;font-weight:750;color:var(--jui-ink);font-size:14px;line-height:1.35}
html body.app #contenido table.jfx-audit .jui-ev-code{display:block;margin-top:2px;font:11.5px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#6B7C92}
html body.app #contenido table.jfx-audit .jui-empty{color:#8A98AB}
html body.app #contenido table.jfx-audit td.jfx-event{max-width:240px}
@media (min-width:901px){html body.app #contenido table.jfx-audit td.jfx-detail{min-width:180px;max-width:270px}html body.app #contenido table.jfx-audit td{min-width:96px}html body.app #contenido table.jfx-audit td.jfx-detail summary{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}}

/* ============ Quick wins ============ */
/* Usuarios: banda "Crear usuario" a todo el ancho de la tarjeta */
html body.app #contenido form.user-create-card{overflow:hidden}
html body.app #contenido form.user-create-card>label{text-transform:none!important;letter-spacing:0!important;font-size:13px!important;font-weight:700!important;color:var(--jui-ink)!important}
html body.app #contenido form.user-create-card>.user-form-head{margin:0 -20px 4px;width:auto!important;max-width:none!important;justify-self:stretch;align-self:start;border-radius:0;background:var(--jui-navy);padding:16px 20px;box-sizing:border-box}
html body.app #contenido form.user-create-card>.user-form-head .user-form-icon{background:var(--jui-red);color:#fff}
html body.app #contenido form.user-create-card>.user-form-head :is(h2,p){color:#fff}
html body.app #contenido form.user-create-card>.user-form-head p{color:#D7E1EF}
html body.app #contenido .badge.jui-role-client{background:#E8EEF7;color:var(--jui-navy)}
html body.app #contenido .badge.jui-role-admin{background:var(--jui-navy);color:#fff}
/* Validador: texto de ayuda legible y separado del botón */
html body.app #contenido form.validator-drop>button[type=submit]{display:inline-flex!important;margin-top:8px}
html body.app #contenido form.validator-drop>button[type=submit]+small{display:block!important;margin:12px 0 0!important;font-size:13.5px!important;line-height:1.5!important;color:var(--jui-muted)!important;max-width:60ch}
/* 404 */
html body.app #contenido .jui-404{max-width:620px;margin:40px auto;padding:40px 32px;text-align:center;border:1px solid var(--jui-line)!important;border-radius:16px;background:#fff!important;box-shadow:0 10px 30px rgba(0,28,71,.08)!important}
html body.app #contenido .jui-404 svg.jui-404-art{width:120px;height:120px;margin:0 auto 14px;display:block}
html body.app #contenido .jui-404 .jui-404-code{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--jui-red);background:#FDECEC;border-radius:999px;padding:4px 12px;margin-bottom:10px}
html body.app #contenido .jui-404 h1{font-size:26px!important;color:var(--jui-navy)!important;margin:0 0 8px}
html body.app #contenido .jui-404 p{color:var(--jui-muted);font-size:15px;margin:0 auto 22px;max-width:44ch}
html body.app #contenido .jui-404 .jui-404-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
html body.app #contenido .jui-404 .jui-404-actions a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border-radius:var(--jui-r);font-weight:700;text-decoration:none;font-size:15px}
html body.app #contenido .jui-404 .jui-404-actions a.jui-primary{background:var(--jui-navy);color:#fff;border:1px solid var(--jui-navy)}
html body.app #contenido .jui-404 .jui-404-actions a.jui-secondary{background:#fff;color:var(--jui-navy);border:1px solid #9FB3CC}
html body.app #contenido .jui-404 .jui-404-actions svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2}

/* ============ Liquidaciones (herramienta aparte): una sola barra con título ============ */
body.jfx-liq{--navy:#001C47;--navy-deep:#001C47;--red:#D50104;--text:#13294B;accent-color:#001C47}
body.jfx-liq.jui-liq>nav.admin-tool-nav{display:none!important}
body.jfx-liq.jui-liq .topbar{background:var(--jui-navy)!important;background-image:none!important;border-bottom:3px solid var(--jui-red)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap}
body.jfx-liq.jui-liq .topbar .brand>div{display:flex!important;align-items:center!important;gap:16px!important;flex-wrap:wrap}
body.jfx-liq.jui-liq .topbar .jui-liq-title{display:flex;flex-direction:column;gap:2px;min-width:0}
body.jfx-liq.jui-liq .topbar .jui-liq-title h1{margin:0!important;color:#fff!important;font-size:24px!important;line-height:1.2!important;font-weight:800!important}
body.jfx-liq.jui-liq .topbar .jui-liq-title p{margin:0!important;color:#C9D7EA!important;font-size:13px!important;font-weight:600}
body.jfx-liq.jui-liq .topbar .jui-liq-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
body.jfx-liq.jui-liq .topbar a.jui-liq-back{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:10px;border:1px solid rgba(255,255,255,.55);color:#fff!important;text-decoration:none!important;font:700 14px/1 Arial,Helvetica,sans-serif;background:transparent}
body.jfx-liq.jui-liq .topbar a.jui-liq-back:hover{background:rgba(255,255,255,.12)}
body.jfx-liq.jui-liq .topbar a.jui-liq-back svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2}
body.jfx-liq.jui-liq .jax-tab.active{background:var(--jui-navy)!important}
@media(max-width:640px){body.jfx-liq.jui-liq .topbar .jui-liq-title h1{font-size:20px!important}body.jfx-liq.jui-liq .topbar .jui-liq-right{width:100%;justify-content:space-between}}
@media print{body.jfx-liq.jui-liq .topbar{display:none!important}}

/* 2026-10-10: ocultar boton "Copiar tracking" en lista de WR (pedido del usuario) */
html:root body #contenido .jax-copy-tracking, html:root body.app #contenido .jax-copy-tracking, html:root body.app #contenido [data-copy-tracking], html:root body [data-copy-tracking]{display:none!important}

/* /assets/jax-ux-20261006.css */
/* Scoped overrides for the current production shell. */
html body.app #contenido table.jax-wr-table {table-layout:fixed;width:100%!important;min-width:1000px}
html body.app #contenido table.jax-wr-table th:nth-child(1){width:4%!important}
html body.app #contenido table.jax-wr-table th:nth-child(2){width:22%!important}
html body.app #contenido table.jax-wr-table th:nth-child(3){width:19%!important}
html body.app #contenido table.jax-wr-table th:nth-child(4){width:7%!important}
html body.app #contenido table.jax-wr-table th:nth-child(5){width:10%!important}
html body.app #contenido table.jax-wr-table th:nth-child(6){width:9%!important}
html body.app #contenido table.jax-wr-table th:nth-child(7){width:17%!important}
html body.app #contenido table.jax-wr-table th:nth-child(8){width:12%!important}
html body.app #contenido .jax-wr-table td {white-space:normal!important;min-width:0;vertical-align:top!important}
html body.app #contenido .jax-wr-table .jax-tracking-value {display:block!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;max-width:100%!important;font:13px/1.55 ui-monospace,Consolas,monospace!important;color:#244766!important;user-select:text}
html body.app #contenido .jax-copy-tracking {display:inline-flex!important;min-height:36px!important;max-width:100%;padding:6px 10px!important;margin:6px 0!important;background:#edf4fa!important;color:#164976!important;border:1px solid #c4d7e6!important;border-radius:7px!important;text-transform:none!important;font-size:12px!important;white-space:normal!important}
.jax-tracking-feedback {display:block;font-size:12px;color:#175d42;overflow-wrap:anywhere}
.jax-wr-documents summary {cursor:pointer;padding:10px 4px;min-height:44px;box-sizing:border-box;color:#7b4e06;font-weight:650;line-height:1.4;overflow-wrap:anywhere}
.jax-wr-documents.has-documents summary {color:#1d654e}
.jax-wr-documents .wr-document-marks {padding:8px 0;display:flex;flex-wrap:wrap}
.jax-wr-documents .jax-doc-open {display:block;padding:10px 0;line-height:1.5}
html body.app #contenido .jax-wr-actions {display:flex;flex-direction:column;align-items:stretch;gap:8px}
html body.app #contenido .jax-wr-actions .jax-wr-delete {margin-top:12px!important;min-height:44px!important;white-space:normal!important}
html body.app #contenido .jax-wr-actions a {display:block;text-align:center;min-height:38px;box-sizing:border-box}
html body.app #contenido .filters .jax-page-size {display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;min-width:150px}
html body.app #contenido .filters .jax-page-size select {width:100%!important;min-height:44px!important;max-height:44px!important;padding:8px 12px}
html body.app #contenido .filters>button,html body.app #contenido .filters>a {min-height:44px;box-sizing:border-box;align-self:end;display:inline-flex;align-items:center;justify-content:center}
html body.app #contenido .pager {display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 4px}
html body.app #contenido .pager a {display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid #c4d7e6;border-radius:8px;background:#edf4fa;color:#164976;box-sizing:border-box}
html body.app #menu-principal details.jax-nav-group {display:block!important;margin:4px 0}
html body.app #menu-principal details.jax-nav-group>summary {display:list-item!important;cursor:pointer;list-style:disclosure-closed inside;min-height:44px;box-sizing:border-box;padding:14px 12px!important;color:#c8dbed!important;font-size:12px!important;letter-spacing:.05em}
html body.app #menu-principal details.jax-nav-group[open]>summary {list-style-type:disclosure-open}
html body.app #menu-principal details.jax-nav-group:not([open])>a {display:none!important}
.jax-pending-overview {margin:20px 0 24px}
.jax-pending-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.jax-pending-card {display:flex;flex-direction:column;gap:8px;padding:20px;background:#fff8ed;border:1px solid #ebd9b8;border-radius:12px;color:#253f58;text-decoration:none!important}
.jax-pending-card strong {font-size:30px;line-height:1.1;color:#855710;font-variant-numeric:tabular-nums}
.jax-pending-card span {font-weight:700}.jax-pending-card small {font-size:12px;line-height:1.5;color:#5c6470}
.jax-delete-dialog {width:min(500px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;border:1px solid #cad7e3;border-radius:14px;padding:24px;color:#213d58;background:#fff}
.jax-delete-dialog::backdrop {background:#0d223db3}.jax-delete-dialog h2 {margin-top:0}.jax-delete-dialog dd {margin:4px 0 14px;overflow-wrap:anywhere;font-family:ui-monospace,Consolas,monospace}.jax-delete-dialog dt {font-weight:700}
.jax-delete-actions {display:flex;justify-content:flex-end;gap:14px;flex-wrap:wrap}.jax-delete-actions button {min-height:44px;padding:10px 16px;border-radius:8px;border:1px solid #b9cada;background:#edf4fa;color:#164976}.jax-delete-actions button.danger {background:#a42938;color:#fff;border-color:#a42938}
.tib-photo-gallery .tib-photo-admin {flex:1 0 100%;border-bottom:1px solid #ffffff40;padding-bottom:10px}
.tib-photo-gallery .tib-photo-admin>summary {cursor:pointer;color:#fff;min-height:44px;padding:12px 4px;box-sizing:border-box;font-weight:700}
.tib-photo-gallery .tib-photo-admin .tib-photo-delete {margin-top:20px;padding-top:12px;border-top:1px solid #ffffff40}
.tib-photo-gallery .tib-photo-admin p {color:#e2edf7;font-size:13px}
@media(max-width:900px){
 html body.app #contenido table.jax-wr-table {min-width:0!important;table-layout:auto}
 html body.app #contenido table.jax-wr-table tbody tr {display:grid!important;grid-template-columns:minmax(0,1fr)!important;max-width:100%!important}
 html body.app #contenido table.jax-wr-table td {max-width:100%!important;width:auto!important;box-sizing:border-box!important;position:static!important}
 html body.app #contenido table.jax-wr-table td:nth-child(2) {overflow-wrap:anywhere!important}
 html body.app #contenido .jax-wr-actions {flex-direction:row;align-items:center;flex-wrap:wrap;gap:24px}
 html body.app #contenido .jax-wr-actions .jax-wr-delete {margin-top:0!important;margin-left:auto!important}
 html body.app #contenido .jax-copy-tracking {min-height:44px!important}
 .jax-pending-grid {grid-template-columns:1fr}
}

/* inline */

@media screen {
html{background:#f4f6fa}
html body.app :is(header,main,.page-title,.card,.combined-guide-dialog){animation:none!important;transition:none!important}
html body.app>header,html body.app #menu-principal{background:#051f46!important}
html body.app #menu-principal#menu-principal :is(a,summary){transition:none!important;animation:none!important;-webkit-tap-highlight-color:transparent}
html body.app #menu-principal#menu-principal a{color:#dce7f5!important;background:transparent!important;box-shadow:none!important}
html body.app #menu-principal#menu-principal :is(a:hover,a:active,a[aria-current="page"]){background:#15365f!important;color:#fff!important;box-shadow:inset 3px 0 0 #d9142b!important}
html body.app #menu-principal#menu-principal summary{color:#c4d5eb!important;background:transparent!important}
html body.app #menu-principal#menu-principal summary:hover{background:#15365f!important;color:#fff!important}
html body.app #menu-principal#menu-principal :is(a,summary):focus-visible{outline:2px solid #fff!important;outline-offset:-3px!important}
}

/* /assets/jax-operations-20261012.css */
.op-pager{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:16px 0}.op-client-picker{display:grid;grid-template-columns:1fr 2fr auto;gap:16px;align-items:end}.op-field-label{display:block;font-size:13px;font-weight:700;margin:4px 0;color:#24405f}.op-danger{display:inline-block;margin-left:18px;padding-left:14px;border-left:1px solid #b9c7d7}.op-danger summary{cursor:pointer;min-height:32px;padding:6px}.op-danger[open]{padding:10px;border:1px solid #e2b8b8;border-radius:8px;background:#fff5f5}.op-error{display:block;color:#a51d29;font-weight:600}.op-line-dialog{border:1px solid #b7cadb;border-radius:16px;padding:24px;max-width:560px;width:calc(100% - 28px);max-height:90dvh;box-sizing:border-box}.op-line-dialog::backdrop{background:#071b35b3}.op-line-dialog form{display:grid;gap:14px}.op-line-dialog label{display:grid;gap:6px}.op-line-dialog input{box-sizing:border-box;width:100%;min-height:44px;padding:10px;border:1px solid #9eb0c3;border-radius:8px}.op-line-dialog button{min-height:44px}.op-mobile-edit{display:none}.op-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.op-case{padding:18px;border:1px solid #c7d4e4;border-radius:12px;background:#fff}.op-case.overdue{border-left:5px solid #b33e20}.op-case small{display:block}.op-search{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:16px 0}.op-search label{flex:1;min-width:220px}.op-search input{width:100%}.op-timeline{padding-left:24px}.op-timeline li{padding:12px;border-left:2px solid #c2d4e6}.op-timeline small{display:block}.op-stats{display:flex;gap:12px;flex-wrap:wrap}.op-stats a{padding:14px;border-radius:10px;background:#eaf1fa;color:#082444}.op-stats b{display:block;font-size:24px}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid #287fc2;outline-offset:3px}
.op-error-summary{padding:16px;margin:12px 0;border:2px solid #a51d29;border-radius:10px;background:#fff5f5;color:#8b1723}.op-error-summary li{margin:8px 0}.op-error-summary button{min-height:44px;white-space:normal;text-align:left}
@media(max-width:760px){.op-client-picker{grid-template-columns:1fr}.op-mobile-edit{display:block;min-height:44px;width:100%;margin-top:8px}.op-line-dialog{padding:18px}#fac-table,#rowsBody{font-size:13px}.op-pager .btn{min-height:44px}.op-search{display:grid;grid-template-columns:1fr}.op-search label{min-width:0}.op-cards{grid-template-columns:1fr}}

@media(max-width:760px){
 #fac-table,table:has(#rowsBody){min-width:0!important;width:100%!important;table-layout:fixed}
 #fac-table th,#fac-table td,table:has(#rowsBody) th,table:has(#rowsBody) td{display:none}
 #fac-table :is(th,td):nth-child(1),#fac-table :is(th,td):nth-child(5),#fac-table :is(th,td):nth-child(10),#fac-table :is(th,td):last-child,
 table:has(#rowsBody) :is(th,td):nth-child(2),table:has(#rowsBody) :is(th,td):nth-child(7),table:has(#rowsBody) :is(th,td):nth-child(11),table:has(#rowsBody) :is(th,td):last-child{display:table-cell;width:auto!important;min-width:0!important;padding:6px}
 #fac-table input,#rowsBody input{width:100%!important;min-width:0!important;box-sizing:border-box}
 #fac-table :is(th,td):first-child,table:has(#rowsBody) :is(th,td):nth-child(2){width:32%!important}
 .op-mobile-edit{font-size:12px;padding:6px!important;white-space:normal}
}

.validator-drop .jfx-file-btn,.validator-drop .jfx-file-name{display:none!important}
.validator-drop .jfx-file input[type=file]{position:static!important;display:block!important;opacity:1!important;visibility:visible!important;clip:auto!important;clip-path:none!important;width:100%!important;height:auto!important;min-height:44px!important;padding:10px!important;pointer-events:auto!important}
.gri-model-table{width:100%;border-collapse:collapse;margin:14px 0}.gri-model-table td,.gri-model-table th{border:1px solid #153355;padding:10px;text-align:left;vertical-align:top}.gri-model-table th{background:#f0f4f9;color:#09274b}.gri-document-header>div:last-child{border:2px solid #09274b;border-radius:10px;padding:12px;text-align:center}.gri-document-header>div:last-child>strong{color:#c50014}

/* /assets/jax-brand-corrected-20261012.css */
/* Corrected identity: preserve original blue/red on light, white/red on dark. */
/* One image, consistent proportions, contextual contrast. Scoped to brand images. */
html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) img[data-jax-brand] {
  content:normal!important;object-fit:contain!important;object-position:center!important;
  aspect-ratio:1918/820!important;height:auto!important;min-height:0!important;max-height:none!important;
  max-width:100%!important;background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;padding:0!important;transform:none!important;mix-blend-mode:normal!important;
  filter:none!important;
}
@media screen {
html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) img[data-jax-brand][data-brand-tone="dark"] {
  filter:url("#jax-brand-color-contrast")!important;
}
}
html body:not(#jax-brand):not(#jax-brand):not(#jax-brand)>header .brand {
  background:transparent!important;box-shadow:none!important;overflow:visible!important;
  height:auto!important;max-height:none!important;min-height:0!important;
}
html body:not(#jax-brand):not(#jax-brand):not(#jax-brand)>header .brand img[data-jax-brand] {
  width:224px!important;display:block!important;flex:none!important;
}
html body.jax-ops:not(#jax-brand):not(#jax-brand):not(#jax-brand)>header .brand {
  padding:4px 8px 14px!important;justify-content:flex-start!important;
}
html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) .jlc-brand img[data-jax-brand] {width:232px!important;display:block!important}
html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) .jh-brandline img[data-jax-brand] {width:140px!important}
html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) .topbar img.brand-logo[data-jax-brand] {width:208px!important}
html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) .logo-screen[data-jax-brand],
html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) .logo-print[data-jax-brand] {width:164px!important}
html body:not(#jax-brand):not(#jax-brand):not(#jax-brand)>header .logo {width:224px!important;height:auto!important;overflow:visible!important;background:transparent!important}
@media(max-width:900px) {
 html body.jax-ops:not(#jax-brand):not(#jax-brand):not(#jax-brand)>header .brand {padding:0!important}
 html body.jax-ops:not(#jax-brand):not(#jax-brand):not(#jax-brand)>header .brand img[data-jax-brand] {width:168px!important}
}
@media(max-width:640px) {
 html body:not(#jax-brand):not(#jax-brand):not(#jax-brand)>header .brand img[data-jax-brand],
 html body:not(#jax-brand):not(#jax-brand):not(#jax-brand)>header .logo {width:152px!important}
 html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) .topbar img.brand-logo[data-jax-brand] {width:136px!important}
 html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) .jh-brandline img[data-jax-brand] {width:112px!important}
 html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) .jlc-brand img[data-jax-brand] {width:208px!important}
}
@media print {
 html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) img[data-jax-brand],
 html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) img[data-jax-brand][data-brand-tone="dark"] {filter:none!important}
}

html body:not(#jax-brand):not(#jax-brand):not(#jax-brand)>header .brand img[data-jax-brand]{margin:0!important}

/* /assets/jax-document-brand-20261012.css */
/* Document identity: full logo on the paper color, with an accessible text motto. */
.jax-document-brand{max-width:270px;flex:none}
.jax-document-brand img{display:block;width:180px;height:auto;max-width:100%}
.jax-document-brand p,html body.hg-doc .jax-document-motto{font:11px/1.4 Arial,Helvetica,sans-serif;color:#06244d;margin:5px 0 0;letter-spacing:0;text-transform:none}
html body.hg-doc .jax-document-motto{font-size:9px}
@media print{.jax-document-brand{break-inside:avoid}.jax-document-brand img{filter:none!important}}

/* /assets/jax-brand-motto-20261012.css */
/* Keep the complete logo and company motto together on every web surface. */
html body:not(#jax-brand):not(#jax-brand):not(#jax-brand)>header:has(a.brand>.logo [data-jax-lockup]) {
  height:auto!important;min-height:100px!important;padding-block:12px!important;
}
html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) [data-jax-lockup] {
  display:inline-flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;flex:0 1 auto!important;gap:0!important;
  width:fit-content!important;max-width:100%!important;min-width:0!important;
  height:auto!important;max-height:none!important;overflow:visible!important;
  margin:0!important;padding:0!important;background:transparent!important;
  border:0!important;box-shadow:none!important;vertical-align:middle!important;
  visibility:visible!important;opacity:1!important;transform:none!important;
}
html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) [data-jax-tagline] {
  display:block!important;width:100%!important;height:auto!important;max-height:none!important;
  margin:7px 0 0!important;padding:0!important;border:0!important;background:transparent!important;
  font:600 11px/1.35 Arial,Helvetica,sans-serif!important;letter-spacing:.12px!important;
  text-align:center!important;text-transform:none!important;text-indent:0!important;
  white-space:normal!important;color:#06244d!important;overflow:visible!important;
  visibility:visible!important;opacity:1!important;position:static!important;
  clip:auto!important;clip-path:none!important;
}
@media screen {
  html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) [data-jax-motto-tone="dark"] > [data-jax-tagline] {
    color:#fff!important;
  }
}
@media(max-width:640px) {
  html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) [data-jax-tagline] {
    font-size:10px!important;letter-spacing:0!important;margin-top:5px!important;
  }
}
@media print {
  html body:not(#jax-brand):not(#jax-brand):not(#jax-brand) [data-jax-tagline] {color:#06244d!important}
}

/* /assets/jax-cargo-20261013.css */
body.app{background:#f4f6f8!important;color:#263b49;margin:0}
body.app>header,body.app>main{box-sizing:border-box}
body.app>header{background:#233440!important;border-right:1px solid #ffffff12;box-shadow:none!important}
body.app #menu-principal a{font-weight:500!important;color:#c6d5df!important;font-size:13px!important;border-bottom:0!important;border-radius:8px;min-height:44px!important}
body.app #menu-principal a:hover,body.app #menu-principal a[aria-current=page]{background:#3b4e5b!important;color:white!important}
body.app #menu-principal summary{color:#9fb4c2!important;font-size:11px!important;letter-spacing:1.4px}
body.app #menu-principal .jax-nav-icon{width:21px!important;height:21px!important}
body.app #menu-principal form button{background:transparent!important;color:#c6d5df!important;text-align:left;border:0;padding:16px!important}
body.app:has(.jxc-dashboard) main>form.op-search,body.app:has(.jxc-dashboard) main>a[href='/avisos']{display:none!important}
body.app .jxc-dashboard{max-width:1536px;margin:0 auto;color:#263b49;font-size:14px}
.jxc-dashboard *{box-sizing:border-box}.jxc-topline{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:60px;padding:16px 0 26px;border-bottom:1px solid #e8edf0;font-size:12px;color:#788b99}.jxc-topline b{margin:0 14px}.jxc-account{color:#608477}
.jxc-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:38px 0 26px}.jxc-eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;color:#138679}.jxc-dashboard .jxc-heading h1{font-size:clamp(25px,2.4vw,36px);line-height:1.2;color:#233946;margin:12px 0!important;letter-spacing:-1px}.jxc-heading p,.jxc-card-head p{color:#7b8b9c;font-size:13px;margin:8px 0 0}.jxc-actions{display:flex;gap:10px;flex-wrap:wrap}.jxc-button{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;padding:12px 18px;background:#128276;color:white!important;text-decoration:none!important;font-weight:700;min-height:44px;white-space:nowrap}.jxc-button.secondary{background:white;color:#547080!important;border:1px solid #e1e8ec}
.jxc-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0 0 26px}.jxc-metrics article{position:relative;border:1px solid #e6ebef;background:#fff;border-radius:12px;padding:25px;min-width:0}.jxc-metrics article>span{display:block;font-size:12px;color:#738696;padding-right:32px}.jxc-metrics strong{display:block;font-size:32px;line-height:1.2;margin:20px 0 10px;font-variant-numeric:tabular-nums;letter-spacing:-1px}.jxc-metrics small{font-size:11px;color:#8393a0}.jxc-metrics i{position:absolute;right:22px;top:20px;color:#198d80;background:#e8f5f1;border-radius:8px;padding:6px 9px;font-size:22px;font-style:normal}
.jxc-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;margin-bottom:26px}.jxc-card{background:#fff;border:1px solid #e5ebef;border-radius:12px;overflow:hidden;min-width:0}.jxc-card-head{padding:24px;border-bottom:1px solid #edf0f3}.jxc-dashboard h2{font-size:17px;color:#2c4353;margin:0;font-weight:700}.jxc-state-list{padding:24px}.jxc-state{display:grid;grid-template-columns:155px minmax(20px,1fr) 35px;gap:16px;align-items:center;margin:0 0 23px;font-size:12px}.jxc-state strong{text-align:right;font-size:12px}.jxc-track{height:7px;border-radius:9px;background:#eff3f5;overflow:hidden}.jxc-track i{display:block;height:100%;background:#178d80;border-radius:9px}.jxc-text-link{display:inline-block;font-size:12px;color:#285b64;text-decoration:none;font-weight:700;padding:9px 0}.jxc-activity{padding:10px 24px;margin:0;list-style:none}.jxc-activity li{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #f0f3f5}.jxc-activity li:last-child{border:0}.jxc-activity a{color:#304e60;text-decoration:none;font-size:13px}.jxc-activity small{display:block;color:#8493a1;font-size:11px;margin-top:5px}.jxc-dot{width:7px;height:7px;border-radius:50%;background:#41ab96;flex-shrink:0}.jxc-chip{font-size:10px;border-radius:5px;background:#edf5f4;color:#387168;padding:5px 8px;white-space:nowrap}.jxc-activity .jxc-chip{margin-left:auto}.jxc-receipts .jxc-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.jxc-dashboard table{width:100%;font-size:12px}.jxc-dashboard th{font-size:10px!important;font-weight:600!important;background:#f9fbfc!important;color:#778b9a!important;letter-spacing:.7px}.jxc-dashboard td,.jxc-dashboard th{padding:15px 22px!important;border-bottom:1px solid #edf1f4!important}.jxc-dashboard td small{display:block;color:#8796a4;margin-top:5px;max-width:250px;overflow-wrap:anywhere}.jxc-dashboard td a{color:#36596b;text-decoration:none}.jxc-footnote{padding:0 24px 15px;font-size:11px;color:#7b8e9c}.jxc-footer{font-size:11px;color:#93a2af;margin-top:30px}.jxc-pending{margin-top:26px}.jxc-received{display:block!important;margin:7px 0 4px!important;font-size:11px!important;line-height:1.5!important;color:#657b88!important;white-space:normal!important}.jxc-received span{font-weight:400}.jxc-received strong{font-size:11px!important;color:#285c65!important;font-weight:600!important}
@media(max-width:1100px){.jxc-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.jxc-columns{grid-template-columns:1fr}.jxc-heading{align-items:flex-start;flex-direction:column}.jxc-topline{flex-wrap:wrap}.jxc-metrics article{padding:20px}}
@media(max-width:600px){.jxc-dashboard{padding:0 2px}.jxc-topline{font-size:11px;padding:12px 0}.jxc-heading{margin-top:24px}.jxc-metrics{gap:10px}.jxc-metrics strong{font-size:26px}.jxc-metrics article{padding:17px 13px}.jxc-metrics i{display:none}.jxc-metrics article>span{padding:0;min-height:30px}.jxc-actions{width:100%}.jxc-button{flex:1;padding:12px}.jxc-card-head,.jxc-state-list{padding:19px}.jxc-state{grid-template-columns:115px minmax(20px,1fr) 30px;gap:8px}.jxc-activity{padding:8px 16px}.jxc-activity .jxc-chip{font-size:8px;max-width:90px;white-space:normal}.jxc-receipts table{min-width:700px}}
html body.app.jax-ops>header,html body.app.jax-ops #menu-principal{background:#233440!important}
html body.app.jax-ops #menu-principal a[aria-current=page]{background:#3b4e5b!important;box-shadow:inset 3px 0 0 #60b4a7!important}
html body.app.jax-ops:has(.jxc-dashboard){background:#f4f6f8!important}
html body.app.jax-ops:has(.jxc-dashboard) main>form.op-search,html body.app.jax-ops:has(.jxc-dashboard) main>a[href='/avisos']{display:none!important}
html body.app.jax-ops main#contenido:has(.jxc-dashboard)>form.op-search{display:none!important}
html body.app.jax-ops main#contenido:has(.jxc-dashboard){background:#f4f6f8!important}

/* /assets/jax-logo-adaptable.css */
/* Shared web identity: same complete lockup across all sections. */
@media screen {
  :root { --jax-logo-width:168px; --jax-motto-size:11px; }
  html body:not(#jax-brand):not(#jax-brand):not(#jax-brand):not(#jax-brand) [data-jax-lockup] {
    width:var(--jax-logo-width)!important;max-width:100%!important;min-width:0!important;
    display:inline-flex!important;flex-direction:column!important;align-items:center!important;
    flex:0 0 auto!important;gap:0!important;height:auto!important;
  }
  html body:not(#jax-brand):not(#jax-brand):not(#jax-brand):not(#jax-brand) img[data-jax-brand]:not(.logo-print) {
    width:var(--jax-logo-width)!important;max-width:100%!important;height:auto!important;
    aspect-ratio:1918/820!important;object-fit:contain!important;display:block!important;
    flex:none!important;margin:0!important;
  }
  html body:not(#jax-brand):not(#jax-brand):not(#jax-brand):not(#jax-brand) [data-jax-tagline] {
    font:600 var(--jax-motto-size)/1.3 Arial,Helvetica,sans-serif!important;
    letter-spacing:0!important;margin:7px 0 0!important;text-align:center!important;
  }
  html body:not(#jax-brand):not(#jax-brand):not(#jax-brand):not(#jax-brand) .logo:has([data-jax-lockup]) {
    width:var(--jax-logo-width)!important;height:auto!important;max-height:none!important;overflow:visible!important;
  }
  html body.app:not(#jax-brand):not(#jax-brand):not(#jax-brand)>header a.brand {
    min-height:0!important;height:auto!important;padding:10px 16px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    box-sizing:border-box;max-width:100%;
  }
  @media(max-width:900px) {
    :root { --jax-logo-width:128px; --jax-motto-size:10px; }
    html body.app:not(#jax-brand):not(#jax-brand):not(#jax-brand)>header a.brand {
      padding:6px 10px!important;justify-content:flex-start!important;flex:0 1 auto!important;
    }
  }
}

/* /assets/jax-visual-20261014.css */
/* JAX visual system. Screen-only rules preserve generated document layouts. */
@media screen {
 :root{--jv-navy:#051f46;--jv-red:#d9142b;--jv-bg:#f4f6fa;--jv-line:#d6dfeb;--jv-muted:#52657d;--jv-blue:#154e87}
 body.jax-visual{background:var(--jv-bg)!important;color:var(--jv-navy);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.5}
 .jax-visual main{min-width:0}.jax-visual h1{font-size:clamp(26px,2.5vw,32px)!important;line-height:1.2!important}.jax-visual h2{font-size:20px;line-height:1.35}
 .jax-visual :is(input,select,textarea,button,.btn){font:inherit;box-sizing:border-box}.jax-visual :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select){min-height:44px}
 .jax-visual :is(button,.btn){min-height:44px;border-radius:9px;letter-spacing:0;text-transform:none;white-space:normal}
 .jax-visual :is(.btn,button):not(.secondary):not(.danger):not(.link):not(.tab):not(.jax-tab):not(.btn-soft):not(.btn-secondary):not(.tib-photo-trigger):not([data-copy]):not([data-copy-tracking]){background-color:var(--jv-navy);color:#fff}
 .jax-visual :is(.btn.secondary,button.secondary,.btn-secondary,.btn-soft){background:#edf2f8;color:var(--jv-navy);border:1px solid var(--jv-line)}
 .jax-visual :is(.danger,.jv-danger button){color:#a11226;background:#fff1f3;border:1px solid #e5b5bd}
 .jax-visual :is(input,select,textarea):focus-visible,.jax-visual :is(button,a,summary):focus-visible{outline:3px solid #4386c2;outline-offset:3px}
 .jax-visual :is(.card,.form-card,.jxc-card,.panel,.op-case){border-color:var(--jv-line);border-radius:14px;box-shadow:0 3px 14px #051f4606}
 html body.app.jax-visual>header{background:var(--jv-navy)!important}
 .jax-visual :is(h1,h2,.jxc-heading h1,.jxc-eyebrow){color:var(--jv-navy)!important}
 .jax-visual .jxc-metrics i{background:#edf2f8!important;color:var(--jv-blue)!important}
 .jax-visual .jax-pending-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
 .jax-visual .jax-pending-card{display:grid;gap:4px;padding:18px;background:#fff;border:1px solid var(--jv-line);border-left:4px solid var(--jv-red);border-radius:12px;text-decoration:none;color:var(--jv-navy)}
 .jax-visual .jax-pending-card strong{font-size:28px}.jax-visual .jax-pending-card span{font-weight:700}.jax-visual .jax-pending-card small{color:var(--jv-muted);font-size:12px}
 .jax-visual :is(.page-title,.gri-title,.hg-head){margin-bottom:16px;gap:16px}.jax-visual .page-title p{margin:8px 0;color:var(--jv-muted)}
 .jax-visual :is(.filters,.op-search){gap:12px;align-items:end}.jax-visual :is(.filters,.op-search) label{display:flex;flex-direction:column;gap:6px;min-width:0}
 .jax-visual :is(.filters,.op-search) input{min-width:0;width:100%}.jax-visual .filters>input[name=q]{flex:1 1 220px}
 .jax-visual table{font-variant-numeric:tabular-nums}.jax-visual :is(th,td){vertical-align:top;line-height:1.45}.jax-visual td small{line-height:1.4;overflow-wrap:anywhere}
 .jax-visual :is(.op-pager,.pager,.hg-pager,.gri-pagination){display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 0;margin:8px 0;font-size:14px}
 .jax-visual :is(.op-pager,.pager,.hg-pager,.gri-pagination) a{padding:10px 14px;border:1px solid var(--jv-line);border-radius:8px;background:#fff;color:var(--jv-navy)}
 .jax-visual summary{cursor:pointer;min-height:44px;padding:10px 0}.jax-visual [hidden]{display:none!important}
 .jv-global-search{margin:0 0 12px;border-bottom:1px solid var(--jv-line);font-size:14px}.jv-global-search>summary{color:var(--jv-muted)}
 .jax-visual body,.jax-visual .jv-numeric{font-variant-numeric:tabular-nums}.jax-visual .jv-numeric{text-align:right;white-space:nowrap}
 .jv-tools,.jv-help{padding:12px 16px!important;border:1px solid var(--jv-line);background:#fff;border-radius:10px;margin:12px 0}
 .jv-tools>summary,.jv-help>summary{font-weight:700;padding:0;display:list-item;min-height:24px}.jv-tools[open]>summary,.jv-help[open]>summary{margin-bottom:12px}
 .jv-tools>div{display:flex;gap:10px;flex-wrap:wrap}.jv-filter-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.jv-filter-bar label{display:grid;gap:5px;flex:1;min-width:140px}.jv-filter-bar input{width:100%}
 .jv-result-count{font-size:14px;color:var(--jv-muted)}.jv-danger{margin-top:12px;padding-top:8px;border-top:1px solid #e8c9cf}.jv-danger>summary{color:#9a2335;font-size:13px}
 .jv-dialog{width:min(680px,calc(100vw - 32px));max-height:88dvh;overflow:auto;border:1px solid var(--jv-line);border-radius:16px;padding:24px;color:var(--jv-navy);background:white}.jv-dialog::backdrop{background:#051f4699}.jv-dialog label{display:grid;gap:6px;margin:12px 0}.jv-dialog button{min-height:44px}.jv-dialog .jv-dialog-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}
 .jv-common-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 20px;background:#fff;border-bottom:1px solid var(--jv-line)}.jv-common-nav a{color:var(--jv-navy);padding:8px 12px;border-radius:8px;text-decoration:none;font-weight:600}.jv-common-nav a:hover{background:#edf2f8}
 /* Full brand lockup: the register header previously had a fixed clipped height. */
 html body.jax-visual.jv-register>header{height:auto;min-height:144px;max-height:none;padding:20px 28px;overflow:visible;align-items:center;position:relative;top:auto}
 html body.jax-visual.jv-register>header :is(.brand,.logo){height:auto;min-height:0;overflow:visible;transform:none}
 html body.jax-visual.jv-register>header .brand img{position:static;transform:none;object-fit:contain;width:224px;height:auto;max-height:none}
 /* Navigation is compact; mobile opens a real overlay instead of pushing content. */
 body.app.jax-visual #menu-principal a{min-height:44px!important;padding-top:9px!important;padding-bottom:9px!important;font-size:14px!important}
 body.app.jax-visual #menu-principal .jax-nav-icon{width:22px!important;height:22px!important;flex-basis:22px!important}
 .jax-visual #menu-principal summary{min-height:38px;padding:8px 12px}.jax-visual #menu-principal{scrollbar-width:thin}
 /* Operations dashboard. */
 .jax-visual .jxc-dashboard{--green:var(--jv-navy);--accent:var(--jv-navy)}
 .jax-visual .jxc-metrics article{padding:18px!important;min-height:115px!important}.jax-visual .jxc-metrics strong{color:var(--jv-navy)!important;font-size:30px!important}
 .jax-visual .jxc-button,.jax-visual .jxc-track i{background:var(--jv-navy)!important}.jax-visual .jxc-button.secondary{background:#fff!important;color:var(--jv-navy)!important;border-color:var(--jv-line)!important}
 .jax-visual .jxc-pending{margin:20px 0}.jax-visual .jxc-pending .card{padding:18px!important}.jax-visual .jxc-pending .op-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.jax-visual .op-stats a{padding:12px;background:#edf2f8;color:var(--jv-navy)}
 .jax-visual .jxc-chip{background:#edf2f8!important;color:var(--jv-navy)!important}.jax-visual .jxc-text-link{color:var(--jv-blue)!important}
 /* WR compact toolbar and selection. */
 .jax-visual .warehouse-sticky-panel{position:static!important;padding:0!important;max-height:none!important}.jax-visual .warehouse-sticky-panel .page-title{padding:0 0 8px!important;background:transparent!important}
 .jax-visual .warehouse-sticky-panel .filters{padding:16px!important;margin:12px 0!important}.jax-visual .warehouse-sticky-panel .toolbar{margin:0!important}
 .jax-visual .jv-wr-tools .import-box{margin:0!important;box-shadow:none!important}.jax-visual .jax-wr-table td{padding-top:12px!important;padding-bottom:12px!important}
 .jax-visual .jax-selection-summary{margin:8px 0;padding:10px 14px}.jax-visual .jv-bulk-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;background:#edf2f8;border:1px solid var(--jv-line);border-radius:10px}
 .jax-visual.jv-unidentified table{table-layout:auto!important}.jax-visual.jv-unidentified th:first-child,.jax-visual.jv-unidentified td:first-child{width:180px!important;min-width:180px!important;white-space:normal!important}
 .jax-visual.jv-unidentified td:first-child label,.jax-visual.jv-unidentified th:first-child label{display:flex!important;align-items:center;gap:8px;white-space:normal!important;overflow-wrap:anywhere}.jax-visual.jv-unidentified input[type=checkbox]{flex:0 0 18px}
 .jax-visual .admin-guide-request-table{table-layout:auto!important}.jax-visual .admin-guide-request-table td{padding:12px!important}.jax-visual .jv-cargo-detail{min-width:180px;max-width:340px;font-size:13px}.jax-visual .jv-cargo-detail summary{font-weight:600;min-height:0;padding:6px 0}
 .jax-visual .admin-guide-request-table td:last-child :is(a,button){font-size:13px;min-height:40px;padding:8px 10px}
 .jax-visual .bulk-download-bar{gap:12px;padding:12px;background:#edf2f8;border:1px solid var(--jv-line);border-radius:10px;flex-wrap:wrap}
 .jv-selection-note{flex-basis:100%;font-size:13px;margin:0;color:var(--jv-muted)}
 /* House guides and case management. */
 .jax-visual .hg-table{font-size:14px!important;min-width:1100px}.jax-visual .hg-table td{padding:12px 9px!important}.jax-visual .hg-table .actions{min-width:145px}.jax-visual .hg-filter{padding:16px!important}
 .jax-visual .hg-billed{display:block!important;margin-top:8px!important}.jax-visual .op-cards{display:grid;grid-template-columns:1fr!important;gap:12px}.jax-visual .op-case{padding:16px 20px;display:grid;grid-template-columns:minmax(200px,1fr) minmax(180px,1fr) auto;gap:8px 20px;align-items:start}
 .jax-visual .op-case>small{grid-column:1/-1}.jax-visual .op-case h2{margin:0;font-size:18px}.jax-visual .op-case p{margin:0}.jax-visual .op-case>.jv-case-client{grid-column:1}.jax-visual .op-case>details{grid-column:1/-1}.jax-visual .op-case>details>form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.jax-visual .op-case label{display:grid;gap:6px}
 .jax-visual .jv-users-grid{display:block!important}.jax-visual .jv-users-create{margin:16px 0}.jax-visual .jv-users-create>form{margin-top:16px}
 .jv-search-select{display:grid;gap:6px}.jv-search-select input{min-width:0;width:100%}.jv-search-select small{font-size:12px;color:var(--jv-muted)}
 .jv-steps{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 20px}.jv-steps button{flex:1;min-width:130px;background:#edf2f8!important;color:var(--jv-navy)!important;border:1px solid var(--jv-line)}.jv-steps button[aria-current=step]{background:var(--jv-navy)!important;color:white!important}
 .jv-step-actions{display:flex;justify-content:space-between;gap:12px;margin:20px 0}.jv-context{display:flex;gap:16px;flex-wrap:wrap;padding:14px 18px;margin:12px 0;background:#edf2f8;border:1px solid var(--jv-line);border-radius:10px;color:var(--jv-navy)}
 .jax-visual .gri-grid{gap:16px}.jax-visual .gri-search{gap:10px}.jax-visual .gri-actions{align-items:center}.jv-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.jv-review-grid p{margin:0;padding:10px;background:#f4f6fa;border-radius:8px}.jv-review-grid strong{display:block}
 .jax-visual.jv-ddjj .hero-guide{display:block;margin-bottom:20px}.jax-visual.jv-ddjj .hero-guide h1{font-size:28px!important}.jax-visual.jv-ddjj .hero-guide h1 br{display:none}.jax-visual.jv-ddjj .hero-guide .intro{padding:0}.jax-visual.jv-ddjj .hero-guide .quick-guide{padding:0;background:transparent;box-shadow:none}.jax-visual.jv-ddjj .hero-guide .quick-guide ol{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
 .jax-visual.jv-ddjj .summary{top:16px}.jax-visual.jv-ddjj .jv-fob{position:sticky;bottom:8px;z-index:20;background:var(--jv-navy);color:white;display:flex;justify-content:space-between;gap:16px;padding:12px 16px;border-radius:10px}
 .jax-visual.jv-validator .validator-drop{min-height:150px!important;padding:18px!important}.jax-visual.jv-validator .validator-drop h3{font-size:17px!important}.jax-visual.jv-validator .jfx-file{max-width:100%}
 /* Standalone finance tools. */
 .jax-visual.jv-finance .top,.jax-visual.jv-liquidations .topbar{position:relative!important;background:var(--jv-navy)!important;padding:18px 24px!important}.jax-visual.jv-finance .header-row{min-height:0!important}.jax-visual.jv-finance .brand-copy h1{font-size:22px!important}
 .jax-visual.jv-finance .tabs{display:flex!important;gap:8px!important;flex-wrap:wrap!important;padding-top:16px!important}.jax-visual.jv-finance .tabs .tab{display:block!important;flex:1 1 130px!important;min-height:44px!important;color:white!important;background:#ffffff16!important;border:1px solid #ffffff40!important}.jax-visual.jv-finance .tabs .tab.active{color:var(--jv-navy)!important;background:white!important}
 .jax-visual.jv-finance .stats{display:flex!important;gap:12px;flex-wrap:wrap}.jax-visual.jv-finance .stats>*{flex:1;min-width:130px;padding:12px!important}
 .jax-visual.jv-finance #client-cards{display:grid!important;grid-template-columns:1fr!important;gap:10px}.jax-visual.jv-finance #client-cards>.card{padding:16px!important;min-height:0!important}.jax-visual.jv-finance #client-cards .formula{display:none}
 .jax-visual.jv-finance #btn-limpiar{background:#edf2f8!important;color:var(--jv-navy)!important;border:1px solid var(--jv-line)}
 .jax-visual.jv-finance #client-cards>.card{display:grid!important;grid-template-columns:minmax(200px,1fr) minmax(200px,1fr) auto;gap:12px;align-items:center}
 .jax-visual.jv-finance #client-cards h3{margin:0;font-size:16px}.jax-visual.jv-finance #client-cards .pill.custom,.jax-visual.jv-finance #client-cards .pill.edited{display:none}
 .jax-visual.jv-finance #client-cards .meta{grid-column:1/-1;grid-row:2;font-size:12px;color:var(--jv-muted)}
 .jv-finance-summary{position:sticky;top:8px;z-index:15;background:#fff;border:1px solid var(--jv-line);box-shadow:0 4px 20px #051f4612;display:flex;gap:24px;justify-content:space-between;padding:14px 20px;border-radius:12px;margin:16px 0}.jv-finance-summary span{display:block;font-size:12px;color:var(--jv-muted)}.jv-finance-summary strong{font-size:18px}
 .jax-visual #tab-emitidas :is(.amount,.total,.money){color:var(--jv-navy)!important}.jax-visual.jv-liquidations .summary-grid{position:sticky;bottom:8px;z-index:12;background:white;padding:10px;border:1px solid var(--jv-line);border-radius:12px;box-shadow:0 4px 20px #051f4612}.jax-visual.jv-liquidations .summary-card{padding:10px;background:#f4f6fa}
 .jax-visual #trackingPage .field-group{display:grid;gap:6px}.jax-visual #trackingPage .field-group label{margin:0!important;text-align:left}.jax-visual #trackingPage .tracking-filters{align-items:end}
 .jax-visual.jv-notifications .op-timeline{padding-left:0;list-style:none}.jax-visual.jv-notifications .op-timeline li{padding:16px;border:1px solid var(--jv-line);border-left:4px solid var(--jv-blue);border-radius:10px;margin:10px 0}.jax-visual.jv-notifications .op-timeline p{margin:6px 0;font-size:14px}
 .jax-visual.jv-notices main>form,.jax-visual.jv-notices main .card{max-width:720px}.jax-visual.jv-notices label{display:grid;gap:6px;margin:12px 0}.jax-visual.jv-notices select{max-width:360px;width:100%}
 .jv-photo-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 16px}.jv-photo-controls button{min-width:44px}.jv-photo-stage{overflow:auto!important;max-height:65dvh!important}.jv-photo-stage img{transform-origin:center center;transition:transform .12s}
 .jv-thumbnails{display:flex;gap:8px;overflow:auto;padding:10px}.jv-thumbnails img{width:60px!important;height:50px!important;object-fit:cover!important}.jv-thumbnails button{padding:3px!important}
 @media(max-width:900px){
  .jax-visual .op-case{grid-template-columns:1fr 1fr}.jax-visual .op-case>.jv-case-client{grid-column:1/-1}
  .jax-visual .jxc-pending .op-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jax-visual.jv-ddjj .hero-guide .quick-guide ol{grid-template-columns:1fr 1fr}
 }
 @media(max-width:760px){
  body.app.jax-visual #menu-principal{position:fixed!important;inset:0 auto 0 0!important;width:min(310px,86vw)!important;max-width:86vw!important;height:100dvh!important;max-height:100dvh!important;z-index:200!important;overflow:auto!important;padding-top:66px!important;box-shadow:16px 0 60px #051f4640}
  .jv-nav-close{position:absolute;right:12px;top:10px;background:#ffffff22!important;border:1px solid #ffffff55!important;color:white!important;z-index:201}
  .jax-visual :is(.page-title,.gri-title,.hg-head){display:flex;flex-direction:column;align-items:stretch;padding:0;gap:12px}.jax-visual :is(.filters,.op-search){display:grid!important;grid-template-columns:1fr!important}
  .jax-visual :is(.filters,.op-search)>*{min-width:0!important;width:100%!important}.jax-visual .filters .jax-advanced{margin:0!important;padding-top:8px!important}
  .jax-visual .jv-filter-bar{display:grid;grid-template-columns:1fr 1fr}.jax-visual .jv-filter-bar label:first-child{grid-column:1/-1}
  html body.jax-visual.jv-register>header{min-height:128px;padding:16px!important;flex-wrap:wrap}.jax-visual.jv-register>header nav{margin:0!important}.jax-visual.jv-register main{padding-top:20px}
  .jax-visual .jxc-heading{padding:0!important}.jax-visual .jxc-metrics{grid-template-columns:1fr 1fr!important;gap:10px!important}.jax-visual .jxc-metrics article{min-height:105px!important;padding:14px!important}.jax-visual .jxc-metrics small{font-size:12px!important}.jax-visual .jxc-metrics strong{font-size:26px!important}
  .jax-visual .jax-pending-grid{grid-template-columns:1fr}.jax-visual .jax-pending-card{grid-template-columns:60px 1fr;padding:12px}.jax-visual .jax-pending-card strong{grid-row:1/3}.jax-visual .jax-pending-card small{grid-column:2}
  .jax-visual.jv-finance #client-cards>.card{grid-template-columns:1fr}.jax-visual.jv-finance #client-cards .meta{grid-row:auto}
  .jax-visual .op-case{display:block;padding:16px}.jax-visual .op-case>*{margin-bottom:8px!important}.jax-visual .op-case>details>form{grid-template-columns:1fr}
  .jax-visual .jv-mobile-table{min-width:0!important;width:100%!important;table-layout:fixed!important}.jax-visual .jv-mobile-table thead{display:none!important}.jax-visual .jv-mobile-table tbody{display:grid!important;gap:12px!important}.jax-visual .jv-mobile-table tr{display:grid!important;grid-template-columns:1fr 1fr!important;border:1px solid var(--jv-line)!important;border-radius:12px!important;padding:12px!important;background:#fff!important;gap:8px!important;width:100%!important;box-sizing:border-box}
  .jax-visual .jv-mobile-table td{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;border:0!important;padding:4px!important;overflow-wrap:anywhere!important;white-space:normal!important}.jax-visual .jv-mobile-table td:before{content:attr(data-jv-label);display:block;font-size:11px;color:var(--jv-muted);font-weight:700;margin-bottom:4px}.jax-visual .jv-mobile-table td.jv-detail-cell{grid-column:1/-1}.jax-visual .jv-mobile-table td:last-child{grid-column:1/-1}.jax-visual .jv-mobile-table td[colspan]{grid-column:1/-1}
  .jax-visual .jv-mobile-table td.jv-small-secondary{display:none!important}.jax-visual .jv-mobile-table tr.jv-expanded td.jv-small-secondary{display:block!important;grid-column:1/-1}
  .jv-row-more{width:100%;font-size:13px!important}.jax-visual .admin-guide-request-table td:last-child{display:flex!important;gap:12px;align-items:center;flex-wrap:wrap}.jax-visual .admin-guide-request-table td:last-child:before{width:100%}.jax-visual .admin-guide-request-table .jv-danger{padding-top:0;margin:0;border:0}
  .jv-context{padding:12px;gap:8px;font-size:13px}.jv-review-grid{grid-template-columns:1fr}.jv-steps button{min-width:0;font-size:13px;padding:10px}.jv-common-nav{padding:8px 12px;gap:4px}.jv-common-nav a{font-size:13px;padding:8px}
  .jax-visual.jv-finance .top,.jax-visual.jv-liquidations .topbar{padding:16px!important}.jax-visual.jv-finance .tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;max-width:100%!important;padding:12px 0 4px!important;scrollbar-width:thin}.jax-visual.jv-finance .tabs .tab{flex:0 0 auto!important;min-width:130px!important}.jax-visual.jv-finance .header-row{display:flex;flex-wrap:wrap;gap:12px}
  .jv-finance-summary{top:4px;padding:12px;gap:12px;flex-wrap:wrap}.jv-finance-summary strong{font-size:15px}.jv-finance-summary>div:first-child{flex:1 1 40%}
  .jax-visual.jv-liquidations .summary-grid{position:relative;bottom:auto;grid-template-columns:1fr 1fr!important}.jv-liquidation-mini{position:sticky;bottom:8px;z-index:20;background:var(--jv-navy);color:#fff;padding:12px 16px;border-radius:10px;font-size:14px}
  .jax-visual.jv-ddjj .hero-guide h1{font-size:25px!important}.jax-visual.jv-ddjj .hero-guide .quick-guide ol{grid-template-columns:1fr}.jax-visual.jv-ddjj .layout{display:flex;flex-direction:column}.jax-visual.jv-ddjj .summary{position:static}
 }
 @media(min-width:761px){.jv-row-more{display:none}.jv-liquidation-mini{display:none}.jv-nav-close{display:none}}
 @media(prefers-reduced-motion:reduce){.jax-visual *{scroll-behavior:auto!important;transition:none!important}}
}
@media print{.jv-common-nav,.jv-global-search,.jv-finance-summary,.jv-fob,.jv-liquidation-mini,.jv-steps,.jv-step-actions,.jv-context,.jv-photo-controls{display:none!important}}

@media screen {
 .jax-visual.jv-finance .brand-copy h1,.jax-visual.jv-liquidations .topbar h1{color:#fff!important}
 .jv-rate-status{display:block;font-size:12px;font-weight:400;color:#52657d;margin-top:4px}
 .jax-visual.jv-finance #client-cards .jv-help{grid-column:1/-1;margin:0;padding:6px 0!important;border:0}
 .jax-visual.jv-finance #client-cards .jv-help summary{font-size:12px;font-weight:400}
 .jax-visual.jv-finance .issued-card{display:grid;grid-template-columns:minmax(250px,1fr) 150px auto;gap:20px;padding:16px;border-radius:10px;align-items:center}
 .jax-visual.jv-finance .issued-total{color:#051f46!important;font-size:20px!important}
 .jax-visual.jv-finance .issued-actions{display:flex;gap:8px}.jax-visual.jv-finance .issued-num{font-size:18px}
 .jax-visual .jv-date-filters{display:flex;gap:12px;flex-wrap:wrap}.jax-visual .jv-date-filters label{flex:1}
 .jax-visual #trackingPage #btnExportTracking{background:#edf2f8!important;color:#051f46!important;border:1px solid #d6dfeb}
 @media(max-width:760px){.jax-visual.jv-finance .issued-card{grid-template-columns:1fr auto;gap:12px}.jax-visual.jv-finance .issued-actions{grid-column:1/-1;flex-wrap:wrap}}
}

@media screen{.jax-visual nav[aria-label="Herramientas financieras"]{display:none!important}}

@media screen {
 .jv-notice-state{font-size:11px;padding:3px 8px;margin-left:12px;background:#edf2f8;border-radius:12px;color:#051f46;white-space:nowrap}
 .jv-notice-wr{display:block;font-size:14px;margin-top:4px}.jv-notice-detail{font-size:13px;margin:0}.jv-notice-detail summary{min-height:0;padding:5px 0}
 .jax-visual.jv-notifications .op-timeline li>small{display:inline-block;margin-right:16px}.jax-visual.jv-notifications .op-timeline li>a{font-size:13px}
 .jax-visual .tib-photo-dialog h2{color:white!important}.jax-visual .tib-photo-dialog .jv-photo-controls{color:white}
 .jax-visual .tib-photo-dialog header{position:sticky;top:0;z-index:5}.jax-visual .tib-photo-dialog{max-height:92dvh;overflow:auto}
}
@media screen {
 html body.app.jax-visual #menu-principal{background:#051f46!important}
 html body.jax-visual :is(.filters,.op-search,.ws-filters,.hg-filter) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select){height:44px!important;max-height:44px!important;flex:0 0 auto!important}
 .jax-visual .jv-tools summary{width:auto!important}
 .jax-visual.jv-finance header.top{flex-direction:column!important;align-items:stretch!important}
 .jax-visual.jv-finance .header-row{width:100%!important;flex:0 0 auto!important;justify-content:space-between}
 .jax-visual.jv-finance .tabs{width:100%!important;box-sizing:border-box;flex:0 0 auto!important}
 .jax-visual.jv-finance .brand-copy p{color:#d7e5f5!important}
 .jax-visual.jv-register main h1{color:white!important}
 body.jax-visual>a[href="#contenido"]{position:fixed;top:-100px;left:12px;z-index:1000;background:white;padding:12px;border-radius:8px}
 body.jax-visual>a[href="#contenido"]:focus{top:8px}
}

@media screen{.jax-visual .tib-gallery-head{position:sticky;top:0;z-index:6;background:#051f46!important}.jax-visual .tib-photo-dialog .jv-thumbnails button[aria-current=true]{outline:3px solid white;outline-offset:2px}.jax-visual .tib-gallery-nav{position:sticky;top:64px;z-index:5;background:#051f46!important}.jax-visual .tib-photo-gallery .jv-photo-stage{min-height:220px;max-height:58dvh!important}}

