/* ==========================================================================
   [EXTRACTABLE TO: mypage-layout.css]
   PART 1: BASE & TYPOGRAPHY
   ========================================================================== */
/* Fonts loaded globally via theme-default.css */

body {
    background-color: var(--bg-body, #0f1115);
    color: #fff;
    margin: 0;
}

.app-layout {
    display: flex;
    padding-top: 70px;
    min-height: 100vh;
    overflow-x: hidden;
}

.app-main {
    margin-left: 156px;
    flex: 1;
}

/* ==========================================================================
   [EXTRACTABLE TO: mypage-layout.css]
   PART 2: MYPAGE GLOBAL LAYOUT
   ========================================================================== */
.mypage-wrapper {
    width: 100%;
    max-width: 1380px;
    margin: 40px auto 100px;
    box-sizing: border-box;
}

.mypage-breadcrumb {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 40px;
}

.my-page-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: 32px;
    color: #fff;
}

.home-my-path {
    font-family: 'Pretendard', sans-serif;
    font-size: 12px;
    color: #A0AEC0;
    margin-top: 8px;
}

.sub-container {
    display: flex;
    gap: 20px;
    width: 100%;
    align-items: flex-start;
}

.mypage-right-contents {
    flex: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 24px;
    min-width: 0; 
}


/* ==========================================================================
   [EXTRACTABLE TO: mypage-layout.css]
   PART 3: SIDEBAR & PROFILE
   ========================================================================== */
.mypage-left-menu {
    display: flex;
    width: 196px;
    padding: 24px 20px;
    flex-direction: column;
    align-items: center;
    gap: 21px;
    flex-shrink: 0;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.05);
    box-shadow: 0 1px 1px 0 rgba(255, 255, 255, 0.25) inset;
    box-sizing: border-box;
}

.profile-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.profile-info-row {
    display: flex;
    flex-direction: column; 
    align-items: center;
    justify-content: center;
    gap: 12px; 
    width: 100%;
    margin-bottom: 24px;
}

.avatar-wrapper {
    position: relative;
    width: 80px;
    height: 80px;
    min-width: 80px; 
    flex-shrink: 0;
}

.avatar-img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    background-color: #333; 
    display: block; 
}

.edit-icon-wrapper {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 24px;
    height: 24px;
    background: #111;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 2; 
}

.edit-icon-wrapper img {
    width: 12px;
    height: 12px;
}

.status-badge {
    position: absolute;
    top: 50%;
    right: -20px;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    background: #5A7BFA; 
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.username-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
}

.username-text {
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 16px;
    font-weight: 500;
}

.bell-icon {
    width: 20px;
    height: 20px;
    cursor: pointer;
}

.profile-action-btns {
    display: flex;
    width: 100%;
    gap: 8px;
}

.btn-profile-action {
    display: flex;
    height: 36px;
    padding: 0 8px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    flex: 1 0 0; 
    border-radius: 100px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: #242424;
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
    box-sizing: border-box;
    white-space: nowrap;
    line-height: 1;
}

.btn-profile-action:hover {
    background: #333333;
    border-color: rgba(255, 255, 255, 0.3);
}

.menu-divider {
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
}

.menu-group {
    display: flex;
    flex-direction: column;
    gap: 16px; 
}

.menu-group-single {
    display: flex;
    align-items: center;
}

.menu-group-title {
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: normal;
    cursor: default;
}

.menu-list {
    display: flex;
    flex-direction: column;
    gap: 12px; 
}

.menu-item {
    color: #B6B6B6; 
    font-family: 'Pretendard', sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: normal;
    text-decoration: none;
    transition: color 0.2s;
}

.menu-item:hover {
    color: #FFF; 
}

/* ==========================================================================
   [EXTRACTABLE TO: mypage-layout.css]
   PART 4: FOOTER & BOTTOM BACKGROUND
   ========================================================================== */
.bottom-bg {
    position: relative !important;
    width: 100% !important;
    z-index: 0 !important;
    padding-top: 60px !important;
    padding-bottom: 80px !important;
}

.bottom-bg::before {
    content: '' !important;
    position: absolute !important;
    z-index: -1 !important; 
    top: 0 !important;
    bottom: 0 !important;
    left: -9999px !important;
    right: -9999px !important;
    background-image: 
        linear-gradient(to bottom, rgba(18,18,18,0) 0%, rgba(18,18,18,0.8) 100%),
        url('/static/img/bottom-bg.jpg')!important; 
    background-size: 3200px auto !important; 
    background-position: center bottom !important; 
    background-repeat: no-repeat !important;
}

