/* AVA UI Design System v1.1 — Fase 4: migración visual de módulos.
   Esta capa consume únicamente tokens y componentes globales; no modifica lógica. */

/* Acceso */
.login-view {
  min-height: 100dvh;
  display: grid;
  grid-template-columns: minmax(420px, .92fr) minmax(480px, 1.08fr);
  color: #fff;
  background: var(--ava-background);
}

.login-brand {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  gap: var(--ava-space-8);
  padding: clamp(40px, 6vw, 88px);
  background: var(--ava-primary-dark);
  box-shadow: none;
}

.login-brand-logo { display: flex; flex-direction: column; align-items: flex-start; gap: var(--ava-space-3); }
.login-brand-logo img { width: min(280px, 70%); height: auto; object-fit: contain; object-position: left center; }
.login-brand-logo span { color: rgba(255,255,255,.78); font-size: var(--ava-font-sm); font-weight: var(--ava-font-semibold); letter-spacing: .12em; }
.login-brand-copy { max-width: 640px; margin: auto 0; }
.login-brand .login-brand-copy .eyebrow { color: #B2DDFF; }
.login-brand-copy h1 { margin: var(--ava-space-3) 0; color: #fff; font-size: clamp(34px, 4vw, 52px); line-height: 1.08; }
.login-brand-copy > p:not(.eyebrow) { max-width: 560px; color: rgba(255,255,255,.82); font-size: var(--ava-font-lg); line-height: 26px; }
.local-badge { width: fit-content; padding: var(--ava-space-2) var(--ava-space-3); border: 1px solid rgba(255,255,255,.2); border-radius: var(--ava-radius-pill); color: #fff; background: rgba(255,255,255,.06); }
.login-access-panel { min-height: 100dvh; display: grid; place-items: center; padding: var(--ava-space-8); background: var(--ava-background); }
.login-card { width: min(440px, 100%); display: grid; gap: var(--ava-form-row-gap); padding: var(--ava-space-6); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-modal); background: var(--ava-surface); box-shadow: 0 20px 48px rgba(11,47,79,.12); }
.login-card h2 { margin: var(--ava-space-1) 0 0; font-size: var(--ava-font-3xl); line-height: 36px; }
.login-card label { display: grid; gap: var(--ava-label-control-gap); color: var(--ava-text-primary); }
.login-input { min-height: var(--ava-control-height); display: grid; grid-template-columns: 20px minmax(0,1fr) 36px; align-items: center; gap: var(--ava-space-2); padding: 0 var(--ava-space-2) 0 var(--ava-space-3); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-input); background: var(--ava-surface); }
.login-input input { min-height: 38px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.login-input input:focus { border: 0; box-shadow: none; }
.login-input > svg, .password-toggle svg, .login-submit svg { width: 18px; height: 18px; }
.password-toggle { min-width: 36px; min-height: 36px; border: 0; color: var(--ava-text-secondary); background: transparent; }
.login-submit { min-height: var(--ava-button-height); }
.login-card.is-mfa > label[for="login-username"],
.login-card.is-mfa > label[for="login-password"],
.login-card.is-mfa > .login-input { display: none; }
#login-mfa-step:not([hidden]) { display: grid; gap: var(--ava-space-3); }
#login-mfa-step [hidden] { display: none !important; }
#login-mfa-qr:not([hidden]) { display: block; width: min(240px, 100%); height: auto; margin-inline: auto; }
#login-mfa-codes:not([hidden]) { display: grid; gap: var(--ava-space-2); overflow-wrap: anywhere; }
.mfa-qr { display: block; width: min(240px, 100%); height: auto; margin: var(--ava-space-3) auto; }
.mfa-code-text { display: block; width: 100%; min-height: 250px; margin-block: var(--ava-space-2); font-family: ui-monospace, Consolas, monospace; line-height: 1.5; white-space: pre; overflow: auto; resize: vertical; }
#mfa-admin-result code { display: block; padding: var(--ava-space-2); overflow-wrap: anywhere; border: 1px solid var(--ava-color-border, #c8d4e2); border-radius: 6px; }
.mfa-grant-actions { margin-top: var(--ava-space-2); }
.password-visibility-control { display: block; position: relative; align-self: start; min-width: 0; width: 100%; }
.field > .password-visibility-control { color: inherit; font-size: inherit; font-weight: inherit; line-height: normal; letter-spacing: normal; }
.password-visibility-control > input { min-width: 0; width: 100%; padding-right: 44px; }
.password-visibility-button { position: absolute; top: 50%; right: 4px; transform: translateY(-50%); display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: var(--ava-radius-input); color: var(--ava-text-secondary); background: transparent; cursor: pointer; }
.password-visibility-button svg { width: 19px; height: 19px; }
.password-visibility-button:focus-visible { outline: 2px solid var(--ava-primary); outline-offset: 2px; }
.topbar #profile-button:hover { background: transparent; cursor: default; }

/* Estructura compartida de módulos */
.main-content > .screen-heading:first-child { min-height: auto; }
.screen-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--ava-space-3); }
.screen-heading > div:first-child { min-width: 0; }
.screen-heading h1, .screen-heading h2 { margin: 0; }
.screen-heading p { margin: var(--ava-space-1) 0 0; }
.compact-heading { min-height: auto; }
.heading-actions, .toolbar, .table-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ava-space-2); }
.stack { display: grid; gap: var(--ava-form-row-gap); }
.section-gap { margin-top: var(--ava-form-row-gap); }

.filter-bar {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: end;
  gap: var(--ava-form-row-gap);
  margin-bottom: var(--ava-form-row-gap);
}

.filter-bar > .button { min-width: 112px; }
.field { min-width: 0; display: grid; gap: var(--ava-label-control-gap); }
.field > span { color: var(--ava-text-secondary); font-size: var(--ava-font-xs); font-weight: var(--ava-font-semibold); line-height: 16px; letter-spacing: 0; }
.field--2 { grid-column: span 2; }
.field--3 { grid-column: span 3; }
.field--4 { grid-column: span 4; }
.field--5 { grid-column: span 5; }
.field--6 { grid-column: span 6; }
.field--8 { grid-column: span 8; }
.field--full { grid-column: 1 / -1; }
.form-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--ava-form-row-gap); }

.card-header { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; }
.card-header > div { min-width: 0; }
.card-header h2, .card-header h3 { margin: 0; }
.card-header p { margin: 2px 0 0; color: var(--ava-text-secondary); font-size: var(--ava-font-xs); line-height: 16px; }
.scroll-panel { max-height: min(54dvh, 620px); }
.cell-wrap { min-width: 150px; white-space: normal; }
.cell-wrap small { display: block; margin-top: 2px; color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.table-actions { flex-wrap: nowrap; }
.toolbar-note { align-self: center; }

/* Paneles de indicadores */
.dashboard-kpi-grid,
.metric-grid,
.incident-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ava-space-3);
  margin-bottom: var(--ava-form-row-gap);
}

.metric-card,
.incident-metric-card,
.statement-metric,
.warehouse-invoice-summary > div,
.aging-grid > div {
  min-width: 0;
  min-height: auto;
  display: flex;
  align-items: center;
  gap: var(--ava-space-3);
}

.metric-icon,
.incident-metric-icon,
.statement-metric-icon,
.delivery-summary-icon,
.auto-card-icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: grid;
  place-items: center;
  border-radius: var(--ava-radius-card);
  color: var(--ava-primary);
  background: var(--ava-primary-soft);
}

.metric-icon svg,
.incident-metric-icon svg,
.statement-metric-icon svg,
.delivery-summary-icon svg,
.auto-card-icon svg { width: 22px; height: 22px; }
.auto-card-icon--money, .auto-card-icon--chart { color: var(--ava-success-dark); background: var(--ava-success-soft); }
.auto-card-icon--warning { color: var(--ava-warning-dark); background: var(--ava-warning-soft); }
.auto-card-icon--clock { color: var(--ava-info-dark); background: var(--ava-info-soft); }

/* Dashboard */
.dashboard-filter-bar { grid-template-columns: repeat(4, minmax(0,1fr)); }
.dashboard-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.dashboard-organization { min-height: 36px; display: inline-flex; align-items: center; padding: 0 var(--ava-space-3); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-pill); color: var(--ava-interactive); background: var(--ava-primary-soft); font-size: var(--ava-font-sm); font-weight: var(--ava-font-semibold); }
.dashboard-analytics-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(340px,.65fr); gap: var(--ava-form-row-gap); margin-bottom: var(--ava-form-row-gap); }
.dashboard-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--ava-form-row-gap); margin-bottom: var(--ava-form-row-gap); }
.dashboard-work-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--ava-form-row-gap); margin-bottom: var(--ava-form-row-gap); }
.dashboard-work-grid--single { grid-template-columns: minmax(0,1fr); }
.dashboard-chart-card { min-height: 320px; }
.dashboard-chart { min-height: 230px; }
.dashboard-flow-card { margin-bottom: var(--ava-form-row-gap); }
.dashboard-flow { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--ava-space-3); }
.dashboard-action-list { display: grid; gap: var(--ava-space-2); }
.dashboard-compact-table { max-height: 360px; }

/* Digitación y buscador */
body[data-ava-module="digitacion"] .digitization-kpi-row,
body[data-ava-module="digitacion"] .kpi-row--six { grid-template-columns: repeat(4,minmax(0,1fr)); }
body[data-ava-module="digitacion"] .digitization-guide-bar { padding: var(--ava-space-3) var(--ava-space-4); }
body[data-ava-module="digitacion"] .digitization-entry-card { align-self: start; }
body[data-ava-module="digitacion"] .digitization-entry-card input,
body[data-ava-module="digitacion"] .digitization-entry-card select { width: 100%; }
body[data-ava-module="buscador"] #search-form { grid-template-columns: minmax(300px,5fr) minmax(180px,2fr) minmax(180px,2fr) auto auto; }
body[data-ava-module="buscador"] #search-form > * { grid-column: auto; }

/* Facturación, cartera y estados */
body[data-ava-module="facturacion"] #billing-tabs,
body[data-ava-module="configuracion"] #settings-tabs { margin-bottom: var(--ava-form-row-gap); }
body[data-ava-module="facturacion"] .billing-new-layout { gap: var(--ava-form-row-gap); }
body[data-ava-module="facturacion"] .billing-new-main,
body[data-ava-module="facturacion"] .billing-new-summary { min-width: 0; }
body[data-ava-module="facturacion"] .billing-kpi-row { grid-template-columns: repeat(5,minmax(0,1fr)); }
/* Un importe financiero debe permanecer íntegro, no mostrar puntos suspensivos. */
body[data-ava-module="facturacion"] .billing-kpi-row .kpi strong {
  overflow-wrap: anywhere;
  white-space: normal;
  text-overflow: clip;
}
body[data-ava-module="facturacion"] .billing-filter-grid,
body[data-ava-module="facturacion"] .billing-history-filters { gap: var(--ava-space-3); }
/* La hoja unificada ya define sus pistas y spans responsive en app.css.
   La rejilla histórica de ocho columnas comprimía Transporte/Estado. */
body[data-ava-module="estados-cuenta"] .statement-filters { gap: var(--ava-space-3); align-items: end; }
body[data-ava-module="estados-cuenta"] .statement-filters > * { min-width: 0; }
body[data-ava-module="estados-cuenta"] .statement-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--ava-space-3); }
body[data-ava-module="estados-cuenta"] .statement-invoices,
body[data-ava-module="estados-cuenta"] .statement-portfolio { margin-top: var(--ava-form-row-gap); }
.currency-badge { min-height: 24px; display: inline-flex; align-items: center; padding: 2px var(--ava-space-2); border-radius: var(--ava-radius-pill); color: var(--ava-interactive); background: var(--ava-primary-soft); font-size: var(--ava-font-xs); font-weight: var(--ava-font-semibold); }

/* Pares de texto/superficie: también aplican a vistas embebidas de agencias.
   No usar primary-dark como texto: en modo oscuro es un fondo de énfasis. */
.statement-workbench .statement-filters { background: var(--ava-background); }
.statement-inline-summary > span {
  color: var(--ava-text-primary);
  background: var(--ava-primary-soft);
  border-color: var(--ava-border);
}
.statement-inline-summary b,
.statement-inline-summary strong,
.ar-selected-balance > strong,
.ar-selected-balance-values strong,
.dashboard-kpi-copy > strong,
.dashboard-money-stack strong,
.dashboard-status-legend strong,
.billing-cash-status-copy strong { color: var(--ava-interactive); }
.statement-unified-ledger .statement-row-actions { display: flex; align-items: center; flex-wrap: nowrap; gap: var(--ava-space-2); }
.statement-unified-ledger .statement-row-action { width: 32px; min-width: 32px; height: 32px; min-height: 32px; padding: 6px; flex: 0 0 32px; }
.statement-row-action svg { display: block; width: 18px; height: 18px; flex: 0 0 18px; }
/* Approved compact general statement with two independent dates; client dialog unchanged. */
#statement-invoice-table .statement-overview-table { width:100%; min-width:0; table-layout:fixed; }
#statement-invoice-table .statement-overview-table :is(th,td) { min-width:0; white-space:normal; overflow-wrap:anywhere; text-align:left; padding:var(--ava-space-3) var(--ava-space-1); vertical-align:middle; }
#statement-invoice-table .statement-overview-table th { overflow-wrap:normal; }
#statement-invoice-table .statement-overview-table th:nth-child(1) { width:13%; }
#statement-invoice-table .statement-overview-table th:nth-child(2) { width:14%; }
#statement-invoice-table .statement-overview-table th:nth-child(3) { width:8%; }
#statement-invoice-table .statement-overview-table th:nth-child(4) { width:8%; }
#statement-invoice-table .statement-overview-table th:nth-child(5) { width:8%; }
#statement-invoice-table .statement-overview-table th:nth-child(6) { width:10%; }
#statement-invoice-table .statement-overview-table th:nth-child(7) { width:10%; }
#statement-invoice-table .statement-overview-table th:nth-child(8) { width:10%; }
#statement-invoice-table .statement-overview-table th:nth-child(9) { width:10%; }
#statement-invoice-table .statement-overview-table th:nth-child(10) { width:9%; }
#statement-invoice-table .statement-overview-table small { display:block; margin-top:var(--ava-space-1); color:var(--ava-text-secondary); font-size:var(--ava-font-xs); font-weight:400; line-height:1.4; }
#statement-invoice-table .statement-overview-table :is(th,td):nth-child(n+7) { text-align:right; font-variant-numeric:tabular-nums; }
#statement-invoice-table .statement-overview-table :is(th,td):is(:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6),:nth-child(10)) { text-align:center; }
#statement-invoice-table .statement-overview-table tr[data-statement-invoice]>td { white-space:nowrap; height:48px; }
#statement-invoice-table .statement-overview-table td[data-label="Cliente"]>strong { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
#statement-invoice-table .statement-overview-table .statement-overview-amount { overflow-wrap:normal; }
#statement-invoice-table .statement-overview-table td:is([data-label="Fecha de emisión"],[data-label="Vencimiento"]) { white-space:nowrap; font-variant-numeric:tabular-nums; }
.statement-overview-toggle { display:flex; align-items:baseline; gap:var(--ava-space-1); width:100%; min-width:0; padding:0; border:0; background:transparent; color:var(--ava-interactive); font:inherit; font-weight:600; text-align:left; cursor:pointer; }
.statement-overview-toggle span { display:block; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.statement-overview-toggle svg { align-self:center; flex:0 0 12px; width:12px; height:12px; }
.statement-overview-toggle[aria-expanded="true"] svg { transform:rotate(90deg); }
.statement-overview-toggle:hover span { text-decoration:underline; }
#statement-invoice-table .statement-overview-table .transport-badge { display:inline-block; min-width:0; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; vertical-align:middle; }
#statement-invoice-table .statement-overview-table .statement-row-actions { justify-content:center; flex-wrap:nowrap; gap:var(--ava-space-1); }
#statement-invoice-table .statement-overview-detail>td { text-align:left; padding:var(--ava-space-4); background:var(--ava-background); }
.statement-overview-detail-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:var(--ava-space-3); }
.statement-overview-detail-heading .button { min-height:32px; padding:var(--ava-space-1) var(--ava-space-3); font-size:var(--ava-font-sm); }
.statement-overview-detail dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--ava-space-3); margin:var(--ava-space-3) 0 0; }
.statement-overview-detail dl>div { min-width:0; }
.statement-overview-detail dt { color:var(--ava-text-secondary); font-size:var(--ava-font-xs); }
.statement-overview-detail dd { margin:var(--ava-space-1) 0 0; overflow-wrap:anywhere; }
@media(min-width:1201px) and (max-width:1300px) {
  #statement-invoice-table .statement-overview-table :is(th,td) { font-size:var(--ava-font-xs); }
}
@media(max-width:1200px) {
  #statement-invoice-table .statement-overview-table,#statement-invoice-table .statement-overview-table tbody { display:block; width:100%; }
  #statement-invoice-table .statement-overview-table thead { display:none; }
  #statement-invoice-table .statement-overview-table tr[data-statement-invoice] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ava-space-3); padding:var(--ava-space-3); border-bottom:1px solid var(--ava-border); }
  #statement-invoice-table .statement-overview-table tr[data-statement-invoice]>td { display:block; padding:0; border:0; text-align:left; white-space:normal; height:auto; }
  #statement-invoice-table .statement-overview-table tr[data-statement-invoice]>td:nth-child(-n+2) { grid-column:1/-1; }
  #statement-invoice-table .statement-overview-table tr[data-statement-invoice]>td:not(:first-child)::before { content:attr(data-label); display:block; margin-bottom:var(--ava-space-1); color:var(--ava-text-secondary); font-size:var(--ava-font-xs); }
  #statement-invoice-table .statement-overview-table td[data-label="Cliente"]>strong,.statement-overview-toggle span { white-space:normal; overflow:visible; text-overflow:clip; }
  #statement-invoice-table .statement-overview-table .statement-row-actions { justify-content:flex-start; }
  #statement-invoice-table .statement-overview-table .statement-row-action { width:44px; min-width:44px; height:44px; min-height:44px; flex-basis:44px; }
  .statement-overview-toggle { min-height:44px; }
  #statement-invoice-table .statement-overview-detail,#statement-invoice-table .statement-overview-detail>td { display:block; width:100%; }
  .statement-overview-detail dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .statement-overview-detail-heading .button { min-height:44px; }
}
@media(max-width:480px) {
  #statement-invoice-table .statement-overview-table tr[data-statement-invoice],.statement-overview-detail dl { grid-template-columns:minmax(0,1fr); }
}
@media (pointer: coarse) {
  .statement-unified-ledger .statement-row-action { width: 44px; min-width: 44px; height: 44px; min-height: 44px; flex-basis: 44px; }
}
.ar-selected-balance:not(.is-empty) > span,
.ar-selected-balance:not(.is-empty) > small { color: var(--ava-text-primary); }
.dashboard-donut-total { fill: var(--ava-interactive); }
.transport-badge { color: var(--ava-interactive); background: var(--ava-primary-soft); }
.billing-calculation-row { border-color: var(--ava-border); }
.billing-calculation-balance {
  color: var(--ava-success-dark);
  background: var(--ava-success-soft);
}
.amount-positive { color: var(--ava-success-dark); }
.amount-negative { color: var(--ava-danger-dark); }
.package-trace-banner div > span,
.detail-item--trace strong { color: var(--ava-info-dark); }
.client-directory-item .client-avatar { color: var(--ava-interactive); background: var(--ava-primary-soft); }
.client-directory-item .status-ok { color: var(--ava-success-dark); background: var(--ava-success-soft); }
.client-assignment-row.is-default { background: var(--ava-background); }
.client-assignment-table-head,
.client-assignment-row {
  grid-template-columns: minmax(190px,1.25fr) minmax(105px,.6fr) minmax(210px,1.15fr) minmax(145px,.8fr) minmax(80px,.4fr);
}
.incident-active-filter strong { color: var(--ava-text-primary); }
.incident-active-filter button { color: var(--ava-interactive); }
.incident-search-control input:not([type="checkbox"]):not([type="radio"]):not([type="file"]) {
  width: 100%;
  padding-left: var(--ava-space-10);
}
.incident-date-range i { color: var(--ava-text-secondary); }
.incident-history-card span,
.incident-history-card p { color: var(--ava-text-secondary); }
.warranty-step b { color: var(--ava-text-secondary); background: var(--ava-background); }
.warranty-step.is-done { color: var(--ava-success-dark); }
.warranty-step.is-done b { color: var(--ava-text-on-emphasis); background: var(--ava-success-action); }
.warranty-step.is-current { color: var(--ava-interactive); }
.warranty-step.is-current b { color: var(--ava-text-on-emphasis); background: var(--ava-primary); }
.ava-about-values span { color: var(--ava-text-primary); background: var(--ava-background); border-color: var(--ava-border); }

/* Salida, consolidación y portal de agencias */
.warehouse-filter-bar { display: grid; grid-template-columns: minmax(180px,2fr) minmax(320px,5fr) minmax(180px,2fr) auto; }
.warehouse-filter-bar > * { grid-column: auto; }
.warehouse-invoice-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--ava-space-3); }
.delivery-packages-table { max-height: min(48dvh,560px); }
.delivery-history-row { display: flex; align-items: center; justify-content: space-between; gap: var(--ava-space-3); padding: var(--ava-space-3) 0; border-bottom: 1px solid var(--ava-border); }
.delivery-history-row > div:first-child { min-width: 0; display: grid; gap: var(--ava-space-1); }
.agency-tabs { margin-bottom: var(--ava-form-row-gap); }
.agency-flow, .action-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--ava-space-3); }
.agency-flow > div { min-height: auto; display: flex; align-items: center; gap: var(--ava-space-3); padding: var(--ava-card-padding-y) var(--ava-card-padding-x); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); background: var(--ava-background); }
.agency-flow strong { width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--ava-primary); }
.agency-package-filters { grid-template-columns: minmax(260px,4fr) minmax(170px,2fr) minmax(260px,3fr) auto auto auto; }
.agency-package-filters > * { grid-column: auto; }
.agency-invoice-items, .agency-reception-packages-table { max-height: min(58dvh,680px); }
body[data-ava-module="consolidar"] #consolidation-form { grid-template-columns: repeat(12,minmax(0,1fr)); }

