:root{
  --paper:#F4F7FB;
  --paper-raised:#FFFFFF;
  --ink:#172033;
  --ink-soft:#64748B;
  --ledger:#173B70;
  --ledger-ink:#FFFFFF;
  --brass:#2563EB;
  --brass-light:#60A5FA;
  --brass-ink:#FFFFFF;
  --rule:#CBD5E1;
  --rule-soft:#E2E8F0;
  --credit:#16794A;
  --debit:#8C3B2E;
  --danger:#8C3B2E;
  --focus:#1B5AA6;
  --font-head:'Source Serif 4', Georgia, 'Times New Roman', serif;
  --font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono:'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --radius:10px;
  --radius-sm:7px;
  --radius-lg:16px;
  color-scheme: light;

  /* Elevation — a soft ambient shadow plus a crisp "ledge" line that gives
     buttons and raised surfaces a tactile, pressable quality. */
  --shadow-ambient: rgba(32,32,20,0.10);
  --shadow-ledge: rgba(32,32,20,0.22);
  --shadow-ledge-soft: rgba(32,32,20,0.12);
  --highlight: rgba(255,255,255,0.55);

  --elev-card: 0 1px 0 var(--highlight) inset, 0 3px 0 var(--shadow-ledge-soft), 0 10px 24px -9px var(--shadow-ambient);
  --elev-card-hover: 0 1px 0 var(--highlight) inset, 0 4px 0 var(--shadow-ledge-soft), 0 18px 34px -12px var(--shadow-ambient);

  --elev-btn: 0 1px 0 var(--highlight) inset, 0 1px 1px var(--shadow-ledge-soft), 0 3px 0 var(--shadow-ledge), 0 8px 14px -4px var(--shadow-ambient);
  --elev-btn-hover: 0 1px 0 var(--highlight) inset, 0 1px 1px var(--shadow-ledge-soft), 0 4px 0 var(--shadow-ledge), 0 12px 20px -4px var(--shadow-ambient);
  --elev-btn-active: 0 1px 1px var(--shadow-ledge-soft) inset, 0 1px 0 var(--shadow-ledge);

  --elev-well: inset 0 2px 4px rgba(32,32,20,0.16), inset 0 0 0 1px var(--rule), 0 1px 0 var(--highlight);
}
.register-toolbar{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.register-categories{display:flex;gap:8px;overflow-x:auto;padding:3px 2px 7px}.category-filter{white-space:nowrap;border:1px solid var(--rule);background:var(--paper-raised);color:var(--ink);border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer}.category-filter.active{background:var(--brass);border-color:var(--brass);color:#fff}.barcode-register-form,.scan-input-row{display:flex;gap:8px}.barcode-register-form input,.scan-input-row input{flex:1;min-width:0}.scanner-overlay{position:fixed;inset:0;background:rgba(5,15,30,.84);z-index:9999;display:grid;place-items:center;padding:20px}.scanner-box{background:var(--paper-raised);padding:16px;border-radius:var(--radius-lg);width:min(540px,100%);text-align:center}.scanner-box video{width:100%;max-height:60vh;background:#000;border-radius:var(--radius)}.sale-reverse-form{display:flex;gap:6px;align-items:center;min-width:360px}.sale-reverse-form input{min-width:150px}.btn-danger{background:var(--danger)!important;color:#fff!important}
.register-session-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:12px 16px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--elev-card)}.register-session-banner>div{display:flex;flex-direction:column}.register-session-banner strong{font-size:16px}
.unsettled-games{margin-bottom:22px}.dashboard-game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dashboard-game-grid .command-card{margin:0}.dashboard-game-grid .chip{flex-shrink:0}@media(max-width:760px){.dashboard-game-grid{grid-template-columns:1fr}.register-session-banner{align-items:flex-start;flex-direction:column}}
.opening-cash-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:12px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised)}.opening-cash-form .field{margin:0;max-width:220px}
.till-count-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.till-count-field{display:grid;grid-template-columns:1fr 90px 76px;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--rule-soft);border-radius:var(--radius);background:var(--paper-raised)}.till-count-field>span{font-weight:700;font-size:13px}.till-count-field input{width:100%;min-height:40px;padding:8px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);text-align:right;font:600 14px var(--font-mono)}.till-count-field output{text-align:right;color:var(--ink-soft);font:12px var(--font-mono)}.till-other{grid-column:1/-1}.till-results{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.till-results>div{padding:13px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised)}.till-results span,.till-results strong{display:block}.till-results span{color:var(--ink-soft);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.till-results strong{margin-top:4px;font-size:19px}.till-results .credit{color:var(--credit)}.till-results .debit{color:var(--debit)}@media(max-width:650px){.till-count-grid,.till-results{grid-template-columns:1fr}.till-other{grid-column:auto}.till-count-field{grid-template-columns:1fr 76px 70px}}
.electronic-reconciliation{margin-top:22px;padding:18px;border:1px solid color-mix(in srgb,var(--credit) 38%,var(--rule));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--credit) 4%,var(--paper-raised));box-shadow:var(--elev-card)}.electronic-reconciliation .section-head{align-items:center}.electronic-reconciliation h3{margin-top:3px}.electronic-count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.electronic-count-field{display:grid;grid-template-columns:1fr;gap:8px;padding:13px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper)}.electronic-count-field span strong,.electronic-count-field span small{display:block}.electronic-count-field span small{margin-top:2px;color:var(--ink-soft);font-size:11px}.electronic-count-field input{width:100%;min-height:44px;padding:9px 11px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);text-align:right;font:700 15px var(--font-mono)}.electronic-count-field output{font-size:11px;font-weight:700;text-align:right}.electronic-count-field output.credit{color:var(--credit)}.electronic-count-field output.debit{color:var(--debit)}.electronic-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.electronic-results>div{padding:11px 12px;border:1px solid var(--rule-soft);border-radius:var(--radius);background:var(--paper)}.electronic-results span,.electronic-results strong{display:block}.electronic-results span{color:var(--ink-soft);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.electronic-results strong{margin-top:3px;font-size:16px}.electronic-results .credit{color:var(--credit)}.electronic-results .debit{color:var(--debit)}@media(max-width:720px){.electronic-count-grid,.electronic-results{grid-template-columns:1fr}.electronic-reconciliation{padding:14px}}
.tender-closeout-page{max-width:1280px}.tender-closeout-page>.form-card{padding:clamp(20px,3vw,34px)}
.till-settlement-details{margin:0 0 16px;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised)}.till-settlement-details summary{cursor:pointer;font-weight:700}.till-breakdown{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.till-breakdown span{padding:6px 9px;border:1px solid var(--rule-soft);border-radius:999px;font-size:12px}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#111827;
    --paper-raised:#1F2937;
    --ink:#F8FAFC;
    --ink-soft:#94A3B8;
    --ledger:#0F2E58;
    --ledger-ink:#FFFFFF;
    --brass:#3B82F6;
    --brass-light:#60A5FA;
    --brass-ink:#FFFFFF;
    --rule:#475569;
    --rule-soft:#334155;
    --credit:#6FBF8E;
    --debit:#D98A76;
    --danger:#D98A76;
    --focus:#7FB3E8;
    color-scheme: dark;
    --shadow-ambient: rgba(0,0,0,0.35);
    --shadow-ledge: rgba(0,0,0,0.55);
    --shadow-ledge-soft: rgba(0,0,0,0.3);
    --highlight: rgba(255,255,255,0.06);
  }
}
:root[data-theme="dark"]{
  --paper:#111827;
  --paper-raised:#1F2937;
  --ink:#F8FAFC;
  --ink-soft:#94A3B8;
  --ledger:#0F2E58;
  --ledger-ink:#FFFFFF;
  --brass:#3B82F6;
  --brass-light:#60A5FA;
  --brass-ink:#FFFFFF;
  --rule:#475569;
  --rule-soft:#334155;
  --credit:#6FBF8E;
  --debit:#D98A76;
  --danger:#D98A76;
  --focus:#7FB3E8;
  color-scheme: dark;
  --shadow-ambient: rgba(0,0,0,0.35);
  --shadow-ledge: rgba(0,0,0,0.55);
  --shadow-ledge-soft: rgba(0,0,0,0.3);
  --highlight: rgba(255,255,255,0.06);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:linear-gradient(145deg,var(--paper),color-mix(in srgb,var(--paper) 92%,var(--brass-light)));
  color:var(--ink);
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.5;
  -webkit-tap-highlight-color: transparent;
  min-height:100vh;
  overscroll-behavior-y: none;
}
h1,h2,h3{font-family:var(--font-head); font-weight:600; margin:0; letter-spacing:0.01em;}
button{font-family:inherit; font-size:inherit;}
input,select,textarea{font-family:var(--font-body); font-size:15px;}
.num{font-family:var(--font-mono); font-variant-numeric:tabular-nums;}
a{color:inherit;}
:focus-visible{outline:2px solid var(--focus); outline-offset:2px;}
button:focus-visible, [tabindex]:focus-visible{outline:2px solid var(--focus); outline-offset:2px;}

