/* Shine Sales v19.8.7 - Adaptacion responsive. Solo presentacion.
   Cargado al final para resolver reglas heredadas sin cambiar calculos ni permisos. */

/* Los modulos no deben aumentar el ancho de las columnas del shell. */
.workspace-application .workspace-content,
.workspace-application .calculator-native-content,
.workspace-application .erp-layout,
.workspace-application .erp-main,
.workspace-application .erp-side-panel,
.workspace-application .erp-table-card,
.workspace-application .erp-extras-list,
.workspace-application .microdata-workspace,
.workspace-application .microdata-editor,
.workspace-application .microdata-budget-sidebar,
.workspace-application #cfCustomersScreen,
.workspace-application #adminScreen,
.workspace-application #historyScreen {min-width:0;max-width:100%;}

/* Aun con sidebar visible, seis columnas comprimidas no son legibles. */
@media (max-width: 1270px) {
  .workspace-application #erpExtrasList .erp-extra-row {
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr) minmax(115px,.8fr) minmax(115px,.8fr)!important;
    align-items:center;
    gap:9px 12px;
    padding:15px 14px;
  }
  .workspace-application #erpExtrasList .erp-extra-checkbox {grid-column:1;grid-row:1;align-self:center;}
  .workspace-application #erpExtrasList .erp-extra-description {grid-column:2/4;grid-row:1;min-width:0;overflow-wrap:anywhere;}
  .workspace-application #erpExtrasList .erp-extra-final-price {grid-column:4;grid-row:1;text-align:right!important;white-space:normal;overflow:visible;overflow-wrap:anywhere;}
  .workspace-application #erpExtrasList .erp-extra-original-price,
  .workspace-application #erpExtrasList .erp-extra-tier-select,
  .workspace-application #erpExtrasList .erp-extra-matrix-controls {grid-column:2;grid-row:2;min-width:0;width:100%;max-width:100%;}
  .workspace-application #erpExtrasList .erp-extra-discount-type {grid-column:3;grid-row:2;min-width:0;width:100%;max-width:100%;}
  .workspace-application #erpExtrasList .erp-extra-discount-value {grid-column:4;grid-row:2;min-width:0;width:100%;max-width:100%;}
  .workspace-application #erpExtrasList .erp-extra-matrix-controls {grid-template-columns:repeat(2,minmax(0,1fr));}
  .workspace-application #erpExtrasList .erp-extra-custom-fields {grid-column:2/-1!important;min-width:0;}
}