/* Clientes, reportes, auditoría y configuración */
body[data-ava-module="clientes"] .clients-heading { align-items: center; }
body[data-ava-module="clientes"] .client-directory-card,
body[data-ava-module="clientes"] .client-editor-card { min-height: 0; }
body[data-ava-module="reportes"] .incident-metrics-grid { grid-template-columns: repeat(6,minmax(0,1fr)); }
body[data-ava-module="reportes"] .incident-filters { display: block; }
body[data-ava-module="reportes"] .incident-filter-grid { display: grid; grid-template-columns: minmax(220px,1.45fr) repeat(3,minmax(140px,.8fr)) minmax(260px,1.25fr) auto; gap: var(--ava-space-3); align-items: end; }
body[data-ava-module="auditoria"] #audit-form { grid-template-columns: repeat(12,minmax(0,1fr)); }
body[data-ava-module="configuracion"] #settings-panel > .card { margin-bottom: var(--ava-form-row-gap); }
.permission-group { padding: var(--ava-space-3); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); background: var(--ava-background); }
.checkbox-field { min-height: 36px; display: flex; align-items: center; gap: var(--ava-space-2); }

/* Campos de consulta: conservan el ancho útil y evitan solapamientos en todos los módulos. */
.field,
.filter-bar > *,
.client-directory-tools > *,
.agency-package-filters > * { min-width: 0; }
.field > input,
.field > select,
.field > textarea,
input[type="search"],
.client-directory-tools input { width: 100%; min-width: 0; max-width: 100%; }
.filter-actions { display: flex; align-items: end; justify-content: flex-end; gap: var(--ava-space-2); min-width: 0; }

/* Ventanas */
.dialog-body > .stack,
.dialog-body > form { min-width: 0; }
.dialog.is-maximized { border-radius: 0; }
.dialog.is-maximized .dialog-body { padding: var(--ava-card-padding-y) var(--ava-card-padding-x); }
.pdf-workspace, .document-preview-workspace { background: var(--ava-background); }

@media (max-width: 1599px) {
  body[data-ava-module="reportes"] .incident-filter-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  body[data-ava-module="reportes"] .incident-filter-search,
  body[data-ava-module="reportes"] .incident-date-range,
  body[data-ava-module="reportes"] .incident-filter-actions { grid-column: span 2; }
  body[data-ava-module="reportes"] .incident-filter-actions { min-width: 0; justify-content: flex-end; }
}

@media (max-width: 1365px) {
  .main-content { padding: var(--ava-space-5); }
  .dashboard-kpi-grid, .metric-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .dashboard-work-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body[data-ava-module="reportes"] .incident-metrics-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body[data-ava-module="reportes"] .incident-filter-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  body[data-ava-module="reportes"] .incident-filter-search,
  body[data-ava-module="reportes"] .incident-date-range,
  body[data-ava-module="reportes"] .incident-filter-actions { grid-column: span 2; }
  body[data-ava-module="reportes"] .incident-filter-actions { min-width: 0; justify-content: flex-end; }
  .agency-package-filters { grid-template-columns: repeat(12,minmax(0,1fr)); }
  .agency-package-filters > :nth-child(1) { grid-column: span 4; }
  .agency-package-filters > :nth-child(2) { grid-column: span 3; }
  .agency-package-filters > :nth-child(3) { grid-column: span 5; }
  .agency-package-filters > :nth-child(n+4) { grid-column: span 4; }
}

@media (max-width: 1100px) {
  .dashboard-analytics-grid, .dashboard-detail-grid { grid-template-columns: 1fr; }
  .dashboard-flow { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .warehouse-filter-bar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .warehouse-invoice-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .agency-flow, .action-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body[data-ava-module="facturacion"] .billing-kpi-row { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  body[data-ava-module="facturacion"] .billing-kpi-row { grid-template-columns: 1fr; }
}

@media (max-width: 840px) {
  .login-view { grid-template-columns: 1fr; }
  .login-brand { min-height: auto; padding: var(--ava-space-8) var(--ava-space-6); }
  .login-brand-copy, .local-badge { display: none; }
  .login-brand-logo img { width: 180px; }
  .login-access-panel { min-height: calc(100dvh - 150px); padding: var(--ava-space-5); }
  .dashboard-kpi-grid, .metric-grid, .dashboard-work-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .filter-bar, .form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .filter-bar > *, .form-grid > *, .field--2, .field--3, .field--4, .field--5, .field--6, .field--8 { grid-column: span 1; }
  .field--full { grid-column: 1 / -1; }
  body[data-ava-module="buscador"] #search-form,
  .warehouse-filter-bar,
  .agency-package-filters { grid-template-columns: 1fr 1fr; }
  body[data-ava-module="buscador"] #search-form > *, .warehouse-filter-bar > *, .agency-package-filters > * { grid-column: span 1; }
}

@media (max-width: 620px) {
  .screen-heading, .delivery-history-row { align-items: stretch; flex-direction: column; }
  .heading-actions > .button { flex: 1 1 auto; }
  .dashboard-kpi-grid, .metric-grid, .dashboard-work-grid, .dashboard-flow,
  .filter-bar, .form-grid, .warehouse-filter-bar, .warehouse-invoice-summary,
  .agency-flow, .action-grid, .agency-package-filters,
  body[data-ava-module="buscador"] #search-form,
  body[data-ava-module="reportes"] .incident-metrics-grid { grid-template-columns: 1fr; }
  .filter-bar > *, .form-grid > *, .warehouse-filter-bar > *, .agency-package-filters > * { grid-column: 1; }
  .login-card { padding: var(--ava-space-5); }
}

@media (prefers-reduced-motion: reduce) {
  .button, .module-tab, .tab-button { transition: none; }
}

/* Estabilidad de composicion.
   Estas reglas se mantienen al final de la cascada porque los modulos heredados
   todavia declaran variantes de los componentes base en app.css. */
.card,
.filter-bar,
.form-grid,
.metric-card,
.table-wrap,
.digitization-workspace,
.digitization-entry-card,
.digitization-records-card {
  min-width: 0;
}

.form-grid > *,
.filter-bar > *,
.card-header > *,
.metric-card > * {
  min-width: 0;
}

.field input,
.field select,
.field textarea,
.field output {
  max-width: 100%;
}

/* Digitacion: el formulario rapido pertenece a una tarjeta estrecha dentro de
   un workspace de dos paneles. No debe heredar las doce columnas generales. */
body[data-ava-module="digitacion"] .package-form--compact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ava-space-2) var(--ava-space-3);
}

body[data-ava-module="digitacion"] .package-form--compact > .package-field {
  grid-column: span 1;
}

.package-form--compact > .package-field[hidden] {
  display: none !important;
}

body[data-ava-module="digitacion"] .package-field-header {
  width: 100%;
  min-width: 0;
  min-height: 22px;
  gap: var(--ava-space-1);
}

body[data-ava-module="digitacion"] .package-field-header > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

body[data-ava-module="digitacion"] .field-freeze {
  min-width: 0;
  flex: 0 1 auto;
  padding: 0;
  border: 0;
  color: var(--ava-text-secondary);
  background: transparent;
  font: inherit;
  white-space: nowrap;
}

body[data-ava-module="digitacion"] .quick-incident-panel,
body[data-ava-module="digitacion"] .package-form-actions {
  grid-column: 1 / -1;
}

/* Salida del almacen: la tarjeta ya dibuja su icono mediante pseudo-elementos.
   Se reserva el espacio lateral despues del padding general de metric-card. */
body[data-ava-module="salidas"] .warehouse-metric {
  position: relative;
  min-height: auto;
  display: flex;
  align-items: center;
  padding: var(--ava-card-padding-y) var(--ava-card-padding-x) var(--ava-card-padding-y) 68px;
  overflow: hidden;
  text-align: left;
}

body[data-ava-module="salidas"] .warehouse-metric .metric-copy {
  width: 100%;
  display: grid;
  gap: var(--ava-space-1);
}

body[data-ava-module="salidas"] .warehouse-metric .metric-copy span,
body[data-ava-module="salidas"] .warehouse-metric .metric-copy strong {
  position: relative;
  z-index: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Buscador conserva resultados y paginación como regiones independientes. */
body[data-ava-module="buscador"] .search-results-region {
  min-width: 0;
  display: grid;
  gap: var(--ava-space-3);
}

/* Facturación: Pagos usa la mesa guiada aprobada. La composición cambia,
   pero los identificadores y la transacción contable permanecen intactos. */
body[data-ava-module="facturacion"] .form-grid.billing-payment-topline {
  align-items: end;
  gap: var(--ava-form-row-gap);
}

body[data-ava-module="facturacion"] .billing-payment-layout {
  grid-template-columns: minmax(0, 1.55fr) minmax(330px, .45fr);
  gap: var(--ava-form-row-gap);
}

body[data-ava-module="facturacion"] .billing-payment-allocation,
body[data-ava-module="facturacion"] .billing-receipt-form-card {
  height: auto;
  padding: var(--ava-space-3);
}

body[data-ava-module="facturacion"] .billing-payment-allocation .card-header,
body[data-ava-module="facturacion"] .billing-receipt-form-card .card-header {
  margin-bottom: var(--ava-form-row-gap);
}

body[data-ava-module="facturacion"] .billing-receipt-credit-panel {
  align-self: end;
  height: auto;
  min-height: var(--ava-control-height);
  gap: var(--ava-label-control-gap);
  padding: var(--ava-control-padding-y) var(--ava-control-padding-x);
}

body[data-ava-module="facturacion"] .billing-receipt-credit-summary,
body[data-ava-module="facturacion"] .billing-receipt-credit-input {
  min-width: 0;
}

body[data-ava-module="facturacion"] .billing-receipt-credit-control {
  gap: var(--ava-space-2);
}

body[data-ava-module="facturacion"] .billing-receipt-credit-control .button {
  width: fit-content;
  height: auto;
  min-height: var(--ava-control-height-compact);
  padding: 7px var(--ava-control-padding-x);
}

body[data-ava-module="facturacion"] #receipt-invoices {
  min-height: 96px;
  max-height: min(34vh, 330px);
  margin-top: 6px;
}

body[data-ava-module="facturacion"] #receipt-invoices .empty-state {
  min-height: 96px;
  padding: var(--ava-space-3);
}

body[data-ava-module="facturacion"] .billing-allocation-bar {
  margin-top: 6px;
}

body[data-ava-module="facturacion"] .billing-receipt-form-card .form-grid {
  gap: 8px;
}

body[data-ava-module="facturacion"] .billing-receipt-form-card textarea {
  min-height: 56px;
}

/* Pagos: composición aprobada. Todos los bloques conservan altura
   automática para no desperdiciar espacio ni recortar contenido. */
body[data-ava-module="facturacion"] .billing-payment-layout--approved {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
  align-items: start;
  gap: 10px;
}

body[data-ava-module="facturacion"] .billing-step-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

body[data-ava-module="facturacion"] .billing-step-heading > div {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

body[data-ava-module="facturacion"] .billing-step-heading h2,
body[data-ava-module="facturacion"] .billing-step-heading p {
  margin: 0;
}

body[data-ava-module="facturacion"] .billing-step-heading h2 {
  font-size: .95rem;
  line-height: 1.3;
}

body[data-ava-module="facturacion"] .billing-step-heading p {
  margin-top: 2px;
  color: var(--ava-text-secondary);
  font-size: .78rem;
}

body[data-ava-module="facturacion"] .billing-step-number {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  color: #fff;
  background: var(--ava-primary);
  font-weight: 800;
  line-height: 1;
}

body[data-ava-module="facturacion"] .billing-payment-topline {
  display: grid;
  grid-template-columns: minmax(230px, 2fr) minmax(140px, .78fr) minmax(150px, 1fr);
  align-items: end;
  gap: 8px;
}

body[data-ava-module="facturacion"] #receipt-currency-policy {
  margin: 6px 0 0;
  padding: 6px 8px;
  font-size: .74rem;
  line-height: 1.35;
}

body[data-ava-module="facturacion"] .billing-receipt-invoice-filter {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  align-items: end;
  gap: 8px;
  margin: 8px 0 0;
  padding: 0;
  overflow: visible;
}

body[data-ava-module="facturacion"] .billing-receipt-invoice-filter > * {
  grid-column: auto !important;
  min-width: 0;
}

body[data-ava-module="facturacion"] .billing-receipt-invoice-filter .field,
body[data-ava-module="facturacion"] .billing-receipt-invoice-filter input {
  width: 100%;
}

body[data-ava-module="facturacion"] .billing-payment-table :is(th, td) {
  padding: 7px 9px;
}

body[data-ava-module="facturacion"] .billing-payment-table .allocation-input {
  width: 118px;
  min-height: var(--ava-control-height-compact);
}

body[data-ava-module="facturacion"] .billing-credit-pool {
  margin-top: 8px;
  padding: 8px;
  border: 1px solid var(--ava-border);
  border-left: 3px solid var(--ava-primary);
  border-radius: var(--ava-radius-card);
  background: var(--ava-primary-soft);
}

body[data-ava-module="facturacion"] .billing-funding-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr);
  gap: 8px;
}

body[data-ava-module="facturacion"] .billing-promotion-pool {
  display: grid;
  align-content: start;
  gap: 6px;
}

body[data-ava-module="facturacion"] .billing-promotion-pool .billing-credit-pool-heading,
body[data-ava-module="facturacion"] .billing-promotion-pool .field { margin: 0; }
body[data-ava-module="facturacion"] .billing-promotion-pool .field > span { color: var(--ava-text-primary); }

body[data-ava-module="facturacion"] .billing-credit-pool-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}

body[data-ava-module="facturacion"] .billing-credit-pool-heading span {
  color: var(--ava-text-primary);
  font-size: .75rem;
}

body[data-ava-module="facturacion"] .billing-credit-pool--automatic .billing-credit-pool-heading > div,
body[data-ava-module="facturacion"] .billing-promotion-pool .billing-credit-pool-heading > div {
  display: grid;
  gap: 2px;
}

body[data-ava-module="facturacion"] .billing-credit-auto-switch {
  display: inline-flex;
  align-items: center;
  gap: var(--ava-space-2);
  min-height: var(--ava-control-height-compact);
  color: var(--ava-interactive);
  font-weight: var(--ava-font-semibold);
  cursor: pointer;
}

body[data-ava-module="facturacion"] .billing-credit-auto-switch input {
  width: 18px;
  height: 18px;
  accent-color: var(--ava-primary);
}

body[data-ava-module="facturacion"] .billing-credit-auto-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  overflow: hidden;
  border: 1px solid var(--ava-border);
  border-radius: var(--ava-radius-input);
  background: var(--ava-surface);
}

body[data-ava-module="facturacion"] .billing-credit-auto-balance {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 6px 8px;
  border-right: 1px solid var(--ava-border);
}

body[data-ava-module="facturacion"] .billing-credit-auto-balance:last-child { border-right: 0; }
body[data-ava-module="facturacion"] .billing-credit-auto-balance span,
body[data-ava-module="facturacion"] .billing-credit-auto-balance small { color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
body[data-ava-module="facturacion"] .billing-credit-auto-balance strong { color: var(--ava-interactive); }
body[data-ava-module="facturacion"] .billing-credit-auto-balance.is-used { background: var(--ava-background); }

body[data-ava-module="facturacion"] .billing-method-fields:empty { display: none; }

body[data-ava-module="facturacion"] .billing-method-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--ava-border);
  border-radius: var(--ava-radius-input);
  background: var(--ava-background);
}

body[data-ava-module="facturacion"] .billing-method-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; }

body[data-ava-module="facturacion"] .billing-receipts-page { padding: 0; overflow: hidden; }
body[data-ava-module="facturacion"] .billing-receipts-page > .card-header { margin: 0; padding: var(--ava-card-padding-y) var(--ava-card-padding-x); }
body[data-ava-module="facturacion"] .billing-receipts-page .billing-receipts-table { min-height: 260px; max-height: min(60vh, 620px); }
body[data-ava-module="facturacion"] .billing-receipts-page .billing-receipts-table > table { min-width: 1260px; }
body[data-ava-module="facturacion"] .billing-receipts-filter--minimal {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(170px, .34fr) auto;
  align-items: end;
  gap: var(--ava-space-3);
  margin: 0;
  padding: var(--ava-space-3) var(--ava-card-padding-x);
  border-top: 1px solid var(--ava-border);
  border-bottom: 1px solid var(--ava-border);
  background: var(--ava-background);
}
body[data-ava-module="facturacion"] .billing-receipts-filter--minimal > * { grid-column: auto !important; min-width: 0; }
body[data-ava-module="facturacion"] .billing-receipts-page .billing-selection-bar { margin: 0; border-right: 0; border-bottom: 0; border-left: 0; border-radius: 0; }

body[data-ava-module="facturacion"] .billing-payment-table td small {
  display: block;
  margin-top: 2px;
  color: var(--ava-success-dark);
  white-space: nowrap;
}

body[data-ava-module="facturacion"] .billing-payment-table td small.is-pending {
  color: var(--ava-warning-dark);
}

body[data-ava-module="facturacion"] .billing-payment-totals {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 6px;
  overflow: hidden;
  border: 1px solid var(--ava-border);
  border-radius: var(--ava-radius-card);
  background: var(--surface-2);
}

body[data-ava-module="facturacion"] .billing-payment-totals > div {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 6px 8px;
  border-right: 1px solid var(--ava-border);
}

body[data-ava-module="facturacion"] .billing-payment-totals > div:last-child {
  border-right: 0;
}

body[data-ava-module="facturacion"] .billing-payment-totals span {
  color: var(--ava-text-secondary);
  font-size: .72rem;
}

body[data-ava-module="facturacion"] .billing-payment-totals strong {
  font-size: .88rem;
  overflow-wrap: anywhere;
}

body[data-ava-module="facturacion"] .billing-receipt-composition {
  margin-bottom: 8px;
  padding: 8px;
  border-radius: var(--ava-radius-card);
  background: var(--surface-2);
}

body[data-ava-module="facturacion"] .billing-receipt-composition h3 {
  margin: 0 0 6px;
  color: var(--ava-interactive);
  font-size: .92rem;
}

body[data-ava-module="facturacion"] .billing-receipt-composition dl {
  margin: 0;
}

body[data-ava-module="facturacion"] .billing-receipt-composition dl > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 3px 0;
}

body[data-ava-module="facturacion"] .billing-receipt-composition dd strong,
body[data-ava-module="facturacion"] .billing-receipt-composition dd small {
  display: block;
}

body[data-ava-module="facturacion"] .billing-receipt-composition dd small {
  margin-top: 1px;
  color: var(--ava-text-secondary);
  font-size: var(--ava-font-xs);
  font-weight: var(--ava-font-regular);
}

body[data-ava-module="facturacion"] .billing-receipt-composition dt,
body[data-ava-module="facturacion"] .billing-receipt-composition dd {
  margin: 0;
}

body[data-ava-module="facturacion"] .billing-receipt-composition dd {
  font-weight: 750;
  text-align: right;
}

body[data-ava-module="facturacion"] .billing-receipt-composition .is-total {
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px solid var(--ava-border);
  font-weight: 800;
}

body[data-ava-module="facturacion"] .billing-receipt-help {
  margin: 0;
  color: var(--ava-text-secondary);
  font-size: 12px;
  line-height: 1.45;
}

@media (max-width: 1199px) {
  body[data-ava-module="facturacion"] .billing-payment-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ava-module="facturacion"] .billing-payment-layout--approved {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 860px) {
  body[data-ava-module="facturacion"] .billing-payment-topline {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ava-module="facturacion"] .billing-credit-auto-grid,
  body[data-ava-module="facturacion"] .billing-funding-grid,
  body[data-ava-module="facturacion"] .billing-receipts-filter--minimal {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-ava-module="facturacion"] .billing-credit-auto-balance {
    border-right: 0;
    border-bottom: 1px solid var(--ava-border);
  }

  body[data-ava-module="facturacion"] .billing-credit-auto-balance:last-child { border-bottom: 0; }

  body[data-ava-module="facturacion"] .billing-payment-totals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-ava-module="facturacion"] .billing-payment-totals > div:nth-child(2) {
    border-right: 0;
  }

  body[data-ava-module="facturacion"] .billing-payment-totals > div:nth-child(-n+2) {
    border-bottom: 1px solid var(--ava-border);
  }
}

@media (max-width: 560px) {
  body[data-ava-module="facturacion"] .billing-step-heading,
  body[data-ava-module="facturacion"] .billing-credit-pool-heading {
    align-items: stretch;
    flex-direction: column;
  }

  body[data-ava-module="facturacion"] .billing-method-grid { grid-template-columns: minmax(0, 1fr); }
  body[data-ava-module="facturacion"] .billing-method-grid > :last-child:nth-child(odd) { grid-column: auto; }

  body[data-ava-module="facturacion"] .billing-receipt-invoice-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-ava-module="facturacion"] .billing-receipt-invoice-filter .field {
    grid-column: 1 / -1 !important;
  }
}