/* ---------- layout shell ---------- */
.shell{
  display:flex;
  min-height:100vh;
}
.sidebar{
  width:250px;
  flex-shrink:0;
  background:var(--ledger);
  color:var(--ledger-ink);
  display:flex;
  flex-direction:column;
  padding:22px 0 16px;
  position:sticky;
  top:0;
  height:100dvh;
  max-height:100dvh;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  scrollbar-width:thin;
  scrollbar-color:rgba(243,239,226,.32) transparent;
  box-shadow:5px 0 18px rgba(0,0,0,.18),inset -1px 0 rgba(255,255,255,.08);
}
.sidebar::-webkit-scrollbar{width:7px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{border-radius:999px;background:rgba(243,239,226,.28)}.sidebar::-webkit-scrollbar-thumb:hover{background:rgba(243,239,226,.45)}
.brand{
  padding:0 20px 20px;
  border-bottom:1px solid rgba(243,239,226,0.16);
  margin-bottom:14px;
}
.brand-mark{font-family:var(--font-head); font-size:20px; font-weight:700; line-height:1.15;}
.brand-sub{font-size:11.5px; color:rgba(243,239,226,0.62); margin-top:4px; letter-spacing:0.02em;}
.nav{display:flex; flex-direction:column; gap:2px; padding:6px 10px;}
.nav-btn{
  display:flex; align-items:center; gap:11px;
  background:none; border:none; color:rgba(243,239,226,0.82);
  padding:11px 12px; border-radius:var(--radius-sm); cursor:pointer;
  text-align:left; width:100%; font-size:14.5px; font-weight:500;
  transition:background 0.12s ease, color 0.12s ease, transform .1s ease;
}
.nav-btn:hover{background:rgba(243,239,226,0.10); color:var(--ledger-ink); transform:translateX(3px) translateY(-1px); box-shadow:0 3px 0 rgba(0,0,0,.18),0 8px 12px -8px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.1);}
.nav-btn:active{transform:translateX(2px) translateY(1px);box-shadow:inset 0 2px 4px rgba(0,0,0,.25);}
.nav-btn.active{background:rgba(243,239,226,0.16); color:var(--ledger-ink); box-shadow:inset 3px 0 0 var(--brass-light),0 3px 0 rgba(0,0,0,.22),0 8px 14px -8px rgba(0,0,0,.55);}
.nav-ico{width:18px; height:18px; flex-shrink:0;}
.nav-ico svg{width:100%; height:100%; display:block;}
.sidebar-foot{margin-top:auto; padding:14px 20px calc(8px + env(safe-area-inset-bottom)); border-top:1px solid rgba(243,239,226,0.16); flex:0 0 auto;}
.who-badge{margin-bottom:10px;}
.who-name{font-weight:600; font-size:13.5px; color:var(--ledger-ink);}
.who-role{font-size:11px; color:rgba(243,239,226,0.6); text-transform:uppercase; letter-spacing:0.05em; margin-top:1px;}
.permission-list{display:flex;flex-wrap:wrap;gap:5px;min-width:180px}.permission-chip{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid rgba(160,126,61,.24);border-radius:999px;background:linear-gradient(180deg,#fffdf7,#f2ead8);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 2px 4px rgba(54,39,13,.08);color:#604b25;font-size:11px;font-weight:700;white-space:nowrap}.permission-preview{margin-top:10px;padding:12px;border-radius:10px;background:#f8f4e9;border:1px solid rgba(160,126,61,.2)}.permission-preview strong{display:block;margin-bottom:8px}.role-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.role-guide-card{padding:16px}.role-guide-card h3{margin:0 0 10px}@media(max-width:850px){.role-guide-grid{grid-template-columns:1fr}}
.presence-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2f9d62;box-shadow:0 0 0 3px rgba(47,157,98,.14);margin-right:5px}.online-users-panel{margin-bottom:22px}.online-user-list{display:flex;flex-wrap:wrap;gap:10px}.online-user{display:flex;align-items:flex-start;gap:8px;min-width:170px;padding:10px 13px;border:1px solid var(--rule);border-radius:10px;background:var(--paper-raised);box-shadow:var(--shadow-sm)}.online-user>.presence-dot{margin-top:5px;flex:0 0 auto}.online-user strong,.online-user small{display:block}.online-user small{margin-top:2px;color:var(--ink-soft)}
.theme-toggle{
  display:flex; align-items:center; gap:8px; background:rgba(243,239,226,0.05); border:1px solid rgba(243,239,226,0.28);
  color:rgba(243,239,226,0.8); border-radius:var(--radius-sm); padding:7px 10px; cursor:pointer; font-size:12.5px; width:100%;
  margin-top:12px; transition:border-color .12s ease, color .12s ease, transform .1s ease;
}
.theme-toggle:hover{border-color:rgba(243,239,226,0.5); color:var(--ledger-ink); transform:translateY(-1px);}
.theme-toggle:active{transform:translateY(1px);}

@supports not (height:100dvh){.sidebar{height:100vh;max-height:100vh}}

.main{flex:1; min-width:0; display:flex; flex-direction:column;}
.topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 28px; border-bottom:1px solid var(--rule);
  position:sticky; top:0; background:var(--paper); z-index:5;
  gap:16px; flex-wrap:wrap; box-shadow:0 3px 12px rgba(0,0,0,.08),0 1px 0 var(--highlight) inset;
}
.topbar h1{font-size:22px;}
.topbar-actions{display:flex; gap:10px; align-items:center;}
.fullscreen-toggle svg{width:16px;height:16px;flex:0 0 auto}.fullscreen-toggle.is-active{color:var(--credit);border-color:color-mix(in srgb,var(--credit) 42%,var(--rule));background:color-mix(in srgb,var(--credit) 7%,var(--paper-raised))}.fullscreen-toggle[hidden]{display:none!important}
.fullscreen-resume-notice{position:fixed;left:50%;bottom:22px;z-index:12000;display:flex;align-items:center;gap:12px;width:min(520px,calc(100% - 28px));padding:12px 14px;border:1px solid var(--brass);border-radius:var(--radius-lg);background:var(--paper-raised);box-shadow:0 20px 60px rgba(0,0,0,.3);transform:translateX(-50%)}.fullscreen-resume-notice[hidden]{display:none}.fullscreen-resume-notice>span{flex:1;font-size:12.5px;font-weight:700}.fullscreen-resume-notice .btn{flex:0 0 auto}@media(max-width:520px){.fullscreen-resume-notice{align-items:stretch;flex-wrap:wrap;bottom:82px}.fullscreen-resume-notice>span{flex-basis:100%}.fullscreen-resume-notice .btn{flex:1}}
.update-download-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}.update-download-actions form{margin:0}
.sync-status{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--rule);border-radius:999px;background:var(--paper-raised);color:var(--ink-soft);font-size:11px}.sync-status span{width:7px;height:7px;border-radius:50%;background:var(--credit);box-shadow:0 0 0 3px color-mix(in srgb,var(--credit) 16%,transparent)}.sync-status em{font-style:normal;white-space:nowrap}.sync-status.checking span{background:var(--brass);animation:syncPulse 1s infinite}.sync-status.error span{background:var(--debit)}.sync-status.changed span{background:var(--brass)}@keyframes syncPulse{50%{opacity:.35}}
.content{padding:24px 28px 100px; flex:1;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  border-radius:var(--radius); border:1px solid var(--rule); background:var(--paper-raised);
  color:var(--ink); padding:10px 16px; cursor:pointer; font-weight:600; font-size:14px;
  min-height:44px; white-space:nowrap;
  box-shadow:var(--elev-btn);
  transform:translateY(0);
  transition:transform .1s cubic-bezier(.2,.8,.3,1), box-shadow .1s ease, border-color .12s ease, background .12s ease, filter .12s ease;
}
.btn:hover{transform:translateY(-1.5px); box-shadow:var(--elev-btn-hover); border-color:var(--ink-soft);}
.btn:active{transform:translateY(1px); box-shadow:var(--elev-btn-active); transition-duration:.04s;}
.btn-primary{background:linear-gradient(180deg, var(--brass-light), var(--brass)); border-color:var(--brass); color:var(--brass-ink);}
.btn-primary:hover{filter:brightness(1.04);}
.btn-ghost{background:none; border-color:transparent; box-shadow:none;}
.btn-ghost:hover{background:var(--rule-soft); transform:none; box-shadow:none; border-color:transparent;}
.btn-ghost:active{transform:none; box-shadow:none;}
.btn-danger{color:var(--danger); border-color:var(--rule);}
.btn-danger:hover{border-color:var(--danger); background:rgba(140,59,46,0.08);}
.btn-sm{padding:7px 12px; min-height:36px; font-size:13px;}
.btn-icon{padding:9px; min-width:40px;}
.btn:disabled{opacity:0.45; cursor:not-allowed; transform:none !important; box-shadow:var(--elev-btn) !important;}

.btn-admin{
  background:linear-gradient(180deg, var(--ledger) 0%, #16241A 100%); color:var(--ledger-ink); border-color:var(--ledger);
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 3px 0 rgba(0,0,0,.3), 0 10px 18px -4px rgba(0,0,0,.28);
}
.btn-admin:hover{filter:brightness(1.12); border-color:var(--ledger);}
.btn-admin-ico{width:16px; height:16px; display:inline-flex;}
.btn-admin-ico svg{width:100%; height:100%; display:block;}

/* ---------- summary strip ---------- */
.summary-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
  margin-bottom:26px;
}
.summary-cell{
  background:var(--paper); padding:16px 18px; border:1px solid var(--rule); border-radius:var(--radius);
  box-shadow:var(--elev-card); transition:box-shadow .15s ease, transform .15s ease;
}
.summary-cell:hover{box-shadow:var(--elev-card-hover); transform:translateY(-1px);}
.summary-label{font-size:11.5px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.06em; font-weight:600;}
.summary-value{font-family:var(--font-mono); font-size:23px; font-weight:600; margin-top:6px; letter-spacing:-0.01em;}
.summary-value.credit{color:var(--credit);}
.summary-value.debit{color:var(--debit);}

/* ---------- sections & rules ---------- */
.section{margin-bottom:32px;}
.section-head{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:12px; gap:12px; flex-wrap:wrap;}
.section-head h2{font-size:18px;}
.section-head .meta{font-size:12.5px; color:var(--ink-soft);}
.two-col{display:grid; grid-template-columns:1.3fr 1fr; gap:28px;}

/* ---------- ledger-style table ---------- */
.table-wrap{
  border:1px solid var(--rule); border-radius:var(--radius); background:var(--paper);
  box-shadow:var(--elev-card); overflow:hidden; overflow-x:auto;
}
.ledger-table{width:100%; border-collapse:collapse;}
.ledger-table th{
  text-align:left; font-size:11.5px; text-transform:uppercase; letter-spacing:0.05em;
  color:var(--ink-soft); font-weight:600; padding:12px 10px 10px; border-bottom:1px solid var(--rule);
  background:linear-gradient(180deg,var(--paper-raised),var(--paper)); box-shadow:inset 0 1px 0 var(--highlight),inset 0 -1px 0 var(--rule);
}
.ledger-table td{padding:11px 10px; border-bottom:1px solid var(--rule-soft); font-size:14px; vertical-align:middle;}
.ledger-table tr:last-child td{border-bottom:none;}
.ledger-table .num-col{text-align:right; font-family:var(--font-mono);}
.ledger-table tbody tr{transition:background .1s ease;}
.ledger-table tbody tr:hover{background:var(--paper-raised);box-shadow:inset 4px 0 0 var(--brass),inset 0 1px var(--highlight);}
.ledger-data-table{min-width:980px}.ledger-data-table th,.ledger-data-table td{white-space:nowrap}.ledger-data-table td:nth-child(2){max-width:440px}.ledger-data-table td:nth-child(2)>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-data-table .row-actions{flex-wrap:nowrap}@media(max-width:860px){.ledger-data-table th,.ledger-data-table td{white-space:normal}.ledger-data-table td:nth-child(2)>div{white-space:normal;overflow:visible}.ledger-data-wrap{overflow-x:auto}}
.row-actions{display:flex; gap:4px; justify-content:flex-end;}
.chip{
  display:inline-block; font-size:11px; font-weight:600; padding:3px 8px; border-radius:20px;
  border:1px solid var(--rule);
}
.chip.credit{color:var(--credit); border-color:var(--credit);}
.chip.debit{color:var(--debit); border-color:var(--debit);}
.chip.warn{color:var(--brass); border-color:var(--brass);}
.chip.neutral{color:var(--ink-soft);}
.empty-state{
  padding:38px 20px; text-align:center; color:var(--ink-soft); border:1.5px dashed var(--rule);
  border-radius:var(--radius); font-size:14px; background:var(--paper-raised);
}
.empty-state strong{display:block; color:var(--ink); font-family:var(--font-head); font-size:16px; margin-bottom:6px; font-weight:600;}

/* ---------- filters ---------- */
.filter-bar{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; align-items:center;}
.filter-bar select, .filter-bar input[type="search"]{
  border:1px solid var(--rule); background:var(--paper); color:var(--ink); border-radius:var(--radius);
  padding:9px 11px; min-height:40px; box-shadow:var(--elev-well);
}
.search-input{flex:1; min-width:160px;}

/* ---------- cards for inventory / mobile ---------- */
.card-list{display:none;}
@media(max-width:860px){
  .table-wrap{display:none;}
  .card-list{display:flex; flex-direction:column; gap:10px;}
}
.item-card{border:1px solid var(--rule); border-radius:var(--radius); padding:14px; background:var(--paper); box-shadow:var(--elev-card);}
.item-card-top{display:flex; justify-content:space-between; align-items:flex-start; gap:10px;}
.item-card-name{font-weight:600; font-size:15px;}
.item-card-sub{font-size:12.5px; color:var(--ink-soft); margin-top:2px;}
.item-card-grid{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; font-size:13px;}
.item-card-grid div span{display:block; color:var(--ink-soft); font-size:11px; text-transform:uppercase; letter-spacing:0.04em;}
.item-card-actions{display:flex; gap:8px; margin-top:12px;}

/* ---------- modal ---------- */
.modal-overlay{
  position:fixed; inset:0; background:rgba(20,22,16,0.55); display:none;
  align-items:flex-end; justify-content:center; z-index:100; padding:0;
  backdrop-filter:blur(2px);
}
.modal-overlay.open{display:flex;}
.modal{
  background:var(--paper); width:100%; max-width:520px; border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  max-height:92vh; overflow-y:auto; padding:22px 22px calc(22px + env(safe-area-inset-bottom));
  border-top:1px solid var(--rule);
  box-shadow:0 -12px 40px rgba(0,0,0,.2);
}
@media(min-width:640px){
  .modal-overlay{align-items:center;}
  .modal{border-radius:var(--radius-lg); max-height:88vh; box-shadow:0 24px 60px rgba(0,0,0,.28);}
}
.modal-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:18px;}
.modal-head h3{font-size:18px;}
.field{margin-bottom:14px;}
.field label{display:block; font-size:12.5px; font-weight:600; color:var(--ink-soft); margin-bottom:6px; text-transform:uppercase; letter-spacing:0.04em;}
.field input, .field select, .field textarea{
  width:100%; border:1px solid var(--rule); background:var(--paper); color:var(--ink);
  border-radius:var(--radius-sm); padding:11px 12px; min-height:44px; box-shadow:var(--elev-well);
  transition:box-shadow .12s ease, border-color .12s ease;
}
.field input:focus, .field select:focus, .field textarea:focus{
  border-color:var(--focus); box-shadow:var(--elev-well), 0 0 0 3px rgba(27,90,166,0.15); outline:none;
}
.field textarea{min-height:70px; resize:vertical;}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.seg-control{display:flex; border:1px solid var(--rule); border-radius:var(--radius-sm); overflow:hidden; box-shadow:var(--elev-well);}
.seg-control button,.seg-control label{
  flex:1; padding:11px; background:var(--paper); border:none; cursor:pointer; font-weight:600; font-size:13.5px;
  color:var(--ink-soft); border-right:1px solid var(--rule); transition:background .12s ease, color .12s ease;
  display:flex; align-items:center; justify-content:center; gap:8px; min-height:46px;
}
.seg-control button:last-child,.seg-control label:last-child{border-right:none;}
.seg-control label input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--brass)}
.seg-control button.active.income,.seg-control label.active.income{background:rgba(46,93,66,0.14); color:var(--credit);}
.seg-control button.active.expense,.seg-control label.active.expense{background:rgba(140,59,46,0.14); color:var(--debit);}
.modal-actions{display:flex; gap:10px; margin-top:20px; justify-content:flex-end;}
.field-hint{font-size:12px; color:var(--ink-soft); margin-top:4px;}

