/* ---------- Large desktop tweaks ---------- */
@media (max-width: 1440px) {
  .grid-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tb-chip.tb-branch > span { display: none; }
  .pos { grid-template-columns: 104px minmax(0, 1fr) 370px; }
}

/* ---------- Laptop / small desktop ---------- */
@media (max-width: 1200px) {
  :root { --gutter: 18px; }
  .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-3 > .span-2 { grid-column: span 2; }
  .dash-grid-a { grid-template-columns: 1fr; }
  .tb-demo { display: none; }
  .tb-clock b { font-size: 12px; }
  .reports, .settings { grid-template-columns: 190px minmax(0, 1fr); }
  .co { grid-template-columns: 1fr; }
  .co-methods { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kds-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kds-col-body { max-height: none; }
  .res-week { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  .app, .app.collapsed { grid-template-columns: var(--sidebar-w-collapsed) 1fr; }
  .app .sb-brand-text, .app .sb-group, .app .sb-link span, .app .sb-link .sb-badge, .app .sb-status span { display: none; }
  .app .sb-link { justify-content: center; padding: 11px; }
  .app .sb-brand { justify-content: center; padding: 0; }
  .tb-collapse { display: none; }
  .tb-clock { display: none; }
  .tb-user .meta, .tb-user > svg { display: none; }
  .tb-user { padding: 4px; }
  .pos { grid-template-columns: 92px minmax(0, 1fr) 340px; }
  .pos-cat span { font-size: 11px; }
  .pos-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); padding: 12px; gap: 10px; }
  .cust-grid { grid-template-columns: 1fr; }
  .cust-img img { aspect-ratio: 16 / 9; }
  .reports, .settings { grid-template-columns: 1fr; }
  .rep-nav { position: static; flex-direction: row; overflow-x: auto; }
  .rep-link { white-space: nowrap; }
  .floor { height: 480px; }
  .ftable { width: max(var(--w), 78px); }
  .ftable b { font-size: 15px; }
  .shift-grid { grid-template-columns: 150px repeat(7, minmax(80px, 1fr)); overflow-x: auto; }
}