/* AVA 13.1.4: Registro de paquetes ultracompacto y controles de retención
   estables en cualquier densidad o ancho de ventana. */
body[data-ava-module="digitacion"] .work-compact-strip {
  display: grid;
  grid-template-columns: minmax(168px,1.2fr) minmax(145px,1fr) minmax(128px,.82fr)
    minmax(118px,.72fr) minmax(178px,1.12fr) minmax(150px,.92fr)
    minmax(185px,1.18fr) auto;
  align-items: stretch;
  gap: 0;
  margin-bottom: var(--ava-space-2);
  padding: 7px 9px;
  overflow: hidden;
  border: 1px solid #c8dcdf;
  border-radius: var(--ava-radius-card);
  background: #fff;
}

body[data-ava-module="digitacion"] .work-compact-item {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
  min-height: 42px;
  padding: 3px 10px;
  border-right: 1px solid #e2eaed;
}

body[data-ava-module="digitacion"] .work-compact-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  align-self: center;
  border-radius: 8px;
}

body[data-ava-module="digitacion"] .work-compact-icon .operation-icon { width: 18px; height: 18px; }
body[data-ava-module="digitacion"] .work-compact-icon--blue { color: #176197; background: #e8f2fa; }
body[data-ava-module="digitacion"] .work-compact-icon--green { color: #168066; background: #e3f6ef; }
body[data-ava-module="digitacion"] .work-compact-icon--violet { color: #7640ad; background: #f0e6fb; }

body[data-ava-module="digitacion"] .work-compact-copy {
  display: grid;
  align-content: center;
  gap: 1px;
  min-width: 0;
  line-height: 1.12;
}

body[data-ava-module="digitacion"] .work-compact-copy small {
  overflow: hidden;
  color: #607186;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .035em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

body[data-ava-module="digitacion"] .work-compact-copy strong {
  overflow: hidden;
  color: #16384f;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ava-module="digitacion"] .work-compact-copy em {
  overflow: hidden;
  color: var(--ava-text-secondary);
  font-size: 8px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-ava-module="digitacion"] .work-compact-edit {
  align-self: center;
  min-height: 32px;
  margin-left: 9px;
  white-space: nowrap;
}

body[data-ava-module="digitacion"] .digitization-kpi-row {
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 6px;
  margin-bottom: var(--ava-space-2);
}

body[data-ava-module="digitacion"] .digitization-kpi {
  grid-template-columns: 32px minmax(0,1fr)!important;
  min-height: 50px!important;
  column-gap: 8px;
  padding: 5px 9px!important;
}

body[data-ava-module="digitacion"] .digitization-kpi-icon {
  width: 32px;
  height: 32px;
  border-radius: 9px;
}

body[data-ava-module="digitacion"] .digitization-kpi-icon .operation-icon { width: 19px; height: 19px; }
body[data-ava-module="digitacion"] .digitization-kpi > span:not(.digitization-kpi-icon) { margin: 0; font-size: 8px; }
body[data-ava-module="digitacion"] .digitization-kpi > strong { font-size: 15px; line-height: 1.05; }
body[data-ava-module="digitacion"] .digitization-guide-bar { margin-bottom: var(--ava-space-2); padding: 7px 10px; }
body[data-ava-module="digitacion"] .digitization-guide-list .subheading { margin-bottom: 2px; }

body[data-ava-module="digitacion"] .package-field-header {
  display: grid;
  grid-template-columns: minmax(0,1fr) 20px;
  align-items: center;
  min-height: 20px;
  gap: 4px;
}

body[data-ava-module="digitacion"] .package-field-header:not(:has(.field-retain)) { grid-template-columns: minmax(0,1fr); }

body[data-ava-module="digitacion"] .field-retain {
  position: relative;
  display: grid;
  place-items: center;
  justify-self: end;
  flex: none;
  width: 20px;
  height: 20px;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

body[data-ava-module="digitacion"] .field-retain::before {
  content: "";
  width: 13px;
  height: 13px;
  border: 1.5px solid #718397;
  border-radius: 3px;
  background: #fff;
  box-sizing: border-box;
}

body[data-ava-module="digitacion"] .field-retain:has(input:checked)::before {
  border-color: #176a98;
  background: #176a98;
  box-shadow: inset 0 0 0 3px #fff;
}

body[data-ava-module="digitacion"] .field-retain:has(input:focus-visible)::before {
  outline: 2px solid #65aeda;
  outline-offset: 2px;
}

body[data-ava-module="digitacion"] .field-retain input {
  position: absolute;
  inset: 0;
  width: 20px;
  height: 20px;
  min-width: 0!important;
  min-height: 0!important;
  max-width: 20px;
  max-height: 20px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

@media (max-width: 1280px) {
  body[data-ava-module="digitacion"] .work-compact-strip { grid-template-columns: repeat(4,minmax(0,1fr)); }
  body[data-ava-module="digitacion"] .work-compact-item:nth-child(4),
  body[data-ava-module="digitacion"] .work-compact-item:nth-child(7) { border-right: 0; }
  body[data-ava-module="digitacion"] .work-compact-item:nth-child(n+5) { border-top: 1px solid #e2eaed; }
  body[data-ava-module="digitacion"] .work-compact-edit { justify-self: stretch; margin: 5px 0 5px 9px; }
}

@media (max-width: 760px) {
  body[data-ava-module="digitacion"] .work-compact-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body[data-ava-module="digitacion"] .work-compact-item { min-height: 40px; border-top: 1px solid #e2eaed; }
  body[data-ava-module="digitacion"] .work-compact-item:nth-child(-n+2) { border-top: 0; }
  body[data-ava-module="digitacion"] .work-compact-item:nth-child(even) { border-right: 0; }
  body[data-ava-module="digitacion"] .work-compact-item:nth-child(7) { border-right: 1px solid #e2eaed; }
  body[data-ava-module="digitacion"] .work-compact-edit { margin: 5px 0 5px 8px; }
  body[data-ava-module="digitacion"] .digitization-kpi-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 420px) {
  body[data-ava-module="digitacion"] .work-compact-strip { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 6px; }
  body[data-ava-module="digitacion"] .work-compact-item { grid-template-columns: 26px minmax(0,1fr); gap: 5px; padding-inline: 6px; }
  body[data-ava-module="digitacion"] .work-compact-icon { width: 25px; height: 25px; }
  body[data-ava-module="digitacion"] .work-compact-copy strong { font-size: 10px; }
  body[data-ava-module="digitacion"] .work-compact-edit { margin: 5px 0 5px 6px; }
}

body[data-ava-module="facturacion"] .receipt-detail-summary > div {
  min-height: auto;
  padding: var(--ava-card-padding-y) var(--ava-card-padding-x);
}

/* Devoluciones postentrega: composición compartida entre almacén y portal. */
.post-return-form .inline-alert {
  margin: 0;
}

.post-return-cart { display: grid; gap: var(--ava-form-row-gap); }
.pc-invoice-picker #pc-invoice-view { display: grid; gap: var(--ava-space-3); min-width: 0; }
.pc-invoice-picker #pc-invoice-view.is-hidden { display: none; }
.pc-invoice-picker .post-return-cart-heading { flex-wrap: wrap; }
.pc-invoice-picker #pc-invoices { max-height: 42vh; overflow: auto; }
.pc-package-table { width: 100%; min-width: 650px; table-layout: fixed; font-size: var(--ava-font-xs); }
.pc-package-table th,.pc-package-table td { padding: 7px 8px; overflow-wrap: anywhere; }
.pc-package-table th:nth-child(1) { width: 28%; }
.pc-package-table th:nth-child(3) { width: 18%; }
.pc-package-table th:nth-child(4) { width: 108px; }
.pc-package-table td small { display: block; margin-top: 2px; color: var(--ava-text-secondary); }
.pc-package-table td:last-child { text-align: center; white-space: nowrap; }
.pc-case .claim-detail-layout tbody tr:last-child > th { border-bottom: 0; }
.pc-case .card p { line-height: 1.5; }
.pc-case .dialog-actions { flex-wrap: wrap; }
#pc-edit { min-width: 0; }
#pc-edit .field, #pc-list-filter .field { min-width: 0; }
#pc-edit input[type="file"] { max-width: 100%; }
#pc-edit .dialog-actions { flex-wrap: wrap; }
@media (max-width: 600px) {
  #pc-list-filter { display: grid; grid-template-columns: minmax(0,1fr); }
  #pc-edit { grid-template-columns: minmax(0,1fr); }
  .pc-case .claim-detail-layout > .card { padding: var(--ava-space-3); }
}
.post-return-cart-filters { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(220px, .75fr) auto; align-items: end; gap: var(--ava-space-3); }
.post-return-cart-workspace { min-height: 286px; overflow: hidden; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); background: var(--ava-surface); }
.post-return-cart-results { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-width: 0; min-height: 286px; }
.post-return-cart-heading,.post-return-cart-pagination { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border-bottom: 1px solid var(--ava-border); }
.post-return-cart-heading span,.post-return-cart-pagination span { color: var(--ava-text-secondary); font-size: 12px; }
.post-return-cart-heading b { color: var(--ava-interactive); font-weight: var(--ava-font-semibold); }
.post-return-cart-pagination { justify-content: center; border-top: 1px solid var(--ava-border); border-bottom: 0; }
.post-return-invoice-table { min-width: 720px; table-layout: fixed; font-size: 12px; }
.post-return-invoice-table th,.post-return-invoice-table td { padding: 7px 8px; }
.post-return-invoice-table th:nth-child(1) { width: 24%; }
.post-return-invoice-table th:nth-child(2) { width: 18%; }
.post-return-invoice-table th:nth-child(3) { width: 15%; }
.post-return-invoice-table th:nth-child(4) { width: 16%; }
.post-return-invoice-table th:nth-child(5) { width: 15%; }
.post-return-invoice-table th:nth-child(6) { width: 12%; }
.post-return-invoice-table td small { display: block; margin-top: 2px; color: var(--ava-text-secondary); }
.post-return-invoice-table td:last-child { text-align: center; white-space: nowrap; }
.post-return-package-view { display: grid; gap: var(--ava-space-3); }
.post-return-package-view.is-hidden { display: none; }
.post-return-package-header { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: var(--ava-space-3); padding: 9px 10px; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); background: var(--ava-background); }
.post-return-package-header h3,.post-return-package-header p { margin: 0; }
.post-return-package-header p { margin-top: 2px; color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.post-return-package-header > strong { color: var(--ava-interactive); font-size: var(--ava-font-xs); white-space: nowrap; }
.post-return-package-search { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: var(--ava-space-3); }
.post-return-package-table { min-height: 260px; max-height: 50vh; overflow: auto; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); }
.post-return-cart-table { min-width: 650px; table-layout: fixed; font-size: 12px; }
.post-return-cart-table th,.post-return-cart-table td { padding: 7px 8px; }
.post-return-cart-table th:nth-child(1) { width: 38px; }
.post-return-cart-table th:nth-child(2) { width: 34%; }
.post-return-cart-table th:nth-child(3) { width: auto; }
.post-return-cart-table th:nth-child(4) { width: 15%; }
.post-return-cart-table td small { display: block; margin-top: 2px; color: var(--ava-text-secondary); }
.post-return-cart-table tr.is-unavailable { color: var(--ava-text-secondary); background: var(--ava-background); }
.post-return-cart-table tr.is-selected { background: var(--ava-primary-soft); }
.post-return-cart-table td:first-child { text-align: center; }
.post-return-cart-table td:nth-child(4) { white-space: nowrap; }

.post-return-case-compact { display: grid; gap: var(--ava-space-3); }
.post-return-case-dialog .dialog-header h2,.post-return-case-dialog .dialog-header p { white-space: normal; overflow-wrap: anywhere; }
.post-return-case-dialog .post-return-case-summary strong { white-space: normal; overflow-wrap: anywhere; }
.post-return-case-steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); overflow: hidden; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); }
.post-return-case-steps--operational { grid-template-columns: repeat(4,minmax(0,1fr)); }
.post-return-case-step { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 38px; padding: 6px 8px; border-right: 1px solid var(--ava-border); color: var(--ava-text-secondary); font-size: var(--ava-font-xs); font-weight: var(--ava-font-semibold); text-align: center; }
.post-return-case-step:last-child { border-right: 0; }
.post-return-case-step b { display: inline-grid; width: 16px; height: 16px; place-items: center; border-radius: var(--ava-radius-pill); font-size: 10px; }
.post-return-case-step.is-done { color: var(--ava-success-dark); background: var(--ava-success-soft); }
.post-return-case-step.is-done b { color: var(--ava-text-on-emphasis); background: var(--ava-success); }
.post-return-case-step.is-done b::after { content: ""; width: 4px; height: 8px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg) translate(-1px,-1px); }
.post-return-case-step.is-current { color: var(--ava-interactive); background: var(--ava-primary-soft); }
.post-return-case-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--ava-space-2); }
.post-return-case-summary > div { min-width: 0; padding: 9px 10px; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-input); background: var(--ava-surface); }
.post-return-case-summary span,.post-return-case-summary strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.post-return-case-summary span { color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.post-return-case-summary strong { margin-top: 2px; }
.post-return-case-action { display: grid; gap: var(--ava-space-3); padding: var(--ava-space-3); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); background: var(--ava-background); }
.post-return-case-action h3,.post-return-case-action p { margin: 0; }
.post-return-case-action p { margin-top: 2px; color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.post-return-case-state { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ava-space-3); padding: 9px 10px; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-input); background: var(--ava-background); }
.post-return-case-state .button { margin-left: auto; }
.post-return-case-handoff { flex: 1 1 300px; min-width: 0; display: grid; gap: var(--ava-space-2); overflow-wrap: anywhere; }
.post-return-case-handoff > span { color: var(--ava-interactive); font-weight: var(--ava-font-semibold); }
.post-return-case-handoff p { margin: 0; color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.reentry-weights { display: grid; gap: var(--ava-space-3); min-width: 0; }
.reentry-weights[hidden],.reentry-weight-confirmation[hidden] { display: none; }
.reentry-weights .field { min-width: 0; }
.reentry-weights small { overflow-wrap: anywhere; }
.reentry-weight-confirmation { display: flex; align-items: center; gap: var(--ava-space-2); font-size: var(--ava-font-xs); }
.reentry-weight-confirmation input { flex: 0 0 auto; }
.post-return-case-details { border: 1px solid var(--ava-border); border-radius: var(--ava-radius-input); background: var(--ava-surface); }
.post-return-case-details > summary { padding: 9px 10px; cursor: pointer; color: var(--ava-interactive); font-weight: var(--ava-font-semibold); }
.post-return-case-details[open] > summary { border-bottom: 1px solid var(--ava-border); }
.post-return-case-details > :not(summary) { margin: var(--ava-space-3); }
.post-return-owner-picker { position: static; }
.post-return-owner-picker > small { color: var(--ava-text-secondary); }
.post-return-owner-picker input.has-valid-selection { border-color: var(--ava-interactive); background: var(--ava-primary-soft); }
.post-return-owner-results { display: grid; max-height: 190px; overflow-y: auto; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-input); background: var(--ava-surface); }
.post-return-owner-results.is-hidden { display: none; }
.post-return-owner-option { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: var(--ava-space-3); min-height: 38px; padding: 7px 9px; border: 0; border-bottom: 1px solid var(--ava-border); color: var(--ava-text); background: transparent; text-align: left; cursor: pointer; }
.post-return-owner-option:last-child { border-bottom: 0; }
.post-return-owner-option:hover,.post-return-owner-option:focus { background: var(--ava-primary-soft); }
.post-return-owner-option span,.post-return-owner-option strong,.post-return-owner-option small { display: block; min-width: 0; }
.post-return-owner-option strong,.post-return-owner-option small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.post-return-owner-option small { margin-top: 2px; color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.post-return-owner-option b { color: var(--ava-interactive); font-size: var(--ava-font-xs); font-weight: var(--ava-font-semibold); }
.post-return-owner-empty { padding: 10px; color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }

.post-return-summary {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.post-return-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ava-form-row-gap);
}

.post-return-columns > .card,
.post-return-detail > .card {
  margin: 0;
}

.detail-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.detail-list > div {
  display: grid;
  grid-template-columns: minmax(110px, .42fr) minmax(0, 1fr);
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--ava-border);
}

.detail-list > div:last-child {
  border-bottom: 0;
}

.detail-list dt,
.detail-list dd {
  margin: 0;
}

.detail-list dt {
  color: var(--ava-text-secondary);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.detail-list dd {
  overflow-wrap: anywhere;
  font-weight: 650;
}

.post-return-evidence {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.post-return-timeline,
.audit-timeline {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.post-return-timeline > article,
.audit-timeline > li {
  position: relative;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  padding: 8px 0;
}

.post-return-timeline > article:not(:last-child)::after,
.audit-timeline > li:not(:last-child)::after {
  position: absolute;
  top: 24px;
  bottom: -8px;
  left: 7px;
  width: 2px;
  background: var(--ava-border);
  content: "";
}

.post-return-dot,
.audit-timeline-dot {
  z-index: 1;
  width: 14px;
  height: 14px;
  margin-top: 3px;
  border: 3px solid var(--ava-surface);
  border-radius: 50%;
  background: var(--ava-success);
  box-shadow: 0 0 0 1px var(--ava-border);
}

.post-return-timeline p,
.post-return-timeline small,
.audit-timeline p,
.audit-timeline small,
.audit-timeline span {
  display: block;
  margin: 3px 0 0;
  color: var(--ava-text-secondary);
}

.post-return-filters {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(190px, .35fr) auto;
  align-items: end;
}

/* Auditoría semántica: datos legibles, antes/después y trazabilidad. */
.audit-reason {
  padding: 10px 12px;
  border-left: 4px solid var(--ava-primary);
  border-radius: var(--ava-radius-card);
  background: var(--surface-2);
}

.audit-reason p {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
}

.audit-error-code {
  display: inline-block;
  max-width: 100%;
  padding: 4px 8px;
  overflow-wrap: anywhere;
  border-radius: var(--ava-radius-input);
  background: var(--surface-2);
  color: var(--ava-text-secondary);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
}

/* Beneficios y promociones: selección de factura, administración y trazabilidad. */
.promotion-workspace,
.promotion-settings-workspace {
  min-width: 0;
}

.promotion-workspace .kpi strong,
.promotion-detail .kpi strong {
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
}

.promotion-invoice-card {
  padding: 14px;
  border: 1px solid color-mix(in srgb, var(--ava-primary) 25%, var(--ava-border));
  border-radius: var(--ava-radius-card);
  background: color-mix(in srgb, var(--ava-primary) 4%, var(--ava-surface));
}

.promotion-option-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.promotion-option {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 52px;
  padding: 10px 12px;
  border: 1px solid var(--ava-border);
  border-radius: var(--ava-radius-input);
  background: var(--ava-surface);
  cursor: pointer;
}

.promotion-option.is-selected {
  border-color: var(--ava-primary);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--ava-primary) 12%, transparent);
}

.promotion-option span,
.promotion-option strong,
.promotion-option small {
  display: block;
  min-width: 0;
}

.promotion-option small {
  margin-top: 3px;
  color: var(--ava-text-secondary);
}

.promotion-option > b,
.promotion-calculation-benefit strong {
  color: var(--ava-success);
  white-space: nowrap;
}

.promotion-form > h3 {
  margin: 8px 0 0;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--ava-border);
  color: var(--ava-primary);
  font-size: 15px;
}

.promotion-target-picker {
  padding: 12px;
  border: 1px solid var(--ava-border);
  border-radius: var(--ava-radius-card);
  background: var(--surface-2);
}

.promotion-target-options,
.promotion-selected-targets {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.promotion-target-options .checkbox-field {
  min-width: min(280px, 100%);
  padding: 8px 10px;
  border: 1px solid var(--ava-border);
  border-radius: var(--ava-radius-input);
  background: var(--surface-1);
}

.promotion-target-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 9px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ava-primary) 12%, var(--surface-1));
  color: var(--ava-text);
  font-size: 13px;
}

