/* Los valores de estado mantienen el mismo cuerpo visual */
.client-status-badge{
  font-family:"Segoe UI Semibold","Segoe UI",Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:600!important;
}

/* Acciones no deben reducir visualmente los datos de la tabla */
.client-row-actions small{
  font-family:"Segoe UI",Arial,sans-serif!important;
  font-size:9px!important;
  font-weight:400!important;
}


/* 4.16.341 · corrección definitiva del listado Clientes */
.records-table td:first-child{
  overflow:visible!important;
}
.client-list-name{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:245px!important;
}
.client-list-avatar{
  display:grid!important;
  place-items:center!important;
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  border-radius:50%!important;
  color:#fff!important;
  background:#1477f2!important;
  line-height:32px!important;
  text-align:center!important;
}
.client-list-name strong{
  display:block!important;
  min-width:0!important;
  color:#12365f!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.records-table td{
  color:#17365f!important;
}


/* 4.16.342 · Clientes Online 360º alineado con Desktop */
#record-modal.client-mode #record-fields,
#record-modal.provider-mode #record-fields{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-content:start!important;
}
#record-modal.client-mode .client-section.wide,
#record-modal.provider-mode .client-section.wide,
#record-modal.client-mode .client-related-section.wide,
#record-modal.provider-mode .client-related-section.wide,
#record-modal.client-mode .client-finance.wide,
#record-modal.provider-mode .client-finance.wide{
  grid-column:1/-1!important;
  width:100%!important;
}
.client-section h3{
  display:flex;
  align-items:center;
  gap:7px;
}
.client-section h3 .wf-svg-icon{
  color:#1477f2;
}
.client-related-section{
  border:1px solid #cfe0f1;
  background:#fff;
  min-height:360px;
}
.client-section-title{
  min-height:36px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 12px;
  background:#eaf3fd;
  color:#123b73;
  font-size:12px;
  font-weight:700;
}
.client-related-kpis{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  padding:10px 12px;
}
.client-related-kpis.four{
  grid-template-columns:repeat(4,1fr);
}
.client-mini-kpi{
  min-height:78px;
  border:1px solid #d5e2ef;
  border-radius:12px;
  display:grid;
  grid-template-columns:44px 1fr;
  gap:9px;
  align-items:center;
  padding:10px 12px;
  background:#fff;
}
.client-mini-icon{
  width:42px;
  height:42px;
  border-radius:50%;
  color:#fff;
  display:grid;
  place-items:center;
}
.client-mini-icon.blue{background:#1477f2}
.client-mini-icon.green{background:#12b95b}
.client-mini-icon.red{background:#ff3048}
.client-mini-icon.orange{background:#f39c12}
.client-mini-icon.purple{background:#5b35f2}
.client-mini-kpi small{
  display:block;
  color:#506784;
  font:400 12px "Segoe UI",Arial,sans-serif;
}
.client-mini-kpi strong{
  display:block;
  color:#123b73;
  margin-top:2px;
  font:600 18px "Segoe UI Semibold","Segoe UI",Arial,sans-serif;
}
.client-mini-kpi em{
  display:block;
  color:#7b8ca3;
  font:400 10px "Segoe UI",Arial,sans-serif;
  font-style:normal;
  margin-top:2px;
}
.client-related-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 12px 10px;
}
.client-related-toolbar label{
  display:flex;
  align-items:center;
  gap:8px;
  flex:1;
  color:#355270;
  font:400 12px "Segoe UI",Arial,sans-serif;
}
.client-related-toolbar input{
  flex:1;
  min-height:34px;
  border:1px solid #cbdceb;
  padding:0 9px;
  font:600 13.333px "Segoe UI Semibold","Segoe UI",Arial,sans-serif;
}
.client-related-toolbar>div{
  display:flex;
  gap:6px;
}
.client-related-table-wrap{
  margin:0 12px 12px;
  border:1px solid #e0e8f1;
  min-height:250px;
  overflow:auto;
}
.client-related-table{
  width:100%;
  border-collapse:collapse;
}
.client-related-table th{
  position:sticky;
  top:0;
  background:#f1f6fb;
  color:#345172;
  text-align:left;
  padding:9px 10px;
  border-bottom:1px solid #dce6f1;
  font:400 12px "Segoe UI",Arial,sans-serif;
}
.client-related-table td{
  padding:10px;
  border-bottom:1px solid #edf2f7;
  color:#17365f;
  font:600 13.333px "Segoe UI Semibold","Segoe UI",Arial,sans-serif;
}
.client-related-row{
  cursor:pointer;
}
.client-related-row:hover td{
  background:#eef6ff;
}
.client-related-row.selected td{
  background:#dfeeff;
}
.client-related-empty{
  text-align:center;
  color:#7890aa!important;
  padding:55px 10px!important;
  font-weight:400!important;
}
.client-finance{
  background:#fff;
}
.client-finance-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-bottom:10px;
}
.client-finance-filters{
  display:flex;
  align-items:center;
  gap:5px;
  margin-bottom:8px;
}
.client-finance-filters button{
  height:34px;
  padding:0 14px;
  border:1px solid #b9d3ef;
  background:#fff;
  color:#176bc7;
  font:600 11px "Segoe UI Semibold","Segoe UI",Arial,sans-serif;
  cursor:pointer;
}
.client-finance-filters button.active{
  color:#fff;
  background:#1477f2;
  border-color:#1477f2;
}
.client-finance-filters button:nth-child(2){
  color:#e88700;
  border-color:#f0c27e;
}
.client-finance-filters button:nth-child(2).active{
  color:#fff;
  background:#f39c12;
  border-color:#f39c12;
}
.client-finance-filters button:nth-child(3),
.client-finance-filters button:nth-child(4){
  color:#6f38ed;
  border-color:#cbbdf4;
}
.client-finance-filters button:nth-child(3).active,
.client-finance-filters button:nth-child(4).active{
  color:#fff;
  background:#6f38ed;
  border-color:#6f38ed;
}
.client-related-overlay{
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  background:rgba(8,30,62,.5);
  padding:20px;
}
.client-related-overlay.hidden{
  display:none!important;
}
.client-related-dialog{
  width:min(820px,95vw);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border-radius:10px;
  box-shadow:0 24px 80px rgba(5,29,65,.28);
}
.client-related-dialog-head{
  min-height:62px;
  display:flex;
  align-items:center;
  padding:12px 16px;
  border-bottom:1px solid #dce6f1;
}
.client-related-dialog-head>div{
  flex:1;
}
.client-related-dialog-head small{
  color:#1477f2;
  font-size:10px;
  font-weight:700;
}
.client-related-dialog-head h2{
  margin:2px 0 0;
  color:#123b73;
  font-size:19px;
}
.client-related-dialog-head>button{
  border:0;
  background:transparent;
  color:#526c8c;
  font-size:24px;
  cursor:pointer;
}
.client-related-fields{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  padding:16px;
}
.client-related-fields .wide{
  grid-column:1/-1;
}
.client-related-fields label{
  display:block;
  margin-bottom:5px;
  font:400 12px "Segoe UI",Arial,sans-serif;
  color:#244669;
}
.client-related-fields input,
.client-related-fields textarea{
  width:100%;
  box-sizing:border-box;
  min-height:38px;
  border:1px solid #cbdbea;
  padding:8px 10px;
  color:#15345c;
  font:600 13.333px "Segoe UI Semibold","Segoe UI",Arial,sans-serif;
}
.client-related-fields textarea{
  min-height:80px;
}
.client-related-dialog-actions{
  display:flex;
  justify-content:flex-end;
  gap:7px;
  padding:12px 16px;
  border-top:1px solid #dce6f1;
}
.client-address-grid,
.client-bank-grid{
  grid-template-columns:repeat(4,1fr)!important;
}
.client-address-grid .field-group:first-child,
.client-bank-grid .field-group:nth-child(4),
.client-bank-grid .field-group:nth-child(5){
  grid-column:span 2;
}
@media(max-width:1100px){
  .client-related-kpis,
  .client-related-kpis.four,
  .client-finance-kpis{grid-template-columns:repeat(2,1fr)}
  .client-address-grid,
  .client-bank-grid{grid-template-columns:repeat(2,1fr)!important}
}


/* 4.16.344 · Accesos rápidos activos en ficha de Cliente */
.client-quick-action{
  appearance:none;
  -webkit-appearance:none;
  text-align:left;
  cursor:pointer;
  font-family:"Segoe UI",Arial,sans-serif;
  transition:background .12s ease,border-color .12s ease,transform .06s ease;
}
.client-quick-action:hover:not(:disabled){
  background:#e5f1ff!important;
  border-color:#9fc9f5!important;
}
.client-quick-action.green:hover:not(:disabled){
  background:#ecfbf3!important;
  border-color:#8ed7ad!important;
}
.client-quick-action:active:not(:disabled){
  transform:translateY(1px);
}
.client-quick-action:focus-visible{
  outline:2px solid #1477f2;
  outline-offset:2px;
}
.client-quick-action.disabled,
.client-quick-action:disabled{
  cursor:not-allowed!important;
  opacity:.58;
}


/* 4.16.345 · Proveedores Online adopta la jerarquía visual WFERP */
body[data-route="proveedores"] #module-title{font-family:"Segoe UI",Arial,sans-serif;font-weight:700}
body[data-route="proveedores"] .module-table td{font-family:"Segoe UI",Arial,sans-serif;font-size:10pt;font-weight:600}
body[data-route="proveedores"] .module-table th{font-family:"Segoe UI",Arial,sans-serif;font-size:9pt;font-weight:400}


/* 4.16.348 · Proveedores Online 360º */
.provider-dialog{
  width:min(1480px,99vw)!important;
  height:min(1040px,97vh)!important;
  max-width:none!important;
  display:flex!important;
  flex-direction:column!important;
}
#record-modal.provider-mode .record-body{
  flex:1!important;
  min-height:0!important;
  overflow:auto!important;
}
#record-modal.provider-mode #record-fields{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-content:start!important;
}
.provider-tabs .provider-tab{
  flex:1;
}
.provider-list-avatar{
  background:#1477f2!important;
}
.provider-selected-actions button:nth-child(3){
  color:#e88700!important;
  border-color:#f2c88b!important;
  background:#fffaf2!important;
}
.provider-selected-actions button:nth-child(4){
  color:#6f38ed!important;
  border-color:#cfbdf7!important;
  background:#fbf8ff!important;
}
.provider-related-section{
  min-height:470px;
}
.provider-hero .client-identity small{
  color:#5e7390;
}
#record-modal.provider-mode .field-group label{
  font-family:"Segoe UI",Arial,sans-serif!important;
  font-size:12px!important;
  font-weight:400!important;
}
#record-modal.provider-mode .field-group input,
#record-modal.provider-mode .field-group select,
#record-modal.provider-mode .field-group textarea{
  font-family:"Segoe UI Semibold","Segoe UI",Arial,sans-serif!important;
  font-size:13.333px!important;
  font-weight:600!important;
}


