/* v176.29 — display-only adaptive layout; all rules are screen-only.
   Breakpoints use CSS pixels (also support iPad split view and zoom).
   No receipt/print metrics, permissions or application data are changed. */
@media screen {
  .responsive-menu-backdrop-v17629,.responsive-menu-close-v17629{display:none}
  #appView,.main,.view,.panel,dialog,dialog>form{min-inline-size:0}
  .responsive-table-scroll-v17629{max-inline-size:100%;min-inline-size:0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
  .responsive-table-scroll-v17629:focus-visible{outline:2px solid var(--green);outline-offset:2px}
}

/* Tablets, small laptops and large touch tablets. Desktop keeps its old shell. */
@media screen and (max-width:1199px), screen and (max-width:1366px) and (pointer:coarse) {
  :root{--adaptive-gutter-v17629:16px}
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-block:16px}
  body{min-width:0}
  #appView.app,#appView.app.sidebar-collapsed,#appView.app.sidebar-hover-open{display:block;grid-template-columns:none}
  #appView .main{width:100%;min-width:0;margin:0;padding:0 var(--adaptive-gutter-v17629) calc(24px + env(safe-area-inset-bottom,0px))}
  #appView .sidebar{
    position:fixed;inset-block:0;inset-inline-start:0;inset-inline-end:auto;
    z-index:102;width:min(320px,calc(100vw - 48px));height:100vh;height:100dvh;
    padding:calc(16px + env(safe-area-inset-top,0px)) 14px calc(14px + env(safe-area-inset-bottom,0px));
    transform:translateX(105%);visibility:hidden;pointer-events:none;
    transition:transform .2s ease,visibility .2s ease;box-shadow:none;
  }
  #appView .sidebar.open{transform:translateX(0);visibility:visible;pointer-events:auto;box-shadow:-10px 0 30px #0003}
  #appView .sidebar .brand{padding:0 0 16px;gap:10px;flex-shrink:0}
  #appView .sidebar .brand>div{display:block;flex:1;min-width:0}
  #appView .sidebar .sidebar-logo{width:44px;height:44px;flex-basis:44px}
  #appView .sidebar #mainNav{overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;overscroll-behavior:contain}
  #appView .sidebar .nav-item,#appView .sidebar .nav-group>summary{min-height:44px;font-size:1rem;white-space:normal}
  #appView .sidebar .sidebar-footer{flex-shrink:0;padding-top:12px}
  #sidebarCollapseButton{display:none!important}
  #menuButton{display:grid;width:44px;height:44px;flex:0 0 44px}
  #closeAdminMenuV17629{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid #ffffff50;border-radius:10px;background:#ffffff18;color:#fff;font-size:24px}
  .responsive-menu-backdrop-v17629:not([hidden]){display:block;position:fixed;inset:0;z-index:101;border:0;border-radius:0;background:#18101673;cursor:pointer}
  body.responsive-menu-open-v17629{overflow:hidden}
  /* Title/actions and search on separate tracks; no fixed minimum of 250–310px. */
  #appView .topbar{position:relative;top:auto;z-index:14;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;margin:0 calc(-1 * var(--adaptive-gutter-v17629));padding:12px var(--adaptive-gutter-v17629);min-height:0}
  .topbar .topbar-title{min-width:0;gap:9px}
  .topbar .topbar-title h2{font-size:1.1rem;white-space:normal;overflow-wrap:anywhere}
  .topbar .top-actions{min-width:0;gap:8px;flex-wrap:wrap;justify-content:flex-end}
  .topbar .global-command{grid-column:1/-1;grid-row:2;min-width:0;width:100%;max-width:none;min-height:44px}
  .global-command input{min-width:0;font-size:16px}
  .top-search-results{width:100%;max-width:100%;max-height:min(60vh,420px);overflow-y:auto;overscroll-behavior:contain}
  .topbar .date-label{display:none}
  #quickAccessBar{position:relative;top:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0 calc(-1 * var(--adaptive-gutter-v17629)) 16px;padding:9px var(--adaptive-gutter-v17629);overflow:visible;z-index:10}
  #quickAccessBar button{grid-template-columns:28px minmax(0,1fr);min-width:0;width:100%;height:auto;min-height:44px;padding:6px 8px}
  #quickAccessBar button>b{white-space:normal;overflow:visible;text-overflow:clip;font-size:.8rem;line-height:1.35}
  #quickAccessBar button>small{display:none}
  #quickAccessBar button>em{position:absolute;inset-block-start:1px;inset-inline-start:2px}
  /* Common form controls, with enough room for the Arabic label. */
  :is(.view,dialog) :is(label,.search-box,.smart-entry-wrap){min-width:0;max-width:100%}
  :is(.view,dialog) :is(input,select,textarea){min-width:0;max-width:100%;font-size:16px}
  :is(.view,dialog) :is(input,select):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]){min-height:44px}
  :is(.view,dialog) textarea{min-height:80px;scroll-margin-block:80px}
  :is(.view,dialog) :is(input[type="checkbox"],input[type="radio"]){width:20px;height:20px;min-width:20px;flex-shrink:0}
  :is(.view,dialog) .button,:is(.view,dialog,.topbar) .icon-button,.top-action-button{min-height:44px;white-space:normal;line-height:1.4}
  :is(.view,dialog) .icon-button{min-width:44px;flex-shrink:0}
  :is(.view,dialog) :is(.button,button,summary){touch-action:manipulation}
  :is(.view,dialog) :is(.panel-head,.toolbar,.dialog-actions){gap:10px;flex-wrap:wrap}
  .panel-head>div,.panel-head>h3,.panel-head>h2,.toolbar>div,.toolbar>label{min-width:0}
  .panel-head p,.panel-head h3,dialog h2,dialog .callout{overflow-wrap:anywhere}
  .toolbar>.search-box{flex:1 1 260px;min-width:0;max-width:100%}
  .toolbar>select{flex:1 1 180px;min-width:0;max-width:100%}
  /* Fixed-width filter grids become two columns on tablet. */
  :is(.view,dialog) :is(
    .purchase-filter-toolbar,.movement-filter-toolbar,.inventory-report-toolbar-v110,.movement-report-search-v110,
    .cash-report-toolbar-v111,.purchases-report-toolbar-v112,.profit-report-toolbar-v113,.profit-report-toolbar-v114,
    .stock-count-report-toolbar-v119,.staff-performance-toolbar-v120,.customer-report-toolbar-v121,.audit-filters-v122,
    .pos-report-invoice-toolbar-v135,.customer-toolbar-v137,.promotion-toolbar-v152,
    .delivery-settlement-toolbar-v155,.delivery-settlement-toolbar-v160,.delivery-manifest-filters-v99,
    .sales-trace-toolbar-v168,.return-custody-toolbar-v17537,.finance-ledger-toolbar-v17539,
    .ard-open-orders-toolbar-v17626,.sales-employees-filters-v17628){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:end;gap:10px}
  :is(.view,dialog) :is(.purchase-filter-toolbar,.movement-filter-toolbar,.audit-filters-v122,.delivery-manifest-filters-v99,.ard-open-orders-toolbar-v17626)>.search-box{grid-column:1/-1;min-width:0}
  #stockView .variant-filter-toolbar-v138{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  #stockView .variant-filter-toolbar-v138>.search-box{grid-column:1/-1}
  #stockView .variant-filter-toolbar-v138>*{min-width:0;max-width:100%}
  :is(.view,dialog) :is(.list-pagination,.orders-day-pager-v17553,.delivery-manifest-pagination-v99,.ard-open-orders-pages-v17626){flex-wrap:wrap;gap:10px}
  /* Page content grids: independent of the drawer and never wider than parent. */
  .view :is(.dashboard-grid,.stock-count-layout,.delivery-layout,.returns-layout,.ard-layout-v167,.delivery-transfer-layout-v155){grid-template-columns:minmax(0,1fr);min-width:0}
  .view :is(.stats-grid,.inventory-summary,.purchase-detail-head,.supplier-account-summary){grid-template-columns:repeat(2,minmax(0,1fr))}
  .view :is(.staff-performance-stats-v120,.pos-report-invoices-totals-v1352){grid-template-columns:repeat(3,minmax(0,1fr))}
  .view :is(.table-wrap,.panel,.variant-stock-panel,.variant-product-matrices){max-width:100%;min-width:0}
  .orders-day-bar-v17553,.orders-day-actions-v17553,.order-processing-bar,.order-processing-actions{flex-wrap:wrap;gap:10px;min-width:0}
  .orders-day-actions-v17553>*{min-width:0;max-width:100%}
  .orders-day-range-v17553{min-width:0;max-width:100%}
  #ordersView .order-stage-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  #ordersView .order-stage-tabs button{min-width:0;min-height:48px;white-space:normal;padding:8px}
  .order-receipt-lookup-v161{min-width:0;max-width:100%;flex:1 1 100%;flex-wrap:wrap}
  .order-receipt-lookup-v161 .search-box{min-width:0;flex:1 1 230px}
  .order-processing-actions>label{min-width:0;max-width:100%;flex:1 1 220px}
  .delivery-creator-fields,.stock-count-create-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .delivery-v155-head,.delivery-intro,.delivery-work-head{flex-wrap:wrap;gap:10px;min-width:0}
  /* Staff cards keep every action visible, including the new no-login directory. */
  #staffView .staff-directory-v86 .staff-accounts-list,#staffView .sales-employees-grid-v17628{grid-template-columns:minmax(0,1fr)}
  #staffView .staff-directory-card{grid-template-columns:48px minmax(0,1fr) auto;gap:10px}
  #staffView .staff-directory-card>div:last-child{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
  #staffView :is(.staff-account-head,.staff-invite-form,.multi-permission-invite){grid-template-columns:repeat(2,minmax(0,1fr))}
  #staffView .staff-account-head>*{min-width:0}
  #staffView .permission-grid,.permission-editor-groups .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* Dialog boundaries follow the visual viewport; the page behind them is unchanged. */
  dialog:not(.responsive-native-exclude-v17629){min-width:0;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(var(--adaptive-viewport-height-v17629,100dvh) - 24px);overscroll-behavior:contain}
  dialog .dialog-head{min-width:0;padding:14px 16px;gap:12px;align-items:flex-start}
  dialog .dialog-head>div{min-width:0;flex:1}
  dialog .dialog-head h2{font-size:1.15rem;margin:4px 0;line-height:1.5}
  dialog .dialog-actions{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));flex-wrap:wrap;background:var(--paper,#fff)}
  dialog>form{max-width:100%;min-width:0}
  dialog .form-grid,dialog .purchase-form-grid,dialog .purchase-costs,dialog .promotion-form-grid-v152,dialog .supplier-payment-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}
  dialog :is(.span-2,.wide){max-width:100%}
  dialog :is(.purchase-bottom,.barcode-label-body,.invoice-design-body-v17612){grid-template-columns:minmax(0,1fr);min-width:0}
  dialog .purchase-cart-entry{grid-template-columns:minmax(0,1fr) auto;min-width:0}
  dialog .purchase-cart-entry>div:first-child{grid-column:1/-1}
  dialog .purchase-cart-entry #addDraftProductFromPurchase{grid-column:auto}
  dialog :is(.inventory-balance-tools-v133,.purchase-shared-cost,.staff-permission-global-actions){flex-wrap:wrap;gap:10px}
  dialog .staff-permission-meta{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
  dialog.invoice-workspace-manual .invoice-dialog-layout,dialog .invoice-layout{grid-template-columns:minmax(0,1fr);min-width:0}
  dialog.invoice-workspace-manual .invoice-fields,dialog.invoice-workspace-manual .invoice-adjustments{grid-template-columns:repeat(2,minmax(0,1fr))}
  dialog :is(.invoice-editor,.invoice-preview-panel){min-width:0;max-width:100%;position:static}
  dialog .invoice-barcode-entry{grid-template-columns:minmax(0,1fr);min-width:0}
  dialog .invoice-barcode-control{min-width:0;flex-wrap:wrap}
  dialog .invoice-barcode-control input{flex:1 1 200px;min-width:0}
  dialog .invoice-preview-panel{overflow:auto}
  dialog .product-form-grid-v144{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  dialog .product-form-grid-v144>.product-top-field-v144{grid-column:span 3!important;min-width:0}
  dialog .product-form-grid-v144>:not(.product-top-field-v144){grid-column:1/-1!important;min-width:0}
  dialog .product-form-grid-v144 .product-images-panel-v145>.image-preview{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  dialog :is(.courier-financial-grid-v17626,.courier-financial-summary-grid-v17627){grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}
  /* POS remains one online checkout, only its visual panes reflow. */
  body.cashier-app-mode .main{height:auto;min-height:100dvh;overflow:visible}
  #posView .pos-register{height:auto;min-height:100dvh;max-width:100%;overflow:visible}
  #posView .pos-register-head{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;min-width:0}
  #posView .pos-register-head>*{min-width:0;max-width:100%}
  #posView .pos-register-brand{grid-column:1/-1}
  #posView .pos-register-scan{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-width:0;padding:14px}
  #posView .pos-register-scan>label,#posView .pos-register-scan>.pos-scan-hint{grid-column:1/-1}
  #posView .pos-register-body{height:auto;min-height:0;grid-template-columns:minmax(0,1fr) minmax(240px,.55fr)}
  #posView :is(.pos-lines-panel,.pos-payment-panel,.pos-register-summary){min-width:0;max-width:100%}
  #posView .pos-lines-wrap{height:auto;max-height:none;min-width:0}
  #posView .pos-register-actions{flex-wrap:wrap;min-width:0}
  #posView .pos-head-tools-v129{display:flex;flex-wrap:wrap;gap:8px}
  #posView .pos-register-clock{font-size:.9rem}
  /* Complex sheets remain readable within a labelled internal scroll region. */
  :is(.view,dialog) .responsive-table-scroll-v17629{min-width:0;max-width:100%;overflow-x:auto!important}
  .toast{max-width:calc(100vw - 24px);max-height:40dvh;overflow:auto;overflow-wrap:anywhere}
}

/* Narrow tablet content: no side-by-side invoice/payment panes. */
@media screen and (max-width:900px) {
  #posView .pos-register-body{grid-template-columns:minmax(0,1fr)!important}
  #posView .pos-payment-panel{position:static;width:100%;max-height:none;overflow:visible}
  #posView .pos-payment-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  #posView .pos-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .courier-table-head-v17547{display:none!important}
  .courier-order-row-v17547{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .courier-order-row-v17547>*{min-width:0;max-width:100%}
  .courier-order-row-v17547 .courier-order-address-v17626{grid-column:1/-1}
  .courier-order-row-v17547 input,.courier-order-row-v17547 select{width:100%;min-width:0;font-size:16px}
}

/* Phone: one form field per row; no tiny desktop controls. */
@media screen and (max-width:700px) {
  :root{--adaptive-gutter-v17629:12px}
  #appView .topbar{gap:10px 8px;padding-top:calc(10px + env(safe-area-inset-top,0px))}
  .topbar .top-actions{gap:6px;flex-wrap:nowrap}
  .topbar .top-actions .top-user-chip,.topbar .realtime-status{display:none}
  .topbar .top-action-button{min-width:40px;width:40px;height:44px;padding:6px;justify-content:center;font-size:1rem}
  .topbar #orderSoundToggle>span,.topbar #adminThemeToggle>span{display:none}
  .topbar .global-command kbd{display:none}
  #quickAccessBar{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:12px}
  #quickAccessBar button{grid-template-columns:24px minmax(0,1fr);gap:5px;padding:6px;min-height:44px}
  #quickAccessBar button>span{width:24px;height:26px}
  #quickAccessBar button>b{font-size:.73rem}
  .view :is(.stats-grid,.inventory-summary){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .view .stat-card{padding:14px;min-height:100px}
  .view .stat-card strong{font-size:1.5rem;overflow-wrap:anywhere}
  .view .panel-head{padding:14px;align-items:flex-start;flex-wrap:wrap}
  .view .panel-head .button{max-width:100%}
  :is(.view,dialog) :is(
    .toolbar,.purchase-filter-toolbar,.movement-filter-toolbar,.inventory-report-toolbar-v110,.movement-report-search-v110,
    .cash-report-toolbar-v111,.purchases-report-toolbar-v112,.profit-report-toolbar-v113,.profit-report-toolbar-v114,
    .stock-count-report-toolbar-v119,.staff-performance-toolbar-v120,.customer-report-toolbar-v121,.audit-filters-v122,
    .pos-report-invoice-toolbar-v135,.customer-toolbar-v137,.promotion-toolbar-v152,
    .delivery-settlement-toolbar-v155,.delivery-settlement-toolbar-v160,.delivery-manifest-filters-v99,
    .sales-trace-toolbar-v168,.return-custody-toolbar-v17537,.finance-ledger-toolbar-v17539,
    .ard-open-orders-toolbar-v17626,.sales-employees-filters-v17628){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px}
  :is(.view,dialog) .toolbar>*{width:100%;min-width:0!important;max-width:100%;grid-column:auto!important}
  #stockView .variant-filter-toolbar-v138{grid-template-columns:minmax(0,1fr)!important}
  #stockView .variant-filter-toolbar-v138>*{grid-column:auto!important}
  #ordersView .order-stage-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .orders-day-bar-v17553{align-items:stretch;flex-direction:column;padding:14px}
  .orders-day-actions-v17553{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}
  .orders-day-range-v17553{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .orders-day-actions-v17553>label{min-width:0;flex-wrap:wrap}
  .order-receipt-lookup-v161{display:grid;grid-template-columns:minmax(0,1fr);width:100%}
  .order-processing-bar,.order-processing-actions,.bulk-selection{flex-wrap:wrap;gap:9px;width:100%;min-width:0}
  .order-processing-actions>label{flex-basis:100%}
  .view :is(.delivery-creator-fields,.stock-count-create-fields,.staff-account-head,.staff-invite-form,.multi-permission-invite){grid-template-columns:minmax(0,1fr)}
  #staffView :is(.staff-account-head,.staff-invite-form,.multi-permission-invite){grid-template-columns:minmax(0,1fr)}
  #staffView .staff-directory-card{grid-template-columns:44px minmax(0,1fr);padding:12px}
  #staffView .staff-directory-card>.pill{grid-column:2}
  #staffView .staff-directory-card .staff-directory-actions{display:flex;flex-wrap:wrap;grid-column:1/-1;gap:8px}
  #staffView .staff-directory-card .staff-directory-actions>.button{flex:1 1 135px;min-width:0}
  #staffView .permission-grid,.permission-editor-groups .permission-grid{grid-template-columns:minmax(0,1fr)}
  .staff-performance-breakdown-v17601 td>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  :is(.view,dialog) :is(.form-grid,.invoice-fields,.invoice-adjustments,.purchase-form-grid,.purchase-costs,.purchase-bottom,
    .supplier-payment-form,.purchase-discount-box,.purchase-return-meta,.staff-permission-meta,.promotion-form-grid-v152){grid-template-columns:minmax(0,1fr)!important;gap:12px}
  :is(.view,dialog) :is(.form-grid,.invoice-fields,.invoice-adjustments,.purchase-form-grid,.supplier-payment-form,.purchase-discount-box,.promotion-form-grid-v152)>.span-2{grid-column:1/-1!important}
  dialog{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(var(--adaptive-viewport-height-v17629,100dvh) - 16px)!important;margin:auto;border-radius:16px!important}
  dialog .dialog-head{padding:12px;gap:8px}
  dialog .dialog-actions{padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px));gap:8px}
  dialog .dialog-actions>.button{flex:1 1 135px;min-width:0}
  dialog :is(.form-grid,.purchase-form-grid,.purchase-costs){padding:12px}
  dialog .product-form-grid-v144{grid-template-columns:minmax(0,1fr)!important}
  dialog .product-form-grid-v144>.product-top-field-v144,dialog .product-form-grid-v144>:not(.product-top-field-v144){grid-column:1/-1!important}
  dialog .product-form-grid-v144 .product-images-panel-v145>.image-preview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  dialog.invoice-workspace-manual .invoice-fields,dialog.invoice-workspace-manual .invoice-adjustments{grid-template-columns:minmax(0,1fr)}
  dialog .invoice-fields>label,dialog .invoice-adjustments>label{grid-column:auto!important}
  dialog :is(.invoice-add-row,.purchase-cart-entry){grid-template-columns:minmax(0,1fr)!important}
  dialog :is(.invoice-add-row,.purchase-cart-entry)>*{grid-column:auto!important;min-width:0}
  dialog .invoice-barcode-control{display:grid;grid-template-columns:minmax(0,1fr)}
  dialog .inventory-balance-tools-v133{display:grid;grid-template-columns:minmax(0,1fr)}
  dialog .inventory-balance-tools-v133>*{min-width:0;max-width:100%}
  dialog .staff-permission-global-actions{display:flex;flex-wrap:wrap}
  /* Turn simple lists into labelled cards without replacing input/button nodes. */
  .responsive-table-v17629{display:block!important;width:100%!important;min-width:0!important;table-layout:auto!important;border-spacing:0!important}
  .responsive-table-v17629>thead{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
  .responsive-table-v17629>tbody{display:grid!important;gap:12px;width:100%!important}
  .responsive-table-v17629>tbody>tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;width:100%!important;min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper,#fff)}
  .responsive-table-v17629>tbody>tr>td{display:block!important;min-width:0!important;width:auto!important;max-width:100%;padding:10px!important;text-align:start!important;white-space:normal!important;overflow-wrap:anywhere;border:none!important;border-bottom:1px solid var(--line)!important}
  .responsive-table-v17629>tbody>tr>td::before{content:attr(data-responsive-label-v17629);display:block;font-size:.78rem;font-weight:700;color:var(--muted);line-height:1.5;margin-bottom:5px;text-align:start}
  .responsive-table-v17629>tbody>tr>td.responsive-cell-wide-v17629{grid-column:1/-1}
  .responsive-table-v17629>tbody>tr>td[colspan]::before{content:none}
  .responsive-table-v17629>tbody>tr>td :is(.actions,.table-actions,.row-actions){display:flex;flex-wrap:wrap;gap:8px}
  .responsive-table-v17629>tbody>tr>td .button{max-width:100%;white-space:normal}
  .responsive-table-v17629>tbody>tr>td :is(input,select,textarea){max-width:100%;min-width:0}
  .responsive-table-v17629>tfoot{display:block;width:100%}
  .responsive-table-v17629>tfoot>tr{display:flex;flex-wrap:wrap;justify-content:space-between}
  #posView .pos-register-head{grid-template-columns:minmax(0,1fr)}
  #posView .pos-register-head>*{grid-column:auto}
  #posView .pos-register-scan{grid-template-columns:minmax(0,1fr)}
  #posView .pos-register-scan>*{grid-column:auto;min-width:0}
  #posView .pos-scan-hint{display:flex;flex-wrap:wrap;gap:5px}
  #posView .pos-lines-title{flex-wrap:wrap;gap:8px}
  #posView .pos-cart-table .pos-cart-product{min-width:0!important;max-width:100%}
  #posView .pos-cart-table .pos-cart-product>div{min-width:0;white-space:normal}
  #posView .pos-payment-form{grid-template-columns:minmax(0,1fr)}
  #posView .pos-quantity-control{display:flex;gap:10px;align-items:center;justify-content:flex-start}
  #posView .pos-quantity-control>button{min-width:44px;min-height:44px}
  #posView .pos-primary-actions{grid-template-columns:minmax(0,1fr)}
  /* Courier fields, including the monetary summary, stay outside the action footer. */
  .courier-portal-v17621{padding:12px!important;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;min-width:0}
  .courier-portal-head-v17621{flex-wrap:wrap;gap:12px}
  .courier-contact-actions-v17621{grid-template-columns:repeat(2,minmax(0,1fr))}
  .courier-contact-actions-v17621>:first-child{grid-column:1/-1}
  .courier-financial-summary-head-v17627{flex-wrap:wrap;gap:8px}
  .courier-financial-summary-grid-v17627,.courier-financial-grid-v17626{grid-template-columns:minmax(0,1fr)!important}
  .courier-financial-summary-grid-v17627 article,.courier-financial-grid-v17626 article{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
  .courier-financial-summary-grid-v17627 strong,.courier-financial-grid-v17626 strong{white-space:nowrap}
  .courier-report-lines-v17621 article{grid-template-columns:48px minmax(0,1fr)!important;gap:10px}
  .courier-report-lines-v17621 article>label{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
  .courier-report-lines-v17621 article>label input{width:90px!important;min-width:0}
  .courier-report-lines-v17621 article>small{grid-column:1/-1}
  .login-view{padding:16px}
  .login-card{padding:24px 18px}
}
@media screen and (max-width:380px) {
  #quickAccessBar button{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
  #quickAccessBar button>span{display:none}
  .topbar-title .eyebrow{display:none}
  .topbar .topbar-title h2{font-size:1rem}
  .topbar .top-actions{gap:4px}
  .topbar .top-action-button{width:36px;min-width:36px}
  .courier-result-actions-v17621,.courier-order-row-v17547{grid-template-columns:minmax(0,1fr)!important}
}
@media screen and (prefers-reduced-motion:reduce){#appView .sidebar{transition:none}}
@media screen and (max-width:1199px), screen and (max-width:1366px) and (pointer:coarse){
  .settings-grid .setting-actions{display:flex;flex-wrap:wrap;gap:10px;min-width:0}
  .settings-grid .setting-actions>.button{display:flex;align-items:center;justify-content:center;flex:1 1 180px;min-width:0;text-align:center}
  .settings-grid :is(.cashier-create-v85,.cashier-install-link-v85){min-width:0;flex-wrap:wrap}
  .settings-grid .cashier-create-v85{grid-template-columns:repeat(2,minmax(0,1fr))}
  #productsView .product-bulk-bar,#productsView .bulk-controls{flex-wrap:wrap;min-width:0;gap:10px}
  #productsView .bulk-controls>select{min-width:0;flex:1 1 200px}
}
@media screen and (max-width:700px){
  #orderSoundToggle{font-size:0!important;position:relative}
  #orderSoundToggle::before{content:"🔔";font-size:20px;line-height:1}
  #orderSoundToggle[aria-pressed="false"]::before{content:"🔕"}
  #productsView .table-panel,#productsView .table-wrap{margin-inline:0!important;width:100%;max-width:100%}
  .settings-grid .setting-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  .settings-grid .cashier-create-v85{grid-template-columns:minmax(0,1fr)}
}
/* Never override conditional/permission visibility with responsive display rules. */
@media screen {
  body #appView .hidden,body #appView [hidden],body dialog .hidden,body dialog [hidden],body dialog[hidden]{display:none!important}
}
@media screen {
  .view .responsive-table-scroll-v17629{overflow-x:auto!important}
}
@media screen and (max-width:700px){
  #appView .view .table-panel,#appView .view .invoice-history-panel{margin-inline:0!important;max-width:100%;width:100%}
}
@media screen and (max-width:700px){
  .responsive-table-v17629.responsive-interactive-head-v17629>thead{position:static!important;display:block!important;width:100%!important;height:auto!important;clip-path:none!important;overflow:visible!important;padding:10px!important;margin:0!important;white-space:normal!important;background:var(--paper,#fff)}
  .responsive-table-v17629.responsive-interactive-head-v17629>thead>tr{display:flex;flex-wrap:wrap;gap:10px}
  .responsive-table-v17629.responsive-interactive-head-v17629>thead>tr>th:not(.responsive-head-control-v17629){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%)}
  .responsive-table-v17629.responsive-interactive-head-v17629>thead>tr>.responsive-head-control-v17629{display:flex;align-items:center;gap:8px;min-width:0;width:auto;min-height:44px;padding:5px 8px}
  .responsive-head-control-v17629:has(input[type="checkbox"])::after{content:attr(data-responsive-control-label-v17629);font-size:.8rem;white-space:normal}
}
@media screen and (max-width:1199px), screen and (max-width:1366px) and (pointer:coarse){
  #productDialog #productForm{max-height:calc(var(--adaptive-viewport-height-v17629,100dvh) - 30px)}
  #productDialog .product-form-grid-v144{grid-auto-rows:max-content;align-content:start}
  #productDialog .product-form-grid-v144>.product-top-field-v144{height:auto!important;min-height:min-content!important}
}
@media screen and (max-width:700px){
  #productDialog #productForm{max-height:calc(var(--adaptive-viewport-height-v17629,100dvh) - 16px)}
}
@media screen and (min-width:701px) and (max-width:1199px), screen and (min-width:701px) and (max-width:1366px) and (pointer:coarse){
  .view .inventory-summary{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media screen and (max-width:700px){
  .view .inventory-summary>:last-child:nth-child(odd){grid-column:1/-1}
}
@media screen and (max-width:1199px), screen and (max-width:1366px) and (pointer:coarse){
  :is(.view,dialog) :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]){font-size:16px!important}
}
/* Specificity also protects hidden cells in dialogs with table-card overrides. */
@media screen {
  html body :is(#appView,dialog) .hidden,html body :is(#appView,dialog) [hidden]{display:none!important}
}
/* The dedicated POS build used a fixed-height, horizontal flex header. Reflow
   the original controls rather than squeezing or clipping them on touch screens. */
@media screen and (max-width:1199px), screen and (max-width:1366px) and (pointer:coarse){
  body.cashier-app-mode #appView .main,body.cashier-app-mode #posView.active-view{height:auto;min-height:100dvh;overflow:visible}
  #posView .pos-register-head{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(min-content,auto);align-items:stretch;overflow:visible;height:auto}
  #posView .pos-register-head>div,#posView .pos-register-head>button{height:auto;min-height:44px;min-width:0;max-width:100%;margin:0}
  #posView .pos-register-brand{grid-column:1/-1;min-width:0;padding:8px 10px}
  #posView .pos-register-brand p{display:block}
  #posView .pos-register-cashier.pos-seller-picker-v128{min-width:0;gap:8px;align-items:stretch;padding:10px}
  #posView .pos-register-cashier.pos-seller-picker-v128>span{font-size:.78rem}
  #posView .pos-shift-controls{height:auto;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;gap:8px;padding:8px;align-content:center}
  #posView .pos-shift-controls select{height:auto;min-height:44px;padding:6px;font-size:16px}
  #posView .pos-shift-controls small{white-space:normal;overflow:visible;font-size:.74rem}
  #posView .pos-shift-controls button{height:auto;min-height:44px;padding:8px 5px;font-size:.78rem;white-space:normal}
  #posView .pos-manager-status-v128{height:auto!important;min-height:44px!important;min-width:0;margin:0;padding:8px;white-space:normal;font-size:.8rem}
  #posView .pos-register-clock{min-width:0;padding:10px;gap:4px}
  #posView .pos-register-clock small{max-width:100%;white-space:normal;overflow:visible;font-size:.65rem;line-height:1.4}
  #posView .pos-head-tools-v129,body.cashier-app-mode #posView .pos-head-tools-v129{grid-column:1/-1;display:flex;flex-wrap:wrap;height:auto;min-width:0;gap:8px;background:transparent}
  #posView .pos-head-tool-v129{flex:1 1 90px;min-width:0;height:auto!important;min-height:44px!important;padding:8px!important;gap:6px;flex-direction:row;border-radius:8px!important}
  #posView .pos-head-tool-v129 small{font-size:.75rem}
}
@media screen and (max-width:700px){
  #posView .pos-register-cashier.pos-seller-picker-v128,#posView .pos-shift-controls{grid-column:1/-1}
  #posView .pos-register-clock strong{font-size:1.1rem}
}
/* Keep permission-controlled POS actions hidden even when reflowed. */
@media screen {html body :is(#appView,dialog) .hidden,html body :is(#appView,dialog) [hidden]{display:none!important}}

/* v176.30: manual status refresh, reconnect control and custody scan feedback. */
@media screen {
  #appView .topbar #realtimeStatus{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;max-width:100%;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--muted);font-family:inherit;padding:8px 10px;cursor:pointer;line-height:1.4}
  #appView .topbar #realtimeStatus i{flex:0 0 8px}
  #appView .topbar #realtimeStatus span{display:inline;white-space:normal}
  #appView .topbar #realtimeStatus:focus-visible{outline:2px solid var(--green);outline-offset:3px}
  #realtimeStatus:disabled,#refreshCourierStatusesV17630:disabled{cursor:wait;opacity:.75}
  .courier-status-refresh-note-v17630{margin:0 0 12px;padding:10px 13px;min-height:40px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:var(--paper);font-size:.82rem;overflow-wrap:anywhere}
  .courier-status-refresh-note-v17630[data-tone="error"]{color:var(--red);border-color:var(--red)}
  .courier-status-refresh-note-v17630[data-tone="success"]{color:var(--green)}
  #deliveryScanFeedbackV159.error{border:2px solid var(--red);padding:13px;font-size:.94rem;line-height:1.8;white-space:normal;overflow-wrap:anywhere}
  #courierAddErrorV17546:not(:empty){padding:12px;border:2px solid var(--red);border-radius:10px;font-size:.94rem;line-height:1.8;white-space:normal;overflow-wrap:anywhere}
}
@media screen and (max-width:1199px), screen and (max-width:1366px) and (pointer:coarse) {
  #appView .topbar .top-actions{flex-wrap:wrap}
  #appView .topbar #realtimeStatus{min-height:44px}
}
@media screen and (max-width:600px) {
  #appView .topbar{grid-template-columns:minmax(0,1fr)}
  #appView .topbar .topbar-title{grid-column:1;grid-row:1}
  #appView .topbar .top-actions{grid-column:1;grid-row:2;justify-content:flex-start;flex-wrap:wrap}
  #appView .topbar .global-command{grid-column:1;grid-row:3}
  #appView .topbar #realtimeStatus{flex:1 1 135px;min-width:0;font-size:.8rem}
  #refreshCourierStatusesV17630{flex:1 1 100%;min-height:44px}
}

/* v176.31: permission-aware committed-cost status, scoped to the count dialog. */
@media screen {
  #openingBalanceDialog .inventory-cost-sync-v17631 {display:flex;align-items:center;gap:12px;justify-content:space-between;margin:12px 0;padding:14px;border:1px solid #b7d7c8;border-radius:12px;background:#f2faf6;color:#254d3c;}
  #openingBalanceDialog .inventory-cost-sync-v17631>div {min-width:0;flex:1;}
  #openingBalanceDialog .inventory-cost-sync-v17631 p {margin:6px 0;line-height:1.8;overflow-wrap:anywhere;}
  #openingBalanceDialog .inventory-cost-sync-v17631[data-state="conflict"] {border-color:#ebc47f;background:#fff8e9;color:#705019;}
  #openingBalanceDialog .inventory-cost-sync-v17631[data-state="error"] {border-color:#dfa3b3;background:#fff1f4;color:#7a1737;}
  #openingBalanceDialog .inventory-cost-server-v17631,#openingBalanceDialog .inventory-cost-draft-v17631 {display:block;line-height:1.65;margin-top:4px;white-space:normal;overflow-wrap:anywhere;font-size:12px;}
  #openingBalanceDialog .inventory-cost-server-v17631 {font-weight:700;color:#27664d;}
  #openingBalanceDialog .inventory-cost-draft-v17631 {color:#6c6970;}
  #openingBalanceDialog .inventory-cost-edited-v17631 .opening-cost {border:2px solid #b66b16;background:#fff8e9;}
  #openingBalanceDialog .inventory-cost-edited-v17631 .inventory-cost-draft-v17631 {color:#8b4d09;font-weight:700;}
  [data-admin-theme="dark"] #openingBalanceDialog .inventory-cost-sync-v17631 {background:#1d3029;color:#dbefe3;border-color:#4c7967;}
  [data-admin-theme="dark"] #openingBalanceDialog .inventory-cost-sync-v17631[data-state="conflict"] {background:#3a2e1a;color:#ffe1a2;}
  [data-admin-theme="dark"] #openingBalanceDialog .inventory-cost-sync-v17631[data-state="error"] {background:#3c1f29;color:#ffdbe4;}
  [data-admin-theme="dark"] #openingBalanceDialog .inventory-cost-server-v17631 {color:#b8e7cc;}
  [data-admin-theme="dark"] #openingBalanceDialog .inventory-cost-draft-v17631 {color:#d4cdd0;}
  [data-admin-theme="dark"] #openingBalanceDialog .inventory-cost-edited-v17631 .opening-cost {background:#392e1d;color:#ffe1ac;}
}
@media screen and (max-width:600px) {
  #openingBalanceDialog .inventory-cost-sync-v17631 {flex-direction:column;align-items:stretch;}
  #openingBalanceDialog #refreshInventoryCostV17631 {width:100%;white-space:normal;min-height:44px;}
}

/* v176.32: full saved delivery address on the courier card, never truncated. */
@media screen {
  #courierPortalView .courier-order-customer-v17621 {min-width:0;}
  #courierPortalView .courier-customer-address-v17632 {
    display:grid;gap:4px;min-width:0;max-width:100%;
    padding:10px 12px;margin-top:4px;border:1px solid #eadce1;
    border-radius:12px;background:#faf7f8;text-align:start;
  }
  #courierPortalView .courier-customer-address-v17632>small {
    font-size:.78rem;font-weight:700;line-height:1.5;color:#73666b;
  }
  #courierPortalView .courier-customer-address-v17632>span {
    display:block;min-width:0;max-width:100%;height:auto;max-height:none;
    white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;
    overflow:visible;text-overflow:clip;-webkit-line-clamp:unset;
    line-height:1.75;color:#341620;user-select:text;
  }
}

/* v176.33 — isolated cost review; existing inventory count layout stays unchanged. */
.cost-sync-actions-v17633{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#inventoryCostSaveMessageV17633[hidden],#inventoryCostReviewAckWrapV17633[hidden]{display:none!important}
#inventoryCostSaveMessageV17633[data-error="true"]{border-inline-start:3px solid #b42338;color:#9b1730}
#inventoryCostReviewDialogV17633{width:min(960px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:0;overflow:hidden}
#inventoryCostReviewDialogV17633[open]{display:flex;flex-direction:column}
#inventoryCostReviewDialogV17633 .dialog-head,#inventoryCostReviewDialogV17633 .dialog-actions{flex-shrink:0;position:static}
#inventoryCostReviewDialogV17633 h2{overflow-wrap:anywhere;font-size:1.15rem}
.cost-review-body-v17633{overflow:auto;min-height:0;padding:16px 20px;overscroll-behavior:contain}
.cost-review-body-v17633 label{display:grid;gap:8px}.cost-review-body-v17633 textarea{width:100%;box-sizing:border-box}
.cost-review-body-v17633 .table-wrap{overflow-x:auto;max-width:100%}.cost-review-body-v17633 table{width:100%;table-layout:fixed}
.cost-review-body-v17633 td,.cost-review-body-v17633 th{white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
.cost-review-body-v17633 td small{display:block;margin-top:5px}.cost-review-input-v17633{width:100%;min-width:0;box-sizing:border-box}
.cost-review-body-v17633 .button{white-space:normal}.cost-review-changed-v17633{background:#fff7ed}
.cost-review-conflict-v17633{outline:1px solid #dba24b;outline-offset:-1px}.cost-review-warning-v17633{color:#87520e}
.cost-review-error-v17633{color:#aa1430;font-weight:700;min-height:1.25em}.cost-review-ack-v17633{display:flex!important;align-items:flex-start;gap:10px;margin-top:16px}
.cost-review-ack-v17633 input{flex:none;width:20px;height:20px;margin-top:2px}.cost-review-ack-v17633 span{min-width:0}
html[data-admin-theme="dark"] .cost-review-changed-v17633{background:#332820}html[data-admin-theme="dark"] .cost-review-warning-v17633{color:#ffcc88}html[data-admin-theme="dark"] .cost-review-error-v17633{color:#ff9bad}
@media(max-width:600px){.cost-review-body-v17633{padding:12px}.cost-review-body-v17633 thead{display:none}.cost-review-body-v17633 table,.cost-review-body-v17633 tbody{display:block}.cost-review-body-v17633 tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid #d8cbd0;margin-bottom:12px;border-radius:10px;padding:8px;gap:8px}.cost-review-body-v17633 td{display:block;border:0;padding:4px}.cost-review-body-v17633 td:first-child,.cost-review-body-v17633 td:last-child{grid-column:1/-1}.cost-review-body-v17633 td:nth-child(2)::before{content:"المحفوظة: ";display:block;font-size:.8rem}.cost-review-body-v17633 td:nth-child(3)::before{content:"المقترحة: ";display:block;font-size:.8rem}#inventoryCostReviewDialogV17633 .dialog-actions{flex-wrap:wrap;padding:12px}.cost-sync-actions-v17633{width:100%}.cost-sync-actions-v17633 .button{flex:1;white-space:normal}}

#inventoryCostReviewDialogV17633>.cost-review-error-v17633{flex-shrink:0;margin:0;padding:10px 20px;max-height:100px;overflow:auto;background:var(--card-bg,#fff);border-top:1px solid #e6d9df}#inventoryCostReviewDialogV17633>.cost-review-error-v17633:empty{display:none}html[data-admin-theme="dark"] #inventoryCostReviewDialogV17633>.cost-review-error-v17633{background:#2d2329}

/* v176.34 — cost-only preflight and explicit completion; no inventory controls. */
#inventoryCostMissingV17634[hidden]{display:none!important}
.cost-review-missing-v17634{border:1px solid #dba24b;border-radius:10px;padding:12px;margin:12px 0;background:#fff8eb}
.cost-review-missing-v17634 p{margin:0 0 10px;overflow-wrap:anywhere}
.cost-review-missing-v17634>small{display:block;margin-top:8px}
.cost-review-missing-tools-v17634{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.cost-review-missing-tools-v17634 label{flex:1 1 240px;min-width:0}
.cost-review-missing-tools-v17634 input{width:100%;min-width:0;box-sizing:border-box}
.cost-review-invalid-v17634 .cost-review-input-v17633{border:2px solid #b42338}
.cost-review-invalid-v17634 .cost-review-state-v17633{color:#9b1730;font-weight:700}
html[data-admin-theme="dark"] .cost-review-missing-v17634{background:#332820;color:#ffe4b5}
html[data-admin-theme="dark"] .cost-review-invalid-v17634 .cost-review-state-v17633{color:#ff9bad}
@media(max-width:600px){.cost-review-missing-tools-v17634{align-items:stretch}.cost-review-missing-tools-v17634 label,.cost-review-missing-tools-v17634 .button{flex:1 1 100%;max-width:100%}}

#inventoryCostReviewDialogV17633 .button:disabled{opacity:.5;cursor:not-allowed}
html[data-admin-theme="dark"] #inventoryCostReviewDialogV17633 .callout{background:#332820;color:#ffe4b5}