.promotion-target-chip button {
  border: 0;
  background: transparent;
  color: var(--ava-danger);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.promotion-segment-fields,
.promotion-rule-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.promotion-form [hidden] {
  display: none !important;
}

.promotion-segment-fields > .field--3 {
  grid-column: auto;
}

.promotion-segment-fields > .field--full {
  grid-column: 1 / -1;
}

.promotion-rule-grid > span {
  padding: 10px;
  border-radius: var(--ava-radius-input);
  background: var(--surface-2);
  color: var(--ava-text-secondary);
}

.promotion-rule-grid strong {
  display: block;
  margin-top: 4px;
  color: var(--ava-text);
}

.promotion-inline-actions,
.client-benefits-heading {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
}

.client-benefits-heading p {
  margin: 4px 0 0;
  color: var(--ava-text-secondary);
}

.client-benefits-separation {
  margin-top: 10px;
  padding: 10px 12px;
  border-left: 4px solid var(--ava-primary);
  border-radius: var(--ava-radius-input);
  background: var(--surface-2);
  color: var(--ava-text-secondary);
}

@media (max-width: 900px) {
  .promotion-rule-grid,
  .promotion-segment-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .post-return-summary,
  .post-return-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .post-return-filters {
    grid-template-columns: minmax(0, 1fr) minmax(180px, .45fr);
  }

  .post-return-filters > .button {
    grid-column: 1 / -1;
    justify-self: end;
  }

  .post-return-cart-filters {
    grid-template-columns: minmax(0, 1fr);
  }

  .post-return-package-header {
    grid-template-columns: auto minmax(0,1fr);
  }

  .post-return-package-header > strong {
    grid-column: 2;
  }

  .post-return-case-steps,
  .post-return-case-summary {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .post-return-case-step {
    border-bottom: 1px solid var(--ava-border);
  }
}

@media (max-width: 560px) {
  .promotion-option,
  .promotion-rule-grid,
  .promotion-segment-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .promotion-option > input {
    justify-self: start;
  }

  .promotion-option > b {
    white-space: normal;
  }

  .promotion-inline-actions,
  .client-benefits-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .post-return-summary,
  .post-return-columns,
  .post-return-filters,
  .post-return-cart-filters,
  .post-return-package-search,
  .detail-list > div {
    grid-template-columns: minmax(0, 1fr);
  }

  .post-return-package-header {
    grid-template-columns: minmax(0,1fr);
  }

  .post-return-package-header > strong {
    grid-column: 1;
  }

  .post-return-filters > .button {
    grid-column: 1;
    width: 100%;
  }
}

@media (max-width: 560px) {
  body[data-ava-module="digitacion"] .package-form--compact {
    grid-template-columns: 1fr;
  }

  body[data-ava-module="digitacion"] .package-form--compact > .package-field,
  body[data-ava-module="digitacion"] .quick-incident-panel,
  body[data-ava-module="digitacion"] .package-form-actions {
    grid-column: 1;
  }
}

/* Centro de auditoría: consulta semántica y detalle; también en contextos de agencia. */
.audit-workspace,
.audit-detail {
  min-width: 0;
  color: var(--ava-text-primary);
}

.audit-workspace > .tab-bar { margin-bottom: var(--ava-space-4); }
.audit-heading { gap: var(--ava-space-3); flex-wrap: wrap; }
.audit-zone {
  display: inline-flex;
  align-items: center;
  gap: var(--ava-space-2);
  padding: var(--ava-space-2) var(--ava-space-3);
  border: 1px solid var(--ava-border);
  border-radius: var(--ava-radius-pill);
  color: var(--ava-text-secondary);
  background: var(--ava-surface);
  font-size: var(--ava-font-xs);
  line-height: 18px;
}
.audit-zone svg { flex: 0 0 18px; width: 18px; height: 18px; color: var(--ava-interactive); }
.audit-workspace #audit-form.audit-filters {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--ava-space-3);
  align-items: end;
  margin-bottom: var(--ava-space-3);
}
.audit-filters .field,
.audit-filters input,
.audit-filters select { min-width: 0; width: 100%; }
.audit-filters .audit-filter-query { grid-column: span 4; }
.audit-filters .audit-filter-module,
.audit-filters .audit-filter-action { grid-column: span 3; }
.audit-filters .audit-filter-result { grid-column: span 2; }
.audit-period-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(145px, .8fr) minmax(145px, .8fr) minmax(0, 1.4fr) auto;
  gap: var(--ava-space-3);
  align-items: end;
}
.audit-period-shortcuts,
.audit-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ava-space-2);
  align-items: center;
}
.audit-filter-actions { justify-content: flex-end; }
.audit-period-shortcuts .button { min-height: var(--ava-control-height); }
.audit-period-shortcuts [aria-pressed="true"] {
  color: var(--ava-interactive);
  background: var(--ava-primary-soft);
  border-color: var(--ava-interactive);
}
.audit-help {
  margin: 0;
  color: var(--ava-text-secondary);
  font-size: var(--ava-font-xs);
  line-height: 18px;
  overflow-wrap: anywhere;
}
.audit-filters > .audit-help { grid-column: 1 / -1; }
.audit-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ava-space-3);
  margin-bottom: var(--ava-space-3);
}
.audit-summary-card {
  display: flex;
  align-items: center;
  gap: var(--ava-space-3);
  min-width: 0;
  padding: var(--ava-space-3) var(--ava-space-4);
  border: 1px solid var(--ava-border);
  border-radius: var(--ava-radius-card);
  background: var(--ava-surface);
  color: var(--ava-text-primary);
}
.audit-summary-card > div { min-width: 0; }
.audit-summary-card > div > span {
  display: block;
  color: var(--ava-text-secondary);
  font-size: var(--ava-font-xs);
  line-height: 18px;
}
.audit-summary-card strong {
  display: block;
  color: var(--ava-text-primary);
  font-size: var(--ava-font-2xl);
  line-height: 30px;
  font-variant-numeric: tabular-nums;
}
.audit-summary-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: var(--ava-radius-input);
  color: var(--ava-interactive);
  background: var(--ava-primary-soft);
}
.audit-summary-icon svg { width: 22px; height: 22px; }
.audit-summary-card--success .audit-summary-icon { color: var(--ava-success-dark); background: var(--ava-success-soft); }
.audit-summary-card--warning .audit-summary-icon { color: var(--ava-warning-dark); background: var(--ava-warning-soft); }
.audit-summary-card--danger .audit-summary-icon { color: var(--ava-danger-dark); background: var(--ava-danger-soft); }
.audit-workspace #audit-summary-extra { margin-bottom: var(--ava-space-3); }
.audit-results { min-width: 0; }
.audit-results-heading { flex-wrap: wrap; align-items: center; gap: var(--ava-space-3); }
.audit-results-heading h2 { margin-bottom: var(--ava-space-1); }
.audit-workspace #audit-filter-status {
  margin: 0 0 var(--ava-space-3);
  padding: var(--ava-space-2) var(--ava-space-3);
  border-left: 3px solid var(--ava-warning);
  color: var(--ava-warning-dark);
  background: var(--ava-warning-soft);
}
.audit-table-wrap {
  max-height: min(64vh, 720px);
  scroll-behavior: auto;
  scrollbar-gutter: stable;
}
.audit-table-wrap[aria-busy="true"] { opacity: .65; }
.audit-events-table {
  min-width: 940px;
  table-layout: fixed;
  text-align: left;
}
.audit-events-table thead th { position: sticky; top: 0; z-index: 1; text-align: left; }
.audit-events-table th:nth-child(1) { width: 16%; }
.audit-events-table th:nth-child(2) { width: 17%; }
.audit-events-table th:nth-child(3) { width: 29%; }
.audit-events-table th:nth-child(4) { width: 17%; }
.audit-events-table th:nth-child(5) { width: 11%; }
.audit-events-table th:nth-child(6) { width: 10%; }
.audit-events-table td { padding-top: var(--ava-space-3); padding-bottom: var(--ava-space-3); vertical-align: top; text-align: left; overflow-wrap: anywhere; white-space: normal; }
.audit-events-table tbody tr:hover { background: var(--ava-primary-soft); }
.audit-cell-title { display: block; font-weight: var(--ava-font-semibold); color: var(--ava-text-primary); }
.audit-events-table small {
  display: block;
  margin-top: var(--ava-space-1);
  color: var(--ava-text-secondary);
  font-size: var(--ava-font-xs);
  line-height: 17px;
}
.audit-event-summary { margin: var(--ava-space-1) 0 0; color: var(--ava-text-secondary); font-size: var(--ava-font-xs); line-height: 18px; }
.audit-reference { font-weight: var(--ava-font-medium); }
.audit-date-cell { font-variant-numeric: tabular-nums; }
.audit-workspace .audit-result,
.audit-detail .audit-result {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  white-space: normal;
  text-align: center;
  line-height: 17px;
}
.audit-result--success { color: var(--ava-success-dark) !important; background: var(--ava-success-soft); }
.audit-result--warning { color: var(--ava-warning-dark) !important; background: var(--ava-warning-soft); }
.audit-result--danger { color: var(--ava-danger-dark) !important; background: var(--ava-danger-soft); }
.audit-result--info { color: var(--ava-info-dark) !important; background: var(--ava-info-soft); }
.audit-result--neutral { color: var(--ava-text-secondary) !important; background: var(--ava-background); border: 1px solid var(--ava-border); }
.audit-detail-button { width: 100%; white-space: normal; }
.audit-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--ava-space-3);
  margin-top: var(--ava-space-3);
}
.audit-page-size,
.audit-page-buttons { display: flex; align-items: center; gap: var(--ava-space-2); }
.audit-page-size { margin-left: auto; color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.audit-page-size select { width: 74px; min-height: var(--ava-control-height-compact); }
.audit-page-buttons > span { color: var(--ava-text-secondary); font-size: var(--ava-font-xs); font-variant-numeric: tabular-nums; }
.audit-export-help { margin-top: var(--ava-space-3); padding-top: var(--ava-space-2); border-top: 1px solid var(--ava-border); }
.audit-empty { padding: var(--ava-space-8) var(--ava-space-4); text-align: center; }
.audit-empty strong { display: block; color: var(--ava-text-primary); }
.audit-empty p { margin: var(--ava-space-2) 0 var(--ava-space-3); color: var(--ava-text-secondary); }
.audit-detail { display: grid; gap: var(--ava-space-4); }
.audit-event-explanation {
  padding: var(--ava-space-4);
  border: 1px solid var(--ava-border);
  border-left: 4px solid var(--ava-primary);
  border-radius: var(--ava-radius-card);
  background: var(--ava-primary-soft);
  color: var(--ava-text-primary);
}
.audit-event-explanation--warning { border-left-color: var(--ava-warning); }
.audit-event-explanation--danger { border-left-color: var(--ava-danger); }
.audit-explanation-title { display: flex; align-items: center; justify-content: space-between; gap: var(--ava-space-3); flex-wrap: wrap; }
.audit-event-explanation p { margin: var(--ava-space-2) 0 0; overflow-wrap: anywhere; line-height: 22px; }
.audit-metadata { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ava-space-3); margin: 0; }
.audit-metadata > div {
  min-width: 0;
  padding: var(--ava-space-3);
  border: 1px solid var(--ava-border);
  border-radius: var(--ava-radius-input);
  background: var(--ava-surface);
}
.audit-metadata dt { margin-bottom: var(--ava-space-1); color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.audit-metadata dd { margin: 0; font-weight: var(--ava-font-semibold); color: var(--ava-text-primary); overflow-wrap: anywhere; }
.audit-metadata small { display: block; margin-top: var(--ava-space-1); color: var(--ava-text-secondary); font-size: var(--ava-font-xs); font-weight: var(--ava-font-regular); }
.audit-clarity-note { padding: var(--ava-space-3) var(--ava-space-4); border-left: 4px solid var(--ava-warning); border-radius: var(--ava-radius-input); color: var(--ava-warning-dark); background: var(--ava-warning-soft); }
.audit-clarity-note p { margin: var(--ava-space-1) 0 0; overflow-wrap: anywhere; }
.audit-detail .audit-reason { background: var(--ava-primary-soft); }
.audit-detail-card { margin: 0; }
.audit-detail-card h3 { margin-bottom: var(--ava-space-2); }
.audit-detail-card > .audit-help + .table-wrap,
.audit-detail-card > .audit-help + .audit-timeline { margin-top: var(--ava-space-3); }
.audit-data-table,
.audit-changes-table { table-layout: fixed; text-align: left; }
.audit-data-table th:first-child { width: 32%; }
.audit-data-table tbody th,
.audit-changes-table tbody th {
  padding: var(--ava-space-2) var(--ava-space-3);
  border-bottom: 1px solid var(--ava-border);
  color: var(--ava-text-primary);
  font-weight: var(--ava-font-medium);
  text-align: left;
  vertical-align: top;
  white-space: normal;
  overflow-wrap: anywhere;
}
.audit-data-table td,
.audit-changes-table td { white-space: pre-wrap; overflow-wrap: anywhere; vertical-align: top; text-align: left; }
.audit-changes-table .audit-value-before { background: var(--ava-background); color: var(--ava-text-secondary); }
.audit-changes-table .audit-value-after { background: var(--ava-primary-soft); color: var(--ava-text-primary); }
.audit-detail .audit-timeline-dot { background: var(--ava-interactive); }
.audit-detail .audit-timeline-dot--success { background: var(--ava-success); }
.audit-detail .audit-timeline-dot--warning { background: var(--ava-warning); }
.audit-detail .audit-timeline-dot--danger { background: var(--ava-danger); }
.audit-detail .audit-timeline-dot--neutral { background: var(--ava-text-secondary); }
.audit-timeline-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ava-space-2); }
.audit-timeline-heading > strong { color: var(--ava-text-primary); }
.audit-detail .audit-timeline > li { padding: var(--ava-space-3) 0; }
.audit-detail .audit-timeline-current > div { padding: var(--ava-space-2) var(--ava-space-3); border-radius: var(--ava-radius-input); background: var(--ava-primary-soft); }
.audit-detail .audit-current-label { display: inline-block; margin-top: var(--ava-space-2); color: var(--ava-interactive); font-size: var(--ava-font-xs); font-weight: var(--ava-font-semibold); }
.audit-related-button { margin-top: var(--ava-space-2); }
.audit-detail .audit-error-code { display: flex; flex-wrap: wrap; gap: var(--ava-space-2); padding: var(--ava-space-3); background: var(--ava-background); color: var(--ava-text-primary); }
.audit-technical {
  min-width: 0;
  padding: var(--ava-space-3) var(--ava-space-4);
  border: 1px solid var(--ava-border);
  border-radius: var(--ava-radius-card);
  background: var(--ava-background);
  color: var(--ava-text-primary);
}
.audit-technical summary { cursor: pointer; font-weight: var(--ava-font-semibold); color: var(--ava-text-primary); overflow-wrap: anywhere; }
.audit-technical[open] > summary { margin-bottom: var(--ava-space-3); }
.audit-technical-fields { display: grid; gap: var(--ava-space-2); margin: var(--ava-space-3) 0; }
.audit-technical-fields > div { display: grid; grid-template-columns: minmax(130px, .6fr) minmax(0, 1fr); gap: var(--ava-space-3); }
.audit-technical-fields dt { color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.audit-technical-fields dd { margin: 0; color: var(--ava-text-primary); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: var(--ava-font-xs); overflow-wrap: anywhere; }
.audit-raw-details { padding-top: var(--ava-space-3); border-top: 1px solid var(--ava-border); }
.audit-raw-details pre { max-height: 320px; overflow: auto; margin-top: var(--ava-space-3); padding: var(--ava-space-3); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-input); background: var(--ava-surface); color: var(--ava-text-primary); white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--ava-font-xs); }

@media (max-width: 1100px) {
  .audit-period-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audit-period-shortcuts { align-self: center; }
  .audit-filter-actions { align-self: center; }
}
@media (max-width: 800px) {
  .audit-workspace #audit-form.audit-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audit-filters .audit-filter-query,
  .audit-filters .audit-filter-module,
  .audit-filters .audit-filter-action,
  .audit-filters .audit-filter-result { grid-column: auto; }
  .audit-summary-grid,
  .audit-metadata { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audit-page-size { margin-left: 0; }
  .audit-table-wrap { max-height: 60vh; }
}
@media (max-width: 560px) {
  .audit-workspace #audit-form.audit-filters { grid-template-columns: minmax(0, 1fr); }
  .audit-period-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .audit-period-shortcuts,
  .audit-filter-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .audit-period-shortcuts .button { flex: 1; min-width: 75px; white-space: normal; }
  .audit-filter-actions .button { flex: 1; }
  .audit-summary-card { padding: var(--ava-space-3); gap: var(--ava-space-2); }
  .audit-summary-icon { flex-basis: 28px; width: 28px; height: 28px; }
  .audit-summary-icon svg { width: 18px; height: 18px; }
  .audit-summary-card strong { font-size: var(--ava-font-xl); }
  .audit-pagination { align-items: flex-start; }
  .audit-page-buttons { width: 100%; justify-content: space-between; }
  .audit-metadata { grid-template-columns: minmax(0, 1fr); }
  .audit-technical-fields > div { grid-template-columns: minmax(0, 1fr); gap: var(--ava-space-1); }
  .audit-data-table th:first-child { width: 38%; }
}

/* Cuentas por cobrar: filtros legibles sin superposición. */
.billing-receivable-filter-layout {
  grid-template-columns: minmax(280px, 1.25fr) minmax(300px, 1.3fr) minmax(155px, .62fr) minmax(155px, .62fr) minmax(165px, auto);
  gap: var(--ava-space-3) var(--ava-space-4);
  padding: var(--ava-space-4) var(--ava-space-5);
  overflow: visible;
}
.billing-receivable-filter-layout > .field,
.billing-receivable-filter-layout > .filter-actions { min-width: 0; }
.billing-receivable-filter-layout .billing-filter-client.client-search-field { z-index: 35; }
.billing-receivable-filter-layout .client-search-results {
  right: auto;
  left: 0;
  width: 100%;
  min-width: 300px;
  max-width: min(470px, calc(100vw - 64px));
  max-height: 360px;
  overflow-x: hidden;
  overflow-y: auto;
}
.billing-receivable-filter-layout .client-search-option { padding: var(--ava-space-3); overflow-wrap: anywhere; }
.billing-receivable-filter-layout .client-search-option strong { font-size: var(--ava-font-sm); line-height: 1.3; }
.billing-receivable-filter-layout .client-search-option span { font-size: var(--ava-font-xs); line-height: 1.3; }
.billing-receivable-filter-layout .filter-actions,
.billing-receivable-filter-layout .filter-actions .button { min-height: var(--ava-control-height); }
/* Estadísticas de consolidación: tabla por digitador y tendencia semanal/mensual. */
.consolidation-statistics-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ava-space-3); }
.consolidation-statistics-kpis .kpi { display: grid; align-content: center; gap: var(--ava-space-1); min-height: 92px; }
.consolidation-statistics-kpis .kpi small,
.consolidation-statistics-card .card-header p,
.consolidation-trend-heading p { color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.consolidation-statistics-card { overflow: hidden; }
.consolidation-statistics-card .card-header p,
.consolidation-trend-heading p { margin: 3px 0 0; }
.consolidation-statistics-calendar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  align-items: end;
  gap: var(--ava-space-5);
  padding: var(--ava-space-4);
  border: 1px solid var(--ava-border);
  border-radius: var(--ava-radius-card);
  background: var(--ava-primary-soft);
}
.consolidation-statistics-calendar > div { display: grid; gap: var(--ava-space-1); }
.consolidation-statistics-calendar > div > span { color: var(--ava-primary); font-size: 10px; font-weight: 900; letter-spacing: .045em; }
.consolidation-statistics-calendar > div > strong { color: var(--ava-text-primary); font-size: var(--ava-font-md); }
.consolidation-statistics-calendar > div > small { color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.consolidation-statistics-calendar input { height: var(--ava-control-height); background: var(--ava-surface); }
.consolidation-statistics-table { overflow: hidden; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); }
.consolidation-statistics-table table { width: 100%; min-width: 900px; table-layout: fixed; }
.consolidation-statistics-table .stats-range-col,
.consolidation-statistics-table .stats-digitizer-col { width: 20%; }
.consolidation-statistics-table .stats-number-col { width: 10%; }
.consolidation-statistics-table th,
.consolidation-statistics-table td { padding: 9px 8px; text-align: right; vertical-align: middle; }
.consolidation-statistics-table th:first-child,
.consolidation-statistics-table td:first-child,
.consolidation-statistics-table th:nth-child(2),
.consolidation-statistics-table td:nth-child(2) { text-align: left; }
.consolidation-statistics-table tbody td:first-child { white-space: nowrap; }
.consolidation-statistics-table thead tr:first-child th { color: var(--ava-text-primary); background: var(--ava-primary-soft); font-size: var(--ava-font-xs); }
.consolidation-statistics-table thead tr:nth-child(2) th { color: var(--ava-text-secondary); background: var(--ava-surface-muted); font-size: 11px; }
.consolidation-statistics-table tbody tr:nth-child(even) { background: var(--ava-surface-muted); }
.consolidation-statistics-table tfoot th { border-top: 2px solid var(--ava-primary); color: var(--ava-text-primary); background: var(--ava-primary-soft); font-size: var(--ava-font-xs); }
.consolidation-trend-heading { align-items: flex-start; gap: var(--ava-space-4); }
.consolidation-trend-controls { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--ava-space-2); }
.segmented-control { display: inline-flex; padding: 3px; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-button); background: var(--ava-surface-muted); }
.segmented-control button { min-height: 30px; padding: 5px 11px; border: 0; border-radius: 6px; color: var(--ava-text-secondary); background: transparent; font: inherit; font-size: var(--ava-font-xs); font-weight: 700; cursor: pointer; }
.segmented-control button.is-active { color: var(--ava-text-on-emphasis); background: var(--ava-primary); box-shadow: 0 2px 5px rgba(11, 47, 79, .18); }
.consolidation-trend-chart { min-height: 300px; margin-top: var(--ava-space-3); padding: var(--ava-space-3); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); background: var(--ava-surface); }
.consolidation-trend-chart svg { display: block; width: 100%; height: auto; max-height: 310px; overflow: visible; }
.consolidation-trend-chart svg text { fill: var(--ava-text-secondary); font-family: var(--ava-font-family); font-size: 11px; }
.trend-grid-line { stroke: var(--ava-border); stroke-width: 1; }
.trend-line { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.trend-line--current { stroke: var(--ava-primary); }
.trend-line--previous { stroke: var(--ava-text-disabled); stroke-dasharray: 8 6; }
.trend-dot { stroke: var(--ava-surface); stroke-width: 2; }
.trend-dot--current { fill: var(--ava-primary); }
.trend-dot--previous { fill: var(--ava-text-disabled); }
.trend-legend { display: flex; align-items: center; gap: var(--ava-space-4); padding: 2px 6px var(--ava-space-2); color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.trend-legend span { display: inline-flex; align-items: center; gap: 6px; }
.trend-legend strong { margin-left: auto; color: var(--ava-text-primary); }
.trend-key { display: inline-block; width: 20px; height: 3px; border-radius: 99px; }
.trend-key--current { background: var(--ava-primary); }
.trend-key--previous { background: var(--ava-text-disabled); }

/* Facturas emitidas: filtros legibles, espaciosos y sin superposición. */
.billing-invoice-filter-layout {
  grid-template-columns: minmax(250px, 1.25fr) minmax(150px, .62fr) minmax(320px, 1.35fr) minmax(175px, .72fr) minmax(175px, .72fr) minmax(155px, auto);
  gap: 14px 16px;
  padding: 16px 20px;
  overflow: visible;
}
.billing-invoice-filter-layout > .field,
.billing-invoice-filter-layout > .filter-actions { min-width: 0; }
.billing-invoice-filter-layout .billing-filter-client.client-search-field { z-index: 35; }
.billing-invoice-filter-layout .client-search-results { right: auto; left: 0; width: 100%; min-width: 320px; max-width: min(460px, calc(100vw - 64px)); max-height: 360px; overflow-x: hidden; overflow-y: auto; }
.billing-invoice-filter-layout .client-search-option { padding: var(--ava-space-3); overflow-wrap: anywhere; }
.billing-invoice-filter-layout .client-search-option strong { font-size: var(--ava-font-sm); line-height: 1.3; }
.billing-invoice-filter-layout .client-search-option span { font-size: var(--ava-font-xs); line-height: 1.3; }
.billing-invoice-filter-layout .filter-actions,
.billing-invoice-filter-layout .filter-actions .button { min-height: var(--ava-control-height); }

/* Buscador: una sola consulta y selector de resultados junto al encabezado. */
body[data-ava-module="buscador"] .search-screen-heading { align-items: flex-end; gap: var(--ava-space-4); }
body[data-ava-module="buscador"] .search-screen-heading > div:first-child { flex: 1 1 420px; }
body[data-ava-module="buscador"] .search-heading-tabs { flex: 0 1 auto; margin: 0; }
body[data-ava-module="buscador"] .search-filter-bar {
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: var(--ava-space-3);
}
body[data-ava-module="buscador"] .search-query-field,
body[data-ava-module="buscador"] .search-filter-bar .filter-actions { grid-column: auto; }
body[data-ava-module="buscador"] .search-filter-bar .filter-actions { align-self: end; flex-wrap: nowrap; }
body[data-ava-module="buscador"] .search-filter-bar .filter-actions .button { white-space: nowrap; }

body[data-ava-module="buscador"] .search-catalog-shell { overflow: hidden; }
body[data-ava-module="buscador"] .search-catalog-heading { align-items: flex-start; }
body[data-ava-module="buscador"] .search-catalog-heading > div { display: grid; gap: var(--ava-space-1); }
body[data-ava-module="buscador"] .search-catalog-preview {
  margin-top: var(--ava-space-3);
  overflow: hidden;
  border: 1px solid var(--ava-border);
  border-radius: var(--ava-radius-card);
  background: var(--ava-surface);
}
body[data-ava-module="buscador"] .search-catalog-preview[hidden] { display: none; }
body[data-ava-module="buscador"] .search-catalog-preview-head {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto minmax(300px, auto);
  align-items: center;
  gap: var(--ava-space-4);
  padding: var(--ava-space-3) var(--ava-space-4);
  border-bottom: 1px solid var(--ava-border);
  background: color-mix(in srgb, var(--ava-surface) 88%, var(--ava-background));
}
body[data-ava-module="buscador"] .search-catalog-preview-head > div:first-child,
body[data-ava-module="buscador"] .search-catalog-preview-status { display: grid; gap: var(--ava-space-1); min-width: 0; }
body[data-ava-module="buscador"] .search-catalog-preview-head h3,
body[data-ava-module="buscador"] .search-catalog-section-heading h3 { margin: 0; }
body[data-ava-module="buscador"] .search-catalog-preview-head span,
body[data-ava-module="buscador"] .search-catalog-preview-head small,
body[data-ava-module="buscador"] .search-catalog-section-heading span,
body[data-ava-module="buscador"] .search-catalog-card-main span,
body[data-ava-module="buscador"] .search-catalog-card-data span,
body[data-ava-module="buscador"] .search-catalog-card-foot,
body[data-ava-module="buscador"] .search-catalog-card-action > span { color: var(--ava-text-secondary); }
body[data-ava-module="buscador"] .search-catalog-preview-head h3,
body[data-ava-module="buscador"] .search-catalog-preview-head small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body[data-ava-module="buscador"] .search-catalog-preview-status { text-align: right; }
body[data-ava-module="buscador"] .search-catalog-preview-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--ava-space-2); }
body[data-ava-module="buscador"] .search-catalog-preview-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  background: var(--ava-border);
}
body[data-ava-module="buscador"] .search-catalog-preview-item {
  min-width: 0;
  display: grid;
  gap: var(--ava-space-1);
  padding: var(--ava-space-3) var(--ava-space-4);
  background: color-mix(in srgb, var(--ava-surface) 92%, var(--ava-background));
}
body[data-ava-module="buscador"] .search-catalog-preview-item > span {
  color: var(--ava-text-secondary);
  font-size: var(--ava-font-xs);
  font-weight: var(--ava-font-semibold);
  text-transform: uppercase;
}
body[data-ava-module="buscador"] .search-catalog-preview-item > strong { overflow-wrap: anywhere; }
body[data-ava-module="buscador"] .search-catalog-preview-note {
  padding: var(--ava-space-2) var(--ava-space-4);
  color: var(--ava-text-secondary);
  border-top: 1px solid var(--ava-border);
  font-size: var(--ava-font-xs);
}
body[data-ava-module="buscador"] .search-catalog-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ava-space-3);
  padding: var(--ava-space-4) 0 var(--ava-space-3);
}
body[data-ava-module="buscador"] .search-catalog-section-heading > div { display: grid; gap: var(--ava-space-1); }
body[data-ava-module="buscador"] .search-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--ava-space-3);
}
body[data-ava-module="buscador"] .search-catalog-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--ava-border);
  border-radius: var(--ava-radius-card);
  background: var(--ava-surface);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