/* 4.16.350 · Proveedores: ficha completa a pantalla útil, sin recortes */
#record-modal.provider-mode{
  padding:8px!important;
  align-items:stretch!important;
  justify-items:stretch!important;
}
#record-modal.provider-mode .record-dialog.provider-dialog{
  width:calc(100vw - 16px)!important;
  height:calc(100vh - 16px)!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  border-radius:10px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}
#record-modal.provider-mode .record-dialog-head{
  min-height:62px!important;
  padding:12px 18px!important;
  flex:0 0 auto!important;
}
#record-modal.provider-mode #record-form{
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
#record-modal.provider-mode #provider-hero{
  flex:0 0 auto!important;
  min-width:0!important;
}
#record-modal.provider-mode .provider-hero{
  grid-template-columns:58px minmax(260px,1.45fr) auto minmax(235px,1fr) minmax(190px,.8fr) minmax(190px,.8fr)!important;
  min-height:72px!important;
  padding:10px 14px!important;
  margin:10px 12px 0!important;
  min-width:0!important;
}
#record-modal.provider-mode .client-identity{
  min-width:0!important;
}
#record-modal.provider-mode .client-identity strong,
#record-modal.provider-mode .client-identity small{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#record-modal.provider-mode .client-contact-box{
  min-width:0!important;
  width:100%!important;
  box-sizing:border-box!important;
}
#record-modal.provider-mode .provider-tabs{
  min-height:64px!important;
  margin:8px 12px 0!important;
  grid-template-columns:repeat(6,minmax(100px,1fr))!important;
  overflow:visible!important;
}
#record-modal.provider-mode .record-body{
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
#record-modal.provider-mode #record-fields{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  align-content:start!important;
  min-width:0!important;
  padding:10px 12px 12px!important;
}
#record-modal.provider-mode .record-dialog-actions{
  flex:0 0 auto!important;
  padding:10px 14px!important;
}
@media(max-width:1100px){
  #record-modal.provider-mode .provider-hero{
    grid-template-columns:58px minmax(220px,1fr) auto minmax(190px,1fr)!important;
  }
  #record-modal.provider-mode .provider-hero .client-contact-box:nth-of-type(2),
  #record-modal.provider-mode .provider-hero .client-contact-box:nth-of-type(3){
    display:none!important;
  }
  #record-modal.provider-mode .provider-tabs{
    overflow-x:auto!important;
    display:flex!important;
  }
  #record-modal.provider-mode .provider-tab{
    min-width:105px!important;
    flex:0 0 105px!important;
  }
}


/* 4.16.351 · Estado de actualización Online en la misma pestaña */
.online-update-overlay{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  background:rgba(17,49,87,.38);
  backdrop-filter:blur(1px);
}
.online-update-overlay.hidden{display:none}
.online-update-card{
  width:min(560px,calc(100vw - 40px));
  display:flex;
  align-items:center;
  gap:18px;
  padding:22px 24px;
  border:1px solid #bcd4eb;
  border-radius:12px;
  background:#fff;
  box-shadow:0 20px 60px rgba(20,55,95,.25);
  font-family:"Segoe UI",Arial,sans-serif;
}
.online-update-card strong{
  display:block;
  margin-bottom:5px;
  color:#123b73;
  font-size:17px;
}
.online-update-card span{
  display:block;
  color:#60758f;
  font-size:12px;
  line-height:1.5;
}
.online-update-spinner{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:4px solid #dceaf7;
  border-top-color:#1477f2;
  border-radius:50%;
  animation:wf-online-spin .85s linear infinite;
}
.online-update-overlay.complete .online-update-spinner{
  border:0;
  background:#12ac5a;
  animation:none;
  display:grid;
  place-items:center;
}
.online-update-overlay.complete .online-update-spinner:after{
  content:"✓";
  color:#fff;
  font-size:24px;
  font-weight:700;
}
@keyframes wf-online-spin{to{transform:rotate(360deg)}}


/* 4.16.352 · Menú lateral sin raya/cursor de foco */
.sidebar,
.sidebar-nav,
.sidebar a,
.sidebar button,
.nav-item,
.side-link,
#sidebar,
#sidebar *{
  caret-color:transparent!important;
}
.sidebar a:focus,
.sidebar button:focus,
.nav-item:focus,
.side-link:focus,
#sidebar a:focus,
#sidebar button:focus{
  outline:none!important;
  box-shadow:none!important;
}
.sidebar a:focus-visible,
.sidebar button:focus-visible,
.nav-item:focus-visible,
.side-link:focus-visible,
#sidebar a:focus-visible,
#sidebar button:focus-visible{
  outline:none!important;
  box-shadow:none!important;
}
/* El estado activo lo define sólo el fondo/color del módulo seleccionado. */


