/* HASH customer platform. Shared operations and TV keep their own layouts. */
body.customer-only {--mint:var(--brand-primary);--lime:var(--brand-primary);--text:#eef8f1;--muted:#a8bdb0;--panel:#14241b;--line:#2c4335;background:#080f0c;color:var(--text);color-scheme:dark}
.customer-only .phone-shell{max-width:680px;width:100%;background:#080f0c}.customer-only .app-screen{padding:22px 20px 110px;overflow-x:clip}.customer-only .bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr));background:#0d1912ee;padding-bottom:max(12px,env(safe-area-inset-bottom));backdrop-filter:blur(16px)}.customer-only .bottom-nav button{font-size:.875rem;min-height:54px}.customer-only .bottom-nav svg{width:23px;height:23px;margin:auto auto 5px;display:block}.customer-only .bottom-nav .active{color:var(--brand-primary)}.customer-only input,.customer-only select,.customer-only textarea{font-size:1rem;color:var(--text);background:#14241b;border:1px solid var(--line);border-radius:12px;padding:12px;max-width:100%}.customer-only input[type=checkbox]{width:auto}.customer-only h2{font-size:1.35rem;letter-spacing:-.04em}.customer-only h3{font-size:1.1rem}.p-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:2px 0 24px}.p-head strong{font-size:1.7rem;font-weight:900;letter-spacing:-.06em}.p-head button,.p-link{border:0;background:transparent;color:var(--brand-primary);padding:8px;font-size:.875rem}.p-head button{min-width:44px;min-height:44px}.p-section{margin:28px 0 14px;display:flex;justify-content:space-between;align-items:center;gap:8px}.p-section h2{margin:0}.p-profile{display:flex;align-items:center;gap:14px;margin:20px 0}.p-profile h2{margin:4px 0}.p-avatar{position:relative;overflow:hidden;flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#21412d;color:#b1f9bf;font-weight:800}.p-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.p-muted{color:var(--muted);font-size:.875rem;line-height:1.65}.p-assets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:var(--panel);border-radius:18px;overflow:hidden}.p-assets button{border:0;border-right:1px solid var(--line);background:none;color:var(--text);padding:20px 5px;font-size:.875rem}.p-assets button:last-child{border:0}.p-assets b{display:block;font-size:1.2rem;margin-bottom:8px;overflow-wrap:anywhere}.p-card{display:block;border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:18px;margin:12px 0;color:var(--text);width:100%;text-align:left;overflow-wrap:anywhere}.p-card h3{line-height:1.5;margin:10px 0}.p-card p{color:var(--muted);font-size:.875rem;line-height:1.7}.p-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.p-pill{font-size:.8125rem;border-radius:7px;padding:5px 8px;background:#283a2e;color:#c5dace}.p-pill.live{background:#193d27;color:var(--brand-primary)}.p-tags{display:flex;gap:6px;flex-wrap:wrap}.p-tags .asura{background:#38305c;color:#cab0ff}.p-tags .satellite{background:#3e3420;color:#f1d69d}.p-primary{border:0;border-radius:12px;padding:14px 18px;background:var(--brand-primary);color:var(--brand-ink);font-weight:700;font-size:1rem;min-height:48px}.p-primary:disabled{background:#263b2e;color:#91aa99;cursor:default}.p-wide{width:100%}.p-empty{padding:25px 14px;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted);line-height:1.8}.p-tabs{display:flex;gap:6px;padding:5px;background:#14241b;border-radius:13px;margin:14px 0}.p-tabs button{border:0;border-radius:9px;background:none;color:var(--muted);flex:1;min-height:44px;font-size:.875rem;padding:8px}.p-tabs button[aria-selected=true]{background:var(--brand-primary);color:var(--brand-ink)}.p-search{display:flex;gap:8px;margin:14px 0}.p-search input{width:100%;min-width:0}.p-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.p-filters label{font-size:.875rem;color:var(--muted);min-width:0}.p-filters select,.p-filters input{display:block;width:100%;margin-top:6px;min-width:0}.p-reset{margin:10px 0;color:var(--brand-primary);background:none;border:0;padding:8px}.p-game-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:16px;color:#b9cfc0;font-size:.875rem}.p-rankrow{display:flex;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid var(--line);font-size:1rem}.p-rankrow>b:first-child{min-width:25px}.p-rankrow .p-avatar{width:38px;height:38px}.p-rankrow strong{flex:1;min-width:0;overflow-wrap:anywhere}.p-myrank{position:sticky;bottom:0;background:#215735;padding:15px;border-radius:14px;z-index:3;margin-top:18px;box-shadow:0 6px 25px #0004}.p-myrank small{display:block}.p-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end;margin:24px 0}.p-podium>div{text-align:center;padding:15px 4px;background:linear-gradient(0deg,#1a3423,transparent);border-radius:14px;overflow-wrap:anywhere}.p-podium .p-avatar{margin:8px auto;width:56px;height:56px}.p-podium .first{padding-top:30px;border-bottom:3px solid #f3cc74}.p-podium strong{display:block;margin:8px 0}.p-podium small{color:var(--muted)}.p-store-image{width:100%;height:150px;object-fit:cover;border-radius:10px;margin-bottom:12px}.p-store-placeholder{background:#21412d;border-radius:12px;padding:34px 18px;font-size:1.4rem;font-weight:800;margin-bottom:12px}.p-menu{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:14px 0}.p-menu button{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:17px;display:flex;justify-content:space-between;align-items:center;text-align:left;font-size:1rem;gap:10px}.p-menu button:last-child{border:0}.p-bingo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0}.p-bingo-cell{min-height:108px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:var(--muted);font-size:.875rem;line-height:1.6;overflow-wrap:anywhere}.p-bingo-cell.achieved{color:#d8fce1;background:#1b4b2a;border-color:var(--brand-primary)}.p-bingo-cell small{margin-bottom:6px}.p-bingo-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}.p-bingo-summary b{display:block;font-size:1.5rem;margin-bottom:7px}.p-rewards{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.p-rewards div{padding:12px 4px;text-align:center;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:.875rem}.p-rewards .achieved{background:#1b4b2a;color:#d8fce1}.p-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.p-detail-grid dt{font-size:.875rem;color:var(--muted);margin-bottom:5px}.p-detail-grid dd{margin:0;font-weight:700}.p-table-scroll{overflow:auto}.p-table-scroll table{width:100%;border-collapse:collapse;font-size:.875rem}.p-table-scroll td,.p-table-scroll th{padding:10px 6px;border-bottom:1px solid var(--line);white-space:nowrap;text-align:right}.p-sticky-action{position:sticky;bottom:0;background:#080f0cef;padding:14px 0;z-index:2}.p-notice{white-space:pre-line}.p-status{color:#e9c87f;font-size:.875rem;line-height:1.6;margin:12px 0}.customer-only .modal-card{background:#122219;color:var(--text);max-height:90dvh;overflow:auto}.customer-only .settings-list button{font-size:1rem}.bingo-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:760px}.bingo-admin-grid button{min-height:110px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);padding:14px;line-height:1.6}.bingo-admin-grid button.selected{border:2px solid var(--mint)}.bingo-admin-grid button small{display:block;color:var(--muted);margin-top:10px}.bingo-member-results{display:grid;gap:8px;max-height:340px;overflow:auto}.bingo-member-results button{padding:14px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text)}.bingo-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bingo-form-grid input{width:100%}.bingo-admin-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.bingo-admin-toolbar select{min-width:220px;max-width:100%}.bingo-member-results small{display:block;color:var(--muted);margin-top:5px}.customer-only button:focus-visible,.customer-only a:focus-visible{outline:2px solid #b1f9bf;outline-offset:3px}@media(max-width:380px){.customer-only .app-screen{padding-left:12px;padding-right:12px}.p-card{padding:14px}.p-bingo-cell{font-size:.8125rem}.p-assets b{font-size:1rem}}@media(max-width:650px){.bingo-form-grid{grid-template-columns:1fr}.bingo-admin-grid{gap:6px}.bingo-admin-grid button{padding:7px;font-size:.875rem}}@media(prefers-reduced-motion:reduce){.customer-only *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.customer-only .bottom-nav{height:calc(72px + env(safe-area-inset-bottom));padding-top:6px;padding-bottom:env(safe-area-inset-bottom)}.customer-only .app-screen{height:calc(100% - 72px - env(safe-area-inset-bottom));padding-bottom:28px}.customer-only .phone-shell{height:100dvh;max-height:100dvh}.customer-only .phone-status{display:none}.customer-only .bottom-nav button{min-height:60px}.customer-only .bottom-nav svg{margin:0 0 4px}

.bingo-store-field{display:flex;align-items:center;gap:10px;font-weight:700}.bingo-store-label{padding:10px 0;color:var(--text)}@media(max-width:650px){.bingo-store-field{display:block;width:100%}.bingo-store-field select{display:block;width:100%;margin-top:8px}.bingo-admin-toolbar>select{width:100%}}

.p-store-address{display:flex;align-items:center;gap:10px;margin:12px 0}.p-store-address .p-muted{flex:1;min-width:0;margin:0;overflow-wrap:anywhere}.p-address-copy{flex:none;min-height:40px;padding:8px 11px;border:1px solid #597a63;border-radius:9px;background:#1c3325;color:#dcf7e4;font:600 .875rem system-ui,sans-serif;white-space:nowrap;cursor:pointer}.p-address-copy:active{background:#294b34}

.toolbar .search-row{flex-wrap:wrap}.toolbar .search-row input{flex:1 1 180px;min-width:0}

/* Large customer touch controls, including the guide/range legacy headers. */
.customer-only [data-p-back],
.customer-only .back-button[data-back],
.customer-only [data-p-favorite]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 52px;width:52px;height:52px;min-width:52px;min-height:52px;padding:0;border-radius:12px;line-height:1;touch-action:manipulation;cursor:pointer}
.customer-only [data-p-back],
.customer-only .back-button[data-back]{font-size:44px;font-weight:600}
.customer-only [data-p-favorite]{font-size:36px}
.customer-only [data-p-back]:active,
.customer-only .back-button[data-back]:active,
.customer-only [data-p-favorite]:active{background:#21412d}