body[data-ava-module="buscador"] .search-catalog-card:hover { border-color: var(--ava-interactive); transform: translateY(-1px); }
body[data-ava-module="buscador"] .search-catalog-card.is-selected {
  border-color: var(--ava-interactive);
  box-shadow: inset 0 0 0 1px var(--ava-interactive), 0 6px 18px color-mix(in srgb, var(--ava-primary-dark) 12%, transparent);
}
body[data-ava-module="buscador"] .search-catalog-card-select {
  width: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 0;
  color: var(--ava-text-primary);
  text-align: left;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body[data-ava-module="buscador"] .search-catalog-card-select:hover,
body[data-ava-module="buscador"] .search-catalog-card-select:focus-visible { background: color-mix(in srgb, var(--ava-primary-soft) 54%, var(--ava-surface)); }
body[data-ava-module="buscador"] .search-catalog-card-top,
body[data-ava-module="buscador"] .search-catalog-card-main,
body[data-ava-module="buscador"] .search-catalog-card-data,
body[data-ava-module="buscador"] .search-catalog-card-foot { width: 100%; }
body[data-ava-module="buscador"] .search-catalog-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ava-space-2);
  padding: var(--ava-space-3) var(--ava-space-3) var(--ava-space-2);
}
body[data-ava-module="buscador"] .search-catalog-card-title { min-width: 0; display: flex; align-items: center; gap: var(--ava-space-2); color: var(--ava-interactive); }
body[data-ava-module="buscador"] .search-catalog-card-title > strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body[data-ava-module="buscador"] .search-catalog-icon {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  color: var(--ava-interactive);
  border-radius: var(--ava-radius-input);
  background: var(--ava-primary-soft);
}
body[data-ava-module="buscador"] .search-catalog-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body[data-ava-module="buscador"] .search-catalog-card-version { display: flex; flex-direction: column; align-items: flex-end; gap: var(--ava-space-1); }
body[data-ava-module="buscador"] .search-catalog-card-main,
body[data-ava-module="buscador"] .search-catalog-card-data {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--ava-space-1) var(--ava-space-2);
  padding: 0 var(--ava-space-3) var(--ava-space-3);
}
body[data-ava-module="buscador"] .search-catalog-card-main > *,
body[data-ava-module="buscador"] .search-catalog-card-data > * { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body[data-ava-module="buscador"] .search-catalog-card-main > :nth-child(even),
body[data-ava-module="buscador"] .search-catalog-card-data > :nth-child(even) { text-align: right; }
body[data-ava-module="buscador"] .search-catalog-card-data {
  padding-top: var(--ava-space-2);
  border-top: 1px solid var(--ava-border);
  background: color-mix(in srgb, var(--ava-surface) 88%, var(--ava-background));
}
body[data-ava-module="buscador"] .search-catalog-card-foot,
body[data-ava-module="buscador"] .search-catalog-card-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ava-space-2);
  padding: var(--ava-space-2) var(--ava-space-3);
  border-top: 1px solid var(--ava-border);
}
body[data-ava-module="buscador"] .search-catalog-card-foot > span:first-child,
body[data-ava-module="buscador"] .search-catalog-card-action > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body[data-ava-module="buscador"] .search-catalog-card-action .table-action { flex: 0 0 auto; }
body[data-ava-module="buscador"] .search-catalog-content { min-height: 150px; }
body[data-ava-module="buscador"] .search-catalog-content-table { max-height: 260px; border: 0; border-radius: 0; }
body[data-ava-module="buscador"] .search-catalog-content-table > table { min-width: 940px; }
body[data-ava-module="buscador"] .search-catalog-loading {
  min-height: 150px;
  display: grid;
  place-items: center;
  padding: var(--ava-space-5);
  color: var(--ava-text-secondary);
}

/* Digitación conserva espacio de desplazamiento para centrar la fila recién agregada. */
.digitization-records-scroll-tail { width: 1px; height: 0; pointer-events: none; }

@media (max-width: 900px) {
  body[data-ava-module="buscador"] .search-screen-heading { align-items: stretch; flex-direction: column; }
  body[data-ava-module="buscador"] .search-screen-heading > div:first-child { flex-basis: auto; }
  body[data-ava-module="buscador"] .search-heading-tabs { width: 100%; }
  body[data-ava-module="buscador"] .search-heading-tabs .tab-button { flex: 1 1 0; }
  body[data-ava-module="buscador"] .search-catalog-preview-head { grid-template-columns: minmax(0, 1fr) auto; }
  body[data-ava-module="buscador"] .search-catalog-preview-actions { grid-column: 1 / -1; justify-content: flex-start; }
  body[data-ava-module="buscador"] .search-catalog-preview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body[data-ava-module="buscador"] .search-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  body[data-ava-module="buscador"] .search-filter-bar { grid-template-columns: minmax(0, 1fr); }
  body[data-ava-module="buscador"] .search-filter-bar .filter-actions { justify-content: stretch; flex-wrap: wrap; }
  body[data-ava-module="buscador"] .search-filter-bar .filter-actions .button { flex: 1 1 0; }
  body[data-ava-module="buscador"] .search-catalog-preview-head,
  body[data-ava-module="buscador"] .search-catalog-preview-grid,
  body[data-ava-module="buscador"] .search-catalog-grid { grid-template-columns: minmax(0, 1fr); }
  body[data-ava-module="buscador"] .search-catalog-preview-status { text-align: left; }
  body[data-ava-module="buscador"] .search-catalog-preview-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-ava-module="buscador"] .search-catalog-section-heading { align-items: flex-start; flex-direction: column; }
}

/* Recibos emitidos: tres filtros proporcionales y un selector de cliente legible. */
.dialog--receipts .billing-receipts-filter--single-line {
  display: grid;
  grid-template-columns: minmax(280px, 1.45fr) minmax(150px, .55fr) minmax(320px, 1fr);
  align-items: end;
  gap: var(--ava-space-3);
  margin: 0;
}

.dialog--receipts .billing-receipts-filter--single-line > .field {
  grid-column: auto !important;
  width: 100%;
  min-width: 0;
}

.dialog--receipts .billing-receipts-filter--single-line :is(input, select) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.dialog--receipts .billing-filter-client.client-search-field { z-index: 35; }

.dialog--receipts .billing-filter-client .client-search-results {
  right: auto;
  left: 0;
  width: 100%;
  min-width: 360px;
  max-width: min(520px, calc(100vw - 80px));
  max-height: min(360px, calc(100dvh - 220px));
  overflow-x: hidden;
  overflow-y: auto;
}

.dialog--receipts .billing-filter-client .client-search-option,
.dialog--receipts .billing-filter-client .client-search-empty {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}

.dialog--receipts .billing-filter-client .client-search-option strong,
.dialog--receipts .billing-filter-client .client-search-option span { line-height: 1.3; }

/* Correcciones facturadas: mismos tokens y controles, sin afectar otros diálogos. */
#pc-list-filter, #pc-pick-filter { display:flex; flex-wrap:wrap; gap:12px; align-items:end; margin-bottom:16px; }
#pc-list-filter > .field, #pc-pick-filter > .field { flex:1 1 240px; min-width:0; }
#pc-results, #pc-pick-results { max-width:100%; overflow:auto; border:1px solid var(--ava-border); border-radius:var(--ava-radius-card); }
#pc-results table, #pc-pick-results table { min-width:620px; }
#pc-results td, #pc-pick-results td { padding:12px; vertical-align:middle; }
#pc-edit > .field:not(.field--full) { grid-column:span 6; }
#pc-edit input[type="checkbox"] { width:auto; min-height:0; }
.claim-detail-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:16px; margin-bottom:16px; }
.claim-detail-layout > .card { min-width:0; margin:0; padding:20px; }
.claim-detail-layout p, .claim-detail-layout td { overflow-wrap:anywhere; }
.claim-detail-layout .table-scroll { max-width:100%; overflow:auto; }
.claim-detail-layout table { table-layout:fixed; }
.claim-detail-layout th, .claim-detail-layout td { white-space:normal; text-align:left; overflow-wrap:anywhere; }
.claim-detail-layout tbody th { background:var(--ava-surface); color:var(--ava-text-secondary); }
.claim-detail-layout .toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:12px 0; }
.claim-detail-layout .toolbar > span { flex:1 1 140px; overflow-wrap:anywhere; }
@media(max-width:850px) { .claim-detail-layout { grid-template-columns:minmax(0,1fr); } }
@media(max-width:600px) { #pc-edit > .field:not(.field--full) { grid-column:1/-1; } }

/* Reclamos y compensaciones · cola paginada y expediente financiero. */
.claim-queue {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--ava-border);
  border-radius: var(--ava-radius-card);
  background: var(--ava-surface);
  box-shadow: var(--shadow);
}

.claim-queue-header,
.claim-queue-toolbar,
.claim-queue-pagination,
.claim-detail-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ava-space-3);
}

.claim-queue-header { align-items: flex-start; padding: var(--ava-space-5); border-bottom: 1px solid var(--ava-border); }
.claim-queue-header > div { min-width: 0; }
.claim-queue-header h2,
.claim-detail-section h3,
.claim-decision-card h3 { margin: 0; color: var(--ava-text-primary); }
.claim-queue-header h2 { font-size: var(--ava-font-xl); line-height: 28px; }
.claim-queue-header p,
.claim-detail-section-head p { margin: var(--ava-space-1) 0 0; color: var(--ava-text-secondary); }
.claim-detail-kicker { display: block; margin-bottom: 2px; color: var(--ava-interactive); font-size: 11px; font-weight: var(--ava-font-bold); letter-spacing: .08em; text-transform: uppercase; }