/* 4.16.355 · Proveedores Online = jerarquía visual Desktop */
body[data-route="proveedores"] #records-table th:nth-child(1),
body[data-route="proveedores"] #records-table td:nth-child(1){width:22%}
body[data-route="proveedores"] #records-table th:nth-child(2),
body[data-route="proveedores"] #records-table td:nth-child(2){width:10%}
body[data-route="proveedores"] #records-table th:nth-child(3),
body[data-route="proveedores"] #records-table td:nth-child(3){width:10%}
body[data-route="proveedores"] #records-table th:nth-child(4),
body[data-route="proveedores"] #records-table td:nth-child(4){width:13%}
body[data-route="proveedores"] #records-table th:nth-child(5),
body[data-route="proveedores"] #records-table td:nth-child(5){width:10%}
body[data-route="proveedores"] #records-table th:nth-child(6),
body[data-route="proveedores"] #records-table td:nth-child(6){width:17%}
body[data-route="proveedores"] #records-table th:nth-child(7),
body[data-route="proveedores"] #records-table td:nth-child(7){width:8%}
body[data-route="proveedores"] #records-table th:nth-child(8),
body[data-route="proveedores"] #records-table td:nth-child(8){width:8%}

.provider-list-name{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.provider-list-avatar{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:50%!important;
  color:#fff!important;
  font-size:11px!important;
  font-family:"Segoe UI Semibold","Segoe UI",sans-serif!important;
}
#record-modal.provider-mode .client-section{
  border:1px solid #d6e5f4!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
#record-modal.provider-mode .client-section h3{
  margin:0!important;
  min-height:34px!important;
  padding:7px 10px!important;
  background:#eaf4ff!important;
  color:#123b73!important;
  font-size:12px!important;
  border:0!important;
}
#record-modal.provider-mode .record-fields.client-inner{
  padding:8px!important;
}
#record-modal.provider-mode .provider-related-section{
  min-height:360px!important;
}
#record-modal.provider-mode .client-related-table-wrap{
  min-height:190px!important;
}
#record-modal.provider-mode .client-finance{
  min-height:420px!important;
}


