/* Ventas Solutions · ajustes responsivos comunes (tablas, acciones con ícono, formularios/modales) */
.vs-tw{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:inherit}
.vs-tw>table{min-width:560px}
.vs-tw>table td,.vs-tw>table th{white-space:nowrap}
.vs-tw>table td.vs-wrap,.vs-tw>table td:first-child{white-space:normal}
.vs-acts{display:inline-flex;gap:4px;flex-wrap:nowrap;align-items:center}
.vs-ico{position:relative;display:inline-flex!important;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;padding:0!important;
  border-radius:8px!important;border:1px solid rgba(26,122,74,.18)!important;background:#fff!important;font-size:15px!important;line-height:1;cursor:pointer;text-decoration:none!important;transition:background .15s,transform .1s}
.vs-ico:hover{background:#e8f4ee!important}
.vs-ico:active{transform:scale(.94)}
.vs-ico.vs-danger:hover{background:#fde8e6!important}
.vs-ico::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#1c2b1e;color:#fff;font:500 11px 'DM Sans',system-ui,sans-serif;
  padding:4px 8px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s;z-index:50}
.vs-ico:hover::after,.vs-ico:focus-visible::after{opacity:1}
/* Formularios y modales: nada se sale */
.modal>*,[id$="FormCard"],[id$="FormContainer"],#adjustCard,.hoja{max-width:calc(100vw - 16px);box-sizing:border-box}
.modal .hoja{max-height:92vh;overflow:auto}
[id$="FormCard"] button,[id$="FormContainer"] button,#empresaForm button,#usuarioForm button,.hoja button,.purchase-actions button,#adjustCard button{max-width:100%;white-space:normal}
.purchase-actions,.hoja-f,.acc{flex-wrap:wrap}
input,select,textarea{max-width:100%}
@media (max-width:900px){
  #empresaForm,#usuarioForm{grid-template-columns:1fr 1fr!important}
  #empresaForm>button,#usuarioForm>button,#empresaForm>*:last-child,#usuarioForm>*:last-child{grid-column:1/-1}
}
@media (max-width:560px){
  #empresaForm,#usuarioForm,.form-grid-2{grid-template-columns:1fr!important}
  .purchase-actions>*,.hoja-f>*{flex:1 1 100%}
  .vs-tw>table{min-width:480px;font-size:12px}
}

/* ---- Menú lateral como cajón en celular ---- */
.vs-burger,.vs-backdrop{display:none}
@media (max-width:860px){
  .app-shell{display:block!important;height:auto!important;min-height:100vh!important;overflow:visible!important}
  .app-shell>.sidebar{position:fixed!important;top:0;left:0;bottom:0;width:264px!important;min-width:0!important;height:100vh!important;max-height:100vh;overflow-y:auto;
    transform:translateX(-105%);transition:transform .22s ease;z-index:1000}
  body.vs-nav-open .app-shell>.sidebar{transform:none;box-shadow:6px 0 24px rgba(0,0,0,.25)}
  .vs-backdrop{position:fixed;inset:0;background:rgba(10,30,20,.45);z-index:999}
  body.vs-nav-open .vs-backdrop{display:block}
  body.vs-nav-open{overflow:hidden}
  .vs-burger{display:flex;align-items:center;justify-content:center;position:fixed;top:9px;left:10px;z-index:1001;width:38px;height:38px;border:0;border-radius:10px;
    background:#1a7a4a;color:#fff;font-size:20px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.2)}
  body.vs-nav-open .vs-burger{left:216px;background:rgba(255,255,255,.18)}
  .app-shell>.main{display:block!important;width:100%!important;min-width:0!important;overflow:visible!important;height:auto!important}
  .app-shell .topbar{position:sticky;top:0;z-index:50;padding-left:58px!important;height:auto!important;min-height:56px;flex-wrap:wrap;gap:6px}
  .app-shell .topbar-right{flex-wrap:wrap;gap:6px}
  .app-shell .content{overflow:visible!important;height:auto!important;padding:12px!important;max-width:100vw}
  .app-shell .content [style*="display:flex"]{flex-wrap:wrap}
  .app-shell .content .search-input{max-width:100%!important;flex:1 1 100%}
  .purchase-actions>*,.app-shell .content [style*="display:flex"]>.btn-verde{flex:1 1 auto}
  .app-shell .content>*{min-width:0}
}

/* ---- Celular: inventario, productos, crédito y demás vistas del panel ---- */
@media (max-width:860px){
  html,body{overflow-x:hidden}
  .inv-toolbar,.product-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;align-items:stretch!important}
  .inv-toolbar .search-input,.product-toolbar .search-input,.product-toolbar input{grid-column:1/-1;max-width:none!important;width:100%!important}
  .inv-toolbar>button:last-child:nth-child(even){grid-column:1/-1}
  .app-shell .content button.btn-verde,.app-shell .content .btn-outline,.app-shell .content .logout-btn,.cobrar-btn{min-height:46px;font-size:14px;border-radius:10px;padding:10px 12px;width:100%;justify-content:center;text-align:center}
  .app-shell .content .link-btn:not(.vs-ico){min-height:40px}
  .app-shell .content .text-input,.app-shell .content .purchase-select,.app-shell .content .product-type,.app-shell .content .search-input,
  .app-shell .content select,.app-shell .content textarea,
  .app-shell .content input:not([type=checkbox]):not([type=radio]):not([type=file]){min-height:46px;font-size:16px!important;width:100%;padding:10px 12px;border-radius:10px}
  .inventory-panels,.purchase-row,.product-layout,.form-grid-2,.dash-grid,.pos-layout,.kpi-grid,.fiado-grid{grid-template-columns:1fr!important}
  .purchase-grid{display:none!important}
  #purchaseRows>*{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px;padding:10px;border:1px solid var(--borde);border-radius:12px;margin-bottom:8px}
  #purchaseRows>*>*:first-child{grid-column:1/-1}
  .purchase-card,.hint-card,.product-form,.app-shell .content .card:not([style*="padding:0"]){padding:14px!important;border-radius:14px}
  .purchase-card,.hint-card{display:grid!important;gap:10px}
  .purchase-head{display:grid!important;gap:10px}
  .purchase-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .purchase-actions .muted-line,.purchase-actions>div{grid-column:1/-1}
  .product-form{max-height:none!important;overflow:visible!important}
  .app-shell .content .view>[style*="justify-content:space-between"]{flex-direction:column;align-items:stretch!important}
  .app-shell .content .view>[style*="justify-content:space-between"]>[style*="display:flex"]{display:grid!important;grid-template-columns:1fr 1fr;width:100%}
  .topbar-title{font-size:16px}
}
@media (max-width:420px){
  .inv-toolbar,.purchase-actions,.app-shell .content .view>[style*="justify-content:space-between"]>[style*="display:flex"]{grid-template-columns:1fr!important}
  .inv-toolbar>button{grid-column:auto!important}
}
