/* ================================================================
   SandMoney - Dashboard TradingHUD Styles
   Modern Dark Crypto Aesthetic
   ================================================================ */

/* Shared DA utilities */
.ui-overlay-backdrop {
    background-color: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(8px);
}

.ui-panel-card {
    background-color: #121214;
    border: 1px solid #27272a;
    border-radius: 16px;
}

.ui-btn-primary {
    border-radius: 12px;
    border: none;
    background-color: #3b82f6;
    color: #ffffff;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    pointer-events: all;
    transition: all 0.2s;
    box-shadow: 0 8px 0 #1d4ed8;
}

.ui-btn-primary:hover {
    background-color: #60a5fa;
    transform: translateY(-2px);
    box-shadow: 0 10px 0 #1d4ed8;
}

.ui-btn-primary:active {
    transform: translateY(4px);
    box-shadow: 0 4px 0 #1d4ed8;
}

.ui-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", "Twemoji Mozilla", Poppins, sans-serif;
    line-height: 1em;
    overflow: visible;
    text-align: center;
    font-size: 1em;
}

/* Utility colour classes */
.clr-up {
    color: #10b981;
}

.clr-down {
    color: #ef4444;
}

.clr-gold {
    color: #fbbf24;
}

.clr-blue {
    color: #3b82f6;
}

.clr-green {
    color: #10b981;
}

.clr-muted {
    color: #6b7280;
}

.clr-white {
    color: #f8fafc;
}

/* â”€â”€ Root layout â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dashboard-root {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    background-color: #09090b;
    color: #f8fafc;
    font-size: 20px;
    font-family: Poppins, sans-serif;
}


/* â”€â”€ Sidebar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.sidebar {
    width: 180px;
    height: 100%;
    display: flex;
    flex-direction: column;
    background-color: #121214;
    border-right: 1px solid #27272a;
    padding: 22px 8px;
    flex-shrink: 1;
    box-shadow: none;
}

.logo {
    display: flex;
    align-items: center;
    margin-bottom: 26px;
    padding: 0 12px;
}

.clickable-logo {
    cursor: pointer;
    pointer-events: all;
    transition: transform 0.1s ease;

    &:hover {
        transform: scale(1.02);
    }

    &:active {
        transform: scale(0.98);
        filter: brightness(1.2);
    }
}

.logo-text {
    font-size: 19px;
    font-weight: 900;
    color: #f8fafc;
    letter-spacing: -0.5px;
    text-transform: uppercase;
}

.logo-accent {
    color: #10b981;
    margin: 0 1px;
    font-style: italic;
    text-shadow: 0 0 10px rgba(16, 185, 129, 0.3);
}

.nav-menu {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nav-item {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.75);
    cursor: pointer;
    pointer-events: all;
    transition: all 0.2s ease-in-out;
    margin-bottom: 2px;
    background-color: transparent;
    border: none;
    border-left: 3px solid transparent;
}

.sidebar-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    width: 24px;
    height: 24px;
    text-align: center;
    color: #ffffff;
    opacity: 0.7;
    transition: all 0.2s ease-in-out;
    margin-right: 12px;
}

.nav-item:hover {
    background-color: rgba(255, 255, 255, 0.05);
    color: #ffffff;
}

.nav-item:hover .sidebar-icon {
    opacity: 1;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.35);
}

/* Permanent Active State */
.nav-item.is-active {
    background-color: rgba(16, 185, 129, 0.15);
    color: #10b981;
    border-left: 3.5px solid #10b981;
}

.nav-item.is-active .sidebar-icon {
    opacity: 1;
    text-shadow: 0 0 12px rgba(16, 185, 129, 0.75) !important;
}


.nav-badge {
    margin-left: auto;
    background-color: #f59e0b;
    color: #000;
    font-size: 10px;
    font-weight: 900;
    padding: 1px 5px;
    border-radius: 6px;
    min-width: 16px;
    text-align: center;
}

.panic-nav-item .panic-nav-icon {
    color: #f87171;
    opacity: 0.95;
    font-size: 16px;
    line-height: 17px;
}

.sidebar-spacer {
    flex: 1;
}

.nav-section-label {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px 4px 16px;
    font-size: 11px;
    font-weight: 800;
    color: #4b5563;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.live-ping {
    position: relative;
    width: 8px;
    height: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ping-dot {
    width: 5px;
    height: 5px;
    background-color: #10b981;
    border-radius: 50%;
    z-index: 2;
    box-shadow: 0 0 6px #10b981;
}

.ping-wave {
    position: absolute;
    width: 5px;
    height: 5px;
    background-color: rgba(16, 185, 129, 0.4);
    border-radius: 50%;
    animation: ping-ripple 2s infinite ease-out;
    z-index: 1;
}

@keyframes ping-ripple {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }
    100% {
        transform: scale(4);
        opacity: 0;
    }
}

.nav-section-title-spaced {
    margin-top: 12px;
}

.nav-divider {
    height: 1px;
    margin: 8px 12px;
    background-color: #27272a;
}

.nav-menu-extras {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 12px;
    padding-top: 0;
    border-top: none;
}

.sidebar-version {
    font-size: 12px;
    color: #52525b;
    text-align: center;
    padding: 8px 0;
}

/* â”€â”€ Main Content â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.main-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 25px 25px;
    gap: 16px;
}

.top-header {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 10px;
    flex-shrink: 0;
    position: relative;
}

.header-left-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1 1 700px;
    min-width: 0;
}

.header-console-slot {
    flex: 0 1 320px;
    width: 100%;
    max-width: 320px;
    min-width: 280px;
    height: 84px; /* Match the console height */
    min-height: 84px;
    max-height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    overflow: visible; /* Allow any glows to pop out */
    margin: 0 auto;
}

.header-balances {
    display: flex;
    gap: 12px;
    flex-wrap: nowrap;
    align-items: stretch;
}

.header-balances .stat-card {
    padding: 8px 12px;
    width: 200px;
    min-width: 170px;
    max-width: 170px;
    min-height: 72px;
    flex: 0 0 auto;
}

.header-balances .econ-main-card {
    min-width: 180px;
}

.stat-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background-color: #18181b;
    border: 1px solid #27272a;
    border-radius: 10px;
    padding: 10px 12px;
    min-width: 170px;
}

.header-quick-actions {
    display: flex;
    align-items: stretch;
    gap: 8px;
    flex-wrap: nowrap;
    width: 100%;
}

.header-quick-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    min-height: 44px;
    min-width: 0;
    flex: 1 1 0;
    border-radius: 9px;
    border: 1px solid #334155;
    background-color: #161922;
    color: #e2e8f0;
    padding: 7px 8px;
    cursor: pointer;
    pointer-events: all;
    position: relative;
}

.header-quick-btn:hover {
    border-color: #64748b;
}

.header-quick-icon {
    width: 16px;
    height: 16px;
    line-height: 16px;
    font-size: 15px;
    padding: 0;
}

.header-quick-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    min-width: 0;
}

.header-quick-title {
    font-size: 9px;
    line-height: 11px;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.header-quick-value {
    font-size: 12px;
    line-height: 14px;
    font-weight: 800;
    color: #e2e8f0;
}

.missions-quick-btn.ready {
    border-color: rgba(96, 165, 250, 0.75);
    box-shadow: 0 0 14px rgba(37, 99, 235, 0.22);
}

.quick-ready-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.45);
    background-color: rgba(148, 163, 184, 0.16);
    color: #cbd5e1;
    font-size: 10px;
    font-weight: 900;
    margin-left: 4px;
}

.quick-ready-badge.hot {
    border-color: rgba(74, 222, 128, 0.6);
    background-color: rgba(34, 197, 94, 0.26);
    color: #bbf7d0;
}

.econ-main-card {
    position: relative;
    overflow: visible;
    min-width: 206px;
    border-color: #2a3446;
    background-color: #141821;
    box-shadow: 0 8px 18px rgba(2, 6, 23, 0.35);
}

.econ-main-card .stat-lbl {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #9fb3d9;
    margin-bottom: 2px;
}

.econ-main-card .stat-val {
    font-size: 16px;
    line-height: 19px;
    color: #f8fafc;
}

.stat-mini-icon {
    width: 14px;
    height: 14px;
    line-height: 14px;
    font-size: 14px;
    padding: 0;
}

.networth-card {
    border-color: rgba(96, 165, 250, 0.55);
    background-color: rgba(30, 41, 59, 0.58);
}

.balance-main-card {
    border-color: rgba(16, 185, 129, 0.45);
    background-color: rgba(15, 42, 33, 0.45);
}

.holdings-main-card {
    border-color: rgba(245, 158, 11, 0.52);
    background-color: rgba(67, 42, 11, 0.46);
}

.holdings-main-card .stat-lbl {
    color: #fcd34d;
}

.balance-stat-card {
    position: relative;
    overflow: visible;
}

.coins-stat-card {
    position: relative;
    overflow: visible;
}

.stat-lbl {
    font-size: 10px;
    color: #71717a;
    margin-bottom: 2px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.stat-val {
    font-size: 17px;
    line-height: 20px;
    font-weight: 800;
    color: #f8fafc;
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    text-align: left;
}

.rank-stat-val {
    gap: 8px;
    align-items: center;
}

.balance-delta-popup {
    position: absolute;
    right: 12px;
    top: 24px;
    font-size: 18px;
    font-weight: 900;
    line-height: 18px;
    pointer-events: none;
    z-index: 50;
    text-shadow: 0 0 10px rgba(15, 23, 42, 0.55);
    animation: balance-delta-float-a 1.2s ease-out forwards;
}

.balance-delta-popup.alt {
    animation-name: balance-delta-float-b;
}

.balance-delta-popup.gain {
    color: #10b981;
    text-shadow: 0 0 12px rgba(16, 185, 129, 0.45);
}

.balance-delta-popup.loss {
    color: #ef4444;
    text-shadow: 0 0 12px rgba(239, 68, 68, 0.40);
}

.coins-delta-popup {
    position: absolute;
    right: 12px;
    top: 24px;
    font-size: 17px;
    font-weight: 900;
    line-height: 17px;
    pointer-events: none;
    z-index: 50;
    text-shadow: 0 0 10px rgba(15, 23, 42, 0.55);
    animation: balance-delta-float-a 1.2s ease-out forwards;
}

.coins-delta-popup.alt {
    animation-name: balance-delta-float-b;
}

.coins-delta-popup.gain {
    color: #22c55e;
    text-shadow: 0 0 12px rgba(34, 197, 94, 0.45);
}

.coins-delta-popup.loss {
    color: #ef4444;
    text-shadow: 0 0 12px rgba(239, 68, 68, 0.40);
}

@keyframes balance-delta-float-a {
    0% {
        transform: translateY(0px);
        opacity: 0;
    }

    20% {
        transform: translateY(-12px);
        opacity: 1;
    }

    100% {
        transform: translateY(-36px);
        opacity: 0;
    }
}

@keyframes balance-delta-float-b {
    0% {
        transform: translateY(0px);
        opacity: 0;
    }

    20% {
        transform: translateY(-12px);
        opacity: 1;
    }

    100% {
        transform: translateY(-36px);
        opacity: 0;
    }
}

.rank-card {
    background-color: #1a1a2e;
}

.clickable-stat {
    cursor: pointer;
    pointer-events: all;
}

.rank-card-clickable {
    cursor: pointer;
    pointer-events: all;
}

.event-stat-card {
    cursor: pointer;
    pointer-events: all;
    border-radius: 12px;
    transition: all 0.3s ease;
    animation: event-badge-pulse 2s infinite ease-in-out;

    &.positive {
        border: 2px solid #10b981;
        box-shadow: 0 0 40px rgba(16, 185, 129, 0.25);
    }

    &.negative {
        border: 2px solid #ef4444;
        box-shadow: 0 0 40px rgba(239, 68, 68, 0.25);
    }

    &.warning {
        border: 2px solid #fbbf24;
        box-shadow: 0 0 40px rgba(251, 191, 36, 0.25);
    }

    &.ultrarare {
        border: 2px solid #fcd34d;
        box-shadow: 0 0 50px rgba(252, 211, 77, 0.4), 0 0 20px rgba(255, 255, 255, 0.2);
        animation: event-badge-pulse 1.5s infinite ease-in-out, ultrarare-glow 5s infinite linear;
    }

    &:hover {
        transform: scale(1.05);
        filter: brightness(1.2);
        box-shadow: 0 0 50px rgba(255, 255, 255, 0.1);
    }
}

@keyframes event-badge-pulse {
    0% {
        transform: scale(1.0);
    }

    50% {
        transform: scale(1.03);
    }

    100% {
        transform: scale(1.0);
    }
}

@keyframes ultrarare-glow {
    0% {
        filter: hue-rotate(0deg) brightness(1.2);
    }

    50% {
        filter: hue-rotate(180deg) brightness(1.5);
    }

    100% {
        filter: hue-rotate(360deg) brightness(1.2);
    }
}

.event-stat-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    width: 100%;
}

