/* Screen-only operator layouts. Paper dimensions and business rules are unchanged. */
@media screen {
  .management-more-tools summary { cursor: pointer; padding: 0 0 10px; color: var(--muted); font-size: 13px; }
  .management-more-tools > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; padding: 16px; margin-bottom: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
  .management-more-tools[open] { flex-basis: 100%; }
  .login-page .login-form input { min-height: 56px; font-size: 18px; }
  .login-page .login-form button, .login-page .login-form .button-link { min-height: 56px; }
  .login-page .password-input-wrap .password-toggle { min-width: 56px; }
  .login-page .password-input-wrap input { padding-right: 64px; }
  .login-page .login-form { gap: 20px; }

  .jpf-app.production-workspace { --operator-target: 64px; }
  .jpf-app.receiving-workspace { --operator-target: 48px; }
  .jpf-app.floor-touch-mode { --operator-target: 64px; }
  .jpf-app:is(.production-workspace, .receiving-workspace, .floor-touch-mode) :is(button, .button-link, .section-chip, summary, .module-tabs a, .app-nav-link) {
    min-height: var(--operator-target);
    touch-action: manipulation;
  }
  .jpf-app:is(.production-workspace, .receiving-workspace, .floor-touch-mode) :is(button, .button-link, .section-chip) {
    min-width: var(--operator-target);
    white-space: normal;
    line-height: 1.3;
  }
  .jpf-app:is(.production-workspace, .receiving-workspace, .floor-touch-mode) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]), select, textarea) {
    min-height: var(--operator-target);
    font-size: 16px;
    max-width: 100%;
    min-width: 0;
  }
  .jpf-app:is(.production-workspace, .receiving-workspace, .floor-touch-mode) summary {
    cursor: pointer;
    padding: 14px 12px;
    box-sizing: border-box;
  }
  .jpf-app:is(.production-workspace, .floor-touch-mode) .toolbar-actions { gap: 16px; }
  .jpf-app:is(.production-workspace, .receiving-workspace) .queue-widget-row { gap: 16px; }
  .jpf-app:is(.production-workspace, .receiving-workspace) .queue-widget-row > div { min-width: 0; overflow-wrap: anywhere; }
  .jpf-app:is(.production-workspace, .receiving-workspace) .sidebar-account a { display: inline-flex; align-items: center; min-height: var(--operator-target); min-width: var(--operator-target); }
  .jpf-app :is(.floor-check-target, .receiving-check):focus-within { outline: 3px solid var(--accent-ink); outline-offset: 3px; }

  .jpf-app .floor-check-target {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 5px;
    min-height: 48px;
    min-width: 48px;
    margin: 0;
    padding: 8px;
    border: 2px solid var(--control-line);
    border-radius: 12px;
    background: var(--surface);
    color: var(--ink);
    cursor: pointer;
    box-sizing: border-box;
    touch-action: manipulation;
  }
  .jpf-app .floor-check-target > span { font-size: 14px; font-weight: 750; }
  .jpf-app .floor-check-target:has(input:checked) {
    background: var(--good-bg);
    border-color: var(--good);
    color: var(--good);
  }
  .jpf-app .floor-check-target:has(input:disabled) { cursor: default; }
  .jpf-app .floor-check-target input.floor-check { width: 26px; height: 26px; min-height: 26px; margin: 0; flex: none; }

  .jpf-app.floor-touch-mode .floor-sheet-form { display: block; }
  .jpf-app.floor-touch-mode .floor-sheet-form > .floor-summary-grid {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 18px;
  }
  .jpf-app.floor-touch-mode .floor-production-grid { width: 100%; min-width: 0; table-layout: fixed; }
  .jpf-app.floor-touch-mode .floor-production-grid th:first-child { width: auto; }
  .jpf-app.floor-touch-mode .floor-production-grid th:nth-child(2) { width: 24%; }
  .jpf-app.floor-touch-mode .floor-production-grid :is(th:nth-child(3), th:nth-child(4), td.check-cell) { width: 84px; }
  .jpf-app.floor-touch-mode .floor-production-grid :is(th, td) { padding: 12px 8px; }
  .jpf-app.floor-touch-mode .floor-check-target { min-width: 64px; min-height: 72px; }
  .jpf-app.floor-touch-mode .floor-ingredient-name { font-size: 22px; line-height: 1.35; overflow-wrap: anywhere; }
  .jpf-app.floor-touch-mode .floor-required-qty { font-size: 25px; overflow-wrap: anywhere; }
  .jpf-app.floor-touch-mode .checklist-oil-meter strong { font-size: 32px; }
  .jpf-app.floor-touch-mode .floor-required-qty.checklist-oil-kg { font-size: 18px; }
  .jpf-app.floor-touch-mode .floor-lot-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(76px, .65fr) minmax(88px, .75fr); gap: 16px; align-items: end; }
  .jpf-app.floor-touch-mode .floor-lot-grid label { min-width: 0; }
  .jpf-app.floor-touch-mode :is(.floor-lot-grid .inline-toggle, .floor-check-grid label) {
    min-height: 64px;
    box-sizing: border-box;
    padding: 12px;
    border: 1px solid var(--control-line);
    border-radius: 10px;
    cursor: pointer;
  }
  .jpf-app.floor-touch-mode .floor-focus-navigator { position: static; flex-wrap: wrap; }
  .jpf-app.floor-touch-mode .floor-focus-actions { gap: 16px; }
  .jpf-app.floor-touch-mode .floor-batch-chip { min-height: 64px; }
  .jpf-app .floor-secondary-actions { margin: 16px 0; border: 1px solid var(--line); border-radius: 12px; }
  .jpf-app .floor-secondary-actions .toolbar-actions { padding: 12px; }
  .jpf-app.floor-touch-mode .floor-action-bar { gap: 16px; padding: 12px 12px max(12px, env(safe-area-inset-bottom)); background: var(--surface); }
  .jpf-app.floor-touch-mode .floor-action-bar > button { flex: 1 1 0; }
  .jpf-app.floor-touch-mode .floor-speed-status .small-muted { display: block; }

  .jpf-app.receiving-workspace .receiving-grid { grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); gap: 12px; }
  .jpf-app.receiving-workspace .receiving-check { min-height: 48px; padding: 8px; margin: 8px 0; border: 1px solid var(--control-line); border-radius: 10px; box-sizing: border-box; cursor: pointer; }
  .jpf-app.receiving-workspace .receiving-check input[type=checkbox] { width: 26px; height: 26px; margin: 0; }
  .jpf-app.receiving-workspace .receiving-check-row { gap: 12px; }
  .jpf-app.receiving-workspace .receiving-line h3 { overflow-wrap: anywhere; }
  .jpf-app .receiving-step-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 12px; margin: 16px 0; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
  .jpf-app .receiving-step-nav a { display: inline-flex; align-items: center; padding: 10px 12px; min-height: 48px; box-sizing: border-box; border-radius: 9px; background: var(--surface-soft); }
  .jpf-app.receiving-workspace .receiving-evidence-list a { display: inline-flex; align-items: center; min-height: 48px; padding: 4px; }
  .jpf-app.receiving-workspace .table-wrap td a { display: inline-flex; align-items: center; min-height: 48px; }
  .jpf-app.receiving-workspace :is(section[id], details[id]) { scroll-margin-top: 110px; }
  .jpf-app.receiving-workspace .receiving-warning a { display: inline-flex; align-items: center; min-height: 48px; }
  .receiving-driver :is(button, input:not([type=checkbox]):not([type=hidden]), select, textarea) { min-height: 48px; font-size: 16px; }
  .receiving-driver label:has(input[type=checkbox]) { display: flex; align-items: center; gap: 12px; min-height: 48px; }
  .receiving-driver input[type=checkbox] { width: 26px; height: 26px; flex: none; }
  .receiving-driver a { display: inline-flex; align-items: center; min-height: 48px; }
  .receiving-driver table { table-layout: fixed; }
  .receiving-driver #driverSignature { min-height: 180px; }

  /* Use actual viewport/pointer capabilities, not device names or screen pixels. */
  @media (pointer: coarse) and (max-width: 1400px) {
    .jpf-app:is(.production-workspace, .receiving-workspace, .floor-touch-mode) .shell-page-content { padding: 18px 16px 28px; }
    .jpf-app:is(.production-workspace, .receiving-workspace) .app-topbar { flex-wrap: wrap; gap: 8px; padding: 8px 12px; }
    .jpf-app:is(.production-workspace, .receiving-workspace) button.app-search { width: auto; flex: 1 1 180px; }
    .jpf-app:is(.production-workspace, .receiving-workspace) .app-search kbd { display: none; }
    .jpf-app:is(.production-workspace, .receiving-workspace) .theme-picker select { width: 160px; }
    .jpf-app:is(.production-workspace, .receiving-workspace) .sidebar-close { right: 8px; top: 8px; }
    .jpf-app:is(.production-workspace, .receiving-workspace) .sidebar .app-brand { padding-right: 70px; }
    .jpf-app.floor-touch-mode .floor-action-bar { position: static; }
    .jpf-app.receiving-workspace :is(.panel, .receiving-line) { padding: 16px; }
    .jpf-app.receiving-workspace :is(.receiving-save, .toolbar-actions) { gap: 16px; }
    .jpf-app.receiving-workspace .receiving-save { position: static; }
    .jpf-app.receiving-workspace input[type=file]::file-selector-button { min-height: 48px; margin-right: 8px; }
    .jpf-app.receiving-workspace .shipping-reading { grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)); }
    .jpf-app.receiving-workspace .shipping-reading label { min-width: 0; }
    .jpf-app.receiving-workspace .receiving-evidence-list { overflow-wrap: anywhere; }
  }
  @media (pointer: coarse) and (max-height: 600px) {
    .jpf-app:is(.production-workspace, .receiving-workspace, .floor-touch-mode) .app-topbar { position: static; }
    .jpf-app:is(.production-workspace, .receiving-workspace, .floor-touch-mode) :is(input, select, textarea) { scroll-margin-block: 24px; }
  }

  /* Rare utilities stay compact; production confirmations keep their 64px targets. */
  .jpf-app.production-workspace header.app-topbar {
    min-height: 56px;
    padding: 4px 12px;
    gap: 8px;
    flex-wrap: nowrap;
  }
  .jpf-app.production-workspace .app-topbar :is(button, .button-link, summary, select) {
    min-height: 48px;
    min-width: 48px;
    font-size: 16px;
  }
  .jpf-app.production-workspace .production-tools { position: relative; margin-left: auto; }
  .jpf-app.production-workspace .production-tools > summary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 12px;
    border-radius: 10px;
    cursor: pointer;
    box-sizing: border-box;
    color: var(--ink);
  }
  .jpf-app.production-workspace .production-tools > summary::after { content: '+'; }
  .jpf-app.production-workspace .production-tools[open] > summary::after { content: '-'; }
  .jpf-app.production-workspace .production-tools-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: min(320px, calc(100vw - 24px));
    max-height: calc(100dvh - 80px);
    overflow: auto;
    display: grid;
    gap: 10px;
    padding: 12px;
    box-sizing: border-box;
    border: 1px solid var(--control-line);
    border-radius: 12px;
    background: var(--surface);
    box-shadow: 0 12px 32px #0003;
  }
  .jpf-app.production-workspace .production-tools:not([open]) > .production-tools-panel { display: none; }
  .jpf-app.production-workspace .production-tools-panel :is(.app-search, .theme-picker, select) { width: 100%; min-width: 0; }
  .jpf-app.production-workspace .production-tools-panel kbd { display: none; }
  .jpf-app.production-workspace .production-tools-panel .app-search span { display: inline; }
  .jpf-app .daily-schedule-button {
    background: #ffe08a;
    color: #382b08;
    border: 2px solid #b68b15;
    font-weight: 750;
  }
  .jpf-app .daily-schedule-button:hover { background: #f6d16b; color: #382b08; }
  .jpf-app .daily-schedule-button:focus-visible { outline: 3px solid var(--accent-ink); outline-offset: 3px; }

  @media (max-width: 1100px) {
    .jpf-app.production-workspace .role-home-grid { grid-template-columns: minmax(0, 1fr); }
    .jpf-app.floor-touch-mode .floor-lot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jpf-app.floor-touch-mode .floor-lot-grid .inline-toggle { flex-direction: row; justify-content: center; gap: 16px; }
    .jpf-app.floor-touch-mode .floor-lot-grid .inline-action { display: flex; flex-direction: column; }
    .jpf-app.floor-touch-mode .floor-action-bar { position: static; }
    .jpf-app.floor-touch-mode .floor-summary-grid .recipe-title { font-size: 24px; }
  }
  @media (max-width: 600px) {
    .jpf-app.floor-touch-mode .floor-production-grid :is(th:nth-child(3), th:nth-child(4), td.check-cell) { width: 76px; }
    .jpf-app.floor-touch-mode .floor-production-grid :is(th, td) { padding: 8px 4px; }
    .jpf-app.floor-touch-mode :is(.floor-ingredient-name, .floor-required-qty) { font-size: 18px; }
    .jpf-app.floor-touch-mode .floor-action-bar > button { flex: 1 1 100%; }
    .jpf-app.floor-touch-mode .floor-sheet-form > .floor-summary-grid { grid-template-columns: minmax(0, 1fr); }
    .jpf-app.receiving-workspace .receiving-check-row { grid-template-columns: minmax(0, 1fr); }
  }
}