.claim-information-revisions { display: grid; gap: 12px; min-width: 0; margin-bottom: 16px; }
.claim-information-revisions [hidden] { display: none !important; }
.claim-information-revisions .dialog-form { display: grid; gap: 12px; }
.claim-information-revisions p, .claim-revision-history { overflow-wrap: anywhere; }
.claim-revision-history { border-top: 1px solid var(--ava-border); padding-top: 12px; }
.claim-revision-history summary { cursor: pointer; font-weight: 600; }
.claim-revision-text { white-space: pre-wrap; }
.claim-revision-attachment { display: flex; align-items: start; gap: 12px; margin-top: 12px; }
.claim-revision-attachment details { flex: 1; min-width: 0; }
.claim-revision-attachment img { display: block; max-width: 100%; max-height: 420px; object-fit: contain; margin-top: 8px; }
.claim-revision-pdf { max-height: 420px; overflow: auto; border: 1px solid var(--ava-border); margin-top: 8px; }
.claim-revision-pdf canvas { display: block; max-width: 100%; height: auto; margin: 0 auto 8px; }
.claim-revision-proposal, .claim-revision-comparison { border: 1px solid var(--ava-border); border-radius: 10px; padding: 16px; margin: 12px 0; }
.claim-revision-proposal { display: grid; gap: 14px; }
.claim-revision-values { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--ava-space-3); }
.claim-revision-actions { position: sticky; bottom: 0; z-index: 1; background: var(--ava-surface); padding: var(--ava-space-3) 0; border-top: 1px solid var(--ava-border); }
.claim-revision-proposal .checkbox-label { display: flex; align-items: center; gap: var(--ava-space-2); }
/* Corrections workspace: scoped presentation, no changes to global dialogs or approval rules. */
.dialog--correction-workspace { width: min(1200px, calc(100vw - 32px)); }
.dialog--correction-workspace .cw-body { padding: 0 var(--ava-space-5) var(--ava-space-4); background: var(--ava-background); }
.cw-body [hidden] { display: none !important; }
.cw-context { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--ava-space-3); padding: var(--ava-space-3) 0; }
.cw-context > div:first-child { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ava-space-3); font-size: var(--ava-font-sm); }
.cw-context strong { overflow-wrap: anywhere; }
.cw-tabs { position: sticky; top: 0; z-index: 3; display: flex; gap: var(--ava-space-1); padding: var(--ava-space-2) 0; margin-bottom: var(--ava-space-4); border-bottom: 1px solid var(--ava-border); background: var(--ava-background); }
.cw-tabs button { flex: 1; min-height: var(--ava-control-height); border: 1px solid transparent; border-radius: var(--ava-radius-button); background: transparent; color: var(--ava-text-secondary); font: inherit; font-weight: var(--ava-font-semibold); cursor: pointer; }
.cw-tabs button[aria-selected="true"] { background: var(--ava-surface); color: var(--ava-interactive); border-color: var(--ava-border); box-shadow: 0 2px 4px color-mix(in srgb,var(--ava-primary) 8%,transparent); }
.cw-tabs button:focus-visible, .cw-file:focus-visible { outline: 2px solid var(--ava-interactive); outline-offset: 2px; }
.cw-columns { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: var(--ava-space-4); align-items: start; }
.cw-main { display: grid; min-width: 0; gap: var(--ava-space-4); }
.cw-side { position: sticky; top: 66px; min-width: 0; }
.cw-body .card { padding: var(--ava-space-4); margin: 0; box-shadow: none; }
.cw-body h3 { margin: 0 0 var(--ava-space-3); font-size: var(--ava-font-lg); }
.cw-body h4 { margin: var(--ava-space-4) 0 var(--ava-space-2); }
.cw-body p { margin: var(--ava-space-2) 0; }
.cw-body textarea { min-height: 64px; resize: vertical; }
.cw-body .field { min-width: 0; }
.cw-body .field span { text-transform: none; }
.cw-body .toolbar-note { line-height: 1.5; }
.cw-body .cw-finance { border-top: 3px solid var(--ava-interactive); }
.cw-finance > p { font-size: var(--ava-font-sm); line-height: 1.6; }
.cw-finance > p:has(strong) { padding: var(--ava-space-3); margin: var(--ava-space-3) 0; border-radius: var(--ava-radius-input); background: var(--ava-primary-soft); color: var(--ava-interactive); font-size: var(--ava-font-lg); }
.cw-revision { display: grid; gap: var(--ava-space-3); }
.cw-revision > .callout { padding: var(--ava-space-3); margin: 0; }
.cw-revision > .toolbar-note, .cw-revision > [data-revision-message]:empty { display: none; }
.cw-revision:not(:has(.callout)):not(:has([data-revision-response-form])):not(.cw-requesting) { display: none; }
.cw-revision .dialog-form { gap: var(--ava-space-3); }
.cw-revision .claim-revision-proposal { border: 0; border-bottom: 1px solid var(--ava-border); border-radius: 0; padding: 0 0 var(--ava-space-3); margin: 0; gap: var(--ava-space-3); }
.cw-revision .claim-revision-proposal > h4, .cw-revision .claim-revision-proposal > p:first-of-type { display: none; }
.cw-revision .claim-revision-actions { margin: 0; padding: var(--ava-space-3) 0 0; }
.cw-original { border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); background: var(--ava-surface); }
.cw-original > summary { cursor: pointer; padding: var(--ava-space-3) var(--ava-space-4); color: var(--ava-interactive); font-weight: var(--ava-font-semibold); }
.cw-original .card { border: 0; }
.cw-comparison .table-scroll { overflow-x: auto; }
.cw-comparison table { width: 100%; min-width: 0; table-layout: fixed; }
.cw-comparison th, .cw-comparison td { padding: var(--ava-space-2); overflow-wrap: anywhere; white-space: normal; text-align: left; }
.cw-comparison tbody th { background: var(--ava-surface); color: var(--ava-text-secondary); }
.cw-comparison .cw-changed td:last-child { background: var(--ava-primary-soft); color: var(--ava-interactive); font-weight: var(--ava-font-semibold); }
.cw-body .cw-decision { border-color: var(--ava-border); }
.cw-decision .dialog-actions { margin-top: var(--ava-space-3); padding-top: var(--ava-space-3); flex-wrap: wrap; }
.cw-people { margin-top: var(--ava-space-5); padding: var(--ava-space-4); background: var(--ava-surface); border-radius: var(--ava-radius-card); }
.cw-body .claim-revision-history { padding: var(--ava-space-4); margin: var(--ava-space-3) 0; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); background: var(--ava-surface); }
.cw-evidence-layout { display: grid; grid-template-columns: 260px minmax(0,1fr); gap: var(--ava-space-4); }
.cw-file-list { display: flex; flex-direction: column; gap: var(--ava-space-2); }
.cw-file { display: flex; gap: var(--ava-space-3); align-items: center; width: 100%; text-align: left; padding: var(--ava-space-3); background: var(--ava-surface); color: var(--ava-text-primary); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-input); cursor: pointer; font: inherit; }
.cw-file[aria-pressed="true"] { border-color: var(--ava-interactive); background: var(--ava-primary-soft); }
.cw-file > span:last-child { min-width: 0; }
.cw-file strong { display: block; font-size: var(--ava-font-sm); overflow-wrap: anywhere; }
.cw-file small { display: block; color: var(--ava-text-secondary); margin-top: var(--ava-space-1); }
.cw-file-kind { font-size: var(--ava-font-xs); font-weight: var(--ava-font-bold); color: var(--ava-interactive); }
.cw-preview { min-width: 0; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); overflow: hidden; background: var(--ava-surface); }
.cw-preview-toolbar { display: flex; justify-content: space-between; gap: var(--ava-space-3); align-items: center; padding: var(--ava-space-3); border-bottom: 1px solid var(--ava-border); }
.cw-preview-toolbar > div { min-width: 0; overflow-wrap: anywhere; }
.cw-viewer { min-height: 280px; padding: var(--ava-space-3); }
.cw-viewer img { display: block; width: 100%; max-height: 60vh; object-fit: contain; }
.cw-viewer canvas { display: block; max-width: 100%; height: auto; margin: 0 auto var(--ava-space-3); }
.cw-empty { text-align: center; padding: var(--ava-space-8); color: var(--ava-text-secondary); }
.cw-create { padding-top: var(--ava-space-4) !important; }
.cw-editor-fields, .cw-editor-summary { padding: var(--ava-space-4); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); background: var(--ava-surface); }
.cw-editor-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--ava-space-3); }
.cw-editor-fields > h3, .cw-editor-fields > p { grid-column: 1 / -1; margin: 0; }
.cw-editor-summary { position: sticky; top: 0; }
.cw-editor-summary dl { margin: var(--ava-space-3) 0; }
.cw-editor-summary dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--ava-space-2); padding: var(--ava-space-2) 0; }
.cw-editor-summary dt { font-size: var(--ava-font-sm); color: var(--ava-text-secondary); }
.cw-editor-summary dd { margin: 0; text-align: right; font-weight: var(--ava-font-semibold); overflow-wrap: anywhere; }
.cw-editor-summary #pc-quote { border-top: 1px solid var(--ava-border); padding-top: var(--ava-space-3); margin-top: var(--ava-space-3); font-size: var(--ava-font-sm); }
.cw-editor-summary .cw-difference { border-top: 1px solid var(--ava-border); color: var(--ava-interactive); font-size: var(--ava-font-lg); }
.cw-editor-actions { position: sticky; bottom: -16px; z-index: 2; margin: var(--ava-space-4) 0 0; padding: var(--ava-space-3) 0; background: var(--ava-background); }
.cw-upload input[type="file"] { height: auto; min-height: 52px; padding: var(--ava-space-2); background: var(--ava-background); }
.cw-task-actions { position: sticky; bottom: -16px; z-index: 2; background: var(--ava-background); padding: var(--ava-space-3) 0; margin-top: var(--ava-space-3); flex-wrap: wrap; }
.cw-editing .cw-revision [data-revision-response-form] { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.cw-editing [data-revision-response-form] > * { grid-column: 1 / -1; }
.cw-editing [data-revision-response-form] > .field:has([name="response_reason"]), .cw-editing [data-revision-response-form] > .field:has([name="response_information"]) { grid-column: auto; }
.cw-editing [data-revision-response-form] > p:first-child { display: none; }
.cw-editing .cw-revision > h3 { display: none; }
.cw-body .cw-task-actions { bottom: -16px; background: var(--ava-background); padding: var(--ava-space-3) 0; }
.cw-editing .cw-finance [data-package-revision-quote] { margin: 0; padding: var(--ava-space-3); font-size: var(--ava-font-sm); }
.cw-upload input::file-selector-button { padding: var(--ava-space-2) var(--ava-space-3); margin-right: var(--ava-space-2); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-button); background: var(--ava-surface); color: var(--ava-interactive); font: inherit; cursor: pointer; }
.cw-selected-files { display: grid; gap: var(--ava-space-2); }
.cw-selected-file { display: flex; gap: var(--ava-space-3); align-items: center; overflow-wrap: anywhere; }
.cw-selected-file img { width: 60px; height: 52px; border-radius: var(--ava-radius-input); object-fit: contain; }
@media(max-width: 900px) {
  .cw-columns { grid-template-columns: minmax(0,1fr); }
  .cw-side, .cw-editor-summary { position: static; }
  .cw-side { order: -1; }
  .cw-side .cw-finance { display: block; }
  .cw-side .cw-finance > p { margin: var(--ava-space-1) 0; }
  .cw-finance h3 { width: 100%; }
  .cw-evidence-layout { grid-template-columns: minmax(0,1fr); }
  .cw-file-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 600px) {
  .dialog--correction-workspace { width: calc(100vw - 12px); }
  .dialog--correction-workspace .cw-body { padding-left: var(--ava-space-3); padding-right: var(--ava-space-3); }
  .cw-tabs { gap: 0; }
  .cw-tabs button { font-size: var(--ava-font-xs); padding: var(--ava-space-2) var(--ava-space-1); }
  .cw-context { align-items: start; }
  .cw-editor-fields, .cw-file-list { grid-template-columns: minmax(0,1fr); }
  .cw-editing .cw-revision [data-revision-response-form] { grid-template-columns: minmax(0,1fr); }
  .cw-editor-actions, .cw-decision .dialog-actions { flex-wrap: wrap; }
  .cw-body .card { padding: var(--ava-space-3); }
}
@media(max-width: 640px) { .claim-revision-values { grid-template-columns: minmax(0,1fr); } .claim-revision-actions { flex-wrap: wrap; } }
.claim-revision-proposal h4, .claim-revision-comparison h4 { margin: 0 0 8px; }
.claim-revision-comparison dl { margin: 0; }
.claim-revision-comparison dl > div { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(0, 2fr) minmax(0, 2fr); gap: 12px; padding: 12px 0; border-top: 1px solid var(--ava-border); }
.claim-revision-comparison dt { font-weight: 600; }
.claim-revision-comparison dd { margin: 0; min-width: 0; }
.claim-revision-comparison dd span { font-size: 12px; opacity: .8; }
.claim-revision-comparison dd p { margin: 4px 0; white-space: pre-wrap; }
@media (max-width: 640px) { .claim-revision-comparison dl > div { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .claim-revision-comparison dt { grid-column: 1 / -1; } }
.claim-information-revisions [data-revision-message]:empty { display: none; }
.claim-queue-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  padding: 1px 0;
  background: var(--ava-border);
  border-bottom: 1px solid var(--ava-border);
}

.claim-queue-stat {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: var(--ava-space-3) var(--ava-space-4);
  color: var(--ava-text-secondary);
  text-align: left;
  border: 0;
  border-radius: 0;
  background: var(--ava-surface);
  cursor: pointer;
}
.claim-queue-stat:hover { background: color-mix(in srgb, var(--ava-primary-soft) 52%, var(--ava-surface)); }
.claim-queue-stat.is-active { color: var(--ava-text-primary); background: var(--ava-primary-soft); box-shadow: inset 0 -3px 0 var(--ava-interactive); }
.claim-queue-stat > span { font-size: var(--ava-font-xs); font-weight: var(--ava-font-semibold); }
.claim-queue-stat > strong { color: var(--ava-text-primary); font-size: 22px; line-height: 26px; }
.claim-queue-stat > small { overflow: hidden; color: var(--ava-text-secondary); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.claim-queue-stat.is-active > small { color: var(--ava-text-primary); }

.claim-queue-filters {
  display: grid;
  grid-template-columns: minmax(280px, 1.5fr) minmax(170px, .55fr) minmax(190px, .65fr) auto;
  align-items: end;
  gap: var(--ava-space-3);
  padding: var(--ava-space-4) var(--ava-space-5) var(--ava-space-3);
  background: color-mix(in srgb, var(--ava-surface) 87%, var(--ava-background));
  border-bottom: 1px solid var(--ava-border);
}
.claim-queue-filters > * { min-width: 0; }
.claim-queue-filter-actions { display: flex; align-items: center; gap: var(--ava-space-2); }
.claim-queue-filter-actions .button { min-width: 96px; white-space: nowrap; }
.claim-queue-advanced { grid-column: 1 / -1; min-width: 0; }
.claim-queue-advanced > summary { width: max-content; color: var(--ava-interactive); font-size: var(--ava-font-sm); font-weight: var(--ava-font-semibold); cursor: pointer; }
.claim-queue-advanced > div { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ava-space-3); padding-top: var(--ava-space-3); }

.claim-queue-toolbar { min-height: 45px; padding: var(--ava-space-2) var(--ava-space-5); color: var(--ava-text-secondary); font-size: var(--ava-font-sm); }
.claim-density { display: inline-flex; padding: 2px; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-button); background: var(--surface-2); }
.claim-density button { min-height: 30px; padding: 4px 10px; color: var(--ava-text-secondary); border: 0; border-radius: 6px; background: transparent; font-size: var(--ava-font-xs); cursor: pointer; }
.claim-density button.is-active { color: var(--ava-text-primary); background: var(--ava-surface); box-shadow: 0 1px 4px color-mix(in srgb, var(--ava-primary-dark) 14%, transparent); }

.claim-queue-table-wrap { min-width: 0; overflow: auto; margin: 0 var(--ava-space-5); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); }
.claim-queue-loading,
.claim-queue-empty { min-height: 220px; display: grid; place-content: center; justify-items: center; gap: var(--ava-space-2); padding: var(--ava-space-6); color: var(--ava-text-secondary); text-align: center; }
.claim-queue-empty strong { color: var(--ava-text-primary); font-size: var(--ava-font-lg); }
.claim-queue-empty .button { margin-top: var(--ava-space-2); }
.claim-queue-table { width: 100%; min-width: 1120px; table-layout: fixed; border-collapse: collapse; }
.claim-queue-table th { padding: 10px 12px; color: var(--ava-text-secondary); background: var(--surface-2); font-size: 11px; letter-spacing: .03em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.claim-queue-table td { min-width: 0; padding: 12px; border-top: 1px solid var(--ava-border); vertical-align: middle; }
.claim-queue-table tbody tr:hover { background: color-mix(in srgb, var(--ava-primary-soft) 35%, transparent); }
.claim-queue-table th:nth-child(1) { width: 15%; }
.claim-queue-table th:nth-child(2) { width: 17%; }
.claim-queue-table th:nth-child(3) { width: 17%; }
.claim-queue-table th:nth-child(4) { width: 12%; }
.claim-queue-table th:nth-child(5) { width: 12%; }
.claim-queue-table th:nth-child(6) { width: 13%; }
.claim-queue-table th:nth-child(7) { width: 10%; }
.claim-queue-table th:nth-child(8) { width: 72px; }
.claim-queue-table th:last-child,
.claim-queue-table td:last-child { position: sticky; right: 0; z-index: 1; background: var(--ava-surface); border-left: 1px solid var(--ava-border); }
.claim-queue-table th:last-child { z-index: 2; }
.claim-queue-table td > strong,
.claim-queue-table td > small { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.claim-queue-table td > strong { color: var(--ava-text-primary); font-weight: var(--ava-font-semibold); }
.claim-queue-table td > small { margin-top: 3px; color: var(--ava-text-secondary); font-size: 11px; }
.claim-queue-table .is-number { text-align: right; font-variant-numeric: tabular-nums; }
.claim-queue-case-link { max-width: 100%; padding: 0; overflow: hidden; color: var(--ava-interactive); border: 0; background: transparent; font-weight: var(--ava-font-bold); text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.claim-queue-case-link:hover { text-decoration: underline; }
.claim-queue-table-wrap.is-compact .claim-queue-table td { padding-block: 7px; }
.claim-queue-table-wrap.is-compact .claim-queue-table th { padding-block: 7px; }

.claim-stage-pill,
.claim-sla { display: inline-flex; align-items: center; width: max-content; max-width: 100%; padding: 4px 8px; border-radius: var(--ava-radius-pill); font-size: 11px; font-weight: var(--ava-font-bold); line-height: 16px; }
.claim-stage-pill--pending { color: var(--ava-warning-dark); background: var(--ava-warning-soft); }
.claim-stage-pill--review { color: var(--ava-info-dark); background: var(--ava-info-soft); }
.claim-stage-pill--ready { color: var(--ava-primary); background: var(--ava-primary-soft); }
.claim-stage-pill--success { color: var(--ava-success-dark); background: var(--ava-success-soft); }
.claim-stage-pill--danger { color: var(--ava-danger-dark); background: var(--ava-danger-soft); }
.claim-stage-pill--neutral { color: var(--ava-text-secondary); background: var(--surface-2); }
.claim-sla { padding: 0; background: transparent; }
.claim-sla--danger { color: var(--ava-danger); }
.claim-sla--warning { color: var(--ava-warning-dark); }
.claim-sla--ok { color: var(--ava-success-dark); }
.claim-sla--closed,
.claim-sla--neutral { color: var(--ava-text-secondary); }

.claim-queue-pagination { min-height: 58px; padding: var(--ava-space-3) var(--ava-space-5); color: var(--ava-text-secondary); border-top: 1px solid var(--ava-border); }
.claim-queue-pagination > div { display: flex; gap: var(--ava-space-2); }

.claim-detail { min-width: 0; display: grid; gap: var(--ava-space-4); }
.claim-progress { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--ava-space-2); margin: 0; padding: 0; list-style: none; }
.claim-progress li { min-width: 0; display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: var(--ava-space-2); padding: 10px; color: var(--ava-text-secondary); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); background: var(--surface-2); }
.claim-progress li > span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--ava-border); border-radius: 50%; background: var(--ava-surface); font-size: 11px; font-weight: var(--ava-font-bold); }
.claim-progress li > strong { min-width: 0; overflow: hidden; font-size: var(--ava-font-xs); text-overflow: ellipsis; white-space: nowrap; }
.claim-progress li.is-complete { color: var(--ava-success-dark); border-color: color-mix(in srgb, var(--ava-success) 48%, var(--ava-border)); background: var(--ava-success-soft); }
.claim-progress li.is-current { color: var(--ava-primary); border-color: var(--ava-interactive); box-shadow: inset 0 0 0 1px var(--ava-interactive); }

.claim-detail-layout { min-width: 0; display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.72fr); align-items: start; gap: var(--ava-space-4); }
.claim-detail-main,
.claim-detail-aside { min-width: 0; display: grid; gap: var(--ava-space-4); }
.claim-detail-section,
.claim-decision-card { min-width: 0; padding: var(--ava-space-4); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); background: var(--ava-surface); }
.claim-detail-section-head { align-items: flex-start; margin-bottom: var(--ava-space-3); }
.claim-detail-section-head h3,
.claim-decision-card h3 { font-size: var(--ava-font-lg); line-height: 22px; }
.claim-detail-section-head > span { flex: 0 0 auto; color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.claim-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; margin: 0; overflow: hidden; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-input); background: var(--ava-border); }
.claim-facts > div { min-width: 0; display: grid; gap: 3px; padding: 10px 12px; background: var(--surface-2); }
.claim-facts > div.is-wide { grid-column: 1 / -1; }
.claim-facts dt,
.claim-money-breakdown dt,
.claim-responsibility dt { color: var(--ava-text-secondary); font-size: 11px; font-weight: var(--ava-font-semibold); text-transform: uppercase; }
.claim-facts dd,
.claim-money-breakdown dd,
.claim-responsibility dd { min-width: 0; margin: 0; color: var(--ava-text-primary); overflow-wrap: anywhere; }

.claim-evidence-gallery { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: var(--ava-space-2); }
.claim-evidence-card { min-width: 0; display: grid; grid-template-columns: 68px minmax(0,1fr); align-items: center; gap: var(--ava-space-2); padding: var(--ava-space-2); color: var(--ava-text-primary); text-align: left; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-input); background: var(--surface-2); cursor: pointer; }
.claim-evidence-card:hover { border-color: var(--ava-interactive); background: var(--ava-primary-soft); }
.claim-evidence-card img,
.claim-evidence-card .claim-evidence-file { width: 68px; height: 54px; }

.claim-timeline { display: grid; gap: 0; }
.claim-timeline-item { position: relative; min-width: 0; display: grid; grid-template-columns: 18px minmax(0,1fr); gap: var(--ava-space-2); padding: 0 0 var(--ava-space-3); }
.claim-timeline-item:not(:last-child)::before { content: ""; position: absolute; top: 11px; bottom: -1px; left: 5px; width: 1px; background: var(--ava-border); }
.claim-timeline-dot { position: relative; z-index: 1; width: 11px; height: 11px; margin-top: 4px; border: 3px solid var(--ava-success-soft); border-radius: 50%; background: var(--ava-success); }
.claim-timeline-item > div { min-width: 0; }
.claim-timeline-item strong,
.claim-timeline-item small { display: block; }
.claim-timeline-item p { margin: 2px 0; color: var(--ava-text-secondary); overflow-wrap: anywhere; }
.claim-timeline-item small { color: var(--ava-text-secondary); font-size: 11px; }

.claim-detail-aside { position: sticky; top: 0; }
.claim-decision-card { border-color: color-mix(in srgb, var(--ava-interactive) 40%, var(--ava-border)); box-shadow: 0 10px 24px color-mix(in srgb, var(--ava-primary-dark) 9%, transparent); }
.claim-money-total { display: grid; gap: 2px; padding: var(--ava-space-4); margin-bottom: var(--ava-space-3); border-radius: var(--ava-radius-card); background: var(--ava-primary-soft); }
.claim-money-total > span,
.claim-money-total > small { color: var(--ava-text-secondary); }
.claim-money-total > strong { color: var(--ava-text-primary); font-size: 26px; line-height: 32px; font-variant-numeric: tabular-nums; }
.claim-money-breakdown,
.claim-responsibility dl { display: grid; gap: 0; margin: 0; }
.claim-money-breakdown > div,
.claim-responsibility dl > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: var(--ava-space-3); padding: 9px 0; border-bottom: 1px solid var(--ava-border); }
.claim-money-breakdown dd { text-align: right; font-weight: var(--ava-font-semibold); font-variant-numeric: tabular-nums; }
.claim-decision-explanation { margin: var(--ava-space-3) 0 0; padding: var(--ava-space-3); border-radius: var(--ava-radius-card); background: var(--ava-primary-soft); color: var(--ava-text-secondary); line-height: 1.45; }
.claim-decision-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--ava-space-2); padding-top: var(--ava-space-4); }
.claim-decision-note { width: 100%; color: var(--ava-text-secondary); text-align: center; }
.claim-responsibility dl > div { grid-template-columns: minmax(110px,.65fr) minmax(0,1fr); }
.claim-responsibility dd { display: grid; gap: 2px; }
.claim-responsibility dd small { color: var(--ava-text-secondary); font-size: 11px; }