.event-stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: 18px;
}

.event-stat-name {
    font-size: 13px;
    font-weight: 700;
    color: #fefce8;
}

.event-stat-tip {
    margin-top: 1px;
    font-size: 10px;
    color: #fed7aa;
}

.vip-boost-card {
    width: 180px;
    min-width: 180px;
    max-width: 180px;
    min-height: 72px;
    flex: 0 0 auto;
    border: 1px solid #fcd34d;
    background: linear-gradient(135deg, #064e3b 0%, #065f46 50%, #047857 100%);
    box-shadow: 0 0 20px rgba(52, 211, 153, 0.4);
    flex-direction: row;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    overflow: hidden;
    position: relative;
    border-radius: 12px;
    animation: vip-glow-pulse 3s infinite ease-in-out;
}

.vip-boost-card::after {
    content: "";
    position: absolute;
    top: -50%;
    left: -150%;
    width: 200%;
    height: 200%;
    background: linear-gradient(115deg, transparent, rgba(255, 255, 255, 0.12), transparent);
    transform: rotate(25deg);
    animation: vip-shine-sweep 4s infinite linear;
    pointer-events: none;
}

.vip-badge-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: rgba(252, 211, 77, 0.2);
    border: 1px solid rgba(252, 211, 77, 0.5);
    color: #fcd34d;
    font-size: 20px;
    line-height: 24px;
    font-family: inherit;
    flex-shrink: 0;
    box-shadow: 0 0 12px rgba(252, 211, 77, 0.3);
    padding-left: 1px;
    padding-bottom: 0px;
}

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

.vip-boost-card .stat-lbl {
    color: #6ee7b7;
    margin-bottom: 0px;
    font-weight: 800;
    font-size: 9px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.vip-boost-card .stat-val {
    color: #ffffff;
    font-size: 18px;
    line-height: 22px;
    font-weight: 900;
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.3);
}

.vip-boost-card .event-stat-tip {
    color: #34d399;
    font-weight: 600;
    font-size: 10px;
}

@keyframes vip-glow-pulse {
    0% { border-color: rgba(252, 211, 77, 0.5); box-shadow: 0 0 15px rgba(52, 211, 153, 0.2); }
    50% { border-color: rgba(252, 211, 77, 0.8); box-shadow: 0 0 25px rgba(52, 211, 153, 0.4); }
    100% { border-color: rgba(252, 211, 77, 0.5); box-shadow: 0 0 15px rgba(52, 211, 153, 0.2); }
}

@keyframes vip-shine-sweep {
    0% { left: -150%; }
    20% { left: 150%; }
    100% { left: 150%; }
}

.missions-card {
    border-color: rgba(59, 130, 246, 0.35);
    background-color: rgba(15, 23, 42, 0.72);
    min-width: 210px;
    gap: 4px;
}

.missions-card.ready {
    border-color: rgba(96, 165, 250, 0.72);
    box-shadow: 0 0 0px rgba(37, 99, 235, 0.22);
}

.missions-card .stat-lbl {
    color: #93c5fd;
    font-weight: 700;
}

.missions-card .stat-val {
    gap: 8px;
    color: #dbeafe;
}

.missions-card .stat-val .ui-icon {
    width: 16px;
    height: 16px;
    line-height: 16px;
    font-size: 15px;
    padding: 0;
}

.objective-rank-card {
    position: relative;
    min-width: 206px;
    padding-top: 26px;
}

.objective-rank-card .stat-lbl {
    margin-top: 20px;
}

.objective-counter {
    position: absolute;
    top: 5px;
    left: 10px;
    min-height: 18px;
    padding: 0 7px;
    z-index: 3;
}

.missions-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
}

.missions-card-progress {
    font-size: 11px;
    line-height: 14px;
    font-weight: 700;
    color: #93c5fd;
}

.missions-card-ready {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    min-height: 20px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid rgba(148, 163, 184, 0.45);
    background-color: rgba(148, 163, 184, 0.12);
    font-size: 10px;
    line-height: 12px;
    font-weight: 800;
    color: #cbd5e1;
}

.missions-card-ready.hot {
    border-color: rgba(74, 222, 128, 0.55);
    background-color: rgba(34, 197, 94, 0.18);
    color: #bbf7d0;
}

.badge.blue {
    font-size: 10px;
    font-weight: 700;
    color: #60a5fa;
    background-color: rgba(96, 165, 250, 0.12);
    padding: 3px 8px;
    border-radius: 100px;
    margin-left: 10px;
    letter-spacing: 0.5px;
}

.unit {
    font-size: 13px;
    color: #71717a;
    font-weight: 600;
    margin-left: 6px;
}

.header-right {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    flex: 0 0 280px;
    min-width: 250px;
}

.header-right-top {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
}

.header-balances .event-inline-card {
    min-height: 72px;
    height: 72px;
    width: 170px;
    min-width: 170px;
    max-width: 170px;
}

.top-header .event-stat-card {
    animation: event-badge-pulse 2s infinite ease-in-out;
    border-radius: 10px;
    transition: all 0.2s ease;

    &:hover {
        animation-play-state: paused;
        transform: scale(1.04);
        filter: brightness(1.15);
        box-shadow: 0 0 50px rgba(255, 255, 255, 0.1);
    }
}



.top-header .event-stat-card.positive,
.top-header .event-stat-card.negative,
.top-header .event-stat-card.warning,
.top-header .event-stat-card.ultrarare {
    border-width: 1px;
}

.live-ticker {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background-color: #18181b;
    border: 1px solid #27272a;
    padding: 6px 12px;
    border-radius: 9px;
    cursor: pointer;
    pointer-events: all;
    min-height: 36px;
    width: 100%;
}

.t-lbl {
    font-size: 11px;
    color: #a1a1aa;
    font-weight: 600;
}

.t-price {
    font-size: 16px;
    font-weight: 700;
    color: #f8fafc;
}

.live-ticker.up .t-pct {
    color: #10b981;
    font-weight: 600;
    background-color: rgba(16, 185, 129, 0.1);
    padding: 2px 7px;
    border-radius: 6px;
    font-size: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
}

.live-ticker.down .t-pct {
    color: #ef4444;
    font-weight: 600;
    background-color: rgba(239, 68, 68, 0.1);
    padding: 2px 7px;
    border-radius: 6px;
    font-size: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
}

.streak-badge {
    background-color: #ea580c;
    color: white;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
}

.event-badge {
    border: 1px solid #f59e0b;
    color: #f59e0b;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    flex-direction: column;
    gap: 4px;
    pointer-events: all;
    cursor: pointer;
}

.event-tooltip {
    font-size: 12px;
    font-weight: 500;
    color: #a1a1aa;
    line-height: 18px;
}

.insider-banner {
    text-align: center;
    padding: 12px;
    font-size: 14px;
    font-weight: 700;
    border-radius: 8px;
    flex-shrink: 0;
}

.insider-up {
    background-color: rgba(16, 185, 129, 0.1);
    border: 1px solid #10b981;
    color: #10b981;
}

.insider-down {
    background-color: rgba(239, 68, 68, 0.1);
    border: 1px solid #ef4444;
    color: #ef4444;
}

/* â”€â”€ Settings Panel â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.settings-panel {
    display: flex;
    flex-direction: column;
    gap: 18px;
    width: 100%;
    background: linear-gradient(180deg, #101218, #0c0d12);
    border: 1px solid #20222a;
    border-radius: 16px;
    padding: 22px 24px;
    pointer-events: all;
}

.settings-cols {
    display: flex;
    flex-direction: row;
    gap: 16px;
    width: 100%;
    align-items: flex-start;
}

.settings-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

.settings-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px 18px;
    background-color: #14151b;
    border: 1px solid #242732;
    border-radius: 12px;
}

.settings-section-title {
    font-size: 15px;
    font-weight: 800;
    color: #f8fafc;
    min-height: 22px;
    margin-bottom: 2px;
}

.settings-info {
    font-size: 13px;
    color: #9ca3af;
    line-height: 20px;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.settings-section.danger {
    border-color: #ef4444;
    background-color: rgba(239, 68, 68, 0.08);
    gap: 6px;
    padding: 10px 14px;
}

.settings-section.danger .settings-info {
    color: #fee2e2;
}

.danger-btn {
    margin-top: 4px;
    padding: 10px 16px;
    border-radius: 8px;
    border: 1px solid #ef4444;
    background-color: #7f1d1d;
    color: #fee2e2;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    align-self: flex-start;
    pointer-events: all;
}

.danger-btn:hover {
    background-color: #b91c1c;
}

.save-btn {
    padding: 14px 24px;
    border-radius: 12px;
    border: 1px solid #3b82f6;
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.2), rgba(59, 130, 246, 0.08));
    color: #dbeafe;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
    pointer-events: all;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
}

.save-btn:hover:not(.saving) {
    background-color: #3b82f6;
    color: white;
}

.save-btn.saving {
    opacity: 0.7;
    pointer-events: none;
    border-color: #93c5fd;
    color: #93c5fd;
}

.save-btn .save-spin {
    width: 18px;
    height: 18px;
    padding: 0;
    animation: save-spin 0.9s linear infinite;
}

@keyframes save-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.settings-stats {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.ss-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 6px;
    border-bottom: 1px solid #1f2330;
    min-height: 28px;
}

.ss-lbl {
    font-size: 12px;
    color: #a1a1aa;
    min-height: 18px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.ss-val {
    font-size: 13px;
    font-weight: 800;
    color: #e4e4e7;
    min-height: 18px;
}

.settings-tips {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.tip-item {
    font-size: 13px;
    color: #cbd5f5;
    padding: 10px 12px;
    background-color: rgba(30, 41, 59, 0.5);
    border: 1px solid rgba(59, 130, 246, 0.18);
    border-radius: 8px;
    line-height: 18px;
    min-height: 28px;
}

.tip-item .ui-icon {
    width: 16px;
    height: 16px;
    line-height: 16px;
    font-size: 15px;
    margin-right: 6px;
    padding: 0;
}

.settings-about-layout {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    flex-wrap: wrap;
}

.settings-about-main {
    flex: 1;
}

.settings-about-title {
    font-size: 14px;
    font-weight: 700;
    color: #f8fafc;
    margin-bottom: 6px;
}

.settings-alpha-card {
    background-color: rgba(59, 130, 246, 0.08);
    border: 1px solid rgba(59, 130, 246, 0.2);
    border-radius: 8px;
    padding: 12px 16px;
    margin-top: 4px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.settings-alpha-title {
    font-size: 13px;
    color: #60a5fa;
    font-weight: 700;
}

.settings-alpha-text {
    font-size: 12px;
    color: #a1a1aa;
    line-height: 18px;
    font-style: italic;
}

.settings-about-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    min-width: 220px;
}

.settings-about-author {
    color: #f8fafc;
}

.settings-about-meta-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #cbd5e1;
    line-height: 18px;
}

.settings-about-meta-row .ui-icon {
    width: 16px;
    height: 16px;
    line-height: 16px;
    font-size: 15px;
    padding: 0;
    color: #94a3b8;
}

.settings-about-meta-row:last-child .ui-icon {
    color: #fb7185;
}

.pstat-val {
    font-size: 20px;
    font-weight: 800;
    color: #ffffff;
}

.pstat-lbl {
    font-size: 12px;
    font-weight: 600;
    color: #71717a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.achievements-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.achievement {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    background-color: #18181b;
    border: 1px solid #27272a;
    border-radius: 10px;
}

.achievement.locked {
    opacity: 0.5;
}

.ach-icon {
    font-size: 24px;
}

.ach-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ach-name {
    font-size: 14px;
    font-weight: 700;
    color: #f8fafc;
}

.ach-desc {
    font-size: 12px;
    color: #71717a;
}

.player-platform-info {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
}

.platform-stat {
    font-size: 13px;
    font-weight: 600;
    color: #ffffff;
}

.platform-dot {
    color: #52525b;
    font-size: 10px;
}

/* â”€â”€ Coming Soon Panel â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.coming-soon-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: 100%;
    max-width: 680px;
    background-color: #121214;
    border: 1px solid #27272a;
    border-radius: 16px;
    padding: 10px 16px;
    pointer-events: all;
    text-align: center;
    align-self: stretch;
}

.cs-icon {
    font-size: 64px;
}

.cs-title {
    font-size: 22px;
    font-weight: 800;
    color: #f8fafc;
}

.cs-desc {
    font-size: 14px;
    color: #71717a;
    line-height: 24px;
    max-width: 400px;
}

.cs-features {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    max-width: 520px;
}

.cs-feature {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background-color: #18181b;
    border: 1px solid #27272a;
    border-radius: 10px;
}

.cs-feature-icon {
    font-size: 22px;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #334155;
    background: linear-gradient(160deg, #111827, #0b1220);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05);
}

.cs-feature-icon.casino-icon {
    border-color: rgba(245, 158, 11, 0.45);
    background: linear-gradient(160deg, #3f1d0a, #6b2a0f);
}

.cs-feature-icon.chat-icon {
    border-color: rgba(59, 130, 246, 0.45);
    background: linear-gradient(160deg, #0f2a4b, #164781);
}

.cs-feature-icon.heritage-icon {
    border-color: rgba(192, 132, 252, 0.45);
    background: linear-gradient(160deg, #2a1840, #4b2a74);
}

.cs-feature-icon.coins-icon {
    border-color: rgba(20, 184, 166, 0.45);
    background: linear-gradient(160deg, #113d38, #0f766e);
}

.cs-feature-icon.futures-icon {
    border-color: rgba(56, 189, 248, 0.45);
    background: linear-gradient(160deg, #0f2f45, #155e75);
}

.cs-feature-icon.real-estate-icon {
    border-color: rgba(34, 197, 94, 0.45);
    background: linear-gradient(160deg, #112b1a, #166534);
}

.cs-feature-icon.bank-icon {
    border-color: rgba(148, 163, 184, 0.45);
    background: linear-gradient(160deg, #1f2937, #334155);
}

.cs-feature-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: left;
}

.cs-feature-name {
    font-size: 14px;
    font-weight: 700;
    color: #e4e4e7;
}

.cs-feature-desc {
    font-size: 12px;
    color: #71717a;
}

.cs-badge {
    font-size: 12px;
    font-weight: 700;
    color: #f59e0b;
    background-color: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(245, 158, 11, 0.3);
    padding: 6px 16px;
    border-radius: 100px;
    letter-spacing: 1px;
}

.panel-area {
    flex: 1;
    display: flex;
    flex-direction: column;
    pointer-events: all;
    overflow-y: scroll;
    min-height: 0;
}

.panel-title {
    font-size: 18px;
    font-weight: 700;
    color: #f8fafc;
    border-bottom: 1px solid #27272a;
    padding-bottom: 11px;
    margin-bottom: 18px;
}

/* Market Panel overrides */
.market-panel {
    display: flex;
    flex-direction: column;
    width: 100%;
    background-color: transparent;
    border: none;
    padding: 0;
    pointer-events: all;
}

