/* Phone presentation only; the desktop layout and saved records are retained. */
.app-install { display:block; margin:12px auto; padding:12px 18px; background:#d4af37; color:#111; border:0; border-radius:6px; font:700 15px system-ui; cursor:pointer; }
.app-help { background:#111; color:#eee; border:2px solid #d4af37; border-radius:10px; max-width:420px; width:calc(100% - 48px); padding:20px; font:16px/1.5 system-ui; }
.app-help::backdrop { background:rgba(0,0,0,.8); }
.app-help h2 { color:#d4af37; }
.app-help button { padding:12px 24px; font:inherit; cursor:pointer; }
.phone-table-scroll { overflow-x:auto; max-width:100%; }
@media screen and (max-width:700px) {
  html { -webkit-text-size-adjust:100%; }
  body { min-width:0; padding-bottom:env(safe-area-inset-bottom); }
  header { padding:22px 12px 16px; }
  header h1 { font-size:1.8rem; letter-spacing:2px; }
  nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:6px 8px; gap:3px; }
  nav .nav-link, nav .nav-btn, nav .nav { box-sizing:border-box; display:flex; align-items:center; justify-content:center; margin:0; min-height:44px; padding:10px 4px; font-size:.8rem; }
  .container, .wrap { box-sizing:border-box; width:100%; padding:16px 12px 28px; }
  .card { padding:16px 12px; min-width:0; }
  h2 { font-size:1.25rem; }
  button, input, select, textarea { font-size:16px !important; }
  button, input:not([type=checkbox]):not([type=radio]), select { min-height:44px; box-sizing:border-box; }
  input, select, textarea { max-width:100%; }
  .update-btn { position:static; display:block; margin:12px 0; }
  .inventory-grid, .recipe-grid, .needed-grid, .summary-grid, .grid { grid-template-columns:minmax(0,1fr); }
  .dashboard-layout { display:flex; flex-direction:column; padding:16px 12px 28px; gap:16px; }
  .left-stack, .right-stack { width:100%; box-sizing:border-box; }
  .status-box, .image-box, .materials-box { box-sizing:border-box; width:100%; min-width:0; padding:14px; }
  .materials-box { max-height:none; }
  .materials-list { columns:1; padding-left:20px; }
  .image-box img { max-width:100%; height:auto; }
  .session-header { flex-wrap:wrap; gap:8px; }
  .session-time { width:130px; }
  .phone-cards { display:block; width:100%; min-width:0 !important; text-align:left; }
  .phone-cards > thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .phone-cards > tbody { display:block; }
  .phone-cards > tbody > tr { display:block; margin:12px 0; border:1px solid #555; border-radius:6px; padding:8px; }
  .phone-cards > tbody > tr > td { display:block; text-align:left; padding:9px 3px; overflow-wrap:anywhere; }
  .phone-cards > tbody > tr > td::before { display:block; margin-bottom:5px; content:attr(data-phone-label); color:#d4af37; font-size:.8rem; font-weight:bold; }
  .phone-cards input, .phone-cards select { min-width:0 !important; width:100%; }
  .phone-cards td[colspan] { display:block; }
  .phone-cards td[colspan]::before { content:none; }
  .table-controls, .header { flex-wrap:wrap; gap:12px; }
  .ledger-overlay, .modal-overlay { padding:12px; }
  .ledger-window { box-sizing:border-box; padding:16px; max-height:90vh; overflow:auto; }
}
@media print { .app-install, .app-help { display:none !important; } }