/* ---------- Mobile ---------- */
@media (max-width: 760px) {
  :root { --gutter: 14px; --topbar-h: 58px; }
  .app, .app.collapsed { grid-template-columns: 1fr; }
  .sidebar { position: fixed; left: 0; top: 0; bottom: 0; width: var(--sidebar-w); transform: translateX(-100%); transition: transform .28s var(--ease); }
  .app .sidebar .sb-brand-text, .app .sidebar .sb-group, .app .sidebar .sb-link span, .app .sidebar .sb-link .sb-badge, .app .sidebar .sb-status span { display: revert; }
  .app .sidebar .sb-link { justify-content: flex-start; padding: 10px 12px; }
  .app .sidebar .sb-brand { justify-content: flex-start; padding: 0 18px; }
  .app.nav-open .sidebar { transform: none; box-shadow: var(--shadow-lg); }
  .app.nav-open .sidebar-backdrop { display: block; position: fixed; inset: 0; background: rgba(20,13,9,.45); z-index: 29; }
  .tb-burger { display: grid; }
  .tb-branch, #tb-quick { display: none; }
  .topbar { gap: 8px; padding: 0 var(--gutter); }
  .tb-search { min-width: 0; }
  .tb-search kbd { display: none; }
  .tb-search input { padding-right: 12px; }
  .page-head h1 { font-size: 23px; }
  .page-actions { width: 100%; }
  .page-actions .seg { max-width: 100%; overflow-x: auto; }
  .grid-2, .grid-3, .grid-4, .grid-6 { grid-template-columns: minmax(0, 1fr); }
  .grid-6.kpi-row, .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-3 > .span-2, .span-2, .span-3 { grid-column: auto; }
  .form-grid, .form-grid.cols-3 { grid-template-columns: minmax(0, 1fr); }
  .form-grid .span-2 { grid-column: auto; }
  .kpi-value { font-size: 21px; }
  .modal-backdrop { padding: 0; align-items: end; }
  .modal { max-height: 92vh; border-radius: 22px 22px 0 0; }
  .modal-foot { border-radius: 0; }
  .drawer, .drawer.wide { width: 100vw; }
  .toolbar .input-icon { max-width: none; min-width: 100%; }
  .table th, .table td { padding: 9px 10px; }
  .login { grid-template-columns: 1fr; }
  .login-hero { display: none; }
  .login-panel { padding: 24px 18px; }
  .live-strip .ls-title { width: 100%; }

  /* POS: grid + bottom-sheet cart */
  .page-pos { margin: calc(var(--gutter) * -1); }
  .pos { grid-template-columns: 1fr; grid-template-rows: auto 1fr; height: calc(100vh - var(--topbar-h)); }
  .pos-cats { flex-direction: row; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--border); padding: 8px; }
  .pos-cat { flex: none; min-width: 86px; padding: 8px 6px; }
  .pos-cat em { display: none; }
  .pos-top { padding: 10px 12px; flex-wrap: wrap; }
  .pos-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px 10px 90px; }
  .pos-cart { position: fixed; left: 0; right: 0; bottom: 0; top: 64px; z-index: 40; border-radius: 22px 22px 0 0; box-shadow: var(--shadow-lg); transform: translateY(102%); transition: transform .3s var(--ease); }
  .pos.cart-open .pos-cart { transform: none; }
  .pos-cart-fab { display: flex; position: fixed; left: 14px; right: 14px; bottom: 14px; z-index: 41; height: 54px; border-radius: 16px; border: 0; background: var(--espresso-900); color: #fff; align-items: center; gap: 10px; padding: 0 18px; font-weight: 600; box-shadow: var(--shadow-lg); }
  .pos-cart-fab b { margin-left: auto; color: var(--gold-300); font-size: 17px; }
  .pos.cart-open .pos-cart-fab { bottom: auto; top: 70px; left: auto; right: 14px; width: auto; height: 40px; z-index: 42; }
  .co-methods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .upi { flex-direction: column; text-align: center; }
  .split-row { grid-template-columns: 1fr 1fr 32px; }
  .opt-grid { grid-template-columns: 1fr; }

  /* Kitchen */
  .kds-head { gap: 10px; }
  .kds-stats > div { padding: 4px 10px; }
  .kds-board { grid-template-columns: 1fr; }
  .floor { height: 620px; margin: 10px; }
  .ftable { width: 70px; }
  .res-week { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .row-edit, .row-edit.addon-row { grid-template-columns: 1fr 1fr; }
  .pf-image { flex-direction: column; }
  .demo-fab span { display: none; }
  .demo-fab { width: 50px; padding: 0; justify-content: center; right: 14px; bottom: 80px; }
  .page-pos ~ .demo-fab { bottom: 80px; }
  .demo-panel { top: 8px; right: 8px; left: 8px; bottom: 8px; width: auto; }
  .demo-caption { top: 64px; }
  .toasts { left: 14px; right: 14px; bottom: 140px; align-items: stretch; }
  .toast { min-width: 0; max-width: none; }
  .od-steps { grid-template-columns: repeat(3, 1fr); row-gap: 12px; }
  .cust-hero { flex-wrap: wrap; }
  .camp-grid, .menu-grid { grid-template-columns: 1fr; padding: 12px; }
}

/* ---------- Print (reports) ---------- */
@media print {
  .sidebar, .topbar, .demo-fab, .demo-panel, .toasts, .page-actions, .rep-nav, .demo-caption { display: none !important; }
  .app { display: block; }
  .content { padding: 0; }
  .reports, .settings { display: block; }
  .card { box-shadow: none; break-inside: avoid; }
  body { background: #fff; }
}
