/* Shared workflow system: public dialogs and every admin section. */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[hidden] { display: none !important; }
body.ui-task-open { overflow: hidden; }
.ui-field-label { display: block; font-size: 12px; font-weight: 600; color: #555; margin-bottom: 4px; }
.ui-empty { padding: 20px 12px; text-align: center; color: #706b70; font-size: 13px; line-height: 1.6; }
.ui-feedback { position: fixed; bottom: calc(80px + env(safe-area-inset-bottom)); left: 50%; transform: translateX(-50%); z-index: 200000; width: min(440px, calc(100% - 32px)); background: #28262a; color: #fff; display: flex; align-items: center; gap: 12px; border-radius: 12px; padding: 10px 12px 10px 16px; box-shadow: 0 6px 24px #0002; font-size: 13px; line-height: 1.5; white-space: pre-line; }
.ui-feedback button { flex-shrink: 0; margin-left: auto; min-width: 44px; min-height: 44px; border: 0; color: inherit; background: transparent; cursor: pointer; font-size: 22px; }
.ui-feedback.is-error { background: var(--ui-red); }
.ui-inline-error { padding: 12px; margin: 0 0 12px; border-radius: 10px; background: var(--ui-soft); border: 1px solid #f7bec2; color: #a81e34; font-size: 13px; line-height: 1.5; }
.chart-directory-row { border: 1px solid #eaeaea; border-radius: 12px; padding: 14px; background: #fff; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.chart-directory-row > strong { min-width: 0; font-size: 12px; color: #333; line-height: 1.5; overflow-wrap: anywhere; }
.chart-directory-actions { display: flex; gap: 6px; flex-shrink: 0; }
.chart-directory-actions button { min-width: 52px; min-height: 44px; padding: 8px; border: 1px solid #f7bec2; background: var(--ui-soft); color: var(--ui-red); border-radius: 8px; cursor: pointer; font-size: 12px; font-weight: 600; }
.chart-directory-actions button:disabled { background: #f6f6f6; border-color: #eee; color: #777; cursor: not-allowed; opacity: 1; }
#chartDirectorySearch { margin: 0 0 14px; }
.ui-announcement { padding: 12px 0; border-bottom: 1px solid #eee; }
.ui-announcement h3 { margin: 0 0 6px; font-size: 14px; color: #333; }
.ui-announcement time { color: #777; font-size: 11px; }
.ui-announcement p { color: #555; font-size: 13px; line-height: 1.6; margin: 8px 0 0; white-space: pre-line; }
/* Game chooser: one scroll area, with the controls outside it. */
.market-games-modal-container {
    max-width: 640px !important; max-height: calc(100dvh - 40px) !important;
    display: flex !important; flex-direction: column !important; overflow: hidden !important;
    padding: 20px !important; background: #fff !important; border-radius: 16px !important;
    box-sizing: border-box !important;
}
#marketGamesModalOverlay .modal-header { flex-shrink: 0; position: static; margin: 0 !important; padding-bottom: 8px !important; border-bottom: 1px solid #eee; }
.game-picker-label { margin: 0; color: #686868; font-size: 12px; font-weight: 600; flex-shrink: 0; }
#marketGamesModalOverlay .game-category-tabs {
    display: grid !important; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 5px !important; flex-shrink: 0;
    overflow: visible !important; padding: 0 !important; margin: 0 !important;
    position: static; background: #fff;
}
#marketGamesModalOverlay .game-cat-tab {
    display: inline-flex; align-items: center; justify-content: center; min-height: 44px !important;
    min-width: 0; padding: 6px 4px !important; border: 1px solid #e8e8e6 !important; border-radius: 8px !important;
    background: #fafafa !important; color: #555 !important; font-size: 12px; font-weight: 600;
    box-shadow: none !important; transform: none !important; white-space: nowrap; cursor: pointer;
}
#marketGamesModalOverlay .game-cat-tab.active { color: #ad2330 !important; background: #fff1f2 !important; border-color: #e9bfc5 !important; }
#marketGamesModalOverlay .games-grid-cards {
    display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    align-content: start; grid-auto-rows: max-content; gap: 8px !important;
    flex: 1 1 auto; min-height: 0; overflow-y: auto !important; overscroll-behavior: contain;
    padding: 3px !important; margin: 0 !important;
}
#marketGamesModalOverlay .market-game-card {
    display: flex !important; flex-direction: row !important; align-items: center !important;
    justify-content: flex-start !important; gap: 8px !important; min-width: 0; min-height: 64px !important;
    padding: 10px !important; border: 1px solid #e8e8e6 !important; border-radius: 10px !important;
    background: #fff !important; box-shadow: none !important; transform: none !important;
    color: #2d2d2d; text-align: left; font: inherit; cursor: pointer;
}
#marketGamesModalOverlay .game-card-icon-circle {
    display: inline-flex !important; align-items: center; justify-content: center;
    flex: 0 0 30px; width: 30px !important; height: 30px !important; border-radius: 8px !important;
    background: #ad2330 !important; box-shadow: none !important; margin: 0 !important; transform: none !important;
}
#marketGamesModalOverlay .game-card-icon-circle svg { width: 23px; height: 23px; }
#marketGamesModalOverlay .game-card-name { font-size: 13px !important; font-weight: 600; line-height: 1.4; overflow-wrap: anywhere; margin: 0; }
#marketGamesModalOverlay .market-games-bottom-wrapper { flex-shrink: 0; padding: 8px 0 0; border-top: 1px solid #eee; margin: 0; background: #fff; }
#marketGamesModalOverlay .bid-back-secondary-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 44px;
    padding: 10px 16px; background: #fafafa !important; border: 1px solid #e8e8e6;
    border-radius: 8px; color: #444 !important; font-size: 13px; font-weight: 600; box-shadow: none !important;
}
#marketGamesModalOverlay .btn-arrow-icon { background: transparent; box-shadow: none; width: auto; height: auto; }
#marketGamesModalOverlay .btn-arrow-icon i { color: #555 !important; }
#marketGamesModalOverlay button:focus-visible { outline: 3px solid #cb202d; outline-offset: 2px; }
@media (hover: hover) { #marketGamesModalOverlay .market-game-card:hover { border-color: #cb202d !important; background: #fffafa !important; } }

/* Enhanced Bidding Screen Modal Layout & Controls */
.bidding-modal-container {
    max-width: 560px !important;
    max-height: 92vh !important;
    max-height: 92dvh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    padding: 18px 16px 14px 16px !important;
    background: #FFFFFF !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
}

.bidding-modal-container .modal-header {
    flex-shrink: 0 !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #F1F5F9 !important;
    position: static !important;
}

.bidding-session-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
}

.bidding-session-badge.open {
    background: #ECFDF5 !important;
    color: #059669 !important;
    border: 1px solid #A7F3D0 !important;
}

.bidding-session-badge.close {
    background: #FEF3C7 !important;
    color: #B45309 !important;
    border: 1px solid #FCD34D !important;
}

.bidding-session-badge.locked {
    background: #FEE2E2 !important;
    color: #DC2626 !important;
    border: 1px solid #FCA5A5 !important;
}

.bidding-scroll-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 12px 2px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.bidding-date-strip {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #F8FAFC !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 10px !important;
    padding: 8px 12px !important;
}

.date-strip-lbl {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #475569 !important;
}

.date-strip-lbl i {
    color: #CB202D !important;
}

.bidding-date-input {
    border: 1px solid #CBD5E1 !important;
    background: #FFFFFF !important;
    border-radius: 8px !important;
    padding: 6px 10px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #0F172A !important;
    outline: none !important;
    cursor: pointer !important;
}

.bidding-date-input:focus {
    border-color: #CB202D !important;
    box-shadow: 0 0 0 2px rgba(203, 32, 45, 0.12) !important;
}

.bidding-rule-alert {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.bidding-rule-alert i {
    flex-shrink: 0 !important;
    font-size: 14px !important;
    margin-top: 1px !important;
}

.bidding-rule-alert.success {
    background: #ECFDF5 !important;
    border: 1px solid #A7F3D0 !important;
    color: #065F46 !important;
}

.bidding-rule-alert.warning {
    background: #FFFBEB !important;
    border: 1px solid #FDE68A !important;
    color: #92400E !important;
}

.bidding-rule-alert.danger {
    background: #FEF2F2 !important;
    border: 1px solid #FECACA !important;
    color: #991B1B !important;
}

/* Quick Points Chips with Min ₹2 and Clear */
.quick-points-chips {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    margin-top: 8px !important;
}

.points-chip {
    padding: 6px 12px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    background: #F1F5F9 !important;
    border: 1px solid #CBD5E1 !important;
    color: #334155 !important;
    cursor: pointer !important;
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    transition: all 0.15s ease !important;
}

.points-chip:hover {
    background: #E2E8F0 !important;
    border-color: #94A3B8 !important;
    color: #0F172A !important;
}

.points-chip:active {
    transform: scale(0.96) !important;
}

.points-chip.min-chip,
.points-chip.preset-min-chip {
    background: #EFF6FF !important;
    border-color: #BFDBFE !important;
    color: #1D4ED8 !important;
    font-weight: 800 !important;
}

.points-chip.min-chip:hover,
.points-chip.preset-min-chip:hover {
    background: #DBEAFE !important;
    border-color: #93C5FD !important;
}

.points-chip.clear-chip {
    background: #FEF2F2 !important;
    border-color: #FECACA !important;
    color: #DC2626 !important;
    margin-left: auto !important;
}

.points-chip.clear-chip:hover {
    background: #FEE2E2 !important;
}

.bulk-pill-input-box {
    display: flex !important;
    align-items: center !important;
    background: #FFFFFF !important;
    border: 1.5px solid #CBD5E1 !important;
    border-radius: 12px !important;
    padding: 8px 14px !important;
    transition: all 0.15s ease !important;
}

.bulk-pill-input-box:focus-within {
    border-color: #CB202D !important;
    box-shadow: 0 0 0 3px rgba(203, 32, 45, 0.12) !important;
}

.bulk-pill-input-box .currency-symbol {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #64748B !important;
    margin-right: 6px !important;
}

.bulk-pill-input {
    width: 100% !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0F172A !important;
}

.bulk-digits-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-top: 4px !important;
}

.bulk-digits-header .digits-lbl {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #334155 !important;
}

.btn-clear-digits {
    background: none !important;
    border: none !important;
    color: #64748B !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    text-decoration: underline !important;
    padding: 2px 4px !important;
}

.btn-clear-digits:hover {
    color: #DC2626 !important;
}

.bulk-keypad-grid {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 8px !important;
}

.bulk-key-btn {
    height: 52px !important;
    border-radius: 12px !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    background: #FFFFFF !important;
    border: 1.5px solid #E2E8F0 !important;
    color: #334155 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.15s ease !important;
}

.bulk-key-btn:hover {
    border-color: #CBD5E1 !important;
    background: #F8FAFC !important;
}

.bulk-key-btn:active {
    transform: scale(0.95) !important;
}

.bulk-key-btn.active {
    background: #CB202D !important;
    border-color: #CB202D !important;
    color: #FFFFFF !important;
    box-shadow: 0 3px 10px rgba(203, 32, 45, 0.3) !important;
    transform: scale(1.02) !important;
}

/* Bidding Footer */
.bidding-footer {
    flex-shrink: 0 !important;
    padding-top: 12px !important;
    border-top: 1px solid #F1F5F9 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    background: #FFFFFF !important;
}

.bidding-totals-display {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12.5px !important;
    color: #475569 !important;
}

.bidding-totals-display strong {
    font-weight: 800 !important;
    color: #0F172A !important;
}

.bidding-totals-display .totals-amount {
    color: #059669 !important;
    font-size: 14px !important;
}

.bidding-totals-display .totals-divider {
    color: #CBD5E1 !important;
    font-weight: 300 !important;
}

.btn-review-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 10px 18px !important;
    border-radius: 10px !important;
    background: linear-gradient(135deg, #CB202D 0%, #A81E34 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(203, 32, 45, 0.25) !important;
    transition: all 0.15s ease !important;
    white-space: nowrap !important;
}

.btn-review-submit:hover {
    box-shadow: 0 4px 12px rgba(203, 32, 45, 0.35) !important;
    transform: translateY(-1px) !important;
}

.btn-review-submit:active {
    transform: scale(0.98) !important;
}

/* Modal Close Buttons */
.modal-close-btn {
    min-width: 38px !important;
    min-height: 38px !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    border: 1px solid #E2E8F0 !important;
    background: #F8FAFC !important;
    color: #475569 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    transition: all 0.15s ease !important;
    padding: 0 !important;
}

.modal-close-btn i,
.modal-close-btn svg {
    pointer-events: none !important;
    font-size: 15px !important;
}

.modal-close-btn:hover {
    background: #FEF2F2 !important;
    border-color: #FECACA !important;
    color: #CB202D !important;
}

.modal-close-btn:active {
    transform: scale(0.92) !important;
}

/* Game Rates Modern Card Grid */
.game-rates-modern-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 14px;
}
@media (max-width: 440px) {
    .game-rates-modern-grid {
        grid-template-columns: 1fr;
    }
}
.game-rate-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 10px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    transition: all 0.15s ease;
}
.game-rate-card:hover {
    border-color: #CBD5E1;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.game-rate-info {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.game-rate-icon {
    width: 28px;
    height: 28px;
    border-radius: 7px;
    background: #FFF1F2;
    color: #cb202d;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    flex-shrink: 0;
}
.game-rate-name {
    font-size: 12.5px;
    font-weight: 700;
    color: #1E293B;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.game-rate-pill {
    background: #DCFCE7;
    border: 1px solid #BBF7D0;
    color: #15803D;
    font-size: 11.5px;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 14px;
    white-space: nowrap;
    flex-shrink: 0;
}
.premium-home .history-card-item { background: #fff; border: 1px solid #e8e8e8; border-left: 3px solid var(--ui-red); padding: 16px; border-radius: 12px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02); gap: 12px; transition: border-color 0.15s ease, box-shadow 0.15s ease; }
.premium-home .history-card-item:hover { border-color: #cbd5e1; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04); }
.premium-home .history-card-item > div { min-width: 0; overflow-wrap: anywhere; }
.premium-home .history-card-item > span { flex-shrink: 0; font-variant-numeric: tabular-nums; }
.premium-home .review-summary-card, .premium-home .review-balance-card { background: #f8fafc; border: 1px solid #e2e8f0; box-shadow: none; border-radius: 12px; }
.premium-home .review-meta-lbl, .premium-home .review-balance-row { color: #64748b; font-size: 12px; font-weight: 500; }
.premium-home .review-meta-val { color: #0f172a; font-size: 14px; font-weight: 700; }
.premium-home .review-disclaimer-box { color: #64748b; background: #f8fafc; border-color: #e2e8f0; line-height: 1.5; border-radius: 10px; }
.premium-home .btn-review-back, .premium-home .btn-review-confirm { min-height: 48px; border-radius: 10px; box-shadow: none; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.15s ease; }
.premium-home .btn-review-confirm { background: var(--ui-red); color: #fff; border: 0; }
.premium-home .btn-review-confirm:hover { background: #b71c26; box-shadow: 0 4px 12px rgba(203, 32, 45, 0.25); }
.premium-home .btn-review-confirm:active { transform: scale(0.98); }
.premium-home .btn-review-confirm:active { transform: scale(0.98); }
.premium-home .btn-review-back { background: #fff; color: #475569; border: 1px solid #dcdfe4; }
.premium-home .btn-review-back:hover { background: #f8fafc; color: #0f172a; border-color: #cbd5e1; }
.premium-home .btn-review-back:active { transform: scale(0.98); }
.premium-home #termsList { font-size: 13px; line-height: 1.7; color: #555; }
.premium-home .modal-container table { font-size: 13px; }
.premium-home .modal-container th { background: #fafafa; color: #555; }
.premium-home .modal-container td { border-color: #eee; }
.admin-app { font-family: Inter, system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
.admin-app .admin-card-section { padding: 18px; }
.admin-app .section-top-bar { gap: 12px; margin-bottom: 14px; align-items: flex-start; }
.admin-app .section-heading { line-height: 1.4; font-size: 18px; letter-spacing: -.3px; }
.admin-app .section-heading > i { display: none; }
.admin-app .admin-table { font-size: 13px; }
.admin-app .admin-table th, .admin-app .admin-table td { padding: 12px 14px; vertical-align: middle; }
.admin-app .admin-table th { font-weight: 500; white-space: nowrap; }
.admin-app .admin-table tr:hover { background: #fcfcfc; }
.admin-app .admin-table td .btn-admin { min-width: 44px; min-height: 44px; }
.admin-app .form-input { min-height: 46px; font-size: 14px; background: #fff; box-shadow: none; }
.admin-app textarea.form-input { line-height: 1.6; resize: vertical; }
.admin-app .form-input:focus { border-color: var(--ui-red); outline: 2px solid rgba(203, 32, 45, 0.12); }
.admin-app .market-tab-btn { min-height: 44px; border-radius: 9px; box-shadow: none; font-weight: 600; }
.admin-app .market-tab-btn.active { background: var(--ui-soft); color: var(--ui-red); border-color: #f7bec2; }
.admin-app .modal-overlay { background: #17171766; backdrop-filter: none; }
.admin-app .modal-container { background: #fff; border: 1px solid #eee; border-radius: 18px; box-shadow: none; max-height: 92dvh; overflow-y: auto; }
.admin-app .modal-header { border-color: #eee; padding-bottom: 16px; margin-bottom: 16px; }
.admin-app .modal-title { font-size: 19px; color: #333; }
.admin-app .modal-close-btn { min-width: 44px; min-height: 44px; border-radius: 50%; color: #555; background: #f6f6f6; }
.admin-app .table-responsive, .admin-app .admin-table-container { overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
@media (max-width: 767px) {
    .admin-app .admin-card-section { padding: 16px; }
    .admin-app .section-top-bar { gap: 12px; }
    .admin-app .section-heading { font-size: 17px; }
    .admin-app .form-input { font-size: 16px; min-width: 0; }
    .admin-app .modal-overlay { padding: 0; align-items: flex-end; }
    .admin-app .modal-container { width: 100%; max-width: 100%; max-height: 94dvh; margin: 0; border: 0; border-radius: 20px 20px 0 0; padding: 20px; }
    .premium-home .bidding-footer { flex-wrap: wrap; gap: 12px; }
    .premium-home .bidding-footer .form-btn { flex: 1 0 100%; }
    .premium-home .review-actions-row { gap: 8px; }
    .premium-home .modal-header > div { min-width: 0; }
    .premium-home .review-summary-card { gap: 12px; flex-wrap: wrap; }
    .chart-directory-row { padding: 12px; gap: 8px; }
}
.admin-app #payment-qr img { max-width: 100% !important; }
.admin-app #payment-qr div { min-width: 0; max-width: 100%; }
.admin-app #payment-qr .btn-admin { white-space: normal; }
@media (max-width: 359px) { .admin-app .section-top-bar > div { min-width: 0; max-width: 100%; }.admin-app .section-top-bar .btn-admin { white-space: normal; } }
/* Consistent navigation surfaces and direct account destinations. */
.premium-home .sidebar-drawer-content { background: #fff; width: min(320px, 88vw); padding: 16px; box-shadow: none; }
.premium-home .sidebar-user-card { background: #f8f7f8; border: 1px solid #eee; color: #333; box-shadow: none; border-radius: 14px; }
.premium-home .sidebar-user-card .user-avatar { background: var(--ui-soft); color: var(--ui-red); border: 0; }
.premium-home .sidebar-user-card .user-name { color: #333; }
.premium-home .sidebar-user-card .user-phone { color: #777; }
.premium-home .sidebar-user-card .user-wallet-badge { background: #fff; color: #555; border: 1px solid #eee; }
.premium-home .sidebar-close-btn { background: transparent; color: #666; min-width: 44px; min-height: 44px; }
.premium-home .sidebar-section-label { letter-spacing: 1px; color: #777; font-size: 10px; padding: 16px 12px 8px; }
.premium-home .menu-item-row { border-radius: 10px; padding: 9px 10px; margin-bottom: 2px; box-shadow: none; }
.premium-home .menu-item-row.active { background: var(--ui-soft); color: var(--ui-red); }
.premium-home .menu-item-icon { width: 32px; height: 32px; background: #f8f8f8; color: #777; border-radius: 9px; box-shadow: none; }
.premium-home .menu-item-row.active .menu-item-icon { background: #ffe5eb; color: var(--ui-red); }
.premium-home .menu-item-text { font-size: 13px; font-weight: 500; }
.premium-home .menu-arrow { color: #bbb; font-size: 10px; }
.profile-quick-links { margin: 0 0 16px; border: 1px solid #eee; border-radius: 12px; overflow: hidden; }
.profile-quick-links button { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; width: 100%; min-height: 48px; border: 0; border-bottom: 1px solid #eee; background: #fff; color: #444; font-size: 13px; cursor: pointer; }
.profile-quick-links button:last-child { border-bottom: 0; }
.profile-quick-links span { color: #999; font-size: 22px; }

/* Account and game sheets share the same viewport and alignment rules. */
.premium-home #bidModalOverlay, .premium-home #marketGamesModalOverlay {
    top: 0 !important; bottom: auto !important; height: 100dvh !important;
    z-index: 6000 !important; align-items: center !important; padding: 20px !important;
    background: #17171766 !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
.premium-home #entryReviewModalOverlay,
#entryReviewModalOverlay {
    top: 0 !important; bottom: auto !important; height: 100dvh !important;
    z-index: 100000 !important; align-items: center !important; justify-content: center !important;
    background: rgba(15, 23, 42, 0.75) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
.premium-home .market-games-modal-container .modal-header,
.premium-home .bidding-modal-container .modal-header { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px; }
.premium-home .market-games-modal-container .modal-header > div:first-child,
.premium-home .bidding-modal-container .modal-header > div:first-child { flex: 1 1 180px; min-width: 0; }
.premium-home .market-games-modal-container .modal-title,
.premium-home .bidding-modal-container .modal-title { font-size: 17px; line-height: 1.4; overflow-wrap: anywhere; }
.premium-home .market-games-modal-container .modal-header > div:last-child,
.premium-home .bidding-modal-container .modal-header > div:last-child { margin-left: auto; flex-shrink: 0; }
.premium-home .bidding-modal-container { gap: 14px !important; }
.premium-home .bidding-scroll-body { overscroll-behavior: contain; min-width: 0; }
.premium-home #bidModalOverlay input:not([type=hidden]):not([type=checkbox]):not([type=radio]),
.premium-home #bidModalOverlay select { min-height: 44px !important; min-width: 0; box-sizing: border-box; }
.premium-home .bidding-date-strip { flex-wrap: wrap; gap: 10px; }
.premium-home .bidding-date-input { min-width: 0; max-width: 100%; min-height: 44px; }
.premium-home .quick-points-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.premium-home .points-chip { min-height: 44px !important; margin: 0; }
.premium-home .bulk-input-block > div:first-child { flex-wrap: wrap; gap: 6px; }
.premium-home .bidding-footer { flex-wrap: wrap !important; gap: 12px !important; }
.premium-home .bidding-totals-display { flex-wrap: wrap; overflow-wrap: anywhere; }
.premium-home .btn-review-submit { min-height: 44px; background: #cb202d !important; box-shadow: none !important; }
.premium-home .account-heading > div { min-width: 0; }
.premium-home .account-balance { flex-wrap: wrap; }
.premium-home .account-balance strong { font-variant-numeric: tabular-nums; }
.premium-home .account-shortcuts button { min-height: 76px; }
.premium-home .account-shortcuts button:focus-visible, .premium-home .account-avatar:focus-visible { outline: 3px solid #cb202d; outline-offset: 3px; }
@media (max-width: 767px) {
    .premium-home #bidModalOverlay, .premium-home #marketGamesModalOverlay { align-items: flex-end !important; padding: 0 !important; }
    .premium-home .market-games-modal-container { gap: 8px !important; padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important; }
    .premium-home .market-games-modal-container::before { margin: 0 auto 2px; height: 3px; flex-shrink: 0; }
    .premium-home .market-games-modal-container .modal-header > div:first-child,
    .premium-home .bidding-modal-container .modal-header > div:first-child { flex-basis: 150px; }
    .premium-home .bidding-footer .btn-review-submit { width: 100%; }
    .premium-home .bidding-totals-display { justify-content: space-between !important; width: 100%; }
    #marketGamesModalOverlay .modal-header > div:first-child { flex-basis: 110px; }
    #marketGamesModalOverlay .modal-header { gap: 8px; }
    #marketGamesModalOverlay .game-cat-tab { font-size: 11px; }
    #marketGamesModalOverlay .game-card-name { font-size: 12px !important; }
    .premium-home .modal-overlay.input-sheet .modal-container::before { display: none; }
}
@media (max-height: 520px) {
    .premium-home #marketGamesModalOverlay .market-games-modal-container { overflow-y: auto !important; }
    #marketGamesModalOverlay .games-grid-cards { flex: 0 0 auto; overflow: visible !important; }
}

/* The header leads straight into content; the removed ticker reserves no space. */
body.premium-home { padding-top: 60px; }
@media (max-width: 768px) {
    body.premium-home { padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }
    .premium-home #appBottomNav {
        display: grid !important; grid-auto-flow: column; grid-auto-columns: minmax(0,1fr);
        height: calc(68px + env(safe-area-inset-bottom, 0px));
        padding: 5px max(8px, env(safe-area-inset-right, 0px)) calc(5px + env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-left, 0px));
        background: #fff; border-top: 1px solid #e8e8e6; box-shadow: 0 -2px 10px #22222205;
        align-items: stretch; gap: 4px;
    }
    .premium-home #appBottomNav .mobile-tab {
        min-width: 0; min-height: 48px; height: 100%; padding: 0; gap: 2px;
        border: 0; border-radius: 8px; background: transparent; color: #686868;
        font-family: inherit; font-size: 10px; font-weight: 600; line-height: 1.3; cursor: pointer;
        transition: color .15s ease;
    }
    .premium-home #appBottomNav .nav-icon {
        display: grid; place-items: center; width: 44px; height: 29px; border-radius: 10px;
        transition: background-color .15s ease;
    }
    .premium-home #appBottomNav i { font-size: 18px; }
    .premium-home #appBottomNav .nav-label { max-width: 100%; }
    .premium-home #appBottomNav .mobile-tab.active { color: #ad2330; }
    .premium-home #appBottomNav .mobile-tab.active .nav-icon { background: #fff1f2; }
    .premium-home #appBottomNav .mobile-tab:focus-visible { outline: 2px solid #cb202d; outline-offset: -2px; }
    .premium-home.ui-task-open:not(.app-page-open) #appBottomNav,
    .premium-home.market-modal-open:not(.app-page-open) #appBottomNav,
    .premium-home.app-modal-open:not(.app-page-open) #appBottomNav,
    .premium-home:not(.app-page-open):has(.modal-overlay.active) #appBottomNav { display: none !important; }
}

/* Compact account and admin workflows; labels stay attached to their controls. */
.account-referral { border:1px solid var(--ui-border);border-radius:12px;padding:14px;margin:0 0 16px;display:grid;gap:10px;background:#fff; }
.account-referral input { width:100%;min-width:0;box-sizing:border-box;font-size:13px; }
.account-referral p { margin:0;color:var(--ui-muted);font-size:12px; }
.account-referral-actions { display:flex;gap:8px; }
.account-referral-actions button { flex:1;min-height:44px;background:var(--ui-soft);color:var(--ui-red);border:1px solid #f0ced2;border-radius:8px;font:inherit;font-weight:600;cursor:pointer; }
.account-referral.referral-banner-ad { background:linear-gradient(135deg, #FFF1F2 0%, #FFFFFF 52%, #FFFBEB 100%);border:1px solid rgba(203,32,45,0.22);border-radius:14px;padding:16px;box-shadow:0 4px 14px rgba(203,32,45,0.06);position:relative;overflow:hidden;display:block; }
.ref-banner-content { display:flex;flex-direction:column;gap:10px;position:relative;z-index:1; }
.ref-banner-header { display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap; }
.ref-badge { display:inline-flex;align-items:center;gap:6px;background:var(--ui-red,#cb202d);color:#fff;font-size:11px;font-weight:800;letter-spacing:0.04em;padding:4px 10px;border-radius:20px;box-shadow:0 2px 6px rgba(203,32,45,0.3); }
.ref-reward-pill { display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;border:1px solid transparent; }
.ref-reward-pill.active { background:#ECFDF5;color:#059669;border-color:#A7F3D0; }
.ref-reward-pill.paused { background:#F1F5F9;color:#64748B;border-color:#CBD5E1; }
.ref-banner-title { margin:0;font-size:16px;font-weight:800;color:#1E293B;line-height:1.3; }
.ref-banner-desc { margin:0;font-size:13px;color:#475569;line-height:1.45; }
.ref-banner-bottom { display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:4px;padding-top:10px;border-top:1px dashed rgba(203,32,45,0.18); }
.ref-code-box { display:inline-flex;align-items:center;gap:6px;background:#FFFFFF;border:1px solid rgba(203,32,45,0.2);border-radius:8px;padding:6px 12px; }
.ref-code-tag { font-size:11px;font-weight:600;color:#64748B; }
.ref-code-val { font-size:14px;font-weight:800;color:var(--ui-red,#cb202d);letter-spacing:0.05em; }
.referral-banner-ad .account-referral-actions { display:flex;gap:8px;flex:1 1 auto;justify-content:flex-end; }
.referral-banner-ad .btn-ref-action { display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 14px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:all 0.15s ease;border:none;white-space:nowrap; }
.referral-banner-ad .btn-copy-link { background:#FFFFFF;color:#334155;border:1px solid #CBD5E1; }
.referral-banner-ad .btn-copy-link:hover { background:#F8FAFC;border-color:#94A3B8; }
.referral-banner-ad .btn-share-link { background:var(--ui-red,#cb202d);color:#FFFFFF;box-shadow:0 2px 8px rgba(203,32,45,0.25); }
.referral-banner-ad .btn-share-link:hover { background:#b01824; }
@media (max-width: 480px) {
    .ref-banner-bottom { flex-direction:column;align-items:stretch; }
    .ref-code-box { justify-content:center; }
    .referral-banner-ad .account-referral-actions { width:100%; }
    .referral-banner-ad .account-referral-actions button { flex:1; }
}
.account-pin-form { display:grid;gap:14px; }
.account-pin-form label { display:grid;gap:6px;font-size:13px; }
.account-pin-form input { width:100%;box-sizing:border-box;min-height:44px; }
.account-pin-form p:empty { display:none; }
.premium-home .app-header { backdrop-filter:none;-webkit-backdrop-filter:none;background:#fff; }
.premium-home .spotlight-hero { box-shadow:none; }
.premium-home .spotlight-actions button,.btn-bal-action { min-height:44px; }
.member-filters { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px; }
.member-filters input { flex:1;min-width:160px; }
.member-filters select { max-width:180px; }
.member-pagination { display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;font-size:12px; }
.member-actions summary { min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--ui-red);font-weight:600; }
.member-actions > div { display:grid;gap:4px; }
.member-actions button { min-height:44px;background:#fff;border:1px solid var(--ui-border);border-radius:6px;padding:6px 10px;text-align:left;cursor:pointer;color:var(--ui-ink); }
.admin-app .launcher-card,.admin-app .modern-metric-card { box-shadow:none;transform:none; }
.admin-app .launcher-icon { background:#fff1f2;color:var(--ui-red); }
.admin-app .admin-tab-page.active { animation:none; }
.admin-app .admin-launcher { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.admin-app .admin-launcher button { min-width:0;min-height:64px;padding:12px; }
.admin-app .launcher-title { overflow-wrap:anywhere; }
@media(max-width:1100px) {
    .admin-app .modern-metrics-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
    .admin-app .metric-info { display:block; }
    .admin-app .metric-icon-wrap { display:none; }
    .admin-app .responsive-records { display:block;width:100%;min-width:0!important; }
    .admin-app .responsive-records thead { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
    .admin-app .responsive-records tbody { display:grid;gap:10px; }
    .admin-app .responsive-records tr { display:block;border:1px solid var(--ui-border);border-radius:10px;padding:8px;background:#fff; }
    .admin-app .responsive-records td { display:block;white-space:normal!important;overflow-wrap:anywhere;border:0;padding:7px 4px;min-width:0;max-width:100%; }
    .admin-app .responsive-records td[data-label] { display:grid;grid-template-columns:90px minmax(0,1fr);gap:6px;align-items:start; }
    .admin-app .responsive-records td[data-label]::before { content:attr(data-label);font-size:11px;color:#686868;font-weight:500; }
    .admin-app .responsive-records td > * { min-width:0;max-width:100%; }
    .admin-app .responsive-records td small { grid-column:2; }
    .admin-app .responsive-records td br { display:none; }
    .member-filters { flex-direction:column; }.member-filters select { max-width:none; }
    .admin-app .launcher-arrow { display:none; }
    .premium-home .account-name { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { .premium-home *, .admin-app * { scroll-behavior:auto!important;animation:none!important;transition:none!important; } }.admin-app .market-card-header { background:#fafafa;box-shadow:none;padding:12px; }
.admin-app .category-icon-badge { background:#fff1f2;color:var(--ui-red);box-shadow:none; }
.admin-app .market-filter-tabs { background:transparent;padding:0;gap:6px; }
@media(max-width:1100px) {
    .admin-app .market-filter-tabs { display:flex!important;flex-direction:row!important;flex-wrap:nowrap;overflow-x:auto;width:100%;margin-bottom:14px; }
    .admin-app .market-tab-btn { flex:0 0 auto;white-space:nowrap;padding:8px;min-height:44px;gap:5px; }
    .admin-app .responsive-records td:last-child { grid-template-columns:minmax(0,1fr); }
    .admin-app .responsive-records td:last-child > div { flex-wrap:wrap!important;gap:6px; }
    .admin-app .responsive-records td:last-child button { min-height:44px;min-width:44px;flex-shrink:0; }
    .admin-app .row-result-inputs { display:flex;padding:3px;gap:2px;box-sizing:border-box;width:100%; }
    .admin-app .row-result-inputs input { flex:1;min-width:0;width:0;height:44px; }
    .admin-app .category-date-pill { display:none; }
    .admin-app .category-icon-badge { width:32px;height:32px;font-size:16px; }
    .premium-home .account-card { padding:14px;gap:10px;box-shadow:none; }
    .premium-home .account-balance-row { background:#fff;border:0;border-top:1px solid var(--ui-border);border-radius:0;padding:12px 0 0; }
    .premium-home .btn-bal-action { box-shadow:none; }
}.member-pagination { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px; }
.member-pagination span { min-width:0;text-align:center;overflow-wrap:anywhere; }
.member-pagination .btn-admin { min-width:44px;padding:8px;font-size:12px;min-height:44px; }@media(max-width:1100px) {
    .admin-app .market-filter-tabs { display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible; }
    .admin-app .market-tab-btn { min-width:0;padding:8px 4px;white-space:normal;justify-content:center;font-size:12px; }
    .admin-app .market-tab-btn i { display:none; }
    .admin-app .section-top-bar,.admin-app .header-action-buttons { flex-wrap:wrap;min-width:0;max-width:100%;gap:8px; }
    .admin-app .header-action-buttons .btn-admin { white-space:normal;max-width:100%;min-height:44px; }
}
