/* Loaded last. Desktop layouts and printing remain unchanged. */
.mobile-menu-toggle,.mobile-menu-close,.mobile-menu-backdrop,.mobile-sort-label{display:none}
.topbar>.topbar-title{display:grid;gap:4px}
.topbar>.topbar-title strong{font-size:20px}
.topbar>.topbar-title span{color:#617086;font-size:12px}
@media screen and (max-width:760px){
  html{scroll-padding-top:80px}
  body{min-width:320px}
  .app-shell{display:block}
  main,.content,.page,.panel{min-width:0;max-width:100%}
  .content{padding:14px 12px 24px}
  .topbar{position:sticky;top:0;z-index:20;min-height:64px;height:auto;padding:10px 12px;gap:10px}
  .topbar>div:first-of-type{display:grid;gap:3px;flex:1;min-width:0}
  .topbar>div:first-of-type strong{font-size:16px;line-height:1.25}
  .topbar>div:first-of-type span{font-size:11px;color:#617086}
  .user{gap:5px}.user>span,.user #avatar{display:none}
  .mobile-menu-toggle{display:block;flex:0 0 44px;border:1px solid #cbd8e5;border-radius:10px;background:#f0f6fc;color:#124e87;font-size:23px}
  .sidebar{position:fixed;inset:0 auto 0 0;z-index:60;width:min(300px,86vw);height:100dvh;overflow-y:auto;padding:16px 14px;transform:translateX(-105%);visibility:hidden;transition:transform .18s ease,visibility .18s}
  .mobile-menu-open .sidebar{transform:none;visibility:visible}
  .mobile-menu-open{overflow:hidden}
  .mobile-menu-close{display:block;align-self:flex-end;margin-bottom:12px;background:#173d63;color:#fff;border:1px solid #52708d;border-radius:9px;padding:8px 12px}
  .mobile-menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:59;border:0;border-radius:0;background:#071b32aa}
  .sidebar .brand{display:flex}.sidebar .brand strong{font-size:15px}.sidebar .role-box{display:grid;font-size:14px}
  .sidebar nav{display:grid;overflow:visible;gap:6px}.sidebar nav button,.sidebar nav button:not(.active){justify-content:flex-start;font-size:14px;min-height:48px;min-width:0}
  .sidebar-footer{display:block;margin-top:16px}
  button,.ghost,.primary,.compact{min-height:44px;touch-action:manipulation}
  input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important;min-height:44px;max-width:100%;min-width:0}
  input[type=checkbox],input[type=radio]{width:22px;height:22px}
  .page-heading,.welcome,.section-intro,.form-title{gap:12px}
  .page-heading h1,.welcome h1{font-size:23px}
  .heading-actions{display:flex;flex-wrap:wrap;width:100%;gap:8px}.heading-actions>*{flex:1 1 135px;justify-content:center;text-align:center}
  .metrics,.catalog-metrics,.planner-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .metrics article,.catalog-metrics article{padding:12px;min-width:0}.metrics strong,.catalog-metrics strong{font-size:25px}
  .home-grid,.split-view,.purchase-split,.form-grid,.form-grid.two,.inventory-form-grid,.inventory-toolbar,.receipt-grid,.detail-columns,.connectivity-grid,.settings-grid,.supplier-details,.purchase-manage-item,.purchase-detail-filter{grid-template-columns:minmax(0,1fr)!important}
  .inventory-toolbar input,.receipt-grid .wide,.form-grid .wide{grid-column:auto}
  .purchase-tabs,.inventory-tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
  .purchase-tabs button,.inventory-tabs button{flex-shrink:0;padding:12px}
  .environment-banner{flex-direction:column;text-align:center;padding:9px 12px;font-size:12px;gap:5px}
  .table-panel:not(.inventory-table){overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}
  .table-panel:not(.inventory-table) table{min-width:640px}
  .inventory-table{overflow:visible;border:0;background:transparent;box-shadow:none}
  .inventory-table table,.inventory-table tbody{display:block;min-width:0!important;width:100%;table-layout:auto}
  .inventory-table thead{display:none}
  .mobile-sort-label{display:grid;gap:6px;margin:12px 0;color:#52677d;font-size:12px}
  .mobile-sort-label select{border:1px solid #cbd8e5;border-radius:9px;padding:10px;background:#fff;color:#17263a;width:100%}
  .inventory-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px;margin:10px 0;border:1px solid #cbdbe9;border-radius:14px;background:#fff;overflow:hidden;padding:12px}
  .inventory-table tbody td{display:block;min-width:0;max-width:none;padding:8px 0;border:0;overflow-wrap:anywhere;position:static!important;box-shadow:none!important;background:transparent!important}
  .inventory-table tbody td:nth-child(1){grid-column:1/-1;font-size:12px;color:#60778d;padding:0 0 6px}
  .inventory-table tbody td:nth-child(2),.inventory-table tbody td:nth-child(3),.inventory-table tbody td:nth-child(4),.inventory-table tbody td:nth-child(8){grid-column:1/-1}
  .inventory-table tbody td:nth-child(3)::before{content:'Aplicación';display:block;color:#617086;font-size:11px;margin-bottom:4px}
  .inventory-table tbody td:nth-child(4)::before{content:'Descripción / referencia';display:block;color:#617086;font-size:11px;margin-bottom:4px}
  .inventory-table tbody td:nth-child(5)::before{content:'Proveedor';display:block;color:#617086;font-size:11px;margin-bottom:4px}
  .inventory-table tbody td:nth-child(6)::before{content:'Existencia';display:block;color:#617086;font-size:11px;margin-bottom:4px}
  .inventory-table tbody td small{max-width:none;line-height:1.5}
  .inventory-table .inventory-name-cell{gap:10px}.inventory-name-cell strong{font-size:16px}
  .inventory-table .inventory-actions{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.inventory-actions button{flex:1 1 85px;width:auto;min-height:44px;font-size:13px}
  .inventory-table tbody .inventory-application-group{display:block;padding:12px;background:#e7f2fd;border-color:#c3d9ef;margin-top:20px}
  .inventory-table .inventory-application-group td{padding:0;font-size:14px;color:#164e83}
  .inventory-table .inventory-application-group td::before{content:none}
  .inventory-table tbody tr:has(td[colspan]){display:block}
  .inventory-table tbody td[colspan]::before{content:none}
  #inventory-form:not([hidden]){inset:8px!important;transform:none!important;width:calc(100% - 16px)!important;max-width:none!important;max-height:calc(100dvh - 16px)!important;margin:0!important;border-radius:14px;overflow-y:auto;padding:16px!important}
  #inventory-form .form-title{position:sticky;top:-16px;background:#fff;z-index:5;padding:14px 16px;align-items:flex-start}
  #inventory-form .form-title h2{font-size:19px}#inventory-form .form-title p{font-size:12px;margin-bottom:0}
  .application-add-row,.item-application-row,.supplier-add-row,.supplier-option>div{grid-template-columns:minmax(0,1fr)!important}
  .application-add-row>*,.item-application-row>*,.supplier-add-row>*,.supplier-option>div>*{grid-column:auto!important;min-width:0}
  .supplier-option header{flex-wrap:wrap}.supplier-option{padding:12px}
  .item-dialog,dialog{width:calc(100% - 16px)!important;max-width:calc(100% - 16px);max-height:calc(100dvh - 16px);margin:auto;border-radius:14px}
  .dialog-header{padding:14px;gap:10px}.dialog-header h2{font-size:19px}.item-summary{grid-template-columns:1fr 1fr!important;padding:12px}
  .detail-columns{padding:0 14px 16px}.receipt-grid{gap:12px}
  .supplier-card>header{flex-direction:column;align-items:flex-start}.supplier-item{min-width:0}.supplier-item strong{overflow-wrap:anywhere}
  .batch-item,.purchase-manage-row,.purchase-item-row{grid-template-columns:minmax(0,1fr)!important;min-width:0}
  .app-toast{left:12px!important;right:12px!important;bottom:16px!important;max-width:calc(100% - 24px);overflow-wrap:anywhere}
  .login-screen{padding:18px}.login-card{padding:24px}.login-card h1{font-size:24px}
  .flow,.material-flow{flex-wrap:wrap}.flow span{min-width:100px}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