.site-footer {
    width: 100%;
    padding: 64px 0;
    background-color: var(--grey-900);
}

.footer-container {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 20px;
}


/* ==========================================================================
   [SPECIFIC TO: mypage-dashboard.css]
   PART 5: DASHBOARD MODULES (User Info & Wallet)
   ========================================================================== */

/* --- 5.1 Main Dashboard Card Wrapper --- */
.mypage-main-dashboard-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 32px 20px;
    gap: 32px; 
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.05); 
    box-shadow: 0 1px 1px 0 rgba(255, 255, 255, 0.25) inset;
    box-sizing: border-box;
}

/* Rows Layout */
.dashboard-inner-top {
    display: flex;
    flex-wrap: wrap; 
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 100%;
}

.dashboard-inner-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch; 
    gap: 24px;
    width: 100%;
}

/* Common Background for Nested Cards */
.inner-card {
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.10);
    box-sizing: border-box;
}

/* --- 5.2 User Grade Information (Left Top) --- */
.col-l1 {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1 1 300px; 
}

.grade-badge {
    height: 32px;
    width: 32px;
}

.grade-text-stack {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
}

.grade-title-group {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.grade-name {
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}

.grade-label {
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 14px;
}

.grade-benefit-row {
    display: flex;
    flex-direction: row;
    align-items: center; 
    gap: 8px;
}

.benefit-label {
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: normal;
    white-space: nowrap;
}

/* Tooltip for Benefits */
.benefit-info-wrapper {
    display: flex;
    align-items: center;
    margin-left: 8px;
    position: relative;
    cursor: pointer;
}

.benefit-info-icon {
    width: 18px; 
    height: 18px;
    opacity: 0.9;
}

.benefit-status-tag {
    color: var(--Foundation-Green-green-400, #3DEF8D);
    font-family: 'Pretendard', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
    padding: 4px 10px;
    border-radius: 4px;
    border: 1px solid rgba(61, 239, 141, 0.2); 
    background: rgba(61, 239, 141, 0.05);   
    white-space: nowrap;
}

.benefit-tooltip {
    display: none;
    position: absolute;
    bottom: 130%;
    left: 50%;
    transform: translateX(-50%);
    background: #1A1A1A;
    color: #fff;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 11px;
    white-space: nowrap;
    z-index: 100;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);
    border: 1px solid rgba(255,255,255,0.1);
}

.benefit-info-wrapper:hover .benefit-tooltip {
    display: block;
}

/* --- 5.3 Progress Bar (Right Top) --- */
.col-r1 {
    display: flex;
    align-items: center;
    gap: 24px;
    flex: 1 1 350px; 
    justify-content: flex-end;
}

.progress-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}

.progress-info {
    color: rgba(255, 255, 255, 0.6);
    font-family: 'Pretendard', sans-serif;
    font-size: 11px;
}

.progress-bar-container {
    width: 240px;
    height: 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 100px;
    position: relative;
    margin: 4px 0;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #2962FF 0%, #00FF85 100%);
    border-radius: 100px;
    position: relative;
}

.progress-thumb {
    width: 12px;
    height: 12px;
    background: #FFF;
    border: 2px solid #00FF85;
    border-radius: 50%;
    position: absolute;
    right: -6px;
    top: 50%;
    transform: translateY(-50%);
}

.progress-labels {
    display: flex;
    justify-content: space-between;
    width: 100%;
    color: rgba(255, 255, 255, 0.4);
    font-family: 'Pretendard', sans-serif;
    font-size: 10px;
    font-weight: 700;
}

.btn-upgrade {
    display: flex;
    height: 40px;
    padding: 8px 16px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 100px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: #242424;
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 13px; 
    font-weight: 700;
    line-height: normal;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s, border-color 0.2s;
}

.btn-upgrade:hover {
    background: #333333;
    border-color: rgba(255, 255, 255, 0.3);
}

/* --- 5.4 Wallet Card (Left Bottom) --- */
.col-l2.wallet-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    flex: 0 0 654px; 
    max-width: 100%; 
    padding: 16px 20px; 
    gap: 0; 
    align-self: stretch;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.10);
    box-sizing: border-box;
}