/* ---------- count sheet (before/after) ---------- */
.count-table th, .count-table td{padding:9px 8px;}
.count-input{width:84px; text-align:right; padding:8px 9px; min-height:40px;}
.count-sold{font-weight:600;}
.count-sold.neg{color:var(--debit);}
.game-count-page{max-width:1280px}.game-count-page .form-card{padding:clamp(20px,3vw,34px)}.game-count-scroll{max-height:none;overflow:visible}.game-count-page .count-table th,.game-count-page .count-table td{padding:13px 14px;font-size:15px}.game-count-page .count-input{width:140px;min-height:48px;padding:10px 12px;font-size:18px;font-weight:700}.game-next-step{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:17px 18px;border:1px solid color-mix(in srgb,var(--brass) 48%,var(--rule));border-left:6px solid var(--brass);border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--brass) 8%,var(--paper-raised)),var(--paper-raised));box-shadow:var(--elev-card)}.game-next-step strong{display:block;margin-top:3px;font-size:18px}.game-next-step p{margin:4px 0 0;color:var(--ink-soft);font-size:12.5px}.game-step-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex:0 0 auto}@media(max-width:760px){.game-next-step{align-items:stretch;flex-direction:column}.game-step-actions{justify-content:stretch}.game-step-actions .btn{flex:1}.game-count-page .game-count-scroll{max-height:68dvh;overflow:auto}.game-count-page .count-table th{position:sticky;top:0;z-index:2;background:var(--paper-raised)}.game-count-page .count-table th,.game-count-page .count-table td{padding:11px 9px}.game-count-page .count-input{width:96px}.tender-closeout-page{max-width:100%}}
@supports not (height:100dvh){.end-count-page .game-count-scroll{max-height:72vh}}
.product-performance-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.performance-card{padding:17px;border:1px solid var(--rule);border-top:5px solid var(--credit);border-radius:var(--radius-lg);background:var(--paper-raised);box-shadow:var(--elev-card)}.performance-card.weak{border-top-color:var(--debit)}.performance-card h3{font-size:17px}.performance-card .insight-list>div{align-items:center}.performance-card .insight-list span small{display:block;margin-top:2px;color:var(--ink-soft);font-size:10px}.performance-card.weak .insight-list>div{background:color-mix(in srgb,var(--debit) 5%,var(--paper))}@media(max-width:760px){.product-performance-grid{grid-template-columns:1fr}}
.till-signoff{margin-top:22px;padding:18px;border:2px solid color-mix(in srgb,var(--brass) 48%,var(--rule));border-radius:var(--radius-lg);background:var(--paper-raised);box-shadow:var(--elev-card)}.till-signoff h3{margin:3px 0 4px}.signoff-methods{display:flex;gap:10px;margin:15px 0}.signoff-methods label{display:flex;align-items:center;gap:7px;min-height:42px;padding:9px 13px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);font-weight:700;cursor:pointer}.signoff-panel{margin-top:12px}.signature-label{display:block;margin-bottom:6px;color:var(--ink-soft);font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.signature-canvas{display:block;width:100%;height:190px;touch-action:none;border:2px dashed color-mix(in srgb,var(--brass) 55%,var(--rule));border-radius:var(--radius);background:#fff;cursor:crosshair}.signature-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}@media(max-width:520px){.signoff-methods{align-items:stretch;flex-direction:column}.signature-canvas{height:150px}.signature-actions{align-items:flex-start;flex-direction:column}}
.saved-signoff{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-top:12px;padding:12px;border-left:4px solid var(--credit);border-radius:var(--radius);background:color-mix(in srgb,var(--credit) 6%,var(--paper-raised))}.saved-signoff span{color:var(--ink-soft);font-size:11px}.saved-signoff img{width:min(100%,420px);max-height:130px;margin-top:7px;object-fit:contain;object-position:left center;border:1px solid var(--rule);border-radius:var(--radius-sm);background:#fff}
.topbar-register-button{flex:0 0 auto;min-width:180px;justify-self:center;box-shadow:0 2px 0 color-mix(in srgb,var(--brass) 72%,#000),0 8px 18px color-mix(in srgb,var(--brass) 24%,transparent)}.topbar-register-button.is-current{filter:saturate(.72);cursor:default}.dashboard-version-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-8px 0 20px;padding:12px 15px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--elev-card)}.dashboard-version-card strong{display:block;font-size:15px}.two-signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.signature-person{display:flex;flex-direction:column;padding:15px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper)}.signature-person-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.signature-person .signature-clear{align-self:flex-end;margin-top:8px}.settlement-actions{justify-content:flex-end;margin:0 0 18px}.settlement-print-sheet{max-width:980px;margin:0 auto;padding:30px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:#fff;color:#111;box-shadow:var(--elev-card)}.settlement-print-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:3px solid #111}.settlement-print-head h2{font-size:28px}.settlement-print-head p{margin:4px 0 0}.settlement-print-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.settlement-print-totals>div{padding:12px;border:1px solid #bbb;border-radius:8px}.settlement-print-totals span,.settlement-print-totals strong{display:block}.settlement-print-totals span{font-size:11px;text-transform:uppercase}.settlement-print-totals strong{margin-top:4px;font-size:19px}.settlement-print-sheet section{margin-top:24px}.settlement-print-table{width:100%;border-collapse:collapse}.settlement-print-table th,.settlement-print-table td{padding:8px 10px;border:1px solid #bbb;text-align:left}.settlement-signature-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settlement-signature{display:flex;min-height:190px;flex-direction:column;padding:14px;border:1px solid #999}.settlement-signature span,.settlement-signature small{font-size:11px}.settlement-signature strong{margin:3px 0}.settlement-signature img{width:100%;height:105px;object-fit:contain;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.treasurer-certification{page-break-inside:avoid}.treasurer-lines{display:grid;grid-template-columns:2fr 1.2fr .8fr;gap:18px;margin-top:38px}.treasurer-lines>div{height:34px;border-bottom:1px solid #111}.treasurer-lines span{display:block;margin-top:38px;font-size:10px;text-transform:uppercase}.settlement-print-sheet footer{margin-top:55px;padding-top:10px;border-top:1px solid #aaa;font-size:10px;text-align:center}.filter-bar .btn,.opening-cash-form .btn,.barcode-register-form .btn,.scan-input-row .btn{min-height:44px}.field-row>.field{min-width:0}.field-row input,.field-row select{height:44px}
@media(max-width:760px){.topbar-register-button{order:2;width:100%;min-width:0}.topbar-actions{order:3}.dashboard-version-card{align-items:stretch;flex-direction:column}.two-signature-grid,.settlement-signature-list,.settlement-print-totals{grid-template-columns:1fr}.settlement-print-sheet{padding:18px}.treasurer-lines{grid-template-columns:1fr;gap:30px}}
@media print{.approval-modal{display:none!important}.settlement-print-sheet{max-width:none;margin:0;padding:0;border:0;box-shadow:none}.settlement-print-head h2{font-size:24px}.settlement-print-totals{grid-template-columns:repeat(3,1fr)}.settlement-signature-list{grid-template-columns:1fr 1fr}.settlement-print-sheet footer{margin-top:40px}}

.three-signature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}.reimbursement-panel{margin:4px 0 18px;padding:16px;border:1px solid color-mix(in srgb,var(--brass) 45%,var(--rule));border-radius:var(--radius);background:color-mix(in srgb,var(--paper-raised) 94%,var(--brass))}.reimbursement-panel[hidden],.reimbursement-panel [hidden]{display:none!important}.chip.reimbursement-due{background:#fff0c7;color:#744b00;border-color:#dfb34d}.settlement-signature-list .treasurer-signed{grid-column:auto}
@media(max-width:1000px){.three-signature-grid{grid-template-columns:1fr 1fr}.three-signature-grid .signature-person:last-child{grid-column:1/-1}}
@media(max-width:760px){.three-signature-grid{grid-template-columns:1fr}.three-signature-grid .signature-person:last-child{grid-column:auto}}
@media print{.settlement-signature-list{grid-template-columns:repeat(3,1fr)}.settlement-signature{min-height:175px}.settlement-signature img{height:90px}}

/* ---------- game detail ---------- */
.game-summary-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:16px 0 20px;}
.game-summary-grid .summary-cell{padding:13px 15px;}
.game-summary-grid .summary-value{font-size:18px;}
.game-browser{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}.game-browser-group{min-width:0;padding:14px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-raised);box-shadow:var(--elev-card)}.game-browser-open{border-top:4px solid var(--brass)}.game-browser-settled{border-top:4px solid var(--credit);background:color-mix(in srgb,var(--credit) 5%,var(--paper-raised))}.game-browser-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.game-browser-head h2{font-size:17px}.game-browser-head span{color:var(--ink-soft);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.game-card-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 7px}.game-tab{display:flex;flex:0 0 190px;flex-direction:column;gap:3px;padding:11px 12px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);color:var(--ink);text-decoration:none}.game-tab strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-tab span{color:var(--ink-soft);font-size:11px}.game-tab em{margin-top:4px;color:var(--brass);font-size:11px;font-style:normal;font-weight:700}.game-tab.settled em{color:var(--credit)}.game-tab.active{border-color:var(--brass);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--brass) 28%,transparent),var(--elev-card)}.game-tab.settled.active{border-color:var(--credit);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--credit) 28%,transparent),var(--elev-card)}.game-detail-head{padding:16px 18px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-raised);box-shadow:var(--elev-card)}.game-detail-head.is-open{border-left:5px solid var(--brass)}.game-detail-head.is-settled{border-left:5px solid var(--credit);background:color-mix(in srgb,var(--credit) 5%,var(--paper-raised))}.game-settlement{padding:18px;border:1px solid color-mix(in srgb,var(--credit) 45%,var(--rule));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--credit) 5%,var(--paper-raised));box-shadow:var(--elev-card)}
@media(max-width:850px){.game-browser{grid-template-columns:1fr}.game-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- reports bars ---------- */
.bar-row{display:grid; grid-template-columns:120px 1fr 80px; align-items:center; gap:10px; padding:7px 0;}
.bar-track{height:10px; background:var(--rule-soft); border-radius:6px; overflow:hidden;}
.bar-fill{height:100%; border-radius:6px;}
.bar-fill.credit{background:var(--credit);}
.bar-fill.debit{background:var(--debit);}

/* ---------- toast ---------- */
.toast{
  position:fixed; bottom:20px; left:50%; transform:translateX(-50%) translateY(8px);
  background:var(--ink); color:var(--paper); padding:11px 18px; border-radius:var(--radius);
  font-size:13.5px; z-index:200; opacity:0; pointer-events:none; transition:opacity .18s ease, transform .18s ease;
}
:root[data-theme="dark"] .toast, .toast{background:var(--ledger); color:var(--ledger-ink);}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

/* ---------- mobile bottom nav ---------- */
.bottom-nav{display:none;}
@media(max-width:760px){
  .sidebar{display:none;}
  .bottom-nav{
    display:flex; position:fixed; bottom:0; left:0; right:0; background:var(--ledger); color:var(--ledger-ink);
    z-index:50; padding:6px 4px calc(6px + env(safe-area-inset-bottom)); justify-content:space-around;
    border-top:1px solid rgba(243,239,226,0.14); box-shadow:0 -4px 16px rgba(0,0,0,.15);
  }
  .bottom-nav a{
    background:none; border:none; color:rgba(243,239,226,0.62); display:flex; flex-direction:column; align-items:center;
    gap:3px; padding:6px 8px; font-size:10.5px; font-weight:600; flex:1; cursor:pointer; min-height:62px;
    text-decoration:none; transition:color .12s ease, transform .1s ease;
  }
  .bottom-nav a:active{transform:scale(.94);}
  .bottom-nav a.active{color:var(--ledger-ink);}
  .bottom-nav a.active .nav-ico{filter:drop-shadow(0 0 6px rgba(201,154,78,.5));}
  .bottom-nav .nav-ico{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 20px;}
  .bottom-nav .nav-label{display:flex;align-items:flex-start;justify-content:center;width:100%;min-height:26px;line-height:13px;text-align:center;}
  .content{padding:18px 16px 90px;}
  .topbar{padding:16px 16px;}
  .summary-grid{grid-template-columns:1fr 1fr;}
  .two-col{grid-template-columns:1fr; gap:24px;}
  .game-summary-grid{grid-template-columns:1fr 1fr;}
  .field-row{grid-template-columns:1fr;}
  .admin-stat-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:420px){
  .summary-grid{grid-template-columns:1fr 1fr;}
  .topbar h1{font-size:19px;}
}

.hidden{display:none !important;}
.setup-card{width:min(520px,calc(100vw - 28px));}.setup-card .field{text-align:left}.recovery-key{margin:16px 0;padding:16px;border:1px solid var(--brass);border-radius:var(--radius);background:var(--paper);overflow-wrap:anywhere;text-align:center}.recovery-key code{font-family:var(--font-mono);font-size:15px;font-weight:700}.login-forgot{display:block;margin-top:14px;color:var(--brass);font-size:12.5px;font-weight:700;text-align:center}.danger-zone{border:2px solid color-mix(in srgb,var(--danger) 55%,var(--rule));}.admin-link-card.danger{border-color:color-mix(in srgb,var(--danger) 48%,var(--rule));}.ledger-group-type-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.muted{color:var(--ink-soft);}
.small{font-size:12.5px;}
.stack{display:flex; flex-direction:column; gap:6px;}
.pill-tabs{display:flex; gap:6px; flex-wrap:wrap;}
.pill-tab{
  border:1px solid var(--rule); background:var(--paper); color:var(--ink-soft); padding:8px 13px; border-radius:20px;
  font-size:13px; font-weight:600; cursor:pointer; box-shadow:var(--elev-btn); transform:translateY(0);
  transition:transform .1s ease, box-shadow .1s ease, background .12s ease, color .12s ease, border-color .12s ease;
}
.pill-tab:hover{transform:translateY(-1px); box-shadow:var(--elev-btn-hover);}
.pill-tab:active{transform:translateY(1px); box-shadow:var(--elev-btn-active);}
.pill-tab.active{background:var(--ledger); color:var(--ledger-ink); border-color:var(--ledger); box-shadow:var(--elev-btn-active);}
.offline-banner{
  background:rgba(169,119,46,0.14); border:1px solid var(--brass); color:var(--brass-ink);
  border-radius:var(--radius); padding:10px 14px; font-size:13px; margin-bottom:18px;
}
:root[data-theme="dark"] .offline-banner{color:var(--brass);}

/* ---------- backup / restore ---------- */
.backup-row{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:10px;}
.file-input-label{
  display:inline-flex; align-items:center; gap:7px; border:1px solid var(--rule); background:var(--paper-raised);
  color:var(--ink); padding:10px 16px; border-radius:var(--radius); cursor:pointer; font-weight:600; font-size:14px;
  min-height:44px; box-shadow:var(--elev-btn); transform:translateY(0);
  transition:transform .1s ease, box-shadow .1s ease, border-color .12s ease;
}
.file-input-label:hover{border-color:var(--ink-soft); transform:translateY(-1.5px); box-shadow:var(--elev-btn-hover);}
.file-input-label:active{transform:translateY(1px); box-shadow:var(--elev-btn-active);}
.file-input-label input{display:none;}
.backup-note{font-size:12.5px; color:var(--ink-soft); margin-top:8px; max-width:56ch;}

/* ---------- print ---------- */
.print-only-header{display:none;}
@page{size:auto;margin:.42in;}
@media print{
  .sidebar, .bottom-nav, .topbar-actions, .modal-overlay, .toast, .filter-bar,
  .row-actions, .item-card-actions, .pill-tabs, .theme-toggle, .backup-row, .backup-note,
  .search-input, #ledgerSearch, #invSearch, .register-cart, .register-tile,
  .register-item-form, .qty-btn, .pay-tab, .who-badge, .switch, .admin-link-grid,
  .feature-toggle-list, .btn-admin, .topbar-register-button, .topbar>h1{ display:none !important; }
  :root, :root[data-theme="dark"]{
    --paper:#ffffff; --paper-raised:#ffffff; --ink:#0A0A0A; --ink-soft:#444444;
    --ledger:#0A0A0A; --ledger-ink:#ffffff; --brass:#0A0A0A; --brass-ink:#ffffff;
    --rule:#999999; --rule-soft:#cccccc; --credit:#1F5C36; --debit:#7A2E22;
  }
  * { box-shadow:none !important; text-shadow:none !important; filter:none !important; }
  html, body, .shell, .main, .content{width:100% !important; min-width:0 !important; max-width:100% !important; margin:0 !important; overflow:visible !important; background:#fff; color:#0A0A0A;}
  .topbar{position:static; border-bottom:none; padding:0 0 6px;}
  .content{padding:0;}
  .print-only-header{display:block !important; margin-bottom:14px; border-bottom:2px solid #0A0A0A; padding-bottom:8px;}
  .print-only-header .p-title{font-family:var(--font-head); font-size:21px; font-weight:700;}
  .print-only-header .p-meta{font-size:11.5px; color:#444; margin-top:3px;}
  .card-list{display:none !important;}
  .table-wrap{display:block !important; width:100% !important; min-width:0 !important; max-width:100% !important; overflow:visible !important; border-color:#999;}
  table, .ledger-table, .inventory-data-table, .ledger-data-table, .projection-table, .count-table, .settlement-print-table{width:100% !important; min-width:0 !important; max-width:100% !important; table-layout:auto !important; font-size:8.5pt !important;}
  .ledger-table th, .ledger-table td, .settlement-print-table th, .settlement-print-table td{max-width:none !important; padding:4px 5px !important; color:#0A0A0A; border-color:#999; white-space:normal !important; overflow:visible !important; overflow-wrap:anywhere !important; word-break:normal !important;}
  .ledger-table th{background:#f2f2f2;}
  .inventory-data-table col, .ledger-data-table col{width:auto !important;}
  .inventory-data-table th:last-child, .inventory-data-table td:last-child{display:none !important;}
  img, svg, canvas{max-width:100% !important;}
  pre, code{white-space:pre-wrap !important; overflow-wrap:anywhere !important;}
  .two-col, .settings-layout, .receipt-review-grid, .product-performance-grid{display:block !important; width:100% !important;}
  .summary-grid, .game-summary-grid, .admin-stat-grid, .settlement-print-totals{grid-template-columns:repeat(3,minmax(0,1fr)) !important; width:100% !important;}
  .form-page, .form-card, .section, .settlement-print-sheet{width:100% !important; min-width:0 !important; max-width:100% !important; margin-left:0 !important; margin-right:0 !important;}
  .summary-grid, .game-summary-grid, .admin-stat-grid{border-color:#999; break-inside:avoid;}
  .summary-cell, .admin-stat-card, .form-card, .item-card{background:#fff; border-color:#999;}
  .section{break-inside:auto;}
  table{page-break-inside:auto;}
  tr{page-break-inside:avoid; page-break-after:auto;}
  a[href]::after{content:'';}
}

/* ---------- login page ---------- */
.login-shell{min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px;}
.login-card{width:100%; max-width:500px; border:1px solid var(--rule); border-radius:var(--radius-lg); padding:32px; background:var(--paper); box-shadow:var(--elev-card-hover);}
.login-brand{font-family:var(--font-head); font-size:22px; font-weight:700; margin-bottom:4px;}
.login-sub{font-size:13px; color:var(--ink-soft); margin-bottom:22px;}
.login-error{background:rgba(140,59,46,0.1); border:1px solid var(--debit); color:var(--debit); border-radius:var(--radius); padding:10px 12px; font-size:13.5px; margin-bottom:16px;}

/* ---------- flash messages ---------- */
.flash{border-radius:var(--radius); padding:11px 15px; font-size:13.5px; margin-bottom:18px; border:1px solid var(--rule);}
.flash.success{background:rgba(46,93,66,0.1); border-color:var(--credit); color:var(--credit);}
.flash.error{background:rgba(140,59,46,0.1); border-color:var(--debit); color:var(--debit);}
.flash.info{background:var(--paper-raised); color:var(--ink);}
.release-alert{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;padding:13px 15px;border:1px solid var(--brass);border-radius:var(--radius);background:rgba(37,99,235,.10);box-shadow:var(--elev-card)}

/* ---------- standalone form pages ---------- */
.form-page{max-width:560px;}
.form-card{border:1px solid var(--rule); border-radius:var(--radius-lg); padding:22px; background:linear-gradient(145deg,var(--paper-raised),var(--paper)); box-shadow:var(--elev-card);}
.back-link{display:inline-flex; align-items:center; justify-content:center; gap:6px; font-size:13px; font-weight:600; color:var(--ink); text-decoration:none; margin-bottom:14px; min-height:36px; padding:7px 12px; border:1px solid var(--rule); border-radius:var(--radius); background:var(--paper-raised); box-shadow:var(--elev-btn); transition:transform .1s ease,box-shadow .1s ease,border-color .12s ease;}
.back-link:hover{color:var(--ink);transform:translateY(-1.5px);box-shadow:var(--elev-btn-hover);border-color:var(--ink-soft);}

/* ---------- settings hub ---------- */
.settings-page{max-width:1120px;margin:0 auto;scroll-behavior:smooth}
.settings-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:8px 0 24px;padding:24px 26px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--paper-raised),var(--paper));box-shadow:var(--elev-card)}
.settings-intro h2{font-size:27px;margin-bottom:5px}.settings-intro p{margin:0;color:var(--ink-soft);max-width:620px}.settings-kicker{font-size:11px!important;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:var(--brass)!important;margin-bottom:5px!important}.settings-version{padding:8px 12px;border:1px solid var(--rule);border-radius:999px;background:var(--paper);font-size:12px;color:var(--ink-soft);white-space:nowrap}
.settings-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}
.settings-nav{position:sticky;top:94px;display:flex;flex-direction:column;padding:8px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-raised);box-shadow:var(--elev-card)}
.settings-nav a{display:grid;grid-template-columns:27px 1fr;column-gap:9px;padding:12px 11px;border-radius:var(--radius);color:var(--ink);text-decoration:none;transition:background .12s ease,transform .12s ease}.settings-nav a:hover{background:var(--rule-soft);transform:translateX(2px)}.settings-nav a>span{grid-row:1/3;display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:rgba(37,99,235,.11);color:var(--brass);font:600 11px var(--font-mono)}.settings-nav strong{font-size:13.5px;line-height:1.2}.settings-nav small{margin-top:2px;color:var(--ink-soft);font-size:11px}
.settings-sections{min-width:0}.settings-section{scroll-margin-top:96px;margin-bottom:36px}.settings-section-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:13px}.settings-section-number{display:flex;align-items:center;justify-content:center;flex:0 0 36px;height:36px;border-radius:10px;background:var(--ledger);color:var(--ledger-ink);font:600 12px var(--font-mono);box-shadow:var(--elev-btn)}.settings-section-head h2{font-size:21px;line-height:1.2}.settings-section-head p{margin:3px 0 0;color:var(--ink-soft);font-size:13px}
.settings-card{background:var(--paper-raised)}.settings-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--rule-soft)}.settings-card-head h3{font-size:17px}.settings-card-head p{margin:3px 0 0;color:var(--ink-soft);font-size:12.5px}.settings-status{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border:1px solid var(--rule);border-radius:999px;color:var(--ink-soft);font-size:11px;font-weight:700}.settings-status:before{content:'';width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--ink-soft)}.settings-status.is-ready{color:var(--credit);border-color:color-mix(in srgb,var(--credit) 45%,var(--rule))}.settings-status.is-ready:before{background:var(--credit)}
.settings-logo-actions{display:flex;flex:1;align-items:center;gap:10px;flex-wrap:wrap}.settings-logo-actions p{flex-basis:100%;margin:0 0 4px}.settings-logo-actions form{margin:0}.settings-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.settings-subhead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:20px 0 12px;padding-top:18px;border-top:1px solid var(--rule-soft)}.settings-subhead h4{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.05em}.settings-subhead span{font-size:11.5px;color:var(--ink-soft)}.settings-form-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;padding-top:18px;border-top:1px solid var(--rule-soft)}.settings-form-footer>a{font-size:12.5px;font-weight:600;color:var(--brass);text-decoration:none}.settings-form-footer>a:hover{text-decoration:underline}
.settings-update-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.75fr);gap:16px}.settings-update-card{display:flex;flex-direction:column;justify-content:space-between;gap:16px;background:linear-gradient(145deg,var(--ledger),color-mix(in srgb,var(--ledger) 82%,#000));color:var(--ledger-ink)}.settings-update-card p{margin:0;color:rgba(255,255,255,.7);font-size:13px}.settings-update-card .btn{align-self:flex-start}.settings-eyebrow{display:block;margin-bottom:4px;color:rgba(255,255,255,.65);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.settings-current-version{display:block;font-size:28px}
@media(max-width:900px){.settings-layout{grid-template-columns:1fr}.settings-nav{position:static;display:grid;grid-template-columns:1fr 1fr}.settings-update-grid{grid-template-columns:1fr}.settings-update-card{min-height:220px}}
@media(max-width:620px){.settings-intro{align-items:flex-start;flex-direction:column;padding:20px}.settings-version{align-self:flex-start}.settings-nav{grid-template-columns:1fr}.settings-field-grid{grid-template-columns:1fr}.settings-card{padding:18px}.settings-card-head{flex-direction:column}.settings-form-footer{align-items:stretch;flex-direction:column}.settings-form-footer .btn{width:100%}.settings-logo-actions{align-items:stretch}.settings-logo-actions .file-input-label,.settings-logo-actions .btn{width:100%}}
.mode-tabs{display:flex; gap:8px; margin-bottom:18px; flex-wrap:wrap;}
.mode-tab{
  border:1px solid var(--rule); background:var(--paper); color:var(--ink-soft); padding:9px 15px; border-radius:20px;
  font-size:13.5px; font-weight:600; text-decoration:none; min-height:40px; display:inline-flex; align-items:center;
  box-shadow:var(--elev-btn); transform:translateY(0); transition:transform .1s ease, box-shadow .1s ease, background .12s ease, color .12s ease;
}
.mode-tab:hover{transform:translateY(-1.5px); box-shadow:var(--elev-btn-hover);}
.mode-tab.active{background:var(--ledger); color:var(--ledger-ink); border-color:var(--ledger); box-shadow:var(--elev-btn-active);}
.checkbox-field{display:flex; align-items:center; gap:8px; font-size:13.5px;}
.checkbox-field input{width:17px; height:17px; min-height:0;}
.inline-form{display:inline;}
.danger-text{color:var(--debit);}
.error-text{color:var(--debit)!important}.success-text{color:var(--credit)!important}
.product-lookup-card{display:flex;align-items:center;gap:14px;padding:12px;margin:-2px 0 18px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised)}
.product-lookup-card[hidden]{display:none}.product-lookup-card img{width:78px;height:78px;object-fit:contain;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--rule)}
.product-image-upload{margin-top:2px;padding:14px;border:1px solid var(--rule-soft);border-radius:var(--radius);background:var(--paper-raised)}.product-image-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.product-image-upload>.field-hint{margin-top:8px}
.inventory-item-title{display:flex;align-items:center;gap:10px}.product-thumb{width:44px;height:44px;object-fit:contain;border-radius:7px;background:#fff;border:1px solid var(--rule);flex:0 0 auto}
.inventory-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px;padding:20px 22px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--paper-raised),var(--paper));box-shadow:var(--elev-card)}.inventory-page-head h2{font-size:25px}.inventory-page-head p{margin:4px 0 0;color:var(--ink-soft)}.inventory-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.inventory-filter-bar{padding:12px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--elev-card)}.inventory-filter-bar select{min-width:180px}.inventory-result-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 10px;color:var(--ink-soft);font-size:12.5px}.inventory-result-bar strong{color:var(--ink)}.inventory-page-head+.inventory-summary-grid .summary-cell{background:var(--paper-raised)}
.inventory-item-title>div{min-width:0}.inventory-data-table{min-width:1120px;table-layout:fixed}.inventory-data-table .inventory-col-item{width:29%}.inventory-data-table .inventory-col-category{width:14%}.inventory-data-table .inventory-col-money{width:9.5%}.inventory-data-table .inventory-col-qty{width:11%}.inventory-data-table .inventory-col-actions{width:17.5%}.inventory-table-wrap .inventory-data-table th,.inventory-table-wrap .inventory-data-table td{height:68px;overflow-wrap:normal;word-break:normal;white-space:nowrap}.inventory-data-table th{height:auto}.inventory-data-table td:first-child{overflow:hidden}.inventory-data-table .inventory-item-title{min-width:0}.inventory-data-table .inventory-item-title>div{overflow:hidden}.inventory-data-table .inventory-item-title>div>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-data-table td:nth-child(2){overflow:hidden}.inventory-data-table td:nth-child(2) .chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.inventory-data-table .row-actions{align-items:center;flex-wrap:nowrap;white-space:nowrap}.inventory-data-table .row-actions .inline-form{flex:0 0 auto}.inventory-data-table .row-actions .btn{min-width:58px}.inventory-page-head~.card-list .item-card{padding:16px}.inventory-page-head~.card-list .item-card-actions .btn{min-width:88px}.card-list .inventory-item-title{white-space:normal}.card-list .inventory-item-title>div,.card-list .item-card-name{overflow-wrap:break-word}
@media(max-width:900px){.inventory-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-page-head{align-items:flex-start}}
@media(max-width:600px){.inventory-page-head{flex-direction:column}.inventory-page-head .btn{width:100%}.inventory-summary-grid{grid-template-columns:1fr 1fr!important}.inventory-filter-bar select,.inventory-filter-bar .btn{flex:1}.inventory-result-bar{align-items:flex-start;flex-direction:column}.sync-status{order:-1}}
.register-product-image{width:64px;height:64px;object-fit:contain;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--rule);margin:0 auto 7px}
.register-cart-image{width:42px;height:42px;object-fit:contain;border-radius:7px;background:#fff;border:1px solid var(--rule);flex:0 0 auto}

/* ---------- register / POS ---------- */
.register-shell{display:flex; flex-direction:column; gap:24px; align-items:stretch;}
.register-items,.register-cart{width:100%;}
.register-items{padding:18px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-raised);box-shadow:var(--elev-card)}.pos-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.pos-panel-head h2{font-size:24px}.register-toolbar{padding:12px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--rule-soft)}
.register-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:12px;
}
.register-item-form{display:block;height:100%;min-width:0;}
.register-item-form[hidden],.register-item-form.category-hidden{display:none!important;}
.register-item-form .register-tile{height:100%;}
.register-tile{
  display:flex; flex-direction:column; align-items:flex-start; gap:4px;
  border:1px solid var(--rule); background:var(--paper); border-radius:var(--radius);
  padding:16px 14px; cursor:pointer; min-height:92px; text-align:left; width:100%;
  box-shadow:var(--elev-btn); transform:translateY(0);
  transition:transform .1s cubic-bezier(.2,.8,.3,1), box-shadow .1s ease, border-color .12s ease, background .12s ease;
}
.register-tile:hover:not(:disabled){border-color:var(--brass); background:var(--paper-raised); transform:translateY(-2px); box-shadow:var(--elev-btn-hover);}
.register-tile:active:not(:disabled){background:rgba(169,119,46,0.14); transform:translateY(1px); box-shadow:var(--elev-btn-active); transition-duration:.04s;}
.register-tile:disabled{opacity:0.4; cursor:not-allowed; box-shadow:none;}
.register-tile-name{font-weight:700; font-size:15.5px; line-height:1.25;}
.register-tile-price{font-size:18px; color:var(--brass); font-weight:700;}
.register-tile-qty{font-size:11.5px; color:var(--ink-soft);}

