/* Shared mobile layer. No financial, date or permission rules live here. */
/* During reauthentication, hide detached account controls and old popups too. */
body.hf-online-locked > :not(#hfOnlineLock):not(script):not(style):not(link) { visibility:hidden !important; }
.dashboard-rank-mobile-label { display:none; }
@media screen and (max-width:1023px) {
  html,body { max-width:100%; }
  body.hf-mobile-overlay-open { overflow:hidden; }
  body>.min-h-screen,body>.min-h-screen>div,main,.view-screen,.card { min-width:0; max-width:100%; }
  main { padding-bottom:calc(90px + env(safe-area-inset-bottom)) !important; }
  #globalHeader { position:sticky; top:0; z-index:30; padding-top:env(safe-area-inset-top); }
  body.dashboard-active #globalHeader { display:block; }
  #globalHeader>div:first-child { display:grid; grid-template-columns:54px minmax(0,1fr) 44px; gap:8px; padding:8px max(8px,env(safe-area-inset-right)) 8px max(8px,env(safe-area-inset-left)); }
  #globalHeader>div:first-child>.ml-auto { margin:0; }
  #todayDate { display:none; }
  #screenTitle { font-size:clamp(21px,4.5vw,30px); overflow-wrap:anywhere; }
  #screenSubtitle { display:none; }
  #btnOpenSidebar { display:flex; align-items:center; justify-content:center; padding:8px; border:1px solid rgba(255,255,255,.55); }
  #sidebar { width:min(320px,calc(100vw - 36px)) !important; height:100dvh !important; z-index:40; padding-top:env(safe-area-inset-top); padding-bottom:env(safe-area-inset-bottom); }
  #sidebarOverlay { z-index:39; touch-action:none; }
  #sidebar nav { overscroll-behavior:contain; }
  #btnOpenSidebar,#btnCloseSidebar { min-width:44px; min-height:44px; flex-shrink:0; }
  input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea { font-size:16px !important; max-width:100%; min-width:0; min-height:44px; }
  input[type=checkbox],input[type=radio] { min-width:20px; min-height:20px; }
  label:has(input[type=checkbox]),label:has(input[type=radio]) { min-height:44px; align-content:center; }
  button,[role=button],a.btn-primary,a.btn-secondary { min-height:44px; touch-action:manipulation; }
  button:has(>svg:only-child) { min-width:44px; }
  :where(button,a,input,select,textarea,[tabindex]):focus-visible { outline:3px solid #D8101A; outline-offset:3px; }
  .card,.management-panel,.analytics-page,.view-screen>div { min-width:0; }
  .hf-mobile-table-scroll,.overflow-x-auto { max-width:100%; min-width:0; overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
  .hf-mobile-table-scroll table { width:max-content; min-width:100%; }
  .hf-mobile-table-scroll th,.hf-mobile-table-scroll td,.overflow-x-auto th,.overflow-x-auto td { font-size:13px; line-height:1.5; padding:10px 12px; }
  .hf-mobile-table-scroll th,.overflow-x-auto th { font-size:12px; }
  .hf-mobile-scroll-help { color:#585857; font-size:12px; margin:6px 0; }
  .hf-mobile-dialog { padding:8px !important; padding-bottom:max(8px,env(safe-area-inset-bottom)) !important; overscroll-behavior:contain; }
  .hf-mobile-dialog>div,.hf-mobile-dialog>section { width:100%; min-width:0; max-height:calc(var(--hf-viewport-height,100dvh) - 16px) !important; overflow:auto !important; overscroll-behavior:contain; }
  .hf-mobile-dialog [class*="max-h-"] { max-height:none; }
  .hf-mobile-dialog [class*="flex"] { flex-wrap:wrap; }
  .hf-mobile-dialog .overflow-x-auto { overflow-x:auto; }
  .hf-online-lock { padding:12px; overflow:auto; align-items:start; padding-top:max(20px,env(safe-area-inset-top)); }
  .hf-online-card { margin:auto; padding:24px 20px; max-width:100%; }
  .hf-online-field span,.hf-online-remember strong { font-size:14px; }
  .hf-online-field input { font-size:16px; }
  .hf-online-account { left:12px; right:auto; bottom:max(12px,env(safe-area-inset-bottom)); max-width:calc(100vw - 94px); min-height:44px; }
  .hf-online-account .label { overflow-wrap:anywhere; font-size:11px; }
  .hf-online-signout { bottom:max(12px,env(safe-area-inset-bottom)); right:12px; min-height:44px; }
  .hf-online-member { grid-template-columns:minmax(0,1fr); gap:10px; }
  .hf-online-member strong { overflow-wrap:anywhere; }
  .hf-network-note { position:relative; padding:12px; background:#fff1f2; border-bottom:2px solid #D8101A; color:#7e1820; font-size:14px; }
  .dashboard-widget-tools,.dashboard-widget-head,.management-panel-head,.analytics-page-actions { flex-wrap:wrap; }
  .dashboard-chart,canvas { max-width:100%; }
  .management-actions-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .base-store-grid,.management-grid { grid-template-columns:minmax(0,1fr); }
  /* Ranking is a vertical set of cards, not a horizontally scrolling table. */
  .dashboard-ranking { display:grid; gap:12px; min-width:0; max-width:100%; overflow:visible; border:0; border-radius:0; }
  .dashboard-rank-header { display:none; }
  .dashboard-rank-row { min-width:0; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:14px; border:1px solid #D7D7D7; border-radius:14px; background:#FFF; }
  .dashboard-rank-row:last-child { border-bottom:1px solid #D7D7D7; }
  .dashboard-rank-row > * { min-width:0; }
  .dashboard-rank-name { grid-column:1/-1; }
  .dashboard-rank-name strong { font-size:16px; white-space:normal; overflow-wrap:anywhere; }
  .dashboard-rank-name small { font-size:12px; white-space:normal; overflow-wrap:anywhere; }
  .dashboard-rank-name .dashboard-rank-avatar { display:grid; place-items:center; width:44px; height:44px; color:#FFF; font-size:13px; }
  .dashboard-rank-row .dashboard-rank-money,.dashboard-rank-row .dashboard-rank-meta,.dashboard-rank-row .dashboard-rank-value { display:block; font-size:18px; font-weight:750; text-align:left; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
  .dashboard-rank-row .dashboard-rank-mobile-label { display:block; margin-bottom:4px; color:#585857; font-size:12px; font-weight:600; line-height:1.4; }
  .dashboard-rank-row .dashboard-rank-progress { display:grid; grid-column:1/-1; grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; }
  .dashboard-rank-progress .dashboard-rank-mobile-label { grid-column:1/-1; }
  .dashboard-rank-row .dashboard-rank-track { display:block; min-width:0; }
  .dashboard-rank-progress strong { font-size:14px; }
  .dashboard-rank-row .dashboard-rank-status { display:block; grid-column:1/-1; white-space:normal; font-size:13px; padding:8px 12px; }
  .dashboard-rank-row:not([data-rank-metric="goal"]) > .dashboard-rank-track,.dashboard-rank-row:not([data-rank-metric="goal"]) > .dashboard-rank-value { grid-column:1/-1; }
  .dashboard-rank-control { min-height:44px; }
}
@media screen and (max-width:600px) {
  .view-screen .flex.items-center.justify-between,.view-screen .flex.items-start.justify-between { flex-wrap:wrap; gap:12px; }
  .view-screen .flex>input,.view-screen .flex>select { flex:1 1 150px; }
  .management-actions-form,.employee-registration-grid,.employee-registration-form,.store-day-summary { grid-template-columns:minmax(0,1fr); }
  .management-days { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .management-trust { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .management-day { min-height:54px; }
  .base-check-item { flex-wrap:wrap; }
  .base-check-item>* { min-width:0; }
  .chart-export-preview { min-height:240px; padding:12px; }
  .employee-copy-panel,.store-copy-panel { min-width:0; }
  .analytics-page-hero { padding:20px; }
}
@media screen and (max-width:1279px) {
  #comPdvRegraGrid,#comPdvRegraGrid .grid { grid-template-columns:minmax(0,1fr); }
  .com-pdv-rule-value { max-width:100%; min-width:0; }
}
@media print { .hf-mobile-scroll-help,.hf-network-note { display:none !important; } .hf-mobile-table-scroll { overflow:visible; } }
