/* Emich Trucking v9.9.21 · revisión transversal de UI / responsive */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
#view,.main,.v68-page,.v9-pagebar,.v9-card,.card,.panel,.section{min-width:0;max-width:100%}
#view>*{min-width:0}

/* Controles: una sola gramática visual y sin texto fuera */
#view button,#modalbox button,.top-actions button{box-sizing:border-box;max-width:100%;line-height:1.18;word-break:normal;overflow-wrap:anywhere}
.btn,.v9-btn{min-height:40px;border-radius:11px}
.btn.tiny,.v9-btn.tiny{min-height:34px;padding:7px 10px!important}
.actions,.v9-actions,.v99-actions,.v992-actions,.v9915-row-actions,.v9915-service-actions,.v9-inline-page-actions,.top-actions{min-width:0;flex-wrap:wrap;gap:8px}
.actions>* ,.v9-actions>* ,.v99-actions>* ,.v992-actions>*{min-width:0}
input,select,textarea,.v9-input,.v9-select{box-sizing:border-box;max-width:100%;min-width:0}
.formgrid>* ,.field,.v9-formgrid>*{min-width:0}

/* Tabs: se deslizan horizontalmente en lugar de romper el viewport */
.v9-tabs,.v61-config-tabs,.catalog-tabs.admin-tabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;max-width:100%!important;gap:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
.v9-tabs::-webkit-scrollbar,.v61-config-tabs::-webkit-scrollbar,.catalog-tabs.admin-tabs::-webkit-scrollbar{display:none}
.v9-tabs>button,.v61-config-tabs>button,.catalog-tabs.admin-tabs>button{flex:0 0 auto!important;white-space:nowrap!important;min-width:max-content!important;max-width:none!important}

