/* mobile.css - phone layout. Desktop is unchanged: everything is inside the media query. */
#mMenuBtn{ display:none; }
@media (display-mode: standalone){ body{ padding-top:env(safe-area-inset-top); } }

@media (max-width: 760px){
  body{ font-size:14px; }
  input, select, textarea{ font-size:16px !important; } /* stops iPhone zooming into fields */

  /* login */
  .login-screen{ padding:20px 16px; align-items:flex-start; padding-top:12vh; }
  .login-card{ width:100%; max-width:400px; padding:26px 20px; }
  .login-card input{ padding:13px 14px; }
  .login-card button[type="submit"]{ padding:14px; font-size:15px; }
  #acForgotLink{ padding:8px 0; font-size:14px; }

  /* layout: no bottom bar on phones - every page is in the top-right menu instead */
  .app{ display:block; }
  .sidebar{ display:none !important; }
  main{ padding:14px 14px calc(30px + env(safe-area-inset-bottom)); max-width:none; }

  /* top bar: title + a menu button for Change password / Sign out */
  .topbar{ position:relative; flex-wrap:nowrap; margin-bottom:16px; align-items:flex-start; }
  .topbar h1{ font-size:19px; }
  .topbar .sub{ font-size:12px; }
  #mMenuBtn{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:10px; background:var(--surface); border:1px solid var(--border); color:var(--ink); font-size:20px; line-height:1; cursor:pointer; flex:none; }
  .topbar-controls{ flex:none; }
  .topbar-controls > :not(#mMenuBtn){ display:none; }
  .topbar-controls.m-open > :not(#mMenuBtn){ display:block; }
  .topbar-controls.m-open{ position:relative; }
  .topbar-controls.m-open .m-menu{ display:flex; }
  .m-menu{ display:none; position:absolute; right:0; top:46px; z-index:70; flex-direction:column; gap:8px; background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:12px; min-width:250px; max-width:calc(100vw - 28px); max-height:calc(100vh - 90px); overflow-y:auto; box-shadow:var(--shadow); }
  .m-pages{ display:flex !important; flex-direction:column; gap:2px; padding-bottom:8px; border-bottom:1px solid var(--border); }
  .m-pages .m-group{ font-size:10.5px; text-transform:uppercase; letter-spacing:.6px; color:var(--ink-3); font-weight:600; padding:8px 12px 2px; }
  .m-menu .m-page{ display:flex !important; align-items:center; gap:10px; width:100%; background:none; border:none; color:var(--ink-2); font:inherit; font-size:14.5px !important; font-weight:600; padding:10px 12px !important; border-radius:10px; text-align:left; cursor:pointer; }
  .m-page svg{ width:18px; height:18px; flex:none; }
  .m-page.active{ background:var(--accent); color:#0d2a24; }
  .m-page .at-badge{ margin-left:auto; }
  #mMenuBtn{ position:relative; }
  #mMenuBtn.m-alert::after{ content:''; position:absolute; top:6px; right:6px; width:9px; height:9px; border-radius:50%; background:var(--crit); border:2px solid var(--surface); }
  .m-menu .who{ display:block !important; padding:2px 4px 6px; border-bottom:1px solid var(--border); }
  .m-menu button{ display:block !important; width:100%; text-align:left; margin:0 !important; padding:11px 12px !important; font-size:14px !important; }

  /* figures */
  .kpi-row, .earn-hero, .ll-kpis{ grid-template-columns:1fr 1fr !important; gap:10px !important; }
  .kpi{ padding:12px 14px; gap:4px; border-radius:12px; }
  .kpi .label{ font-size:10.5px; }
  .kpi .value{ font-size:20px; }
  .kpi .delta{ font-size:11px; }
  .panel-row{ grid-template-columns:1fr; }
  .panel{ padding:14px; }
  .barlist .row{ grid-template-columns:90px 1fr 40px; }
  .venue-grid{ grid-template-columns:1fr; }
  .filter-row{ flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; }
  .chip{ flex:none; padding:8px 14px; }

  /* tables become one card per row */
  .table-wrap{ border:none; background:transparent; overflow:visible; }
  table{ min-width:0 !important; }
  table thead{ display:none; }
  table, tbody, tr, td{ display:block; width:100%; }
  tbody tr{ background:var(--surface); border:1px solid var(--border); border-radius:12px; margin-bottom:10px; padding:6px 0; }
  tbody tr:last-child td, tbody td{ border-bottom:none; }
  tbody td{ display:flex; justify-content:space-between; align-items:center; gap:12px; padding:6px 14px; font-size:13.5px; text-align:right !important; }
  tbody td::before{ content:attr(data-label); color:var(--ink-3); font-size:11px; text-transform:uppercase; letter-spacing:.4px; font-weight:600; text-align:left; font-family:'Public Sans',sans-serif; flex:none; }
  tbody td[data-label=""]::before{ content:none; }
  tbody td[data-label=""]{ justify-content:flex-end; }
  tbody td:first-child{ font-weight:700; color:var(--ink); }
  tbody td[colspan]{ justify-content:center; text-align:center !important; }
  tbody td[colspan]::before{ content:none; }
  .ll-new{ border-color:var(--good) !important; }

  /* live ledger + admin bits */
  .ll-bar{ gap:8px; }
  .ll-bar select{ width:100%; padding:10px 12px; }
  .ll-up{ flex-direction:column; align-items:stretch; }
  .ll-up select, .ll-up button, .ll-up input{ width:100%; }
  .ll-up button{ padding:12px; }
  .ac-btn[data-reset]{ padding:10px 14px; }
  .admin-upload{ flex-direction:column; align-items:stretch; }
  .ac-card{ padding:22px 18px; }
}
