/* Final user-app layer: full viewport screens, including legacy dynamic dialogs.
   ID specificity intentionally supersedes earlier per-screen sheet rules. */
body.premium-home { font-size: 15px; --app-page: #f4f5f7; --app-line: #dde0e5; }
body.premium-home .modal-overlay:is([id], #appScreen) {
    inset: 0 !important;
    width: 100% !important;
    height: 100dvh !important;
    padding: 0 !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    background: #fff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: opacity .12s ease !important;
}
body.premium-home .modal-overlay:is([id], #appScreen) > .modal-container {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: max(16px, env(safe-area-inset-top)) max(16px, calc((100vw - 720px) / 2)) max(20px, env(safe-area-inset-bottom)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
    overscroll-behavior: contain;
}
body.premium-home .modal-overlay:is([id], #appScreen) > .modal-container::before { display: none !important; }
body.premium-home .modal-overlay:is([id], #appScreen).input-sheet {
    top: var(--input-viewport-top, 0px) !important;
    bottom: auto !important;
    height: var(--input-viewport-height, 100dvh) !important;
}
body.premium-home .modal-overlay .modal-header { min-height: 52px; margin-bottom: 16px; gap: 12px; }
body.premium-home .modal-overlay .modal-title { font-size: 20px !important; font-weight: 700; line-height: 1.35; }
body.premium-home .modal-overlay .modal-close-btn { flex-shrink: 0; min-width: 44px; min-height: 44px; }
body.premium-home .modal-overlay :is(label, .ui-field-label, .form-group label) { font-size: 14px !important; }
body.premium-home .modal-overlay :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { font-size: 16px !important; }
body.premium-home .modal-overlay :is(.form-btn, .auth-tab-btn, .finance-sheet button) { font-size: 15px !important; }
body.premium-home .finance-sheet :is(p, label, .finance-note) { font-size: 14px; }
body.premium-home #authModalOverlay .modal-container {
    padding-left: max(20px, calc((100vw - 440px) / 2)) !important;
    padding-right: max(20px, calc((100vw - 440px) / 2)) !important;
}
body.premium-home #authModalOverlay .modal-header { margin-top: clamp(8px, 5dvh, 48px); }
body.premium-home #authModalOverlay .modal-title { font-size: 26px !important; }
body.premium-home #authModalOverlay .auth-toggle-tabs { margin-bottom: 20px; }
body.premium-home #authModalOverlay label { font-size: 14px !important; }
body.premium-home #addFundModalOverlay .dep-modal-container { padding-top: max(8px, env(safe-area-inset-top)) !important; }
body.premium-home #addFundModalOverlay .modal-header { padding-left: 0 !important; padding-right: 0 !important; }
body.premium-home #addFundModalOverlay .dep-step-content { min-height: 0; flex: 0 0 auto; animation: none; }
body.premium-home #addFundModalOverlay .dep-step-body { padding: 16px 0 max(20px, env(safe-area-inset-bottom)) !important; overflow: visible; flex: 0 0 auto; }
body.premium-home #addFundModalOverlay .dep-section-label { font-size: 14px !important; letter-spacing: .2px !important; }
body.premium-home #addFundModalOverlay .dep-upi-card-info strong { font-size: 15px; }
body.premium-home #addFundModalOverlay .dep-upi-card-info span { font-size: 13px; }
body.premium-home #addFundModalOverlay .dep-nav-back-btn { min-height: 44px; font-size: 14px; }
body.premium-home .modal-overlay#marketGamesModalOverlay > .market-games-modal-container { background: var(--app-page) !important; gap: 12px !important; overflow: hidden !important; }
body.premium-home #marketGamesModalOverlay .modal-header { flex-wrap: nowrap; align-items: center; gap: 8px; padding-bottom: 12px !important; background: transparent !important; }
body.premium-home #marketGamesModalOverlay .modal-header > div:first-child { flex: 1 1 auto; min-width: 0; }
body.premium-home #marketGamesModalOverlay .modal-header > div:last-child { flex: 0 0 auto; }
body.premium-home #marketGamesModalOverlay .modal-title { font-size: 18px !important; }
body.premium-home #marketGamesModalOverlay .game-category-tabs { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); background: transparent; gap: 6px !important; }
body.premium-home #marketGamesModalOverlay .game-cat-tab { font-size: 13px; background: #fff !important; }
body.premium-home #marketGamesModalOverlay .games-grid-cards { flex: 1 1 auto !important; overflow-y: auto !important; gap: 12px !important; padding: 2px !important; }
body.premium-home #marketGamesModalOverlay .market-game-card {
    flex-direction: column !important; justify-content: center !important;
    min-height: 142px !important; padding: 16px 8px !important; gap: 12px !important;
    border: 1px solid var(--app-line) !important; border-radius: 12px !important;
    text-align: center; box-shadow: 0 2px 3px #20242c04 !important;
}
body.premium-home #marketGamesModalOverlay .game-card-icon-circle {
    flex: 0 0 56px; width: 56px !important; height: 56px !important;
    border-radius: 50% !important; background: var(--game-color, #cb202d) !important;
    box-shadow: 0 3px 6px #20242c12 !important;
}
body.premium-home #marketGamesModalOverlay .game-card-icon-circle svg { width: 28px; height: 28px; }
body.premium-home #marketGamesModalOverlay .game-card-name { display: block; width: 100%; font-size: 15px !important; font-weight: 600; line-height: 1.3; }
body.premium-home #marketGamesModalOverlay .game-card-name::before { content: ''; display: block; width: 54px; height: 3px; border-radius: 2px; background: var(--game-color, #cb202d); margin: 0 auto 10px; }
body.premium-home #marketGamesModalOverlay .market-games-bottom-wrapper { background: transparent; border: 0; padding: 0; }
body.premium-home #marketGamesModalOverlay .bid-back-secondary-btn { background: #fff !important; font-size: 14px; }
body.premium-home #bidModalOverlay .bidding-modal-container { overflow: hidden !important; }
body.premium-home #bidModalOverlay.input-sheet .bidding-modal-container { overflow-y: auto !important; }
body.premium-home #bidModalOverlay :is(.bidding-rule-alert, .bidding-date-strip, .bidding-totals-display) { font-size: 14px !important; }
body.premium-home #bidModalOverlay .quick-points-chips .points-chip { font-size: 12px !important; }
body.premium-home :is(.account-phone, .dash-shortcut, .account-shortcuts button, .home-quick-access button, .account-toolbar button) { font-size: 14px; }
body.premium-home .market-name { font-size: 15px; }
body.premium-home .market-schedule span { font-size: 11px; }
body.premium-home .market-schedule strong { font-size: 12px; }
body.premium-home .badge-status { font-size: 10px; }
body.premium-home .market-card .btn-chart { font-size: 13px; }
body.premium-home .market-result-action .btn-play { font-size: 14px; }
body.premium-home .market-search-input { font-size: 16px !important; min-height: 44px !important; }
body.premium-home .market-search-input::placeholder { font-size: 14px; }
body.premium-home .market-refresh { min-height: 44px !important; font-size: 13px !important; }
body.premium-home #appBottomNav .nav-item { font-size: 12px !important; }
body.premium-home #sidebarOverlay { background: #fff; backdrop-filter: none; }
body.premium-home #sidebarOverlay .sidebar-drawer-content {
    width: 100%; max-width: none; height: 100dvh; border-radius: 0;
    padding: max(16px, env(safe-area-inset-top)) max(16px, calc((100vw - 720px) / 2)) max(20px, env(safe-area-inset-bottom));
    box-shadow: none; transform: none; transition: none; overflow-y: auto;
}
body.premium-home .menu-item-row { font-size: 15px; }
body.premium-home .logout-dialog {
    box-sizing: border-box; inset: 0; margin: 0; width: 100%; max-width: none;
    height: 100dvh; max-height: none; border: 0; border-radius: 0;
    padding: max(24px, env(safe-area-inset-top)) max(20px, calc((100vw - 440px) / 2));
}
body.premium-home .logout-dialog::backdrop { background: #fff; }
body.premium-home .logout-dialog p { font-size: 15px; }
@media (max-width: 359px) {
    body.premium-home #marketGamesModalOverlay .game-card-name { font-size: 14px !important; }
    body.premium-home #marketGamesModalOverlay .games-grid-cards { gap: 10px !important; }
    body.premium-home #marketGamesModalOverlay .user-pts-pill { font-size: 12px; padding: 6px; }
}
@media (prefers-reduced-motion: reduce) {
    body.premium-home .modal-overlay { transition: none !important; }
}