/* Tablas: desktop con scroll contenido; móvil como tarjetas legibles */
.v9-tablewrap,.v9921-table-wrap,.table-wrap,.table-scroll{width:100%;max-width:100%;overflow-x:auto!important;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.v9921-table-wrap{border-radius:14px}
#view table{max-width:none}
#view table.v9921-responsive-table th,#view table.v9921-responsive-table td{vertical-align:middle}

/* Toolbars nunca fuerzan ancho extra */
.v9-toolbar,.toolbar,.filters,.v94-fiscal-toolbar{max-width:100%;min-width:0;gap:8px;flex-wrap:wrap}
.v9-toolbar .search,.toolbar .search{min-width:180px;flex:1 1 260px}
.v9-toolbar select,.v9-toolbar button,.toolbar select,.toolbar button{flex:0 1 auto}

/* Modales: altura y ancho seguros en navegador / Safari iPhone */
#modal{padding:10px!important}
#modalbox{width:min(980px,calc(100vw - 20px))!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;overflow:auto!important;overscroll-behavior:contain;border-radius:18px!important}
#modalbox .formgrid,#modalbox .v9-formgrid{min-width:0}
#modalbox .actions{display:flex;justify-content:flex-end}

/* Cotización / servicio directo: menos ruido visual, pasos identificables */
.v9921-hide{display:none!important}
.v9914-direct-head .sub{max-width:620px}
.v9914-direct-notice{padding:10px 12px!important;margin:10px 0 12px!important;display:flex!important;gap:7px;align-items:baseline;flex-wrap:wrap}
.v9914-direct-notice b,.v9914-direct-notice span{margin:0!important;font-size:.78rem!important;line-height:1.3!important}
.v52-stepper{max-width:100%;overflow:hidden}
.v52-stepper button{min-width:0!important}
.v52-pane-title>div{min-width:0}
.v9914-direct-final-note{padding:10px 12px!important;font-size:.76rem!important;line-height:1.35!important}

/* Operación v9.9.20: mantener cada bloque dentro de su tarjeta */
.v9919-trip,.v9920-operation-panel{max-width:100%;min-width:0;overflow:hidden}
.v9920-operation-top,.v9920-op-actions,.v9920-op-kpis{min-width:0;max-width:100%}
.v9920-op-actions>*{min-width:0}
.v9920-op-kpis>span{min-width:0;overflow:hidden}
.v9920-op-kpis b{max-width:100%;word-break:normal;overflow-wrap:anywhere}

/* Tarjetas y grids genéricos */
.v9-kpis,.v9-summary-grid,.v9914-plan-metrics,.v9915-linked-metrics,.v99-grid,.v992-split{min-width:0;max-width:100%}
.v9-kpis>* ,.v9-summary-grid>* ,.v9914-plan-metrics>* ,.v9915-linked-metrics>*{min-width:0}

@media(max-width:900px){
  .main{min-width:0}
  .v9-pagebar{gap:12px;align-items:flex-start}
  .v9-pagebar>.v9-actions{width:100%}
  .v9-pagebar>.v9-actions>*{flex:1 1 150px}
  .v9-context{grid-template-columns:1fr 1fr!important}
  .v9-context-copy{grid-column:1/-1}
}

@media(max-width:720px){
  body{font-size:15px}
  .main{padding-left:10px!important;padding-right:10px!important;padding-bottom:92px!important}
  .top{gap:10px;align-items:flex-start}
  .top h1{font-size:1.45rem}
  .top-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%}
  .top-actions>*{width:100%!important;min-width:0!important}

  .v9-pagebar,.v9-toolbar,.toolbar,.v94-fiscal-toolbar{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  .v9-pagebar>.v9-actions,.v9-toolbar>* ,.toolbar>* ,.v94-fiscal-toolbar>*{width:100%!important;max-width:100%!important}
  .v9-toolbar .search,.toolbar .search{min-width:0;width:100%}

  /* Tablas del contenido principal se convierten a tarjetas. */
  #view .v9921-responsive-table{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate!important}
  #view .v9921-responsive-table thead{display:none!important}
  #view .v9921-responsive-table tbody{display:grid!important;gap:10px!important;width:100%!important}
  #view .v9921-responsive-table tbody tr{display:block!important;width:100%!important;min-width:0!important;border:1px solid #e2e6e8!important;border-radius:14px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 3px 12px rgba(34,25,29,.035)}
  #view .v9921-responsive-table tbody td{display:grid!important;grid-template-columns:minmax(92px,.42fr) minmax(0,1fr)!important;gap:10px!important;align-items:center!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:10px 12px!important;border:0!important;border-bottom:1px solid #eef0f1!important;white-space:normal!important;overflow-wrap:anywhere!important}
  #view .v9921-responsive-table tbody td:last-child{border-bottom:0!important}
  #view .v9921-responsive-table tbody td::before{content:attr(data-label);font-size:.64rem;font-weight:850;letter-spacing:.02em;text-transform:uppercase;color:#7a8388;line-height:1.2}
  #view .v9921-responsive-table tbody td[colspan]{display:block!important;text-align:center!important;padding:18px!important}
  #view .v9921-responsive-table tbody td[colspan]::before{display:none!important}
  #view .v9921-responsive-table .v9915-row-actions,#view .v9921-responsive-table .actions{display:flex!important;flex-wrap:wrap!important;gap:7px!important;width:100%!important}
  #view .v9921-responsive-table .v9915-row-actions>*{flex:1 1 105px!important;width:auto!important;max-width:100%!important}
  #view .v9921-responsive-table .v9915-row-actions .v9-kebab{flex:0 0 38px!important}

  .v9-context{grid-template-columns:1fr!important}
  .v9-context-copy{grid-column:auto}
  .v9-context-copy span,.v9-pagebar p,.v9915-method-banner p{display:none!important}

  #modal{align-items:flex-start!important}
  #modalbox{margin:0!important;width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;padding-left:16px!important;padding-right:16px!important;border-radius:17px!important}
  #modalbox .formgrid.two-col,#modalbox .formgrid.three-col,#modalbox .v9-formgrid{grid-template-columns:1fr!important}
  #modalbox .span2,#modalbox .span3{grid-column:auto!important}
  #modalbox .actions{display:grid!important;grid-template-columns:1fr!important}
  #modalbox .actions>*{width:100%!important}

  .v52-quote-head{padding-right:48px!important}
  .v52-quote-head h2{font-size:1.25rem!important}
  .v52-quote-head .sub{font-size:.82rem!important;line-height:1.35!important}
  .v52-stepper button b{display:block!important;font-size:.62rem!important;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis}
  .v52-stepper button span{margin:auto}
  .v52-pane-title p{font-size:.76rem!important}
  .v9914-direct-notice{border-radius:11px!important}

  .v9919-service-stats,.v9919-docs{grid-template-columns:1fr 1fr!important}
  .v9920-op-actions{grid-template-columns:1fr 1fr!important}
  .v9920-op-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:420px){
  .top-actions{grid-template-columns:1fr}
  #view .v9921-responsive-table tbody td{grid-template-columns:1fr!important;gap:4px!important}
  #view .v9921-responsive-table tbody td::before{margin-bottom:1px}
  .v52-stepper button b{font-size:.59rem!important}
  .v9919-service-stats,.v9919-docs,.v9920-op-actions,.v9920-op-kpis{grid-template-columns:1fr!important}
  .v9-tabs,.v61-config-tabs,.catalog-tabs.admin-tabs{margin-left:-2px;margin-right:-2px}
}
.v61-sticky-actions span{min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important}
/* Corrige colisión con la clase global .main del layout principal. */
.v9917-global-kpis>span.main,.v9919-operation-kpis>span.main,.v9920-op-kpis>span.main{flex:initial!important;width:auto!important;max-width:100%!important;margin:0!important;padding:12px!important;min-width:0!important;position:static!important}
@media(max-width:720px){
  .top{flex-direction:column!important;align-items:stretch!important}
  .top>div:first-child{width:100%;min-width:0}
  #title{width:auto!important;max-width:100%!important;white-space:normal!important}
  .v9-toolbar>* ,.toolbar>* ,.v94-fiscal-toolbar>*{flex:none!important}
  .v9-toolbar .search,.toolbar .search{flex:none!important;min-height:44px!important;height:auto!important}
}
