/* SIMBAN beta401 — device-independent responsive shell.
   UI only: no accounting, posting, inventory, profit or database behavior. */
:root{--simban-sidebar-width:220px;--simban-mobile-header:64px}
.layout{grid-template-columns:var(--simban-sidebar-width) minmax(0,1fr)}
.layout>main{min-width:0;max-width:100%;container-type:inline-size;container-name:simban-page}
.layout>.side-menu{min-width:0;max-width:100%}
.layout>main>*{min-width:0}
img,svg,video,canvas{max-width:100%;height:auto}
.page-head,.section-head,.toolbar,.row-actions,.form-actions{min-width:0;flex-wrap:wrap}
.table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.table-scroll>table{max-width:none}
.smart-menu{max-width:min(520px,calc(100vw - 24px))}
.dashboard-main{container-type:inline-size;container-name:simban-dashboard}

/* Laptop/container responsiveness: react to the actual content area after the sidebar. */
@container simban-page (max-width:1260px){
  .primary-actions,.cards-8{grid-template-columns:repeat(4,minmax(0,1fr))}
  .quick-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
  .purchase-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
  .master-layout{grid-template-columns:1fr}
  .reconcile-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workflow-strip{grid-template-columns:1fr 1fr}
  .invoice-totals{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sales-order-totals{grid-template-columns:repeat(4,minmax(0,1fr))}
  .stock-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .canvas-grid{grid-template-columns:1fr 1fr}
}

@container simban-page (max-width:1050px){
  .journal-grid-head,.order-head,.stock-head,.sales-order-head,.warehouse-grid .stock-head,.warehouse-grid.issue-grid .stock-head{display:none}
  .journal-row,.order-row,.stock-row,.stock-row.issue,.sales-order-row,.sales-order-grid.policy-grid .sales-order-row,.sales-order-grid.policy-grid.has-reference .sales-order-row,.warehouse-grid .warehouse-row,.warehouse-grid .warehouse-row.issue{grid-template-columns:35px minmax(0,1fr) minmax(0,1fr)}
  .journal-row .line-desc,.order-row .smart-select,.stock-row .smart-select,.sales-order-row .smart-select,.sales-order-row .notes,.warehouse-grid .warehouse-row .product-stock-select{grid-column:2/-1}
  .sales-order-top,.sales-order-meta{grid-template-columns:1fr 1fr}
  .sales-order-totals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stock-filter-bar{grid-template-columns:1fr 1fr}
  .serial-trace-search{grid-template-columns:1fr}
  .baseline-form{grid-template-columns:1fr;min-width:0}
  .recent-profit-snapshot{min-width:0}
}

@container simban-page (max-width:760px){
  .primary-actions,.cards-8,.quick-actions,.reconcile-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workflow-strip,.purchase-meta,.clean-workflow,.compact-grid,.canvas-grid,.summary-strip,.sales-order-top,.sales-order-meta,.sales-order-totals,.stock-summary,.invoice-totals{grid-template-columns:1fr}
  form.report-filter,form.search,.journal-top,.verification-box form{flex-direction:column;align-items:stretch}
  form.report-filter label,form.search label,.journal-top label{width:100%;min-width:0;max-width:none}
  form.report-filter button,form.report-filter .button-link,form.search button{width:100%;max-width:none}
  .smart-menu,.journal-row .smart-menu,.journal-row .partner-select .smart-menu{min-width:0!important;max-width:100%!important;width:100%}
  .journal-row,.order-row,.stock-row,.stock-row.issue,.sales-order-row,.sales-order-grid.policy-grid .sales-order-row,.sales-order-grid.policy-grid.has-reference .sales-order-row,.warehouse-grid .warehouse-row,.warehouse-grid .warehouse-row.issue{grid-template-columns:30px minmax(0,1fr)}
  .journal-row>*:not(.row-no),.order-row>*:not(.row-no),.stock-row>*:not(.row-no),.sales-order-row>*:not(.row-no),.warehouse-grid .warehouse-row>*:not(.row-no){grid-column:2}
  .stock-filter-bar{grid-template-columns:1fr}
  main section:not(.snapshot){max-width:100%;overflow-x:auto}
  .page-head,.section-head{align-items:flex-start;flex-wrap:wrap}
  .toolbar{width:100%;flex-wrap:wrap}
}

@container simban-page (max-width:430px){
  .primary-actions,.cards-8,.quick-actions,.reconcile-cards,.cards{grid-template-columns:1fr}
  button,.button-link,a.button{max-width:100%}
}

/* Mobile/tablet shell: real drawer with no-JS fallback to the existing nav behavior. */
.simban-mobile-menu-toggle,.simban-menu-overlay{display:none}
@media(max-width:1050px){
  body.simban-responsive-ready .layout{display:block!important;min-height:calc(100vh - var(--simban-mobile-header))}
  body.simban-responsive-ready header{z-index:1600;gap:8px}
  body.simban-responsive-ready .simban-mobile-menu-toggle{display:inline-grid;place-items:center;flex:0 0 42px;width:42px;height:42px;padding:0;border-radius:9px;background:#ffffff18;border:1px solid #ffffff38;color:#fff;font-size:24px;line-height:1}
  body.simban-responsive-ready .layout>.side-menu{display:flex!important;flex-direction:column!important;gap:4px!important;position:fixed!important;right:0!important;left:auto!important;top:var(--simban-mobile-header)!important;width:min(86vw,330px)!important;height:calc(100dvh - var(--simban-mobile-header))!important;min-width:0!important;max-width:330px!important;overflow-y:auto!important;overflow-x:hidden!important;transform:translateX(calc(100% + 24px));visibility:hidden!important;opacity:0;pointer-events:none!important;transition:transform .2s ease,opacity .15s ease,visibility 0s linear .2s;z-index:1500!important;box-shadow:-18px 0 45px #0f172a35;padding:12px!important}
  body.simban-responsive-ready .layout>.side-menu details{min-width:0!important;width:100%;flex:0 0 auto}
  body.simban-responsive-ready .layout>.side-menu a{white-space:normal;overflow-wrap:anywhere}
  body.simban-responsive-ready .layout>.side-menu .menu-edit-trigger{display:none!important}
  body.simban-responsive-ready.simban-menu-open .layout>.side-menu{transform:translateX(0);visibility:visible!important;opacity:1;pointer-events:auto!important;transition:transform .2s ease,opacity .15s ease}
  body.simban-responsive-ready.simban-menu-open .layout>.side-menu .menu-edit-trigger{display:inline-flex!important}
  body.simban-responsive-ready .simban-menu-overlay{display:block;position:fixed;inset:var(--simban-mobile-header) 0 0 0;background:#0f172a66;z-index:1450;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;border:0;padding:0;border-radius:0}
  body.simban-responsive-ready.simban-menu-open .simban-menu-overlay{opacity:1;visibility:visible}
  body.simban-menu-open{overflow:hidden}
  body.simban-responsive-ready .layout>main{width:100%;padding:16px;overflow-x:hidden}
}

@media(max-width:640px){
  :root{--simban-mobile-header:56px}
  body.simban-responsive-ready header{height:var(--simban-mobile-header);min-height:var(--simban-mobile-header);padding:7px 9px;gap:6px}
  body.simban-responsive-ready header .brand{font-size:17px;white-space:nowrap}
  body.simban-responsive-ready header .brand span{display:none}
  body.simban-responsive-ready header .global-usdt-ticker{display:none}
  body.simban-responsive-ready header .user{font-size:10px;gap:5px;min-width:0}
  body.simban-responsive-ready .simban-mobile-menu-toggle{width:38px;height:38px;flex-basis:38px;font-size:22px}
  body.simban-responsive-ready .layout>main{padding:9px}
  .global-page-tools{gap:6px}
  .global-page-tools.dashboard-page-tools{grid-template-columns:minmax(0,1fr) auto!important}
  .dashboard-tool-buttons{display:flex;gap:5px;flex-wrap:nowrap}
  .dashboard-tool-buttons button{padding:7px 9px;font-size:.72rem}
  .global-scroll-controls{left:7px;bottom:7px}
}

@media(prefers-reduced-motion:reduce){
  body.simban-responsive-ready .layout>.side-menu,body.simban-responsive-ready .simban-menu-overlay{transition:none}
}

/* Dashboard inner-content hardening for narrow containers. */
@container simban-dashboard (max-width:1320px){
  .dashboard-main .partner-ledger-block,.dashboard-main .recent-profit-snapshot{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .dashboard-main .partner-filter-settings form{max-width:min(360px,calc(100vw - 32px))}
}
@container simban-dashboard (max-width:720px){
  .dashboard-main .partner-filter-settings form{min-width:0;width:min(310px,calc(100vw - 28px));inset-inline-start:auto;inset-inline-end:0}
  .dashboard-main .account-balance-row{gap:5px}
  .dashboard-main .account-title{flex:1;overflow:hidden}
  .dashboard-main .account-name-link,.dashboard-main .partner-name-link{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .dashboard-main .recent-profit-table,.dashboard-main .partner-ledger-table{min-width:520px}
}