.split-layout {
    flex-direction: row;
    gap: 18px;
    height: 100%;
    align-items: stretch;
}

/* â”€ Chart Column (Left) â”€ */
.chart-column {
    flex: 1;
    display: flex;
    flex-direction: column;
    background-color: #121214;
    border: 1px solid #27272a;
    border-radius: 16px;
    padding: 24px;
    gap: 20px;
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24);
}

.coin-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.coin-header-left {
    display: flex;
    align-items: center;
    gap: 20px;
    min-width: 0;
}

.c-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.c-icon {
    font-size: 24px;
    color: #f59e0b;
    background-color: rgba(245, 158, 11, 0.1);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-family: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Noto Color Emoji", "Twemoji Mozilla", Poppins, sans-serif;
}

.c-name {
    font-size: 28px;
    font-weight: 700;
    color: #f8fafc;
}

.c-ticker {
    font-size: 15px;
    font-weight: 600;
    color: #71717a;
    padding: 4px 8px;
    background-color: #18181b;
    border-radius: 6px;
}

.c-price-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.c-price {
    font-size: 24px;
    font-weight: 700;
    color: #f8fafc;
}

.c-change {
    font-size: 15px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 4px;
}

.c-change.up {
    color: #10b981;
    background-color: rgba(16, 185, 129, 0.1);
}

.c-change.down {
    color: #ef4444;
    background-color: rgba(239, 68, 68, 0.1);
}

.tf-selector {
    display: flex;
    align-items: stretch;
    gap: 4px;
    padding: 4px 6px;
    border-radius: 8px;
    background-color: #09090b;
    border: 1px solid #27272a;
    margin-left: auto;
}

.tf-divider {
    width: 1px;
    background-color: #27272a;
    margin: 0 4px;
}

.tf-label {
    font-size: 11px;
    color: #9ca3af;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 2px;
}

.tf-block {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 4px 8px;
    border-radius: 8px;
    background-color: rgba(24, 24, 27, 0.9);
    border: 1px solid #27272a;
}

.tf-buttons {
    display: flex;
    flex-direction: row;
    gap: 4px;
}

.tf-btn {
    padding: 4px 10px;
    font-size: 13px;
    font-weight: 600;
    color: #a1a1aa;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: all 0.2s;
}

.tf-btn:hover {
    color: #f8fafc;
}

.tf-btn.active {
    background-color: #3b82f6;
    color: #f8fafc;
}

.chart-area {
    flex: 1;
    width: 100%;
    min-height: 400px;
    border-radius: 0;
    position: relative;
    overflow: hidden;
    pointer-events: all;
    cursor: crosshair;
}

.chart-grid-line {
    position: absolute;
    left: 0;
    right: 0;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.04);
    pointer-events: none;
}

.chart-grid-mid {
    top: 50%;
}

.chart-grid-bottom {
    bottom: 10px;
}

.chart-label {
    position: absolute;
    top: 16px;
    left: 16px;
    font-size: 13px;
    color: #a1a1aa;
    font-weight: 600;
    z-index: 10;
    padding: 4px;
    border-radius: 4px;
    background-color: rgba(9, 9, 11, 0.5);
}

.chart-price-axis {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 60px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 10px 0;
    z-index: 5;
    pointer-events: none;
}

.chart-axis-lbl {
    font-size: 12px;
    color: #71717a;
    text-align: right;
    padding-right: 8px;
    font-family: monospace;
}

.chart-time-axis {
    position: absolute;
    bottom: 2px;
    left: 0;
    right: 60px;
    display: flex;
    justify-content: space-between;
    padding: 0 12px;
    font-size: 10px;
    color: #a1a1aa;
    pointer-events: none;
    z-index: 10;
    font-family: monospace;
}

.chart-canvas {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 60px;
    display: flex;
    align-items: flex-end;
    gap: 0;
}

/* â”€ Chart Global Gradients (VRAM Safe) â”€ */
.chart-line-seg {
    position: absolute;
    height: 2px;
    border-radius: 999px;
    box-shadow: 0 0 8px rgba(34, 197, 94, 0.5);
    transform-origin: left center;
    pointer-events: none;
}

.chart-bottom-info {
    display: flex;
    gap: 16px;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid #27272a;
}

.b-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 12px 16px;
    background-color: #09090b;
    border-radius: 12px;
}

.b-lbl {
    font-size: 13px;
    color: #71717a;
    font-weight: 600;
}

.b-val {
    font-size: 20px;
    font-weight: 700;
    color: #f8fafc;
}

/* â”€ Trade Column (Right) â”€ */
.trade-column {
    width: 340px;
    display: flex;
    flex-direction: column;
    background-color: #121214;
    border: 1px solid #27272a;
    border-radius: 16px;
    padding: 24px;
    gap: 20px;
    flex-shrink: 0;
    pointer-events: auto;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.24);
}

.t-header {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 8px;
}

.t-title {
    font-size: 20px;
    font-weight: 700;
    color: #f8fafc;
}

.t-tabs {
    display: flex;
    width: 100%;
    border-radius: 12px;
    background-color: #18181b;
    padding: 4px;
    gap: 4px;
}

.t-tab {
    flex: 1;
    padding: 12px 0;
    font-size: 15px;
    font-weight: 600;
    color: #71717a;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.t-tab:hover {
    color: #f8fafc;
}

.t-tab.buy-mode {
    background-color: #10b981;
    color: #fff;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.2);
}

.t-tab.sell-mode {
    background-color: #ef4444;
    color: #fff;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2);
}