.register-cart{
  border:1px solid var(--rule); border-radius:var(--radius-lg); padding:16px; background:var(--paper);
  position:static; max-height:none; overflow:visible; box-shadow:var(--elev-card-hover);
}
.register-cart-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:12px;}
.register-cart-head h2{font-size:16px;}
.register-lines{display:flex; flex-direction:column; gap:10px; margin-bottom:14px;}
.register-line{display:flex; align-items:center; gap:10px; padding-bottom:10px; border-bottom:1px solid var(--rule-soft);}
.register-line-info{flex:1; min-width:0;}
.register-line-name{font-size:13.5px; font-weight:600;}
.register-line-qty{display:flex; align-items:center; gap:6px;}
.qty-btn{
  width:30px; height:30px; border-radius:50%; border:1px solid var(--rule); background:var(--paper-raised);
  font-size:16px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center;
  box-shadow:var(--elev-btn); transform:translateY(0); transition:transform .1s ease, box-shadow .1s ease;
}
.qty-btn:hover:not(:disabled){transform:translateY(-1px); box-shadow:var(--elev-btn-hover);}
.qty-btn:active:not(:disabled){transform:translateY(1px); box-shadow:var(--elev-btn-active);}
.qty-btn:disabled{opacity:0.35; cursor:not-allowed; box-shadow:none;}
.qty-value{min-width:20px; text-align:center; font-weight:600;}
.register-line-total{font-weight:600; min-width:60px; text-align:right;}
.register-line.is-complimentary{border-color:color-mix(in srgb,var(--credit) 55%,var(--rule));background:color-mix(in srgb,var(--credit) 8%,var(--paper-raised))}.register-line.is-complimentary .register-line-total{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.register-line.is-complimentary .register-line-total s{color:var(--ink-soft);font-size:11px}.register-line.is-complimentary .register-line-total>strong{color:var(--credit)}.complimentary-form{margin-top:5px}.complimentary-complete{width:100%;min-height:50px}
.register-total-row{
  display:flex; justify-content:space-between; align-items:baseline; font-size:19px; font-weight:700;
  padding:12px 0; border-top:2px solid var(--ink); margin-bottom:14px;
}
.register-pay-tabs{display:flex; gap:6px; margin-bottom:14px;}
.pay-tab{
  flex:1; border:1px solid var(--rule); background:var(--paper); color:var(--ink-soft); padding:9px 8px;
  border-radius:20px; font-size:12.5px; font-weight:600; cursor:pointer; min-height:38px;
  box-shadow:var(--elev-btn); transform:translateY(0); transition:transform .1s ease, box-shadow .1s ease, background .12s ease, color .12s ease;
}
.pay-tab:hover{transform:translateY(-1px); box-shadow:var(--elev-btn-hover);}
.pay-tab.active{background:var(--ledger); color:var(--ledger-ink); border-color:var(--ledger); box-shadow:var(--elev-btn-active);}
.pay-panel.hidden{display:none;}
.pay-status{margin-top:10px; font-size:13px; min-height:1.2em;}
.pay-status.error{color:var(--debit);}
.pay-status.success{color:var(--credit);}
@media(min-width:1000px){.register-shell{display:grid;grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:20px}.register-cart{position:sticky;top:96px;max-height:calc(100vh - 118px);overflow:auto}.register-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:14px}.register-tile{min-height:150px;justify-content:flex-end}.register-product-image{width:82px;height:82px;align-self:center;margin-bottom:auto}.register-total-row{font-size:24px;background:var(--ledger);color:var(--ledger-ink);margin:14px -16px;padding:15px 16px;border:0}}
#card-container, #cash-app-pay{min-height:44px;}
.apple-pay-button{width:100%;min-height:48px;background:#000!important;color:#fff!important;border-color:#000!important;font-weight:700}
.cash-modal[hidden]{display:none}.cash-modal{position:fixed;inset:0;z-index:10000;background:rgba(5,15,30,.78);display:grid;place-items:center;padding:18px}.cash-modal-card{width:min(430px,100%);max-height:calc(100vh - 36px);overflow-y:auto;background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.42)}.cash-modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.cash-modal-head h2{font-size:30px}.cash-display{display:flex;align-items:center;gap:6px;margin:6px 0 8px;border:2px solid var(--brass);border-radius:var(--radius);background:var(--paper-raised);padding:8px 13px;font-size:28px;font-weight:700}.cash-display input{width:100%;border:0!important;background:transparent!important;box-shadow:none!important;font:inherit!important;min-height:42px!important;padding:0!important;color:var(--ink)!important}.cash-change{text-align:right;margin-bottom:12px;color:var(--ink-soft)}.cash-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.cash-key{min-height:58px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised);color:var(--ink);font-size:21px;font-weight:700;cursor:pointer;box-shadow:var(--elev-btn)}.cash-key:active{transform:translateY(1px);box-shadow:var(--elev-btn-active)}.cash-quick-row{display:grid;grid-template-columns:1fr auto;gap:9px;margin:10px 0}.cash-modal-card #completeCashBtn{width:100%;min-height:52px}.modal-open{overflow:hidden}.scanner-guide{position:absolute;left:12%;right:12%;top:50%;height:2px;background:#ef4444;box-shadow:0 0 10px #ef4444}.scanner-box{position:relative}.scanner-status{margin:10px 0}