@media (max-width: 1120px) {
  .claim-queue-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .claim-queue-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .claim-queue-filter-actions { justify-content: flex-end; }
  .claim-detail-layout { grid-template-columns: minmax(0,1fr); }
  .claim-detail-aside { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .claim-queue-header { align-items: stretch; flex-direction: column; }
  .claim-queue-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .claim-queue-stat:last-child { grid-column: 1 / -1; }
  .claim-queue-filters,
  .claim-queue-advanced > div { grid-template-columns: minmax(0,1fr); }
  .claim-queue-filter-actions { justify-content: stretch; }
  .claim-queue-filter-actions .button { flex: 1 1 0; }
  .claim-queue-toolbar { align-items: flex-start; flex-direction: column; }
  .claim-progress { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .claim-detail-aside { grid-template-columns: minmax(0,1fr); }
}

@media (max-width: 520px) {
  .claim-queue-header,
  .claim-queue-filters,
  .claim-queue-toolbar,
  .claim-queue-pagination { padding-inline: var(--ava-space-3); }
  .claim-queue-table-wrap { margin-inline: var(--ava-space-3); }
  .claim-queue-summary,
  .claim-progress,
  .claim-facts { grid-template-columns: minmax(0,1fr); }
  .claim-queue-stat:last-child,
  .claim-facts > div.is-wide { grid-column: auto; }
  .claim-queue-pagination { align-items: stretch; flex-direction: column; }
  .claim-queue-pagination > div .button { flex: 1 1 0; }
  .claim-evidence-gallery { grid-template-columns: minmax(0,1fr); }
}
/* Saldos a favor: libro paginado con expediente por origen. */
body[data-ava-module="facturacion"] .credit-center-summary {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ava-space-3); margin-bottom: var(--ava-space-3);
}
body[data-ava-module="facturacion"] .credit-center-summary > div {
  display: grid; gap: var(--ava-space-2); min-width: 0; padding: var(--ava-space-4);
  border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); background: var(--ava-surface);
}
body[data-ava-module="facturacion"] .credit-center-summary span,
body[data-ava-module="facturacion"] .credit-center-heading > span,
body[data-ava-module="facturacion"] .credit-center-heading p,
body[data-ava-module="facturacion"] .credit-center-grouping small,
body[data-ava-module="facturacion"] .credit-center-scope,
body[data-ava-module="facturacion"] .credit-center-pager {
  color: var(--ava-text-secondary);
}
body[data-ava-module="facturacion"] .credit-center-summary strong { font-size: var(--ava-font-xl); color: var(--ava-interactive); }
body[data-ava-module="facturacion"] .credit-center { padding: 0; overflow: hidden; }
body[data-ava-module="facturacion"] .credit-center-heading {
  display: flex; align-items: center; justify-content: space-between; gap: var(--ava-space-4);
  padding: var(--ava-space-4); border-bottom: 1px solid var(--ava-border);
}
body[data-ava-module="facturacion"] .credit-center-heading h2 { margin: 0; font-size: var(--ava-font-xl); }
body[data-ava-module="facturacion"] .credit-center-heading p { margin: var(--ava-space-1) 0 0; }
body[data-ava-module="facturacion"] .credit-center-tabs { display: flex; gap: var(--ava-space-2); padding: var(--ava-space-3) var(--ava-space-4) 0; border-bottom: 1px solid var(--ava-border); }
body[data-ava-module="facturacion"] .credit-center-tabs button,
body[data-ava-module="facturacion"] .credit-center-segment button {
  min-height: var(--ava-control-height); padding: 0 var(--ava-space-4); border: 0; background: transparent;
  color: var(--ava-text-secondary); font: inherit; font-weight: var(--ava-font-semibold); cursor: pointer;
}
body[data-ava-module="facturacion"] .credit-center-tabs button[aria-current="true"] { color: var(--ava-interactive); border-bottom: 3px solid var(--ava-interactive); }
body[data-ava-module="facturacion"] .credit-center-grouping {
  display: flex; justify-content: space-between; align-items: center; gap: var(--ava-space-3); padding: var(--ava-space-4);
}
body[data-ava-module="facturacion"] .credit-center-grouping[hidden] { display: none; }
body[data-ava-module="facturacion"] .credit-center-grouping > div:first-child { display: grid; gap: var(--ava-space-1); }
body[data-ava-module="facturacion"] .credit-center-segment { display: flex; border: 1px solid var(--ava-border); border-radius: var(--ava-radius-input); overflow: hidden; }
body[data-ava-module="facturacion"] .credit-center-segment button[aria-pressed="true"] { color: var(--ava-interactive); background: var(--ava-primary-soft); }
body[data-ava-module="facturacion"] .credit-center-filters { display: grid; grid-template-columns: minmax(220px, 2fr) repeat(3, minmax(140px, 1fr)) auto; align-items: end; gap: var(--ava-space-3); padding: 0 var(--ava-space-4) var(--ava-space-4); }
body[data-ava-module="facturacion"] .credit-center-filters .field { min-width: 0; }
body[data-ava-module="facturacion"] .credit-center-scope,
body[data-ava-module="facturacion"] .credit-center-pager { display: flex; justify-content: space-between; align-items: center; gap: var(--ava-space-3); padding: var(--ava-space-3) var(--ava-space-4); border-top: 1px solid var(--ava-border); }
body[data-ava-module="facturacion"] .credit-center-scope strong { color: var(--ava-text-primary); }
body[data-ava-module="facturacion"] .credit-center-pager > div { display: flex; align-items: center; gap: var(--ava-space-2); }
body[data-ava-module="facturacion"] .credit-center-pager select { min-height: var(--ava-control-height-compact); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-input); background: var(--ava-surface); color: var(--ava-text-primary); }
body[data-ava-module="facturacion"] .credit-center-table { max-height: min(60vh, 650px); overflow: auto; }
body[data-ava-module="facturacion"] .credit-center-scroll-hint { display: none; }
body[data-ava-module="facturacion"] .credit-center-table table { width: 100%; }
body[data-ava-module="facturacion"] .credit-center-table td { vertical-align: top; }
body[data-ava-module="facturacion"] .credit-center-table td small { display: block; margin-top: var(--ava-space-1); color: var(--ava-text-secondary); overflow-wrap: anywhere; }
body[data-ava-module="facturacion"] .credit-center-amount { text-align: right; white-space: nowrap; }
body[data-ava-module="facturacion"] .credit-center-actions { display: flex; flex-wrap: wrap; gap: var(--ava-space-1); }
body[data-ava-module="facturacion"] .credit-center-detail-status { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--ava-space-2); margin-bottom: var(--ava-space-4); }
body[data-ava-module="facturacion"] .credit-center-detail-status span { padding: var(--ava-space-3); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); background: var(--ava-success-soft); font-weight: var(--ava-font-semibold); }
body[data-ava-module="facturacion"] .credit-center-detail-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); gap: var(--ava-space-4); }
body[data-ava-module="facturacion"] .credit-center-detail-grid .card,
body[data-ava-module="facturacion"] .credit-center-history { padding: var(--ava-space-4); }
body[data-ava-module="facturacion"] .credit-center-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--ava-border); border-radius: var(--ava-radius-card); overflow: hidden; }
body[data-ava-module="facturacion"] .credit-center-facts > div { display: grid; gap: var(--ava-space-1); padding: var(--ava-space-3); border-bottom: 1px solid var(--ava-border); }
body[data-ava-module="facturacion"] .credit-center-facts span { color: var(--ava-text-secondary); font-size: var(--ava-font-xs); text-transform: uppercase; }
body[data-ava-module="facturacion"] .credit-center-facts strong { overflow-wrap: anywhere; }
body[data-ava-module="facturacion"] .credit-center-history { margin-top: var(--ava-space-4); }
body[data-ava-module="facturacion"] .credit-center-history td small { display: block; margin-top: var(--ava-space-1); color: var(--ava-text-secondary); }
body[data-ava-module="facturacion"] .credit-center-caveat { color: var(--ava-warning-dark); }
@media (max-width: 1100px) {
  body[data-ava-module="facturacion"] .credit-center-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-ava-module="facturacion"] .credit-center-search { grid-column: 1 / -1; }
  body[data-ava-module="facturacion"] .credit-center-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  body[data-ava-module="facturacion"] .credit-center-scroll-hint { display: block; padding: var(--ava-space-2) var(--ava-space-4); color: var(--ava-text-secondary); font-size: var(--ava-font-sm); }
  body[data-ava-module="facturacion"] .credit-center-table table { min-width: 1100px; }
  body[data-ava-module="facturacion"] .credit-center-history .table-wrap table { min-width: 850px; }
  body[data-ava-module="facturacion"] .credit-center-facts { grid-template-columns: 1fr; }
  body[data-ava-module="facturacion"] .credit-center-heading,
  body[data-ava-module="facturacion"] .credit-center-grouping,
  body[data-ava-module="facturacion"] .credit-center-scope,
  body[data-ava-module="facturacion"] .credit-center-pager { flex-direction: column; align-items: stretch; }
  body[data-ava-module="facturacion"] .credit-center-filters,
  body[data-ava-module="facturacion"] .credit-center-detail-grid,
  body[data-ava-module="facturacion"] .credit-center-detail-status { grid-template-columns: 1fr; }
}

/* Reportes: bandeja compacta aprobada. No modifica expedientes ni otros módulos. */
.incident-case-list { min-width: 0; container-type: inline-size; container-name: incident-cases; }
.incident-case-list .card-header { align-items: center; gap: var(--ava-space-3); }
.incident-case-list .incident-list-tools,
.incident-case-list .incident-pagination { display: flex; align-items: center; justify-content: space-between; gap: var(--ava-space-3); flex-wrap: wrap; margin-block: var(--ava-space-3); }
.incident-case-list .incident-pagination { margin-bottom: 0; }
.incident-case-list label { display: flex; align-items: center; gap: var(--ava-space-2); color: var(--ava-text-secondary); font-size: var(--ava-font-sm); }
.incident-case-list label select { width: auto; min-height: var(--ava-control-height-compact); }
.incident-case-list .incident-pagination select { min-width: 68px; }
.incident-case-list .toolbar > span { color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.incident-case-list .incident-table--compact { min-height: 0; max-height: none; overflow: visible; scrollbar-gutter: auto; }
.incident-case-list .incident-table--compact > table { width: 100%; min-width: 0; table-layout: fixed; }
.incident-case-list .incident-col-case { width: 24%; }
.incident-case-list .incident-col-status { width: 22%; }
.incident-case-list .incident-col-actions { width: 240px; }
.incident-case-list .incident-case-table th,
.incident-case-list .incident-case-table td { min-width: 0; width: auto; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.incident-case-list .incident-case-table td { padding: var(--ava-space-4) var(--ava-space-3); vertical-align: top; }
.incident-case-list .incident-case-number { display: block; color: var(--ava-interactive); font-size: var(--ava-font-sm); font-weight: var(--ava-font-semibold); }
.incident-case-list .incident-case-secondary { display: block; margin-top: var(--ava-space-1); color: var(--ava-text-secondary); font-size: var(--ava-font-xs); }
.incident-case-list .incident-case-row:hover > td { background: var(--ava-background); }
.incident-case-list .status-pill { max-width: 100%; border-radius: var(--ava-radius-input); justify-content: flex-start; text-align: left; white-space: normal; }
.incident-case-list .incident-case-actions { display: flex; flex-flow: row nowrap; align-items: center; gap: var(--ava-space-2); }
.incident-case-list .incident-case-actions .table-action { display: inline-flex; align-items: center; justify-content: center; gap: var(--ava-space-1); min-height: var(--ava-control-height-compact); padding: var(--ava-space-2); flex: 0 0 auto; white-space: nowrap; font-size: var(--ava-font-sm); line-height: 18px; }
.incident-case-list .incident-case-actions .table-action:first-child { color: var(--ava-interactive); }
.incident-case-list .incident-case-toggle .ui-icon { width: 16px; height: 16px; flex: 0 0 16px; }
.incident-case-list .incident-case-toggle[aria-expanded="true"] .ui-icon { transform: rotate(180deg); }
.incident-case-list .incident-case-extra[hidden] { display: none !important; }
.incident-case-list .incident-case-extra td { background: var(--ava-background); }
.incident-case-list .incident-case-extra dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ava-space-4) var(--ava-space-6); margin: 0; }
.incident-case-list .incident-case-extra dt { color: var(--ava-text-secondary); font-size: var(--ava-font-xs); margin-bottom: var(--ava-space-1); }
.incident-case-list .incident-case-extra dd { margin: 0; overflow-wrap: anywhere; }
.incident-case-list .incident-table[aria-busy="true"] { opacity: .65; }
@container incident-cases (max-width: 760px) {
  .incident-case-list .incident-case-table,
  .incident-case-list .incident-case-table tbody { display: block; }
  .incident-case-list .incident-case-table thead,
  .incident-case-list .incident-case-table colgroup { display: none; }
  .incident-case-list .incident-case-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ava-space-3); padding: var(--ava-space-4); border-bottom: 1px solid var(--ava-border); }
  .incident-case-list .incident-case-row > td { display: block; border: 0; padding: 0; }
  .incident-case-list .incident-case-extra,
  .incident-case-list .incident-case-extra > td { display: block; }
  .incident-case-list .incident-case-extra dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .incident-case-list .incident-list-tools .toolbar,
  .incident-case-list .incident-pagination .toolbar { justify-content: space-between; width: 100%; }
}
@container incident-cases (max-width: 430px) {
  .incident-case-list .incident-case-extra dl { grid-template-columns: 1fr; }
  .incident-case-list .incident-list-tools label { align-items: flex-start; flex-direction: column; width: 100%; }
  .incident-case-list .incident-list-tools select { width: 100%; }
}
/* Gastos: selección por lote, sin desplazar las acciones fuera de la bandeja. */
#expense-revision-form .expense-form-wide{grid-column:1/-1}
.expense-revision-history{margin-top:20px}
.expense-revision-history details{padding:12px 0;border-top:1px solid var(--ava-border)}
.expense-revision-history summary{cursor:pointer;font-weight:600;line-height:1.6}
.expense-revision-history td{white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:top;max-width:360px}
.expense-batch-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--ava-border);background:var(--ava-background)}
.expense-batch-toolbar>label{display:flex;align-items:center;gap:8px;font-weight:600;white-space:nowrap}
.expense-batch-toolbar>span{flex:1;min-width:180px;font-size:12px;color:var(--ava-text-secondary)}
.expense-batch-toolbar input,.expense-selection input{width:17px;height:17px;accent-color:var(--ava-primary);flex:none}
.expense-selection{display:inline-flex;vertical-align:middle;margin-right:8px}
.expense-cell-main>.expense-selection+button{max-width:calc(100% - 36px)}
.expense-description{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:700px){.expense-batch-toolbar{gap:10px;padding:12px}.expense-batch-toolbar>span{flex-basis:100%}.expense-batch-toolbar>.button{flex:1}}

