/* Authenticated shell: header, in-flow sidebar/main body, then the shared footer. */
.dashboard-mounted { --dashboard-header-height: 76px; display: flex; flex-direction: column; min-height: 100svh; }
.dashboard-mounted:not(.game-modal-open) { overflow-x: visible; }
.dashboard-mounted > .navbar { display: none; }
.dashboard-mounted .main-content { flex: 1; min-height: 0; min-width: 0; margin: 0; }
.dashboard-mounted #dashboardSection { max-width: none; padding: 0; margin: 0; }
.dashboard-shell { --sidebar-width: 224px; display: flex; flex-direction: column; min-height: 100svh; min-width: 0; }
.dashboard-shell.is-collapsed { --sidebar-width: 76px; }
.dashboard-shell [hidden] { display: none !important; }
.dashboard-shell :where(.dashboard-header, .dashboard-sidebar, .dashboard-mobile-menu, .dashboard-bottom) button { font: inherit; color: #bdcbdd; cursor: pointer; border: 0; }
.dashboard-shell :where(.dashboard-header, .dashboard-sidebar, .dashboard-mobile-menu, .dashboard-bottom) button:focus-visible { outline: 2px solid #57e1ed; outline-offset: 3px; }
.dashboard-icon { width: 22px; height: 22px; display: block; flex-shrink: 0; }
.dashboard-header { position: sticky; top: 0; height: var(--dashboard-header-height); flex-shrink: 0; z-index: 1000; display: flex; align-items: center; gap: 20px; padding: 12px 28px; background: #0c1422; border-bottom: 1px solid #253449; }
.dashboard-logo { display: flex; align-items: center; flex-shrink: 0; background: transparent; min-height: 44px; padding: 0; font-family: Orbitron, sans-serif !important; font-size: 25px !important; font-weight: 900 !important; }
.dashboard-logo .brand-gamepad { width: 37px; height: 28px; }
.dashboard-wallet { min-width: 0; margin-left: auto; display: grid; gap: 2px; text-align: right; }
.dashboard-wallet-label { font-size: 11px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: #8ea1ba; }
#dashboardHeaderBalance { color: #66e4ee; font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dashboard-balance-compact { display: none; }
.dashboard-name { max-width: 260px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 16px; font-weight: 600; padding-left: 20px; border-left: 1px solid #2b3a4c; }
.dashboard-account { position: relative; flex-shrink: 0; }
.dashboard-avatar { display: block; padding: 0; width: 44px; height: 44px; background: #28384c; border-radius: 14px; box-shadow: 0 0 0 2px #2d4058; }
.dashboard-avatar svg { width: 100%; height: 100%; display: block; }
.dashboard-account-menu { position: absolute; right: 0; top: 54px; width: 184px; max-width: calc(100vw - 24px); padding: 6px; border: 1px solid #32465f; border-radius: 12px; background: #121f31; box-shadow: 0 16px 35px #0006; }
.dashboard-account-menu button { display: block; width: 100%; text-align: left; padding: 11px 14px; min-height: 44px; background: transparent; border-radius: 7px; }
.dashboard-body { display: grid; grid-template-columns: var(--sidebar-width) minmax(0, 1fr); flex: 1; min-width: 0; }
.dashboard-sidebar { min-width: 0; background: #0c1422; border-right: 1px solid #253449; padding: 18px 12px; }
.dashboard-sidebar-inner { position: sticky; top: calc(var(--dashboard-header-height) + 18px); max-height: calc(100svh - var(--dashboard-header-height) - 36px); overflow-y: auto; padding: 4px; }
.dashboard-collapse { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 44px; padding: 10px 12px; margin-bottom: 18px; background: transparent; border-radius: 8px; font-size: 13px !important; color: #8598b1 !important; }
#dashboardDesktopMenu button, .dashboard-mobile-menu button { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 46px; margin: 4px 0; text-align: left; padding: 11px 12px; border-radius: 8px; background: transparent; font-size: 15px; font-weight: 600; transition: background-color .15s, color .15s; }
.dashboard-nav-icon { display: grid; place-items: center; flex-shrink: 0; }
.dashboard-nav-label { white-space: nowrap; }
.dashboard-shell :where([data-dashboard-view])[aria-current="page"] { color: #7aeaf2; background: #31c8da18; box-shadow: inset 3px 0 #4ed9e8; }
.dashboard-shell :where(.dashboard-header, .dashboard-sidebar, .dashboard-mobile-menu, .dashboard-bottom) button:hover { background-color: #ffffff0b; color: #edf6ff; }
.is-collapsed .dashboard-sidebar .dashboard-nav-label { display: none; }
.is-collapsed .dashboard-sidebar button { justify-content: center; padding: 11px 0; }
.is-collapsed .dashboard-collapse .dashboard-icon { transform: rotate(180deg); }
.dashboard-main { min-width: 0; padding: 24px; }
.dashboard-content { min-width: 0; width: 100%; max-width: 1300px; margin: 0 auto; }
.dashboard-refresh-status { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; white-space: nowrap; }
.is-refreshing .dashboard-header::after { content: ''; position: absolute; inset: auto 0 0; height: 2px; background: linear-gradient(90deg, transparent, #66e4ee, transparent); animation: dashboard-refresh 1s ease-in-out infinite alternate; }
@keyframes dashboard-refresh { from { opacity: .25; } to { opacity: 1; } }
.dashboard-mounted .footer-grid { max-width: 1400px; margin: 0 auto; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-mounted .footer-grid > * { min-width: 0; overflow-wrap: anywhere; }
.dashboard-mounted .footer-bottom { max-width: 1400px; margin-left: auto; margin-right: auto; }
.dashboard-bottom, .dashboard-menu-toggle, .dashboard-mobile-menu { display: none; }
@media (max-width: 1023px) {
    .dashboard-mounted { --dashboard-header-height: 68px; padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
    .dashboard-header { padding: 10px 12px; gap: 10px; }
    .dashboard-logo { font-size: 18px !important; }
    .dashboard-logo .brand-gamepad { width: 27px; height: 22px; }
    .dashboard-name { max-width: 120px; padding-left: 10px; font-size: 14px; }
    .dashboard-wallet-label { font-size: 9px; }
    #dashboardHeaderBalance { font-size: 14px; }
    .dashboard-balance-full { display: none; }
    .dashboard-balance-compact { display: inline; }
    .dashboard-account { min-width: 44px; }
    .dashboard-sidebar { display: none; }
    .dashboard-body { grid-template-columns: minmax(0, 1fr); }
    .dashboard-main { padding: 18px 12px 32px; }
    .dashboard-menu-toggle { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; padding: 0; border-radius: 10px; background: #17253a; }
    .dashboard-mobile-menu { display: block; position: fixed; z-index: 990; top: calc(var(--dashboard-header-height) + 8px); left: 12px; right: 12px; max-height: calc(100svh - var(--dashboard-header-height) - 120px); overflow-y: auto; padding: 8px; border: 1px solid #32465f; border-radius: 12px; background: #121f31; box-shadow: 0 16px 35px #0006; }
    .dashboard-bottom { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); position: fixed; z-index: 980; inset: auto 0 0; padding: 5px max(8px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid #32465f; background: #0c1422; gap: 8px; }
    .dashboard-bottom button { min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 59px; padding: 4px 0; border-radius: 10px; background: transparent; font-size: 11px; font-weight: 600; }
    .dashboard-bottom .dashboard-icon { width: 24px; height: 24px; }
    .dashboard-bottom button[aria-current="page"] { box-shadow: none; background: transparent; }
    .dashboard-bottom button[data-dashboard-view="dashboard"] { margin-top: -22px; padding-top: 0; }
    .dashboard-bottom button[data-dashboard-view="dashboard"] .dashboard-nav-icon { width: 54px; height: 54px; border-radius: 50%; border: 4px solid #0c1422; background: #1e3647; box-shadow: 0 0 0 1px #3f6b7e; color: #b6dce4; }
    .dashboard-bottom button[data-dashboard-view="dashboard"][aria-current="page"] .dashboard-nav-icon { color: #061820; background: #5ce1ec; box-shadow: 0 0 0 1px #6af1fa, 0 4px 16px #27d5e51a; }
    .dashboard-mounted .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .dashboard-mounted .footer-bottom { flex-wrap: wrap; }
    .dashboard-mounted .whatsapp-float { bottom: calc(105px + env(safe-area-inset-bottom)); }
}
@media (max-width: 600px) { .dashboard-name { display: none; } }
@media (max-width: 359px) {
    .dashboard-header { padding-inline: 8px; gap: 6px; }
    .dashboard-logo { font-size: 16px !important; }
    .dashboard-logo .brand-gamepad { width: 24px; }
    #dashboardHeaderBalance { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .is-refreshing .dashboard-header::after { animation: none; }
    #dashboardDesktopMenu button, .dashboard-mobile-menu button { transition: none; }
}

/* One shared authenticated sidebar. Nine rows fit the available viewport. */
.dashboard-shell, .dashboard-shell.is-collapsed { --sidebar-width:150px; }
.dashboard-sidebar { padding:12px 10px; background:#08090b;border-color:#26272a; }
.dashboard-sidebar-inner { position:sticky;top:12px;height:calc(100svh - 56px);max-height:none;overflow:hidden;display:grid;grid-template-rows:82px minmax(0,1fr);gap:12px;padding:0; }
.dashboard-shell:not(.premium-dashboard) .dashboard-sidebar-inner { top:calc(var(--dashboard-header-height) + 12px);height:calc(100svh - var(--dashboard-header-height) - 24px); }
.dashboard-sidebar .dashboard-collapse { display:none; }
.dashboard-sidebar .premium-sidebar-logo { display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:0;width:100%;min-width:0;min-height:0;padding:0;margin:0;line-height:1;letter-spacing:-.04em;font-size:21px!important;filter:none; }
.dashboard-sidebar .premium-sidebar-logo .brand-gamepad { width:1.02em;height:.68em;margin:0 .02em;flex:0 0 auto; }
#dashboardDesktopMenu { display:grid;grid-template-rows:repeat(9,minmax(0,1fr));gap:3px;min-height:0; }
.dashboard-shell #dashboardDesktopMenu button { display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:0;min-width:0;padding:5px 2px;margin:0;border-radius:9px;font-size:11px;font-weight:500;color:#a6a6ab;text-align:center; }
.dashboard-shell #dashboardDesktopMenu .dashboard-icon { width:25px;height:25px; }
.dashboard-shell #dashboardDesktopMenu .dashboard-nav-label { display:block;white-space:normal;line-height:1.2; }
.dashboard-shell #dashboardDesktopMenu button[aria-current=page] { background:linear-gradient(145deg,#29292c,#131416);color:#fff;box-shadow:inset 0 0 0 1px #464649; }
.dashboard-shell #dashboardDesktopMenu button:hover { color:white;background-color:#1c1d20; }
@media(min-width:1024px) and (max-height:760px){
 .dashboard-sidebar-inner{grid-template-rows:58px minmax(0,1fr);gap:8px}
 .dashboard-shell #dashboardDesktopMenu button{gap:4px;font-size:10px;padding:3px 2px}
 .dashboard-shell #dashboardDesktopMenu .dashboard-icon{width:22px;height:22px}
}
@media(min-width:1024px) and (max-height:580px){
 .dashboard-sidebar-inner{grid-template-rows:44px minmax(0,1fr);gap:4px}
 .dashboard-shell #dashboardDesktopMenu button{flex-direction:row;justify-content:flex-start;gap:8px;font-size:10px}
 .dashboard-shell #dashboardDesktopMenu .dashboard-icon{width:18px;height:18px}
}
@media(max-width:1023px){.dashboard-sidebar{display:none}.dashboard-body{grid-template-columns:minmax(0,1fr)}}