.wallet-icon-header {
    display: flex;
    width: 64px;
    height: 64px;
    padding: 12.5px 12px 11.5px 12px;
    justify-content: center;
    align-items: center;
    border-radius: 16.495px;
    background: #2C2B2B;
    box-shadow: 2.801px 8.403px 31.122px -4.046px rgba(22, 52, 80, 0.10);
    box-sizing: border-box;
    margin-bottom: 24px; 
}

.wallet-icon-header img {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    object-fit: contain; 
}

.wallet-balance-grid {
    display: flex;
    gap: 24px;
    flex: 1; 
    margin-bottom: 16px; 
}

.balance-item {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.balance-label {
    display: flex;
    align-items: center;
    gap: 6px; 
    color: var(--Foundation-Grey-grey-300, #959595);
    font-family: 'Pretendard', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; 
    margin-bottom: 8px; 
}

.balance-label img {
    width: 24px;
    height: 24px;
    flex-shrink: 0; 
}

.balance-value {
    color: var(--primary, #0DEB70);
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 145%; 
    letter-spacing: -1px; 
    margin-bottom: 16px; 
    display: flex;
    align-items: baseline; 
}

.balance-value.cash, .balance-value.crypto { 
    color: var(--primary, #0DEB70); 
}

.balance-value .unit {
    color: var(--primary, #0DEB70);
    text-align: center;
    font-family: 'Pretendard', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; 
    margin-left: 4px; 
}

.balance-sub {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px; 
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1; 
}

.balance-sub .sub-value {
    color: #FFF;
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 145%; 
    letter-spacing: -1px;
    display: inline-block;
    vertical-align: middle;
}

.balance-sub .sub-label {
    color: rgba(255, 255, 255, 0.4);
    font-family: 'Pretendard', sans-serif;
    font-size: 14px;
    font-weight: 500;
}

.balance-sub .arrow-icon, 
.balance-sub img.arrow-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    opacity: 0.6;
}

.wallet-action-footer {
    display: flex;
    justify-content: flex-end; 
    gap: 12px;
    width: 100%;
}

.btn-deposit, .btn-withdraw {
    display: flex;
    height: 48px;
    padding: 8px 16px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    cursor: pointer;
    font-family: 'Pretendard', sans-serif;
    font-size: 14px;
    transition: opacity 0.2s;
}

.btn-deposit { 
    border-radius: 8px;
    border: 1px solid rgba(204, 240, 250, 0.03);
    background: var(--primary, #0DEB70);
    color: #000; 
}

.btn-withdraw { 
    border-radius: 8px;
    border: 1px solid var(--primary, #0DEB70);
    background: rgba(13, 235, 112, 0.20);
    color: #FFF; 
}

.btn-deposit:hover, .btn-withdraw:hover { opacity: 0.8; }

/* --- 5.5 Nested Cards (Friends & Coupons) (Right Bottom) --- */
.col-r2-nested {
    flex: 1; 
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.nested-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between; 
    padding: 16px 20px; 
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.10);
    box-sizing: border-box;
    gap: 16px; 
}

/* Friend Invite Section */
.friend-top-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.friend-bottom-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-end; 
}

.friend-title {
    color: var(--Foundation-Grey-grey-300, #959595);
    font-family: 'Pretendard', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
    text-align: right;
    margin-bottom: 4px;
}

.friend-count { text-align: right; }

.count-num {
    color: #FFF;
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 145%;
    letter-spacing: -1px;
}

.count-unit {
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 14px;
    font-weight: 500;
    margin-left: 2px;
}

.benefit-num {
    color: #FFF;
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 400; 
    line-height: 145%;
    letter-spacing: -1px;
}

.btn-nested-action {
    display: flex;
    height: 40px;
    padding: 8px 16px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 100px;
    border: 1px solid rgba(204, 240, 250, 0.03);
    background: #242424;
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    cursor: pointer;
    transition: background 0.2s, opacity 0.2s;
    white-space: nowrap;
}

.btn-nested-action:hover {
    background: #333333;
    opacity: 0.9;
}

.btn-nested-action .font-bold {
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 16px;
    font-weight: 700;
    margin-right: 2px;
}
.btn-nested-action .font-medium {
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 16px;
    font-weight: 500;
}

.friend-icon-box {
    display: flex;
    width: 64px;
    height: 64px;
    padding: 12px;
    justify-content: center;
    align-items: center;
    border-radius: 16.495px;
    background: #2C2B2B;
    box-shadow: 2.801px 8.403px 31.122px -4.046px rgba(22, 52, 80, 0.10);
    box-sizing: border-box;
}

.friend-main-icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    object-fit: contain;
}

.friend-top-content-horizontal {
    display: flex;
    align-items: center; 
    gap: 16px;           
    align-self: stretch; 
}

.friend-info-row {
    display: flex;
    flex: 1;
    justify-content: space-between; 
    align-items: center;
}

.friend-count-inline {
    display: flex;
    align-items: baseline;
    gap: 2px;
}

.nested-top-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.nested-icon-box {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
}

.nested-icon-box.orange { background: rgba(255, 153, 0, 0.1); }
.nested-icon-box.purple { background: rgba(153, 51, 255, 0.1); }

.nested-info-text {
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nested-label {
    color: rgba(255, 255, 255, 0.6);
    font-size: 13px;
    font-family: 'Pretendard', sans-serif;
}

.nested-count {
    font-size: 20px;
    font-weight: 700;
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
}

.nested-count .unit {
    font-size: 14px;
    font-weight: 500;
}

.nested-bottom-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 16px;
    margin-top: 16px;
}

.nested-bottom-row.justify-end {
    justify-content: flex-end;
    border-top: none;
    padding-top: 0;
    margin-top: 0;
}

.benefit-summary {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.benefit-label-sub {
    font-size: 14px;
    color: rgba(255,255,255,0.4);
    font-family: 'Pretendard', sans-serif;
}

.benefit-value {
    font-size: 16px;
    color: #FFF;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
    font-family: 'Pretendard', sans-serif;
}

/* Coupon Section */
.coupon-icon-box {
    display: flex;
    width: 64px;
    height: 64px;
    padding: 12px;
    justify-content: center;
    align-items: center;
    border-radius: 16.495px;
    background: #2C2B2B; 
    box-shadow: 2.801px 8.403px 31.122px -4.046px rgba(22, 52, 80, 0.10);
    box-sizing: border-box;
}

.coupon-main-icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    object-fit: contain;
}

.coupon-top-header {
    display: flex;
    align-items: center;
    gap: 16px; 
    align-self: stretch;
}

.coupon-info-row {
    display: flex;
    flex: 1;
    justify-content: space-between;
    align-items: center;
}

.coupon-title {
    color: var(--Foundation-Grey-grey-300, #959595);
    font-family: 'Pretendard', sans-serif;
    font-size: 16px;
    font-weight: 700;
}

.coupon-count-group {
    display: flex;
    align-items: baseline;
    gap: 2px;
}

.coupon-count-group .count-num {
    color: #FFF;
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -1px;
}

.coupon-count-group .count-unit {
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 14px;
    font-weight: 500;
}

.coupon-bottom-content {
    display: flex;
    justify-content: flex-end; 
    width: 100%;
    margin-top: auto; 
}

/* ==========================================================================
   [SPECIFIC TO: mypage-dashboard.css]
   PART 6: BETTING SUMMARY SECTION (4 Cards)
   ========================================================================== */
.summary-outer-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    margin-top: 16px;      
    padding: 32px 30px;    
    width: 100%;
    box-sizing: border-box;
    border-radius: 24px;   
    background: rgba(255, 255, 255, 0.05); 
    box-shadow: 0 1px 1px 0 rgba(255, 255, 255, 0.25) inset; 
}

.summary-header {
    width: 100%; 
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px; 
}

.header-left {
    display: flex;
    align-items: center;
    gap: 0;
    flex: 1 0 0;
}

.summary-title {
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: normal;
    margin: 0;
}

.summary-period {
    color: var(--Foundation-Grey-grey-300, #959595);
    font-family: 'Pretendard', sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
    margin-left: 8px;
}

.view-more {
    color: rgba(255, 255, 255, 0.70);
    font-family: 'Pretendard', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: normal;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
}

.summary-card-grid {
    display: flex;
    gap: 8px; 
    width: 100%;
}

.summary-item-card {
    display: flex;
    flex: 1; 
    align-items: center;
    padding: 16px 20px; 
    gap: 16px; 
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.05); 
    box-sizing: border-box;
}

.card-icon-box {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.card-label {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--Foundation-Grey-grey-200, #B6B6B6);
    font-family: 'Pretendard', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 4px;
}

.card-value {
    overflow: hidden;
    color: var(--White-Pallete-100, #FFF);
    text-overflow: ellipsis;
    white-space: nowrap;
    font-family: 'Poppins', sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 145%;
    letter-spacing: -1px;
}

.card-value .unit {
    font-family: 'Pretendard', sans-serif;
    font-size: 14px;
    font-weight: 500;
    margin-left: 2px;
}

.trend-up { color: #0DEB70; font-size: 11px; margin-left: 4px; }
.trend-down { color: #FF4D4D; font-size: 11px; margin-left: 4px; }


/* ==========================================================================
   [SPECIFIC TO: mypage-dashboard.css]
   PART 7: REALTIME BETTING TABLE
   ========================================================================== */
.realtime-betting-container {
    display: flex;
    padding: 32px 30px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
    margin-top: 40px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.05);
    box-shadow: 0 1px 1px 0 rgba(255, 255, 255, 0.25) inset;
    box-sizing: border-box;
}

.betting-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 24px;
}

.betting-main-title {
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin: 0;
}

.info-icon-wrapper {
    display: flex;
    align-items: center;
    margin-left: 8px;
    position: relative;
    cursor: pointer;
}

/* Tooltip Styling */
.blue-banner-info {
    display: none;
    position: absolute;
    left: 100%; 
    top: 50%;
    transform: translateY(-50%);
    margin-left: 14px;
    z-index: 100;
    width: 437px;
    padding: 8px 12px;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-radius: 8px;
    background: var(--Foundation-Blue-blue-500, rgba(0, 53, 248, 0.80));
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 12px;
}

.blue-banner-info::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -6px;
    transform: translateY(-50%);
    border-width: 6px 6px 6px 0;
    border-style: solid;
    border-color: transparent var(--Foundation-Blue-blue-500, rgba(0, 53, 248, 0.80)) transparent transparent;
}

.info-icon-wrapper:hover .blue-banner-info {
    display: flex;
}

.close-banner {
    background: none;
    border: none;
    color: #FFF;
    font-size: 16px;
    cursor: pointer;
    padding: 0 4px;
    margin-left: auto;
}

.blue-info-tag {
    display: none;
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 14px;
    z-index: 100;
    background: var(--Foundation-Blue-blue-500, rgba(0, 53, 248, 0.80)); 
    color: #FFF;
    font-family: 'Pretendard', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
    padding: 6px 10px;
    border-radius: 4px;
    white-space: nowrap;
}

.blue-info-tag::before {
    content: '';
    position: absolute;
    top: 50%;
    left: -6px;
    transform: translateY(-50%);
    border-width: 6px 6px 6px 0;
    border-style: solid;
    border-color: transparent var(--Foundation-Blue-blue-500, rgba(0, 53, 248, 0.80)) transparent transparent;
}

.info-icon-wrapper:hover .blue-info-tag {
    display: block;
}

.view-more-betting {
    color: #FFFFFFB2; 
    font-family: 'Pretendard', sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Data Table Structure */
.betting-data-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    border: 1px solid #4F4F4F;
}

.betting-data-table th:nth-child(1),
.betting-data-table td:nth-child(1) {
    width: 171px;
}

.betting-data-table th:nth-child(2),
.betting-data-table td:nth-child(2) {
    width: 255px;
}

.betting-data-table th {
    height: 48px;
    padding: 12px 8px;
    background: rgba(255, 255, 255, 0.15);
    border-bottom: 1px solid #4F4F4F;
    border-right: 1px solid var(--Foundation-Grey-grey-800, #353535);
    color: var(--text-basic, #EFEFEF);
    text-align: center;
    font-family: 'Pretendard', sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    vertical-align: middle;
}

.betting-data-table th:last-child {
    border-right: none;
}

.betting-data-table td {
    padding: 16px 8px;
    border-bottom: 1px solid #4F4F4F;
    border-right: 1px solid #4F4F4F;
    color: var(--text-basic, #EFEFEF);
    font-family: 'Pretendard', sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 100%;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 31px;
    vertical-align: middle; 
    word-break: keep-all;
}

.betting-data-table td:last-child {
    border-right: none;
}

.time-cell {
    line-height: 1.2; 
}

.time-cell span {
    color: rgba(255, 255, 255, 0.4);
    font-size: 12px;
    display: block;
    margin-top: 4px;
}


/* ==========================================================================
   PART 8: MEDIA QUERIES
   ========================================================================== */

/* --- 8.1 Tablet Responsive (<= 1200px) --- */
@media screen and (max-width: 1200px) {

    /* Dashboard Layout Adjustments */
    .dashboard-inner-bottom {
        flex-direction: column;
        align-items: stretch; 
        gap: 24px; 
    }

    .col-l2.wallet-card {
        flex: 1 1 auto; 
        width: 100%;    
        max-width: none; 
    }

    .col-r2-nested {
        width: 100%;
        flex: 1 1 auto;
    }
    
    .nested-card {
        width: 100%;
    }

    /* Summary Card Grid Adjustments */
    .summary-card-grid {
        flex-wrap: wrap; 
        gap: 16px; 
    }

    .summary-item-card {
        flex: 1 1 calc(50% - 8px); 
        min-width: 260px; 
    }

    .betting-data-table td {
        font-size: 12px;          
        line-height: 120%;        
        height: 25.451px;
    }
}

/* --- 8.2 Mobile Responsive (<= 768px) --- */
@media screen and (max-width: 768px) {

    /* --- [EXTRACTABLE TO: mypage-layout.css] (Mobile Common) --- */
    .col-r1 { justify-content: flex-start; }
    
    .app-main {
        margin-left: 0 !important;
        padding:  16px 40px !important;
        box-sizing: border-box;
    }

    .mypage-wrapper {
        margin-top: 20px;
        width: 100%;
    }

    .sub-container {
        flex-direction: column;
        gap: 0;
    }

    /* Sidebar to Top Profile Card */
    .mypage-left-menu {
        width: 100% !important;
        padding: 24px 16px !important;
        margin-bottom: 24px;
        background: rgba(255, 255, 255, 0.05);
        border-radius: 24px;
        box-shadow: 0 1px 1px 0 rgba(255, 255, 255, 0.25) inset;
        box-sizing: border-box;
    }

    .profile-section {
        display: flex;
        flex-wrap: wrap; 
        justify-content: center; 
        align-items: center;
        width: 100%;
    }

    .profile-info-row {
        flex-direction: row; 
        gap: 16px;
        margin-bottom: 20px;
    }

    .profile-action-btns {
        width: 100%; 
        display: flex;
        gap: 8px; 
    }

    .btn-profile-action {
        flex: 1; 
        height: 48px; 
        border-radius: 100px;
        border: 1px solid rgba(255, 255, 255, 0.18);
        background: #242424;
    }

    .menu-divider, 
    .menu-group, 
    .menu-group-single {
        display: none !important;
    }

    /* --- [SPECIFIC TO: mypage-dashboard.css] (Mobile Specific) --- */
    
    /* Layout Spacing */
    .mypage-main-dashboard-card,
    .summary-outer-container, 
    .realtime-betting-container {
        margin-top: 40px;
        padding: 24px 16px; 
        width: 100%;
        box-sizing: border-box;
    }

    /* Summary Card Grid Mobile */
    .summary-card-grid {
        display: flex;
        flex-direction: column; 
        gap: 12px; 
        width: 100%;
    }

    .summary-item-card {
        padding: 16px 20px; 
        display: flex;
        align-items: center;
        gap: 16px;
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.05);
        width: 100%;
        box-sizing: border-box;
    }

    /* Wallet Mobile Refactoring */
    .col-l2.wallet-card {
        display: grid;
        grid-template-columns: auto 1fr; 
        grid-template-rows: auto auto;   
        gap: 24px 16px;                  
    }

    .wallet-icon-header {
        grid-column: 1 / 2;
        margin-bottom: 0 !important; 
    }

    .wallet-balance-grid {
        grid-column: 2 / 3;
        display: flex;
        flex-direction: column;
        gap: 24px; 
        margin-bottom: 0 !important;
    }

    .balance-value { font-size: 20px; }

    .wallet-action-footer {
        grid-column: 1 / 3; 
        display: flex;
        width: 100%;
        gap: 12px; 
    }

    .btn-deposit, .btn-withdraw {
        flex: 1; 
        height: 48px;
        justify-content: center;
    }

    /* Betting Table to Cards Conversion */
    .betting-data-table { border:none; }
    .betting-data-table thead { display: none; }

    .betting-data-table tbody {
        display: flex;
        flex-direction: column;
        gap: 12px; 
        width: 100%;
    }

    .betting-data-table tr {
        display: grid;
        grid-template-columns: 1fr auto; 
        grid-template-areas:
            "time status"
            "game game"
            "id id"
            "bet bet"
            "win win";
        gap: 8px 16px; 
        background: rgba(255, 255, 255, 0.03);
        border-radius: 12px;
        padding: 16px;
        border: 1px solid #4F4F4F;
        margin-bottom: 0; 
        width: 100%;
        box-sizing: border-box;
    }

    .betting-data-table td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0;            
        border-bottom: none;  
        border-right: none;
        text-align: right;
        height: auto;
        white-space: normal;  
    }

    .betting-data-table td:nth-child(1)::before,
    .betting-data-table td:nth-child(2)::before {
        content: none;
        display: none;
    }

    .betting-data-table td:nth-child(3)::before,
    .betting-data-table td:nth-child(4)::before,
    .betting-data-table td:nth-child(6)::before {
        content: attr(data-label);
        color: #959595;
        font-family: 'Pretendard', sans-serif;
        font-size: 13px;
        font-weight: 500;
        text-align: left;
    }

    .betting-data-table td:nth-child(1) {
        grid-area: time;
        justify-content: flex-start;
        color: var(--text-basic, #EFEFEF);
        font-family: 'Pretendard', sans-serif;
        font-size: 12px;
        font-style: normal;
        font-weight: 500;
        line-height: 120%; 
    }

    .time-cell span {
        display: inline;
        margin-top: 0;
        margin-left: 6px;
        color: #8F8F8F;
        font-family: 'Pretendard', sans-serif;
        font-size: 11px;
        font-style: normal;
        font-weight: 500;
        line-height: 120%;
    }

    .betting-data-table td:nth-child(5) {
        grid-area: status;
        justify-content: flex-end;
        color: #8F8F8F;
        font-family: 'Pretendard', sans-serif;
        font-size: 12px;
        font-style: normal;
        font-weight: 500;
        line-height: 120%; 
    }
    
    .betting-data-table td:nth-child(5)::before {
        content: '·';
        display: inline-block;
        margin-right: 4px;
        font-size: 18px;
        font-weight: 900;
        line-height: 1;
    }

    .betting-data-table td:nth-child(2) {
        grid-area: game;
        margin-top: 4px;
        margin-bottom: 8px;
        display: block; 
        text-align: left;
        color: var(--text-basic, #EFEFEF);
        font-family: 'Pretendard', sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 700;
        line-height: 120%; 
    }

    .betting-data-table td:nth-child(4) { 
        grid-area: id; 
        color: #FFF; 
        font-size: 14px;
        font-weight: 500;
    }
    
    .betting-data-table td:nth-child(3) { 
        grid-area: bet; 
        color: #FFF; 
        font-size: 14px;
        font-weight: 500;
    }
    
    .betting-data-table td:nth-child(6) { 
        grid-area: win; 
        color: #FFF; 
        font-size: 14px;
        font-weight: 500;
    }

    /* Mobile Tooltips Constraints */
    .blue-banner-info, .blue-info-tag {
        width: calc(100vw - 64px); 
        left: 0 !important;
        top: 130% !important;
        transform: none !important;
        margin-left: 0 !important;
    }
    
    .blue-banner-info::before, .blue-info-tag::before {
        display: none; 
    }

    .betting-data-table td:nth-child(3)::before,
    .betting-data-table td:nth-child(4)::before,
    .betting-data-table td:nth-child(6)::before {
        color: #8F8F8F;
        font-family: 'Pretendard', sans-serif;
        font-size: 12px;
        font-style: normal;
        font-weight: 500;
        line-height: 120%; 
    }

    .betting-data-table td:nth-child(4),
    .betting-data-table td:nth-child(3),
    .betting-data-table td:nth-child(6) { 
        color: var(--text-basic, #EFEFEF);
        font-family: 'Pretendard', sans-serif;
        font-size: 12px;
        font-style: normal;
        font-weight: 500;
        line-height: 120%; 
    }
}