/* Portal de agencias: composición nativa, sin sustituir el encabezado ni los tokens de AVA. */
#agency-content{display:grid;gap:16px;min-width:0}
#agency-content>*{min-width:0}
#agency-content>.card,#agency-content>.filter-bar,#agency-content>.screen-heading{margin:0}
#agency-content .agency-source-filters{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(145px,1fr)) repeat(2,minmax(170px,1fr));gap:16px;align-items:end}
#agency-content .agency-source-filters>.heading-actions{grid-column:1/-1;justify-content:flex-end}
#agency-content .agency-work-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--ava-border)}
#agency-content .agency-work-row p{margin:6px 0 0;color:var(--ava-text-secondary)}
#agency-content .agency-workspace-footer,#agency-content .agency-document-toolbar,#agency-content .agency-source-context,#agency-content .agency-report-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#agency-content .agency-workspace-footer{padding-top:16px}
#agency-content .agency-document-toolbar,#agency-content .agency-source-context,#agency-content .agency-report-tools{margin-bottom:16px}
#agency-content .agency-source-context{padding:12px 16px;background:var(--ava-primary-soft);border-radius:var(--ava-radius-md,8px)}
#agency-content .agency-document-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:0 0 16px}
#agency-content .agency-document-facts dt{font-size:12px;color:var(--ava-text-secondary);margin-bottom:6px}
#agency-content .agency-document-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
#agency-content .agency-document-details summary{cursor:pointer;font-weight:600}
#agency-content .agency-document-details[open] summary{margin-bottom:18px}
#agency-content .agency-workspace-table,#agency-content .agency-packages-table{min-height:0;max-height:none;overflow-x:auto}
#agency-content .agency-workspace-table table{min-width:100%;width:max-content}
#agency-content .agency-workspace-table th{white-space:nowrap}
#agency-content .agency-workspace-table td{vertical-align:middle}
#agency-content .agency-workspace-table td.cell-wrap{min-width:180px;max-width:340px}
#agency-content .agency-workspace-table td small{display:block;color:var(--ava-text-secondary)}
#agency-content .agency-inline-search{margin-bottom:16px}
#agency-content .agency-money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#agency-content .agency-receipt-confirm{display:flex;align-items:center;gap:10px}
#agency-content .agency-receipt-confirm input{width:18px;height:18px;flex:none}
#agency-content .agency-receipt-notes{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:16px}
#agency-content .agency-history-filters{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:12px;align-items:end}
@media(max-width:1200px){#agency-content .agency-source-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#agency-content .agency-source-filters>.field:first-child{grid-column:1/-1}}
@media(max-width:640px){#agency-content .agency-source-filters,#agency-content .agency-history-filters{grid-template-columns:1fr}#agency-content .agency-work-row{align-items:flex-start;flex-direction:column}#agency-content .agency-document-toolbar>.heading-actions{width:100%}#agency-content .agency-document-toolbar>.heading-actions>.button{flex:1}#agency-content .agency-document-facts{grid-template-columns:1fr}}
/* Agencia · mesa integrada. Composición compacta sobre componentes AVA, sin otra identidad. */
body[data-ava-module="agencias"] .agency-desk-heading{margin-bottom:var(--ava-space-3);align-items:center}
body[data-ava-module="agencias"] .agency-desk-heading h1{font-size:var(--ava-font-2xl)}
body[data-ava-module="agencias"] .agency-desk-heading p{display:none}
#agency-content .agency-desk{padding:0;overflow:clip}
#agency-content .agency-desk-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--ava-space-3);align-items:start;padding:var(--ava-space-3) var(--ava-space-4);border-bottom:1px solid var(--ava-border);margin:0}
#agency-content .agency-desk-searchline{display:flex;align-items:center;gap:var(--ava-space-2);min-width:0}
#agency-content .agency-desk-searchline input{flex:1;min-width:120px;max-width:560px;height:var(--ava-control-height-compact)}
#agency-content .agency-desk-count{font-size:var(--ava-font-sm);color:var(--ava-text-secondary);white-space:nowrap;margin-left:auto}
#agency-content .agency-desk-filter summary{cursor:pointer;padding:var(--ava-space-2) var(--ava-space-3);border:1px solid var(--ava-border);border-radius:var(--ava-radius-button);font-size:var(--ava-font-sm);min-height:var(--ava-control-height-compact)}
#agency-content .agency-desk-search:has(.agency-desk-filter[open]){grid-template-columns:1fr}
#agency-content .agency-desk-filter-fields{display:flex;align-items:end;gap:var(--ava-space-3);flex-wrap:wrap;padding-top:var(--ava-space-3)}
#agency-content .agency-desk-filter-fields .field{flex:1;min-width:140px;margin:0}
#agency-content .agency-desk-list{min-height:0;max-height:none;overflow-x:auto;border:0;border-radius:0}
#agency-content .agency-desk-list>table{width:100%;table-layout:fixed;min-width:900px}
#agency-content .agency-desk-list>table>thead>tr>th:first-child{width:23%}
#agency-content .agency-desk-list>table>thead>tr>th:nth-child(2){width:17%}
#agency-content .agency-desk-list>table>thead>tr>th:nth-child(3){width:7%}
#agency-content .agency-desk-list>table>thead>tr>th:nth-child(4){width:17%}
#agency-content .agency-desk-list>table>thead>tr>th:nth-child(5){width:21%}
#agency-content .agency-desk-list>table>thead>tr>th:last-child{width:15%}
#agency-content .agency-desk-list>table>tbody>tr>td,#agency-content .agency-desk-list th{padding:var(--ava-space-2) var(--ava-space-3);font-size:var(--ava-font-sm);vertical-align:middle;text-align:left}
#agency-content .agency-desk-list td.agency-money{text-align:right}
#agency-content .agency-desk-list td small{display:block;font-size:var(--ava-font-xs);color:var(--ava-text-secondary);margin-top:var(--ava-space-1);overflow-wrap:anywhere}
#agency-content .agency-desk-list .is-selected>td{background:var(--ava-primary-soft)}
#agency-content .agency-desk-invoice{border:0;background:none;color:var(--ava-interactive);font:inherit;font-weight:var(--ava-font-semibold);padding:var(--ava-space-1) 0;cursor:pointer;text-align:left}
#agency-content .agency-desk-invoice span{display:inline-block;transition:transform .15s}
#agency-content .agency-desk-invoice[aria-expanded="true"] span{transform:rotate(90deg)}
#agency-content .agency-desk-actions{display:flex;gap:var(--ava-space-1);flex-wrap:wrap}
#agency-content .agency-desk .agency-workspace-footer{padding:var(--ava-space-2) var(--ava-space-4);font-size:var(--ava-font-xs)}
#agency-content .button{min-height:var(--ava-control-height-compact)}
#agency-content .agency-package-filters,#agency-content .agency-custody-filters,#agency-content .agency-history-filters{padding:var(--ava-space-3);gap:var(--ava-space-2);margin:0}
#agency-content .agency-package-filters .field,#agency-content .agency-custody-filters .field,#agency-content .agency-history-filters .field{margin:0}
#agency-content .agency-package-heading p{display:none}
#agency-content .agency-packages-table td,#agency-content .agency-packages-table th{padding:var(--ava-space-2) var(--ava-space-3);font-size:var(--ava-font-sm)}
#agency-content .agency-packages-table .table-action{white-space:nowrap}
@media(max-width:700px){#agency-content .agency-desk-search{grid-template-columns:1fr}#agency-content .agency-desk-searchline{flex-wrap:wrap}#agency-content .agency-desk-count{display:none}#agency-content .agency-desk-searchline input{max-width:none;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){#agency-content .agency-desk-invoice span{transition:none}}
/* Controles de operación: búsqueda compacta y acciones separadas. */
#agency-content .agency-desk-package-search{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ava-space-2);background:var(--ava-surface);border:1px solid var(--ava-border);border-radius:var(--ava-radius-card)}
#agency-content .agency-desk-package-search .agency-desk-search-field{flex:1;min-width:220px}
#agency-content .agency-desk-package-search .field>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#agency-content .agency-desk-package-search .field input,#agency-content .agency-desk-package-search .field select{height:var(--ava-control-height-compact)}
#agency-content .agency-desk-selection{display:flex;align-items:center;gap:var(--ava-space-2);flex-wrap:wrap}
#agency-content .agency-desk-selection>span{margin-right:auto;font-size:var(--ava-font-sm);color:var(--ava-text-secondary)}
#agency-content .agency-desk-reception-search{display:flex;align-items:end;gap:var(--ava-space-2)}
#agency-content .agency-desk-reception-search .field{min-width:220px}
#agency-content .agency-desk-selection[hidden]{display:none}
#agency-content .agency-desk-package-search>.button{width:auto;flex:0 0 auto;align-self:center}
#agency-content .agency-desk-package-search{box-shadow:none}
#agency-content .agency-packages-table td,#agency-content .agency-packages-table th{text-align:left}
#agency-content .agency-packages-table td.cell-wrap{min-width:160px;max-width:240px}
/* El tema oscuro aplica fondo !important a module-tab; conservar la selección visible. */
body[data-ava-module="agencias"] .module-tabs.agency-tabs .module-tab.is-active{background:var(--ava-primary)!important;color:var(--ava-text-on-emphasis)}
/* Paginación y filas de paquetes coherentes en las cinco vistas del portal. */
#agency-content .agency-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--ava-space-3);padding:var(--ava-space-3) var(--ava-space-4);border-top:1px solid var(--ava-border);font-size:var(--ava-font-sm);color:var(--ava-text-secondary)}
#agency-content .agency-pagination>label,#agency-content .agency-pagination>div{display:flex;align-items:center;gap:var(--ava-space-2);margin:0}
#agency-content .agency-pagination select{width:72px;min-width:0;height:var(--ava-control-height-compact)}
#agency-content .agency-pagination>div>span{white-space:nowrap}
#agency-content .agency-company-table .agency-pagination>div{flex-wrap:wrap;max-width:100%}
#agency-content .agency-package-choice{display:flex;align-items:center;gap:var(--ava-space-2);margin:0;text-align:left;font-size:var(--ava-font-sm);color:var(--ava-text-primary)}
#agency-content .agency-package-choice input[type="checkbox"]{width:16px;min-width:16px;max-width:16px;height:16px;flex:none;margin:0}
#agency-content .agency-package-choice strong{overflow-wrap:anywhere;color:var(--ava-interactive)}
#agency-content .agency-package-operation{display:grid;justify-items:start;gap:var(--ava-space-2);margin-top:var(--ava-space-3)}
#agency-content .agency-package-operation .status-pill{white-space:normal;text-align:left}
#agency-content .agency-package-operation .button{white-space:normal;max-width:100%}
#agency-content .agency-task[hidden],#agency-content .agency-reception-row[hidden],#agency-content tr[hidden]{display:none!important}
@media(max-width:600px){#agency-content .agency-pagination{padding:var(--ava-space-3);gap:var(--ava-space-2)}#agency-content .agency-pagination>div{flex-basis:100%;justify-content:space-between}#agency-content .agency-pagination>label{margin-left:auto}}
/* Centro de tareas, documento y recepción: superficies propias, nunca dentro de celdas. */
#agency-content .agency-home-title{display:flex;align-items:baseline;gap:var(--ava-space-3);margin-bottom:var(--ava-space-4)}
#agency-content .agency-home-title h2{margin:0;font-size:var(--ava-font-lg)}
#agency-content .agency-home-title>span{color:var(--ava-text-secondary);font-size:var(--ava-font-sm)}
#agency-content .agency-home-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--ava-space-4);align-items:start}
#agency-content .agency-home-grid>.card{margin:0;min-width:0;padding:var(--ava-space-4)}
#agency-content .agency-home-grid h2{font-size:var(--ava-font-lg);margin:0}
#agency-content .agency-count{color:var(--ava-interactive);margin-left:var(--ava-space-2)}
#agency-content .agency-task{display:flex;justify-content:space-between;align-items:center;gap:var(--ava-space-4);padding:var(--ava-space-4) 0;border-top:1px solid var(--ava-border)}
#agency-content .agency-task>div{min-width:0;display:grid;gap:var(--ava-space-1);overflow-wrap:anywhere}
#agency-content .agency-task span,#agency-content .agency-task small{color:var(--ava-text-secondary);font-size:var(--ava-font-sm)}
#agency-content .agency-task>.button{flex:none}
#agency-content .agency-home-empty{padding:var(--ava-space-5) var(--ava-space-3);text-align:left}
#agency-content .agency-home-empty h3{margin:0 0 var(--ava-space-2);font-size:var(--ava-font-md)}
#agency-content .agency-home-empty p,#agency-content .agency-home-more{margin:0;color:var(--ava-text-secondary);font-size:var(--ava-font-sm)}
#agency-content .agency-next-action{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;background:transparent;color:var(--ava-text-primary);border:0;border-bottom:1px solid var(--ava-border);padding:var(--ava-space-5) 0;font:inherit;cursor:pointer;gap:var(--ava-space-3)}
#agency-content .agency-next-action span{display:grid;gap:var(--ava-space-1)}
#agency-content .agency-next-action small{font-size:var(--ava-font-xs);color:var(--ava-text-secondary)}
#agency-content .agency-next-action b{font-size:var(--ava-font-xl);color:var(--ava-interactive)}
#agency-content .agency-next-action:hover strong{text-decoration:underline;color:var(--ava-interactive)}
#agency-content .agency-home-links{display:grid;gap:var(--ava-space-2);margin-top:var(--ava-space-4)}
#agency-content .agency-document-page,#agency-content .agency-receiving-page{display:grid;gap:var(--ava-space-4);min-width:0;max-width:100%}
#agency-content .agency-page-topline{display:flex;justify-content:space-between;gap:var(--ava-space-2);flex-wrap:wrap}
#agency-content .agency-document-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--ava-space-4);min-width:0}
#agency-content .agency-document-heading>div{min-width:0;overflow-wrap:anywhere}
#agency-content .agency-document-heading h2{font-size:var(--ava-font-xl);margin:var(--ava-space-1) 0}
#agency-content .agency-document-heading p{margin:0;color:var(--ava-text-secondary);font-size:var(--ava-font-sm)}
#agency-content .agency-eyebrow{color:var(--ava-interactive);font-size:var(--ava-font-xs);font-weight:600}
#agency-content .agency-document-total{display:grid;text-align:right;gap:var(--ava-space-1)}
#agency-content .agency-document-total strong{font-size:var(--ava-font-xl)}
#agency-content .agency-document-total span{color:var(--ava-text-secondary);font-size:var(--ava-font-sm)}
#agency-content .agency-receipt-links{display:flex;align-items:center;gap:var(--ava-space-3);flex-wrap:wrap}
#agency-content .agency-receipt-links>div{display:flex;align-items:center;gap:var(--ava-space-4);padding:var(--ava-space-3);background:var(--ava-primary-soft);border-radius:var(--ava-radius-input);max-width:100%}
#agency-content .agency-receipt-links>div>span{display:grid;gap:var(--ava-space-1);overflow-wrap:anywhere;min-width:0}
#agency-content .agency-receipt-links small,#agency-content .agency-receipt-links>p{color:var(--ava-text-secondary);font-size:var(--ava-font-sm);margin:0}
#agency-content .agency-review-card{padding:0;margin:0;min-width:0;overflow:hidden;min-height:0}
#agency-content .agency-review-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ava-space-3);padding:var(--ava-space-3) var(--ava-space-4);min-width:0}
#agency-content .agency-review-toolbar h2,#agency-content .agency-review-toolbar h3{margin:0;font-size:var(--ava-font-md)}
#agency-content .agency-review-toolbar input{flex:1;min-width:160px;max-width:420px;height:var(--ava-control-height-compact)}
#agency-content .agency-review-toolbar select{width:auto;max-width:100%;height:var(--ava-control-height-compact)}
#agency-content .agency-review-toolbar>span{font-size:var(--ava-font-xs);color:var(--ava-text-secondary);margin-left:auto}
#agency-content .agency-review-table{max-width:100%;min-width:0}
#agency-content .agency-review-table tr[hidden]{display:none!important}
#agency-content .agency-review-table table{width:100%;min-width:0;table-layout:fixed}
#agency-content .agency-review-table th,#agency-content .agency-review-table td{white-space:normal;overflow-wrap:anywhere;text-align:left;vertical-align:top;padding:var(--ava-space-3);font-size:var(--ava-font-sm)}
#agency-content .agency-review-table th:first-child{width:28%}
#agency-content .agency-review-table th:nth-child(2){width:25%}
#agency-content .agency-review-table th:nth-child(3){width:19%}
#agency-content .agency-review-table td>strong{display:block;color:var(--ava-interactive)}
#agency-content .agency-review-table p{margin:var(--ava-space-2) 0 0;line-height:1.5}
#agency-content .agency-review-table dl{margin:0;display:grid;gap:var(--ava-space-2)}
#agency-content .agency-package-fact dt{font-size:var(--ava-font-xs);color:var(--ava-text-secondary);margin-bottom:2px}
#agency-content .agency-package-fact dd{margin:0;line-height:1.4}
#agency-content .agency-package-amount{display:block;margin-top:var(--ava-space-2)}
#agency-content .agency-package-charge{margin:var(--ava-space-2) 0;font-size:var(--ava-font-xs)}
#agency-content .agency-package-charge summary{cursor:pointer;color:var(--ava-interactive)}
#agency-content .agency-package-charge dl{margin-top:var(--ava-space-2)}
#agency-content .agency-invoice-finance{padding:var(--ava-space-3) var(--ava-space-4);border:1px solid var(--ava-border);border-radius:var(--ava-radius-card);background:var(--ava-surface)}
#agency-content .agency-invoice-finance summary{cursor:pointer;font-size:var(--ava-font-sm)}
#agency-content .agency-reception-inbox{min-width:0}
#agency-content .agency-reception-inbox>.agency-review-toolbar{padding:0 0 var(--ava-space-4)}
#agency-content .agency-reception-inbox h2{margin-right:auto;font-size:var(--ava-font-lg)}
#agency-content .agency-reception-list{border:1px solid var(--ava-border);border-radius:var(--ava-radius-card);background:var(--ava-surface);overflow:hidden}
#agency-content .agency-reception-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto auto;gap:var(--ava-space-4);align-items:center;padding:var(--ava-space-4);border-bottom:1px solid var(--ava-border)}
#agency-content .agency-reception-row:last-child{border-bottom:0}
#agency-content .agency-reception-row>div{min-width:0;display:grid;gap:var(--ava-space-1);overflow-wrap:anywhere}
#agency-content .agency-reception-row h3{margin:0;font-size:var(--ava-font-md)}
#agency-content .agency-reception-row small,#agency-content .agency-reception-row>div>span{font-size:var(--ava-font-xs);color:var(--ava-text-secondary)}
#agency-content .agency-receiving-layout{display:grid;grid-template-columns:minmax(0,1fr) 296px;gap:var(--ava-space-4);align-items:start;min-width:0}
#agency-content .agency-receiving-page>.agency-page-topline{align-items:center;gap:var(--ava-space-4)}
#agency-content .agency-receiving-page .agency-document-heading{flex:1;min-width:240px}
#agency-content .agency-receiving-page .agency-document-heading h2{font-size:var(--ava-font-lg)}
#agency-content .agency-receiving-summary{margin:0;padding:var(--ava-space-4);min-width:0;position:sticky;top:var(--ava-space-3)}
#agency-content .agency-receiving-summary h3{margin:0 0 var(--ava-space-3);font-size:var(--ava-font-md)}
#agency-content .agency-receiving-facts{display:grid;gap:var(--ava-space-2);margin:0 0 var(--ava-space-4)}
#agency-content .agency-receiving-facts>div{display:flex;justify-content:space-between;gap:var(--ava-space-3);align-items:baseline}
#agency-content .agency-receiving-facts dt{font-size:var(--ava-font-xs);color:var(--ava-text-secondary);flex:none}
#agency-content .agency-receiving-facts dd{margin:0;font-size:var(--ava-font-xs);text-align:right;overflow-wrap:anywhere}
#agency-content #custody-review-form{display:grid;gap:var(--ava-space-2);min-width:0}
#agency-content #custody-review-form>.field{margin:0}
#agency-content #custody-review-form textarea{resize:vertical;min-height:56px;max-width:100%;box-sizing:border-box}
#agency-content #custody-review-form .agency-receipt-confirm{display:flex;align-items:flex-start;gap:var(--ava-space-2);font-size:var(--ava-font-sm);text-align:left;line-height:1.45}
#agency-content #custody-confirm{flex:none;width:16px;height:16px;margin:2px 0 0}
#agency-content #custody-review-form>.button{width:100%;white-space:normal}
#agency-content #custody-review-form>small,#agency-content .agency-permission-note{font-size:var(--ava-font-xs);color:var(--ava-text-secondary)}

/* Approved client statement: direct consultation, native tokens and components. */
.statement-direct { display:grid; gap:var(--ava-space-4); min-width:0; }
.statement-direct>* { min-width:0; max-width:100%; }
.dialog--statement-direct .dialog-header h2,.dialog--statement-direct .dialog-header p { white-space:normal; overflow-wrap:anywhere; text-overflow:clip; }
.statement-direct [hidden] { display:none !important; }
.statement-direct-heading { display:flex; align-items:center; justify-content:space-between; gap:var(--ava-space-3); }
.statement-direct-heading>div:first-child { min-width:0; overflow-wrap:anywhere; }
.statement-direct small { display:block; font-size:var(--ava-font-xs); color:var(--ava-text-secondary); font-weight:400; }
.statement-direct-heading .heading-actions { flex:none; }
.statement-direct :is(button,input,select) { min-height:36px; }
.statement-direct .button { padding:var(--ava-space-2) var(--ava-space-3); font-size:var(--ava-font-sm); }
.statement-direct .statement-direct-filters { display:grid; grid-template-columns:minmax(135px,1fr) minmax(155px,1fr) minmax(145px,.85fr) minmax(145px,.85fr) auto; align-items:end; gap:var(--ava-space-3); padding:var(--ava-space-3); background:var(--ava-background); border:1px solid var(--ava-border); border-radius:var(--ava-radius-input); }
.statement-direct-filters .field { min-width:0; margin:0; }
.statement-direct-filters .field>span { text-transform:none; font-size:var(--ava-font-xs); }
.statement-direct-filters :is(input,select) { min-width:0; width:100%; height:36px; font-size:var(--ava-font-sm); }
.statement-direct-filter-actions { display:flex; gap:var(--ava-space-2); }
.statement-direct-tabs { display:flex; gap:var(--ava-space-4); border-bottom:1px solid var(--ava-border); }
.statement-direct-tabs button { padding:var(--ava-space-2) 0; border:0; border-bottom:3px solid transparent; background:transparent; color:var(--ava-text-secondary); font-weight:600; border-radius:0; }
.statement-direct-tabs button[aria-selected="true"] { border-bottom-color:var(--ava-primary); color:var(--ava-interactive); }
.statement-direct .table-wrap { min-width:0; width:100%; max-height:none; }
.statement-direct .table-wrap .statement-direct-table { min-width:0; width:100%; table-layout:fixed; font-size:var(--ava-font-sm); }
.statement-direct-table th,.statement-direct-table td { white-space:normal; padding:var(--ava-space-3) var(--ava-space-2); text-align:left; overflow-wrap:anywhere; vertical-align:middle; }
.statement-direct-table th:first-child { width:22%; }
.statement-direct-table th:nth-child(2) { width:12%; }
.statement-direct-table th:nth-child(3) { width:12%; }
.statement-direct-table th:nth-child(4) { width:12%; }
.statement-direct-table th:nth-child(5) { width:12%; }
.statement-direct-table th:nth-child(6) { width:16%; }
.statement-direct-table th:nth-child(7) { width:14%; }
.statement-direct-table :is(th,td):nth-child(n+5) { text-align:right; font-variant-numeric:tabular-nums; }
.statement-direct-table .statement-amount { white-space:nowrap; overflow-wrap:normal; }
.statement-direct-table .statement-amount span { display:flex; flex-wrap:wrap; justify-content:flex-end; column-gap:var(--ava-space-1); }
.statement-direct-table .statement-amount span small { display:inline; margin-left:var(--ava-space-1); }
.statement-invoice-link { display:block; min-height:0 !important; padding:0; border:0; background:transparent; color:var(--ava-interactive); font:inherit; font-weight:600; text-align:left; overflow-wrap:anywhere; }
.statement-invoice-link:hover { text-decoration:underline; }
.statement-direct-total { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:var(--ava-space-2); padding:var(--ava-space-3) 0; font-size:var(--ava-font-sm); }
.statement-direct-total strong { margin-left:var(--ava-space-3); font-size:var(--ava-font-lg); font-variant-numeric:tabular-nums; white-space:nowrap; }
.statement-direct .list-pagination { margin:0; }
.statement-account-scope { margin:0 0 var(--ava-space-3); font-size:var(--ava-font-xs); line-height:1.5; color:var(--ava-text-secondary); }
.statement-account-summary { padding-top:var(--ava-space-3); border-top:1px solid var(--ava-border); font-size:var(--ava-font-sm); }
.statement-account-summary summary { cursor:pointer; color:var(--ava-interactive); }
.statement-account-summary dl { display:grid; gap:var(--ava-space-2); }
.statement-account-summary dl>div { display:flex; justify-content:space-between; gap:var(--ava-space-3); }
.statement-account-summary dd { margin:0; white-space:nowrap; font-variant-numeric:tabular-nums; }
.statement-inline-detail { border:1px solid var(--ava-border); border-radius:var(--ava-radius-input); padding:var(--ava-space-4); background:var(--ava-background); margin-top:var(--ava-space-3); }
.statement-inline-detail h3,.statement-inline-detail h4 { font-size:var(--ava-font-md); overflow-wrap:anywhere; }
.statement-invoice-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--ava-space-3); }
.statement-invoice-facts dt { color:var(--ava-text-secondary); font-size:var(--ava-font-xs); }
.statement-invoice-facts dd { margin:var(--ava-space-1) 0 0; font-size:var(--ava-font-sm); overflow-wrap:anywhere; }
.statement-linked-movements { list-style:none; margin:0; padding:0; }
.statement-linked-movements li { display:flex; justify-content:space-between; align-items:baseline; gap:var(--ava-space-3); padding:var(--ava-space-3) 0; border-top:1px solid var(--ava-border); font-size:var(--ava-font-sm); }
.statement-linked-movements li>div { min-width:0; overflow-wrap:anywhere; }
.statement-linked-movements li>span { flex:none; text-align:right; white-space:nowrap; }
@media(max-width:1050px) {
  .statement-direct .statement-direct-filters { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .statement-direct-filter-actions { grid-column:1/-1; justify-content:flex-end; }
  .statement-direct-table { font-size:var(--ava-font-xs); }
}
@media(max-width:900px) {
  .statement-direct-heading { align-items:flex-start; flex-wrap:wrap; }
  .statement-direct .statement-direct-filters { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--ava-space-2); }
  .statement-direct-table :is(thead) { display:none; }
  .statement-direct-table,.statement-direct-table tbody { display:block; width:100%; }
  .statement-direct-table tr { display:grid; grid-template-columns:1fr 1fr; gap:var(--ava-space-3); padding:var(--ava-space-3); border-bottom:1px solid var(--ava-border); }
  .statement-direct-table td { display:block; padding:0; border:0; text-align:left !important; }
  .statement-direct-table td:first-child { grid-column:1/-1; padding-bottom:var(--ava-space-2); border-bottom:1px solid var(--ava-border); }
  .statement-direct-table td:not(:first-child)::before { content:attr(data-label); display:block; color:var(--ava-text-secondary); font-size:var(--ava-font-xs); margin-bottom:var(--ava-space-1); }
  .statement-direct-table .statement-amount { white-space:normal; overflow-wrap:anywhere; }
  .statement-direct-table .statement-amount span { justify-content:flex-start; }
  .statement-direct-table .statement-amount strong { white-space:nowrap; }
  .statement-direct-total>span:last-child { display:grid; gap:var(--ava-space-1); }
  .statement-direct-total strong { margin-left:0; }
  .statement-invoice-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .statement-linked-movements li { flex-wrap:wrap; }
  .statement-direct :is(input,select,.button,.statement-direct-tabs button) { min-height:44px; height:auto; }
}
@media(max-width:360px) { .statement-direct .statement-direct-filters { grid-template-columns:minmax(0,1fr); } }
@media(max-width:1000px){#agency-content .agency-home-grid{grid-template-columns:1fr}#agency-content .agency-home-next{display:grid;grid-template-columns:1fr 1fr;gap:var(--ava-space-3)}#agency-content .agency-home-next h2,#agency-content .agency-home-links{grid-column:1/-1}#agency-content .agency-receiving-layout{grid-template-columns:1fr}#agency-content .agency-receiving-summary{position:static}#agency-content .agency-reception-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#agency-content .agency-reception-row>.button{justify-self:end}}
@media(max-width:600px){#agency-content .agency-home-title,#agency-content .agency-document-heading{align-items:flex-start;flex-direction:column}#agency-content .agency-task{align-items:flex-start;flex-direction:column}#agency-content .agency-document-total{text-align:left}#agency-content .agency-review-table table,#agency-content .agency-review-table tbody,#agency-content .agency-review-table tr,#agency-content .agency-review-table td{display:block;width:auto}#agency-content .agency-review-table thead{display:none}#agency-content .agency-review-table tr{display:grid;grid-template-columns:1fr 1fr;padding:var(--ava-space-2);border-bottom:1px solid var(--ava-border)}#agency-content .agency-review-table td{border:0;padding:var(--ava-space-2)}#agency-content .agency-review-table td:first-child{grid-column:1/-1}#agency-content .agency-receipt-links>div{flex-wrap:wrap}#agency-content .agency-review-toolbar input{flex-basis:100%;max-width:none}#agency-content .agency-reception-row{gap:var(--ava-space-3)}#agency-content .agency-reception-row>div:first-child{grid-column:1/-1}#agency-content .agency-reception-row>.button{grid-column:1/-1;justify-self:stretch}}
@media(max-width:700px){body[data-ava-module="agencias"] .module-tabs.agency-tabs{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start}body[data-ava-module="agencias"] .agency-tabs .module-tab{flex:none;white-space:nowrap}body[data-ava-module="agencias"] .agency-desk-heading{flex-direction:row;text-align:left;gap:var(--ava-space-2)}body[data-ava-module="agencias"] .agency-desk-heading h1{font-size:var(--ava-font-xl)}body[data-ava-module="agencias"] .agency-desk-heading>.heading-actions{width:auto}}
