/* Mobile layout shared by Gestión and its embedded portals. 2026-10-21. */
@media screen and (max-width:760px){
 html{ -webkit-text-size-adjust:100%;text-size-adjust:100% }
 body{min-width:0!important}
 body :is(main,section,article,fieldset,form,.card,.tarjeta,.panel,.row,.fr,.fg,.grid,.grid2,.campos,.ch,.main,.wrap){min-width:0;box-sizing:border-box}
 body :is(h1,h2,h3,h4,p,label,summary,.badge,.tag,.notice,.warn,.error,.muted,.sub,.ct){overflow-wrap:anywhere}
 body :is(button,.btn,.boton,.link,.nt,.ins){white-space:normal!important;overflow-wrap:anywhere;line-height:1.35!important;max-width:100%;height:auto;min-height:44px;flex-shrink:0;box-sizing:border-box}
 body :is(input,select,textarea){min-width:0;max-width:100%;box-sizing:border-box;font-size:16px!important}
 body :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select){min-height:44px}
 body :is(img,video){max-width:100%}
 body :is(.row,.fr,.ch,.mft,.actions,.toolbar,.head,.detail-head,.detail-body){gap:10px;flex-wrap:wrap}
 body :is(.row,.fr,.ch,.mft,.toolbar)>*{min-width:0;max-width:100%}
 body :is(.fr,.campos,.grid2){align-items:stretch!important}
 body .fr>.fg{width:100%;flex:1 1 100%;min-width:0!important}
 body .fg :is(input,select,textarea){width:100%}
 body :is(dialog,.modal,.modal-caja,.panel-personalizador){box-sizing:border-box;max-width:calc(100vw - 24px)!important;max-height:90dvh!important;overflow-y:auto;overscroll-behavior:contain;padding:16px!important}
 body dialog{margin:auto}
 body :is(dialog,.modal) :is(header,.mft){flex-wrap:wrap;gap:12px}
 body :is(dialog,.modal) header{position:static!important;padding:0 0 12px!important}
 body :is(dialog,.modal) h2{font-size:1.25rem;line-height:1.4}
 body :is(.tw,.envoltorio-tabla,.sr-table,.tablet-table-wrap){min-width:0;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 body :is(td,th){overflow-wrap:normal}
 body .tablet-scroll-tools{font-size:13px;gap:6px!important}
 body .tablet-scroll-tools button{padding:8px!important;flex:1}
 body .tablet-scroll-tools span{display:none}
 /* Main shell: two readable columns, with the section tabs kept on one scrollable row. */
 body.starlit-admin>header{position:relative!important;display:flex!important;flex-wrap:wrap!important;gap:10px!important;padding:12px!important}
 body.starlit-admin>header>h1{flex:1 1 auto;min-width:0}
 body.starlit-admin>header>div{display:flex;flex:1 1 100%;flex-wrap:wrap;gap:8px;align-items:center;min-width:0}
 body.starlit-admin #cs{white-space:normal;line-height:1.4;margin:0}
 body.starlit-admin #recargar-app{font-size:13px!important;padding:9px!important}
 body.starlit-admin .gestion-salir{margin:0!important}
 body.starlit-admin #gestion-novedades{width:100%;flex-basis:100%;order:5}
 body.starlit-admin .gestion-novedades-panel{position:static!important;width:100%!important;max-width:100%!important;max-height:65dvh;overflow:auto}
 body.starlit-admin>nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;padding:8px 10px!important}
 body.starlit-admin>nav .nt{width:100%;min-width:0!important;min-height:48px!important;padding:10px 8px!important;font-size:14px!important;justify-content:center}
 body.starlit-admin :is(.inventario-subnav,#envios-subnav){display:flex;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;position:relative!important;top:auto!important;padding:8px 10px!important;max-width:100%;gap:8px!important}
 body.starlit-admin .inventario-subnav.oculto{display:none!important}
 body.starlit-admin :is(.inventario-subnav,#envios-subnav) .ins{flex:0 0 auto!important;white-space:nowrap!important;padding:10px 12px!important;font-size:14px!important}
 body.starlit-admin .main{padding:12px 10px!important}
 body.starlit-admin .card{padding:14px!important}
 body.starlit-admin :is(.pd,.ajn,.hdet){min-width:0;overflow-wrap:anywhere}
 body.starlit-admin :is(.hi,.pi,.adj){flex-wrap:wrap}
 body.starlit-admin .hi .hd{flex-basis:100%}
 body.starlit-admin .sg{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.starlit-admin .sg .sb2{min-width:0;padding:12px 8px}
 body.starlit-admin .sg .n{font-size:1.5rem;overflow-wrap:anywhere}
 body.starlit-admin .sg .l{font-size:12px!important;line-height:1.4}
 body.starlit-admin .envio-fila{grid-template-columns:minmax(0,1fr)!important;padding:14px 0;gap:10px}
 body.starlit-admin .envio-fila>*{grid-column:auto!important;min-width:0;overflow-wrap:anywhere}
 body.starlit-admin .envio-fila button{width:100%}
 body.starlit-admin :is(.ed-search,.ed-controls){flex-wrap:wrap!important;align-items:stretch}
 body.starlit-admin :is(.ed-search,.ed-controls)>label{flex:1 1 100%;min-width:0}
 body.starlit-admin .ed-search input{width:100%;max-width:none}
 body.starlit-admin .ed-carriers{grid-template-columns:minmax(0,1fr)}
 body.starlit-admin .compra-pagos-campos,body.starlit-admin .compra-pagos-totales{grid-template-columns:minmax(0,1fr)}
 body.starlit-admin :is(#dv-dialog,#ip-dialog) :is(.dv-fields,.ip-fields){grid-template-columns:minmax(0,1fr)!important}
 body.starlit-admin .b2b-order-card header{position:static!important;flex-wrap:wrap;padding:0!important}
 body.starlit-admin :is(.b2b-order-grid,.bg-grid){grid-template-columns:minmax(0,1fr)}
 body.starlit-admin :is(.rentabilidad-frame,.incidencias-frame,#influencers-frame){border-radius:10px;min-height:75dvh!important;height:85dvh!important}
 /* Finance: tabs must never compress their text; cards and filters stack. */
 body.starlit-profit>header{position:relative!important;padding:14px!important}
 body.starlit-profit>header nav{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:8px!important;padding:10px 0!important}
 body.starlit-profit>header nav button{flex:0 0 auto!important;width:auto!important;min-width:max-content!important;white-space:nowrap!important;padding:10px 14px!important;font-size:14px!important;border-radius:10px}
 body.starlit-profit .fila-superior{display:flex;flex-direction:column;align-items:stretch;gap:12px}
 body.starlit-profit .marca{display:block}
 body.starlit-profit .marca h1{font-size:1.5rem;line-height:1.35}
 body.starlit-profit .empresa{display:block;margin-top:5px;font-size:12px}
 body.starlit-profit .panel-periodo{left:0;right:auto;width:100%;max-width:100%}
 body.starlit-profit .periodo-compacto{width:100%}
 body.starlit-profit main{padding:12px 10px!important}
 body.starlit-profit :is(.fila-2,.campos,.pagos-columnas,.grid-ia,.comparativa-grid){grid-template-columns:minmax(0,1fr)!important}
 body.starlit-profit .grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.starlit-profit .kpi{min-width:0;padding:12px}
 body.starlit-profit .kpi .valor{font-size:1.45rem;overflow-wrap:anywhere}
 body.starlit-profit .tarjeta{padding:14px!important}
 body.starlit-profit h2{font-size:1.25rem;line-height:1.4;flex-wrap:wrap;gap:6px}
 body.starlit-profit h2 .sub{display:block;font-size:13px;line-height:1.5}
 body.starlit-profit :is(.pie-tarjeta,.comparativa-controles,.sage-view-tools){flex-wrap:wrap;gap:10px}
 body.starlit-profit .controles-vista-resumen button{width:100%}
 /* Incidents and returns: keep customer details and actions readable. */
 body.starlit-incidents .top{display:flex!important;flex-wrap:wrap!important;gap:12px;padding:14px!important}
 body.starlit-incidents .top nav{display:flex;flex-wrap:wrap;gap:8px}
 body.starlit-incidents .top nav button{flex:1 1 auto}
 body.starlit-incidents :is(.workspace,.management-toolbar){display:block!important}
 body.starlit-incidents .management-toolbar>*{margin-bottom:10px;max-width:100%}
 body.starlit-incidents .ticket{grid-template-columns:minmax(0,1fr) 44px!important;grid-template-areas:'status arrow' 'issue arrow' 'person person' 'tracking tracking' 'manage manage' 'action action'!important}
 body.starlit-incidents .ticket>*{min-width:0}
 body.starlit-incidents .ticket .track-link{white-space:normal!important;overflow-wrap:anywhere;max-width:100%!important}
 body.starlit-incidents .panel{width:100%!important;max-width:100%!important;padding:16px!important}
 body.starlit-incidents .panel :is(.tracking-row,.note-compose,.message-row,.management){flex-wrap:wrap;min-width:0}
 body.starlit-incidents .panel .actions{display:flex;flex-wrap:wrap}
 body.starlit-incidents .panel .actions button{flex:1 1 100%}
 /* Wholesale and collaboration portals. */
 body.starlit-shops :is(.grid2,.detail-grid,.profile-section .grid2){grid-template-columns:minmax(0,1fr)!important}
 body.starlit-shops .tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;max-width:100%}
 body.starlit-shops .tabs button{flex:0 0 auto;white-space:nowrap!important}
 body.starlit-shops :is(.order-actions,.request-actions,.commercial-actions){display:flex;flex-wrap:wrap;gap:10px}
 body.starlit-shops :is(.order-actions,.request-actions,.commercial-actions) button{flex:1 1 100%}
 body #app :is(.grid,.product-line,.collaboration-main){grid-template-columns:minmax(0,1fr)!important}
 body #app .collaboration-main>*{min-width:0;max-width:100%}
 body #app .collaboration-status{white-space:normal;overflow-wrap:anywhere}
 body #app :is(.card,.save-bar){padding:12px!important}
 body #app .row>input,body #app .row>select{flex:1 1 100%;width:100%}
 body #app :is(p,a,small,.collaboration-contact){overflow-wrap:anywhere}
 body #app canvas{max-width:100%;touch-action:none}
}
@media screen and (max-width:360px){
 body.starlit-profit .grid-kpi{grid-template-columns:minmax(0,1fr)!important}
 body.starlit-admin .prep-summary{grid-template-columns:minmax(0,1fr)!important}
 body .embalaje-dialog .embalaje-grid{grid-template-columns:minmax(0,1fr)}
}