@media(max-width:900px){
  .register-cart{position:static; max-height:none;}
}

/* ---------- logo / branding ---------- */
.brand{display:flex; flex-direction:column; align-items:stretch; gap:12px;}
.brand-logo, .brand-logo-placeholder{
  width:100%; border-radius:16px; flex-shrink:0; object-fit:contain;
  background:rgba(243,239,226,0.08);
  box-shadow:0 1px 0 rgba(255,255,255,.16) inset,0 4px 0 rgba(0,0,0,.22),0 12px 22px -10px rgba(0,0,0,.7);
}
.brand-logo{display:block; height:auto; max-height:210px; object-fit:contain; padding:4px;}
.brand-logo-placeholder{
  height:180px; display:flex; align-items:center; justify-content:center; color:rgba(243,239,226,0.55);
  border:1px dashed rgba(243,239,226,0.3);
}
.brand-logo-placeholder svg{width:72px; height:72px;}
.brand-text{min-width:0;}

.login-logo-wrap{display:flex; justify-content:center; width:100%; margin-bottom:28px;}
.login-logo{display:block;width:100%;max-width:410px;height:auto;max-height:300px;border-radius:28px;object-fit:contain;box-shadow:var(--elev-card-hover);}
.login-logo-placeholder{width:min(100%,300px);height:260px;border-radius:28px;object-fit:contain;box-shadow:var(--elev-card-hover);}
.login-logo-placeholder{
  display:flex; align-items:center; justify-content:center; color:var(--ink-soft);
  border:1px dashed var(--rule); background:var(--paper-raised);
}
.login-logo-placeholder svg{width:54px; height:54px;}

.logo-preview-row{display:flex; gap:16px; align-items:center;}
.logo-preview{
  width:132px; height:132px; border-radius:18px; border:1px solid var(--rule); background:var(--paper-raised);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; overflow:hidden;
  box-shadow:var(--elev-card-hover);
}
.logo-preview img{max-width:100%; max-height:100%; object-fit:contain;}
.logo-placeholder-icon{color:var(--ink-soft);}
.logo-placeholder-icon svg{width:30px; height:30px;}