.t-balances {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.t-row {
    display: flex;
    justify-content: space-between;
    font-size: 15px;
}

.t-lbl {
    color: #a1a1aa;
    font-weight: 500;
}

.t-val {
    color: #f8fafc;
    font-weight: 600;
    font-family: monospace;
}

.amount-box {
    display: flex;
    flex-direction: column;
    background-color: #09090b;
    border: 1px solid #27272a;
    border-radius: 12px;
    padding: 16px;
    gap: 8px;
    box-shadow: 0 0 24px rgba(15, 23, 42, 0.35);
}

.a-top {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
}

.a-lbl {
    color: #71717a;
    font-weight: 700;
}

.a-mid {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.a-val {
    font-size: 28px;
    font-weight: 700;
    color: #ffffff;
    font-family: monospace;
}

.a-unit {
    font-size: 17px;
    font-weight: 700;
    color: #71717a;
}

.a-sub {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 2px;
    padding: 0;
    gap: 8px;
}

.a-sub-label {
    text-transform: uppercase;
    letter-spacing: 0.8px;
    font-size: 11px;
    color: #cbd5e1;
    font-weight: 800;
}

.a-sub-val {
    color: #10b981;
    font-family: monospace;
    font-size: 16px;
    font-weight: 900;
}

.a-bot {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 8px;
}

.a-exact {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 4px;
}

.exact-label {
    font-size: 11px;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.exact-input-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.exact-input,
.exact-input input,
.exact-input .text {
    flex: 1;
    background-color: #0b0b0f;
    border: 1px solid #3f3f46;
    border-radius: 8px;
    padding: 8px 10px;
    min-height: 34px;
    font-size: 14px;
    font-weight: 700;
    color: #ffffff !important;
    font-family: monospace;
}

.exact-input .placeholder {
    color: #52525b;
}

.exact-unit {
    font-size: 12px;
    font-weight: 700;
    color: #94a3b8;
}

.exact-clear {
    padding: 6px 10px;
    border-radius: 8px;
    border: 1px solid #334155;
    background-color: #0f172a;
    color: #e2e8f0;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.exact-clear:hover {
    border-color: #60a5fa;
    box-shadow: 0 0 8px rgba(96, 165, 250, 0.3);
}

.exact-hint {
    font-size: 11px;
    color: #71717a;
}

.t-estimate {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    padding: 16px 0;
    border-top: 1px solid #27272a;
    flex-direction: column;
    gap: 6px;
}

.e-lbl {
    font-size: 15px;
    color: #a1a1aa;
    font-weight: 500;
}

.e-val {
    font-size: 22px;
    font-weight: 700;
    color: #f8fafc;
    font-family: monospace;
}

.sell-fee-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-top: 2px;
    padding: 0;
    gap: 8px;
}

.sell-fee-row.is-hidden {
    opacity: 0;
    pointer-events: none;
}

.sell-fee-label {
    color: #94a3b8;
}

.sell-fee-value {
    color: #ef4444;
    font-family: monospace;
    font-size: 14px;
    font-weight: 900;
}

.mini-history {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 0 10px;
    border-top: 1px solid #27272a;
}

.mini-history-title {
    font-size: 11px;
    font-weight: 800;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.mini-history-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    overflow: hidden;
}

.mini-history-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 30px;
    padding: 6px 10px;
    border-radius: 10px;
    border: 1px solid #27272a;
    background-color: #0b0b0f;
}

.mini-history-row.is-entering {
    animation: mini-history-enter 0.52s cubic-bezier(0.16, 0.88, 0.24, 1);
}

.mini-history-row.is-sinking {
    animation: mini-history-sink 0.52s cubic-bezier(0.16, 0.88, 0.24, 1);
}

.mini-history-row.buy {
    border-left: 3px solid #10b981;
}

.mini-history-row.sell {
    border-left: 3px solid #ef4444;
}

.mini-history-type {
    min-width: 34px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.mini-history-row.buy .mini-history-type {
    color: #10b981;
}

.mini-history-row.sell .mini-history-type {
    color: #ef4444;
}

.mini-history-qty {
    flex: 1;
    min-width: 0;
    color: #e2e8f0;
    font-size: 12px;
    font-weight: 700;
}

.mini-history-price {
    color: #cbd5e1;
    font-family: monospace;
    font-size: 12px;
    font-weight: 800;
}

.mini-history-empty {
    color: #71717a;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 0 0;
}

@keyframes mini-history-enter {
    0% {
        opacity: 0;
        transform: translateY(-28px) scale(0.94);
    }

    55% {
        opacity: 1;
        transform: translateY(2px) scale(1.01);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes mini-history-sink {
    0% {
        transform: translateY(-22px);
        opacity: 0.72;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.confirm-btn {
    width: 100%;
    padding: 18px;
    font-size: 18px;
    font-weight: 700;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s;
    color: #ffffff;
    text-align: center;
    margin-top: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 8px 0 rgba(0, 0, 0, 0.28);
}

.confirm-btn.buy {
    background-color: #10b981;
}

.confirm-btn.buy:hover {
    background-color: #34d399;
    transform: translateY(-1px);
    box-shadow: 0 9px 0 rgba(0, 0, 0, 0.28);
}

.confirm-btn.sell {
    background-color: #ef4444;
}

.confirm-btn.sell:hover {
    background-color: #f87171;
    transform: translateY(-1px);
    box-shadow: 0 9px 0 rgba(0, 0, 0, 0.28);
}

.market-tutorial-hint {
    position: absolute;
    bottom: 20px;
    left: 20px;
}

/* Percent Buttons override from original */
.pct-btn {
    flex: 0 0 auto;
    padding: 4px 8px;
    background-color: #18181b;
    color: #71717a;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    border: 1px solid #27272a;
    cursor: pointer;
    transition: all 0.1s;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
}

.pct-btn:hover {
    background-color: #27272a;
    color: #f8fafc;
}

.pct-btn.active {
    background-color: #3b82f6;
    color: #ffffff;
    border-color: #3b82f6;
}

.chart-header-info {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 10;
    display: flex;
    align-items: baseline;
    gap: 8px;
    pointer-events: none;
}

.chart-symbol {
    font-size: 14px;
    font-weight: 700;
    color: #f8fafc;
}

.chart-tf {
    font-size: 12px;
    font-weight: 600;
    color: #a1a1aa;
    background-color: rgba(39, 39, 42, 0.8);
    padding: 2px 6px;
    border-radius: 4px;
}

.candle-body {
    width: 9px;
    border-radius: 2px;
    z-index: 2;
}

.candle-body.bull {
    background-color: #10b981;
}

.candle-body.bear {
    background-color: #ef4444;
}

.stat-group {
    display: flex;
    gap: 24px;
    align-items: center;
    flex-wrap: wrap;
}

.stat {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex-shrink: 0;
    justify-content: center;
    min-height: 48px;
}

.stat-label {
    font-size: 12px;
    letter-spacing: 1.5px;
    color: #71717a;
    text-transform: uppercase;
    font-weight: 600;
    display: flex;
    align-items: center;
    padding: 2px 4px 2px 0;
}

.stat-val {
    font-size: 16px;
    font-weight: 800;
    color: #f8fafc;
    text-shadow: 0px 1px 3px rgba(0, 0, 0, 0.8);
    flex-shrink: 0;
    white-space: nowrap;
    display: flex;
    align-items: center;
    padding: 4px 6px 4px 0;
}

.trade-controls {
    display: flex;
    gap: 24px;
    align-items: stretch;
    margin-top: 8px;
    flex-shrink: 0;
}

.trade-info {
    font-size: 14px;
    color: #a1a1aa;
    margin-bottom: 12px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 0;
}

.trade-info b {
    font-size: 16px;
    color: #f8fafc;
    display: flex;
    align-items: center;
    padding: 0 4px;
}

.buy-btn {
    flex: 1;
    padding: 18px 24px;
    border-radius: 12px;
    border: none;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    pointer-events: all;
    background-color: rgba(16, 185, 129, 0.1);
    border: 1px solid #10b981;
    color: #10b981;
    transition: transform 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.buy-btn:hover {
    background-color: #10b981;
    color: #ffffff;
}

.sell-btn {
    flex: 1;
    padding: 18px 24px;
    border-radius: 12px;
    border: none;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    pointer-events: all;
    background-color: rgba(239, 68, 68, 0.1);
    border: 1px solid #ef4444;
    color: #ef4444;
    transition: transform 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sell-btn:hover {
    background-color: #ef4444;
    color: #ffffff;
}

.pct-btn {
    flex: 1;
    padding: 12px 0;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    pointer-events: all;
    background-color: #18181b;
    border: 1px solid #27272a;
    color: #a1a1aa;
    transition: all 0.1s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pct-btn.sel {
    background-color: #2563eb;
    border-color: #2563eb;
    color: #ffffff;
}

.pct-btn:hover:not(.sel) {
    border-color: #2563eb;
    color: #f8fafc;
}

.tutorial-hint {
    padding: 16px 20px;
    background-color: rgba(59, 130, 246, 0.1);
    border: 1px solid rgba(59, 130, 246, 0.3);
    border-radius: 12px;
    font-size: 15px;
    color: #60a5fa;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    min-height: 60px;
    white-space: normal;
    margin-top: 16px;
}

/* â”€â”€ Bot Panel â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.bot-panel {
    display: flex;
    flex-direction: row;
    gap: 18px;
    width: 100%;
    pointer-events: all;
    min-height: 0;
}

/* Left: bot cards list */
.bp-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
    min-height: 0;
    background-color: #121214;
    border: 1px solid #27272a;
    border-radius: 16px;
    padding: 24px;
    overflow-y: scroll;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

/* Right: trades + shop sidebar */
.bp-right {
    width: 370px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bp-empty {
    text-align: center;
    padding: 28px 20px;
    font-size: 14px;
    color: #71717a;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.bp-empty-icon {
    font-size: 40px;
    margin-bottom: 4px;
    font-family: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Noto Color Emoji", "Twemoji Mozilla", Poppins, sans-serif;
}

.bp-empty-title {
    font-size: 18px;
    font-weight: 800;
    color: #f8fafc;
}

.bp-empty-text {
    font-size: 14px;
    font-weight: 600;
    color: #cbd5e1;
    max-width: 320px;
    line-height: 22px;
}

.bp-empty-tip {
    margin-top: 8px;
    font-size: 12px;
    font-weight: 700;
    color: #93c5fd;
    background-color: rgba(59, 130, 246, 0.1);
    border: 1px solid rgba(59, 130, 246, 0.28);
    padding: 10px 12px;
    border-radius: 12px;
    line-height: 18px;
    pointer-events: all;

    &.clickable {
        cursor: pointer;
        transition: all 0.12s ease;

        &:hover {
            background-color: rgba(59, 130, 246, 0.25);
            border-color: rgba(59, 130, 246, 0.5);
            transform: translateY(-1px);
        }

        &:active {
            transform: translateY(1px);
        }
    }
}

/* â”€â”€ Bot Summary (right column, when no trades) â”€â”€ */
.bp-summary {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px 16px;
    background-color: #121214;
    border: 1px solid #27272a;
    border-left: 3px solid #3b82f6;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.bp-summary-title {
    font-size: 14px;
    font-weight: 800;
    color: #f8fafc;
    margin-bottom: 4px;
}

.bp-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-size: 13px;
    border-bottom: 1px solid #1f2330;
}

.bp-summary-row:last-child {
    border-bottom: none;
}

.bp-summary-lbl {
    color: #a1a1aa;
    font-weight: 600;
}

.bp-summary-val {
    font-weight: 800;
    color: #e4e4e7;
}

/* â”€â”€ Active Trades (right column) â”€â”€ */
.active-trades-section {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px 16px;
    background-color: #121214;
    border: 1px solid #27272a;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    border-left: 3px solid #3b82f6;
}

.active-trades-title {
    font-size: 14px;
    font-weight: 800;
    color: #dbeafe;
    margin-bottom: 2px;
}

.active-trade-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background-color: #18181b;
    border: 1px solid #27272a;
    border-radius: 8px;
}

.atr-left {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 120px;
}

.atr-metric {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 90px;
}

.atr-bot {
    color: #f8fafc;
    font-size: 13px;
    font-weight: 700;
}

.atr-label {
    font-size: 11px;
    font-weight: 700;
    color: #a1a1aa;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.atr-coins {
    font-weight: 700;
    font-size: 13px;
}

.atr-pnl {
    font-weight: 700;
    font-size: 13px;
}

.atr-sell-btn {
    margin-left: auto;
}

/* â”€â”€ Shop (right column) â”€â”€ */
.bp-shop {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px;
    background-color: #121214;
    border: 1px solid #27272a;
    border-left: 3px solid #3b82f6;
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.bp-shop-title {
    font-size: 14px;
    font-weight: 800;
    color: #f8fafc;
    margin-bottom: 4px;
    letter-spacing: 0.3px;
}

.bp-slots {
    font-size: 12px;
    color: #94a3b8;
    text-align: right;
    font-weight: 700;
    margin-top: 4px;
}

/* â”€â”€ Bot Help panel â”€â”€ */
.bp-info-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 12px;
    background-color: #121214;
    border: 1px solid #27272a;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
    border-left: 2px solid #3b82f6;
}

.bp-offline-tip {
    margin-top: 0;
    border-left-color: #10b981;
}

.bp-offline-title {
    font-size: 13px;
    font-weight: 800;
    color: #f8fafc;
    line-height: 16px;
    letter-spacing: 0.3px;
    margin-bottom: 2px;
}

.bp-offline-text {
    font-size: 12px;
    font-weight: 600;
    color: #cbd5e1;
    line-height: 16px;
}

.bp-help-title {
    font-size: 13px;
    font-weight: 800;
    color: #f8fafc;
    line-height: 16px;
    letter-spacing: 0.3px;
    margin-bottom: 2px;
}

.bp-help-row {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    font-size: 12px;
    font-weight: 600;
    line-height: 16px;
    color: #cbd5e1;
}

.bp-help-key {
    min-width: 62px;
    margin-right: 6px;
    color: #dbeafe;
    font-weight: 800;
}

.buy-bot-btn {
    padding: 11px 12px;
    border-radius: 10px;
    border: 1px solid #27272a;
    border-left: 3px solid #3b82f6;
    background-color: #18181b;
    color: #f8fafc;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    pointer-events: all;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all 0.2s;
    min-height: 56px;
}

.buy-bot-btn:hover:not(.disabled) {
    border-color: #3b82f6;
    background-color: #1e1e22;
    transform: translateY(-1px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.buy-bot-btn.disabled {
    opacity: 0.5;
    pointer-events: none;
    border-left-color: #334155;
}

.buy-icon {
    font-size: 22px;
    font-family: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Noto Color Emoji", "Twemoji Mozilla", Poppins, sans-serif;
}

.buy-info {
    display: flex;
    flex-direction: column;
    gap: 1px;
    flex: 1;
}

.buy-name {
    font-size: 14px;
    font-weight: 800;
    color: #e4e4e7;
}

.buy-price {
    font-size: 12px;
    font-weight: 600;
    color: #a1a1aa;
}

.buy-tag {
    font-size: 10px;
    font-weight: 800;
    padding: 4px 8px;
    border-radius: 100px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.buy-tag.locked {
    color: #fbbf24;
    background-color: rgba(251, 191, 36, 0.12);
    border: 1px solid rgba(251, 191, 36, 0.25);
}

.buy-tag.full {
    color: #ef4444;
    background-color: rgba(239, 68, 68, 0.12);
    border: 1px solid rgba(239, 68, 68, 0.25);
}

.buy-tag.poor {
    color: #a1a1aa;
    background-color: rgba(113, 113, 122, 0.12);
    border: 1px solid rgba(113, 113, 122, 0.25);
}

/* â”€â”€ Bot Cards â”€â”€ */
.bot-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px;
    border-radius: 12px;
    background-color: #18181b;
    border: 1px solid #27272a;
    transition: border-color 0.2s, background-color 0.2s;
    height: auto;
    overflow: visible;
    flex: 0 0 auto;
    align-self: stretch;
    width: 100%;
}

.bot-section-title {
    font-size: 11px;
    font-weight: 900;
    color: #a1a1aa;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-top: 2px;
}

.bot-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.bot-block {
    flex: 1;
    min-width: 0;
    background-color: #101115;
    border: 1px solid #27272a;
    border-radius: 10px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bot-block.full {
    width: 100%;
}

.bot-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.bot-row .bot-block {
    flex: 1 1 260px;
}

.bot-block-title {
    font-size: 11px;
    font-weight: 900;
    color: #a1a1aa;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.bot-card.active {
    border-color: #3b82f6;
    background-color: #1b1d26;
    box-shadow: 0 0 16px rgba(59, 130, 246, 0.14);
}

.bot-card.broken {
    border-color: #ef4444;
    background-color: rgba(239, 68, 68, 0.05);
}

.bot-card.paused {
    border-color: #3f3f46;
}

.bot-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
}

.bot-icon {
    font-size: 28px;
    font-family: "Segoe UI Emoji", "Segoe UI Symbol", "Apple Color Emoji", "Noto Color Emoji", "Twemoji Mozilla", Poppins, sans-serif;
}

.bot-name {
    font-size: 16px;
    font-weight: 800;
    color: #f8fafc;
    flex-grow: 1;
}

.strip-event {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background-color: #121214;
    border: 1px solid #27272a;
    border-radius: 12px;
    gap: 16px;
    transition: all 0.3s ease;
}

@keyframes pulse-glow {
    0% {
        box-shadow: 0 0 8px rgba(245, 158, 11, 0.2);
        border-color: rgba(245, 158, 11, 0.4);
    }

    50% {
        box-shadow: 0 0 16px rgba(245, 158, 11, 0.6);
        border-color: rgba(245, 158, 11, 0.8);
    }

    100% {
        box-shadow: 0 0 8px rgba(245, 158, 11, 0.2);
        border-color: rgba(245, 158, 11, 0.4);
    }
}

.strip-event.event-glow {
    animation: pulse-glow 2s infinite ease-in-out;
}

.e-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.bot-metrics {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
    background-color: transparent;
    border: none;
}

.b-metric {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}

.bm-lbl {
    font-size: 11px;
    font-weight: 800;
    color: #71717a;
    letter-spacing: 0.4px;
}

.bm-val {
    font-size: 14px;
    font-weight: 800;
    color: #e4e4e7;
}

.bm-sub {
    font-size: 10px;
    color: #71717a;
    margin-left: 4px;
}

.bot-position {
    padding: 8px 10px;
    background-color: rgba(16, 185, 129, 0.08);
    border: 1px solid rgba(16, 185, 129, 0.25);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bot-position-details {
    display: flex;
    gap: 10px;
    align-items: center;
    font-size: 13px;
    font-weight: 600;
    flex-wrap: wrap;
}

.bot-position-params {
    display: flex;
    gap: 8px;
    align-items: center;
}

.bpp-tag {
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    letter-spacing: 0.3px;
}

.bpp-tag.clr-green {
    background-color: rgba(16, 185, 129, 0.12);
}

.bpp-tag.clr-red {
    background-color: rgba(239, 68, 68, 0.12);
}

.bot-no-position {
    padding: 8px 10px;
    background-color: rgba(113, 113, 122, 0.08);
    border: 1px solid rgba(113, 113, 122, 0.3);
    border-radius: 8px;
    color: #71717a;
    font-size: 13px;
    text-align: center;
    font-style: italic;
}

.bot-last-trade {
    padding: 8px 10px;
    background-color: #1e1e22;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    color: #a1a1aa;
    display: flex;
    gap: 6px;
    align-items: baseline;
}

.blt-label {
    font-size: 12px;
    font-weight: 600;
    color: #71717a;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.blt-text {
    font-size: 13px;
    font-weight: 600;
    color: #e5e5e5;
}

.bot-bars {
    display: flex;
    flex-direction: column;
    gap: 6px;
    background-color: transparent;
    border: none;
    padding: 0;
}

.toggle-btn {
    padding: 7px 12px;
    border-radius: 8px;
    border: 1px solid #3b82f6;
    background-color: rgba(59, 130, 246, 0.08);
    color: #3b82f6;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    pointer-events: all;
    transition: all 0.15s;
}

.toggle-btn:hover {
    background-color: #3b82f6;
    color: #ffffff;
}

.toggle-btn.off {
    border-color: #52525b;
    background-color: rgba(113, 113, 122, 0.08);
    color: #a1a1aa;
}

.refuel-btn {
    padding: 7px 12px;
    border-radius: 8px;
    border: 1px solid #10b981;
    background-color: rgba(16, 185, 129, 0.1);
    color: #10b981;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    pointer-events: all;
    transition: all 0.15s;
}

.refuel-btn:hover {
    background-color: #10b981;
    color: #0b1120;
}

.bot-fuel-container {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bot-quality-container {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bot-fuel-lbl {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 700;
    color: #a1a1aa;
}

.bot-quality-label {
    font-size: 12px;
    font-weight: 800;
}

.bot-fuel-bar {
    width: 100%;
    height: 5px;
    background-color: #27272a;
    border-radius: 4px;
    overflow: hidden;
}

.bot-fuel-fill {
    height: 100%;
    background-color: #10b981;
    transition: width 1s linear, background-color 0.3s;
}

.bot-fuel-fill.empty {
    background-color: #ef4444;
}

.bot-quality-fill {
    background-color: #3b82f6;
}

.bot-energy-fill {
    background-color: #facc15;
}

.bot-card-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    background-color: transparent;
    border: none;
    padding: 0;
}

/* â”€â”€ Bot Settings Controls â”€â”€ */
.bot-settings {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px;
    background-color: transparent;
    border-radius: 8px;
    border: none;
    padding: 0;
}

.bot-settings-title {
    font-size: 12px;
    font-weight: 700;
    color: #71717a;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

.bot-setting-row {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    flex-wrap: wrap;
}

.bs-label {
    font-size: 12px;
    font-weight: 600;
    color: #a1a1aa;
    flex: 0 0 auto;
    min-width: 90px;
}

.bs-controls {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.bs-btn {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    border: 1px solid #3b82f6;
    background-color: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    pointer-events: all;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bs-btn:hover {
    background-color: #3b82f6;
    color: white;
}

.bs-value {
    font-size: 13px;
    font-weight: 800;
    color: #f8fafc;
    min-width: 60px;
    text-align: center;
}

.bs-hint {
    font-size: 11px;
    color: #71717a;
    margin-left: auto;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.bs-hint-max {
    font-weight: 700;
    color: #a1a1aa;
}

.bot-settings-legend {
    font-size: 11px;
    color: #a1a1aa;
    margin-top: 4px;
    line-height: 16px;
}

.calibrate-btn {
    flex: 1;
    min-height: 32px;
    padding: 7px 10px;
    border-radius: 8px;
    border: 1px solid #3b82f6;
    background-color: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    pointer-events: all;
    text-align: center;
}

.calibrate-btn:hover:not(.disabled) {
    background-color: #3b82f6;
    color: white;
}

.calibrate-btn.disabled {
    opacity: 0.4;
    pointer-events: none;
}

.autonomy-btn {
    flex: 1;
    min-height: 32px;
    padding: 7px 10px;
    border-radius: 8px;
    border: 1px solid #facc15;
    background-color: rgba(250, 204, 21, 0.08);
    color: #facc15;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    pointer-events: all;
    text-align: center;
}

.autonomy-btn:hover:not(.disabled) {
    background-color: #facc15;
    color: #0b1120;
}

.autonomy-btn.disabled {
    opacity: 0.4;
    pointer-events: none;
}

.scrap-btn {
    min-height: 32px;
    padding: 7px 10px;
    border-radius: 8px;
    border: 1px solid #52525b;
    background-color: rgba(113, 113, 122, 0.08);
    color: #a1a1aa;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    pointer-events: all;
    transition: all 0.15s;
}

.scrap-btn:hover {
    border-color: #ef4444;
    color: #ef4444;
    background-color: rgba(239, 68, 68, 0.1);
}

.clr-green {
    color: #10b981 !important;
}

.clr-red {
    color: #ef4444 !important;
}

/* â”€â”€ Offline Earnings Popup â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.offline-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(2, 6, 23, 0.62);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    pointer-events: all;
    backdrop-filter: blur(7px);
}

.offline-popup {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.08) 0%, #151926 24%, #0f131d 100%);
    border: 1px solid #2f3a4d;
    border-radius: 20px;
    padding: 20px 20px 18px;
    max-width: 420px;
    width: 100%;
    box-shadow: 0 24px 60px rgba(2, 6, 23, 0.62);
}

.offline-head {
    display: flex;
    align-items: center;
    gap: 14px;
}

.offline-icon-wrap {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(59, 130, 246, 0.28);
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.92), rgba(15, 23, 42, 0.96));
    box-shadow: 0 8px 18px rgba(2, 6, 23, 0.26);
}

.offline-copy {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.offline-kicker {
    font-size: 10px;
    font-weight: 800;
    line-height: 12px;
    color: #60a5fa;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.offline-icon {
    font-size: 42px;
    color: #93c5fd;
}

.offline-icon .ui-icon {
    width: 42px;
    height: 42px;
    line-height: 42px;
    font-size: 40px;
}

.offline-title {
    font-size: 20px;
    font-weight: 800;
    line-height: 24px;
    color: #f8fafc;
    text-align: left;
}

.offline-subtitle {
    font-size: 12px;
    color: #94a3b8;
    text-align: left;
    line-height: 16px;
}

.offline-stats {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}

.offline-stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    background-color: rgba(9, 13, 21, 0.9);
    border-radius: 12px;
    border: 1px solid #263041;
    box-shadow: 0 4px 12px rgba(2, 6, 23, 0.18);
}

.offline-stat.earnings {
    border-color: rgba(16, 185, 129, 0.42);
    background:
        linear-gradient(180deg, rgba(16, 185, 129, 0.16), rgba(16, 185, 129, 0.08)),
        rgba(9, 13, 21, 0.9);
    box-shadow: 0 0 18px rgba(16, 185, 129, 0.12);
}

.offline-stat-lbl {
    font-size: 12px;
    font-weight: 700;
    line-height: 15px;
    color: #a5b4c9;
}

.offline-stat-val {
    font-size: 16px;
    font-weight: 800;
    line-height: 20px;
    color: #f8fafc;
}

.offline-stat.earnings .offline-stat-val {
    font-size: 24px;
    line-height: 28px;
    letter-spacing: -0.02em;
    text-shadow: 0 0 14px rgba(16, 185, 129, 0.16);
}

.offline-note {
    font-size: 11px;
    color: #a5b4c9;
    text-align: left;
    line-height: 15px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid rgba(51, 65, 85, 0.65);
    background-color: rgba(15, 23, 42, 0.55);
}

.offline-btn {
    width: 100%;
    padding: 11px;
    border-radius: 12px;
    border: none;
    background: linear-gradient(180deg, #2563eb, #1d4ed8);
    color: white;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.2px;
    cursor: pointer;
    pointer-events: all;
}

.offline-btn:hover {
    background-color: #3b82f6;
}

/* â”€â”€ Rank Up Popup (Beautiful Pop) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.rankup-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(2, 6, 23, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 20000;
    pointer-events: all;
    backdrop-filter: blur(8px);
    animation: rankup-fadein 0.35s ease-out;
}

@keyframes rankup-fadein {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.rankup-popup {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    background: linear-gradient(170deg, #12141c 0%, #0b0d14 100%);
    border: 2px solid #fbbf24;
    border-radius: 26px;
    padding: 22px 24px 24px;
    width: 610px;
    max-width: 92%;
    overflow: hidden;
    box-shadow: 0 42px 110px rgba(0, 0, 0, 0.82), 0 0 0 1px rgba(255, 255, 255, 0.03);
    animation: rankup-pop 0.6s cubic-bezier(0.17, 0.89, 0.32, 1.27);
}

@keyframes rankup-pop {
    from {
        opacity: 0;
        transform: scale(0.92) translateY(20px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.rankup-glow {
    position: absolute;
    left: -10%;
    right: -10%;
    top: -20%;
    height: 220px;
    filter: blur(90px);
    pointer-events: none;
    z-index: 0;
}

.rankup-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 16px;
    width: 100%;
    background-color: transparent !important;
    position: relative;
    z-index: 1;
}

.rankup-title {
    font-size: 13px;
    font-weight: 900;
    line-height: 16px;
    color: #ffffff;
    opacity: 0.92;
    letter-spacing: 4px;
    text-transform: uppercase;
    margin-bottom: 6px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 999px;
    padding: 4px 10px;
}

.rankup-subtitle {
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
    color: #cbd5e1;
    letter-spacing: 0.2px;
    margin-bottom: 14px;
}

.rankup-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 116px;
    height: 116px;
    border-radius: 24px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    background-color: rgba(255, 255, 255, 0.03);
    margin-bottom: 12px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.rankup-icon {
    font-size: 74px;
    background-color: transparent !important;
    border: none;
    line-height: 74px;
    height: 74px;
    filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.5));
}

.rankup-icon .ui-icon {
    width: 70px;
    height: 70px;
    line-height: 70px;
    font-size: 68px;
    padding: 0px;
}

.rankup-name {
    font-size: 44px;
    font-weight: 1000;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: -0.8px;
    margin-top: 0;
    margin-bottom: 8px;
    line-height: 50px;
}

.rankup-benefits {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    margin-bottom: 16px;
    position: relative;
    z-index: 1;
}

.benefit-item {
    display: flex;
    align-items: center;
    gap: 14px;
    background-color: rgba(2, 6, 23, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 12px;
    padding: 12px 14px;
    box-shadow: none;
}

.benefit-icon {
    font-size: 22px;
    background-color: transparent !important;
}

.benefit-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
}

.benefit-label {
    font-size: 11px;
    font-weight: 800;
    color: #94a3b8 !important;
    text-transform: uppercase;
    letter-spacing: 1.1px;
    line-height: 14px;
    opacity: 1;
}

.benefit-val {
    font-size: 20px;
    font-weight: 900;
    color: #f8fafc;
    line-height: 24px;
}

.rankup-footer {
    width: 100%;
    position: relative;
    z-index: 1;
}

.rankup-btn {
    width: 100%;
    padding: 14px;
    border-radius: 10px;
    border: none;
    color: #ffffff;
    font-size: 14px;
    letter-spacing: 0.8px;
    font-weight: 900;
    cursor: pointer;
    pointer-events: all;
    text-transform: uppercase;
    box-shadow: 0 10px 22px rgba(2, 6, 23, 0.45);
    transition: transform 0.16s ease, filter 0.16s ease, box-shadow 0.16s ease;
}

.rankup-btn:hover {
    filter: brightness(1.15);
    transform: translateY(-2px);
    box-shadow: 0 14px 26px rgba(0, 0, 0, 0.4);
}

.rankup-btn:active {
    transform: translateY(0) scale(0.995);
}

/* â”€â”€ Upgrade Panel Overrides â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.upgrade-panel {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    height: 100%;
    background-color: #121214;
    border: 1px solid #27272a;
    border-radius: 16px;
    padding: 18px 14px;
    pointer-events: all;
    flex-shrink: 1;
}

.upgrade-panel .panel-title {
    margin-bottom: 10px;
}

.upgrade-intro {
    font-size: 14px;
    color: #cbd5f5;
    font-weight: 600;
    margin-top: 6px;
    margin-bottom: 12px;
    line-height: 20px;
}

.upgrade-scroll-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: scroll;
    flex: 1;
    padding-right: 2px;
    flex-shrink: 0;
}


.upgrade-category-title {
    font-size: 16px;
    font-weight: 800;
    color: #f8fafc;
    margin-top: 15px;
    margin-bottom: 10px;
    text-transform: none;
    letter-spacing: 0;
    flex-shrink: 0;
    line-height: 20px;
    display: flex;
    align-items: center;
    padding-left: 4px;
}


.upgrade-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    width: 100%;
    flex-shrink: 0;
}

.upgrade-card {
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding: 16px;
    border-radius: 12px;
    background-color: #18181b;
    border: 1px solid #27272a;
    width: 24%;
    min-width: 190px;
    flex: 1 1 230px;
    flex-shrink: 1;
}


.upgrade-card.owned {
    border-color: #fbbf24;
    background-color: rgba(251, 191, 36, 0.05);
}

.upgrade-card.locked {
    border-color: #3f3f46;
    background-color: rgba(24, 24, 27, 0.9);
}

.upgrade-footer-tip {
    padding: 10px 14px;
    background-color: rgba(59, 130, 246, 0.04);
    border: 1px solid rgba(59, 130, 246, 0.15);
    border-radius: 8px;
    flex-shrink: 0;
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.upgrade-footer-tip.owned {
    background-color: rgba(251, 191, 36, 0.06);
    border-color: rgba(251, 191, 36, 0.2);
    text-align: center;
}

.tip-title {
    font-size: 13px;
    color: #fbbf24;
    font-weight: 700;
}

.tip-desc {
    font-size: 11px;
    color: #93c5fd;
    font-weight: 500;
}

.upgrade-icon {
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 1px;
    background-color: rgba(148, 163, 184, 0.12);
    border: 1px solid rgba(148, 163, 184, 0.3);
    padding: 6px 8px;
    border-radius: 8px;
    color: #e2e8f0;
    min-width: 44px;
    text-align: center;
}

.upgrade-icon.vpn-icon {
    background-color: rgba(59, 130, 246, 0.18);
    border-color: rgba(59, 130, 246, 0.4);
    color: #bfdbfe;
}

.upgrade-icon.server-icon {
    background-color: rgba(16, 185, 129, 0.16);
    border-color: rgba(16, 185, 129, 0.4);
    color: #bbf7d0;
}

.upgrade-icon.gpu-icon {
    background-color: rgba(245, 158, 11, 0.18);
    border-color: rgba(245, 158, 11, 0.45);
    color: #fde68a;
}

.upgrade-icon.sat-icon {
    background-color: rgba(168, 85, 247, 0.18);
    border-color: rgba(168, 85, 247, 0.45);
    color: #e9d5ff;
}

.upgrade-icon.hash-icon {
    background-color: rgba(34, 197, 94, 0.16);
    border-color: rgba(34, 197, 94, 0.4);
    color: #bbf7d0;
}

.upgrade-icon.reward-icon {
    background-color: rgba(14, 165, 233, 0.16);
    border-color: rgba(14, 165, 233, 0.4);
    color: #bae6fd;
}

.upgrade-icon.insider-icon {
    background-color: rgba(244, 63, 94, 0.18);
    border-color: rgba(244, 63, 94, 0.45);
    color: #fecdd3;
}

.upgrade-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.upgrade-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
}

.upgrade-pill {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 6px 8px;
    border-radius: 999px;
    background-color: rgba(59, 130, 246, 0.15);
    border: 1px solid rgba(59, 130, 246, 0.35);
    color: #93c5fd;
}

.upgrade-lines {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 4px;
    padding-bottom: 5px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.upgrade-line {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font-size: 12px;
}

.upgrade-line-label {
    color: #94a3b8;
    font-weight: 700;
    letter-spacing: 0.4px;
}

.upgrade-line-value {
    color: #f8fafc;
    font-weight: 700;
}

.upgrade-name {
    font-size: 16px;
    font-weight: 800;
    color: #f8fafc;
    display: flex;
    align-items: center;
    min-height: 22px;
}

.upgrade-desc {
    font-size: 12px;
    color: #cbd5f5;
    margin-top: 2px;
    display: flex;
    align-items: center;
}

.upgrade-btn {
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid #334155;
    background-color: #1b1f27;
    color: #e2e8f0;
    font-size: 12px;
    line-height: 16px;
    font-weight: 800;
    cursor: pointer;
    pointer-events: all;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    transition: border-color 0.12s, opacity 0.12s;
}

.upgrade-btn:hover:not(.disabled) {
    border-color: #64748b;
}

.upgrade-btn.disabled {
    opacity: 0.55;
    pointer-events: none;
    border-color: #3f3f46;
    background-color: rgba(148, 163, 184, 0.08);
    color: #94a3b8;
}

.upgrade-btn.can-afford {
    border-color: rgba(59, 130, 246, 0.55);
    color: #bfdbfe;
    background-color: rgba(59, 130, 246, 0.10);
}

.upgrade-btn.can-afford:hover {
    background-color: rgba(59, 130, 246, 0.18);
}

.upgrade-btn.cant-afford {
    border-color: #3f3f46;
    color: #94a3b8;
    background-color: rgba(148, 163, 184, 0.08);
}

.upgrade-btn.maxed {
    border-color: rgba(16, 185, 129, 0.55);
    color: #86efac;
    background-color: rgba(16, 185, 129, 0.10);
}

.atr-sell-btn {
    background-color: #ef4444;
    color: white;
    border: none;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    cursor: pointer;
    pointer-events: all;
    transition: all 0.2s;
    margin-left: 8px;
    line-height: 14px;

    &:hover {
        background-color: #dc2626;
        transform: translateY(-1px);
    }

    &:active {
        transform: translateY(1px);
    }
}

/* â”€â”€ Leaderboard Panel Overrides â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.lb-panel {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    height: 100%;
    min-height: 0;
    align-items: stretch;
    background-color: #121214;
    border: 1px solid #27272a;
    border-radius: 16px;
    padding: 24px;
    pointer-events: all;
}

.lb-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #27272a;
    width: 100%;
}

.lb-title-block {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.lb-title {
    font-size: 20px;
    font-weight: 800;
    color: #f8fafc;
    line-height: 26px;
}

.lb-subtitle {
    font-size: 12px;
    color: #94a3b8;
    font-weight: 600;
    line-height: 16px;
}

.lb-stat-tabs {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    flex: 1;
    justify-content: flex-end;
}

.lb-stat-tab {
    padding: 8px 14px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    background-color: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(8px);
    color: #94a3b8;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
    pointer-events: all;
    line-height: 16px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);

    &:hover {
        background-color: rgba(255, 255, 255, 0.1);
        color: #f8fafc;
        transform: translateY(-1px);
        border-color: rgba(255, 255, 255, 0.2);
    }
}

.lb-stat-tab.active {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    color: #ffffff;
    border-color: #60a5fa;
    box-shadow: 0 0 20px rgba(37, 99, 235, 0.4);
    transform: scale(1.05);
}

.lb-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    flex-wrap: wrap;
}

.lb-empty-state {
    font-size: 12px;
    text-align: center;
    padding: 16px;
}

.lb-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: stretch;
}

.lb-entry {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 18px 24px;
    border-radius: 12px;
    background-color: #18181b;
    width: 100%;
    flex-shrink: 0;
}

.lb-entry.top1 {
    border-color: #fbbf24;
    background-color: rgba(251, 191, 36, 0.05);
}

.lb-entry.top2 {
    border-color: #cbd5e1;
    background-color: rgba(203, 213, 225, 0.05);
}

.lb-entry.top3 {
    border-color: #b45309;
    background-color: rgba(180, 83, 9, 0.05);
}

.lb-rank {
    font-size: 15px;
    font-weight: 700;
    width: 60px;
    color: #a1a1aa;
    line-height: 20px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

.lb-name {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    font-size: 17px;
    color: #f8fafc;
    font-weight: 700;
    line-height: 22px;
    letter-spacing: 0.2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.lb-rank-icon {
    font-style: normal;
    font-size: 16px;
    flex-shrink: 0;
    filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.1));
}

.lb-val {
    font-size: 16px;
    font-weight: 700;
    color: #10b981;
    line-height: 20px;
    flex-shrink: 0;
    text-align: right;
    min-width: 70px;
}

.lb-val-rank {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    color: #e2e8f0;
}

.lb-rank-value-icon {
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: 17px;
    padding: 0;
}

.lb-heritage-badge {
    font-size: 10px;
    font-weight: 800;
    color: #f59e0b;
    background-color: rgba(245, 158, 11, 0.15);
    border-radius: 6px;
    padding: 2px 6px;
    letter-spacing: 0.3px;
    flex-shrink: 0;
}

.lb-entry.player-self {
    margin-top: 12px;
    border: 1px solid #3b82f6;
}

.lb-filters {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    align-items: stretch;
    background-color: #09090b;
    padding: 4px;
    border-radius: 10px;
    border: 1px solid #27272a;
    flex: 1 1 420px;
    min-width: 280px;
}

.lb-filter {
    flex: 0 0 auto;
    min-width: 72px;
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #71717a;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    pointer-events: all;
    background-color: #09090b;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 18px;
    white-space: nowrap;

    .lb-btn-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 14px;
        height: 14px;
        margin-right: 8px;
        opacity: 0.8;
        flex-shrink: 0;
    }

    .lb-btn-icon .ui-icon {
        width: 14px;
        height: 14px;
        line-height: 14px;
        font-size: 14px;
        padding: 0;
    }
}

.lb-filter:hover {
    color: #e4e4e7;
}

.lb-filter.active {
    background-color: #3b82f6;
    color: #ffffff;
}

.lb-filter.lb-friends {
    padding: 8px 14px;
}

.lb-filter.lb-sort {
    padding: 8px 14px;
}

.lb-filter.lb-friends.active {
    background-color: #f59e0b;
    color: #09090b;
}

.lb-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid #27272a;
    width: 100%;
}

.lb-footer-item {
    font-size: 12px;
    color: #94a3b8;
    font-weight: 600;

    b {
        color: #f8fafc;
        font-weight: 800;
        margin-left: 4px;
    }
}

.lb-footer-spacer {
    flex: 1;
}

.lb-list {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    flex: 1;
    min-height: 0;
    overflow-y: scroll;
    padding-right: 8px;
    width: 100%;
}

.lb-more {
    padding: 6px 14px;
    border-radius: 8px;
    border: 1px solid #3b82f6;
    background-color: #1a2744;
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    pointer-events: all;
    transition: all 0.2s;

    &:hover:not(.disabled) {
        background-color: #3b82f6;
        box-shadow: 0 0 12px rgba(59, 130, 246, 0.3);
    }
}

.lb-more.disabled {
    opacity: 0.6;
    pointer-events: none;
}

/* â”€â”€ Confirmation Popup â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.confirm-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.75);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9500;
    pointer-events: all;
}

.confirm-popup {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    background-color: #18181b;
    border: 2px solid #3b82f6;
    border-radius: 18px;
    padding: 36px 44px;
    max-width: 440px;
    width: 100%;
    box-shadow: 0 0 40px rgba(59, 130, 246, 0.15);
}

.confirm-title {
    font-size: 20px;
    font-weight: 800;
    color: #f8fafc;
    text-align: center;
}

.confirm-desc {
    font-size: 14px;
    font-weight: 500;
    color: #a1a1aa;
    text-align: center;
    line-height: 22px;
}

.confirm-buttons {
    display: flex;
    gap: 12px;
    width: 100%;
    margin-top: 8px;
}

.confirm-yes {
    flex: 1;
    padding: 14px 0;
    border-radius: 10px;
    border: none;
    background-color: #3b82f6;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    pointer-events: all;
    display: flex;
    align-items: center;
    justify-content: center;
}

.confirm-yes:hover {
    background-color: #60a5fa;
}

.confirm-no {
    flex: 1;
    padding: 14px 0;
    border-radius: 10px;
    border: 1px solid #27272a;
    background-color: #09090b;
    color: #a1a1aa;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    pointer-events: all;
    display: flex;
    align-items: center;
    justify-content: center;
}

.confirm-no:hover {
    background-color: #27272a;
    color: #f8fafc;
}

/* â”€â”€ Event Alert Popup â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.event-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    pointer-events: all;
    backdrop-filter: blur(4px);
}

.event-popup {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    background-color: #18181b;
    border-radius: 20px;
    padding: 40px 48px;
    max-width: 480px;
    width: 100%;
    font-smooth: always;
    pointer-events: all;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8);
}

.event-popup.positive {
    border: 2px solid #10b981;
    box-shadow: 0 0 60px rgba(16, 185, 129, 0.25);
}

.event-popup.negative {
    border: 2px solid #ef4444;
    box-shadow: 0 0 60px rgba(239, 68, 68, 0.25);
}

.event-popup.warning {
    border: 2px solid #fbbf24;
    box-shadow: 0 0 60px rgba(251, 191, 36, 0.25);
}

.event-popup-icon {
    font-size: 56px;
    margin-bottom: 8px;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.5));
}

.event-popup-icon .ui-icon {
    width: 58px;
    height: 58px;
    line-height: 58px;
    font-size: 54px;
}

.event-popup-rarity {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    padding: 6px 16px;
    border-radius: 100px;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.rarity-common {
    color: #d4d4d8;
    background-color: rgba(212, 212, 216, 0.12);
    border: 1px solid rgba(212, 212, 216, 0.35);
}

.rarity-rare {
    color: #60a5fa;
    background-color: rgba(96, 165, 250, 0.12);
    border: 1px solid rgba(96, 165, 250, 0.4);
    text-shadow: 0 0 8px rgba(96, 165, 250, 0.5);
}

.rarity-epic {
    color: #c084fc;
    background-color: rgba(192, 132, 252, 0.12);
    border: 1px solid rgba(192, 132, 252, 0.4);
    text-shadow: 0 0 8px rgba(192, 132, 252, 0.5);
}

.rarity-legendary {
    color: #fcd34d;
    background-color: rgba(252, 211, 77, 0.12);
    border: 1px solid rgba(252, 211, 77, 0.45);
    text-shadow: 0 0 10px rgba(252, 211, 77, 0.6);
}

@keyframes rarity-rainbow-glow {
    0% {
        box-shadow: 0 0 20px rgba(255, 0, 0, 0.7);
    }

    20% {
        box-shadow: 0 0 20px rgba(255, 255, 0, 0.7);
    }

    40% {
        box-shadow: 0 0 20px rgba(0, 255, 0, 0.7);
    }

    60% {
        box-shadow: 0 0 20px rgba(0, 255, 255, 0.7);
    }

    80% {
        box-shadow: 0 0 20px rgba(236, 72, 153, 0.7);
    }

    100% {
        box-shadow: 0 0 20px rgba(255, 0, 255, 0.7);
    }
}

@keyframes rarity-shine-sweep {
    0% {
        background-position: -200% 0;
    }

    100% {
        background-position: 200% 0;
    }
}

.rarity-ultrarare {
    color: #ffffff;
    background: linear-gradient(90deg,
            #06b6d4 0%,
            #8b5cf6 25%,
            #ec4899 50%,
            #f59e0b 75%,
            #06b6d4 100%);
    background-size: 200% auto;
    position: relative;
    overflow: hidden;
    animation: rarity-rainbow-glow 3s infinite linear, rarity-shine-sweep 4s infinite linear;
    border: 2px solid rgba(255, 255, 255, 0.8);
    text-shadow: 0 0 12px rgba(0, 0, 0, 1), 0 0 4px rgba(255, 255, 255, 0.6);
    font-weight: 900;
    font-style: italic;
    transform: skew(-5deg);

    &::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(105deg, transparent 30%, rgba(255, 255, 255, 0.4) 45%, rgba(255, 255, 255, 0.7) 50%, rgba(255, 255, 255, 0.4) 55%, transparent 70%);
        background-size: 200% 100%;
        animation: rarity-shine-sweep 4s infinite linear;
        pointer-events: none;
    }
}

.event-popup-title {
    font-size: 26px;
    font-weight: 800;
    color: #f8fafc;
    text-align: center;
    letter-spacing: 0.5px;
}

.positive .event-popup-title {
    color: #34d399;
    text-shadow: 0 0 10px rgba(52, 211, 153, 0.3);
}

.negative .event-popup-title {
    color: #f87171;
    text-shadow: 0 0 10px rgba(248, 113, 113, 0.3);
}

.warning .event-popup-title {
    color: #fcd34d;
    text-shadow: 0 0 10px rgba(252, 211, 77, 0.3);
}

.event-popup-desc {
    font-size: 15px;
    color: #d4d4d8;
    text-align: center;
    line-height: 24px;
    padding: 0 16px;
    margin-bottom: 8px;
}

.event-popup-details {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    margin-top: 8px;
}

.event-popup-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    background-color: #09090b;
    border-radius: 10px;
    border: 1px solid #27272a;
}

.event-popup-lbl {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #a1a1aa;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.event-popup-lbl .ui-icon {
    width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: 16px;
}

.event-popup-val {
    font-size: 16px;
    font-weight: 800;
    color: #ffffff;
}

.event-popup-warning {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    color: #a1a1aa;
    text-align: center;
    line-height: 20px;
    font-style: italic;
    margin-top: 12px;
}

.event-popup-warning .ui-icon {
    width: 16px;
    height: 16px;
    line-height: 16px;
    font-size: 15px;
    padding: 0;
}

.event-popup-btn {
    width: 100%;
    padding: 16px;
    border-radius: 12px;
    border: none;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    pointer-events: all;
    color: white;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-top: 16px;
    transition: all 0.2s;
}

.event-popup-btn.positive {
    background-color: #10b981;
}

.event-popup-btn.positive:hover {
    background-color: #34d399;
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(16, 185, 129, 0.3);
}

.event-popup-btn.negative {
    background-color: #ef4444;
}

.event-popup-btn.negative:hover {
    background-color: #f87171;
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(239, 68, 68, 0.3);
}

.event-popup-btn.warning {
    background-color: #f59e0b;
}

.event-popup-btn.warning:hover {
    background-color: #fbbf24;
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(245, 158, 11, 0.3);
}

/* â”€â”€ Achievement / Rank Notification Banners â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.notif-banner {
    position: absolute;
    bottom: 32px;
    right: 32px;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 24px;
    border-radius: 14px;
    z-index: 9600;
    pointer-events: all;
    cursor: pointer;
    min-width: 280px;
}

.notif-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
    font-size: 36px;
    flex-shrink: 0;
}

.notif-icon .ui-icon {
    width: 100%;
    height: 100%;
    font-size: 32px;
    line-height: 24px;
}

.infra-progress-track {
    position: relative;
    width: 100%;
    height: 12px;
    min-height: 12px;
    padding: 3px 4px;
    border-radius: 10px;
    border: 1px solid #334155;
    background: linear-gradient(180deg, rgba(17, 24, 39, 0.96), rgba(11, 19, 35, 1));
    overflow: hidden;
}

.infra-progress-fill {
    width: 0%;
    height: 100%;
    border-radius: 999px;
    background-color: #3dffbf;
    box-shadow: 0 0 10px rgba(61, 255, 191, 0.6);
}

.notif-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.notif-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.notif-name {
    font-size: 16px;
    font-weight: 800;
    color: #f8fafc;
}

.achievement-notif {
    background-color: #1a2744;
    border: 2px solid #3b82f6;
    box-shadow: 0 0 30px rgba(59, 130, 246, 0.25);
}

.achievement-notif .notif-label {
    color: #60a5fa;
}

.rank-notif {
    background-color: #2a1a3e;
    border: 2px solid #c084fc;
    box-shadow: 0 0 30px rgba(192, 132, 252, 0.25);
}

.rank-notif .notif-label {
    color: #c084fc;
}

.missions-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9750;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(2, 6, 23, 0.82);
    pointer-events: all;
}

.missions-modal {
    width: 1120px;
    max-width: 95%;
    height: 88%;
    max-height: 88%;
    min-height: 420px;
    border-radius: 18px;
    border: 1px solid #334155;
    background-color: #121214;
    box-shadow: 0 0 44px rgba(15, 23, 42, 0.68);
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 18px 18px;
    overflow: hidden;
}

.missions-modal-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-shrink: 0;
}

.missions-title-block {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.missions-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 22px;
    line-height: 26px;
    font-weight: 900;
    color: #f8fafc;
}

.missions-title .ui-icon {
    width: 22px;
    height: 22px;
    line-height: 22px;
    font-size: 20px;
    padding: 0;
}

.missions-subtitle {
    font-size: 14px;
    line-height: 18px;
    font-weight: 600;
    color: #cbd5e1;
}

.missions-close {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 36px;
    border-radius: 10px;
    border: 1px solid rgba(248, 113, 113, 0.5);
    background-color: rgba(127, 29, 29, 0.22);
    color: #f87171;
    cursor: pointer;
    pointer-events: all;
}

.missions-close:hover {
    border-color: #fca5a5;
    background-color: rgba(127, 29, 29, 0.34);
    color: #fecaca;
}

.missions-tabs {
    display: flex;
    gap: 12px;
    margin-top: 4px;
    flex-shrink: 0;
}

.missions-tab {
    padding: 10px 24px;
    border-radius: 10px;
    background-color: #1c1c1f;
    border: 1px solid #334155;
    color: #94a3b8;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    pointer-events: all;
    transition: all 0.2s;
}

.missions-tab.active {
    background-color: #10b981;
    border-color: #34d399;
    color: #ffffff;
    box-shadow: 0 0 16px rgba(16, 185, 129, 0.4);
    transform: translateY(-2px);
    font-weight: 900;
}

.missions-tab.active:hover {
    background-color: #34d399;
}

.missions-tab:hover:not(.active) {
    background-color: #334155;
    color: #f8fafc;
}

.missions-section-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 6px;
    margin-bottom: -4px;
    padding: 0 4px;
    flex-shrink: 0;
}

.m-section-title {
    font-size: 11px;
    font-weight: 800;
    color: #64748b;
    letter-spacing: 1px;
}

.m-section-count {
    font-size: 11px;
    font-weight: 700;
    color: #475569;
}

.missions-close .ui-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    line-height: 16px;
    font-size: 16px;
    padding: 0;
}


.missions-list {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    overflow-y: scroll;
    min-height: 0;
    padding-right: 6px;
    align-content: flex-start;
}

.missions-card-item {
    flex: 1 1 340px;
    min-width: 320px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background-color: #18181b;
    border: 1px solid #27272a;
    border-radius: 12px;
    padding: 12px 12px;
}

.missions-card-item.ready {
    border-color: rgba(59, 130, 246, 0.55);
}

.missions-card-item.claimed {
    border-color: rgba(16, 185, 129, 0.55);
    background-color: rgba(16, 185, 129, 0.08);
}

.missions-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.missions-left {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.missions-name {
    font-size: 16px;
    line-height: 20px;
    font-weight: 900;
    color: #f8fafc;
}

.missions-desc {
    font-size: 13px;
    line-height: 18px;
    font-weight: 600;
    color: #cbd5e1;
}

.missions-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.missions-reward {
    font-size: 13px;
    line-height: 16px;
    font-weight: 900;
    color: #86efac;
}

.missions-category {
    font-size: 10px;
    line-height: 13px;
    letter-spacing: 0.5px;
    font-weight: 800;
    color: #93c5fd;
    text-transform: uppercase;
}

.missions-progress-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 12px;
    line-height: 15px;
    font-weight: 800;
    color: #cbd5e1;
}

.missions-progress-track {
    height: 10px;
    border-radius: 999px;
    border: 1px solid #334155;
    background-color: #0b1323;
    overflow: hidden;
}

.missions-progress-fill {
    width: 0%;
    height: 100%;
    background-color: #3dffbf;
    box-shadow: 0 0 12px rgba(61, 255, 191, 0.52);
}

.missions-claim-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    border-radius: 10px;
    border: 1px solid #334155;
    background-color: #1b1f27;
    color: #e2e8f0;
    font-size: 12px;
    line-height: 16px;
    font-weight: 800;
    text-align: center;
    cursor: pointer;
    pointer-events: all;
}

.missions-claim-btn.ready {
    border-color: rgba(59, 130, 246, 0.55);
    color: #bfdbfe;
}

.missions-claim-btn.ready:hover {
    border-color: #64748b;
}

.missions-claim-btn.disabled {
    opacity: 0.55;
    pointer-events: none;
}

.missions-claim-btn.claimed {
    border-color: rgba(16, 185, 129, 0.55);
    color: #86efac;
}

.first-win-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9800;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(2, 6, 23, 0.78);
    pointer-events: all;
}

.first-win-popup {
    width: 560px;
    max-width: 92%;
    border-radius: 18px;
    border: 1px solid rgba(96, 165, 250, 0.55);
    background: linear-gradient(180deg, #0b1224, #111827);
    box-shadow: 0 0 38px rgba(59, 130, 246, 0.28);
    padding: 24px 26px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
}

.first-win-kicker {
    font-size: 11px;
    line-height: 15px;
    letter-spacing: 1.4px;
    font-weight: 800;
    color: #93c5fd;
}

.first-win-title {
    font-size: 28px;
    line-height: 32px;
    font-weight: 900;
    color: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.first-win-title .ui-icon {
    width: 28px;
    height: 28px;
    line-height: 28px;
    font-size: 26px;
    padding: 0;
}

.first-win-amount {
    font-size: 42px;
    line-height: 46px;
    font-weight: 900;
    color: #22c55e;
    text-shadow: 0 0 22px rgba(34, 197, 94, 0.55);
}

.first-win-copy {
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    color: #cbd5e1;
    text-align: center;
    max-width: 440px;
}

.first-win-btn {
    margin-top: 6px;
    min-width: 180px;
    min-height: 42px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    border: 1px solid rgba(96, 165, 250, 0.5);
    background-color: #1d4ed8;
    color: #f8fafc;
    font-size: 14px;
    line-height: 18px;
    font-weight: 800;
    text-align: center;
    cursor: pointer;
    pointer-events: all;
}

.first-win-btn:hover {
    background-color: #2563eb;
}

/* â”€â”€ Tutorial Popup â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.tutorial-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 12000;
    pointer-events: all;
    backdrop-filter: blur(16px);
}

.tutorial-popup {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    background-color: rgba(15, 23, 42, 0.98);
    border: 1px solid rgba(16, 185, 129, 0.2);
    border-radius: 32px;
    padding: 48px;
    width: 620px;
    max-width: 95%;
    box-shadow: 
        0 40px 100px rgba(0, 0, 0, 0.8),
        0 0 0 1px rgba(255, 255, 255, 0.05),
        0 0 40px rgba(16, 185, 129, 0.1);
    text-align: center;
    animation: tutorial-popup-enter 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@keyframes tutorial-popup-enter {
    from { opacity: 0; transform: translateY(30px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

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

.tutorial-step {
    font-size: 11px;
    font-weight: 800;
    color: #10b981;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.tutorial-logo {
    font-size: 16px;
    font-weight: 900;
    color: #ffffff;
    letter-spacing: -0.2px;
    text-transform: uppercase;
    background-color: rgba(16, 185, 129, 0.1);
    padding: 6px 12px;
    border-radius: 30px;
    border: 1px solid rgba(16, 185, 129, 0.2);
}

.tutorial-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    max-width: 520px;
}

.t-icon {
    margin-bottom: 8px;
    position: relative;
}

.t-icon .ui-icon {
    width: 80px;
    height: 80px;
    font-size: 72px;
    color: #10b981;
    text-shadow: 0 0 30px rgba(16, 185, 129, 0.4);
    animation: t-icon-float 3s ease-in-out infinite;
}

@keyframes t-icon-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

.t-title {
    font-size: 32px;
    font-weight: 1000;
    color: #ffffff;
    letter-spacing: -0.5px;
}

.t-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
}

.t-desc {
    font-size: 16px;
    color: #cbd5e1; // A more neutral light gray as often used in S&box UI
    line-height: 160%;
    max-width: 480px;
    text-align: center;
}

.t-meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin-top: 4px;
}

.t-meta-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 500;
    padding: 6px 24px;
    border-radius: 40px;
    background-color: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
    
    .ui-icon {
        font-size: 18px;
        flex-shrink: 0;
    }

    &.action {
        color: #10b981;
        font-weight: 800;
        background-color: rgba(16, 185, 129, 0.08);
        border-color: rgba(16, 185, 129, 0.15);
    }

    &.tip {
        color: #cbd5e1;
        opacity: 0.9;
        font-style: italic;
    }
}

.tutorial-footer {
    width: 100%;
    margin-top: 8px;
}

.tutorial-next,
.tutorial-finish {
    width: 100%;
    padding: 20px;
    border: none;
    border-radius: 16px;
    font-size: 18px;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.tutorial-next {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    color: #ffffff;
    box-shadow: 0 8px 16px rgba(59, 130, 246, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.1);

    &:hover {
        background: linear-gradient(135deg, #60a5fa, #3b82f6);
        transform: translateY(-2px);
        box-shadow: 0 10px 24px rgba(59, 130, 246, 0.2);
    }
}

.tutorial-finish {
    background: linear-gradient(135deg, #10b981, #059669);
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(16, 185, 129, 0.35);

    &:hover {
        background: linear-gradient(135deg, #34d399, #10b981);
        transform: translateY(-3px);
        box-shadow: 0 15px 35px rgba(16, 185, 129, 0.45);
    }
}

/* â”€â”€ Welcome Hero (Home feel) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.welcome-hero {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    background-color: #111827;
    border-radius: 18px;
    border: 1px solid #1f2937;
    padding: 22px 26px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.6);
}

.welcome-main {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.welcome-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.welcome-title {
    font-size: 22px;
    font-weight: 800;
    color: #f9fafb;
}

.welcome-subtitle {
    font-size: 14px;
    color: #9ca3af;
}

.welcome-highlight {
    font-weight: 700;
    color: #3b82f6;
    margin: 0 2px;
}

.welcome-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 8px;
}

.welcome-chip {
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid #374151;
    font-size: 12px;
    font-weight: 600;
    color: #e5e7eb;
    background-color: rgba(15, 23, 42, 0.9);
}

.welcome-chip strong {
    color: #f9fafb;
}

.welcome-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.welcome-rank-pill {
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid #4b5563;
    font-size: 13px;
    font-weight: 700;
    color: #e5e7eb;
    display: flex;
    align-items: center;
    gap: 8px;
}

.welcome-rank-pill span {
    font-size: 16px;
}

.welcome-rank-name {
    margin-left: 2px;
}

.welcome-rank-pill {
    cursor: pointer;
    pointer-events: all;
}

.welcome-main-row {
    display: none;
}

.welcome-tip {
    display: none;
}

.welcome-bonus-btn {
    margin-top: 0;
    padding: 8px 16px;
    border-radius: 999px;
    border: none;
    background-color: #166534;
    color: #ecfdf5;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    pointer-events: all;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 4px 12px rgba(22, 101, 52, 0.45);
    max-width: 200px;
}

.welcome-bonus-btn.disabled {
    background: #1f2937;
    color: #9ca3af;
    box-shadow: none;
    cursor: default;
}

.profile-sync-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.88);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 11100;
    pointer-events: all;
    backdrop-filter: blur(8px);
}

.profile-sync-popup {
    width: 560px;
    max-width: 90%;
    border-radius: 16px;
    border: 1px solid #334155;
    background: #0f172a;
    box-shadow: 0 0 40px rgba(15, 23, 42, 0.75);
    padding: 28px 30px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-align: center;
}

.profile-sync-popup.fatal {
    border-color: #ef4444;
    box-shadow: 0 0 45px rgba(239, 68, 68, 0.25);
}

.profile-sync-title {
    font-size: 24px;
    font-weight: 800;
    color: #f8fafc;
}

.profile-sync-sub {
    font-size: 15px;
    line-height: 24px;
    color: #cbd5e1;
}

.ui-icon.event-stat-icon,
.ui-icon.hud-rank-icon,
.streak-badge .ui-icon,
.benefit-icon .ui-icon,
.offline-icon .ui-icon,
.offline-stat-lbl .ui-icon,
.offline-note .ui-icon,
.notif-icon .ui-icon,
.rankup-icon .ui-icon {
    padding: 0;
}

.ui-icon.hud-rank-icon {
    width: 20px;
    height: 20px;
    line-height: 20px;
    font-size: 18px;
}

.benefit-icon .ui-icon,
.offline-stat-lbl .ui-icon,
.offline-note .ui-icon,
.streak-badge .ui-icon {
    width: 16px;
    height: 16px;
    line-height: 16px;
    font-size: 16px;
}