@media (max-width: 720px) {
  /* Menú de navegación: drawer compacto, orden coherente y controles accesibles. */
  .workspace-application.is-visible .presupuestos-header.cf-main-sidebar {
    width:min(310px,90vw)!important;max-width:min(310px,90vw)!important;
    padding:15px 12px max(16px,env(safe-area-inset-bottom))!important;
    overscroll-behavior:contain;
  }
  .workspace-application .cf-main-sidebar .cf-sidebar-brand {
    display:flex!important;flex-direction:row!important;align-items:center!important;
    gap:10px!important;margin:0 0 13px!important;padding:4px 9px 16px!important;
  }
  .workspace-application .cf-main-sidebar .cf-sidebar-logo {width:100px;height:36px;flex:0 0 100px;}
  .workspace-application .cf-main-sidebar .cf-sidebar-name {font-size:14px;line-height:1.2;}
  .workspace-application .cf-main-sidebar .cf-sidebar-name span {font-size:10px;}
  .workspace-application .cf-main-sidebar .cf-sidebar-caption {padding-bottom:7px;}
  .workspace-application .cf-main-sidebar .cf-sidebar-nav {order:1!important;flex:0 0 auto!important;}
  .workspace-application .cf-main-sidebar .cf-sidebar-bottom {
    order:2!important;flex:0 0 auto!important;margin:15px 0 0!important;padding-top:12px!important;
  }
  .workspace-application .cf-main-sidebar .cf-side-link {min-height:44px!important;}
  .workspace-application .cf-main-sidebar .cf-sidebar-user {padding:6px 12px 9px;}
  .workspace-application .cf-mobile-sidebar-topbar {
    position:sticky;top:max(0px,env(safe-area-inset-top));z-index:90;
    width:100%;margin:0 0 14px;min-width:0;
    min-height:52px;padding:6px 10px;border-radius:10px;
    box-shadow:0 4px 16px rgba(0,55,37,.10);
  }
  .workspace-application .cf-mobile-sidebar-topbar img {width:94px;max-width:30%;}
  .workspace-application .cf-mobile-sidebar-topbar span {font-size:12px;min-width:0;text-align:right;overflow-wrap:anywhere;}
  .workspace-application .workspace-content {padding:10px 10px 28px!important;min-width:0;}
  body.cf-sidebar-open {overflow:hidden;}

  /* Cada extra ERP ocupa su propia tarjeta y mantiene todos los controles visibles. */
  .workspace-application #erpExtrasList {gap:10px;}
  .workspace-application #erpExtrasList .erp-extra-row {
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    column-gap:10px;row-gap:10px;
    padding:13px!important;
    border:1px solid #dce7e0!important;
    border-radius:12px!important;
    background:#fff;
    min-width:0;
  }
  .workspace-application #erpExtrasList .erp-extra-row > * {min-width:0;max-width:100%;}
  .workspace-application #erpExtrasList .erp-extra-checkbox {grid-column:1;grid-row:1;align-self:start;margin-top:3px;}
  .workspace-application #erpExtrasList .erp-extra-description {grid-column:2;grid-row:1;overflow-wrap:anywhere;}
  .workspace-application #erpExtrasList .erp-extra-description strong {display:block;font-size:13px;line-height:1.4;white-space:normal;}
  .workspace-application #erpExtrasList .erp-extra-description small {display:block;font-size:11px;line-height:1.4;}
  .workspace-application #erpExtrasList :is(.erp-extra-original-price,.erp-extra-tier-select,.erp-extra-matrix-controls) {
    grid-column:2;grid-row:2;width:100%;max-width:100%;min-width:0;text-align:left!important;
  }
  .workspace-application #erpExtrasList .erp-extra-original-price {white-space:normal;overflow:visible;text-overflow:clip;}
  .workspace-application #erpExtrasList .erp-extra-matrix-controls {
    display:grid;grid-template-columns:1fr!important;gap:8px;min-width:0!important;
  }
  .workspace-application #erpExtrasList .erp-extra-matrix-controls select {min-width:0;width:100%;max-width:100%;}
  .workspace-application #erpExtrasList .erp-extra-discount-type {
    grid-column:2;grid-row:3;width:100%!important;max-width:100%!important;
  }
  .workspace-application #erpExtrasList .erp-extra-discount-value {
    grid-column:2;grid-row:4;width:100%!important;max-width:100%!important;
  }
  .workspace-application #erpExtrasList .erp-extra-final-price {
    grid-column:2;grid-row:5;min-width:0;text-align:left!important;white-space:normal;
    overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-size:15px;
  }
  .workspace-application #erpExtrasList .erp-extra-custom-fields {
    grid-column:2!important;grid-row:auto!important;grid-template-columns:1fr!important;max-width:100%;
  }
  .workspace-application #erpExtrasList :is(select,input[type="number"]) {min-height:40px;font-size:14px;}

  /* Celdas compactas, tarjetas y totales en el configurador y en Microdata. */
  .workspace-application :is(.erp-main,.microdata-config-card,.microdata-budget-card) {min-width:0;}
  .workspace-application .microdata-accordion-item .microdata-discount-fields {
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;
  }
  .workspace-application .microdata-accordion-item .microdata-discount-field {min-width:0;}
  .workspace-application .microdata-accordion-item .microdata-discount-fields :is(input,select) {min-width:0;max-width:100%;width:100%;}
  .workspace-application .microdata-accordion-trigger {
    grid-template-columns:18px minmax(0,1fr);gap:8px;min-width:0;
  }
  .workspace-application .microdata-accordion-price {grid-column:2;max-width:none;text-align:left;overflow-wrap:anywhere;}
  .workspace-application .microdata-accordion-summary :is(strong,small) {white-space:normal;overflow-wrap:anywhere;}
  .workspace-application .microdata-budget-totals {grid-template-columns:repeat(2,minmax(0,1fr));}
  .workspace-application .microdata-result-card {grid-template-columns:1fr;}
  .workspace-application .erp-base-row :is(input,select),
  .workspace-application :is(.erp-main,.microdata-config-card) :is(input,select,textarea) {max-width:100%;}

  /* Historial, Clientes y Administración: solo las tablas scrollean dentro de su módulo. */
  .workspace-application #cfCustomersScreen :is(.table-container,.results-card) {max-width:100%;min-width:0;}
  .workspace-application #cfCustomersScreen .table-container {overflow-x:auto!important;overscroll-behavior-x:contain;}
  .workspace-application #cfCustomersScreen .header-right {min-width:0;}
  .workspace-application #cfCustomersScreen .header-right :is(select,button,input) {max-width:100%;}
  .workspace-application #adminScreen :is(.sp-admin-table-wrap,.sp-admin-toolbar,.sp-admin-panel) {max-width:100%;min-width:0;}
  .workspace-application #adminScreen .sp-admin-table-wrap {overflow-x:auto;overscroll-behavior-x:contain;}
  .workspace-application :is(#adminScreen,#historyScreen) .workspace-topbar {min-width:0;}
  .workspace-application :is(#adminScreen,#historyScreen) .workspace-topbar h1 {overflow-wrap:anywhere;}
  .native-modal .native-form-grid,
  .native-modal .native-modal-content,
  .native-modal .native-modal-body {min-width:0;max-width:100%;}
  .native-modal :is(input,select,textarea) {max-width:100%;}
}

@media (max-width: 440px) {
  .workspace-application .cf-mobile-sidebar-topbar {gap:8px;}
  .workspace-application .cf-mobile-sidebar-topbar img {width:84px;}
  .workspace-application .erp-main,
  .workspace-application .microdata-config-card,
  .workspace-application .microdata-budget-card {padding:12px!important;}
  .workspace-application .microdata-accordion-item .microdata-discount-fields {grid-template-columns:1fr;}
  .workspace-application .microdata-budget-totals {grid-template-columns:1fr;}
  .workspace-application #cfCustomersScreen .filter-bar > *,
  .workspace-application #cfCustomersScreen .results-header .seg-actions > * {max-width:100%!important;}
  .workspace-application #adminScreen .sp-admin-tabs {grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (prefers-reduced-motion:reduce) {
  .workspace-application .presupuestos-header.cf-main-sidebar {transition:none!important;}
}

/* Drawer abierto de 721 a 1050 px: mismo orden y cierre visible que en móvil. */
.workspace-application .cf-main-sidebar .cf-sidebar-close {display:none!important;}
@media (max-width: 1050px) {
  .workspace-application .cf-main-sidebar .cf-sidebar-brand {
    flex-direction:row!important;align-items:center!important;gap:10px!important;
    padding:4px 4px 16px!important;margin-bottom:15px!important;
  }
  .workspace-application .cf-main-sidebar .cf-sidebar-logo {width:98px;height:35px;flex:0 0 98px;}
  .workspace-application .cf-main-sidebar .cf-sidebar-name {font-size:14px;}
  .workspace-application .cf-main-sidebar .cf-sidebar-name span {font-size:10px;}
  .workspace-application .cf-main-sidebar .cf-sidebar-close {
    display:grid!important;place-items:center!important;flex:0 0 36px;
    width:36px;height:36px;margin-left:auto;padding:7px;
    border:1px solid rgba(255,255,255,.28);border-radius:9px;
    background:rgba(255,255,255,.08);color:white;cursor:pointer;
  }
  .workspace-application .cf-main-sidebar .cf-sidebar-close:focus-visible {outline:2px solid var(--cf-butter);outline-offset:2px;}
  .workspace-application .cf-main-sidebar .cf-sidebar-nav {order:1!important;}
  .workspace-application .cf-main-sidebar .cf-sidebar-bottom {order:2!important;margin:16px 0 0!important;}
  body.cf-sidebar-open {overflow:hidden;}
}