.print-logo{max-height:72px; max-width:300px; object-fit:contain; margin-bottom:10px; display:block;}
.receipt-preview{display:flex;align-items:center;gap:14px;margin-bottom:12px}.receipt-preview img{width:110px;height:110px;object-fit:cover;border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--elev-card)}
.receipt-scan-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0;padding:12px;border:1px solid var(--rule-soft);border-radius:var(--radius);background:var(--paper-raised);font-size:12.5px;color:var(--ink-soft)}
.receipt-draft-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}.receipt-draft-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised)}.receipt-draft-card>a{flex:1;min-width:0;text-decoration:none}.receipt-draft-card>a strong,.receipt-draft-card>a span{display:block}.receipt-draft-card>a span{margin-top:2px;color:var(--ink-soft);font-size:12px}.receipt-review-heading-actions{display:flex;align-items:center;gap:12px}.receipt-review-heading-actions form{margin:0}
.receipt-capture-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.receipt-camera-panel{padding:12px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:#07101d;margin:12px 0}.receipt-camera-panel video{display:block;width:100%;max-height:65vh;object-fit:contain;border-radius:var(--radius);background:#000}.receipt-capture-preview{display:block;width:min(100%,520px);max-height:560px;object-fit:contain;margin:14px 0;border:1px solid var(--rule);border-radius:var(--radius);box-shadow:var(--elev-card)}
.receipt-review-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 18px;padding:20px 22px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--paper-raised),var(--paper));box-shadow:var(--elev-card)}.receipt-review-heading h2{font-size:25px}.receipt-review-heading p{margin:4px 0 0;color:var(--ink-soft)}.receipt-review-stats{display:flex;gap:10px;flex-wrap:wrap}.receipt-review-stats span{min-width:110px;padding:9px 12px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised);color:var(--ink-soft);font-size:11px;text-align:center}.receipt-review-stats strong{display:block;color:var(--ink);font:700 17px var(--font-mono)}
.receipt-review-grid{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:20px;align-items:start}.receipt-image-panel{position:sticky;top:94px;padding:16px}.receipt-editor-panel{padding:20px}.receipt-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.receipt-panel-title h2{font-size:19px}.receipt-review-image{display:block;width:100%;max-height:calc(100vh - 245px);object-fit:contain;border-radius:var(--radius);background:var(--paper-raised);border:1px solid var(--rule);box-shadow:var(--elev-well)}.receipt-image-panel .flash{margin:14px 0 0}.ocr-details{margin-top:12px;border:1px solid var(--rule-soft);border-radius:var(--radius);padding:10px 12px}.ocr-details summary{cursor:pointer;font-weight:700;font-size:12.5px}.ocr-text{white-space:pre-wrap;max-height:260px;overflow:auto;font:12px/1.5 var(--font-mono);background:var(--paper);padding:12px;border-radius:var(--radius)}
.receipt-rows{counter-reset:receipt-row;margin:16px 0}.receipt-item-row{counter-increment:receipt-row;position:relative;display:grid;grid-template-columns:30px minmax(155px,1.5fr) 70px 105px minmax(145px,1.2fr) minmax(120px,1fr) 105px auto;gap:9px;align-items:end;margin-bottom:10px;padding:14px 12px;border:1px solid var(--rule-soft);border-radius:var(--radius);background:var(--paper);box-shadow:0 2px 8px rgba(0,0,0,.04)}.receipt-row-number{align-self:center;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ledger);color:var(--ledger-ink);font:700 11px var(--font-mono)}.receipt-row-number:before{content:counter(receipt-row)}.receipt-item-row .field{margin:0}.receipt-item-row label{font-size:10px}.receipt-item-row input,.receipt-item-row select{padding:9px 10px;min-height:40px}.receipt-item-row .remove-receipt-row{align-self:end}.receipt-approval-total{text-align:right;font-size:16px;margin:18px 0;padding:14px;border-top:2px solid var(--rule);background:var(--paper-raised);border-radius:var(--radius)}.receipt-approval-total strong{font-size:26px;color:var(--debit)}.receipt-editor-panel .modal-actions{position:sticky;bottom:0;z-index:3;margin:18px -20px -20px;padding:15px 20px 19px;border-top:1px solid var(--rule);background:color-mix(in srgb,var(--paper-raised) 94%,transparent);backdrop-filter:blur(8px)}
@media(max-width:1180px){.receipt-review-grid{grid-template-columns:340px minmax(0,1fr)}.receipt-item-row{grid-template-columns:30px repeat(2,minmax(0,1fr))}.receipt-item-row .remove-receipt-row{grid-column:2/-1}}
@media(max-width:900px){.receipt-review-heading{align-items:flex-start;flex-direction:column}.receipt-review-grid{grid-template-columns:1fr}.receipt-image-panel{position:static}.receipt-review-image{max-height:620px}.receipt-item-row{grid-template-columns:30px repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.receipt-review-heading{padding:16px}.receipt-review-stats{width:100%}.receipt-review-stats span{flex:1}.receipt-item-row{grid-template-columns:28px 1fr}.receipt-item-row>.field,.receipt-item-row .remove-receipt-row{grid-column:2}.receipt-editor-panel .modal-actions{align-items:stretch;flex-direction:column}.receipt-panel-title{align-items:flex-start}.receipt-panel-title .btn{white-space:nowrap}}
@media(max-width:560px){.receipt-scan-checklist{grid-template-columns:1fr}}
@media(max-width:650px){.receipt-draft-card,.receipt-review-heading-actions{align-items:stretch;flex-direction:column}.receipt-draft-card .row-actions{justify-content:flex-start}.receipt-review-heading-actions{width:100%}.receipt-review-heading-actions form .btn{width:100%}}
.data-refresh-notice{position:fixed;right:20px;bottom:20px;z-index:10020;display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--brass);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--elev-card-hover);font-weight:700}@media(max-width:760px){.data-refresh-notice{left:12px;right:12px;bottom:82px;justify-content:space-between}}

/* Broader tactile depth across interactive surfaces. */
.field input,.field select,.field textarea,.filter-bar select,.filter-bar input[type="search"],.count-input{background:linear-gradient(180deg,var(--paper-raised),var(--paper));}
.chip,.settings-status,.update-version-badge{box-shadow:0 1px 0 var(--highlight) inset,0 2px 0 var(--shadow-ledge-soft),0 5px 10px -7px var(--shadow-ambient);}
.flash,.product-lookup-card,.command-card,.release-alert{box-shadow:0 1px 0 var(--highlight) inset,0 3px 0 var(--shadow-ledge-soft),0 10px 20px -12px var(--shadow-ambient);}
.product-thumb,.register-product-image,.register-cart-image{box-shadow:0 2px 0 var(--shadow-ledge-soft),0 7px 14px -8px var(--shadow-ambient);}
.feature-toggle-row{box-shadow:inset 0 1px 0 var(--highlight);}
.bottom-nav{box-shadow:0 -5px 0 rgba(0,0,0,.22),0 -14px 28px -14px rgba(0,0,0,.55);}
@media(max-width:760px){.logo-preview{width:104px;height:104px}.login-card{max-width:460px;padding:24px 20px}.login-logo{max-width:100%;max-height:260px}.login-logo-placeholder{width:min(100%,260px);height:220px}}

/* ---------- unified responsive layout ---------- */
.content{width:100%;max-width:1680px;margin:0 auto}.main{max-width:calc(100vw - 250px)}
.form-page{width:100%;margin:0 auto}.form-page[style]{width:100%}
.table-wrap{max-width:100%}.ledger-table{min-width:680px}.ledger-table th,.ledger-table td{overflow-wrap:anywhere}.row-actions{flex-wrap:wrap;align-items:center;min-width:max-content}
.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.filter-bar>*{max-width:100%}.section,.form-card,.summary-cell,.item-card{min-width:0}
.theme-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.theme-color-field{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--rule-soft);border-radius:var(--radius);background:var(--paper)}.theme-color-field>span{font-size:12.5px;font-weight:700}.theme-color-field>div{display:flex;align-items:center;gap:9px}.theme-color-field input[type=color]{width:42px;height:34px;padding:2px;border:1px solid var(--rule);border-radius:8px;background:var(--paper-raised);cursor:pointer}.theme-color-field output{min-width:64px;font:11px var(--font-mono);color:var(--ink-soft)}
.theme-preview{display:grid;grid-template-columns:150px 1fr;min-height:170px;margin-top:18px;overflow:hidden;border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--elev-card)}.theme-preview-sidebar{padding:18px;background:var(--ledger);color:var(--ledger-ink);font-weight:700}.theme-preview-content{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;background:var(--paper-raised);color:var(--ink)}.theme-preview-content>span{color:var(--ink-soft)}
@media(max-width:1100px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.game-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.table-wrap{display:block}.card-list{display:none}.mobile-cards .table-wrap{display:none}.mobile-cards .card-list{display:flex}.ledger-table{min-width:720px}.main{max-width:none}.theme-color-grid{grid-template-columns:1fr}}
@media(max-width:760px){.topbar{align-items:flex-start}.topbar-actions{width:100%;justify-content:flex-start}.topbar-actions .btn{flex:1}.content{overflow-x:hidden}.bottom-nav{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.bottom-nav::-webkit-scrollbar{display:none}.bottom-nav a{flex:0 0 76px}.modal-actions{flex-wrap:wrap}.modal-actions .btn{flex:1}.filter-bar .search-input{flex-basis:100%}.receipt-capture-actions .btn{flex:1}.settings-page{width:100%}}
@media(max-width:520px){.summary-grid,.game-summary-grid,.admin-stat-grid{grid-template-columns:1fr!important}.summary-value{font-size:21px}.content{padding-left:12px;padding-right:12px}.topbar{padding-left:12px;padding-right:12px}.form-card{padding:16px}.item-card-actions{flex-wrap:wrap}.item-card-actions>*{flex:1}.theme-preview{grid-template-columns:1fr}.theme-preview-sidebar{padding:12px}.logo-preview-row{align-items:flex-start;flex-direction:column}.logo-preview{width:100%;height:150px}.settings-intro h2{font-size:24px}.receipt-item-row{grid-template-columns:1fr}}

/* ---------- updates ---------- */
.update-version-row{display:flex; align-items:baseline; gap:10px; margin-bottom:4px;}
.update-version-badge{
  font-family:var(--font-mono); font-size:13px; background:var(--paper-raised); border:1px solid var(--rule);
  border-radius:20px; padding:3px 11px; font-weight:600;
}
.update-arrow{color:var(--ink-soft);}
.changelog-box{
  border:1px solid var(--rule); border-radius:var(--radius); padding:14px 16px; max-height:280px; overflow-y:auto;
  font-size:13.5px; line-height:1.6; background:var(--paper-raised);
}
.changelog-box h1, .changelog-box h2{font-size:14px; margin:0 0 6px;}
.changelog-box ul{margin:0 0 10px; padding-left:20px;}

/* ---------- toggle switch ---------- */
.switch{position:relative; display:inline-block; cursor:pointer; flex-shrink:0;}
.switch input{position:absolute; opacity:0; width:1px; height:1px;}
.switch-track{
  display:block; width:46px; height:27px; border-radius:20px; background:var(--rule-soft);
  border:1px solid var(--rule); box-shadow:var(--elev-well); position:relative;
  transition:background .15s ease, border-color .15s ease;
}
.switch-thumb{
  position:absolute; top:2px; left:2px; width:21px; height:21px; border-radius:50%;
  background:var(--paper); box-shadow:0 1px 2px rgba(0,0,0,.25), 0 1px 0 var(--highlight) inset;
  transition:transform .18s cubic-bezier(.34,1.4,.64,1);
}
.switch input:checked + .switch-track{background:var(--credit); border-color:var(--credit);}
.switch input:checked + .switch-track .switch-thumb{transform:translateX(19px);}
.switch input:focus-visible + .switch-track{outline:2px solid var(--focus); outline-offset:2px;}

/* ---------- admin panel ---------- */
.admin-stat-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:28px;}
.admin-stat-card{
  background:var(--paper); border:1px solid var(--rule); border-radius:var(--radius); padding:16px 18px;
  box-shadow:var(--elev-card); transition:box-shadow .15s ease, transform .15s ease;
}
.admin-stat-card:hover{box-shadow:var(--elev-card-hover); transform:translateY(-1px);}
.admin-stat-label{font-size:11.5px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:0.06em; font-weight:600;}
.admin-stat-value{font-size:19px; font-weight:700; margin-top:6px; font-family:var(--font-head);}
.admin-stat-flag{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;font-size:12px;font-weight:600;color:var(--credit);text-decoration:none;padding:6px 9px;min-height:31px;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--paper-raised);box-shadow:var(--elev-btn);}
.admin-stat-flag:hover{transform:translateY(-1px);box-shadow:var(--elev-btn-hover);}
.admin-stat-flag.warn{color:var(--brass);}

.feature-toggle-list{display:flex; flex-direction:column; gap:1px; border:1px solid var(--rule); border-radius:var(--radius); overflow:hidden; background:var(--rule);}
.feature-toggle-row{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 18px; background:var(--paper);}
.feature-toggle-text{flex:1; min-width:0;}
.feature-toggle-label{font-weight:600; font-size:14.5px; margin-bottom:2px;}

