/* Operational handheld layout. Loaded last to override dense desktop tiles. */
@media (max-width:1100px) {
  html body.floor-focus main { padding:6px 10px 16px; }
  html body.floor-focus .floor-grid {
    display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px; width:100%!important; max-width:none!important;
    height:var(--mobile-floor-height,calc(100dvh - 112px))!important;
    grid-auto-rows:calc((var(--mobile-floor-height,calc(100dvh - 112px)) - 24px)/3);
    overflow-y:auto; overscroll-behavior:contain; align-content:start;
  }
  html body.floor-focus .floor-grid .table-tile {
    position:relative; grid-column:auto!important; aspect-ratio:auto!important;
    min-height:0!important; height:100%!important; max-width:none!important;
    border-radius:14px!important; padding:10px 8px!important;
    display:flex; flex-direction:column; justify-content:flex-start; gap:6px;
  }
  html body.floor-focus .floor-grid .table-tile .table-tile-content {
    height:auto; display:flex; flex-direction:column; align-items:stretch; gap:8px;
  }
  html body.floor-focus .floor-grid .table-tile header {
    display:flex!important; position:static!important; height:auto!important;
    width:100%; flex-shrink:0; visibility:visible;
  }
  html body.floor-focus .floor-grid .table-tile h4 {
    display:block!important; font-size:24px!important; line-height:1.3!important; margin:0;
    white-space:normal; overflow-wrap:normal; color:var(--ink);
  }
  html body.floor-focus .floor-grid .table-tile p {
    font-size:16px!important; line-height:1.45!important; margin:0;
    white-space:normal; overflow:visible; overflow-wrap:normal;
  }
  html body.floor-focus .floor-grid .table-tile footer { display:none; }
  html body.floor-focus .floor-grid .table-pay-button {
    position:static; transform:none; margin-top:auto; width:100%; max-width:none;
    min-height:44px; padding:10px 12px; font-size:18px; line-height:1.25; border-radius:9px;
  }
  body.floor-focus .floor-compact-head { display:none; }
  body.floor-focus .floor-compact-head .eyebrow,
  body.floor-focus #floorTitle { display:none; }
  body.floor-focus #floorSummary { font-size:14px; }
  body.floor-focus .floor-display-controls { display:flex; flex-wrap:wrap; gap:8px; width:100%; }
  body.floor-focus .floor-display-controls label,
  body.floor-focus .floor-display-controls [data-action="edit-table-layout"],
  body.floor-focus #openFloorDesigner { display:none; }
  body.floor-focus .floor-display-controls button { min-height:44px; font-size:16px; }
  body.floor-focus .floor-filter-row { display:flex; flex-wrap:nowrap; overflow-x:auto; width:100%; gap:6px; }
  body.floor-focus .floor-filter-row button { flex-shrink:0; min-height:44px; font-size:15px; padding:10px 12px; }
  body.floor-focus .feature-notes { position:static!important; width:auto!important; max-width:none!important; margin:12px; }
  body.floor-focus .topbar { height:48px; padding:0 8px; gap:6px; }
  body.floor-focus .topbar h1 { font-size:18px; margin:0; white-space:nowrap; }
  body.floor-focus .topbar .menu-toggle,
  body.floor-focus .topbar .icon-button { display:inline-grid; min-width:44px; height:44px; }
  body.floor-focus .topbar .primary-button { display:inline-flex; align-items:center; min-height:44px; font-size:14px; padding:0 8px; }
  body.floor-focus .topbar-actions { gap:4px; }
  .floor-operations-dialog button { min-height:44px; }
  .floor-operations-dialog .floor-operation-button { font-size:16px; }
  .floor-operation-form input,.floor-operation-form select { font-size:16px; min-height:44px; }
}
@media (min-width:700px) and (max-width:1100px) {
  html body.floor-focus .floor-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
}
@media (max-width:1100px) and (orientation:landscape) {
  html body.floor-focus .floor-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:calc((var(--mobile-floor-height,calc(100dvh - 112px)) - 12px)/2);
  }
  html body.floor-focus .floor-grid .table-tile.has-pay {
    display:grid; grid-template-columns:minmax(0,1fr) 60px; align-items:center; gap:6px;
  }
  html body.floor-focus .floor-grid .table-tile .table-tile-content { gap:4px; }
  html body.floor-focus .floor-grid .table-tile h4 { font-size:22px!important; }
  html body.floor-focus .floor-grid .table-pay-button { margin:0; }
}
@media (max-width:359px) {
  html body.floor-focus .floor-grid { grid-template-columns:1fr!important; }
}
