/* NexaCore V47 · Sistema visual compartido de Logística */
.logistics-icon{
  display:block;
  flex:0 0 auto;
  overflow:visible;
  color:inherit;
  pointer-events:none;
}

.logistics-icon-box{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex:0 0 44px;
  border-radius:14px;
  color:#0f62fe;
  background:#eaf3ff;
  border:1px solid #cfe1f5;
}

.logistics-title-v47{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.logistics-title-v47 > div:last-child{min-width:0}

.logistics-action-v47{
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:13px!important;
  font-weight:800;
}

.logistics-action-v47.is-icon-only{
  width:44px;
  min-width:44px;
  padding:0!important;
}

.logistics-search-icon-v47{
  width:40px;
  min-width:40px;
  display:grid!important;
  place-items:center;
  color:#52677b;
}

/* Flujo canónico: nunca depende de scroll horizontal. */
.logistics-flow-v47{
  display:grid;
  grid-template-columns:minmax(145px,.72fr) minmax(0,5.28fr);
  gap:10px;
  align-items:stretch;
  margin:0 0 18px;
  padding:10px;
  border:1px solid #d8e4ef;
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#f5f9fc);
  box-shadow:0 12px 30px rgba(15,23,42,.055);
}

.logistics-flow-intro{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:10px 13px;
  border-radius:15px;
  color:#dfeeff;
  background:linear-gradient(145deg,#0a1b2f,#123c60);
}

.logistics-flow-intro span{
  color:#72d8ff;
  font-size:.61rem;
  font-weight:950;
  letter-spacing:.11em;
}

.logistics-flow-intro strong{
  margin-top:3px;
  font-size:.86rem;
  line-height:1.2;
}

.logistics-flow-v47 ol{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
  min-width:0;
  margin:0;
  padding:0;
  list-style:none;
}

.logistics-flow-v47 li{min-width:0}

.logistics-flow-v47 li a{
  position:relative;
  min-height:70px;
  height:100%;
  display:grid;
  grid-template-columns:35px minmax(0,1fr);
  align-items:center;
  gap:7px;
  padding:8px;
  border:1px solid transparent;
  border-radius:14px;
  color:#40556a;
  background:#f7fafc;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.logistics-flow-v47 li:not(:last-child) a:after{
  content:"";
  position:absolute;
  z-index:2;
  right:-7px;
  top:50%;
  width:7px;
  height:2px;
  background:#c7d5e2;
}

.logistics-flow-v47 li a:hover{
  transform:translateY(-2px);
  border-color:#a8c9e8;
  box-shadow:0 8px 18px rgba(15,98,254,.08);
}

.logistics-flow-icon{
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  border-radius:11px;
  color:#276184;
  background:#e8f1f8;
}

.logistics-flow-copy{min-width:0}

.logistics-flow-copy b,
.logistics-flow-copy small{display:block}

.logistics-flow-copy b{
  overflow:hidden;
  color:#1d3449;
  font-size:.66rem;
  line-height:1.2;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.logistics-flow-copy small{
  margin-top:3px;
  color:#6f8192;
  font-size:.58rem;
  line-height:1.18;
}

.logistics-flow-v47 li.is-active a{
  border-color:#69afe4;
  color:#fff;
  background:linear-gradient(145deg,#0f62fe,#0d80a8);
  box-shadow:0 10px 22px rgba(15,98,254,.2);
}

.logistics-flow-v47 li.is-active .logistics-flow-icon{
  color:#fff;
  background:rgba(255,255,255,.16);
}

.logistics-flow-v47 li.is-active .logistics-flow-copy b,
.logistics-flow-v47 li.is-active .logistics-flow-copy small{color:#fff}

.logistics-flow-v47 li.is-before .logistics-flow-icon{
  color:#08755f;
  background:#dcf8ef;
}

.logistics-flow-v47.is-compact{
  grid-template-columns:120px minmax(0,1fr);
  padding:8px;
}

.logistics-flow-v47.is-compact li a{min-height:58px}
.logistics-flow-v47.is-compact .logistics-flow-copy small{display:none}

/* Jerarquía real del menú y estado colapsado utilizable. */
body .sidebar-core-link,
body .sidebar-sublink-text-only{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr) auto!important;
  align-items:center;
  gap:9px;
}

body .sidebar-group-toggle{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}

.sidebar-item-icon-v47{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#b9d6ec;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.09);
}

.sidebar-group-toggle .sidebar-item-icon-v47{
  width:42px;
  height:42px;
  color:#d7edff;
  background:linear-gradient(145deg,rgba(33,118,173,.32),rgba(255,255,255,.06));
}

.sidebar-sublink .sidebar-item-icon-v47{
  width:31px;
  height:31px;
  border-radius:10px;
  color:#8fc3e7;
  background:rgba(255,255,255,.035);
}

.sidebar-core-link:hover .sidebar-item-icon-v47,
.sidebar-sublink:hover .sidebar-item-icon-v47,
.sidebar-link.active .sidebar-item-icon-v47,
.sidebar-sublink.active .sidebar-item-icon-v47{
  color:#fff;
  border-color:rgba(105,207,255,.48);
  background:rgba(25,144,202,.25);
}

.sidebar-group-title{
  min-width:0;
  display:flex;
  flex-direction:column;
}

.sidebar-group-title small{
  font-size:.55rem;
  letter-spacing:.12em;
  line-height:1.1;
}

.sidebar-group-title > span:last-child{
  margin-top:2px;
  font-size:.88rem;
  line-height:1.2;
}

.trial-nav-lock{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
}

body.sidebar-collapsed .sidebar-core-link,
body.sidebar-collapsed .sidebar-group-toggle{
  width:52px!important;
  min-height:52px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center;
  margin-inline:auto;
  padding:5px!important;
}

body.sidebar-collapsed .sidebar-group.open .sidebar-group-children{
  display:grid!important;
  gap:5px;
}

body.sidebar-collapsed .sidebar-group:not(.open) .sidebar-group-children{display:none!important}

body.sidebar-collapsed .sidebar-sublink-text-only{
  width:46px!important;
  min-height:46px!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center;
  margin-inline:auto;
  padding:5px!important;
}

body.sidebar-collapsed .sidebar-item-label,
body.sidebar-collapsed .sidebar-group-title,
body.sidebar-collapsed .sidebar-group-arrow,
body.sidebar-collapsed .trial-nav-lock{display:none!important}

body.sidebar-collapsed .sidebar-item-icon-v47{margin:auto}
body.sidebar-collapsed .sidebar-group-toggle .sidebar-item-icon-v47{display:grid!important}
body.sidebar-collapsed .sidebar-core-link:before,
body.sidebar-collapsed .sidebar-sublink:before{display:none!important;content:none!important}

/* Tablas operativas en tarjetas cuando el ancho no permite ocho o diez columnas. */
@media(max-width:768px){
  .v47-responsive-table,
  .v47-responsive-table tbody,
  .v47-responsive-table tr,
  .v47-responsive-table td{
    display:block;
    width:100%;
  }

  .v47-responsive-table{min-width:0!important}
  .v47-responsive-table thead{display:none}

  .v47-responsive-table tbody{
    display:grid;
    gap:10px;
  }

  .v47-responsive-table tr{
    overflow:hidden;
    margin:0!important;
    padding:8px 12px;
    border:1px solid #d9e5ef!important;
    border-radius:17px;
    background:#fff;
    box-shadow:0 8px 20px rgba(15,23,42,.055);
  }

  .v47-responsive-table tr.v47-detail-row,
  .v47-responsive-table tr.fleet-inspection-detail-row{
    margin-top:-10px!important;
    border-top:0!important;
    border-radius:0 0 17px 17px;
    box-shadow:none;
  }

  .v47-responsive-table td{
    min-height:38px;
    display:grid;
    grid-template-columns:minmax(105px,34%) minmax(0,1fr);
    align-items:center;
    gap:9px;
    padding:7px 0!important;
    border:0!important;
    text-align:left!important;
    white-space:normal!important;
  }

  .v47-responsive-table td:before{
    content:attr(data-label);
    color:#6c7c8b;
    font-size:.62rem;
    font-weight:900;
    letter-spacing:.045em;
    line-height:1.2;
    text-transform:uppercase;
  }

  .v47-responsive-table td[colspan]{
    display:block;
  }

  .v47-responsive-table td[colspan]:before{display:none}

  .v47-responsive-table .table-actions-compact,
  .v47-responsive-table .premium-actions,
  .v47-responsive-table td:last-child > .d-flex{
    justify-content:flex-start!important;
  }

  .v47-responsive-table .btn,
  .v47-responsive-table button,
  .v47-responsive-table select{
    min-height:44px;
  }

  .table-responsive:has(.v47-responsive-table){
    overflow:visible!important;
  }

  .logistics-action-v47{min-height:46px!important}
}

@media(max-width:1180px){
  .logistics-flow-v47{
    grid-template-columns:1fr;
  }

  .logistics-flow-intro{
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:center;
    gap:8px;
  }

  .logistics-flow-intro strong{margin:0}
  .logistics-flow-v47 ol{grid-template-columns:repeat(3,minmax(0,1fr))}
  .logistics-flow-v47 li:nth-child(3) a:after,
  .logistics-flow-v47 li:nth-child(6) a:after{display:none}
}

@media(max-width:640px){
  .logistics-flow-v47,
  .logistics-flow-v47.is-compact{
    grid-template-columns:1fr;
    gap:7px;
    padding:7px;
    border-radius:17px;
  }

  .logistics-flow-intro{
    padding:8px 10px;
    border-radius:12px;
  }

  .logistics-flow-v47 ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .logistics-flow-v47 li:nth-child(3) a:after{display:block}
  .logistics-flow-v47 li:nth-child(even) a:after{display:none}

  .logistics-flow-v47 li a,
  .logistics-flow-v47.is-compact li a{
    min-height:58px;
    grid-template-columns:32px minmax(0,1fr);
    padding:7px;
  }

  .logistics-flow-icon{width:32px;height:32px}
  .logistics-flow-copy small{display:none}

  .page-title-bar .logistics-title-v47{
    align-items:flex-start;
  }
}

@media(prefers-reduced-motion:reduce){
  .logistics-flow-v47 li a{transition:none}
}

/* V47 final · navegación semántica, tablas realmente móviles y densidad operativa. */
body .sidebar-core-link{
  display:grid!important;
  grid-template-columns:36px minmax(0,1fr) auto!important;
}

body .sidebar-group-toggle{
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto!important;
}

body .sidebar-sublink.sidebar-sublink-text-only{
  display:grid!important;
  grid-template-columns:31px minmax(0,1fr) auto!important;
}

body .sidebar-item-icon-v47 svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body .work-orders-table{
  min-width:970px!important;
  table-layout:fixed!important;
}
body .work-orders-table th:nth-child(1),body .work-orders-table td:nth-child(1){width:125px!important}
body .work-orders-table th:nth-child(2),body .work-orders-table td:nth-child(2){width:95px!important}
body .work-orders-table th:nth-child(3),body .work-orders-table td:nth-child(3){width:145px!important}
body .work-orders-table th:nth-child(4),body .work-orders-table td:nth-child(4){width:105px!important}
body .work-orders-table th:nth-child(5),body .work-orders-table td:nth-child(5){width:130px!important}
body .work-orders-table th:nth-child(6),body .work-orders-table td:nth-child(6){width:110px!important}
body .work-orders-table th:nth-child(7),body .work-orders-table td:nth-child(7){width:85px!important}
body .work-orders-table th:nth-child(8),body .work-orders-table td:nth-child(8){width:175px!important}
body .module-search-field .input-with-icon input{padding-left:3rem!important}

body .sidebar-item-label,
body .sidebar-group-title{
  min-width:0;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

.logistics-kpi-grid-v47,
.logistics-signal-grid-v47{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.logistics-kpi-grid-v47 > *,
.logistics-signal-grid-v47 > *{width:auto!important;max-width:none!important}

@media(max-width:1500px){
  .work-orders-table .logistics-action-label{display:none}
  .work-orders-table .logistics-action-v47:not(.status-inline-select){
    width:42px;
    min-width:42px;
    padding:0!important;
  }
  .logistics-flow-copy b{
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
  }
}

@media(max-width:900px){
  .logistics-kpi-grid-v47,
  .logistics-signal-grid-v47{grid-template-columns:repeat(2,minmax(0,1fr))}
  .logistics-kpi-grid-v47 > :last-child:nth-child(odd){grid-column:1/-1}
}

@media(min-width:769px) and (max-width:1180px){
  .logistics-flow-v47.is-compact{grid-template-columns:1fr}
  body .work-orders-table{min-width:885px!important}
  body .work-orders-table th:nth-child(1),body .work-orders-table td:nth-child(1){width:123px!important}
  body .work-orders-table th:nth-child(2),body .work-orders-table td:nth-child(2){width:85px!important}
  body .work-orders-table th:nth-child(3),body .work-orders-table td:nth-child(3){width:122px!important}
  body .work-orders-table th:nth-child(4),body .work-orders-table td:nth-child(4){width:90px!important}
  body .work-orders-table th:nth-child(5),body .work-orders-table td:nth-child(5){width:115px!important}
  body .work-orders-table th:nth-child(6),body .work-orders-table td:nth-child(6){width:105px!important}
  body .work-orders-table th:nth-child(7),body .work-orders-table td:nth-child(7){width:75px!important}
  body .work-orders-table th:nth-child(8),body .work-orders-table td:nth-child(8){width:170px!important}
  body .work-orders-table .premium-actions{gap:4px!important}
  body .work-orders-table .logistics-action-v47:not(.status-inline-select){width:38px;min-width:38px}
}

@media(max-width:768px){
  body table.v47-responsive-table,
  body table.compact-data-table.v47-responsive-table,
  body table.premium-data-table.v47-responsive-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    table-layout:auto!important;
  }

  body table.v47-responsive-table thead{display:none!important}
  body table.v47-responsive-table tbody{display:grid!important;width:100%!important;gap:10px}
  body table.v47-responsive-table tr{display:block!important;width:100%!important;min-width:0!important}
  body table.v47-responsive-table td,
  body table.v47-responsive-table th:nth-child(n),
  body table.v47-responsive-table td:nth-child(n){width:100%!important;min-width:0!important}
  body table.v47-responsive-table td{
    display:grid!important;
    grid-template-columns:minmax(92px,32%) minmax(0,1fr)!important;
    word-break:normal!important;
    overflow-wrap:anywhere;
  }
  body table.v47-responsive-table td[colspan]{display:block!important}
  body table.v47-responsive-table td[colspan]:before{display:none!important}
  body table.v47-responsive-table .table-primary-text,
  body table.v47-responsive-table .table-secondary-text,
  body table.v47-responsive-table .badge-soft{word-break:normal!important;overflow-wrap:anywhere}
  body .premium-table-wrap:has(.v47-responsive-table),
  body .table-responsive:has(.v47-responsive-table){overflow:visible!important}
  body table.v47-responsive-table .logistics-action-label{display:inline}
  body table.v47-responsive-table .logistics-action-v47:not(.is-icon-only){
    width:auto;
    min-width:44px;
    padding-inline:12px!important;
  }
  body .work-orders-table{min-width:0!important;table-layout:auto!important}
  body .work-orders-table .premium-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px!important;
    width:100%;
  }
  body .work-orders-table .premium-actions form{width:100%;margin:0}
  body .work-orders-table .premium-actions .logistics-action-v47{
    width:100%!important;
    min-width:0!important;
  }
}

/* Integración V48: estados normalizados e iconografía de acciones configurable. */
.status-pill.status-nuevo{
  background:#eaf2ff;
  color:#1d4ed8;
}

.status-pill.status-asignado{
  background:#fff7ed;
  color:#c2410c;
}

.status-pill.status-en-reparto{
  background:#f5f3ff;
  color:#6d28d9;
}

.dispatch-block-close,
.adjustment-block-close,
.industrial-modal-close,
.manual-remove,
.line-delete{
  display:grid;
  place-items:center;
  padding:0;
}

.dispatch-restore button,
.adjustment-restore button{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.dispatch-card-actions form,
.adjustment-card-actions form,
.premium-actions form{
  margin:0;
}

@media(max-width:700px){
  .dispatch-card-actions,
  .adjustment-card-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dispatch-card-actions > *,
  .adjustment-card-actions > *{
    width:100%;
  }

  .dispatch-card-actions .logistics-action-v47,
  .adjustment-card-actions .logistics-action-v47{
    width:100%;
    min-width:0;
  }
}