.admin-link-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:14px;}
.admin-link-card{
  display:flex; align-items:flex-start; gap:12px; padding:16px; border:1px solid var(--rule); border-radius:var(--radius);
  background:var(--paper); text-decoration:none; color:var(--ink); box-shadow:var(--elev-card);
  transform:translateY(0); transition:transform .1s ease, box-shadow .1s ease, border-color .12s ease;
}
.admin-link-card:hover{transform:translateY(-2px); box-shadow:var(--elev-card-hover); border-color:var(--brass);}
.admin-link-card:active{transform:translateY(1px);}
.admin-link-ico{
  width:38px; height:38px; border-radius:10px; background:var(--paper-raised); color:var(--brass);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:var(--elev-well);
}
.admin-link-ico svg{width:19px; height:19px;}
.admin-link-title{font-weight:600; font-size:14.5px; margin-bottom:2px;}
.command-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised)}.command-card code{font-family:var(--font-mono);font-size:12.5px;overflow-wrap:anywhere;word-break:break-word;flex:1}@media(max-width:650px){.command-card{align-items:stretch;flex-direction:column}}

/* Sales intelligence, expandable game ledger rows, and live status lights */
.sales-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.sales-insight-card{padding:16px;border:1px solid var(--rule);border-top:4px solid var(--brass);border-radius:var(--radius-lg);background:var(--paper-raised);box-shadow:var(--elev-card)}.sales-insight-card.low{border-top-color:var(--debit)}.sales-insight-card.hot{border-top-color:var(--brass)}.sales-insight-card.comp{border-top-color:var(--credit)}.sales-insight-card .section-head{margin-bottom:10px}.sales-insight-card h2{font-size:16px}.insight-list{display:flex;flex-direction:column;gap:6px}.insight-list>a,.insight-list>div{display:flex;justify-content:space-between;gap:10px;padding:7px 9px;border-radius:8px;background:color-mix(in srgb,var(--paper) 70%,transparent);color:var(--ink);text-decoration:none;font-size:12px}.insight-list strong{white-space:nowrap;font-family:var(--font-mono);font-size:11px}.game-ledger-summary{cursor:pointer}.game-ledger-summary:hover td{background:color-mix(in srgb,var(--brass) 7%,var(--paper-raised))}.game-ledger-summary:focus{outline:2px solid var(--focus);outline-offset:-2px}.game-ledger-chevron{display:inline-block;font-size:19px;transition:transform .18s}.game-ledger-summary[aria-expanded="true"] .game-ledger-chevron{transform:rotate(180deg)}.game-ledger-detail td{padding:0!important;background:color-mix(in srgb,var(--ledger) 4%,var(--paper))}.game-ledger-transactions{padding:10px 18px 14px 44px}.game-ledger-transactions>div{display:grid;grid-template-columns:90px minmax(180px,1fr) 80px 100px auto;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--rule-soft);font-size:12px}.game-ledger-transactions>div:last-child{border-bottom:0}.game-ledger-mobile{margin-top:9px}.game-ledger-mobile summary{cursor:pointer;color:var(--brass);font-weight:700}.game-ledger-mobile>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--rule-soft)}
.presence-dot,.sync-status span,.settings-status:before{animation:statusColorBlink 1.2s ease-in-out infinite!important}@keyframes statusColorBlink{0%,100%{opacity:1;filter:saturate(1)}50%{opacity:.22;filter:saturate(1.5)}}@media(prefers-reduced-motion:reduce){.presence-dot,.sync-status span,.settings-status:before{animation:none!important}}@media(max-width:900px){.sales-insight-grid{grid-template-columns:1fr}.game-ledger-transactions>div{grid-template-columns:1fr auto}.game-ledger-transactions>div>:first-child,.game-ledger-transactions>div .chip{display:none}}
.game-ledger-summary td{background:color-mix(in srgb,var(--brass) 12%,var(--paper-raised));border-top-color:color-mix(in srgb,var(--brass) 55%,var(--rule));border-bottom-color:color-mix(in srgb,var(--brass) 55%,var(--rule))}.game-ledger-summary td:first-child{border-left:6px solid var(--brass)}.combined-game-chip{color:var(--brass-ink);background:var(--brass);border-color:color-mix(in srgb,var(--brass) 70%,#000);font-weight:800}.inventory-projection-report{border-top:4px solid var(--brass)}.projection-controls{margin:14px 0}.projection-buy{display:inline-flex;min-width:38px;justify-content:center;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--debit) 13%,transparent);color:var(--debit);font-weight:800}.projection-table tfoot th{border-top:2px solid var(--brass);font-size:13px}
.ledger-description-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-game-chip{display:inline-flex;max-width:100%;margin:5px 0 2px;white-space:normal;line-height:1.25}.game-ledger-summary td:nth-child(2){white-space:normal}.game-ledger-summary .ledger-description-title{white-space:normal;overflow:visible}.game-ledger-detail td{position:relative;z-index:1}.game-ledger-transactions{clear:both;max-width:100%;overflow:hidden}
.combined-game-card{border-left:6px solid var(--brass);background:color-mix(in srgb,var(--brass) 12%,var(--paper-raised))}
.report-selector{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--brass) 45%,var(--rule));border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--brass) 10%,var(--paper-raised)),var(--paper-raised));box-shadow:var(--elev-card)}.report-selector label,.report-selector span{display:block}.report-selector strong{font-size:17px}.report-selector select{width:min(100%,360px);font-weight:700}.selected-report-heading{display:flex;align-items:baseline;gap:8px;margin:0 0 18px 3px;color:var(--ink-soft);font-size:12px}.selected-report-heading strong{color:var(--ink);font-size:14px}.report-panel[hidden]{display:none!important}@media(max-width:650px){.report-selector{align-items:stretch;flex-direction:column}.report-selector select{width:100%}}@media print{.report-selector,.selected-report-heading{display:none!important}.report-panel[hidden]{display:none!important}}
.admin-backup-section{scroll-margin-top:20px;border-top:4px solid var(--brass)}.backup-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}.backup-admin-card{padding:18px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-raised);box-shadow:var(--elev-card)}.backup-admin-card.danger{border-color:color-mix(in srgb,var(--debit) 42%,var(--rule));background:color-mix(in srgb,var(--debit) 4%,var(--paper-raised))}.backup-admin-card h3{margin:0 0 6px}.backup-admin-card p{min-height:42px;margin:0 0 15px;color:var(--ink-soft);font-size:12.5px;line-height:1.5}@media(max-width:720px){.backup-admin-grid{grid-template-columns:1fr}.backup-admin-card p{min-height:0}}
.approval-modal[hidden]{display:none}.approval-modal{position:fixed;inset:0;z-index:11000;display:grid;place-items:center;padding:18px;background:rgba(5,15,30,.82);backdrop-filter:blur(4px)}.approval-modal-card{width:min(680px,100%);max-height:calc(100vh - 36px);overflow-y:auto;padding:22px;border:2px solid var(--brass);border-radius:var(--radius-lg);background:var(--paper);box-shadow:0 28px 85px rgba(0,0,0,.5)}.approval-list{display:flex;flex-direction:column;gap:14px;margin-top:16px}.approval-card{padding:16px;border:1px solid color-mix(in srgb,var(--debit) 38%,var(--rule));border-left:5px solid var(--debit);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--elev-card)}.approval-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.approval-card-head strong,.approval-card-head span{display:block}.approval-card-head strong{font-size:17px}.approval-card-head>div>span{margin-top:3px;color:var(--ink-soft);font-size:12px}.approval-card dl{display:grid;grid-template-columns:1fr 2fr;gap:8px 15px;margin:14px 0}.approval-card dl>div{min-width:0}.approval-card dt{color:var(--ink-soft);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.approval-card dd{margin:3px 0 0;overflow-wrap:anywhere;font-size:13px}.approval-credentials{margin-top:12px}@media(max-width:600px){.approval-card-head{flex-direction:column}.approval-card dl{grid-template-columns:1fr}.approval-modal{padding:8px}.approval-modal-card{max-height:calc(100vh - 16px);padding:16px}}
.approval-pin-field{max-width:320px;margin:12px 0}.approval-pin-field input{font-family:var(--font-mono);font-size:25px;font-weight:800;letter-spacing:.28em;text-align:center}
.tender-approval-wait{display:flex;flex-direction:column;gap:4px;padding:15px 16px;border:1px solid color-mix(in srgb,var(--brass) 55%,var(--rule));border-left:5px solid var(--brass);border-radius:var(--radius);background:color-mix(in srgb,var(--brass) 8%,var(--paper-raised));box-shadow:var(--elev-card)}.tender-approval-wait span{color:var(--ink-soft);font-size:12.5px;line-height:1.45}.approval-group-card{margin:15px 0 4px;padding:16px;border:2px solid color-mix(in srgb,var(--brass) 60%,var(--rule));border-radius:var(--radius-lg);background:color-mix(in srgb,var(--brass) 7%,var(--paper-raised));box-shadow:var(--elev-card)}.approval-group-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.approval-group-summary strong,.approval-group-summary span{display:block}.approval-group-summary span{color:var(--ink-soft);font-size:12px;text-align:right}.approval-divider{display:flex;align-items:center;gap:10px;color:var(--ink-soft);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.approval-divider:before,.approval-divider:after{height:1px;flex:1;content:'';background:var(--rule)}@media(max-width:520px){.approval-group-summary{flex-direction:column}.approval-group-summary span{text-align:left}.approval-group-card .modal-actions button{flex:1}}
.topbar-logout-form{margin:0}.topbar-logout{display:inline-flex;align-items:center;gap:6px;color:var(--debit);border-color:color-mix(in srgb,var(--debit) 35%,var(--rule))}.topbar-logout svg{width:16px;height:16px;flex:0 0 auto}.topbar-logout:hover{color:#fff;background:var(--debit);border-color:var(--debit)}@media(max-width:760px){.topbar-logout-form{flex:1}.topbar-logout{width:100%;justify-content:center}}

/* High-visibility cash change callouts */
.cash-change{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:112px;margin:16px 0;padding:15px 20px;text-align:center;color:var(--ink);border:2px solid color-mix(in srgb,var(--brass) 55%,var(--rule));border-radius:var(--radius-lg);background:linear-gradient(145deg,color-mix(in srgb,var(--brass) 13%,var(--paper-raised)),var(--paper-raised));box-shadow:inset 0 1px 0 var(--highlight),0 10px 24px color-mix(in srgb,var(--brass) 14%,transparent);transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}.cash-change>span{font-size:13px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.cash-change strong{display:block;color:var(--brass);font-size:clamp(44px,10vw,66px);font-weight:900;line-height:1;letter-spacing:-.055em;text-shadow:0 2px 0 color-mix(in srgb,var(--paper) 45%,transparent)}.cash-change.is-ready{color:#fff;border-color:color-mix(in srgb,var(--credit) 75%,#fff);background:linear-gradient(145deg,color-mix(in srgb,var(--credit) 88%,#153525),var(--credit));box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 14px 32px color-mix(in srgb,var(--credit) 38%,transparent);transform:scale(1.02)}.cash-change.is-ready strong{color:#fff;text-shadow:0 3px 0 rgba(0,0,0,.2)}
.flash.change-due{position:relative;padding:23px 26px;text-align:center;color:#fff;border:3px solid color-mix(in srgb,var(--credit) 68%,#fff);border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--credit) 86%,#153525),var(--credit));box-shadow:inset 0 1px 0 rgba(255,255,255,.38),0 16px 36px color-mix(in srgb,var(--credit) 40%,transparent);font-family:var(--font-head);font-size:clamp(30px,6vw,54px);font-weight:900;line-height:1.05;letter-spacing:-.035em;animation:changeDueCelebrate .48s cubic-bezier(.2,1.5,.45,1) both}.flash.change-due:before{display:block;margin-bottom:7px;content:'SALE COMPLETE';font-family:var(--font-body);font-size:12px;font-weight:900;letter-spacing:.18em}.flash.change-due:after{position:absolute;inset:7px;pointer-events:none;content:'';border:1px solid rgba(255,255,255,.28);border-radius:calc(var(--radius-lg) - 5px)}
@keyframes changeDueCelebrate{0%{opacity:0;transform:scale(.86) translateY(-10px)}70%{transform:scale(1.025) translateY(0)}100%{opacity:1;transform:scale(1)}}
@media(max-width:520px){.cash-modal{padding:8px}.cash-modal-card{width:100%;max-height:calc(100dvh - 16px);padding:14px}.cash-modal-head{margin-bottom:10px}.cash-modal-head h2{font-size:clamp(24px,8vw,30px)}.cash-display{font-size:clamp(22px,8vw,28px)}.cash-change{min-height:clamp(78px,25vw,100px);margin:10px 0;padding:10px 12px}.cash-change>span{font-size:11px}.cash-change strong{font-size:clamp(38px,15vw,52px)}.cash-keypad{gap:7px}.cash-key{min-height:clamp(46px,14vw,58px)}.flash.change-due{width:100%;padding:clamp(17px,5vw,20px) 12px;font-size:clamp(28px,10vw,40px);overflow-wrap:anywhere}}
@media(max-width:350px){.cash-modal{padding:4px}.cash-modal-card{max-height:calc(100dvh - 8px);padding:10px}.cash-change{min-height:72px}.cash-change strong{font-size:38px}.cash-key{min-height:44px;font-size:18px}.cash-quick-row{margin:7px 0}.cash-modal-card #completeCashBtn{min-height:46px}.flash.change-due{font-size:27px}}
@media(max-height:700px) and (orientation:landscape){.cash-modal{place-items:start center;padding:6px;overflow-y:auto}.cash-modal-card{width:min(720px,100%);max-height:none;padding:12px}.cash-modal-head{margin-bottom:7px}.cash-modal-head h2{font-size:24px}.cash-display{margin:4px 0;font-size:22px}.cash-change{min-height:64px;margin:7px 0;padding:7px 12px}.cash-change>span{font-size:10px}.cash-change strong{font-size:clamp(34px,8vh,46px)}.cash-keypad{grid-template-columns:repeat(4,1fr);gap:6px}.cash-key{min-height:40px;font-size:18px}.cash-quick-row{margin:6px 0}.cash-modal-card #completeCashBtn{min-height:44px}.flash.change-due{padding:14px 18px;font-size:clamp(27px,8vh,42px)}}
@supports not (height:100dvh){@media(max-width:520px){.cash-modal-card{max-height:calc(100vh - 16px)}}@media(max-width:350px){.cash-modal-card{max-height:calc(100vh - 8px)}}}
@media(prefers-reduced-motion:reduce){.flash.change-due{animation:none}.cash-change{transition:none}}

/* Ledger audit trail */
.audit-page-head{align-items:flex-start}.audit-page-head p{max-width:760px;margin:5px 0 0}.audit-timeline{display:flex;flex-direction:column;gap:12px}.audit-card{padding:16px 18px;border:1px solid var(--rule);border-left:5px solid var(--brass);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--elev-card)}.audit-card-head,.audit-card-head>div,.audit-meta{display:flex;align-items:center;gap:10px}.audit-card-head{justify-content:space-between}.audit-card-head time{color:var(--ink-soft);font-family:var(--font-mono);font-size:11px}.audit-meta{flex-wrap:wrap;margin:10px 0;color:var(--ink-soft);font-size:12px}.audit-meta span{padding-right:12px;border-right:1px solid var(--rule)}.audit-meta span:last-child{border:0}.audit-card details{margin-top:10px}.audit-card summary{cursor:pointer;color:var(--brass);font-weight:800}.audit-changes{margin-top:10px;border-top:1px solid var(--rule)}.audit-changes>div{display:grid;grid-template-columns:150px minmax(0,1fr) 22px minmax(0,1fr);gap:9px;padding:8px 0;border-bottom:1px solid var(--rule-soft);font-size:12px}.audit-changes span{overflow-wrap:anywhere}.chip.audit-created{background:color-mix(in srgb,var(--credit) 15%,transparent);color:var(--credit)}.chip.audit-updated{background:color-mix(in srgb,var(--brass) 16%,transparent);color:var(--brass)}.chip.audit-deleted,.chip.audit-voided{background:color-mix(in srgb,var(--debit) 15%,transparent);color:var(--debit)}@media(max-width:700px){.audit-card-head{align-items:flex-start;flex-direction:column}.audit-changes>div{grid-template-columns:1fr}.audit-changes>div>b{transform:rotate(90deg)}}
.pin-availability{min-height:20px;margin-top:6px;font-size:12px;font-weight:800}.pin-availability.is-used{color:var(--debit)}.pin-availability.is-available{color:var(--credit)}
.user-management-wrap{overflow-x:auto}.user-management-table{width:max-content;min-width:100%;table-layout:auto}.user-management-table th,.user-management-table td{white-space:nowrap;vertical-align:middle}.user-management-table .permission-list{min-width:0;flex-wrap:nowrap}.user-management-table .row-actions{flex-wrap:nowrap}.user-management-table td:nth-child(3){max-width:none}.recount-reason{margin:18px 0;padding:16px;border:2px solid color-mix(in srgb,var(--brass) 45%,var(--rule));border-radius:var(--radius);background:color-mix(in srgb,var(--brass) 6%,var(--paper-raised))}.recount-reason textarea{min-height:100px}

/* Stable header: the center column never depends on the width of page actions. */
@media(min-width:901px){.topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.topbar>h1{grid-column:1;justify-self:start}.topbar-register-button{grid-column:2;justify-self:center}.topbar-actions{grid-column:3;justify-self:end;max-width:100%}}
@media(max-width:900px){.topbar{display:flex;align-items:flex-start}.topbar-register-button{order:2;width:100%;min-width:0}.topbar-actions{order:3;width:100%;justify-content:flex-start}}

/* Dashboard command center */
.dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:22px 24px;border:1px solid color-mix(in srgb,var(--ledger) 38%,var(--rule));border-radius:var(--radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--ledger) 96%,#fff),color-mix(in srgb,var(--ledger) 74%,var(--brass)));color:var(--ledger-ink);box-shadow:0 4px 0 color-mix(in srgb,var(--ledger) 70%,#000),0 16px 34px -18px color-mix(in srgb,var(--ledger) 75%,transparent)}
.dashboard-hero h2{margin-top:3px;font-size:clamp(23px,2.3vw,32px)}.dashboard-hero p{margin:5px 0 0;color:color-mix(in srgb,var(--ledger-ink) 72%,transparent);font-size:13px}.dashboard-hero .dashboard-eyebrow{color:color-mix(in srgb,var(--ledger-ink) 68%,transparent)}.dashboard-quick-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:9px}.dashboard-quick-actions .btn:not(.btn-primary){border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:var(--ledger-ink);box-shadow:inset 0 1px rgba(255,255,255,.16),0 3px 0 rgba(0,0,0,.22)}
.dashboard-eyebrow{display:block;color:var(--ink-soft);font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.dashboard-metric{position:relative;display:flex;min-width:0;flex-direction:column;padding:17px 18px;overflow:hidden;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-raised);color:var(--ink);text-decoration:none;box-shadow:var(--elev-card);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.dashboard-metric:before{position:absolute;top:0;right:0;left:0;height:4px;content:'';background:var(--brass)}.dashboard-metric.income:before{background:var(--credit)}.dashboard-metric.expense:before{background:var(--debit)}.dashboard-metric.inventory:before{background:var(--ledger)}.dashboard-metric:hover{transform:translateY(-2px);border-color:var(--brass);box-shadow:var(--elev-card-hover)}.dashboard-metric>span{color:var(--ink-soft);font-size:11px;font-weight:800;letter-spacing:.055em;text-transform:uppercase}.dashboard-metric strong{margin-top:7px;overflow:hidden;text-overflow:ellipsis;font-size:clamp(20px,2.2vw,27px);white-space:nowrap}.dashboard-metric small{margin-top:5px;color:var(--ink-soft);font-size:11px}
.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);align-items:start;gap:18px}.dashboard-main-column,.dashboard-side-column{display:flex;min-width:0;flex-direction:column;gap:18px}.dashboard-panel{min-width:0;padding:18px;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--paper-raised);box-shadow:var(--elev-card)}.dashboard-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.dashboard-panel-head h2{margin-top:2px;font-size:19px}.dashboard-games-panel{border-top:5px solid var(--brass)}.dashboard-count-badge{display:grid;min-width:32px;height:32px;place-items:center;border-radius:999px;background:color-mix(in srgb,var(--debit) 12%,var(--paper));color:var(--debit);font:800 13px var(--font-mono)}.dashboard-count-badge.online{background:color-mix(in srgb,var(--credit) 12%,var(--paper));color:var(--credit)}
.dashboard-game-list,.dashboard-activity-list,.dashboard-ranked-list,.dashboard-presence-list{display:flex;flex-direction:column}.dashboard-game-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto 14px;align-items:center;gap:12px;padding:12px 6px;border-top:1px solid var(--rule-soft);color:var(--ink);text-decoration:none}.dashboard-game-row:first-child{border-top:0}.dashboard-game-row:hover,.dashboard-activity-row:hover,.dashboard-ranked-list>a:hover{background:color-mix(in srgb,var(--brass) 5%,var(--paper));}.dashboard-game-date{display:grid;width:46px;height:48px;place-items:center;align-content:center;border:1px solid var(--rule);border-radius:10px;background:var(--paper);line-height:1}.dashboard-game-date b{color:var(--brass);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.dashboard-game-date strong{margin-top:3px;font:800 18px var(--font-mono)}.dashboard-game-copy,.dashboard-game-copy strong,.dashboard-game-copy small,.dashboard-activity-row>span:nth-child(2),.dashboard-activity-row>span:nth-child(2)>*{display:block;min-width:0}.dashboard-game-copy strong,.dashboard-activity-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-game-copy small,.dashboard-activity-row small{margin-top:3px;color:var(--ink-soft);font-size:11px}.dashboard-row-arrow{color:var(--ink-soft);font-size:22px}.dashboard-good-state{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid color-mix(in srgb,var(--credit) 30%,var(--rule));border-radius:var(--radius);background:color-mix(in srgb,var(--credit) 5%,var(--paper))}.dashboard-good-state>span{display:grid;width:38px;height:38px;place-items:center;border-radius:999px;background:var(--credit);color:#fff;font-weight:900}.dashboard-good-state p{margin:3px 0 0;color:var(--ink-soft);font-size:12px}
.dashboard-activity-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 7px;border-top:1px solid var(--rule-soft);color:var(--ink);text-decoration:none}.dashboard-activity-row:first-child{border-top:0}.dashboard-activity-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;font-size:17px;font-weight:900}.dashboard-activity-icon.credit{background:color-mix(in srgb,var(--credit) 12%,var(--paper));color:var(--credit)}.dashboard-activity-icon.debit{background:color-mix(in srgb,var(--debit) 12%,var(--paper));color:var(--debit)}.dashboard-activity-row>b{font-size:12px;white-space:nowrap}
.dashboard-ranked-list>a{display:flex;align-items:center;gap:9px;padding:9px 5px;border-top:1px solid var(--rule-soft);color:var(--ink);text-decoration:none}.dashboard-ranked-list>a:first-child{border-top:0}.dashboard-ranked-list i{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border-radius:7px;background:var(--rule-soft);color:var(--ink-soft);font:800 10px var(--font-mono);font-style:normal}.dashboard-ranked-list a>span{min-width:0;flex:1}.dashboard-ranked-list strong,.dashboard-ranked-list small{display:block}.dashboard-ranked-list strong{overflow:hidden;text-overflow:ellipsis;font-size:13px;white-space:nowrap}.dashboard-ranked-list small{margin-top:2px;color:var(--ink-soft);font-size:10px}.dashboard-ranked-list a>b{font-size:11px;white-space:nowrap}.dashboard-panel-link{display:block;margin-top:12px;padding-top:10px;border-top:1px solid var(--rule);color:var(--brass);font-size:11px;font-weight:800;text-decoration:none}.dashboard-mini-empty{padding:12px 0;color:var(--ink-soft);font-size:12px;line-height:1.45}
.dashboard-last-game{display:block;color:var(--ink);text-decoration:none}.dashboard-last-game>strong,.dashboard-last-game>small{display:block}.dashboard-last-game>small{margin-top:3px;color:var(--ink-soft);font-size:11px}.dashboard-last-game>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}.dashboard-last-game>div span{padding:8px;border:1px solid var(--rule-soft);border-radius:8px;background:var(--paper);color:var(--ink-soft);font-size:9px;text-transform:uppercase}.dashboard-last-game>div b{display:block;margin-top:3px;font-size:11px}.dashboard-presence-list>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 3px;border-top:1px solid var(--rule-soft)}.dashboard-presence-list>div:first-child{border-top:0}.dashboard-presence-list strong,.dashboard-presence-list small{display:block}.dashboard-presence-list strong{font-size:12px}.dashboard-presence-list small,.dashboard-presence-list time{color:var(--ink-soft);font-size:9px}.dashboard-system-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-raised);box-shadow:var(--elev-card)}.dashboard-system-strip small,.dashboard-system-strip strong{display:block}.dashboard-system-strip small{color:var(--ink-soft);font-size:9px;text-transform:uppercase}.dashboard-system-strip strong{margin-top:2px}.manifest-link-form{margin-top:15px}.manifest-link-form .field{margin-bottom:10px}.manifest-feed-result{margin-top:18px;padding-top:16px;border-top:1px solid var(--rule)}
@media(max-width:1180px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-layout{grid-template-columns:1fr}.dashboard-side-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.dashboard-system-strip{grid-column:1/-1}}
@media(max-width:760px){.dashboard-hero{align-items:stretch;flex-direction:column;padding:18px}.dashboard-quick-actions{justify-content:stretch}.dashboard-quick-actions .btn{flex:1}.dashboard-metrics{grid-template-columns:1fr 1fr}.dashboard-side-column{display:flex}.dashboard-game-row{grid-template-columns:42px minmax(0,1fr) 14px}.dashboard-game-row>.chip{grid-column:2;justify-self:start}.dashboard-game-date{width:40px;height:44px}.dashboard-activity-row{grid-template-columns:34px minmax(0,1fr)}.dashboard-activity-row>b{grid-column:2}.dashboard-panel{padding:15px}}
@media(max-width:460px){.dashboard-metrics{grid-template-columns:1fr}.dashboard-quick-actions{flex-direction:column}.dashboard-quick-actions .btn{width:100%}.dashboard-panel-head{align-items:flex-start}.dashboard-last-game>div{grid-template-columns:1fr}.dashboard-presence-list>div{grid-template-columns:10px minmax(0,1fr)}.dashboard-presence-list time{grid-column:2}}