/* 4.16.356 · Presupuestos Online = Presupuestos Desktop */
#record-modal.budget-mode{padding:8px!important;align-items:stretch!important}
#record-modal.budget-mode .budget-dialog{
  width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;
  max-width:none!important;max-height:none!important;margin:0!important;
  display:flex!important;flex-direction:column!important;overflow:hidden!important;border-radius:10px!important
}
#record-modal.budget-mode #record-form{display:flex!important;flex-direction:column!important;flex:1!important;min-height:0!important;overflow:hidden!important}
#record-modal.budget-mode #budget-hero{flex:0 0 auto}
#record-modal.budget-mode .record-body{flex:1!important;min-height:0!important;overflow:auto!important}
#record-modal.budget-mode #record-fields{display:block!important;padding:10px 12px!important}
#record-modal.budget-mode .record-dialog-actions{flex:0 0 auto!important;padding:10px 14px!important}
.budget-hero{
  grid-template-columns:58px minmax(300px,1fr) auto minmax(500px,1.5fr)!important;
  min-height:72px!important;margin:10px 12px 0!important;padding:10px 14px!important
}
.budget-avatar{background:#7137ef!important}
.budget-hero-status{display:flex;align-items:center}
.budget-hero-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;min-width:0}
.budget-hero-actions button{
  min-height:34px;border:1px solid #bdd5ee;background:#f7fbff;color:#123b73;
  padding:0 12px;font:600 11px "Segoe UI",Arial;display:flex;align-items:center;gap:6px;cursor:pointer
}
.budget-hero-actions button:first-child{background:#f1fbf5;color:#078d43;border-color:#bfe8d1}
/* 4.17.092 · Sustituido por #record-modal.budget-mode .client-tabs (mismo patrón que Clientes) */
.budget-section{margin-bottom:10px!important;border:1px solid #d6e5f4!important;background:#fff!important}
.budget-section h3{margin:0!important;padding:8px 10px!important;background:#eaf4ff!important;color:#123b73!important;font-size:12px!important}
.budget-data-grid{grid-template-columns:repeat(5,1fr)!important}
.budget-client-grid{grid-template-columns:1.3fr 2fr 1fr!important}
.budget-history{margin-top:10px!important;min-height:250px}
.budget-lines-toolbar{display:flex;gap:22px;padding:10px 12px}
.budget-lines-toolbar button{border:0;background:transparent;font:600 11px "Segoe UI",Arial;cursor:pointer;color:#086ad8}
.budget-lines-toolbar button:nth-child(2){color:#0a9c47}.budget-lines-toolbar button:nth-child(4){color:#e32636}
.budget-lines-wrap{min-height:420px!important}
.budget-lines-table tr.section td{background:#edf5fd!important;color:#123b73!important}
.budget-total-bar{display:flex;justify-content:flex-end;gap:28px;padding:12px 16px;background:#eaf4ff;color:#123b73;font-size:13px}
.budget-total-bar strong{font-size:15px}
.budget-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px}
.budget-summary-cards>div{border:1px solid #d6e5f4;border-radius:8px;padding:14px;background:#fff}
.budget-summary-cards small{display:block;color:#667a92;font-size:10px}.budget-summary-cards strong{display:block;margin-top:6px;color:#123b73;font-size:22px}
.budget-status{display:inline-flex;align-items:center;gap:4px;border-radius:14px;padding:4px 8px;font:600 10px "Segoe UI",Arial}
.budget-status.draft{background:#fff1c9;color:#a86c00}.budget-status.pending{background:#fff3d5;color:#a36c00}
.budget-status.sent{background:#eee6ff;color:#6836d8}.budget-status.active{background:#e0f7e8;color:#0a8c42}.budget-status.inactive{background:#ffe4e8;color:#d6243a}
.budget-selected-avatar{background:#7137ef!important}
.budget-selected-actions button:nth-child(2){color:#07934a!important;border-color:#b9e5ce!important;background:#f2fbf6!important}
.budget-selected-actions button:nth-child(3){color:#123b73!important}.budget-selected-actions button:nth-child(4){color:#7137ef!important}
#record-modal.budget-mode .field-group label{font-family:"Segoe UI",Arial!important;font-size:12px!important;font-weight:400!important}
#record-modal.budget-mode .field-group input,
#record-modal.budget-mode .field-group select,
#record-modal.budget-mode .field-group textarea{font-family:"Segoe UI Semibold","Segoe UI",Arial!important;font-size:13.333px!important;font-weight:600!important}
@media(max-width:1100px){
  .budget-hero{grid-template-columns:58px 1fr auto!important}.budget-hero-actions{display:none!important}
  .budget-data-grid,.budget-client-grid{grid-template-columns:1fr 1fr!important}
}


/* 4.16.357 · Ajuste fino Presupuestos según Desktop */
body[data-route="presupuestos"] .module-kpis{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:10px!important;
}
body[data-route="presupuestos"] .module-kpi-card{min-width:0!important}
.budget-list-name{display:flex;align-items:center;gap:9px}
.budget-list-avatar{
  width:32px;height:32px;min-width:32px;border-radius:50%;
  background:#7137ef;color:#fff;display:grid;place-items:center;
  font:700 9px "Segoe UI",Arial;
}
.budget-list-name strong{font-family:"Segoe UI Semibold","Segoe UI",Arial;font-size:13.333px}
#record-modal.budget-mode .budget-dialog{
  height:calc(100vh - 8px)!important;
  width:calc(100vw - 8px)!important;
}
#record-modal.budget-mode{padding:4px!important}
#record-modal.budget-mode .record-dialog-head{min-height:52px!important;padding:8px 14px!important}
#record-modal.budget-mode .record-dialog-actions{display:none!important}
#record-modal.budget-mode .record-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
}
#record-modal.budget-mode #record-fields{
  min-height:calc(100vh - 245px)!important;
  box-sizing:border-box!important;
}
.budget-hero{
  grid-template-columns:52px minmax(250px,1fr) auto minmax(650px,2fr)!important;
  min-height:62px!important;
  margin:6px 8px 0!important;
  padding:7px 10px!important;
}
.budget-hero-actions{gap:5px!important}
.budget-hero-actions button{padding:0 9px!important;min-height:32px!important}
.budget-hero-actions .budget-cancel-top{
  border-color:#cbd8e6!important;background:#f8fbff!important;color:#123b73!important
}
.budget-hero-actions .budget-save-top{
  border-color:#a9dfbf!important;background:#effbf4!important;color:#078d43!important
}
.budget-client-grid{grid-template-columns:1.2fr 1.2fr 1fr 1fr!important}
.budget-client-grid .field-group.wide{grid-column:span 2!important}
.budget-edit-section{
  min-height:calc(100vh - 265px)!important;
  display:flex!important;flex-direction:column!important
}
.budget-lines-wrap{
  flex:1 1 auto!important;
  min-height:300px!important;
  max-height:none!important
}
.budget-inline-editor{
  margin:0 12px 10px;border:1px solid #bed7ef;background:#f8fbff
}
.budget-inline-editor-title{
  padding:7px 10px;background:#eaf4ff;color:#123b73;
  font:600 11px "Segoe UI",Arial
}
.budget-inline-fields{
  display:grid;grid-template-columns:1fr 3fr .8fr .8fr 1fr .8fr;
  gap:8px;padding:9px
}
.budget-inline-fields .field-group{min-width:0}
.budget-inline-fields .field-group.wide{grid-column:1/-1}
.budget-inline-fields .field-group.concept{grid-column:auto}
.budget-inline-fields label{font:400 9px "Segoe UI",Arial;color:#355271}
.budget-inline-fields input{
  width:100%;box-sizing:border-box;min-height:32px;border:1px solid #c5d9ed;
  border-radius:4px;padding:6px 8px;font:600 13.333px "Segoe UI",Arial;color:#15345c
}
.budget-inline-actions{display:flex;justify-content:flex-end;gap:7px;padding:0 9px 9px}
@media(max-width:1200px){
  body[data-route="presupuestos"] .module-kpis{grid-template-columns:repeat(3,1fr)!important}
  .budget-hero{grid-template-columns:52px 1fr auto!important}
  .budget-hero-actions{grid-column:1/-1;justify-content:flex-end!important}
  .budget-client-grid{grid-template-columns:1fr 1fr!important}
}


/* 4.16.358 · Presupuestos Desktop parity III */
.module-kpis.budget-kpis{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
}
.module-kpis.budget-kpis .module-kpi-card{
  min-width:0!important;
  width:auto!important;
}
.module-kpis.budget-kpis .module-kpi-card strong{white-space:nowrap}
.budget-material-picker{
  margin:0 9px 8px;border:1px solid #c8dcef;background:#fff
}
.budget-material-picker-head{
  height:30px;display:flex;align-items:center;justify-content:space-between;
  padding:0 9px;background:#eaf4ff;color:#123b73;font:600 10px "Segoe UI",Arial
}
.budget-material-picker-head span{font-weight:400;color:#607b9b}
#budget-material-search{
  width:calc(100% - 18px);box-sizing:border-box;margin:8px 9px;
  height:32px;border:1px solid #bcd4eb;border-radius:4px;padding:0 9px;
  font:600 13.333px "Segoe UI",Arial;color:#15345c;outline:none
}
#budget-material-search:focus{border-color:#1477f2;box-shadow:0 0 0 1px #1477f2}
.budget-material-results{
  max-height:190px;overflow:auto;border-top:1px solid #e2ebf5
}
.budget-material-row{
  width:100%;display:grid;grid-template-columns:32px minmax(220px,1fr) 90px 100px;
  align-items:center;gap:8px;border:0;border-bottom:1px solid #edf2f7;
  background:#fff;padding:6px 9px;text-align:left;color:#123b73;cursor:pointer
}
.budget-material-row:hover,.budget-material-row.selected{background:#eaf4ff}
.budget-material-avatar{
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  background:#1477f2;color:#fff;font:700 10px "Segoe UI",Arial
}
.budget-material-main b{display:block;font:600 12px "Segoe UI",Arial}
.budget-material-main small{display:block;margin-top:2px;color:#6b8099;font:400 9px "Segoe UI",Arial}
.budget-material-stock{font:600 10px "Segoe UI",Arial;color:#566f8e}
.budget-material-price{text-align:right;font:600 11px "Segoe UI",Arial}
.budget-material-selected{
  padding:6px 9px;background:#f1fbf5;border-top:1px solid #c6ead5;
  color:#0c8444;font:400 10px "Segoe UI",Arial
}
.budget-material-empty{padding:20px;text-align:center;color:#7188a3;font-size:10px}
.budget-enter-hint{margin-right:auto;align-self:center;color:#607b9b;font:600 9px "Segoe UI",Arial}
.budget-line.section{cursor:pointer}
.budget-line.section:hover td{background:#dcecff!important}
@media(max-width:1050px){
  .module-kpis.budget-kpis{
    grid-template-columns:repeat(6,minmax(120px,1fr))!important;
    overflow-x:auto!important
  }
}


/* 4.16.359 · Presupuestos secciones acumuladas + materiales/conceptos/texto libre */
.budget-section-total{
  text-align:right!important;
  color:#123b73!important;
  font-family:"Segoe UI Semibold","Segoe UI",Arial!important;
}
.budget-source-picker{margin:0 9px 8px;border:1px solid #c8dcef;background:#fff}
.budget-source-tabs{display:flex;gap:0;border-bottom:1px solid #c8dcef;background:#f6faff}
.budget-source-tabs button{
  border:0;border-right:1px solid #d9e5f1;background:transparent;
  min-height:31px;padding:0 15px;color:#31577e;font:600 10px "Segoe UI",Arial;cursor:pointer
}
.budget-source-tabs button.active{
  background:#eaf4ff;color:#096fe8;box-shadow:inset 0 -2px #1477f2
}
.budget-concept-picker{background:#fff}
#budget-concept-search{
  width:calc(100% - 18px);box-sizing:border-box;margin:8px 9px;
  height:32px;border:1px solid #bcd4eb;border-radius:4px;padding:0 9px;
  font:600 13.333px "Segoe UI",Arial;color:#15345c;outline:none
}
#budget-concept-search:focus{border-color:#1477f2;box-shadow:0 0 0 1px #1477f2}
.budget-concept-results{max-height:190px;overflow:auto;border-top:1px solid #e2ebf5}
.budget-concept-row{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  gap:15px;border:0;border-bottom:1px solid #edf2f7;background:#fff;
  padding:7px 10px;text-align:left;color:#123b73;cursor:pointer
}
.budget-concept-row:hover{background:#eaf4ff}
.budget-concept-row b{font:600 11px "Segoe UI",Arial}
.budget-concept-row small{color:#6c8098;font:400 9px "Segoe UI",Arial}
.budget-free-note{
  padding:12px;background:#fffaf0;color:#72510a;
  font:400 10px "Segoe UI",Arial;border-bottom:1px solid #ecd9aa
}
.budget-concept-cell{cursor:pointer}
.budget-concept-cell:hover{background:#eaf4ff!important;text-decoration:underline}


/* 4.16.360 · Edición de línea igualada a Desktop */
.budget-source-picker,.budget-source-tabs,.budget-material-picker,.budget-concept-picker,.budget-free-note{display:none!important}
.budget-inline-editor.material-mode{padding-top:0}
.budget-inline-editor.material-mode .budget-inline-editor-title{
  background:#eaf3fc;border-bottom:1px solid #cbddec;
}
.budget-line-help{
  padding:4px 10px 0;color:#617895;
  font:400 9px "Segoe UI",Arial;
}
#bli-desc::-webkit-calendar-picker-indicator{opacity:.65;cursor:pointer}


/* 4.16.361 · Materiales Online + ordenación */
.sortable-head{cursor:pointer;user-select:none}
.sortable-head:hover{background:#e5f0fb!important;color:#096fe8}
.sortable-head.sorted{background:#eaf4ff!important;color:#096fe8}
.sortable-head span{margin-left:3px;font-size:8px}


/* 4.16.363 · Editor por Enter, sin botones redundantes */
.budget-inline-actions.enter-only{
  justify-content:flex-start!important;
  min-height:24px;
  padding:3px 10px 5px;
}
.budget-enter-hint{font:400 9px "Segoe UI",Arial;color:#607894}
.budget-lines-table .budget-concept-cell{cursor:pointer}
.budget-lines-table .budget-concept-cell:hover{text-decoration:underline}


/* 4.16.364 · Materiales adaptación total Desktop */
#module-kpis:has(+ .material-selected-bar), body{} /* harmless compatibility marker */
.materials-toolbar{display:grid!important;grid-template-columns:230px minmax(180px,.8fr) minmax(320px,1.6fr) auto;align-items:end;gap:10px}
.material-sector-label select{min-width:210px}
.material-sector-active{align-self:center;font:600 10px "Segoe UI",Arial;color:#153b6b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#record-modal.material-mode{position:fixed;inset:0;padding:0;background:#f4f8fc;z-index:1200}
#record-modal.material-mode .record-dialog.material-dialog{width:100%;height:100%;max-width:none;max-height:none;margin:0;border-radius:0;border:0;box-shadow:none;display:flex;flex-direction:column;background:#f4f8fc}
#record-modal.material-mode .record-dialog-head{height:66px;min-height:66px;padding:10px 18px;background:#fff;border-bottom:1px solid #d7e5f4}
#record-modal.material-mode #record-form{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden;padding:0 14px 12px}
#record-modal.material-mode #material-hero{background:#fff;border:1px solid #cfe0f1;margin-top:8px}
.material-hero{display:grid;grid-template-columns:50px minmax(260px,1fr) auto auto;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid #dce9f5}
.material-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#1478ee;color:#fff;font:700 18px "Segoe UI",Arial}
.material-identity{display:flex;flex-direction:column;min-width:0}.material-identity strong{font:700 16px "Segoe UI",Arial;color:#0d3565}.material-identity small{font:400 9px "Segoe UI",Arial;color:#68809a;margin-top:3px}
.material-state{padding:5px 9px;border-radius:3px;font:700 9px "Segoe UI",Arial;background:#e4f8ea;color:#0a9547}.material-state.stock-zero{background:#ffe8ec;color:#e42f4c}
.material-hero-actions{display:flex;gap:7px}
.material-tabs{display:grid;grid-template-columns:repeat(4,1fr);height:58px}.material-tab{border:0;border-right:1px solid #edf2f8;background:#fff;color:#17385e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font:600 9px "Segoe UI",Arial;cursor:pointer}.material-tab b{color:#1478ee}.material-tab.active{background:#f1f7ff;border-bottom:3px solid #1478ee;color:#0870e5}
#record-modal.material-mode #record-fields{display:block;flex:1;min-height:0;overflow:auto;padding:10px 0;background:#f4f8fc}
.material-section{background:#fff;border:1px solid #cfe0f1;min-height:200px}.client-section-title{display:flex;align-items:center;gap:7px;background:#eaf4ff;padding:8px 10px;font:700 10px "Segoe UI",Arial;color:#163b68}
.material-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:12px}.material-fields .field-group{display:flex;flex-direction:column;gap:4px}.material-fields .field-group.wide{grid-column:1/-1}.material-fields .field-group span{font:400 9px "Segoe UI",Arial;color:#49627d;text-transform:uppercase}.material-fields input,.material-fields select,.material-fields textarea{box-sizing:border-box;width:100%;min-height:34px;border:1px solid #b9d4ee;border-radius:2px;background:#fff;padding:6px 9px;font:600 10px "Segoe UI",Arial;color:#17385e}.material-fields textarea{min-height:74px;resize:vertical}
.material-stock-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px}.material-stock-kpis>div{border:1px solid #d8e5f2;background:#fff;padding:12px}.material-stock-kpis small{display:block;font:400 9px "Segoe UI",Arial;color:#607894}.material-stock-kpis strong{display:block;margin-top:4px;font:700 18px "Segoe UI",Arial;color:#153b6b}.stock-ok{color:#0c9b4d!important}.stock-low{color:#ee9700!important}.stock-zero{color:#ef3650!important}
.material-related-head{display:flex;justify-content:space-between;align-items:center;margin:0 12px;padding:8px 4px;border-bottom:1px solid #dce8f3;font:600 9px "Segoe UI",Arial;color:#49627d}.material-related-table{width:calc(100% - 24px);margin:0 12px 12px;border-collapse:collapse;font:600 10px "Segoe UI",Arial;color:#17385e}.material-related-table th{background:#edf5fd;text-align:left;padding:8px;border-bottom:1px solid #d5e4f2;font:600 9px "Segoe UI",Arial}.material-related-table td{padding:8px;border-bottom:1px solid #edf2f6}
#record-modal.material-mode .record-dialog-actions{position:static;display:flex;justify-content:flex-end;padding:9px 0 0;background:#f4f8fc;border-top:1px solid #d7e5f4}
.records-table tbody tr[data-row-id]{cursor:pointer}.records-table tbody tr[data-row-id]:hover{background:#edf6ff}.records-table tbody tr.selected{background:#dcedff!important}
@media(max-width:1000px){.materials-toolbar{grid-template-columns:1fr}.material-fields{grid-template-columns:repeat(2,1fr)}.material-hero{grid-template-columns:44px 1fr}.material-state,.material-hero-actions{grid-column:2}.material-tabs{overflow-x:auto}.material-tab{min-width:150px}}


/* 4.16.365 · Materiales: sectores Desktop + avatares + submenú por sector */
body[data-route="materiales"] .module-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.material-sector-menu{display:grid;grid-template-columns:repeat(5,1fr);min-height:58px;margin:0 0 10px;background:#fff;border:1px solid #cddff0;border-radius:9px;overflow:hidden}
.material-sector-btn{position:relative;border:0;border-right:1px solid #edf2f8;background:#fff;color:#17385e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;font:600 10px "Segoe UI",Arial;padding:7px 8px}
.material-sector-btn:last-child{border-right:0}.material-sector-btn b{display:flex;color:#1478ee}.material-sector-btn span{white-space:nowrap}.material-sector-btn small{position:absolute;right:10px;top:8px;font:600 8px "Segoe UI",Arial;color:#7890aa;background:#eff5fb;border-radius:10px;padding:2px 5px}
.material-sector-btn.active{background:#f1f7ff;color:#086fdc;box-shadow:inset 0 -3px #1478ee}.material-sector-btn:nth-child(2) b{color:#6f38ed}.material-sector-btn:nth-child(3) b{color:#12a95a}.material-sector-btn:nth-child(4) b{color:#f39a00}.material-sector-btn:nth-child(5) b{color:#16a6bd}
.materials-toolbar{display:grid!important;grid-template-columns:190px minmax(320px,1fr) auto!important;align-items:end;gap:10px}
.material-list-identity{display:flex;align-items:center;gap:9px;min-width:0}.material-list-avatar{width:30px;height:30px;min-width:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 10px "Segoe UI",Arial;letter-spacing:.2px}.material-list-identity strong{font:600 10px "Segoe UI",Arial;color:#17385e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.material-list-state{display:inline-flex;align-items:center;border-radius:12px;padding:3px 8px;font:700 9px "Segoe UI",Arial}.material-list-state.active{background:#e4f8ea;color:#0b9848}.material-list-state.inactive{background:#ffe8ec;color:#e53250}
.material-tabs{grid-template-columns:repeat(6,1fr)!important;height:58px}.material-tab{min-width:0!important}.material-tab span{white-space:nowrap}
.material-empty-panel{min-height:320px;display:grid;place-items:center;padding:20px}.material-image-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:#7087a0}.material-image-placeholder strong{font:700 14px "Segoe UI",Arial;color:#153b6b}.material-image-placeholder span{font:400 10px "Segoe UI",Arial}

/* 4.17.044 · Ficha cliente General compacta sin scroll en escritorio
   Jerarquía: Información + Clasificación / Datos + Personas de contacto. */
#record-modal.client-mode #record-fields.client-general-grid,
#record-modal.provider-mode #record-fields.client-general-grid,
#record-modal.provider-mode #record-fields.client-general-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  grid-auto-rows:auto!important;
  gap:8px!important;
  padding:8px 12px 10px!important;
  overflow:auto!important;
  align-content:start!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-section,
#record-modal.provider-mode #record-fields.client-general-grid .client-section,
#record-modal.client-mode #record-fields.client-general-grid .client-related-section,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-section,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-section{
  grid-column:auto!important;
  min-width:0!important;
  width:100%!important;
  min-height:0!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-section h3,
#record-modal.provider-mode #record-fields.client-general-grid .client-section h3,
#record-modal.client-mode #record-fields.client-general-grid .client-section-title,
#record-modal.provider-mode #record-fields.client-general-grid .client-section-title,
#record-modal.provider-mode #record-fields.client-general-grid .client-section-title{
  min-height:28px!important;
  padding:6px 9px!important;
  font-size:10px!important;
  box-sizing:border-box!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner{
  padding:7px 9px!important;
  gap:6px 8px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-inner .field-group,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner .field-group,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner .field-group{
  gap:2px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-inner .field-group label,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner .field-group label,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner .field-group label{
  font-size:8px!important;
  line-height:1.05!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-inner input,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner input,
#record-modal.client-mode #record-fields.client-general-grid .client-inner select,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner select,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner select{
  min-height:29px!important;
  height:29px!important;
  padding:4px 7px!important;
  font-size:10px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-inner textarea,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner textarea,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner textarea{
  min-height:42px!important;
  height:42px!important;
  padding:5px 7px!important;
  font-size:10px!important;
  resize:none!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-related-contacto,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-contacto,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-contacto{
  border-radius:3px!important;
  overflow:hidden!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-related-kpis,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-kpis,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-kpis{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:6px!important;
  padding:7px 8px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-mini-kpi,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi{
  min-height:56px!important;
  grid-template-columns:32px minmax(0,1fr)!important;
  gap:6px!important;
  padding:6px 7px!important;
  border-radius:8px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-mini-icon,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-icon,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-icon{
  width:30px!important;
  height:30px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-mini-icon .wf-svg-icon,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-icon .wf-svg-icon,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-icon .wf-svg-icon{
  width:16px!important;
  height:16px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-mini-kpi small,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi small,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi small{font-size:8px!important;line-height:1.05!important}
#record-modal.client-mode #record-fields.client-general-grid .client-mini-kpi strong,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi strong,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi strong{font-size:12px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#record-modal.client-mode #record-fields.client-general-grid .client-mini-kpi em,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi em,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi em{font-size:8px!important;margin-top:1px!important}
#record-modal.client-mode #record-fields.client-general-grid .client-related-toolbar,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar{
  gap:6px!important;
  padding:0 8px 6px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-related-toolbar label,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar label,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar label{font-size:9px!important;gap:5px!important}
#record-modal.client-mode #record-fields.client-general-grid .client-related-toolbar input,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar input,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar input{min-height:28px!important;height:28px!important;font-size:10px!important}
#record-modal.client-mode #record-fields.client-general-grid .client-related-toolbar .wf-action-btn,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar .wf-action-btn,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar .wf-action-btn{min-height:28px!important;height:28px!important;padding:0 7px!important;font-size:8px!important}
#record-modal.client-mode #record-fields.client-general-grid .client-related-table-wrap,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-table-wrap,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-table-wrap{
  min-height:0!important;
  max-height:92px!important;
  margin:0 8px 8px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-related-table th,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-table th,
#record-modal.client-mode #record-fields.client-general-grid .client-related-table td,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-table td,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-table td{
  padding:5px 6px!important;
  font-size:8px!important;
  line-height:1.1!important;
}
@media(max-width:1180px){
#record-modal.client-mode #record-fields.client-general-grid,
#record-modal.provider-mode #record-fields.client-general-grid,
#record-modal.provider-mode #record-fields.client-general-grid{grid-template-columns:1fr!important}
}


/* 4.17.045 · Ficha cliente General equilibrada
   Dos columnas como el diseño aprobado, conservando tamaños cómodos de lectura. */
#record-modal.client-mode #record-fields.client-general-grid,
#record-modal.provider-mode #record-fields.client-general-grid,
#record-modal.provider-mode #record-fields.client-general-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:12px!important;
  padding:12px 14px 14px!important;
  overflow:auto!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-section,
#record-modal.provider-mode #record-fields.client-general-grid .client-section,
#record-modal.client-mode #record-fields.client-general-grid .client-related-section,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-section,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-section{
  min-height:0!important;
  align-self:start!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-section h3,
#record-modal.provider-mode #record-fields.client-general-grid .client-section h3,
#record-modal.client-mode #record-fields.client-general-grid .client-section-title,
#record-modal.provider-mode #record-fields.client-general-grid .client-section-title,
#record-modal.provider-mode #record-fields.client-general-grid .client-section-title{
  min-height:36px!important;
  padding:0 12px!important;
  font-size:12px!important;
  line-height:1.2!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-section h3 .wf-svg-icon,
#record-modal.provider-mode #record-fields.client-general-grid .client-section h3 .wf-svg-icon,
#record-modal.client-mode #record-fields.client-general-grid .client-section-title .wf-svg-icon,
#record-modal.provider-mode #record-fields.client-general-grid .client-section-title .wf-svg-icon,
#record-modal.provider-mode #record-fields.client-general-grid .client-section-title .wf-svg-icon{
  width:18px!important;
  height:18px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner{
  padding:11px 12px 12px!important;
  gap:9px 10px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-inner .field-group,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner .field-group,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner .field-group{gap:4px!important}
#record-modal.client-mode #record-fields.client-general-grid .client-inner .field-group label,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner .field-group label,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner .field-group label{
  font-size:10px!important;
  line-height:1.2!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-inner input,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner input,
#record-modal.client-mode #record-fields.client-general-grid .client-inner select,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner select,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner select{
  min-height:36px!important;
  height:36px!important;
  padding:6px 9px!important;
  font-size:12px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-inner textarea,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner textarea,
#record-modal.provider-mode #record-fields.client-general-grid .client-inner textarea{
  min-height:68px!important;
  height:68px!important;
  padding:7px 9px!important;
  font-size:12px!important;
  line-height:1.35!important;
  resize:vertical!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-related-contacto,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-contacto,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-contacto{border-radius:5px!important}
#record-modal.client-mode #record-fields.client-general-grid .client-related-kpis,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-kpis,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-kpis{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  padding:10px 10px 8px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-mini-kpi,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi{
  min-height:68px!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:8px!important;
  padding:8px 9px!important;
  border-radius:9px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-mini-icon,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-icon,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-icon{width:36px!important;height:36px!important}
#record-modal.client-mode #record-fields.client-general-grid .client-mini-icon .wf-svg-icon,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-icon .wf-svg-icon,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-icon .wf-svg-icon{width:19px!important;height:19px!important}
#record-modal.client-mode #record-fields.client-general-grid .client-mini-kpi small,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi small,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi small{font-size:10px!important;line-height:1.15!important}
#record-modal.client-mode #record-fields.client-general-grid .client-mini-kpi strong,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi strong,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi strong{font-size:14px!important;line-height:1.2!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
#record-modal.client-mode #record-fields.client-general-grid .client-mini-kpi em,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi em,
#record-modal.provider-mode #record-fields.client-general-grid .client-mini-kpi em{font-size:9px!important;margin-top:2px!important}
#record-modal.client-mode #record-fields.client-general-grid .client-related-toolbar,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar{gap:8px!important;padding:0 10px 8px!important}
#record-modal.client-mode #record-fields.client-general-grid .client-related-toolbar label,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar label,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar label{font-size:10px!important;gap:6px!important}
#record-modal.client-mode #record-fields.client-general-grid .client-related-toolbar input,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar input,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar input{min-height:34px!important;height:34px!important;font-size:11px!important}
#record-modal.client-mode #record-fields.client-general-grid .client-related-toolbar .wf-action-btn,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar .wf-action-btn,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-toolbar .wf-action-btn{min-height:34px!important;height:34px!important;padding:0 9px!important;font-size:9px!important}
#record-modal.client-mode #record-fields.client-general-grid .client-related-table-wrap,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-table-wrap,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-table-wrap{
  min-height:82px!important;
  max-height:150px!important;
  margin:0 10px 10px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-related-table th,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-table th,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-table th{
  padding:7px 8px!important;
  font-size:9px!important;
  line-height:1.2!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-related-table td,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-table td,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-table td{
  padding:8px!important;
  font-size:10px!important;
  line-height:1.2!important;
}
@media(max-width:1180px){
#record-modal.client-mode #record-fields.client-general-grid,
#record-modal.provider-mode #record-fields.client-general-grid,
#record-modal.provider-mode #record-fields.client-general-grid{grid-template-columns:1fr!important}
}

/* 4.17.046 · General cliente en tres bloques horizontales.
   1 Fiscal/clasificacion, 2 contacto, 3 personas de contacto a todo el ancho. */
#record-modal.client-mode #record-fields.client-general-grid,
#record-modal.provider-mode #record-fields.client-general-grid,
#record-modal.provider-mode #record-fields.client-general-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  padding:10px 14px 14px!important;
  overflow:auto!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info,
#record-modal.client-mode #record-fields.client-general-grid .client-general-contact,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-contact,
#record-modal.client-mode #record-fields.client-general-grid .client-related-contacto,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-contacto,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-contacto{
  grid-column:1 / -1!important;
  width:100%!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner{
  display:grid!important;
  grid-template-columns:1fr 2.2fr 1fr 1.15fr!important;
  gap:8px 10px!important;
  padding:10px 12px 11px!important;
}
/* Fila 1: ID + nombre fiscal + CIF */
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="id"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="id"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="id"]{grid-column:span 1!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="nombre_fiscal"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="nombre_fiscal"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="nombre_fiscal"]{grid-column:span 2!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="cif_nif"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="cif_nif"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="cif_nif"]{grid-column:span 1!important}
/* Fila 2: nombre comercial + estado + familia + tipo */
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="nombre_comercial"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="nombre_comercial"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="nombre_comercial"]{grid-column:span 1!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="estado"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="estado"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="estado"]{grid-column:span 1!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="familia_cliente"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="familia_cliente"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="familia_cliente"]{grid-column:span 1!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="tipo_cliente"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="tipo_cliente"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="tipo_cliente"]{grid-column:span 1!important}
/* Fila 3: creado + aviso + observaciones, con observaciones mas anchas */
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="creado_desde"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="creado_desde"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="creado_desde"]{grid-column:span 1!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="aviso_emergente"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="aviso_emergente"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="aviso_emergente"]{grid-column:span 1!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="observaciones"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="observaciones"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="observaciones"]{grid-column:span 2!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="observaciones"] textarea,
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="observaciones"] textarea,
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="observaciones"] textarea{
  height:46px!important;min-height:46px!important;resize:vertical!important;
}
/* Datos de contacto: dos lineas, tres campos por linea. */
#record-modal.client-mode #record-fields.client-general-grid .client-general-contact .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-contact .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-contact .client-inner{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px 10px!important;
  padding:10px 12px 11px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-contact .field-group,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-contact .field-group,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-contact .field-group{
  grid-column:span 1!important;
}
/* Personas de contacto usa todo el ancho y tabla sin compresion lateral. */
#record-modal.client-mode #record-fields.client-general-grid .client-related-contacto .client-related-table-wrap,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-contacto .client-related-table-wrap,
#record-modal.provider-mode #record-fields.client-general-grid .client-related-contacto .client-related-table-wrap{
  max-height:180px!important;
  min-height:72px!important;
}
@media(max-width:1100px){
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .field-group,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .field-group,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .field-group{grid-column:span 1!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="nombre_fiscal"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="nombre_fiscal"],
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="observaciones"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="observaciones"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="observaciones"]{grid-column:1 / -1!important}
#record-modal.client-mode #record-fields.client-general-grid .client-general-contact .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-contact .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-contact .client-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
\n\n/* 4.17.047 · Ajuste fiscal solicitado: ID/CIF compactos, nombres amplios. */
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner{
  grid-template-columns:repeat(24,minmax(0,1fr))!important;
  gap:8px 10px!important;
}
/* Fila 1: ID + CIF + Nombre fiscal + Nombre comercial */
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="id"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="id"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="id"]{grid-column:span 2!important;order:1!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="cif_nif"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="cif_nif"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="cif_nif"]{grid-column:span 3!important;order:2!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="nombre_fiscal"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="nombre_fiscal"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="nombre_fiscal"]{grid-column:span 9!important;order:3!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="nombre_comercial"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="nombre_comercial"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="nombre_comercial"]{grid-column:span 10!important;order:4!important}
/* Fila 2: estado + familia + tipo + creado + aviso en una sola linea */
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="estado"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="estado"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="estado"]{grid-column:span 4!important;order:5!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="familia_cliente"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="familia_cliente"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="familia_cliente"]{grid-column:span 5!important;order:6!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="tipo_cliente"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="tipo_cliente"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="tipo_cliente"]{grid-column:span 5!important;order:7!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="creado_desde"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="creado_desde"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="creado_desde"]{grid-column:span 5!important;order:8!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="aviso_emergente"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="aviso_emergente"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="aviso_emergente"]{grid-column:span 5!important;order:9!important}
/* Fila 3: observaciones sola y a todo el ancho */
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="observaciones"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="observaciones"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="observaciones"]{grid-column:1 / -1!important;order:10!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="observaciones"] textarea,
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="observaciones"] textarea,
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="observaciones"] textarea{height:54px!important;min-height:54px!important}
/* WEB siempre visible en minusculas. */
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="web"] input,
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="web"] input,
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="web"] input{text-transform:lowercase!important}
@media(max-width:1100px){
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .field-group,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .field-group,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .field-group{grid-column:span 1!important}
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="nombre_fiscal"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="nombre_fiscal"],
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="nombre_comercial"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="nombre_comercial"],
#record-modal.client-mode #record-fields.client-general-grid [data-client-field="observaciones"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="observaciones"],
#record-modal.provider-mode #record-fields.client-general-grid [data-client-field="observaciones"]{grid-column:1 / -1!important}
}


/* 4.17.048 · Layout fiscal definitivo.
   Corrige la regla responsive anterior que a resoluciones/escalados del usuario
   convertía la rejilla en 2 columnas e ignoraba la distribución acordada. */
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner{
  display:grid!important;
  grid-template-columns:repeat(24,minmax(0,1fr))!important;
  gap:8px 10px!important;
}

/* Neutralizar "wide" heredado dentro del bloque fiscal. */
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-inner > .field-group.wide,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner > .field-group.wide,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner > .field-group.wide{
  grid-column:auto!important;
}

/* FILA 1: ID + CIF/NIF + NOMBRE FISCAL + NOMBRE COMERCIAL */
#record-modal.client-mode #record-fields.client-general-grid .client-general-info [data-client-field="id"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="id"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="id"]{
  grid-column:span 2!important; order:1!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info [data-client-field="cif_nif"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="cif_nif"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="cif_nif"]{
  grid-column:span 3!important; order:2!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info [data-client-field="nombre_fiscal"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="nombre_fiscal"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="nombre_fiscal"]{
  grid-column:span 9!important; order:3!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info [data-client-field="nombre_comercial"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="nombre_comercial"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="nombre_comercial"]{
  grid-column:span 10!important; order:4!important;
}

/* FILA 2: ESTADO + FAMILIA + TIPO + CREADO + AVISO */
#record-modal.client-mode #record-fields.client-general-grid .client-general-info [data-client-field="estado"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="estado"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="estado"]{
  grid-column:span 4!important; order:5!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info [data-client-field="familia_cliente"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="familia_cliente"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="familia_cliente"]{
  grid-column:span 5!important; order:6!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info [data-client-field="tipo_cliente"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="tipo_cliente"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="tipo_cliente"]{
  grid-column:span 5!important; order:7!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info [data-client-field="creado_desde"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="creado_desde"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="creado_desde"]{
  grid-column:span 5!important; order:8!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info [data-client-field="aviso_emergente"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="aviso_emergente"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="aviso_emergente"]{
  grid-column:span 5!important; order:9!important;
}

/* FILA 3: OBSERVACIONES SOLA A TODO EL ANCHO */
#record-modal.client-mode #record-fields.client-general-grid .client-general-info [data-client-field="observaciones"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="observaciones"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="observaciones"]{
  grid-column:1 / -1!important; order:10!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info [data-client-field="observaciones"] textarea,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="observaciones"] textarea,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="observaciones"] textarea{
  width:100%!important; min-height:54px!important; height:54px!important;
}

/* WEB siempre se presenta en minúsculas. */
#record-modal.client-mode #record-fields.client-general-grid .client-general-contact [data-client-field="web"] input,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-contact [data-client-field="web"] input,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-contact [data-client-field="web"] input{
  text-transform:lowercase!important;
}

/* Solo apilar el fiscal en pantallas realmente estrechas.
   No hacerlo a 1100px porque el escalado del equipo activa ese breakpoint. */
@media(max-width:760px){
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-inner > .field-group,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner > .field-group,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-inner > .field-group{
    grid-column:span 1!important;
  }
#record-modal.client-mode #record-fields.client-general-grid .client-general-info [data-client-field="nombre_fiscal"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="nombre_fiscal"],
#record-modal.client-mode #record-fields.client-general-grid .client-general-info [data-client-field="nombre_comercial"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="nombre_comercial"],
#record-modal.client-mode #record-fields.client-general-grid .client-general-info [data-client-field="observaciones"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="observaciones"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info [data-client-field="observaciones"]{
    grid-column:1 / -1!important;
  }
}


/* 4.17.049 · Estructura fiscal explícita por filas.
   Ya no depende del auto-placement de la rejilla general ni de reglas heredadas. */
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-fiscal-layout,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-layout,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-layout{
  display:block!important;
  padding:10px 12px 11px!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row{
  display:grid!important;
  width:100%!important;
  gap:10px!important;
  margin:0 0 9px!important;
  align-items:end!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row:last-child,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row:last-child,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row:last-child{
  margin-bottom:0!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row > .field-group,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row > .field-group,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row > .field-group,
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row > .field-group.wide,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row > .field-group.wide,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row > .field-group.wide{
  grid-column:auto!important;
  width:auto!important;
  min-width:0!important;
  order:initial!important;
  margin:0!important;
}

/* Fila 1: ID y CIF compactos; nombres fiscal y comercial amplios y equilibrados. */
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-identity,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-identity,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-identity{
  grid-template-columns:minmax(72px,.75fr) minmax(125px,1.25fr) minmax(280px,4fr) minmax(280px,4fr)!important;
}

/* Fila 2: cinco campos en una única línea. */
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-classification,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-classification,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-classification{
  grid-template-columns:1fr 1.3fr 1.2fr 1.1fr 1.2fr!important;
}

/* Fila 3: observaciones sola, ancho completo. */
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-notes,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-notes,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-notes{
  grid-template-columns:1fr!important;
}
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-notes textarea,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-notes textarea,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-notes textarea{
  width:100%!important;
  min-height:54px!important;
  height:54px!important;
  resize:vertical!important;
}

/* Datos de contacto y Personas de contacto permanecen con su estructura actual. */
#record-modal.client-mode #record-fields.client-general-grid .client-general-contact [data-client-field="web"] input,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-contact [data-client-field="web"] input,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-contact [data-client-field="web"] input{
  text-transform:lowercase!important;
}

/* Solo en pantallas pequeñas se apilan los campos; escritorio conserva exactamente las 3 filas. */
@media(max-width:760px){
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-identity,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-identity,
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-classification,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-classification,
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-classification{
    grid-template-columns:1fr 1fr!important;
  }
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-identity [data-client-field="nombre_fiscal"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-identity [data-client-field="nombre_fiscal"],
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-identity [data-client-field="nombre_comercial"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-identity [data-client-field="nombre_comercial"],
#record-modal.client-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-classification [data-client-field="aviso_emergente"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-classification [data-client-field="aviso_emergente"],
#record-modal.provider-mode #record-fields.client-general-grid .client-general-info .client-fiscal-row-classification [data-client-field="aviso_emergente"]{
    grid-column:1 / -1!important;
  }
}

/* Botones de filtro del Saldo del cliente: mismo esquema de color, tamano
   mayor y con pictograma (antes eran solo texto y algo pequenos). */
.client-finance-filters-lg button{
  height:42px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12.5px;
  border-radius:6px;
}
.client-finance-filters-lg button svg{
  width:18px;
  height:18px;
  flex:0 0 auto;
}

/* ---- Panel de filtros avanzado (Saldo del cliente) ---- */
.filter-panel{
  position:absolute; top:40px; right:0; z-index:30;
  background:#fff; border:1px solid #cbdceb; border-radius:8px;
  box-shadow:0 8px 24px rgba(18,59,115,0.14);
  display:flex; min-width:560px;
}
.filter-panel.hidden{display:none;}
.filter-col{padding:12px 16px; min-width:180px;}
.filter-col+.filter-col{border-left:1px solid #e0e8f1;}
.filter-col h4{
  display:flex; align-items:center; gap:6px; margin:0 0 8px; font-size:11px; letter-spacing:.02em;
  color:#637891; text-transform:uppercase; font-weight:700;
}
.filter-col h4 .dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto;}
.filter-item{
  display:flex; align-items:center; gap:8px; padding:5px 4px; font-size:12.5px; cursor:pointer; border-radius:4px;
}
.filter-item:hover{background:#f1f6fb;}
.filter-item input[type=checkbox]{margin:0; width:13px; height:13px; accent-color:#1477F2; flex:0 0 auto; pointer-events:none;}
.filter-item.checked{color:#1477F2; font-weight:600;}
.filter-sep{height:1px; background:#e0e8f1; margin:8px 0;}
.filter-item.fav{color:#b98900;}
.filter-item.fav .star{color:#f3b700;}
.save-search{margin-top:6px; font-size:12px; color:#1477F2; cursor:pointer; display:flex; align-items:center; gap:6px; padding:5px 4px;}
.save-search:hover{background:#f1f6fb; border-radius:4px;}
.client-group-row td{background:#edf5fd; font-size:12px; color:#176bc7; padding:7px 12px !important;}

/* ---- Botones de filtro del Saldo: color permanente segun categoria ---- */
.wf-filter-btn{
  display:inline-flex; align-items:center; gap:6px; height:38px; padding:0 14px;
  border-radius:6px; border:1px solid; background:#fff; cursor:pointer;
  font:600 11.5px "Segoe UI Semibold","Segoe UI",Arial,sans-serif;
}
.wf-filter-blue{border-color:#b9d3ef; color:#176bc7;}
.wf-filter-blue.active{background:#1477F2; border-color:#1477F2; color:#fff;}
.wf-filter-orange{border-color:#f0c27e; color:#e88700;}
.wf-filter-orange.active{background:#f39c12; border-color:#f39c12; color:#fff;}
.wf-filter-purple{border-color:#cbbdf4; color:#6f38ed;}
.wf-filter-purple.active{background:#6f38ed; border-color:#6f38ed; color:#fff;}

/* ---- Fila de totales del listado de Saldo ---- */
.client-totals-row td{
  background:#f4f7fb; font-weight:700; color:#123b73; border-top:2px solid #cbdceb;
  padding:9px 12px !important;
}
.client-totals-row td:first-child{text-align:right; color:#637891; font-weight:600; font-size:11px; text-transform:uppercase;}
