/* TradeItX dashboard — pixel match to reference UI */
:root {
    --dash-bg: #000000;
    --dash-sidebar: #111827;
    --dash-panel: #111827;
    --dash-panel-deep: #0c1018;
    --dash-blue: #3b82f6;
    --dash-blue-light: #60a5fa;
    --dash-blue-dark: #1e3a8a;
    --dash-green: #10b981;
    --dash-green-bright: #34d399;
    --dash-red: #ff5252;
    --dash-red-dark: #e5434d;
    --dash-text-muted: #9ca3af;
    --dash-border: rgba(148, 163, 184, 0.12);
    --dash-radius-sm: 8px;
    --dash-radius-md: 10px;
    --dash-radius-lg: 12px;
    --dash-sidebar-width: 88px;
    --dash-y-axis-width: 64px;
    --dash-safe-bottom: 14px;
    --dash-time-axis-height: 18px;
    --dash-dock-toolbar-height: 36px;
    --dash-dock-gap: 10px;
    --dash-dock-footer-height: 56px;
    --dash-dock-bottom: calc(var(--dash-safe-bottom) + var(--dash-time-axis-height));
    --dash-axis-bottom: calc(
        var(--dash-safe-bottom)
        + var(--dash-time-axis-height)
        + var(--dash-dock-toolbar-height)
        + var(--dash-dock-gap)
        + var(--dash-dock-footer-height)
    );
    --dash-glass-bg: rgba(22, 24, 38, 0.42);
    --dash-glass-bg-deep: rgba(14, 16, 28, 0.5);
    --dash-glass-border: rgba(255, 255, 255, 0.1);
    --dash-glass-blur: 20px;
    --dash-glass-panel: rgba(18, 20, 32, 0.28);
    --dash-glass-panel-deep: rgba(10, 12, 20, 0.36);
    --dash-glass-shadow: 0 4px 22px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

.dash-body {
    margin: 0;
    font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: var(--dash-bg);
    color: #fff;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    font-size: 12px;
    -webkit-font-smoothing: antialiased;
}

.dash-shell {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    height: 100dvh;
    overflow: hidden;
}

.dash-shell.is-chart-loading .dash-ui-layer {
    opacity: 0;
    pointer-events: none;
}

/* Dashboard chart preloader */
.dash-preloader {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: radial-gradient(ellipse at 50% 42%, #151925 0%, #0b0e14 48%, #060810 100%);
    transition: opacity 0.55s ease, visibility 0.55s ease;
}

.dash-preloader.is-done {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.dash-preloader.is-done .dash-preloader-inner {
    transform: scale(1.12) translateY(-8px);
    opacity: 0;
    filter: blur(6px);
}

.dash-preloader-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.dash-preloader-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.55;
    animation: dash-preloader-orb-drift 8s ease-in-out infinite;
}

.dash-preloader-orb--a {
    width: 280px;
    height: 280px;
    top: 18%;
    left: 22%;
    background: rgba(37, 99, 235, 0.35);
    animation-delay: 0s;
}

.dash-preloader-orb--b {
    width: 220px;
    height: 220px;
    bottom: 16%;
    right: 18%;
    background: rgba(247, 147, 26, 0.22);
    animation-delay: -3.5s;
}

.dash-preloader-scan {
    position: absolute;
    inset: -40% 0;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(59, 130, 246, 0.03) 45%,
        rgba(96, 165, 250, 0.08) 50%,
        rgba(59, 130, 246, 0.03) 55%,
        transparent 100%
    );
    animation: dash-preloader-scan 3.2s linear infinite;
}

.dash-preloader-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    padding: 24px;
    transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.45s ease, filter 0.45s ease;
    animation: dash-preloader-enter 0.85s cubic-bezier(0.34, 1.25, 0.64, 1) both;
}

.dash-preloader-logo-stage {
    position: relative;
    width: 168px;
    height: 168px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dash-preloader-ring {
    position: absolute;
    border-radius: 50%;
    border: 2px solid transparent;
}

.dash-preloader-ring--outer {
    inset: 0;
    border-top-color: rgba(59, 130, 246, 0.85);
    border-right-color: rgba(59, 130, 246, 0.15);
    animation: dash-preloader-spin 1.8s cubic-bezier(0.5, 0.1, 0.3, 1) infinite;
}

.dash-preloader-ring--inner {
    inset: 14px;
    border-bottom-color: rgba(247, 147, 26, 0.75);
    border-left-color: rgba(247, 147, 26, 0.12);
    animation: dash-preloader-spin-rev 1.35s cubic-bezier(0.5, 0.1, 0.3, 1) infinite;
}

.dash-preloader-ripple {
    position: absolute;
    inset: 28px;
    border-radius: 50%;
    border: 1px solid rgba(96, 165, 250, 0.25);
    animation: dash-preloader-ripple 2.4s ease-out infinite;
}

.dash-preloader-logo {
    position: relative;
    z-index: 2;
    display: block;
    max-width: 108px;
    max-height: 108px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 0 24px rgba(59, 130, 246, 0.45));
    animation: dash-preloader-logo-float 2.8s ease-in-out infinite;
}

.dash-preloader-logo--gif {
    animation: dash-preloader-logo-float 3.2s ease-in-out infinite;
    filter: drop-shadow(0 0 28px rgba(59, 130, 246, 0.4));
}

.dash-preloader-fallback {
    position: relative;
    z-index: 2;
    width: 80px;
    height: 80px;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: #fff;
    background: linear-gradient(145deg, #2563eb 0%, #1d4ed8 100%);
    box-shadow: 0 0 48px rgba(37, 99, 235, 0.45);
    animation: dash-preloader-logo-float 2.8s ease-in-out infinite;
}

.dash-preloader-track {
    width: 148px;
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    overflow: hidden;
    box-shadow: 0 0 16px rgba(59, 130, 246, 0.12);
}

.dash-preloader-track span {
    display: block;
    height: 100%;
    width: 45%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb, #60a5fa, #f7931a, #60a5fa, #2563eb);
    background-size: 300% 100%;
    box-shadow: 0 0 12px rgba(96, 165, 250, 0.65);
    animation: dash-preloader-bar 1.1s ease-in-out infinite, dash-preloader-bar-shimmer 2.2s linear infinite;
}

.dash-preloader-status {
    margin: 0;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #6b7280;
    display: flex;
    align-items: center;
    gap: 2px;
}

.dash-preloader-dots {
    display: inline-flex;
    gap: 3px;
    margin-left: 2px;
}

.dash-preloader-dots i {
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #60a5fa;
    animation: dash-preloader-dot 1.2s ease-in-out infinite;
}

.dash-preloader-dots i:nth-child(2) { animation-delay: 0.15s; }
.dash-preloader-dots i:nth-child(3) { animation-delay: 0.3s; }

@keyframes dash-preloader-enter {
    0% { opacity: 0; transform: scale(0.88) translateY(12px); }
    100% { opacity: 1; transform: scale(1) translateY(0); }
}

@keyframes dash-preloader-orb-drift {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(24px, -18px) scale(1.08); }
    66% { transform: translate(-16px, 14px) scale(0.94); }
}

@keyframes dash-preloader-scan {
    0% { transform: translateY(-60%); }
    100% { transform: translateY(60%); }
}

@keyframes dash-preloader-spin {
    to { transform: rotate(360deg); }
}

@keyframes dash-preloader-spin-rev {
    to { transform: rotate(-360deg); }
}

@keyframes dash-preloader-ripple {
    0% { transform: scale(0.92); opacity: 0.7; }
    70% { transform: scale(1.18); opacity: 0; }
    100% { transform: scale(1.18); opacity: 0; }
}

@keyframes dash-preloader-logo-float {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-6px) scale(1.03); }
}

@keyframes dash-preloader-bar {
    0% { transform: translateX(-115%); }
    100% { transform: translateX(280%); }
}

@keyframes dash-preloader-bar-shimmer {
    0% { background-position: 0% 50%; }
    100% { background-position: 300% 50%; }
}

@keyframes dash-preloader-dot {
    0%, 80%, 100% { transform: translateY(0); opacity: 0.35; }
    40% { transform: translateY(-5px); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .dash-preloader-orb,
    .dash-preloader-scan,
    .dash-preloader-ring,
    .dash-preloader-ripple,
    .dash-preloader-logo,
    .dash-preloader-logo--gif,
    .dash-preloader-fallback,
    .dash-preloader-track span,
    .dash-preloader-dots i,
    .dash-preloader-inner {
        animation: none !important;
    }
}

/* Full-viewport chart — edge to edge under all floating UI */
.dash-chart-layer {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    height: 100dvh;
    z-index: 0;
    overflow: hidden;
    background: var(--dash-bg);
    pointer-events: auto;
}

.dash-chart-layer .tp-chart-wrap {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
    flex: none !important;
    background: transparent;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.dash-chart-layer #tp-chart,
.dash-chart-layer #tp-chart > div {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.dash-chart-layer #tp-chart {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    z-index: 1;
}

.dash-chart-layer #tp-chart canvas {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

.dash-chart-layer #tp-chart {
    cursor: grab;
    touch-action: none;
}

.dash-chart-layer #tp-chart.is-chart-panning,
.dash-chart-layer #tp-chart.is-chart-panning canvas {
    cursor: grabbing !important;
}

.tp-back-live-btn {
    position: fixed;
    right: calc(var(--dash-sidebar-width, 88px) + 12px);
    top: 50%;
    transform: translateY(-50%);
    z-index: 35;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid rgba(59, 130, 246, 0.45);
    background: rgba(6, 10, 20, 0.86);
    color: #3b82f6;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    pointer-events: auto;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.45);
    transition: opacity 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

@media (max-width: 1024px) {
    .tp-back-live-btn {
        right: 12px;
    }
}

.tp-back-live-btn.is-visible {
    display: flex;
}

.tp-back-live-btn svg {
    width: 18px;
    height: 18px;
}

.tp-back-live-btn:hover {
    background: rgba(59, 130, 246, 0.2);
    border-color: rgba(96, 165, 250, 0.75);
    color: #60a5fa;
}

.tp-back-live-btn:active {
    transform: translateY(-50%) scale(0.94);
}

.dash-chart-layer .tp-markers-layer {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    overflow: visible;
}

/* Floating UI on top of full-screen chart */
.dash-ui-layer {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    height: 100dvh;
    z-index: 10;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    pointer-events: none;
    background: transparent;
}

/* Left slot — chart renders underneath; only the nav pill is visible */
.dash-sidebar-slot {
    flex-shrink: 0;
    width: var(--dash-sidebar-width);
    padding: 16px 0 16px 14px;
    display: flex;
    align-items: stretch;
    z-index: 40;
    pointer-events: none;
    background: transparent;
}

.dash-sidebar-slot .dash-sidebar-float {
    pointer-events: auto;
}

/* Floating glass nav — full height, chart passes underneath via backdrop blur */
.dash-sidebar-float {
    position: relative;
    isolation: isolate;
    width: 72px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 14px 0 12px;
    border-radius: 14px;
    border: 1px solid var(--dash-glass-border);
    border-top-color: rgba(255, 255, 255, 0.14);
    background: transparent;
    overflow: hidden;
    box-shadow:
        0 12px 40px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.dash-sidebar-float::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: inherit;
    background: linear-gradient(
        165deg,
        rgba(255, 255, 255, 0.07) 0%,
        var(--dash-glass-bg) 40%,
        var(--dash-glass-bg-deep) 100%
    );
   /* backdrop-filter: blur(var(--dash-glass-blur)) saturate(180%);*/
    -webkit-backdrop-filter: blur(var(--dash-glass-blur)) saturate(180%);
}

.dash-sidebar-float > * {
    position: relative;
    z-index: 1;
}

.dash-sidebar,
.dash-sidebar-left {
    background: transparent;
}

.dash-sidebar {
    z-index: 40;
}

/* Right slot — margin so nav floats off the edge */
.dash-sidebar-slot-right {
    flex-shrink: 0;
    width: var(--dash-sidebar-width);
    padding: 16px 14px 16px 0;
    display: flex;
    align-items: stretch;
    z-index: 40;
    pointer-events: none;
}

.dash-sidebar-slot-right .dash-sidebar-float {
    pointer-events: auto;
}

.dash-sidebar-right.dash-sidebar-float {
    width: 72px;
    padding: 10px 0 8px;
    border-radius: 16px;
    border-color: rgba(255, 255, 255, 0.07);
    box-shadow:
        0 10px 32px rgba(0, 0, 0, 0.38),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.dash-sidebar-right.dash-sidebar-float::before {
 /*   background: linear-gradient(
        180deg,
        rgba(28, 30, 44, 0.96) 0%,
        rgba(16, 18, 30, 0.98) 55%,
        rgba(12, 14, 24, 0.99) 100%
    ); */
  /*  backdrop-filter: blur(14px) saturate(140%); */
    -webkit-backdrop-filter: blur(14px) saturate(140%);
}

.dash-sidebar-right-desktop {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex: 1;
    min-height: 0;
    width: 100%;
}

.dash-rnav-top {
    flex-shrink: 0;
    width: 100%;
}

.dash-sidebar-right .dash-nav-item.active::before {
    display: none;
}

.dash-logo-hex {
    width: 44px;
    height: 44px;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    flex-shrink: 0;
    background: transparent;
    box-shadow: none;
    clip-path: none;
    overflow: visible;
}

.dash-sidebar-logo {
    display: block;
    max-width: 44px;
    max-height: 44px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 2px 10px rgba(59, 130, 246, 0.35));
}

.dash-sidebar-logo--gif {
    filter: drop-shadow(0 2px 12px rgba(59, 130, 246, 0.3));
}

.dash-sidebar-logo-fallback {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: #fff;
    background: linear-gradient(145deg, #2563eb 0%, #1d4ed8 100%);
    box-shadow: 0 4px 16px rgba(37, 99, 235, 0.4);
}

.dash-nav {
    display: flex;
    flex-direction: column;
    width: 100%;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
}

.dash-nav::-webkit-scrollbar {
    display: none;
}

.dash-nav-item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 100%;
    min-height: 54px;
    padding: 9px 4px 8px;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    background: transparent;
    color: rgba(255, 255, 255, 0.88);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.01em;
    cursor: pointer;
    font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    transition: color 0.15s ease, background 0.15s ease;
    text-align: center;
    line-height: 1.2;
}

.dash-nav-item-wrap span {
    display: block;
    max-width: 66px;
    line-height: 1.2;
    white-space: normal;
}

.dash-nav-item svg {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    stroke-width: 1.5;
}

.dash-nav-item:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.04);
}

.dash-nav-item.active {
    color: #fff;
    background: rgba(255, 255, 255, 0.035);
}

.dash-nav-item.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 3px;
    border-radius: 0 2px 2px 0;
    background: #3478f6;
    box-shadow: 0 0 10px rgba(52, 120, 246, 0.65);
}

.dash-nav-item--icon-only {
    min-height: 48px;
    gap: 0;
    border-bottom: none;
}

.dash-nav-item--icon-only svg {
    width: 23px;
    height: 23px;
}

.dash-sidebar-foot {
    width: 100%;
    margin-top: auto;
    padding-top: 22px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}

.dash-sidebar-foot .dash-nav-item {
    border-bottom: none;
}

.dash-logout-form {
    width: 100%;
    margin: 0;
}

.dash-logout-form .dash-nav-item--logout:hover {
    color: #fca5a5;
    background: rgba(239, 68, 68, 0.08);
}

.dash-sidebar-foot .dash-nav-item::before {
    display: none;
}

.dash-sidebar-collapse {
    width: 38px;
    height: 38px;
    margin-top: 8px;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.03);
    color: rgba(255, 255, 255, 0.78);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.dash-sidebar-collapse svg {
    width: 17px;
    height: 17px;
    stroke-width: 1.75;
}

.dash-sidebar-collapse:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.06);
}

.dash-sidebar-right-desktop .dash-avatar-wrap {
    width: 52px;
    height: 52px;
    margin: 2px auto 6px;
}

.dash-avatar-wrap {
    position: relative;
    width: 46px;
    height: 46px;
    margin-bottom: 14px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dash-avatar-progress {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.dash-avatar-p {
    position: relative;
    z-index: 1;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid #ec4899;
    background: rgba(236, 72, 153, 0.18);
    color: #f9a8d4;
    font-weight: 800;
    font-size: 14px;
    cursor: pointer;
    font-family: inherit;
    flex-shrink: 0;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.dash-avatar-p:hover {
    background: rgba(236, 72, 153, 0.28);
    border-color: #f472b6;
}

.dash-sidebar-right-desktop .dash-avatar-p {
    width: 42px;
    height: 42px;
    border: none;
    background: linear-gradient(145deg, #f472b6 0%, #db2777 100%);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -0.02em;
    box-shadow: 0 4px 14px rgba(219, 39, 119, 0.35);
}

.dash-sidebar-right-desktop .dash-avatar-p:hover {
    background: linear-gradient(145deg, #f9a8d4 0%, #ec4899 100%);
}

.dash-nav-right {
    flex: 1;
    min-height: 0;
}

.dash-sidebar-right-desktop .dash-nav-right {
    flex: 0 0 auto;
    overflow: visible;
}

.dash-sidebar-right-desktop .dash-nav-item {
    min-height: 58px;
    padding: 10px 4px 9px;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    letter-spacing: 0.01em;
}

.dash-sidebar-right-desktop .dash-nav-item svg {
    width: 22px;
    height: 22px;
    opacity: 0.95;
}

.dash-sidebar-right-desktop .dash-nav-item:hover {
    background: rgba(255, 255, 255, 0.03);
}

.dash-sidebar-right-desktop .dash-nav-item.active {
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
}

.dash-sidebar-foot-right {
    width: 100%;
    margin-top: auto;
    padding-top: 0;
    flex-shrink: 0;
}

.dash-sidebar-utils {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0;
    margin: 0;
    color: rgba(255, 255, 255, 0.72);
}

.dash-util-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    background: transparent;
    color: inherit;
    padding: 10px 6px;
    cursor: pointer;
    transition: color 0.15s ease, background 0.15s ease;
}

.dash-util-btn svg {
    width: 21px;
    height: 21px;
    opacity: 0.95;
}

.dash-util-btn:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.04);
}

.dash-sidebar-right-desktop .dash-sidebar-utils {
    color: rgba(255, 255, 255, 0.78);
}

.dash-sidebar-right-desktop .dash-util-btn {
    min-height: 46px;
    padding: 9px 6px;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.dash-sidebar-right-desktop .dash-util-btn svg {
    width: 20px;
    height: 20px;
}

.dash-sidebar-right-desktop .dash-util-btn .dash-util-sound-off {
    display: none;
}

.dash-sidebar-right-desktop .dash-util-btn.is-muted .dash-util-sound-on {
    display: none;
}

.dash-sidebar-right-desktop .dash-util-btn.is-muted .dash-util-sound-off {
    display: block;
}

.dash-sidebar-right-desktop .dash-nav-item svg,
.dash-sidebar-right-desktop .dash-util-btn svg,
.dash-sidebar-right-desktop .dash-tips-btn svg {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}

.dash-tips-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    min-height: 58px;
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    background: transparent;
    color: #60a5fa;
    font-size: 9px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    padding: 10px 6px;
    transition: color 0.15s ease, background 0.15s ease;
}

.dash-tips-btn:hover {
    color: #93c5fd;
    background: rgba(59, 130, 246, 0.06);
}

.dash-tips-btn svg {
    width: 21px;
    height: 21px;
    color: rgba(255, 255, 255, 0.85);
}

.dash-sidebar-right-desktop .dash-tips-btn {
    min-height: 62px;
    gap: 7px;
    padding: 11px 6px 12px;
    color: #3b82f6;
    font-size: 10px;
    font-weight: 700;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.dash-sidebar-right-desktop .dash-tips-btn svg {
    width: 22px;
    height: 22px;
    color: #3b82f6;
    stroke: #3b82f6;
}

.dash-sidebar-right-desktop .dash-tips-btn:hover {
    color: #60a5fa;
    background: rgba(59, 130, 246, 0.08);
}

.dash-sidebar-right-desktop .dash-tips-btn:hover svg {
    color: #60a5fa;
    stroke: #60a5fa;
}

/* Main — transparent column; chart visible underneath */
.dash-main {
    flex: 1;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: transparent;
    overflow: visible;
    pointer-events: none;
}

.dash-topbar {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 14px 20px 10px;
    position: relative;
    z-index: 25;
    background: transparent;
    pointer-events: none;
}

.dash-topbar-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 11px;
    pointer-events: auto;
}

.dash-asset-row {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    flex-shrink: 0;
    pointer-events: none;
}

.dash-mobi-btn,
.dash-mobi-only {
    display: none;
}

.dash-topbar-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* Desktop header — keep flex layout; mobile grid lives in dashboard-mobile.css only */
@media (min-width: 769px) {
    .dash-topbar {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        grid-template: none;
        grid-template-areas: none;
    }

    .dash-topbar-center {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 11px;
    }

    .dash-topbar-row {
        display: flex;
    }

    .dash-finance-hub {
        display: flex;
        align-items: stretch;
    }

    .dash-asset-row {
        grid-area: unset;
    }
}

.dash-top-btn {
    width: 46px;
    height: 46px;
    flex-shrink: 0;
    border: none;
    border-radius: var(--dash-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-family: inherit;
    transition: transform 0.12s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.dash-top-btn svg {
    width: 21px;
    height: 21px;
    stroke-width: 1.85;
}

.dash-top-btn:active {
    transform: scale(0.97);
}

/* Solid primary blue — matches Finances */
.dash-heart-btn {
    background: linear-gradient(180deg, #4b8ef5 0%, var(--dash-blue) 100%);
    color: #fff;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.12) inset,
        0 4px 12px rgba(59, 130, 246, 0.35);
}

.dash-heart-btn:hover {
    filter: brightness(1.06);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.15) inset,
        0 6px 16px rgba(59, 130, 246, 0.45);
}

/* Diagonal gradient + light border — reference trophy */
.dash-trophy-btn {
    background: linear-gradient(135deg, #0f172a 0%, #1e3a5f 38%, #2563eb 72%, #3b82f6 100%);
    color: #fff;
    border: 1px solid rgba(147, 197, 253, 0.35);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 4px 14px rgba(15, 23, 42, 0.55);
}

.dash-trophy-btn:hover {
    border-color: rgba(191, 219, 254, 0.5);
    filter: brightness(1.08);
}

.dash-finance-hub {
    display: flex;
    align-items: stretch;
    height: 56px;
    border-radius: var(--dash-radius-lg);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
    background: linear-gradient(
        180deg,
        rgba(22, 28, 42, 0.72) 0%,
        rgba(12, 16, 26, 0.78) 100%
    );
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.dash-balance-block {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2px;
    padding: 6px 20px 7px;
    min-width: 152px;
    background: rgba(0, 0, 0, 0.2);
    border-right: 1px solid rgba(255, 255, 255, 0.06);
}

.dash-balance {
    color: var(--dash-green-bright);
    font-weight: 600;
    font-size: 17px;
    line-height: 1.2;
    letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums;
}

.dash-mode-toggle {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 118px;
    min-height: 20px;
    background: rgba(0, 0, 0, 0.55);
    border-radius: 5px;
    padding: 2px;
    gap: 0;
}

.dash-mode {
    flex: 1;
    text-align: center;
    padding: 3px 6px;
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    border-radius: 4px;
    line-height: 1.2;
    cursor: pointer;
    user-select: none;
    background: none;
    border: none;
    font-family: inherit;
    transition: background 0.15s, color 0.15s;
}

.dash-mode:hover:not(.active) {
    color: rgba(255, 255, 255, 0.85);
    background: rgba(255, 255, 255, 0.08);
}

.dash-mode.active {
    color: #fff;
    font-weight: 800;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    transition: background 0.35s ease, color 0.2s ease, transform 0.25s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.25s ease;
}

.dash-mode.active[data-mode="real"] {
    background: linear-gradient(180deg, #5b8fff 0%, #2e5bff 55%, #2450e0 100%);
}

.dash-mode.active[data-mode="demo"] {
    background: linear-gradient(180deg, #22c55e 0%, var(--dash-green) 100%);
}

.dash-mode.active.is-just-selected {
    animation: dash-mode-pop 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.dash-balance-block.mode-real .dash-balance {
    color: #60a5fa;
}

.dash-balance-block.mode-demo .dash-balance {
    color: var(--dash-green-bright);
}

.dash-balance.is-updating {
    animation: dash-balance-swap 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.dash-finance-hub.is-switching {
    animation: dash-hub-flash 0.7s ease;
}

.dash-finance-hub.is-switching.mode-real {
    box-shadow: 0 0 0 2px rgba(46, 91, 255, 0.45), 0 8px 32px rgba(0, 0, 0, 0.35);
}

.dash-finance-hub.is-switching.mode-demo {
    box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.45), 0 8px 32px rgba(0, 0, 0, 0.35);
}

@keyframes dash-mode-pop {
    0% { transform: scale(1); }
    40% { transform: scale(1.08); }
    100% { transform: scale(1); }
}

@keyframes dash-balance-swap {
    0% { opacity: 1; transform: translateY(0) scale(1); }
    35% { opacity: 0; transform: translateY(-6px) scale(0.96); }
    65% { opacity: 0; transform: translateY(6px) scale(0.96); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes dash-hub-flash {
    0% { filter: brightness(1); }
    25% { filter: brightness(1.15); }
    100% { filter: brightness(1); }
}

/* Accounts switch modal */
.dash-accounts-modal {
    position: fixed;
    inset: 0;
    z-index: 300;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.dash-accounts-modal[hidden] {
    display: none !important;
}

.dash-accounts-backdrop {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, rgba(20, 22, 38, 0.5) 0%, rgba(0, 0, 0, 0.72) 100%);
    opacity: 0;
    transition: opacity 0.24s ease;
}

.dash-accounts-modal.is-visible .dash-accounts-backdrop {
    opacity: 1;
}

.dash-accounts-dialog {
    position: relative;
    width: 100%;
    max-width: 340px;
    background: linear-gradient(168deg, #2d2f48 0%, #24263b 32%, #1e1e2e 68%, #1a1b28 100%);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 16px;
    overflow: hidden;
    z-index: 1;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.03) inset,
        0 20px 50px rgba(0, 0, 0, 0.5),
        0 4px 16px rgba(46, 91, 255, 0.06);
    opacity: 0;
    transform: scale(0.96) translateY(10px);
    transition: opacity 0.26s cubic-bezier(0.22, 1, 0.36, 1), transform 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}

.dash-accounts-modal.is-visible .dash-accounts-dialog {
    opacity: 1;
    transform: scale(1) translateY(0);
}

.dash-accounts-header {
    position: relative;
    padding: 20px 40px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, transparent 100%);
}

.dash-accounts-title {
    margin: 0;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.02em;
}

.dash-accounts-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
    color: #8e8e93;
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    font-family: inherit;
    transition: color 0.15s, background 0.15s, border-color 0.15s;
}

.dash-accounts-close:hover {
    color: #d1d5db;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.1);
}

.dash-acct-section {
    cursor: pointer;
    padding: 16px 20px;
    transition: background 0.2s ease;
}

.dash-acct-section.dash-acct-real {
    padding-bottom: 0;
    background: linear-gradient(180deg, rgba(46, 91, 255, 0.04) 0%, transparent 100%);
}

.dash-acct-section.dash-acct-real.is-selected {
    background: linear-gradient(180deg, rgba(46, 91, 255, 0.08) 0%, rgba(46, 91, 255, 0.02) 100%);
}

.dash-acct-section.dash-acct-demo {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 18px;
    padding-bottom: 20px;
}

.dash-acct-section.dash-acct-demo.is-selected {
    background: linear-gradient(180deg, rgba(0, 192, 118, 0.07) 0%, transparent 100%);
}

.dash-acct-section:hover:not(.is-selected) {
    background: rgba(255, 255, 255, 0.02);
}

.dash-acct-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.dash-acct-radio {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #43455a;
    background: transparent;
    flex-shrink: 0;
    margin-top: 2px;
    position: relative;
    box-sizing: border-box;
}

.dash-acct-section.is-selected.dash-acct-real .dash-acct-radio {
    border-color: #4b7dff;
    box-shadow: 0 0 0 3px rgba(59, 102, 255, 0.15);
}

.dash-acct-section.is-selected.dash-acct-real .dash-acct-radio::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 -4px;
    border-radius: 50%;
    background: #1e1e2e;
    box-shadow: inset 0 0 0 1px #4b7dff;
}

.dash-acct-section.is-selected.dash-acct-demo .dash-acct-radio {
    border-color: #00c076;
    box-shadow: 0 0 0 3px rgba(0, 192, 118, 0.15);
}

.dash-acct-section.is-selected.dash-acct-demo .dash-acct-radio::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    margin: -4px 0 0 -4px;
    border-radius: 50%;
    background: #1e1e2e;
    box-shadow: inset 0 0 0 1px #00c076;
}

.dash-acct-col {
    flex: 1;
    min-width: 0;
}

.dash-acct-line {
    display: flex;
    align-items: center;
}

.dash-acct-line-top {
    justify-content: space-between;
    margin-bottom: 8px;
}

.dash-acct-line-balance {
    gap: 8px;
    margin-bottom: 0;
}

.dash-acct-badge {
    display: inline-block;
    padding: 4px 9px;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
}

.dash-acct-badge-real {
    background: linear-gradient(135deg, #5b8fff 0%, #2e5bff 55%, #2450e0 100%);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(46, 91, 255, 0.35);
}

.dash-acct-badge-demo {
    background: linear-gradient(135deg, #00d68a 0%, #00a65a 55%, #008f4d 100%);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 166, 90, 0.3);
}

.dash-acct-balance {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.dash-acct-balance-real {
    background: linear-gradient(135deg, #6ba3ff 0%, #3b66ff 50%, #2e5bff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.dash-acct-balance-demo {
    color: #3d8f6a;
    margin-top: 8px;
    display: block;
    font-weight: 700;
}

.dash-acct-section.is-selected.dash-acct-demo .dash-acct-balance-demo {
    background: linear-gradient(135deg, #2dd68a 0%, #00c076 60%, #00a65a 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    font-weight: 800;
}

.dash-acct-deposit {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #5b8fff 0%, #2e5bff 50%, #2450e0 100%);
    border: none;
    border-radius: 9px;
    color: #fff;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    box-shadow: 0 3px 12px rgba(46, 91, 255, 0.4);
    transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

.dash-acct-deposit svg { width: 18px; height: 18px; }

.dash-acct-deposit:hover {
    filter: brightness(1.08);
    box-shadow: 0 4px 16px rgba(46, 91, 255, 0.5);
    transform: translateY(-1px);
}

.dash-acct-deposit:active { transform: translateY(0); }

.dash-acct-expand {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #323448 0%, #262838 100%);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 7px;
    color: #8e8e93;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    transition: transform 0.2s ease, color 0.15s ease, border-color 0.15s ease;
}

.dash-acct-expand svg { width: 13px; height: 13px; }

.dash-acct-expand:hover {
    color: #c4c4d0;
    border-color: rgba(255, 255, 255, 0.1);
}

.dash-acct-expand.is-open {
    transform: rotate(180deg);
}

.dash-acct-expand:not(.is-open) {
    transform: rotate(0deg);
}

.dash-acct-details {
    display: flex;
    align-items: center;
    margin-top: 14px;
    padding: 14px 12px 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(255, 255, 255, 0.02) 100%);
    border-radius: 0 0 8px 8px;
    margin-left: -4px;
    margin-right: -4px;
}

.dash-acct-details[hidden] {
    display: none !important;
}

.dash-acct-detail {
    flex: 1;
    min-width: 0;
}

.dash-acct-detail span {
    display: block;
    font-size: 11px;
    font-weight: 500;
    color: #8e8e93;
    margin-bottom: 4px;
    letter-spacing: 0.01em;
}

.dash-acct-detail strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #f3f4f6;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.01em;
}

.dash-acct-detail-divider {
    width: 1px;
    height: 36px;
    background: linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.1) 50%, transparent 100%);
    margin: 0 20px;
    flex-shrink: 0;
}

.dash-acct-info {
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #8e8e93;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    margin-left: auto;
}

.dash-acct-info svg { width: 17px; height: 17px; }

.dash-acct-info:hover { color: #b0b0b5; }

.dash-acct-plan-link {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.03);
    color: #e5e7eb;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.dash-acct-plan-link:hover {
    background: rgba(59, 102, 255, 0.1);
    border-color: rgba(59, 102, 255, 0.28);
}

.dash-acct-plan-link-label {
    font-size: 11px;
    font-weight: 600;
    color: #9ca3af;
}

.dash-acct-plan-link-value {
    flex: 1;
    min-width: 0;
    text-align: left;
    font-size: 13px;
    font-weight: 700;
    color: #f3f4f6;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dash-acct-plan-link svg {
    flex-shrink: 0;
    color: #8e8e93;
}

/* Account switch effects */
.dash-accounts-modal.is-switching .dash-accounts-dialog {
    pointer-events: none;
}

.dash-acct-section.is-switching {
    position: relative;
    animation: acct-section-pulse 0.8s ease-in-out infinite;
}

.dash-acct-section.is-switching::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 8px;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.06) 50%, transparent 100%);
    background-size: 200% 100%;
    animation: acct-shimmer 1s linear infinite;
    pointer-events: none;
}

.dash-acct-section.is-switched {
    animation: acct-section-success 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.dash-acct-section.is-switched.dash-acct-real {
    box-shadow: inset 0 0 0 1px rgba(59, 102, 255, 0.35);
}

.dash-acct-section.is-switched.dash-acct-demo {
    box-shadow: inset 0 0 0 1px rgba(0, 192, 118, 0.35);
}

.dash-acct-switch-banner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 16px 16px;
    padding: 11px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.01em;
    animation: acct-banner-in 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.dash-acct-switch-banner[hidden] {
    display: none !important;
}

.dash-acct-switch-banner.mode-real {
    background: linear-gradient(135deg, rgba(46, 91, 255, 0.2) 0%, rgba(46, 91, 255, 0.08) 100%);
    color: #93bbff;
    border: 1px solid rgba(59, 102, 255, 0.25);
}

.dash-acct-switch-banner.mode-demo {
    background: linear-gradient(135deg, rgba(0, 192, 118, 0.2) 0%, rgba(0, 192, 118, 0.08) 100%);
    color: #6ee7b7;
    border: 1px solid rgba(0, 192, 118, 0.25);
}

.dash-acct-switch-banner-icon {
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dash-acct-switch-banner-icon svg {
    width: 16px;
    height: 16px;
}

@keyframes acct-section-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.72; }
}

@keyframes acct-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

@keyframes acct-section-success {
    0% { transform: scale(1); }
    35% { transform: scale(1.015); }
    100% { transform: scale(1); }
}

@keyframes acct-banner-in {
    0% { opacity: 0; transform: translateY(8px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* Account type subscription modal */
.dash-accttype-modal {
    position: fixed;
    inset: 0;
    z-index: 310;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.dash-accttype-modal[hidden] {
    display: none !important;
}

.dash-accttype-backdrop {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, rgba(20, 22, 38, 0.5) 0%, rgba(0, 0, 0, 0.72) 100%);
    opacity: 0;
    transition: opacity 0.24s ease;
}

.dash-accttype-modal.is-visible .dash-accttype-backdrop {
    opacity: 1;
}

.dash-accttype-dialog {
    position: relative;
    width: 100%;
    max-width: 420px;
    max-height: min(88vh, 640px);
    display: flex;
    flex-direction: column;
    background: linear-gradient(168deg, #2d2f48 0%, #24263b 32%, #1e1e2e 68%, #1a1b28 100%);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 16px;
    overflow: hidden;
    z-index: 1;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.03) inset,
        0 20px 50px rgba(0, 0, 0, 0.5);
    opacity: 0;
    transform: scale(0.96) translateY(10px);
    transition: opacity 0.26s cubic-bezier(0.22, 1, 0.36, 1), transform 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}

.dash-accttype-modal.is-visible .dash-accttype-dialog {
    opacity: 1;
    transform: scale(1) translateY(0);
}

.dash-accttype-header {
    position: relative;
    padding: 20px 40px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.dash-accttype-title {
    margin: 0;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
}

.dash-accttype-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
    color: #8e8e93;
    font-size: 17px;
    cursor: pointer;
    padding: 0;
    font-family: inherit;
}

.dash-accttype-close:hover {
    color: #d1d5db;
    background: rgba(255, 255, 255, 0.08);
}

.dash-accttype-intro {
    margin: 0;
    padding: 12px 20px 8px;
    font-size: 13px;
    line-height: 1.45;
    color: #9ca3af;
    text-align: center;
}

.dash-accttype-list {
    flex: 1;
    overflow-y: auto;
    padding: 8px 16px 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dash-accttype-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.dash-accttype-card.is-current {
    border-color: rgba(59, 102, 255, 0.35);
    background: rgba(46, 91, 255, 0.08);
}

.dash-accttype-badge {
    flex-shrink: 0;
    min-width: 72px;
    padding: 8px 10px;
    border-radius: 8px;
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.dash-accttype-meta {
    flex: 1;
    min-width: 0;
}

.dash-accttype-name {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #f3f4f6;
}

.dash-accttype-deposit {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #9ca3af;
}

.dash-accttype-action {
    flex-shrink: 0;
}

.dash-accttype-btn {
    padding: 8px 14px;
    border-radius: 8px;
    border: none;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    background: linear-gradient(180deg, #4b8ef5 0%, #2e5bff 100%);
    color: #fff;
    transition: opacity 0.15s;
}

.dash-accttype-btn:hover:not(:disabled) {
    opacity: 0.9;
}

.dash-accttype-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.dash-accttype-btn.is-loading {
    pointer-events: none;
    opacity: 0.7;
}

.dash-accttype-status {
    font-size: 11px;
    font-weight: 600;
    color: #6ee7b7;
    text-align: right;
}

.dash-accttype-status.is-muted {
    color: #9ca3af;
}

.dash-accttype-foot {
    padding: 12px 20px 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}

.dash-accttype-open-plans {
    padding: 8px 16px;
    border: 1px solid rgba(59, 102, 255, 0.35);
    border-radius: 8px;
    background: rgba(46, 91, 255, 0.12);
    color: #bfdbfe;
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
}

.dash-accttype-open-plans:hover {
    background: rgba(46, 91, 255, 0.2);
}

.dash-accttype-compare {
    font-size: 12px;
    font-weight: 600;
    color: #93bbff;
    text-decoration: none;
}

.dash-accttype-compare:hover {
    text-decoration: underline;
}

.dash-finances-btn {
    background: linear-gradient(180deg, #4b8ef5 0%, var(--dash-blue) 100%);
    color: #fff;
    border: none;
    padding: 0 38px;
    min-width: 118px;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: filter 0.15s ease, box-shadow 0.15s ease;
    font-family: inherit;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.dash-finances-btn:hover {
    filter: brightness(1.07);
}

.dash-pair-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 168px;
    justify-content: center;
    background: linear-gradient(180deg, rgba(21, 27, 40, 0.75) 0%, rgba(12, 16, 24, 0.82) 100%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--dash-radius-md);
    padding: 7px 16px 7px 12px;
    cursor: pointer;
    pointer-events: auto;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
    transition: border-color 0.15s ease, background 0.15s ease;
}

.dash-pair-chip:hover {
    border-color: rgba(96, 165, 250, 0.35);
}

.dash-pair-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
}

.dash-pair-icon-img {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.dash-pair-icon-flags {
    display: block;
    position: relative;
    width: 28px;
    height: 18px;
    border-radius: 4px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.dash-pair-icon-flags img {
    position: absolute;
    top: 0;
    height: 100%;
    width: 50%;
    object-fit: cover;
}

.dash-pair-icon-flags img:first-child { left: 0; }
.dash-pair-icon-flags img:last-child { left: 50%; }

.dash-pair-icon-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: #2c3144;
    font-size: 10px;
    font-weight: 800;
    color: #94a3b8;
}

.dash-pair-label {
    color: #f9fafb;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.2;
    white-space: nowrap;
}

button.dash-pair-chip {
    font-family: inherit;
    color: inherit;
}

.dash-chevron {
    width: 11px;
    height: 11px;
    color: rgba(255, 255, 255, 0.65);
    pointer-events: none;
    flex-shrink: 0;
}

.dash-chart-area.tp-app {
    margin: 0;
    padding: 0;
    max-width: none;
    width: 100%;
    height: 100%;
    height: 100dvh;
    min-height: 100%;
}

.dash-chart-area .tp-drag-hint {
    display: none !important;
}

/* Bottom dock — full-width trade controls over chart; time axis below footer */
.dash-bottom-dock {
    position: fixed;
    left: 0;
    right: 0;
    bottom: var(--dash-dock-bottom);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
    padding: 0 10px;
    z-index: 30;
    background: transparent;
    pointer-events: none;
}

.dash-bottom-dock > * {
    pointer-events: auto;
}

/* Chart toolbar — visible horizontal controllers */
.dash-chart-toolbar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 0;
    background: transparent;
    border: none;
    align-self: center;
}

.dash-chart-toolbar-panel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}

.dash-chart-toolbar-panel[hidden] {
    display: none !important;
}

.dash-tb-group {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
}

.dash-tb-group--controllers {
    gap: 3px;
    padding: 5px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(28, 32, 44, 0.94);
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    box-shadow:
        0 10px 28px rgba(0, 0, 0, 0.45),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.dash-tb-sep {
    width: 1px;
    height: 22px;
    margin: 0 4px;
    background: rgba(255, 255, 255, 0.16);
    border-radius: 1px;
}

.dash-toolbar-btn {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font: inherit;
    padding: 0;
    line-height: 0;
    transition: color 0.12s ease, background 0.12s ease, box-shadow 0.12s ease;
    box-shadow: none;
    -webkit-tap-highlight-color: transparent;
}

.dash-toolbar-btn[hidden],
.dash-chart-toolbar [hidden] {
    display: none !important;
}

.dash-toolbar-btn--tv {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #ffffff;
}

.dash-toolbar-btn--tv:hover {
    background: rgba(255, 255, 255, 0.14);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.16);
}

.dash-toolbar-btn--tv.active {
    background: rgba(77, 125, 255, 0.28);
    border-color: rgba(120, 160, 255, 0.55);
    color: #ffffff;
    box-shadow: 0 0 0 1px rgba(77, 125, 255, 0.25);
}

.dash-toolbar-btn--tf {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1;
    min-width: 42px;
}

.dash-tf-label {
    font-size: 14px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #ffffff;
}

.dash-tf-wrap {
    position: relative;
    display: inline-flex;
}

.dash-tf-menu {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 10px);
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 78px;
    padding: 7px;
    border-radius: 12px;
    background: rgba(22, 26, 36, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.55);
    z-index: 80;
}

.dash-tf-menu[hidden] {
    display: none !important;
}

.dash-tf-opt {
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, 0.82);
    font: 700 13px/1 inherit;
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    text-align: center;
}

.dash-tf-opt:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.dash-tf-opt.active {
    background: rgba(77, 125, 255, 0.28);
    color: #fff;
}

.dash-toolbar-btn svg,
.dash-toolbar-btn .dash-tb-icon {
    width: 20px;
    height: 20px;
    pointer-events: none;
    display: block;
    flex-shrink: 0;
    color: inherit;
}

.dash-toolbar-btn--tv svg,
.dash-toolbar-btn--tv .dash-tb-icon {
    width: 22px;
    height: 22px;
    filter: drop-shadow(0 0 0.5px rgba(255, 255, 255, 0.25)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.45));
}

#tp-indicators-open {
    position: relative;
}

.dash-ind-active-dot {
    position: absolute;
    top: 7px;
    right: 7px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #6b9bff;
    box-shadow: 0 0 0 1px rgba(16, 18, 26, 0.9), 0 0 8px rgba(77, 125, 255, 0.8);
    pointer-events: none;
    z-index: 1;
}

.dash-ind-active-dot[hidden] {
    display: none !important;
}

.dash-toolbar-btn--text {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    width: 36px;
    line-height: 1;
}

.dash-toolbar-btn--accent {
    color: #ffffff;
}

.dash-toolbar-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
}

.dash-toolbar-btn.active {
    background: rgba(77, 125, 255, 0.28);
    color: #ffffff;
}

.dash-toolbar-btn.active:hover {
    background: rgba(77, 125, 255, 0.36);
    color: #ffffff;
}

.dash-toolbar-btn:active {
    background: rgba(255, 255, 255, 0.14);
}

.dash-draw-toolbar {
    gap: 0;
    padding: 0;
}

.dash-draw-toolbar-shell {
    display: inline-flex;
    align-items: center;
    gap: 1px;
    padding: 3px 6px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.04) 0%,
        rgba(16, 18, 28, 0.22) 50%,
        rgba(10, 12, 20, 0.3) 100%
    );
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.dash-draw-toolbar-divider {
    width: 1px;
    height: 18px;
    flex-shrink: 0;
    margin: 0 4px;
    background: rgba(255, 255, 255, 0.08);
}

.dash-draw-tool-btn {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: color 0.12s ease, background 0.12s ease;
}

.dash-draw-tool-btn svg {
    width: 16px;
    height: 16px;
    pointer-events: none;
}

.dash-draw-tool-btn:hover {
    color: rgba(255, 255, 255, 0.88);
    background: rgba(255, 255, 255, 0.06);
}

.dash-draw-tool-btn--delete {
    background: rgba(0, 0, 0, 0.12);
    border-radius: 6px;
}

.dash-draw-tool-btn--delete:hover {
    background: rgba(0, 0, 0, 0.2);
    color: #f3f4f6;
}

.dash-draw-tool-btn.active,
.dash-draw-tool-btn[data-draw-tool="pencil"].active,
.dash-draw-tool-btn[data-draw-tool="eraser"].active,
.dash-draw-tool-btn[data-draw-tool="pan"].active {
    color: #efb915;
}

.dash-draw-tool-btn.active svg {
    stroke: #efb915;
}

.dash-draw-color-wrap {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 2px;
}

.dash-draw-color-btn {
    width: 30px;
    height: 30px;
    border: none;
    border-radius: 6px;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.dash-draw-color-btn:hover {
    background: rgba(255, 255, 255, 0.06);
}

.dash-draw-color-swatch {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #c9852a;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.22);
}

.dash-draw-color-menu {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    padding: 8px 10px;
    background: #464956;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
    z-index: 60;
}

.dash-draw-color-menu[hidden] {
    display: none !important;
}

.dash-draw-color-opt {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid transparent;
    background: var(--swatch);
    cursor: pointer;
    padding: 0;
    transition: transform 0.12s ease, border-color 0.12s ease;
}

.dash-draw-color-opt:hover {
    transform: scale(1.1);
}

.dash-draw-color-opt.is-active {
    border-color: #ffffff;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
}

.dash-shell.is-drawing-chart .dash-ui-layer {
    z-index: 30;
    pointer-events: none;
}

.dash-shell.is-drawing-chart .dash-bottom-dock {
    pointer-events: auto;
    z-index: 50;
}

.dash-shell.is-drawing-chart .dash-chart-toolbar {
    position: relative;
    z-index: 51;
}

.tp-chart-wrap.drawing-mode:not(.drawing-pan):not(.drawing-eraser) {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23efb915' stroke-width='1.5'%3E%3Cpath d='M12 19l7-7 3 3-7 7-3-3z'/%3E%3C/svg%3E") 2 22, crosshair;
    user-select: none;
    -webkit-user-select: none;
}

.tp-chart-wrap.drawing-pan {
    cursor: grab;
}

.tp-chart-wrap.drawing-eraser {
    cursor: cell;
}

/* Chart modals — graph / indicators / strike */
.dash-chart-modal {
    position: fixed;
    inset: 0;
    z-index: 280;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.dash-chart-modal[hidden] {
    display: none !important;
}

.dash-chart-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
}

.dash-chart-modal-dialog {
    position: relative;
    width: 100%;
    background: #1c1e26;
    border: 1px solid #2c3144;
    border-radius: 14px;
    overflow: hidden;
    z-index: 1;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
    display: flex;
    flex-direction: column;
}

.dash-chart-modal-dialog--graph {
    max-width: 380px;
}

/* Indicator settings modal — premium */
.dash-chart-modal-dialog--ind-settings {
    max-width: 340px;
    max-height: 90vh;
    background: #12151c;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(255, 255, 255, 0.03) inset;
}

.dash-ind-settings-header {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px 48px 16px;
}

.dash-ind-settings-header h2 {
    flex: 1;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #f8fafc;
}

.dash-ind-settings-back {
    position: absolute;
    left: 16px;
    top: 16px;
    width: 32px;
    height: 32px;
    border: none;
    background: none;
    color: #6b7280;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.15s;
}

.dash-ind-settings-back svg {
    width: 20px;
    height: 20px;
}

.dash-ind-settings-back:hover { color: #d1d5db; }

.dash-chart-modal-dialog--ind-settings .dash-chart-modal-close {
    top: 16px;
    right: 16px;
    color: #6b7280;
    font-size: 20px;
}

.dash-ind-settings-body {
    padding: 0 18px 16px;
    overflow-y: auto;
    max-height: calc(90vh - 140px);
}

.dash-ind-settings-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.dash-ind-set-group-title {
    font-size: 13px;
    font-weight: 700;
    color: #f8fafc;
    margin-bottom: 10px;
    letter-spacing: -0.01em;
}

.dash-ind-set-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.dash-ind-set-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}

.dash-ind-set-label {
    font-size: 11px;
    color: #8a8e9b;
    font-weight: 500;
    letter-spacing: 0.02em;
}

.dash-ind-set-input,
.dash-ind-set-select {
    width: 100%;
    height: 40px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 10px;
    background: #161a24;
    color: #f8fafc;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.dash-ind-set-input:focus,
.dash-ind-set-select:focus {
    outline: none;
    border-color: rgba(59, 130, 246, 0.55);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
}

.dash-ind-set-color {
    width: 100%;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 10px;
    background: transparent;
    cursor: pointer;
    box-sizing: border-box;
    overflow: hidden;
}

.dash-ind-set-color::-webkit-color-swatch-wrapper {
    padding: 0;
}

.dash-ind-set-color::-webkit-color-swatch {
    border: none;
    border-radius: 10px;
}

.dash-ind-set-color::-moz-color-swatch {
    border: none;
    border-radius: 10px;
}

.dash-ind-settings-info {
    position: relative;
    margin-top: 20px;
    padding: 16px 16px 16px 20px;
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    overflow: hidden;
}

.dash-ind-settings-info::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    bottom: 10px;
    width: 3px;
    border-radius: 0 3px 3px 0;
    background: linear-gradient(180deg,
        rgba(255, 255, 255, 0.65) 0%,
        rgba(255, 255, 255, 0.22) 45%,
        rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
}

.dash-ind-settings-info[hidden] { display: none !important; }

.dash-ind-settings-info strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #f8fafc;
    margin-bottom: 8px;
    letter-spacing: -0.01em;
}

.dash-ind-settings-info p {
    margin: 0;
    font-size: 12px;
    line-height: 1.55;
    color: #8a8e9b;
}

.dash-ind-settings-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 0;
    margin-top: auto;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.dash-ind-settings-cancel,
.dash-ind-settings-confirm {
    height: 50px;
    border: none;
    border-radius: 0;
    font-size: 15px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    letter-spacing: -0.01em;
    transition: background 0.15s, filter 0.15s;
}

.dash-ind-settings-cancel {
    background: #161a24;
    color: #e5e7eb;
    border-right: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 0 0 0 16px;
}

.dash-ind-settings-cancel:hover {
    background: #1c2130;
}

.dash-ind-settings-confirm {
    background: linear-gradient(180deg, #4a7dff 0%, #3b66ff 100%);
    color: #fff;
    border-radius: 0 0 16px 0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.dash-ind-settings-confirm:hover {
    background: linear-gradient(180deg, #5585ff 0%, #3258e8 100%);
}

/* Shared chart modal base (graph / strike) */
.dash-chart-modal-dialog--strike {
    max-width: 350px;
    overflow-x: hidden;
}

.dash-chart-modal-header {
    position: relative;
    padding: 16px 40px 10px;
    text-align: center;
    border-bottom: none;
}

.dash-chart-modal-header h2 {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
}

.dash-chart-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 24px;
    height: 24px;
    background: none;
    border: none;
    color: #8e8e93;
    font-size: 18px;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    font-family: inherit;
}

.dash-chart-modal-close:hover { color: #c4c4d0; }

.dash-chart-modal-body {
    padding: 4px 18px 18px;
}

.dash-chart-modal-label {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 500;
    color: #8b95a8;
}

.dash-graph-types {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}

.dash-graph-type {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 88px;
    padding: 16px 6px 12px;
    background: #2a2d3a;
    border: 1px solid transparent;
    border-radius: 10px;
    cursor: pointer;
    font-family: inherit;
    color: #8b95a8;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.dash-graph-type svg {
    width: 32px;
    height: 32px;
}

.dash-graph-type span {
    font-size: 11px;
    font-weight: 600;
}

.dash-graph-type:hover {
    background: #353848;
    color: #e2e8f0;
}

.dash-graph-type.active {
    background: #3b66ff;
    border-color: #3b66ff;
    color: #fff;
}

.dash-chart-modal-confirm {
    width: 100%;
    padding: 15px 16px;
    background: #3b66ff;
    border: none;
    border-radius: 0 0 14px 14px;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s;
}

.dash-chart-modal-confirm:hover { background: #2f55e0; }

.dash-chart-modal-close-btn {
    width: calc(100% - 24px);
    margin: 0 12px 12px;
    padding: 14px 16px;
    background: #222633;
    border: 1px solid #2c3144;
    border-radius: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
}

.dash-chart-modal-close-btn:hover { background: #2a2f3d; }

.dash-strike-list {
    padding: 0 16px;
    max-height: 280px;
    overflow-x: hidden;
    overflow-y: auto;
}

.dash-strike-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 11px 4px;
    margin: 0;
    border: none;
    border-bottom: 1px solid #2c3144;
    border-radius: 6px;
    background: transparent;
    font-family: inherit;
    font-variant-numeric: tabular-nums;
    text-align: inherit;
    cursor: pointer;
    box-sizing: border-box;
    transition: background 0.12s ease, opacity 0.12s ease;
}

.dash-strike-row:hover {
    background: rgba(255, 255, 255, 0.04);
}

.dash-strike-row.is-selected {
    background: rgba(59, 102, 255, 0.1);
}

.dash-strike-row.is-atm .dash-strike-rate {
    color: #93bbff;
}

.dash-strike-row:not(.is-selected) {
    opacity: 0.55;
}

.dash-strike-row.is-disabled {
    pointer-events: none;
    opacity: 0.4;
}

.dash-strike-row:last-child { border-bottom: none; }

.dash-strike-empty {
    margin: 0;
    padding: 20px 16px;
    text-align: center;
    color: #9ca3af;
    font-size: 13px;
}

.dash-strike-left,
.dash-strike-right {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    min-width: 0;
}

.dash-strike-left { justify-content: flex-start; }

.dash-strike-right { justify-content: flex-end; }

.dash-strike-amt {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dash-strike-down {
    width: 10px;
    height: 10px;
    color: #b33a44;
    flex-shrink: 0;
}

.dash-strike-up {
    width: 10px;
    height: 10px;
    color: #008f68;
    flex-shrink: 0;
}

.dash-strike-rate {
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    flex-shrink: 0;
}

.dash-strike-check {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    font-size: 13px;
    color: #fff;
    cursor: pointer;
    user-select: none;
}

.dash-strike-check input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.dash-strike-check-box {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background: #3b66ff;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dash-strike-check-box::after {
    content: '';
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    margin-top: -2px;
    opacity: 0;
}

.dash-strike-check input:checked + .dash-strike-check-box::after {
    opacity: 1;
}

.dash-strike-check input:not(:checked) + .dash-strike-check-box {
    background: #2d303e;
    border: 1px solid #4b5563;
}

/* Kill legacy trade-platform toolbar rules inside dashboard */
.dash-chart-area .tp-chart-toolbar {
    all: unset;
    display: none !important;
}

/* Footer / trade controls — reference match */
.dash-footer {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 10px;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
    font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.dash-control-box {
    display: flex;
    align-items: stretch;
    height: 56px;
    min-width: 132px;
    flex-shrink: 0;
    border-radius: 10px;
    border: 1px solid var(--dash-glass-border);
    overflow: hidden;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.05) 0%,
        var(--dash-glass-panel) 42%,
        var(--dash-glass-panel-deep) 100%
    );
    backdrop-filter: blur(var(--dash-glass-blur)) saturate(180%);
    -webkit-backdrop-filter: blur(var(--dash-glass-blur)) saturate(180%);
    box-shadow: var(--dash-glass-shadow);
}

.dash-step-col {
    display: flex;
    flex-direction: column;
    width: 36px;
    flex-shrink: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.1);
}

.dash-step-col--right {
    border-right: none;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
}

/* Desktop: vertical steppers for invest/duration */
@media (min-width: 769px) {
    .dash-invest {
        display: grid;
        grid-template-columns: 36px 1fr;
        grid-template-rows: 1fr 1fr;
    }

    .dash-invest #tp-investment-plus {
        grid-column: 1;
        grid-row: 1;
        order: unset;
        margin: 0;
        border-top: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 10px 0 0 0;
    }

    .dash-invest #tp-investment-minus {
        grid-column: 1;
        grid-row: 2;
        order: unset;
        margin: 0;
        border-radius: 0 0 0 10px;
    }

    .dash-invest #tp-investment-open {
        grid-column: 2;
        grid-row: 1 / 3;
        order: unset;
    }

    .dash-duration {
        display: grid;
        grid-template-columns: 1fr 36px;
        grid-template-rows: 1fr 1fr;
    }

    .dash-duration #tp-duration-open {
        grid-column: 1;
        grid-row: 1 / 3;
    }

    .dash-duration #tp-duration-next {
        grid-column: 2;
        grid-row: 1;
        width: 36px;
        border-left: 1px solid rgba(255, 255, 255, 0.08);
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 0 10px 0 0;
        background: rgba(0, 0, 0, 0.1);
    }

    .dash-duration #tp-duration-prev {
        grid-column: 2;
        grid-row: 2;
        width: 36px;
        border-left: 1px solid rgba(255, 255, 255, 0.08);
        border-radius: 0 0 10px 0;
        background: rgba(0, 0, 0, 0.1);
    }

    .dash-topbar {
        flex-wrap: wrap;
        justify-content: center;
    }

    .dash-asset-row {
        justify-content: center;
        padding: 0 20px 10px;
    }

    .dash-asset-row .dash-pair-chip {
        flex: none;
        max-width: none;
    }

    .dash-footer {
        flex-wrap: nowrap;
        max-width: none;
        width: 100%;
    }

    .dash-invest {
        order: 1;
    }

    .dash-trade-combo {
        order: 2;
        flex: 1 1 auto;
        width: auto;
        height: 56px;
    }

    .dash-duration {
        order: 3;
    }
}

.dash-step-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: rgba(255, 255, 255, 0.55);
    font-size: 17px;
    font-weight: 400;
    font-family: inherit;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    transition: color 0.12s ease, background 0.12s ease;
}

.dash-step-btn:first-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.dash-step-btn:last-child {
    border: none;
}

.dash-step-btn svg {
    width: 13px;
    height: 13px;
    pointer-events: none;
}

.dash-step-btn:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #e5e7eb;
}

.dash-step-btn:active {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
}

.dash-control-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    min-width: 90px;
}

.dash-control-body--tap {
    border: none;
    background: transparent;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.12s ease;
}

.dash-control-body--tap:hover {
    background: rgba(255, 255, 255, 0.04);
}

.dash-control-body--tap:active {
    background: rgba(255, 255, 255, 0.07);
}

/* Investment keypad modal — bottom sheet above trade controls */
.dash-invest-modal {
    z-index: 35;
    align-items: flex-end;
    justify-content: center;
    padding: 0 20px calc(var(--dash-dock-bottom) + 64px);
    left: var(--dash-sidebar-width);
    right: var(--dash-sidebar-width);
    width: auto;
}

.dash-invest-modal .dash-chart-modal-backdrop {
    left: 0;
    right: 0;
}

.dash-chart-modal-dialog--invest {
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
    background: #1a1d28;
    border-color: #2c3144;
    box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.45);
}

.dash-invest-modal-display {
    padding: 24px 20px 20px;
    text-align: center;
    border-bottom: 1px solid #2c3144;
}

.dash-invest-modal-amount-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    max-width: 100%;
    cursor: text;
}

.dash-invest-modal-prefix {
    font-size: 34px;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
    user-select: none;
}

.dash-invest-modal-amount {
    width: min(220px, 42vw);
    border: none;
    outline: none;
    background: transparent;
    font-size: 34px;
    font-weight: 700;
    color: #fff;
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
    font-family: inherit;
    text-align: left;
    padding: 0;
    caret-color: #60a5fa;
}

.dash-invest-modal-amount:focus {
    outline: none;
}

.dash-invest-modal-amount::selection {
    background: rgba(59, 102, 255, 0.35);
}

.dash-invest-modal-hint {
    margin: 10px 0 0;
    font-size: 14px;
    font-weight: 400;
    color: #9ca3af;
}

.dash-invest-keypad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 6px 10px 4px;
}

.dash-invest-key {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 54px;
    margin: 2px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #fff;
    font-size: 22px;
    font-weight: 400;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.12s ease;
}

.dash-invest-key:hover {
    background: rgba(255, 255, 255, 0.06);
}

.dash-invest-key:active {
    background: rgba(255, 255, 255, 0.1);
}

.dash-invest-key--empty {
    pointer-events: none;
}

.dash-invest-key--back svg {
    width: 22px;
    height: 22px;
    color: rgba(255, 255, 255, 0.85);
    pointer-events: none;
}

.dash-invest-modal-confirm {
    width: 100%;
    margin-top: 4px;
    padding: 16px 16px 18px;
    background: #3b66ff;
    border: none;
    border-radius: 0 0 14px 14px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s ease;
}

.dash-invest-modal-confirm:hover {
    background: #2f55e0;
}

/* Finances modal */
.dash-chart-modal-dialog--finances {
    max-width: 392px;
    background: #1c1c28;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.62), 0 0 0 1px rgba(255, 255, 255, 0.03) inset;
}

.dash-chart-modal-dialog--finances .dash-chart-modal-header {
    padding: 26px 48px 22px;
}

.dash-chart-modal-dialog--finances .dash-chart-modal-header h2 {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #f4f4f5;
}

.dash-chart-modal-dialog--finances .dash-chart-modal-close {
    top: 18px;
    right: 18px;
    width: 28px;
    height: 28px;
    font-size: 20px;
    color: #6b7280;
}

.dash-chart-modal-dialog--finances .dash-chart-modal-close:hover {
    color: #9ca3af;
}

.dash-finances-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    padding: 0 28px 24px;
}

.dash-finances-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 168px;
    padding: 28px 16px 24px;
    border: none;
    border-radius: 14px;
    background: #2a2e3d;
    color: #fff;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.dash-finances-card:hover:not(.is-active) {
    background: #313548;
}

.dash-finances-card:hover {
    transform: translateY(-1px);
}

.dash-finances-card:active {
    transform: translateY(0);
}

.dash-finances-card.is-active {
    background: #3d85ff;
    box-shadow: 0 8px 24px rgba(61, 133, 255, 0.35);
}

.dash-finances-card.is-active:hover {
    background: #4a90e8;
    box-shadow: 0 10px 28px rgba(61, 133, 255, 0.42);
}

.dash-finances-card-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 52px;
    flex-shrink: 0;
}

.dash-finances-card-svg {
    width: 72px;
    height: 48px;
    pointer-events: none;
    color: rgba(255, 255, 255, 0.92);
}

.dash-finances-card-badge {
    position: absolute;
    top: -2px;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.dash-finances-card-icon--withdraw .dash-finances-card-badge {
    right: -6px;
}

.dash-finances-card-icon--deposit .dash-finances-card-badge {
    left: -6px;
}

.dash-finances-card-badge svg {
    width: 14px;
    height: 14px;
    color: #fff;
    pointer-events: none;
}

.dash-finances-card.is-active .dash-finances-card-badge {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.18);
}

.dash-finances-card-label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.dash-finances-desc {
    margin: 0 32px 20px;
    text-align: center;
    font-size: 13px;
    line-height: 1.55;
    color: #9ca3af;
    font-weight: 400;
}

.dash-finances-history {
    display: block;
    width: 100%;
    padding: 0 28px 30px;
    border: none;
    background: none;
    color: #3d85ff;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    text-align: center;
    cursor: pointer;
    letter-spacing: -0.01em;
    transition: color 0.15s ease;
}

.dash-finances-history:hover {
    color: #5b9aff;
}

/* Account plans slide-out panel */
.dash-slide-panel.is-plans-mode {
    width: min(420px, 94vw);
    background: #1a1d26;
}

.dash-slide-panel.is-plans-mode .dash-slide-header {
    display: none;
}

.dash-slide-panel.is-plans-mode .dash-slide-body {
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
    background: #1a1d26;
}

.plans-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    color: #fff;
    font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.plans-header {
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}

.plans-header-title {
    margin: 0;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
}

.plans-header-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
    color: #d1d5db;
    cursor: pointer;
    padding: 0;
}

.plans-header-btn:hover {
    background: rgba(255, 255, 255, 0.08);
}

.plans-header-spacer {
    width: 36px;
}

.plans-body {
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 14px 12px 18px 14px;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: rgba(58, 66, 88, 0.95) rgba(15, 17, 24, 0.45);
}

.plans-body::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.plans-body::-webkit-scrollbar-track {
    background: rgba(15, 17, 24, 0.55);
    border-radius: 999px;
    margin: 4px 0;
}

.plans-body::-webkit-scrollbar-thumb {
    background: rgba(58, 66, 88, 0.95);
    border-radius: 999px;
    border: 1px solid rgba(15, 17, 24, 0.65);
    min-height: 40px;
}

.plans-body::-webkit-scrollbar-thumb:hover {
    background: rgba(78, 88, 112, 0.98);
}

.plans-body::-webkit-scrollbar-thumb:active {
    background: rgba(96, 108, 138, 1);
}

.plans-body::-webkit-scrollbar-corner {
    background: #1a1d26;
}

.plans-intro {
    margin-bottom: 14px;
}

.plans-intro-text {
    margin: 0 0 10px;
    font-size: 13px;
    line-height: 1.5;
    color: #9ca3af;
}

.plans-balance {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 12px;
    color: #9ca3af;
}

.plans-balance strong {
    font-size: 14px;
    color: #f3f4f6;
    font-variant-numeric: tabular-nums;
}

.plans-current {
    margin-bottom: 14px;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(46, 91, 255, 0.1);
    border: 1px solid rgba(59, 102, 255, 0.28);
}

.plans-current-label {
    display: block;
    margin-bottom: 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #93c5fd;
}

.plans-current-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.plans-current-badge,
.plans-card-badge {
    flex-shrink: 0;
    min-width: 64px;
    padding: 8px 10px;
    border-radius: 8px;
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.plans-current-meta {
    min-width: 0;
}

.plans-current-meta strong {
    display: block;
    font-size: 15px;
    color: #f9fafb;
}

.plans-current-meta span {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #9ca3af;
}

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

.plans-card {
    padding: 14px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.07);
}

.plans-card.is-current {
    border-color: rgba(59, 102, 255, 0.35);
    background: rgba(46, 91, 255, 0.08);
}

.plans-card-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.plans-card-title-wrap {
    min-width: 0;
}

.plans-card-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #f3f4f6;
}

.plans-card-desc {
    margin: 4px 0 0;
    font-size: 12px;
    line-height: 1.45;
    color: #9ca3af;
}

.plans-card-features {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.plans-card-features li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 12px;
    color: #9ca3af;
}

.plans-card-features strong {
    color: #e5e7eb;
    font-weight: 600;
    text-align: right;
}

.plans-card-action {
    display: flex;
    justify-content: flex-end;
}

.plans-card-btn {
    padding: 9px 16px;
    border: none;
    border-radius: 9px;
    background: linear-gradient(180deg, #4b8ef5 0%, #2e5bff 100%);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
}

.plans-card-btn:hover:not(:disabled) {
    opacity: 0.92;
}

.plans-card-btn:disabled,
.plans-card-btn.is-loading {
    opacity: 0.65;
    cursor: not-allowed;
}

.plans-card-btn--deposit {
    background: linear-gradient(180deg, #34d399 0%, #059669 100%);
}

.plans-card-status {
    font-size: 12px;
    font-weight: 600;
    color: #6ee7b7;
}

.plans-card-status.is-muted {
    color: #9ca3af;
}

.plans-empty {
    padding: 24px 12px;
    text-align: center;
    font-size: 13px;
    color: #9ca3af;
}

.plans-foot {
    margin-top: 16px;
    text-align: center;
}

.plans-compare-link {
    font-size: 12px;
    font-weight: 600;
    color: #93bbff;
    text-decoration: none;
}

.plans-compare-link:hover {
    text-decoration: underline;
}

.dash-slide-panel.is-plans-mode .dash-panel-preloader-layer {
    background: #1a1d26;
}

/* Finances slide-out panel */
.dash-slide-panel.is-finances-mode {
    width: min(400px, 94vw);
    background: #1a1d26;
}

.dash-slide-panel.is-finances-mode .dash-slide-header {
    display: none;
}

.dash-slide-panel.is-finances-mode .dash-slide-body {
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.fin-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    color: #fff;
    font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.fin-header {
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    gap: 8px;
    padding: 14px 12px 10px;
}

.fin-header-title {
    margin: 0;
    text-align: center;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.fin-header-btn {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: #9ca3af;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.15s ease, background 0.15s ease;
}

.fin-header-btn:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.06);
}

.fin-header-btn svg {
    width: 22px;
    height: 22px;
    pointer-events: none;
}

.fin-header-btn--reload svg {
    width: 20px;
    height: 20px;
}

.fin-tabs {
    display: flex;
    gap: 6px;
    padding: 0 14px 14px;
}

.fin-tab {
    flex: 1;
    padding: 11px 8px;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: #8b919d;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
    white-space: nowrap;
}

.fin-tab.active {
    background: #2a2e3d;
    color: #fff;
}

.fin-context-hint {
    margin: 0 14px 12px;
    font-size: 12px;
    line-height: 1.5;
    color: #9ca3af;
    text-align: center;
}

.fin-search-wrap {
    position: relative;
    margin: 0 14px 12px;
}

.fin-search-wrap svg {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    color: #6b7280;
    pointer-events: none;
}

.fin-search {
    width: 100%;
    padding: 13px 14px 13px 42px;
    border: 1px solid #2c3144;
    border-radius: 12px;
    background: #12151f;
    color: #fff;
    font-size: 14px;
    font-family: inherit;
    box-sizing: border-box;
}

.fin-search::placeholder {
    color: #6b7280;
}

.fin-search:focus {
    outline: none;
    border-color: #3d85ff;
}

.fin-demo-notice {
    margin: 0 14px 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(245, 158, 11, 0.25);
    color: #fbbf24;
    font-size: 12px;
    line-height: 1.5;
}

.fin-body {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.fin-view {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0 14px 16px;
    scrollbar-width: thin;
    scrollbar-color: #3a4258 transparent;
}

.fin-view::-webkit-scrollbar {
    width: 6px;
}

.fin-view::-webkit-scrollbar-thumb {
    background: #3a4258;
    border-radius: 3px;
}

.fin-loading,
.fin-empty {
    padding: 32px 12px;
    text-align: center;
    color: #8b919d;
    font-size: 14px;
}

.fin-gateway-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.fin-gateway-item {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #2c3144;
    border-radius: 12px;
    background: #232732;
    color: #fff;
    font-family: inherit;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.fin-gateway-item:hover {
    background: #2a2f3d;
    border-color: #3a4258;
}

.fin-gateway-logo-wrap {
    width: 52px;
    height: 36px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 8px;
    padding: 4px 6px;
    box-sizing: border-box;
}

.fin-gateway-logo-wrap img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.fin-gateway-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.fin-gateway-name {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.fin-gateway-hint {
    font-size: 11px;
    font-weight: 500;
    color: #f59e0b;
}

.fin-gateway-item.is-unavailable {
    opacity: 0.72;
    border-style: dashed;
}

.fin-gateway-item.is-unavailable:hover {
    border-color: #4b5563;
    background: #232732;
}

.fin-history-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.fin-history-item {
    padding: 14px;
    border: 1px solid #2c3144;
    border-radius: 12px;
    background: #232732;
}

.fin-history-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}

.fin-history-gateway {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.fin-history-gateway img {
    width: 28px;
    height: 20px;
    object-fit: contain;
    background: #fff;
    border-radius: 4px;
    padding: 2px 4px;
}

.fin-history-gateway span {
    font-size: 14px;
    font-weight: 600;
}

.fin-history-status {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 6px;
    flex-shrink: 0;
}

.fin-history-status--completed { background: rgba(34, 197, 94, 0.15); color: #4ade80; }
.fin-history-status--failed { background: rgba(239, 68, 68, 0.15); color: #f87171; }
.fin-history-status--pending,
.fin-history-status--processing { background: rgba(245, 158, 11, 0.15); color: #fbbf24; }

.fin-history-meta {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: 12px;
    color: #9ca3af;
}

.fin-history-amount {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    font-variant-numeric: tabular-nums;
}

.fin-form-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: none;
    background: none;
    color: #9ca3af;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    padding: 0 0 16px;
    margin-bottom: 4px;
}

.fin-form-back:hover { color: #fff; }
.fin-form-back svg { width: 18px; height: 18px; }

.fin-form-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

.fin-form-logo {
    width: 52px;
    height: 36px;
    object-fit: contain;
    background: #fff;
    border-radius: 8px;
    padding: 4px 6px;
}

.fin-form-title {
    margin: 0 0 4px;
    font-size: 18px;
    font-weight: 700;
}

.fin-form-sub {
    margin: 0;
    font-size: 13px;
    color: #9ca3af;
    line-height: 1.4;
}

.fin-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.fin-field span {
    font-size: 13px;
    font-weight: 600;
    color: #d1d5db;
}

.fin-field input {
    width: 100%;
    padding: 14px 14px;
    border: 1px solid #2c3144;
    border-radius: 12px;
    background: #12151f;
    color: #fff;
    font-size: 16px;
    font-family: inherit;
    box-sizing: border-box;
}

.fin-field input:focus {
    outline: none;
    border-color: #3d85ff;
}

.fin-amount-wrap {
    position: relative;
}

.fin-amount-prefix {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #9ca3af;
    font-size: 16px;
    font-weight: 600;
}

.fin-amount-wrap input {
    padding-left: 32px;
    font-variant-numeric: tabular-nums;
}

.fin-form-hint {
    margin: -8px 0 16px;
    font-size: 12px;
    color: #9ca3af;
}

.fin-submit {
    width: 100%;
    padding: 16px;
    border: none;
    border-radius: 12px;
    background: #3d85ff;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s ease;
}

.fin-submit:hover { background: #2563eb; }
.fin-submit:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.fin-withdraw-otp-card {
    margin-top: 8px;
    padding: 18px;
    border-radius: 14px;
    border: 1px solid rgba(61, 133, 255, 0.25);
    background: rgba(61, 133, 255, 0.08);
}

.fin-withdraw-otp-title {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 700;
    color: #f3f4f6;
}

.fin-withdraw-otp-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
}

.fin-withdraw-otp #fin-withdraw-otp-code {
    letter-spacing: 0.35em;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
}

/* Deposit checkout */
.fin-deposit-gateway {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    padding: 10px 12px;
    border: 1px solid #2c3144;
    border-radius: 10px;
    background: #232732;
    font-size: 13px;
    font-weight: 600;
    color: #d1d5db;
}

.fin-deposit-gateway img {
    width: 36px;
    height: 24px;
    object-fit: contain;
    background: #fff;
    border-radius: 6px;
    padding: 2px 4px;
}

.fin-amount-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 12px;
}

.fin-amount-btn {
    position: relative;
    padding: 14px 12px 12px;
    border: 1px solid #2c3144;
    border-radius: 12px;
    background: #232732;
    color: #fff;
    font-family: inherit;
    cursor: pointer;
    text-align: center;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.fin-amount-btn:hover { border-color: #3a4258; }

.fin-amount-btn.is-selected {
    border-color: #f97316;
    background: rgba(249, 115, 22, 0.08);
}

.fin-amount-btn.is-selected::after {
    content: '';
    position: absolute;
    top: 8px;
    right: 8px;
    width: 16px;
    height: 16px;
    border-radius: 4px;
    background: #f97316 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2'%3E%3Cpath d='M4 8l3 3 5-6'/%3E%3C/svg%3E") center/10px no-repeat;
}

.fin-amount-main {
    display: block;
    font-size: 18px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    margin-bottom: 4px;
}

.fin-amount-bonus {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #f97316;
}

.fin-custom-amount {
    display: flex;
    align-items: stretch;
    border: 1px solid #2c3144;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 12px;
    background: #12151f;
}

.fin-custom-label {
    display: flex;
    align-items: center;
    padding: 0 14px;
    background: #1a1d26;
    color: #9ca3af;
    font-size: 14px;
    font-weight: 600;
    border-right: 1px solid #2c3144;
    flex-shrink: 0;
}

.fin-custom-amount input {
    flex: 1;
    border: none;
    background: transparent;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    padding: 14px;
    font-family: inherit;
    font-variant-numeric: tabular-nums;
}

.fin-custom-amount input:focus { outline: none; }

.fin-account-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0 0 12px;
    font-size: 12px;
    color: #6b7280;
}

.fin-link-btn,
.fin-promo-toggle {
    border: none;
    background: none;
    color: #3d85ff;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    padding: 0;
}

.fin-promo-toggle {
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 12px;
    font-size: 14px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.fin-promo-box {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}

.fin-promo-box input {
    flex: 1;
    padding: 12px 14px;
    border: 1px solid #2c3144;
    border-radius: 10px;
    background: #12151f;
    color: #fff;
    font-size: 14px;
    font-family: inherit;
}

.fin-promo-apply {
    padding: 0 16px;
    border: none;
    border-radius: 10px;
    background: #2a2e3d;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
}

.fin-promo-msg {
    margin: 0 0 12px;
    font-size: 12px;
    text-align: center;
}

.fin-promo-msg.is-error { color: #f87171; }
.fin-promo-msg.is-success { color: #4ade80; }

.fin-bonus-card {
    margin-bottom: 16px;
    padding: 14px;
    border-radius: 12px;
    background: #1e2a45;
    border: 1px solid #2c3e66;
}

.fin-bonus-card-head {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 700;
}

.fin-bonus-info {
    border: none;
    background: none;
    color: #6b7280;
    cursor: pointer;
    padding: 0;
    display: flex;
}

.fin-bonus-pill {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 999px;
    background: #12151f;
    border: 1px solid #2c3144;
}

.fin-bonus-pill-icon svg {
    width: 22px;
    height: 16px;
    color: #9ca3af;
}

.fin-bonus-pill-label {
    flex: 1;
    font-size: 13px;
    font-weight: 700;
    color: #f97316;
}

.fin-bonus-pill-value {
    padding: 6px 10px;
    border-radius: 8px;
    background: #3d85ff;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.fin-bonus-deactivate {
    border: none;
    background: none;
    color: #3d85ff;
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    padding: 0;
}

.fin-bonus-foot {
    margin: 10px 0 0;
    font-size: 12px;
    color: #9ca3af;
    line-height: 1.45;
}

.fin-terms {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 14px;
    font-size: 12px;
    line-height: 1.5;
    color: #9ca3af;
    cursor: pointer;
}

.fin-terms input {
    margin-top: 3px;
    accent-color: #3d85ff;
    flex-shrink: 0;
}

.fin-terms a {
    color: #3d85ff;
    text-decoration: none;
}

.fin-terms a:hover { text-decoration: underline; }

.fin-pay-btn {
    width: 100%;
    padding: 16px;
    border: none;
    border-radius: 12px;
    background: #f97316;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s ease;
    margin-bottom: 14px;
}

.fin-pay-btn:hover { background: #ea580c; }
.fin-pay-btn:disabled { opacity: 0.55; cursor: not-allowed; }

.fin-trust-badges {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding-bottom: 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    color: #4b5563;
    text-transform: uppercase;
}

.fin-panel.is-checkout .fin-tabs,
.fin-panel.is-checkout .fin-context-hint,
.fin-panel.is-checkout .fin-search-wrap {
    display: none;
}

/* Checkout — moderate spacing, scroll when needed */
.fin-panel.is-checkout .fin-header {
    padding: 10px 12px 8px;
}

.fin-panel.is-checkout .fin-header-title {
    font-size: 16px;
}

.fin-panel.is-checkout .fin-view--deposit,
.fin-panel.is-checkout .fin-view--withdraw {
    padding: 0 12px 12px;
    overflow-y: auto;
}

.fin-panel.is-checkout .fin-deposit-gateway {
    margin-bottom: 10px;
    padding: 8px 10px;
    font-size: 12px;
}

.fin-panel.is-checkout .fin-deposit-gateway img {
    width: 32px;
    height: 22px;
}

.fin-panel.is-checkout .fin-amount-grid {
    gap: 8px;
    margin-bottom: 10px;
}

.fin-panel.is-checkout .fin-amount-btn {
    padding: 10px 8px 8px;
    border-radius: 10px;
}

.fin-panel.is-checkout .fin-amount-main {
    font-size: 16px;
    margin-bottom: 2px;
}

.fin-panel.is-checkout .fin-amount-bonus {
    font-size: 11px;
}

.fin-panel.is-checkout .fin-custom-amount {
    margin-bottom: 10px;
}

.fin-panel.is-checkout .fin-custom-label {
    padding: 0 12px;
    font-size: 13px;
}

.fin-panel.is-checkout .fin-custom-amount input {
    padding: 10px 12px;
    font-size: 15px;
}

.fin-panel.is-checkout .fin-account-hint {
    margin-bottom: 8px;
    font-size: 11px;
}

.fin-panel.is-checkout .fin-promo-toggle {
    margin-bottom: 8px;
    font-size: 13px;
}

.fin-panel.is-checkout .fin-bonus-card {
    margin-bottom: 10px;
    padding: 12px;
}

.fin-panel.is-checkout .fin-bonus-card-head {
    margin-bottom: 8px;
    font-size: 13px;
}

.fin-panel.is-checkout .fin-bonus-pill {
    padding: 8px 10px;
}

.fin-panel.is-checkout .fin-bonus-foot {
    margin-top: 8px;
    font-size: 11px;
}

.fin-panel.is-checkout .fin-field {
    margin-bottom: 10px;
    gap: 6px;
}

.fin-panel.is-checkout .fin-field input {
    padding: 10px 12px;
    font-size: 14px;
}

.fin-panel.is-checkout .fin-terms {
    margin-bottom: 10px;
    font-size: 11px;
    line-height: 1.4;
}

.fin-panel.is-checkout .fin-pay-btn {
    padding: 13px;
    font-size: 15px;
    margin-bottom: 10px;
}

.fin-panel.is-checkout .fin-trust-badges {
    padding-bottom: 4px;
    font-size: 9px;
    gap: 12px;
}

/* In-slide payment checkout */
.fin-panel.is-payment .fin-demo-notice {
    display: none;
}

.fin-panel.is-payment .fin-header {
    padding: 10px 12px 8px;
}

.fin-panel.is-payment .fin-header-title {
    font-size: 16px;
}

.fin-panel.is-payment .fin-view--payment {
    display: block;
    padding: 0 14px 16px;
    overflow-y: auto;
}

.fin-crypto-pay {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 4px;
}

.fin-crypto-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.fin-crypto-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(247, 147, 26, 0.12);
    border: 1px solid rgba(247, 147, 26, 0.22);
    color: #fbbf24;
    font-size: 12px;
    font-weight: 600;
}

.fin-crypto-badge img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.fin-crypto-ref {
    margin: 0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 10px;
    color: #6b7280;
    letter-spacing: 0.02em;
}

.fin-crypto-amount-card {
    text-align: center;
    padding: 18px 16px;
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(247, 147, 26, 0.08) 0%, rgba(35, 39, 50, 0.9) 100%);
    border: 1px solid rgba(247, 147, 26, 0.18);
}

.fin-crypto-amount-label {
    display: block;
    font-size: 12px;
    color: #9ca3af;
    margin-bottom: 6px;
}

.fin-crypto-amount {
    display: block;
    font-size: 26px;
    line-height: 1.15;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.02em;
    word-break: break-all;
}

.fin-crypto-fiat {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    color: #8b919d;
}

.fin-crypto-bonus {
    display: inline-block;
    margin-top: 10px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(74, 222, 128, 0.12);
    color: #86efac;
    font-size: 11px;
    font-weight: 600;
}

.fin-crypto-timer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(38, 161, 123, 0.08);
    border: 1px solid rgba(38, 161, 123, 0.22);
}

.fin-crypto-timer-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.fin-crypto-timer-label {
    font-size: 12px;
    font-weight: 600;
    color: #d1fae5;
}

.fin-crypto-timer-hint {
    font-size: 10px;
    color: #6b9080;
    line-height: 1.35;
}

.fin-crypto-timer-value {
    flex-shrink: 0;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 22px;
    line-height: 1;
    font-weight: 700;
    color: #34d399;
    letter-spacing: 0.04em;
    font-variant-numeric: tabular-nums;
}

.fin-crypto-timer.is-urgent {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.28);
}

.fin-crypto-timer.is-urgent .fin-crypto-timer-label {
    color: #fecaca;
}

.fin-crypto-timer.is-urgent .fin-crypto-timer-value {
    color: #f87171;
}

.fin-crypto-timer.is-expired .fin-crypto-timer-value {
    color: #9ca3af;
}

.fin-crypto-qr-card {
    text-align: center;
}

.fin-crypto-qr-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 224px;
    padding: 12px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
}

.fin-crypto-qr-frame img {
    display: block;
    width: 200px;
    height: 200px;
    border-radius: 8px;
}

.fin-crypto-qr-loading {
    font-size: 13px;
    color: #6b7280;
    padding: 20px;
}

.fin-crypto-qr-hint {
    margin: 10px 0 0;
    font-size: 12px;
    color: #8b919d;
}

.fin-crypto-address-card label {
    display: block;
    margin-bottom: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #9ca3af;
}

.fin-crypto-copy-row {
    display: flex;
    gap: 8px;
}

.fin-crypto-copy-row input {
    flex: 1;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid #2c3144;
    border-radius: 10px;
    background: #12151f;
    color: #e5e7eb;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 11px;
}

.fin-crypto-copy-btn {
    flex-shrink: 0;
    padding: 0 14px;
    border: none;
    border-radius: 10px;
    background: #f7931a;
    color: #111;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease;
}

.fin-crypto-copy-btn:hover {
    background: #ffb347;
}

.fin-crypto-copy-btn:active {
    transform: scale(0.98);
}

.fin-crypto-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 500;
}

.fin-crypto-status.is-pending {
    background: rgba(61, 133, 255, 0.1);
    border: 1px solid rgba(61, 133, 255, 0.18);
    color: #93c5fd;
}

.fin-crypto-status.is-success {
    background: rgba(34, 197, 94, 0.1);
    border: 1px solid rgba(34, 197, 94, 0.22);
    color: #86efac;
}

.fin-crypto-status.is-error {
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.22);
    color: #fca5a5;
}

.fin-crypto-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
}

.fin-crypto-status.is-pending .fin-crypto-status-dot {
    animation: fin-crypto-pulse 1.4s ease-in-out infinite;
}

@keyframes fin-crypto-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.45; transform: scale(0.85); }
}

.fin-crypto-foot {
    margin: 0;
    text-align: center;
    font-size: 11px;
    line-height: 1.5;
    color: #6b7280;
}

.fin-manual-instructions {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 10px;
    background: rgba(61, 133, 255, 0.08);
    border: 1px solid rgba(61, 133, 255, 0.18);
}

.fin-manual-instructions-label {
    margin: 0 0 6px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #93c5fd;
}

.fin-manual-instructions-text {
    margin: 0;
    font-size: 12px;
    line-height: 1.55;
    color: #cbd5e1;
    white-space: pre-wrap;
}

.fin-manual-proof {
    margin-top: 16px;
    padding: 14px;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.55);
    border: 1px solid rgba(148, 163, 184, 0.16);
}

.fin-manual-proof-title {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 600;
    color: #f1f5f9;
}

.fin-manual-proof-hint {
    margin: 0 0 12px;
    font-size: 11px;
    line-height: 1.5;
    color: #94a3b8;
}

.fin-manual-proof-form .fin-field {
    margin-bottom: 10px;
}

.fin-manual-proof-form .fin-field input[type="file"] {
    width: 100%;
    font-size: 12px;
    color: #cbd5e1;
}

.fin-manual-proof-btn {
    width: 100%;
    margin-top: 4px;
    padding: 11px 14px;
    border: none;
    border-radius: 8px;
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

.fin-manual-proof-btn:hover:not(:disabled) {
    filter: brightness(1.06);
}

.fin-manual-proof-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.fin-manual-proof-done {
    margin: 0;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(34, 197, 94, 0.12);
    border: 1px solid rgba(34, 197, 94, 0.25);
    font-size: 12px;
    line-height: 1.5;
    color: #86efac;
    text-align: center;
}

.fin-mobile-pay {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 280px;
    padding: 28px 16px;
    text-align: center;
    gap: 12px;
}

.fin-mobile-pay-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(61, 133, 255, 0.12);
    color: #60a5fa;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fin-mobile-pay-icon svg {
    width: 30px;
    height: 30px;
}

.fin-mobile-pay-title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}

.fin-mobile-pay-msg {
    margin: 0;
    max-width: 280px;
    font-size: 14px;
    line-height: 1.5;
    color: #9ca3af;
}

.fin-crypto-status--mobile {
    width: 100%;
    max-width: 300px;
}

/* Auto close modal */
.dash-chart-modal-dialog--duration {
    max-width: 300px;
    background: #1a1b26;
    border: 1px solid #2a2e3d;
    border-radius: 14px;
    overflow: hidden;
}

.dash-chart-modal-dialog--duration .dash-chart-modal-header {
    padding: 18px 40px 14px;
}

.dash-chart-modal-dialog--duration .dash-chart-modal-header h2 {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.dash-duration-tabs {
    display: flex;
    gap: 0;
    margin: 0 14px 16px;
    padding: 4px;
    background: #12141c;
    border: 1px solid #2a2e3d;
    border-radius: 10px;
}

.dash-duration-tab {
    flex: 1;
    padding: 10px 12px;
    border: none;
    border-radius: 7px;
    background: transparent;
    color: #8b919d;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.dash-duration-tab.active {
    background: #3b66ff;
    color: #fff;
}

.dash-duration-panel {
    padding: 0 14px 16px;
    overflow: hidden;
}

.dash-duration-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.dash-duration-list::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.dash-duration-opt {
    width: 100%;
    padding: 15px 16px;
    border: 1px solid #2a2e3d;
    border-radius: 10px;
    background: #24273a;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    font-family: inherit;
    font-variant-numeric: tabular-nums;
    cursor: pointer;
    text-align: center;
    box-sizing: border-box;
    transition: border-color 0.15s ease;
}

.dash-duration-opt:hover {
    border-color: #3a4258;
}

.dash-duration-opt.is-selected {
    border-color: #3b66ff;
    box-shadow: none;
}

.dash-chart-modal-dialog--duration .dash-chart-modal-confirm {
    margin-top: 0;
    padding: 17px 16px 18px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 0 0 13px 13px;
}

.dash-duration-custom {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.dash-duration-custom-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.dash-duration-custom-field label {
    font-size: 11px;
    font-weight: 600;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.dash-duration-custom-field input {
    width: 100%;
    padding: 12px 10px;
    border: 1px solid #2c3144;
    border-radius: 8px;
    background: #222633;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    font-family: inherit;
    font-variant-numeric: tabular-nums;
    text-align: center;
    box-sizing: border-box;
}

.dash-duration-custom-field input:focus {
    outline: none;
    border-color: #3b66ff;
    box-shadow: 0 0 0 1px #3b66ff;
}

.dash-control-value {
    font-size: 17px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1.1;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
}

.dash-control-value--timer {
    font-size: 16px;
    letter-spacing: 0.02em;
}

.dash-control-label {
    font-size: 10px;
    font-weight: 500;
    color: #9ea1a8;
    margin-top: 4px;
    letter-spacing: 0.01em;
}

/* SELL / BUY — glass split pill with translucent color panels */
.dash-trade-combo {
    display: flex;
    height: 56px;
    flex: 1 1 auto;
    min-width: 300px;
    max-width: 420px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--dash-glass-border);
    box-shadow: var(--dash-glass-shadow);
    backdrop-filter: blur(16px) saturate(160%);
    -webkit-backdrop-filter: blur(16px) saturate(160%);
}

.dash-btn-sell,
.dash-btn-buy {
    flex: 1;
    border: none;
    cursor: pointer;
    font-family: inherit;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    position: relative;
    overflow: hidden;
    transition: filter 0.12s ease, transform 0.1s ease, background 0.12s ease;
}

.dash-btn-sell {
    background: linear-gradient(
        180deg,
        rgba(220, 62, 78, 0.62) 0%,
        rgba(179, 58, 68, 0.7) 100%
    );
    border-right: 1px solid rgba(0, 0, 0, 0.22);
}

.dash-btn-buy {
    background: linear-gradient(
        180deg,
        rgba(0, 196, 142, 0.58) 0%,
        rgba(0, 143, 104, 0.68) 100%
    );
}

.dash-btn-sell:hover,
.dash-btn-buy:hover {
    filter: brightness(1.07);
}

.dash-btn-sell:active,
.dash-btn-buy:active {
    filter: brightness(0.95);
    transform: scale(0.995);
}

.dash-btn-pattern {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 38%;
    pointer-events: none;
    opacity: 1;
}

.dash-btn-pattern--sell {
    left: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='56' viewBox='0 0 36 56'%3E%3Cpath d='M2 10 L18 22 L34 10' fill='none' stroke='rgba(255,255,255,0.14)' stroke-width='2.5'/%3E%3Cpath d='M2 26 L18 38 L34 26' fill='none' stroke='rgba(255,255,255,0.11)' stroke-width='2.5'/%3E%3Cpath d='M2 42 L18 54 L34 42' fill='none' stroke='rgba(255,255,255,0.08)' stroke-width='2.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 100%;
    mask-image: linear-gradient(to right, #000 0%, #000 55%, transparent 100%);
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 55%, transparent 100%);
}

.dash-btn-pattern--buy {
    right: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='56' viewBox='0 0 36 56'%3E%3Cpath d='M2 22 L18 10 L34 22' fill='none' stroke='rgba(255,255,255,0.14)' stroke-width='2.5'/%3E%3Cpath d='M2 38 L18 26 L34 38' fill='none' stroke='rgba(255,255,255,0.11)' stroke-width='2.5'/%3E%3Cpath d='M2 54 L18 42 L34 54' fill='none' stroke='rgba(255,255,255,0.08)' stroke-width='2.5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right center;
    background-size: auto 100%;
    mask-image: linear-gradient(to left, #000 0%, #000 55%, transparent 100%);
    -webkit-mask-image: linear-gradient(to left, #000 0%, #000 55%, transparent 100%);
}

.dash-btn-text {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
}

.dash-btn-title {
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
}

.dash-btn-payout {
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    opacity: 1;
}

/* Markers on chart — EO broker trade style */
.dash-chart-area .tp-markers-layer {
    z-index: 12;
}

/* Trade monitors — transparent, embedded over chart */
.tp-trade-monitors {
    position: fixed;
    top: 12px;
    right: calc(var(--dash-sidebar-width, 88px) + 12px);
    z-index: 99988;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    width: min(340px, calc(100% - var(--dash-sidebar-width, 88px) - 24px));
    max-width: min(340px, calc(100% - var(--dash-sidebar-width, 88px) - 24px));
    pointer-events: none;
}

.tp-trade-monitor {
    width: 100%;
    min-width: 0;
    padding: 0;
    margin: 0;
    background: none;
    border: none;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    pointer-events: none;
    transform-origin: top center;
    color: #fff;
    font-family: inherit;
}

.tp-trade-monitor > * {
    text-shadow:
        0 1px 2px rgba(0, 0, 0, 0.95),
        0 0 12px rgba(0, 0, 0, 0.65);
}

.tp-trade-monitor.is-pop-in {
    animation: tpTradeMonitorIn 0.42s cubic-bezier(0.34, 1.45, 0.64, 1);
}

.tp-trade-monitor.is-settling .tp-trade-monitor__timer {
    color: #ffd966;
}

.tp-trade-monitor__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 4px;
}

.tp-trade-monitor__pair {
    font-size: 12px;
    font-weight: 800;
    color: rgba(255, 255, 255, 0.96);
    letter-spacing: 0.03em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tp-trade-monitor__timer {
    flex-shrink: 0;
    min-width: 48px;
    padding: 0;
    background: none;
    border: none;
    font-size: 13px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: rgba(255, 255, 255, 0.95);
    text-align: right;
    line-height: 1.1;
}

.tp-trade-monitor__timer.is-urgent {
    color: #ff9a9a;
}

.tp-trade-monitor__timer.is-settling {
    color: #ffd966;
}

.tp-trade-monitor__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 3px;
}

.tp-trade-monitor__side {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.tp-trade-monitor--buy .tp-trade-monitor__side {
    color: #5eecc4;
}

.tp-trade-monitor--sell .tp-trade-monitor__side {
    color: #ff8a8a;
}

.tp-trade-monitor__side-icon {
    font-size: 10px;
    line-height: 1;
}

.tp-trade-monitor__payout {
    font-size: 10px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.55);
    font-variant-numeric: tabular-nums;
}

.tp-trade-monitor__prices {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 4px;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

.tp-trade-monitor__live {
    font-size: 15px;
    font-weight: 800;
    color: #fff;
    transition: color 0.15s ease;
}

.tp-trade-monitor__live.is-tick {
    animation: tpMonitorPriceTick 0.35s ease;
}

.tp-trade-monitor--buy .tp-trade-monitor__live.is-above-strike,
.tp-trade-monitor--buy .tp-trade-monitor__live.is-tick {
    color: #5eecc4;
}

.tp-trade-monitor--sell .tp-trade-monitor__live.is-below-strike,
.tp-trade-monitor--sell .tp-trade-monitor__live.is-tick {
    color: #ff9a9a;
}

.tp-trade-monitor--buy .tp-trade-monitor__live.is-below-strike {
    color: #ff9a9a;
}

.tp-trade-monitor--sell .tp-trade-monitor__live.is-above-strike {
    color: #ff9a9a;
}

.tp-trade-monitor__prices-sep {
    font-size: 11px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.35);
}

.tp-trade-monitor__strike {
    font-size: 11px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.55);
}

.tp-trade-monitor__outcome {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 5px;
}

.tp-trade-monitor__outcome-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}

.tp-trade-monitor__outcome-value {
    font-size: 12px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    color: rgba(255, 255, 255, 0.72);
}

.tp-trade-monitor__outcome.is-winning .tp-trade-monitor__outcome-label {
    color: #5eecc4;
}

.tp-trade-monitor__outcome.is-winning .tp-trade-monitor__outcome-value {
    color: #5eecc4;
}

.tp-trade-monitor__outcome.is-losing .tp-trade-monitor__outcome-label {
    color: #ff9a9a;
}

.tp-trade-monitor__outcome.is-losing .tp-trade-monitor__outcome-value {
    color: #ff9a9a;
}

.tp-trade-monitor__progress {
    height: 2px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    overflow: hidden;
}

.tp-trade-monitor__progress-bar {
    display: block;
    height: 100%;
    border-radius: inherit;
    transition: width 0.35s linear;
    opacity: 0.85;
}

.tp-trade-monitor--buy .tp-trade-monitor__progress-bar {
    background: #00c896;
}

.tp-trade-monitor--sell .tp-trade-monitor__progress-bar {
    background: #ff5252;
}

@keyframes tpTradeMonitorIn {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes tpMonitorPriceTick {
    0% { transform: scale(1); }
    40% { transform: scale(1.04); }
    100% { transform: scale(1); }
}

@media (min-width: 769px) and (max-width: 900px) {
    .tp-trade-monitor__live {
        font-size: 14px;
    }
}

.dash-chart-area .tp-trade-marker--pin {
    transform: translate(-50%, -100%);
    justify-content: flex-end;
    min-height: 0;
}

.dash-chart-area .tp-trade-marker--pin.pop-in {
    animation: tpMarkerPinPop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.dash-chart-area .tp-trade-marker--pin .tp-marker-countdown {
    position: absolute;
    bottom: calc(100% + 34px);
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 0;
}

.dash-chart-area .tp-marker-pin {
    display: block;
    width: 2px;
    height: 7px;
    margin-top: -1px;
    border-radius: 1px;
    flex-shrink: 0;
}

.dash-chart-area .tp-trade-marker--pin.buy-layout .tp-marker-pin {
    background: #00c896;
}

.dash-chart-area .tp-trade-marker--pin.sell-layout .tp-marker-pin {
    background: #ff5252;
}

@keyframes tpMarkerPinPop {
    from { transform: translate(-50%, -100%) scale(0.4); opacity: 0; }
    to { transform: translate(-50%, -100%) scale(1); opacity: 1; }
}

.dash-chart-area .tp-trade-marker {
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.dash-chart-area .tp-trade-marker--eo {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    height: auto;
    min-width: 0;
}

.dash-chart-area .tp-trade-marker--eo .tp-marker-countdown {
    order: -1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    padding: 2px 6px;
    margin-bottom: 4px;
    border-radius: 4px;
    background: rgba(8, 10, 16, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 9px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #fff;
    letter-spacing: 0.03em;
    line-height: 1.1;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.dash-chart-area .tp-trade-marker--eo .tp-marker-countdown--urgent {
    color: #ffb4b4;
    border-color: rgba(255, 82, 82, 0.45);
    background: rgba(40, 12, 16, 0.82);
}

.dash-chart-area .tp-trade-marker--eo .tp-marker-countdown--settling {
    color: #ffd966;
    border-color: rgba(255, 217, 102, 0.45);
    background: rgba(36, 28, 8, 0.88);
    animation: tpMarkerSettlingPulse 1s ease-in-out infinite;
}

.dash-chart-area .tp-trade-marker--mine.tp-trade-marker--resolving {
    filter: drop-shadow(0 0 8px rgba(255, 217, 102, 0.35));
}

@keyframes tpMarkerSettlingPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.72; }
}

.dash-chart-area .tp-trade-marker--eo .tp-marker-pill {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.1;
    color: #fff;
    white-space: nowrap;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
    margin-bottom: 5px;
}

.dash-chart-area .tp-trade-marker--eo.buy .tp-marker-pill {
    background: linear-gradient(180deg, #00d9a3 0%, #00c896 100%);
}

.dash-chart-area .tp-trade-marker--eo.sell .tp-marker-pill {
    background: linear-gradient(180deg, #ff6b6b 0%, #ff5252 100%);
    order: 2;
    margin-bottom: 0;
    margin-top: 5px;
}

.dash-chart-area .tp-trade-marker--eo .tp-marker-pill::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -4px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
}

.dash-chart-area .tp-trade-marker--eo.buy .tp-marker-pill::after {
    border-top: 4px solid #00c896;
}

.dash-chart-area .tp-trade-marker--eo.sell .tp-marker-pill::after {
    top: -4px;
    bottom: auto;
    border-top: none;
    border-bottom: 4px solid #ff5252;
}

.dash-chart-area .tp-trade-marker--eo .tp-marker-dot {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 2px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
    flex-shrink: 0;
}

.dash-chart-area .tp-trade-marker--eo.buy .tp-marker-dot {
    background: #00c896;
}

.dash-chart-area .tp-trade-marker--eo.sell .tp-marker-dot {
    background: #ff5252;
    order: 1;
}

.dash-chart-area .tp-trade-marker--eo .tp-marker-chevron {
    display: block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
}

.dash-chart-area .tp-trade-marker--eo .tp-marker-chevron.up {
    border-bottom: 6px solid #fff;
    margin-top: -1px;
}

.dash-chart-area .tp-trade-marker--eo .tp-marker-chevron.down {
    border-top: 6px solid #fff;
    margin-top: 1px;
}

.dash-chart-area .tp-trade-marker.pop-in {
    animation: tpMarkerPop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ── Trade resolve notifications ── */
.tp-trade-resolve-fx {
    position: fixed;
    inset: 0;
    z-index: 14000;
    pointer-events: none;
    overflow: hidden;
}

.tp-trade-confetti {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.tp-trade-win-banner {
    position: absolute;
    left: 50%;
    top: 42%;
    transform: translate(-50%, -50%) scale(0.88);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 220px;
    padding: 22px 28px 20px;
    border-radius: 18px;
    background: linear-gradient(165deg, rgba(22, 36, 32, 0.96) 0%, rgba(14, 18, 28, 0.98) 100%);
    border: 1px solid rgba(60, 219, 168, 0.35);
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.35),
        0 0 60px rgba(60, 219, 168, 0.22),
        0 24px 60px rgba(0, 0, 0, 0.55);
    opacity: 0;
    transition: opacity 0.25s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.tp-trade-win-banner.is-visible {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.tp-trade-win-banner.is-leaving {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.94);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.tp-trade-win-banner__ring {
    position: absolute;
    inset: -20px;
    border-radius: 28px;
    border: 1px solid rgba(60, 219, 168, 0.2);
    animation: tpWinRingPulse 1.6s ease-out infinite;
}

.tp-trade-win-banner__icon {
    font-size: 28px;
    line-height: 1;
    color: #3cdba8;
    text-shadow: 0 0 24px rgba(60, 219, 168, 0.65);
    animation: tpWinIconPop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.tp-trade-win-banner__title {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.02em;
}

.tp-trade-win-banner__profit {
    font-size: 28px;
    font-weight: 800;
    color: #3cdba8;
    letter-spacing: -0.03em;
    font-variant-numeric: tabular-nums;
    text-shadow: 0 0 20px rgba(60, 219, 168, 0.35);
}

.tp-trade-win-banner__sub {
    font-size: 12px;
    font-weight: 500;
    color: #8e92a3;
}

@keyframes tpWinRingPulse {
    0% { transform: scale(0.96); opacity: 0.7; }
    70% { transform: scale(1.08); opacity: 0; }
    100% { transform: scale(1.08); opacity: 0; }
}

@keyframes tpWinIconPop {
    from { transform: scale(0.3) rotate(-20deg); opacity: 0; }
    to { transform: scale(1) rotate(0deg); opacity: 1; }
}

.tp-trade-chart-results {
    position: absolute;
    inset: 0;
    z-index: 10;
    pointer-events: none;
    overflow: visible;
}

.tp-trade-result {
    position: absolute;
    transform: translate(-50%, -100%) scale(0.9);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 88px;
    padding: 10px 14px 9px;
    border-radius: 10px;
    opacity: 0;
    transition: opacity 0.28s ease, transform 0.32s cubic-bezier(0.22, 1, 0.36, 1);
}

.tp-trade-result.is-visible {
    opacity: 1;
    transform: translate(-50%, -100%) scale(1);
}

.tp-trade-result.is-leaving {
    opacity: 0;
    transform: translate(-50%, -110%) scale(0.92);
}

.tp-trade-result--loss {
    background: linear-gradient(165deg, rgba(48, 18, 24, 0.94) 0%, rgba(24, 14, 18, 0.96) 100%);
    border: 1px solid rgba(255, 82, 82, 0.42);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45), 0 0 24px rgba(255, 82, 82, 0.12);
}

.tp-trade-result--loss::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -5px;
    transform: translateX(-50%);
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid rgba(255, 82, 82, 0.55);
}

.tp-trade-result__label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #ff8a8a;
}

.tp-trade-result__amount {
    font-size: 16px;
    font-weight: 800;
    color: #fff;
    font-variant-numeric: tabular-nums;
}

.tp-trade-result__pair {
    font-size: 9px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.45);
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@keyframes tpMarkerPop {
    from { transform: translate(-50%, -50%) scale(0.4); opacity: 0; }
    to { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}

/* Fake / social trades on the chart line — avatar + amount, buy below / sell above */
.dash-chart-area .tp-trade-marker--fake {
    z-index: 1;
}

.dash-chart-area .tp-trade-marker--fake.buy-layout {
    transform: translate(-50%, 0);
}

.dash-chart-area .tp-trade-marker--fake.sell-layout {
    transform: translate(-50%, -100%);
}

.dash-chart-area .tp-trade-marker--fake.buy-layout.pop-in {
    animation: tpFakeBuyPop 0.38s cubic-bezier(0.34, 1.45, 0.64, 1);
}

.dash-chart-area .tp-trade-marker--fake.sell-layout.pop-in {
    animation: tpFakeSellPop 0.38s cubic-bezier(0.34, 1.45, 0.64, 1);
}

@keyframes tpFakeBuyPop {
    from { transform: translate(-50%, 0) scale(0.5); opacity: 0; }
    to { transform: translate(-50%, 0) scale(1); opacity: 1; }
}

@keyframes tpFakeSellPop {
    from { transform: translate(-50%, -100%) scale(0.5); opacity: 0; }
    to { transform: translate(-50%, -100%) scale(1); opacity: 1; }
}

.dash-chart-area .tp-trade-marker--fake .tp-marker-avatar-wrap {
    width: 26px;
    height: 26px;
}

.dash-chart-area .tp-trade-marker--fake .tp-marker-avatar {
    width: 26px;
    height: 26px;
    border-width: 2px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
}

.dash-chart-area .tp-trade-marker--fake.buy-layout .tp-marker-avatar {
    border-color: #22c55e;
}

.dash-chart-area .tp-trade-marker--fake.sell-layout .tp-marker-avatar {
    border-color: #ef4444;
}

.dash-chart-area .tp-trade-marker--fake .tp-marker-pin {
    width: 2px;
    height: 6px;
    margin-top: 0;
    margin-bottom: -1px;
    border-radius: 1px;
}

.dash-chart-area .tp-trade-marker--fake.buy-layout .tp-marker-pin {
    background: #22c55e;
}

.dash-chart-area .tp-trade-marker--fake.sell-layout .tp-marker-pin {
    background: #ef4444;
}

.dash-chart-area .tp-trade-marker--fake .tp-marker-amount-top,
.dash-chart-area .tp-trade-marker--fake .tp-marker-amount-bottom {
    position: static;
    transform: none;
    font-size: 9px;
    font-weight: 800;
    line-height: 1;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
    margin: 2px 0;
}

.dash-chart-area .tp-trade-marker--fake .tp-marker-amount-top {
    color: #ff7070;
    margin-bottom: 3px;
}

.dash-chart-area .tp-trade-marker--fake .tp-marker-amount-bottom {
    color: #3cdba8;
    margin-top: 3px;
}

@media (max-width: 640px) {
    .dash-chart-area .tp-trade-marker--fake .tp-marker-avatar-wrap {
        width: 22px;
        height: 22px;
    }

    .dash-chart-area .tp-trade-marker--fake .tp-marker-avatar {
        width: 22px;
        height: 22px;
    }

    .dash-chart-area .tp-trade-marker--fake .tp-marker-amount-top,
    .dash-chart-area .tp-trade-marker--fake .tp-marker-amount-bottom {
        font-size: 8px;
    }
}

.dash-chart-area .tp-marker-amount-top {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 4px);
    transform: translateX(-50%);
    font-size: 10px;
    font-weight: 800;
    color: var(--dash-red);
    line-height: 1;
    white-space: nowrap;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.85);
}

.dash-chart-area .tp-marker-amount-bottom {
    position: absolute;
    left: 50%;
    top: calc(100% + 4px);
    transform: translateX(-50%);
    font-size: 10px;
    font-weight: 800;
    color: var(--dash-green-bright);
    line-height: 1;
    white-space: nowrap;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.85);
}

.dash-chart-area .tp-marker-avatar-wrap {
    position: relative;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
}

.dash-chart-area .tp-marker-glow {
    display: none;
}

.dash-chart-area .tp-marker-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    border: 2px solid #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.55);
}

.dash-chart-area .tp-trade-marker.buy-layout .tp-marker-avatar {
    border-color: #22c55e;
}

.dash-chart-area .tp-trade-marker.sell-layout .tp-marker-avatar {
    border-color: #ef4444;
}

.dash-chart-area .tp-marker-arrow {
    position: absolute;
    right: -3px;
    bottom: -2px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 1.5px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}

.dash-chart-area .tp-marker-arrow--up {
    background: #22c55e;
}

.dash-chart-area .tp-marker-arrow--up::after {
    content: '';
    width: 0;
    height: 0;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-bottom: 5px solid #fff;
    margin-top: -1px;
}

.dash-chart-area .tp-marker-arrow--down {
    background: #ef4444;
}

.dash-chart-area .tp-marker-arrow--down::after {
    content: '';
    width: 0;
    height: 0;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 5px solid #fff;
    margin-top: 1px;
}

.dash-chart-area .tp-marker-badge {
    display: none;
}

.dash-chart-area .tp-marker-amount {
    display: none;
}

/* Slide panels */
.dash-overlay {
    position: fixed;
    inset: 0;
    background: transparent;
    z-index: 200;
    opacity: 0;
    transition: opacity 0.25s;
    pointer-events: none;
}

.dash-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
}

.dash-slide-panel {
    position: fixed;
    top: 12px;
    bottom: 12px;
    width: min(380px, 90vw);
    background: #12121e;
    border: 1px solid var(--dash-border);
    z-index: 210;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 16px;
    overflow: hidden;
}

.dash-slide-panel.is-panel-loading .dash-slide-body {
    overflow: hidden;
    pointer-events: none;
}

/* Slide-out panel preloader layer */
.dash-panel-preloader-layer[hidden] {
    display: none !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.dash-panel-preloader-layer {
    position: absolute;
    inset: 0;
    z-index: 50;
    display: none;
    align-items: center;
    justify-content: center;
    border-radius: inherit;
    background: radial-gradient(ellipse at 50% 36%, #181c28 0%, #12121e 54%, #0a0c12 100%);
    overflow: hidden;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.48s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.48s ease;
}

.dash-panel-preloader-layer.is-visible {
    display: flex;
}

.dash-panel-preloader-layer.is-done {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.dash-panel-preloader-layer.is-done .dash-panel-preloader-inner {
    transform: scale(1.08) translateY(-8px);
    opacity: 0;
    filter: blur(5px);
}

.dash-slide-panel.is-finances-mode .dash-panel-preloader-layer {
    background: radial-gradient(ellipse at 50% 34%, #1e2233 0%, #1a1d26 52%, #12151f 100%);
}

.dash-slide-panel.is-profile-mode .dash-panel-preloader-layer {
    background: radial-gradient(ellipse at 50% 36%, #1a1d2e 0%, #12121e 54%, #0c0e14 100%);
}

.dash-slide-panel.is-settings-mode .dash-panel-preloader-layer {
    background: radial-gradient(ellipse at 50% 36%, #1a1d2e 0%, #12121e 54%, #0c0e14 100%);
}

.dash-slide-panel.is-assets-mode .dash-panel-preloader-layer {
    background: radial-gradient(ellipse at 50% 36%, #181c28 0%, #12121e 54%, #0c0e14 100%);
}

.dash-panel-preloader {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dash-panel-preloader-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.dash-panel-preloader-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(52px);
    opacity: 0.55;
    animation: dash-panel-orb-drift 8s ease-in-out infinite;
}

.dash-panel-preloader-orb--a {
    width: 200px;
    height: 200px;
    top: 14%;
    left: 8%;
    background: rgba(37, 99, 235, 0.34);
}

.dash-panel-preloader-orb--b {
    width: 170px;
    height: 170px;
    bottom: 12%;
    right: 4%;
    background: rgba(247, 147, 26, 0.22);
    animation-delay: -3.2s;
}

.dash-panel-preloader-scan {
    position: absolute;
    inset: -50% 0;
    background: linear-gradient(
        180deg,
        transparent 0%,
        rgba(59, 130, 246, 0.025) 44%,
        rgba(96, 165, 250, 0.07) 50%,
        rgba(59, 130, 246, 0.025) 56%,
        transparent 100%
    );
    animation: dash-preloader-scan 3.4s linear infinite;
}

.dash-panel-preloader-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
    padding: 24px;
    transition: transform 0.48s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease, filter 0.4s ease;
    animation: dash-panel-preloader-enter 0.75s cubic-bezier(0.34, 1.25, 0.64, 1) both;
}

.dash-panel-preloader-stage {
    position: relative;
    width: 128px;
    height: 128px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.dash-panel-preloader-glow {
    position: absolute;
    inset: 20px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(59, 130, 246, 0.18) 0%, transparent 70%);
    animation: dash-panel-glow-pulse 2.4s ease-in-out infinite;
}

.dash-panel-preloader-ring {
    position: absolute;
    border-radius: 50%;
    border: 2px solid transparent;
}

.dash-panel-preloader-ring--outer {
    inset: 0;
    border-top-color: rgba(59, 130, 246, 0.88);
    border-right-color: rgba(59, 130, 246, 0.14);
    animation: dash-preloader-spin 1.75s cubic-bezier(0.5, 0.1, 0.3, 1) infinite;
}

.dash-panel-preloader-ring--inner {
    inset: 12px;
    border-bottom-color: rgba(247, 147, 26, 0.78);
    border-left-color: rgba(247, 147, 26, 0.12);
    animation: dash-preloader-spin-rev 1.3s cubic-bezier(0.5, 0.1, 0.3, 1) infinite;
}

.dash-panel-preloader-ripple {
    position: absolute;
    inset: 22px;
    border-radius: 50%;
    border: 1px solid rgba(96, 165, 250, 0.28);
    animation: dash-preloader-ripple 2.4s ease-out infinite;
}

.dash-panel-preloader-logo {
    position: relative;
    z-index: 2;
    max-width: 76px;
    max-height: 76px;
    width: auto;
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 0 20px rgba(59, 130, 246, 0.45));
    animation: dash-preloader-logo-float 2.8s ease-in-out infinite;
}

.dash-panel-preloader-logo--gif {
    animation: dash-preloader-logo-float 3.1s ease-in-out infinite;
    filter: drop-shadow(0 0 24px rgba(59, 130, 246, 0.42));
}

.dash-panel-preloader-fallback {
    position: relative;
    z-index: 2;
    width: 64px;
    height: 64px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #fff;
    background: linear-gradient(145deg, #2563eb 0%, #1d4ed8 100%);
    box-shadow: 0 0 40px rgba(37, 99, 235, 0.45);
    animation: dash-preloader-logo-float 2.8s ease-in-out infinite;
}

.dash-panel-preloader-track {
    width: 136px;
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.07);
    overflow: hidden;
    box-shadow: 0 0 14px rgba(59, 130, 246, 0.1);
}

.dash-panel-preloader-track span {
    display: block;
    height: 100%;
    width: 44%;
    border-radius: inherit;
    background: linear-gradient(90deg, #2563eb, #60a5fa, #f7931a, #60a5fa, #2563eb);
    background-size: 300% 100%;
    box-shadow: 0 0 12px rgba(96, 165, 250, 0.6);
    animation: dash-preloader-bar 1.08s ease-in-out infinite, dash-preloader-bar-shimmer 2.1s linear infinite;
}

.dash-panel-preloader-label {
    margin: 0;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #7c8494;
    display: flex;
    align-items: center;
    gap: 2px;
}

.dash-panel-preloader-dots {
    display: inline-flex;
    gap: 4px;
    margin-left: 3px;
}

.dash-panel-preloader-dots i {
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #60a5fa;
    animation: dash-preloader-dot 1.2s ease-in-out infinite;
}

.dash-panel-preloader-dots i:nth-child(2) { animation-delay: 0.15s; }
.dash-panel-preloader-dots i:nth-child(3) { animation-delay: 0.3s; }

@keyframes dash-panel-preloader-enter {
    0% { opacity: 0; transform: scale(0.86) translateY(14px); }
    100% { opacity: 1; transform: scale(1) translateY(0); }
}

@keyframes dash-panel-orb-drift {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(16px, -12px) scale(1.06); }
    66% { transform: translate(-10px, 10px) scale(0.96); }
}

@keyframes dash-panel-glow-pulse {
    0%, 100% { opacity: 0.65; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
    .dash-panel-preloader-orb,
    .dash-panel-preloader-scan,
    .dash-panel-preloader-glow,
    .dash-panel-preloader-ring,
    .dash-panel-preloader-ripple,
    .dash-panel-preloader-logo,
    .dash-panel-preloader-fallback,
    .dash-panel-preloader-track span,
    .dash-panel-preloader-dots i,
    .dash-panel-preloader-inner {
        animation: none !important;
    }
}

.dash-panel-loading {
    color: #9ca3af;
    text-align: center;
    padding: 32px;
}

.dash-slide-panel.is-profile-mode {
    width: min(400px, 92vw);
    background: #12121e;
}

.dash-slide-panel.is-profile-mode .dash-slide-header {
    display: none;
}

.dash-slide-panel.is-profile-mode .dash-slide-body {
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.dash-slide-panel.is-settings-mode {
    width: min(400px, 92vw);
    background: #1b1c2b;
}

.dash-slide-panel.is-settings-mode .dash-slide-header {
    display: none;
}

.dash-slide-panel.is-settings-mode .dash-slide-body {
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.dash-slide-panel[data-side="left"] {
    left: calc(var(--dash-sidebar-width) + 14px);
    transform: translateX(calc(-100% - (var(--dash-sidebar-width) + 14px)));
}

.dash-slide-panel[data-side="right"] {
    right: calc(var(--dash-sidebar-width) + 14px);
    transform: translateX(calc(100% + (var(--dash-sidebar-width) + 14px)));
}

.dash-slide-panel.is-open[data-side="left"] {
    transform: translateX(0);
}

.dash-slide-panel.is-open[data-side="right"] {
    transform: translateX(0);
}

.dash-slide-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid var(--dash-border);
}

.dash-slide-header h2 {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.dash-slide-close {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    font-size: 20px;
    cursor: pointer;
}

.dash-slide-body {
    position: relative;
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    min-height: 0;
}

.dash-panel-section { margin-bottom: 20px; }
.dash-panel-section h3 {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--dash-text-muted);
    margin: 0 0 10px;
}
.dash-panel-card {
    background: rgba(25, 33, 51, 0.9);
    border: 1px solid var(--dash-border);
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 8px;
}
.dash-panel-card p { margin: 0; font-size: 12px; color: #9ca3af; }
.dash-panel-stat {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px solid var(--dash-border);
    font-size: 13px;
}
.dash-panel-stat span:last-child { color: var(--dash-green-bright); font-weight: 600; }
.dash-panel-btn {
    display: block;
    width: 100%;
    padding: 11px;
    border: none;
    border-radius: 8px;
    background: var(--dash-blue);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    text-align: center;
}
.dash-panel-list { list-style: none; margin: 0; padding: 0; }
.dash-panel-list li {
    padding: 10px 0;
    border-bottom: 1px solid var(--dash-border);
    font-size: 13px;
}

.dash-toast,
.dash-chart-area .tp-toast {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(var(--dash-dock-bottom) + 132px);
    z-index: 100;
    background: rgba(31, 41, 55, 0.9);
    backdrop-filter: blur(10px);
    border: 1px solid var(--dash-border);
}

/* ── Profile slideout ── */
.prof-slide {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    width: 100%;
    background: linear-gradient(180deg, #2a2b42 0%, #1f2035 28%, #181926 58%, #12121e 100%);
    color: #fff;
    font-family: inherit;
    position: relative;
    overflow: hidden;
}

.prof-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}

.prof-topbar-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.prof-slide.prof-security-mode .prof-topbar-title {
    flex: 1;
    text-align: center;
}

.prof-slide.prof-security-mode #prof-notif-open {
    visibility: hidden;
    pointer-events: none;
}

.prof-sub-layer .prof-topbar-title {
    flex: 1;
    text-align: center;
}

.prof-topbar-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    border-radius: 8px;
    padding: 0;
}

.prof-topbar-btn svg { width: 20px; height: 20px; }
.prof-topbar-btn:hover { background: rgba(255, 255, 255, 0.06); }

.prof-topbar-spacer {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
}

.prof-notif-layer,
.prof-sub-layer {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #2a2b42 0%, #1f2035 28%, #181926 58%, #12121e 100%);
    z-index: 5;
    flex-direction: column;
}

.prof-sub-layer[hidden] {
    display: none !important;
}

.prof-sub-layer:not([hidden]) {
    display: flex;
}

.prof-sub-body {
    flex: 1;
    overflow-y: auto;
    padding: 20px 16px 24px;
}

.prof-sub-desc {
    font-size: 13px;
    color: #9494a3;
    line-height: 1.55;
    margin: 0 0 18px;
}

.prof-notif-layer {
    z-index: 6;
}

.prof-notif-layer[hidden] {
    display: none !important;
}

.prof-notif-layer:not([hidden]) {
    display: flex;
}

.prof-notif-layer .prof-topbar-title { flex: 1; text-align: center; }

.prof-notif-mark-all {
    background: none;
    border: none;
    color: #3461ff;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    padding: 6px 8px;
    white-space: nowrap;
}

.prof-notif-mark-all:hover { text-decoration: underline; }

.prof-notif-body {
    flex: 1;
    overflow-y: auto;
    padding: 8px 0;
}

.prof-notif-item {
    display: flex;
    gap: 12px;
    width: 100%;
    padding: 14px 16px;
    background: none;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    text-align: left;
    cursor: pointer;
    font-family: inherit;
    color: inherit;
    transition: background 0.15s;
}

.prof-notif-item:hover { background: rgba(255, 255, 255, 0.04); }

.prof-notif-item.unread { background: rgba(52, 97, 255, 0.06); }

.prof-notif-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #3461ff;
    flex-shrink: 0;
    margin-top: 6px;
    opacity: 0;
}

.prof-notif-item.unread .prof-notif-dot { opacity: 1; }

.prof-notif-content { flex: 1; min-width: 0; }

.prof-notif-content strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 4px;
    color: #fff;
}

.prof-notif-content p {
    margin: 0 0 6px;
    font-size: 13px;
    color: #9494a3;
    line-height: 1.45;
}

.prof-notif-content time {
    font-size: 11px;
    color: #6b6b80;
}

.prof-tabs {
    display: flex;
    gap: 0;
    padding: 0 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}

.prof-tabs::-webkit-scrollbar { display: none; }

.prof-tab {
    flex-shrink: 0;
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #9494a3;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    font-family: inherit;
    white-space: nowrap;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
}

.prof-tab:hover { color: #c4c4d4; }

.prof-tab.active {
    color: #fff;
    background: rgba(52, 97, 255, 0.08);
    border-bottom-color: #3461ff;
    border-radius: 6px 6px 0 0;
}

.prof-panes {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    scrollbar-width: thin;
    scrollbar-color: #2a2a3e transparent;
}

.prof-pane { display: none; }
.prof-pane.active { display: block; }

/* Identity */
.prof-identity {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

.prof-avatar-wrap {
    position: relative;
    flex-shrink: 0;
}

.prof-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, #e94e77, #d63d65);
    color: #fff;
    font-weight: 800;
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    letter-spacing: -0.02em;
    overflow: hidden;
}

.prof-avatar.has-photo {
    background: #2a2b42;
}

.prof-avatar-img,
.dash-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.prof-avatar-upload {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #2563eb;
    border: 2px solid #12121e;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease;
}

.prof-avatar-upload svg {
    width: 13px;
    height: 13px;
}

.prof-avatar-upload:hover {
    background: #1d4ed8;
    transform: scale(1.05);
}

.prof-avatar-upload.is-uploading {
    opacity: 0.6;
    pointer-events: none;
}

.prof-avatar-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 8px 0 12px;
}

.prof-avatar-hint {
    font-size: 11px;
    color: #6b7280;
    text-align: right;
}

.prof-avatar-remove {
    background: none;
    border: none;
    color: #f87171;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
    font-family: inherit;
}

.prof-avatar-remove:hover {
    color: #fca5a5;
}

.dash-avatar-p.has-photo,
.dash-mobi-nav-avatar.has-photo {
    background: #2a2b42;
    color: transparent;
    overflow: hidden;
    padding: 0;
}

.dash-mobi-nav-avatar.has-photo {
    display: flex;
    align-items: center;
    justify-content: center;
}

.prof-identity-body { flex: 1; min-width: 0; }

.prof-hello {
    display: block;
    font-size: 12px;
    color: #9494a3;
    margin-bottom: 2px;
}

.prof-name {
    display: block;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.03em;
    margin-bottom: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.prof-badges {
    display: flex;
    align-items: center;
    gap: 6px;
}

.prof-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 4px;
}

.prof-badge-newbie {
    background: #fff;
    color: #12121e;
}

.prof-badge-rank {
    background: rgba(255, 255, 255, 0.08);
    color: #9494a3;
    padding: 3px 7px;
}

.prof-edit-btn {
    width: 36px;
    height: 36px;
    border: 1.5px solid #3461ff;
    border-radius: 8px;
    background: transparent;
    color: #3461ff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s;
}

.prof-edit-btn svg { width: 16px; height: 16px; }
.prof-edit-btn:hover { background: rgba(52, 97, 255, 0.12); }

.prof-edit-form {
    background: #1f2033;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 20px;
}

.prof-edit-label {
    display: block;
    font-size: 11px;
    color: #9494a3;
    margin-bottom: 6px;
    font-weight: 600;
}

.prof-edit-input {
    width: 100%;
    padding: 10px 12px;
    background: #12121e;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    margin-bottom: 10px;
}

.prof-edit-input:focus { outline: none; border-color: #3461ff; }

.prof-edit-actions { display: flex; gap: 8px; }

.prof-edit-save,
.prof-edit-cancel {
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    border: none;
}

.prof-edit-save { background: #3461ff; color: #fff; }
.prof-edit-cancel { background: rgba(255, 255, 255, 0.08); color: #9494a3; }

/* Sections */
.prof-section { margin-bottom: 22px; }

.prof-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.prof-section-head h3,
.prof-section-label {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 600;
    color: #9494a3;
}

.prof-section-head h3 { margin-bottom: 0; }

.prof-link {
    background: none;
    border: none;
    color: #3461ff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    padding: 0;
}

.prof-link:hover { text-decoration: underline; }

/* Achievements */
.prof-achieve-carousel { position: relative; min-height: 72px; }

.prof-achieve-card {
    display: none;
    align-items: center;
    gap: 12px;
    background: #1f2033;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 14px 14px 18px;
    position: relative;
    overflow: hidden;
}

.prof-achieve-card.active { display: flex; }

.prof-achieve-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(52, 97, 255, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #3461ff;
}

.prof-achieve-icon svg { width: 20px; height: 20px; }

.prof-achieve-body { flex: 1; min-width: 0; }

.prof-achieve-body strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 2px;
}

.prof-achieve-body span {
    font-size: 12px;
    color: #9494a3;
}

.prof-achieve-arrow {
    width: 18px;
    height: 18px;
    color: #9494a3;
    flex-shrink: 0;
}

.prof-achieve-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: rgba(255, 255, 255, 0.06);
}

.prof-achieve-bar span {
    display: block;
    height: 100%;
    background: #3461ff;
    border-radius: 0 2px 2px 0;
    transition: width 0.3s ease;
}

.prof-dots {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 10px;
}

.prof-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    border: none;
    padding: 0;
    cursor: pointer;
}

.prof-dot.active { background: #fff; }

/* Account info */
.prof-info-card {
    background: #1f2033;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    overflow: hidden;
}

.prof-info-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    gap: 12px;
}

.prof-info-row-last { border-bottom: none; }

.prof-info-left {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    flex: 1;
}

.prof-info-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9494a3;
    flex-shrink: 0;
}

.prof-info-icon svg { width: 18px; height: 18px; }

.prof-info-label {
    display: block;
    font-size: 11px;
    color: #9494a3;
    margin-bottom: 2px;
}

.prof-info-value {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.prof-info-email { font-size: 13px; }

.prof-copy-btn {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #9494a3;
    cursor: pointer;
    border-radius: 6px;
    flex-shrink: 0;
    transition: color 0.2s, background 0.2s, width 0.2s, padding 0.2s;
    overflow: hidden;
}

.prof-copy-icon,
.prof-copy-feedback {
    display: flex;
    align-items: center;
    justify-content: center;
}

.prof-copy-icon[hidden],
.prof-copy-feedback[hidden] {
    display: none !important;
}

.prof-copy-icon svg { width: 16px; height: 16px; }

.prof-copy-feedback {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.prof-copy-btn:hover { color: #3461ff; background: rgba(52, 97, 255, 0.1); }

.prof-copy-btn.copied {
    color: #22c55e;
    background: rgba(34, 197, 94, 0.14);
    width: auto;
    min-width: 32px;
    padding: 0 10px;
}

/* Other panes */
.prof-empty-state {
    text-align: center;
    padding: 48px 20px;
    color: #9494a3;
}

.prof-empty-state svg {
    width: 48px;
    height: 48px;
    margin-bottom: 12px;
    opacity: 0.4;
}

.prof-empty-state strong {
    display: block;
    color: #fff;
    font-size: 15px;
    margin-bottom: 6px;
}

.prof-empty-state p { margin: 0; font-size: 13px; }

.prof-history {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding-bottom: 8px;
}

.prof-history-loading {
    padding: 40px 16px;
    text-align: center;
    color: #9494a3;
    font-size: 13px;
}

.prof-history-section {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.prof-history-section__title {
    margin: 0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #7c8499;
}

.prof-history-card {
    background: #1f2033;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    overflow: hidden;
}

.prof-history-card.is-won {
    border-color: rgba(34, 197, 94, 0.22);
}

.prof-history-card.is-lost {
    border-color: rgba(239, 68, 68, 0.18);
}

.prof-history-card.is-open {
    border-color: rgba(59, 130, 246, 0.24);
}

.prof-history-card--clickable {
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.prof-history-card--clickable:hover {
    background: #24263b;
    border-color: rgba(255, 255, 255, 0.14);
}

.prof-history-card--clickable:active {
    transform: scale(0.995);
}

.prof-history-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.prof-history-card__pair {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.02em;
}

.prof-history-card__meta {
    margin: 4px 0 0;
    font-size: 11px;
    color: #8b919d;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.prof-history-card__badges {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    flex-shrink: 0;
}

.prof-history-card__dir,
.prof-history-card__status {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.prof-history-card__dir.is-buy {
    background: rgba(34, 197, 94, 0.14);
    color: #86efac;
}

.prof-history-card__dir.is-sell {
    background: rgba(239, 68, 68, 0.14);
    color: #fca5a5;
}

.prof-history-card__status.is-won {
    background: rgba(34, 197, 94, 0.12);
    color: #4ade80;
}

.prof-history-card__status.is-lost {
    background: rgba(239, 68, 68, 0.12);
    color: #f87171;
}

.prof-history-card__status.is-open {
    background: rgba(59, 130, 246, 0.12);
    color: #93c5fd;
}

.prof-history-card__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 14px;
    padding: 12px 14px;
}

.prof-history-card__field span {
    display: block;
    font-size: 10px;
    color: #7c8499;
    margin-bottom: 3px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.prof-history-card__field strong {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #e8eaef;
    font-variant-numeric: tabular-nums;
}

.prof-history-card__result.is-won { color: #4ade80; }
.prof-history-card__result.is-lost { color: #f87171; }
.prof-history-card__result.is-pending { color: #93c5fd; }

.prof-history-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 14px 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    font-size: 11px;
    color: #7c8499;
}

.prof-history-card__foot span:last-child {
    color: #93bbff;
    font-weight: 600;
}

.prof-analytics-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.prof-stat-card {
    background: #1f2033;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 14px;
}

.prof-stat-wide { grid-column: 1 / -1; }

.prof-stat-label {
    display: block;
    font-size: 11px;
    color: #9494a3;
    margin-bottom: 4px;
}

.prof-stat-value {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.prof-stat-green { color: #22c55e; }

/* Documents tab — empty state */
.prof-docs-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 320px;
    padding: 32px 24px;
}

.prof-docs-empty-icon {
    width: 72px;
    height: 72px;
    color: #6b7a94;
    margin-bottom: 20px;
}

.prof-docs-empty-icon svg { width: 100%; height: 100%; }

.prof-docs-empty-title {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 10px;
    line-height: 1.35;
}

.prof-docs-empty-text {
    font-size: 14px;
    color: #9494a3;
    margin: 0 0 24px;
    max-width: 280px;
    line-height: 1.5;
}

.prof-docs-deposit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 140px;
    padding: 12px 28px;
    background: #3b82f6;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

.prof-docs-deposit-btn:hover { background: #2563eb; }

/* Documents tab — admin request */
.prof-docs-upload-card {
    background: #1f2033;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 20px;
}

.prof-docs-upload-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #f59e0b;
    background: rgba(245, 158, 11, 0.12);
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 12px;
}

.prof-docs-upload-title {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
}

.prof-docs-upload-note {
    font-size: 13px;
    color: #9494a3;
    margin: 0 0 20px;
    line-height: 1.5;
}

.prof-docs-file-label {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: #181926;
    border: 1px dashed rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    cursor: pointer;
    margin-bottom: 14px;
}

.prof-docs-file-label.has-file { border-style: solid; border-color: rgba(59, 130, 246, 0.4); }

.prof-docs-file-icon {
    width: 36px;
    height: 36px;
    color: #6b7a94;
    flex-shrink: 0;
}

.prof-docs-file-icon svg { width: 100%; height: 100%; }

.prof-docs-file-text {
    font-size: 13px;
    color: #c4c4d0;
    word-break: break-all;
}

.prof-docs-upload-btn {
    width: 100%;
    padding: 12px;
    background: #3b82f6;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

.prof-docs-upload-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.prof-docs-upload-btn:not(:disabled):hover { background: #2563eb; }

.prof-docs-submitted {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 40px 24px;
}

.prof-docs-submitted-icon {
    width: 56px;
    height: 56px;
    color: #22c55e;
    margin-bottom: 16px;
}

.prof-docs-submitted-icon svg { width: 100%; height: 100%; }

.prof-docs-submitted-title {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 8px;
}

.prof-docs-submitted-text {
    font-size: 14px;
    color: #9494a3;
    margin: 0 0 8px;
    max-width: 300px;
    line-height: 1.5;
}

.prof-docs-submitted-date {
    font-size: 12px;
    color: #6b7280;
}

.prof-doc-list { display: flex; flex-direction: column; gap: 8px; }

.prof-doc-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: #1f2033;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    text-decoration: none;
    color: inherit;
    transition: background 0.15s;
}

.prof-doc-item:hover { background: #26273d; }

.prof-doc-icon {
    width: 36px;
    height: 36px;
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 800;
    flex-shrink: 0;
}

.prof-doc-item div { flex: 1; min-width: 0; }
.prof-doc-item strong { display: block; font-size: 14px; margin-bottom: 2px; }
.prof-doc-item span { font-size: 12px; color: #9494a3; }
.prof-doc-item > svg { width: 16px; height: 16px; color: #9494a3; flex-shrink: 0; }

.prof-settings-card {
    background: #1f2033;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 16px;
}

.prof-settings-label {
    display: block;
    font-size: 11px;
    color: #9494a3;
    margin-bottom: 6px;
    font-weight: 600;
}

.prof-settings-input {
    width: 100%;
    padding: 10px 12px;
    background: #12121e;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    margin-bottom: 14px;
}

.prof-settings-input:disabled { opacity: 0.5; cursor: not-allowed; }
.prof-settings-input:focus { outline: none; border-color: #3461ff; }

.prof-settings-save {
    width: 100%;
    padding: 12px;
    background: #3461ff;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    font-family: inherit;
}

.prof-settings-save:hover { filter: brightness(1.08); }

.prof-logout-form { margin: 0; }

.prof-logout-btn {
    width: 100%;
    padding: 12px;
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.3);
    border-radius: 8px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    font-family: inherit;
}

.prof-logout-btn:hover { background: rgba(239, 68, 68, 0.25); }

/* Security tab */
.prof-sec-section { margin-bottom: 20px; }

.prof-sec-card {
    background: linear-gradient(180deg, #2c2d48 0%, #252642 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    overflow: hidden;
}

.prof-sec-row {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 16px 18px;
    background: none;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    text-align: left;
    cursor: pointer;
    font-family: inherit;
    color: inherit;
    transition: background 0.15s;
}

.prof-sec-row:last-child { border-bottom: none; }

.prof-sec-row:hover { background: rgba(255, 255, 255, 0.04); }

.prof-sec-row-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    flex-shrink: 0;
}

.prof-sec-row-icon svg { width: 20px; height: 20px; }

.prof-sec-row-body {
    flex: 1;
    min-width: 0;
}

.prof-sec-row-body strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 3px;
}

.prof-sec-row-body span {
    display: block;
    font-size: 13px;
    color: #9494a3;
    line-height: 1.4;
}

.prof-sec-row-chevron {
    width: 18px;
    height: 18px;
    color: #6b7280;
    flex-shrink: 0;
}

.prof-sec-logout { margin-top: 8px; }

.prof-sec-form-card {
    background: linear-gradient(180deg, #2c2d48 0%, #252642 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 18px;
}

.prof-sec-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #9494a3;
    margin-bottom: 8px;
}

.prof-sec-input {
    width: 100%;
    padding: 12px 14px;
    background: rgba(15, 16, 26, 0.65);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    margin-bottom: 16px;
}

.prof-sec-input:focus {
    outline: none;
    border-color: #3b82f6;
}

.prof-sec-submit {
    width: 100%;
    padding: 13px;
    background: #3b82f6;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    font-family: inherit;
    margin-top: 4px;
}

.prof-sec-submit:hover { background: #2563eb; }

.prof-sec-submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.prof-sec-submit-danger {
    background: rgba(239, 68, 68, 0.18);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.35);
}

.prof-sec-submit-danger:hover { background: rgba(239, 68, 68, 0.28); }

.prof-2fa-status-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px;
    background: linear-gradient(180deg, #2c2d48 0%, #252642 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    margin-bottom: 16px;
}

.prof-2fa-status-card.is-enabled {
    border-color: rgba(34, 197, 94, 0.25);
    background: linear-gradient(180deg, #243328 0%, #1f2d28 100%);
}

.prof-2fa-status-icon {
    width: 40px;
    height: 40px;
    color: #94a3b8;
    flex-shrink: 0;
}

.prof-2fa-status-card.is-enabled .prof-2fa-status-icon { color: #22c55e; }

.prof-2fa-status-icon svg { width: 100%; height: 100%; }

.prof-2fa-status-text { flex: 1; min-width: 0; }

.prof-2fa-status-text strong {
    display: block;
    font-size: 15px;
    margin-bottom: 4px;
}

.prof-2fa-status-text p {
    margin: 0;
    font-size: 13px;
    color: #9494a3;
    line-height: 1.45;
}

.prof-2fa-badge {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 4px 8px;
    border-radius: 6px;
    flex-shrink: 0;
}

.prof-2fa-badge.off {
    color: #94a3b8;
    background: rgba(148, 163, 184, 0.12);
}

.prof-2fa-badge.on {
    color: #22c55e;
    background: rgba(34, 197, 94, 0.15);
}

.prof-2fa-method {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
}

.prof-2fa-method-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    background: rgba(15, 16, 26, 0.5);
    border-radius: 10px;
}

.prof-2fa-method-icon svg { width: 22px; height: 22px; }

.prof-2fa-method strong {
    display: block;
    font-size: 14px;
    margin-bottom: 3px;
}

.prof-2fa-method span {
    display: block;
    font-size: 12px;
    color: #9494a3;
}

.prof-2fa-qr-wrap {
    display: flex;
    justify-content: center;
    padding: 16px;
    margin-bottom: 16px;
    background: #fff;
    border-radius: 12px;
}

.prof-2fa-qr-wrap img {
    display: block;
    width: 200px;
    height: 200px;
}

.prof-2fa-manual { margin-bottom: 16px; }

.prof-2fa-secret-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: rgba(15, 16, 26, 0.65);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
}

.prof-2fa-secret-row code {
    flex: 1;
    font-size: 13px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    color: #e2e8f0;
    word-break: break-all;
    line-height: 1.4;
}

.prof-2fa-copy-secret {
    flex-shrink: 0;
    min-width: 64px;
    padding: 6px 12px;
    background: rgba(59, 130, 246, 0.15);
    color: #60a5fa;
    border: 1px solid rgba(59, 130, 246, 0.3);
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    transition: color 0.2s, background 0.2s, border-color 0.2s;
}

.prof-2fa-copy-secret:hover { background: rgba(59, 130, 246, 0.25); }

.prof-2fa-copy-secret.copied {
    color: #22c55e;
    background: rgba(34, 197, 94, 0.15);
    border-color: rgba(34, 197, 94, 0.35);
}

.prof-2fa-code-input {
    letter-spacing: 0.2em;
    font-size: 18px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

/* Assets slide-out panel — eobroker style */
.dash-slide-panel.is-assets-mode {
    width: min(380px, 94vw);
    background: #1a1d26;
}

.dash-slide-panel.is-assets-mode .dash-slide-header {
    display: none;
}

.dash-slide-panel.is-assets-mode .dash-slide-body {
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.assets-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    color: #fff;
    overflow: hidden;
}

.assets-header {
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    padding: 18px 14px 10px;
    flex-shrink: 0;
    background: inherit;
}

.assets-header-title {
    margin: 0;
    grid-column: 2;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #fff;
}

.assets-header-close {
    grid-column: 3;
    justify-self: end;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: #8e8e9e;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.assets-header-close:hover {
    color: #fff;
}

.assets-tabs {
    display: flex;
    margin: 0 14px 12px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #2c3144;
}

.assets-tab {
    flex: 1;
    padding: 11px;
    border: none;
    background: #12151f;
    color: #8b95a8;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
}

.assets-tab.active {
    background: linear-gradient(180deg, #2d4a82 0%, #1c2f56 100%);
    color: #fff;
}

.assets-search-wrap {
    position: relative;
    margin: 0 14px 10px;
}

.assets-search-wrap svg {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    color: #6b7280;
    pointer-events: none;
}

.assets-search {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 36px 10px 12px;
    border-radius: 8px;
    border: 1px solid #2c3144;
    background: #12151f;
    color: #fff;
    font-size: 13px;
    font-family: inherit;
}

.assets-search::placeholder { color: #6b7280; }

.assets-filters-wrap {
    position: relative;
    margin: 0 0 2px;
}

.assets-filters-wrap::before,
.assets-filters-wrap::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 10px;
    width: 22px;
    pointer-events: none;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.assets-filters-wrap::before {
    left: 0;
    background: linear-gradient(90deg, rgba(18, 21, 31, 0.98) 0%, rgba(18, 21, 31, 0) 100%);
}

.assets-filters-wrap::after {
    right: 0;
    background: linear-gradient(270deg, rgba(18, 21, 31, 0.98) 0%, rgba(18, 21, 31, 0) 100%);
}

.assets-filters-wrap.can-scroll-left::before,
.assets-filters-wrap.can-scroll-right::after {
    opacity: 1;
}

.assets-filters {
    display: flex;
    gap: 6px;
    padding: 0 14px 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-padding-inline: 18px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.assets-filters::-webkit-scrollbar { display: none; }

.assets-filter {
    flex-shrink: 0;
    padding: 6px 12px;
    border-radius: 6px;
    border: 1px solid #2c3144;
    background: transparent;
    color: #8b95a8;
    font-size: 12px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
}

.assets-filter svg {
    width: 14px;
    height: 14px;
    display: block;
}

.assets-filter.active {
    background: rgba(59, 102, 255, 0.15);
    border-color: rgba(59, 102, 255, 0.4);
    color: #fff;
}

.assets-list-head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px 8px 14px;
    font-size: 11px;
    color: #6b7280;
    font-weight: 600;
    border-bottom: 1px solid #2c3144;
}

.assets-head-asset {
    flex: 1;
    min-width: 0;
    padding-left: 42px;
}

.assets-head-profit {
    width: 38px;
    flex-shrink: 0;
    text-align: right;
}

.assets-head-range {
    width: 56px;
    flex-shrink: 0;
    display: inline-flex;
    justify-content: flex-end;
}

.assets-range-btn {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 0;
    border: none;
    background: transparent;
    color: #9ca3af;
    font-size: 11px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    line-height: 1;
}

.assets-range-btn:hover {
    color: #dbeafe;
}

.assets-range-btn svg {
    width: 10px;
    height: 10px;
    flex-shrink: 0;
    opacity: 0.85;
}

/* Chart preview period popup */
.assets-range-modal {
    position: absolute;
    inset: 0;
    z-index: 40;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.22s ease;
}

.assets-range-modal.is-open {
    opacity: 1;
    pointer-events: auto;
}

.assets-range-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.assets-range-modal__sheet {
    position: relative;
    z-index: 1;
    width: min(100%, 280px);
    padding: 18px 16px 14px;
    border-radius: 16px;
    background: linear-gradient(180deg, #2a3144 0%, #222838 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.35),
        0 18px 48px rgba(0, 0, 0, 0.55);
    transform: scale(0.94) translateY(8px);
    transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1);
}

.assets-range-modal.is-open .assets-range-modal__sheet {
    transform: scale(1) translateY(0);
}

.assets-range-modal__close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #8b95a8;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.assets-range-modal__close:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.06);
}

.assets-range-modal__title {
    margin: 0 0 14px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    letter-spacing: 0.01em;
}

.assets-range-modal__options {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 14px;
}

.assets-range-option {
    width: 100%;
    padding: 11px 14px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 2px 6px rgba(0, 0, 0, 0.22);
    color: #c5cad6;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.assets-range-option:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.12);
}

.assets-range-option.is-selected {
    color: #fff;
    border-color: #3b82f6;
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.18) 0%, rgba(59, 130, 246, 0.08) 100%);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 0 0 1px rgba(59, 130, 246, 0.35),
        0 2px 8px rgba(59, 130, 246, 0.15);
}

.assets-range-modal__confirm {
    width: 100%;
    padding: 12px 16px;
    border: none;
    border-radius: 10px;
    background: linear-gradient(180deg, #3b82f6 0%, #2563eb 100%);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
}

.assets-range-modal__confirm:hover {
    filter: brightness(1.06);
}

.assets-range-modal__confirm:active {
    transform: translateY(1px);
}

.assets-range {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.assets-range select {
    appearance: none;
    background: transparent;
    border: none;
    color: #9ca3af;
    font-size: 11px;
    font-weight: 600;
    font-family: inherit;
    padding-right: 14px;
    cursor: pointer;
}

.assets-range svg {
    position: absolute;
    right: 0;
    width: 10px;
    height: 10px;
    pointer-events: none;
}

.assets-list {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    padding: 4px 0;
    scrollbar-width: thin;
    scrollbar-color: #2c3144 transparent;
}

.dash-slide-panel.is-assets-mode .assets-list {
    scrollbar-color: rgba(44, 49, 68, 0.95) rgba(26, 29, 38, 0.4);
}

.dash-slide-panel.is-assets-mode .assets-list::-webkit-scrollbar {
    width: 6px;
}

.dash-slide-panel.is-assets-mode .assets-list::-webkit-scrollbar-track {
    background: linear-gradient(180deg, rgba(18, 21, 31, 0.6) 0%, rgba(26, 29, 38, 0.25) 100%);
    border-radius: 8px;
    margin: 6px 2px;
}

.dash-slide-panel.is-assets-mode .assets-list::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #353b50 0%, #2c3144 100%);
    border-radius: 8px;
    border: 1px solid rgba(26, 29, 38, 0.8);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.dash-slide-panel.is-assets-mode .assets-list::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, rgba(59, 102, 255, 0.45) 0%, rgba(44, 49, 68, 0.95) 100%);
}

.dash-slide-panel.is-assets-mode .assets-list::-webkit-scrollbar-thumb:active {
    background: rgba(59, 102, 255, 0.55);
}

.dash-slide-panel.is-assets-mode .assets-list::-webkit-scrollbar-corner {
    background: transparent;
}

.assets-row {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 14px;
    border: none;
    background: transparent;
    color: inherit;
    text-align: left;
    font-family: inherit;
    cursor: pointer;
    position: relative;
}

.assets-row:hover {
    background: rgba(255, 255, 255, 0.025);
}

.assets-row.is-selected {
    background: rgba(59, 130, 246, 0.07);
}

.assets-row-icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0a0a0f;
    border-radius: 5px;
    overflow: hidden;
}

.assets-icon-img {
    width: 22px;
    height: 22px;
    border-radius: 0;
    object-fit: contain;
}

.assets-icon-flags {
    display: block;
    position: relative;
    width: 26px;
    height: 16px;
    border-radius: 3px;
    overflow: hidden;
}

.assets-icon-flags img {
    position: absolute;
    top: 0;
    height: 100%;
    width: 50%;
    object-fit: cover;
}

.assets-icon-flags img:first-child { left: 0; }
.assets-icon-flags img:last-child { left: 50%; }

.assets-icon-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    font-size: 9px;
    font-weight: 800;
    color: #3b82f6;
    letter-spacing: 0.02em;
}

.assets-row-name {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    color: #fff;
    letter-spacing: 0.01em;
}

.assets-row-name-text {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.assets-row-change {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.01em;
}

.assets-row-change.is-up {
    color: #22c55e;
}

.assets-row-change.is-down {
    color: #ef4444;
}

.assets-row-otc {
    font-size: 11px;
    font-weight: 500;
    color: #6b7280;
}

.assets-row-payout {
    width: 38px;
    flex-shrink: 0;
    font-size: 13px;
    font-weight: 600;
    color: #3b82f6;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.assets-row-chart {
    width: 80px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.assets-spark {
    width: 80px;
    height: 26px;
    display: block;
}

.assets-row-star {
    width: 22px;
    flex-shrink: 0;
    color: rgba(255, 255, 255, 0.42);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 2px;
}

.assets-row-star svg {
    width: 16px;
    height: 16px;
    fill: none;
}

.assets-row-star.is-on {
    color: #fbbf24;
}

.assets-row-star.is-on svg {
    fill: #fbbf24;
    stroke: #fbbf24;
}

.assets-loading,
.assets-empty {
    padding: 32px 16px;
    text-align: center;
    color: #6b7280;
    font-size: 13px;
}

.assets-footer {
    display: flex;
    gap: 8px;
    padding: 12px 14px 14px;
    border-top: 1px solid #2c3144;
}

.assets-btn {
    flex: 1;
    padding: 13px 12px;
    border-radius: 8px;
    border: none;
    font-size: 14px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
}

.assets-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.assets-btn-secondary {
    background: #2c3144;
    color: #fff;
}

.assets-btn-primary {
    background: #3b66ff;
    color: #fff;
}

@media (max-width: 1024px) {
    .dash-sidebar-slot-right { display: none; }
    .dash-slide-panel[data-side="right"] { right: 0; }
    .dash-bottom-dock {
        left: 0;
        right: 0;
        padding: 0 10px;
    }
}

/* ── Indicators popup (eobroker) — scoped to #tp-indicators-modal ── */
#tp-indicators-modal .dash-chart-modal-dialog {
    max-width: 292px;
    width: calc(100% - 48px);
    background: #161926 !important;
    border: 1px solid #2c3144 !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55) !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

#tp-indicators-modal .dash-ind-modal-header {
    position: relative;
    flex-shrink: 0;
    padding: 16px 40px 10px;
    text-align: center;
    background: #161926;
}

#tp-indicators-modal .dash-ind-modal-header h2 {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #ffffff;
}

#tp-indicators-modal .dash-ind-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    background: none;
    color: #8e8e93;
    font-size: 18px;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    font-family: inherit;
}

#tp-indicators-modal .dash-ind-modal-content {
    padding: 0 12px 12px;
    flex: 1;
    min-height: 0;
}

#tp-indicators-modal .dash-ind-shell {
    border: 1px solid #2c3144;
    border-radius: 10px;
    overflow: hidden;
    background: #161926;
}

#tp-indicators-modal .dash-ind-tabs {
    display: flex;
    border-bottom: 1px solid #2c3144;
}

#tp-indicators-modal .dash-ind-tab {
    flex: 1;
    padding: 11px 12px;
    border: none;
    background: #12151f;
    color: #7d8699;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
}

#tp-indicators-modal .dash-ind-tab + .dash-ind-tab {
    border-left: 1px solid #2c3144;
}

#tp-indicators-modal .dash-ind-tab.active {
    color: #ffffff;
    background: linear-gradient(180deg, #2d4a82 0%, #1c2f56 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

#tp-indicators-modal .dash-ind-panel-label {
    margin: 0;
    padding: 12px 14px 8px;
    font-size: 12px;
    font-weight: 500;
    color: #8b95a8;
}

#tp-indicators-modal .dash-ind-list {
    max-height: 360px;
    overflow-y: auto;
}

#tp-indicators-modal .dash-ind-list[hidden] {
    display: none !important;
}

#tp-indicators-modal .dash-ind-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 12px 14px;
    border: none;
    border-top: 1px solid #2c3144;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font-family: inherit;
    color: inherit;
}

#tp-indicators-modal .dash-ind-item-body strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 2px;
}

#tp-indicators-modal .dash-ind-item-body span {
    display: block;
    font-size: 11px;
    color: #94a3b8;
    line-height: 1.35;
}

#tp-indicators-modal .dash-ind-chevron {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: #6b7280;
}

#tp-indicators-modal .dash-ind-close-btn {
    display: block;
    width: 100%;
    padding: 15px 16px;
    border: none;
    border-top: 1px solid #2c3144;
    border-radius: 0 0 14px 14px;
    background: #222633;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    text-align: center;
}

#tp-indicators-modal .dash-ind-empty {
    margin: 0;
    padding: 24px 14px;
    border-top: 1px solid #2c3144;
    text-align: center;
    font-size: 13px;
    color: #6b7280;
}

#tp-indicators-modal .dash-ind-added-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-top: 1px solid #2c3144;
    font-size: 13px;
    font-weight: 700;
    color: #ffffff;
}

#tp-indicators-modal .dash-ind-added-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

#tp-indicators-modal .dash-ind-edit,
#tp-indicators-modal .dash-ind-remove {
    width: 26px;
    height: 26px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-family: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
}

#tp-indicators-modal .dash-ind-edit {
    background: rgba(61, 126, 255, 0.15);
    color: #60a5fa;
}

#tp-indicators-modal .dash-ind-remove {
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
    font-size: 18px;
}

/* ── Settings slideout ── */
.set-slide {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    width: 100%;
    background: #1b1c2b;
    color: #fff;
    font-family: inherit;
    position: relative;
    overflow: hidden;
}

.set-topbar {
    display: grid;
    grid-template-columns: 36px 1fr 36px;
    align-items: center;
    gap: 8px;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}

.set-topbar-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.02em;
    text-align: center;
}

.set-topbar-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    border-radius: 8px;
    padding: 0;
}

.set-topbar-btn svg { width: 20px; height: 20px; }
.set-topbar-btn:hover { background: rgba(255, 255, 255, 0.06); }

.set-topbar-spacer {
    width: 36px;
    height: 36px;
}

.set-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 16px 16px 24px;
}

.set-section { margin-bottom: 22px; }

.set-section-label {
    margin: 0 0 10px;
    font-size: 13px;
    font-weight: 500;
    color: #9494a3;
}

.set-card {
    background: #26283d;
    border-radius: 14px;
    overflow: hidden;
}

.set-card--flat { padding: 4px 0; }

.set-row {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 16px 18px;
    background: none;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    text-align: left;
    cursor: pointer;
    font-family: inherit;
    color: inherit;
    transition: background 0.15s;
}

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

.set-row:hover:not(:disabled):not(.set-row--static) {
    background: rgba(255, 255, 255, 0.04);
}

.set-row--static { cursor: default; }

.set-row--selected {
    cursor: default;
    opacity: 1;
}

.set-row-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    flex-shrink: 0;
}

.set-row-icon svg { width: 20px; height: 20px; }

.set-row-icon--flag svg { width: 22px; height: 22px; border-radius: 4px; }

.set-lang-flag {
    width: 28px;
    height: 21px;
    object-fit: cover;
    border-radius: 4px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
    display: block;
}

.set-row-body {
    flex: 1;
    min-width: 0;
}

.set-row-body strong {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 2px;
}

.set-row-body span {
    display: block;
    font-size: 13px;
    color: #9494a3;
    line-height: 1.4;
}

.set-row--static .set-row-body strong { margin-bottom: 0; }

.set-row-chevron {
    width: 18px;
    height: 18px;
    color: #6b7280;
    flex-shrink: 0;
}

.set-row-check {
    width: 20px;
    height: 20px;
    color: #3461ff;
    flex-shrink: 0;
}

.set-toggle {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
    cursor: pointer;
}

.set-toggle input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.set-toggle-track {
    display: block;
    width: 44px;
    height: 26px;
    border-radius: 999px;
    background: #3d4059;
    transition: background 0.2s;
    position: relative;
}

.set-toggle-track::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    transition: transform 0.2s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.set-toggle input:checked + .set-toggle-track {
    background: #3461ff;
}

.set-toggle input:checked + .set-toggle-track::after {
    transform: translateX(18px);
}

.set-toggle input:focus-visible + .set-toggle-track {
    outline: 2px solid rgba(52, 97, 255, 0.5);
    outline-offset: 2px;
}

.set-footer {
    text-align: center;
    font-size: 12px;
    color: #6b7280;
    padding: 8px 0 4px;
}

.set-footer strong {
    color: #9ca3af;
    font-weight: 600;
}

.set-sub-layer {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    background: #1b1c2b;
}

.set-sub-layer[hidden] { display: none !important; }

.set-sub-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 16px;
}

.set-kv {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 18px;
    font-size: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.set-kv:last-child { border-bottom: none; }

.set-kv span { color: #9494a3; }

.set-kv strong {
    color: #fff;
    font-weight: 600;
}

.set-hint {
    margin: 14px 4px 0;
    font-size: 12px;
    color: #6b7280;
    line-height: 1.5;
}

.set-session {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
}

.set-session-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    flex-shrink: 0;
}

.set-session-icon svg { width: 20px; height: 20px; }

.set-session-body {
    flex: 1;
    min-width: 0;
}

.set-session-body strong {
    display: block;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 2px;
}

.set-session-body span {
    display: block;
    font-size: 13px;
    color: #9494a3;
}

.set-session-meta {
    font-size: 12px !important;
    color: #6b7280 !important;
    margin-top: 2px;
}

.set-session--bordered {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.set-session-icon--mobile,
.set-session-icon--tablet,
.set-session-icon--desktop {
    color: #94a3b8;
}

.set-session-badge {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #22c55e;
    background: rgba(34, 197, 94, 0.12);
    border: 1px solid rgba(34, 197, 94, 0.25);
    border-radius: 999px;
    padding: 4px 10px;
    flex-shrink: 0;
}

/* ── Deals slideout — EO Broker “Recent deals” panel ── */
.dash-slide-panel.is-deals-mode,
.dash-slide-panel.is-tips-mode {
    width: min(368px, 94vw);
    background: #12121e;
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 14px;
}

.dash-slide-panel.is-education-mode {
    width: min(400px, 96vw);
    background: #0f1118;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
}

.dash-slide-panel.is-deals-mode .dash-slide-header,
.dash-slide-panel.is-tips-mode .dash-slide-header,
.dash-slide-panel.is-education-mode .dash-slide-header {
    display: none !important;
}

.dash-slide-panel.is-deals-mode .dash-slide-body,
.dash-slide-panel.is-tips-mode .dash-slide-body,
.dash-slide-panel.is-education-mode .dash-slide-body {
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    background: #12121e;
}

.dash-slide-panel.is-education-mode .dash-slide-body {
    background: #0f1118;
}

.deals-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background: #12121e;
    color: #fff;
    font-family: inherit;
}

/* Header: Recent deals + X */
.deals-header {
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    padding: 20px 14px 12px;
    background: #12121e;
    flex-shrink: 0;
}

.deals-header-spacer {
    width: 40px;
}

.deals-header-title {
    margin: 0;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.deals-header-close {
    justify-self: end;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: #8e8e9e;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.deals-header-close:hover {
    color: #fff;
}

/* Tab bar */
.deals-tabs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    padding: 0 8px;
    background: #12121e;
    flex-shrink: 0;
}

.deals-tab {
    position: relative;
    border: none;
    border-radius: 0;
    padding: 12px 6px 14px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.15;
    color: #8e8e9e;
    background: transparent;
    cursor: pointer;
    transition: color 0.15s, background 0.15s;
}

.deals-tab:hover {
    color: #b8bac0;
}

.deals-tab.is-active {
    color: #ffffff;
    border-radius: 10px 10px 0 0;
    background: linear-gradient(180deg, #2a3558 0%, #1f2844 35%, rgba(18, 18, 30, 0) 100%);
}

.deals-tab.is-active::before {
    content: '';
    position: absolute;
    top: 0;
    left: 8%;
    right: 8%;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, #4d8dff 15%, #9ec5ff 50%, #4d8dff 85%, transparent);
    box-shadow: 0 0 12px rgba(77, 141, 255, 0.65);
}

/* Scrollable list */
.deals-scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0;
    background: #12121e;
}

.deals-scroll::-webkit-scrollbar {
    width: 4px;
}

.deals-scroll::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.12);
    border-radius: 4px;
}

/* Date group */
.deals-section {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-bottom: 12px;
}

.deals-section:first-child {
    border-top: none;
    padding-top: 12px;
}

.deals-section + .deals-section {
    margin-top: 20px;
    padding-top: 8px;
}

.deals-date {
    margin: 0 0 4px;
    padding: 20px 18px 22px;
    font-size: 12px;
    font-weight: 400;
    color: #8e8e9e;
    line-height: 1.4;
    border-bottom: none;
}

.deals-section .deals-row:first-of-type {
    padding-top: 18px;
}

.deals-section .deals-row:last-of-type {
    padding-bottom: 20px;
    border-bottom: none;
}

/* Trade row */
.deals-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px 17px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.deals-row-left {
    display: flex;
    align-items: center;
    gap: 11px;
    flex: 1;
    min-width: 0;
}

.deals-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 11px;
    height: 11px;
    flex-shrink: 0;
}

.deals-arrow--up {
    color: #00c896;
}

.deals-arrow--down {
    color: #ff4d6d;
}

.deals-arrow svg {
    display: block;
    width: 10px;
    height: 10px;
}

.deals-row-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.deals-name {
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}

.deals-time {
    font-size: 11px;
    font-weight: 400;
    color: #8e8e9e;
    line-height: 1.2;
}

.deals-row-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    flex-shrink: 0;
    min-width: 80px;
    text-align: right;
}

.deals-profit {
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.2;
    min-height: 17px;
}

.deals-profit--show {
    color: #ffffff;
}

.deals-profit--pending {
    visibility: hidden;
}

.deals-stake {
    font-size: 11px;
    font-weight: 400;
    color: #8e8e9e;
    line-height: 1.2;
}

.deals-empty {
    padding: 40px 24px;
    text-align: center;
}

.deals-empty p {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
}

.deals-empty span {
    font-size: 12px;
    line-height: 1.55;
    color: #8e8e9e;
}

.deals-loading {
    padding: 28px 18px;
    text-align: center;
    color: #8e8e9e;
    font-size: 12px;
}

.deals-row--clickable {
    cursor: pointer;
    transition: background 0.12s ease;
}

.deals-row--clickable:hover {
    background: rgba(255, 255, 255, 0.028);
}

.deals-row--clickable:active {
    background: rgba(255, 255, 255, 0.045);
}

/* ── Trends slideout ── */
.trends-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.trends-intervals {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 10px 14px 12px;
    background: #12121e;
    flex-shrink: 0;
}

.trends-interval {
    border: none;
    border-radius: 8px;
    padding: 9px 8px;
    font-size: 12px;
    font-weight: 600;
    color: #8e8e9e;
    background: rgba(255, 255, 255, 0.04);
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.trends-interval:hover {
    color: #c8cad0;
    background: rgba(255, 255, 255, 0.06);
}

.trends-interval.is-active {
    color: #fff;
    background: #347eff;
    box-shadow: 0 4px 14px rgba(52, 126, 255, 0.35);
}

.trends-scroll {
    padding-bottom: 12px;
}

.trends-section {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.trends-section:first-child {
    border-top: none;
}

.trends-section-label {
    padding: 16px 18px 10px;
    font-size: 12px;
    font-weight: 400;
    color: #8e8e9e;
    line-height: 1.3;
}

.trends-row {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px 18px;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 0.12s ease;
}

.trends-row:hover {
    background: rgba(255, 255, 255, 0.028);
}

.trends-row:active {
    background: rgba(255, 255, 255, 0.045);
}

.trends-row-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

.trends-row-icon-img {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    object-fit: cover;
}

.trends-row-icon-flags {
    display: flex;
    align-items: center;
}

.trends-row-icon-flags img {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.trends-row-icon-flags img + img {
    margin-left: -6px;
}

.trends-row-icon-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 10px;
    font-weight: 700;
    color: #fff;
}

.trends-row-main {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.trends-row-name {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}

.trends-row-signal {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
}

.trends-signal--buy {
    color: #00c896;
}

.trends-signal--sell {
    color: #ff4d6d;
}

.trends-signal--neutral {
    color: #8e8e9e;
}

.trends-signal-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.trends-signal-arrow svg {
    width: 12px;
    height: 12px;
    display: block;
}

.trends-signal-arrow--buy {
    color: #00c896;
}

.trends-signal-arrow--sell {
    color: #ff4d6d;
}

.trends-signal-arrow--neutral {
    color: #8e8e9e;
    font-size: 16px;
    line-height: 1;
    font-weight: 300;
}

.trends-loading,
.trends-empty,
.trends-empty-inline {
    padding: 20px 18px;
    text-align: center;
    color: #8e8e9e;
    font-size: 12px;
}

.trends-empty-inline {
    text-align: left;
    padding-top: 0;
    padding-bottom: 14px;
}

/* Trends asset info popup */
.trends-asset-modal {
    position: fixed;
    inset: 0;
    z-index: 13000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.trends-asset-modal[hidden] {
    display: none !important;
}

.trends-asset-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(6px);
}

.trends-asset-dialog {
    position: relative;
    width: min(340px, 100%);
    padding: 20px 18px 18px;
    border-radius: 16px;
    background: linear-gradient(180deg, #1e2032 0%, #181926 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
}

.trends-asset-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    color: #8e92a3;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}

.trends-asset-close:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
}

.trends-asset-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-right: 28px;
    margin-bottom: 14px;
}

.trends-asset-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
}

.trends-asset-icon .trends-row-icon-img {
    width: 40px;
    height: 40px;
}

.trends-asset-icon .trends-row-icon-placeholder {
    width: 40px;
    height: 40px;
    font-size: 12px;
}

.trends-asset-head-text {
    flex: 1;
    min-width: 0;
}

.trends-asset-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}

.trends-asset-symbol {
    display: block;
    margin-top: 3px;
    font-size: 11px;
    color: #8e92a3;
}

.trends-asset-signal {
    flex-shrink: 0;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.trends-asset-signal.trends-signal--buy {
    background: rgba(0, 200, 150, 0.15);
    color: #3cdba8;
}

.trends-asset-signal.trends-signal--neutral {
    background: rgba(255, 255, 255, 0.06);
    color: #b8bcc8;
}

.trends-asset-signal.trends-signal--sell {
    background: rgba(255, 77, 109, 0.15);
    color: #ff8a8a;
}

.trends-asset-chart {
    margin-bottom: 14px;
    border-radius: 10px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.trends-spark {
    display: block;
    width: 100%;
    height: 56px;
}

.trends-asset-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 12px;
}

.trends-asset-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 8px 6px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
}

.trends-asset-stat-value {
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    font-variant-numeric: tabular-nums;
    text-align: center;
}

.trends-asset-stat-label {
    font-size: 10px;
    color: #8e92a3;
}

.trends-asset-hint {
    margin: 0 0 14px;
    font-size: 11px;
    line-height: 1.45;
    color: #8e92a3;
    text-align: center;
}

.trends-asset-select {
    width: 100%;
    border: none;
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    cursor: pointer;
    background: linear-gradient(135deg, #4588ff 0%, #347eff 100%);
    box-shadow: 0 6px 18px rgba(52, 126, 255, 0.32);
    transition: filter 0.15s;
}

.trends-asset-select:hover {
    filter: brightness(1.06);
}

/* ── Social Trading slideout ── */
.social-panel {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.social-global-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 14px 16px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}

.social-global-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center;
}

.social-global-stat-value {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    font-variant-numeric: tabular-nums;
    line-height: 1.1;
}

.social-global-stat-label {
    font-size: 11px;
    color: #8e8e9e;
    line-height: 1.2;
}

.social-pair-block {
    padding: 14px 16px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}

.social-pair-name {
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}

.social-pair-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}

.social-pair-deals {
    flex: 1;
    min-width: 0;
    font-size: 12px;
    color: #b8bac0;
}

.social-pair-avatars {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.social-pair-avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #12121e;
    margin-left: -8px;
}

.social-pair-avatar:first-child {
    margin-left: 0;
}

.social-pair-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 600;
    color: #b8bac0;
}

.social-pair-more svg {
    width: 16px;
    height: 16px;
    opacity: 0.85;
}

.social-pair-volume {
    margin-bottom: 12px;
    font-size: 12px;
    color: #b8bac0;
}

.social-sentiment {
    display: flex;
    align-items: center;
    gap: 8px;
}

.social-sentiment-side {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
}

.social-sentiment-side svg {
    width: 10px;
    height: 10px;
}

.social-sentiment-side--sell {
    color: #ff4d6d;
}

.social-sentiment-side--buy {
    color: #00c896;
}

.social-sentiment-bar {
    flex: 1;
    display: flex;
    height: 6px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.06);
}

.social-sentiment-bar-sell {
    height: 100%;
    background: linear-gradient(90deg, #ff4d6d, #ff6b85);
    transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.social-sentiment-bar-buy {
    height: 100%;
    background: linear-gradient(90deg, #00c896, #3cdba8);
    transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.social-scroll {
    padding-bottom: 16px;
}

.social-loading {
    padding: 24px 18px;
    text-align: center;
    color: #8e8e9e;
    font-size: 12px;
}

.social-time-block {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.social-time-block:first-child {
    border-top: none;
}

.social-time-head {
    padding: 16px 18px 4px;
}

.social-time-label {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    font-variant-numeric: tabular-nums;
}

.social-time-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 18px 10px;
}

.social-time-volume,
.social-time-deals {
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    font-variant-numeric: tabular-nums;
    line-height: 1.25;
}

.social-time-volume em,
.social-time-deals em {
    font-style: normal;
    font-weight: 400;
    color: #8e8e9e;
    margin-left: 4px;
}

.social-trader-row {
    display: grid;
    grid-template-columns: 22px 34px 1fr auto;
    align-items: center;
    gap: 10px;
    padding: 10px 18px 11px;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}

.social-trader-rank {
    font-size: 13px;
    font-weight: 600;
    color: #8e8e9e;
    text-align: center;
}

.social-trader-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.social-trader-main {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.social-trader-name {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}

.social-trader-sub {
    font-size: 12px;
    color: #8e8e9e;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}

.social-trader-profit {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

/* ── Deal detail modal — compact EO trade result popup ── */
.deal-detail-modal {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 12px;
}

.deal-detail-modal[hidden] {
    display: none !important;
}

.deal-detail-modal:not([hidden]) .deal-detail-dialog {
    animation: dealDetailIn 0.26s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes dealDetailIn {
    from {
        opacity: 0;
        transform: translateY(10px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.deal-detail-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(8px);
}

.deal-detail-dialog {
    position: relative;
    width: min(348px, 100%);
    max-height: min(92vh, 580px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: linear-gradient(180deg, #1e2032 0%, #181926 100%);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 16px;
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.35),
        0 20px 50px rgba(0, 0, 0, 0.55),
        0 0 40px rgba(61, 126, 255, 0.06);
    font-family: inherit;
}

.deal-detail-close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 5;
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
    color: #8e92a3;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    transition: background 0.15s, color 0.15s;
}

.deal-detail-close:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.deal-detail-head {
    padding: 14px 36px 6px;
    text-align: center;
}

.deal-detail-title {
    margin: 0;
    padding: 0;
    font-size: 15px;
    font-weight: 600;
    color: #ffffff;
    letter-spacing: -0.02em;
    line-height: 1.2;
}

.deal-detail-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 5px 0 0;
    margin: 0;
}

.deal-detail-brand-logo {
    display: block;
    height: 18px;
    max-width: 72px;
    width: auto;
    object-fit: contain;
    opacity: 0.9;
    filter: brightness(1.15);
}

.deal-detail-brand-word {
    font-size: 11px;
    font-weight: 600;
    color: #6b7082;
    letter-spacing: 0.01em;
    text-transform: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 120px;
}

.deal-detail-chart-wrap {
    position: relative;
    margin: 8px 12px 0;
    height: 186px;
    border-radius: 10px;
    overflow: hidden;
    background: #1e222d;
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.deal-detail-watermark {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding-bottom: 18px;
    pointer-events: none;
    opacity: 1;
}

.deal-detail-watermark-logo {
    max-height: 42px;
    max-width: 160px;
    width: auto;
    height: auto;
    object-fit: contain;
    opacity: 0.14;
    filter: grayscale(1) brightness(1.6);
}

.deal-detail-watermark-eo {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    opacity: 0.16;
}

.deal-detail-watermark-hex {
    display: inline-flex;
    width: 24px;
    height: 24px;
    color: #fff;
}

.deal-detail-watermark-hex svg {
    width: 24px;
    height: 24px;
}

.deal-detail-watermark-word {
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.02em;
    text-transform: none;
    opacity: 0.12;
}

.deal-detail-chart {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
}

.deal-detail-markers-layer {
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
    overflow: visible;
}

.deal-detail-chart-wrap .tp-trade-marker {
    position: absolute;
    transform: translate(-50%, -50%);
    pointer-events: none;
}

.deal-detail-chart-wrap .tp-trade-marker--eo {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    height: auto;
    min-width: 0;
}

.deal-detail-chart-wrap .tp-trade-marker--eo .tp-marker-pill {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 7px;
    border-radius: 4px;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.1;
    color: #fff;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    margin-bottom: 4px;
}

.deal-detail-chart-wrap .tp-trade-marker--eo.buy .tp-marker-pill {
    background: #00c896;
}

.deal-detail-chart-wrap .tp-trade-marker--eo.sell .tp-marker-pill {
    background: #ff5252;
    order: 2;
    margin-bottom: 0;
    margin-top: 5px;
}

.deal-detail-chart-wrap .tp-trade-marker--eo .tp-marker-pill::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -4px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
}

.deal-detail-chart-wrap .tp-trade-marker--eo.buy .tp-marker-pill::after {
    border-top: 4px solid #00c896;
}

.deal-detail-chart-wrap .tp-trade-marker--eo.sell .tp-marker-pill::after {
    top: -4px;
    bottom: auto;
    border-top: none;
    border-bottom: 4px solid #ff5252;
}

.deal-detail-chart-wrap .tp-trade-marker--eo .tp-marker-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
    flex-shrink: 0;
}

.deal-detail-chart-wrap .tp-trade-marker--eo.buy .tp-marker-dot {
    background: #00c896;
}

.deal-detail-chart-wrap .tp-trade-marker--eo.sell .tp-marker-dot {
    background: #ff5252;
    order: 1;
}

.deal-detail-chart-wrap .tp-trade-marker--eo .tp-marker-chevron {
    display: block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
}

.deal-detail-chart-wrap .tp-trade-marker--eo .tp-marker-chevron.up {
    border-bottom: 6px solid #fff;
    margin-top: -1px;
}

.deal-detail-chart-wrap .tp-trade-marker--eo .tp-marker-chevron.down {
    border-top: 6px solid #fff;
    margin-top: 1px;
}

.deal-detail-summary {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 8px 10px;
    align-items: center;
    padding: 12px 14px 10px;
}

.deal-detail-payout-box {
    min-width: 76px;
    padding: 7px 12px;
    border-radius: 8px;
    background: linear-gradient(135deg, #4588ff 0%, #3d7eff 100%);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
    line-height: 1.15;
    box-shadow: 0 4px 14px rgba(61, 126, 255, 0.32);
}

.deal-detail-payout-box--zero {
    background: #323548;
    box-shadow: none;
    color: #c4c8d4;
}

.deal-detail-summary-mid,
.deal-detail-summary-right {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    min-width: 0;
}

.deal-detail-id-row {
    display: flex;
    align-items: center;
    gap: 5px;
}

.deal-detail-id-value {
    font-size: 12px;
    font-weight: 600;
    color: #e8eaf0;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
}

.deal-detail-copy {
    width: 20px;
    height: 20px;
    border: none;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.05);
    color: #8e92a3;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s;
}

.deal-detail-copy svg {
    width: 12px;
    height: 12px;
}

.deal-detail-copy:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.deal-detail-pct {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
}

.deal-detail-label {
    font-size: 10px;
    font-weight: 500;
    color: #6f7585;
    line-height: 1.2;
    letter-spacing: 0.01em;
}

.deal-detail-divider {
    height: 1px;
    margin: 0 14px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.08), transparent);
}

.deal-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px 8px;
    padding: 12px 14px 14px;
}

.deal-detail-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center;
    padding: 6px 4px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.02);
}

.deal-detail-value {
    font-size: 12px;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.25;
    font-variant-numeric: tabular-nums;
}

.deal-detail-value--profit {
    color: #3cdba8;
    font-weight: 700;
}

.deal-detail-value--loss {
    color: #9aa0b0;
    font-weight: 600;
}

.deal-detail-value--rate {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-weight: 600;
}

.deal-detail-rate-arrow {
    display: inline-flex;
    width: 12px;
    height: 12px;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.deal-detail-rate-arrow svg {
    width: 9px;
    height: 9px;
}

.deal-detail-rate-arrow--buy {
    color: #00c896;
}

.deal-detail-rate-arrow--sell {
    color: #ff4d6d;
}

.deal-detail-footer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    margin-top: auto;
    background: rgba(0, 0, 0, 0.15);
}

.deal-detail-footer-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 46px;
    border: none;
    background: transparent;
    color: #b8bcc8;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.deal-detail-footer-btn svg {
    width: 14px;
    height: 14px;
    opacity: 0.85;
}

.deal-detail-footer-btn:hover {
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
}

.deal-detail-footer-btn--primary {
    color: #fff;
    background: linear-gradient(180deg, rgba(61, 126, 255, 0.18) 0%, rgba(61, 126, 255, 0.08) 100%);
}

.deal-detail-footer-btn--primary:hover {
    background: linear-gradient(180deg, rgba(61, 126, 255, 0.28) 0%, rgba(61, 126, 255, 0.14) 100%);
    color: #fff;
}

.deal-detail-footer-btn + .deal-detail-footer-btn {
    border-left: 1px solid rgba(255, 255, 255, 0.06);
}

/* ── Help slideout ── */
.dash-slide-panel.is-help-mode {
    width: min(400px, 92vw);
    background: #1b1c2b;
}

.dash-slide-panel.is-help-mode .dash-slide-header {
    display: none;
}

.dash-slide-panel.is-help-mode .dash-slide-body {
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.dash-slide-panel.is-help-mode .dash-panel-preloader-layer {
    border-radius: 0;
}

.help-slide {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    width: 100%;
    background: linear-gradient(180deg, #2a2b42 0%, #1f2035 28%, #181926 58%, #12121e 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
}

.help-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}

.help-topbar-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.help-topbar-btn {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-family: inherit;
}

.help-topbar-btn svg { width: 20px; height: 20px; }
.help-topbar-spacer { width: 36px; }

.help-tabs {
    display: flex;
    gap: 0;
    padding: 0 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.help-tabs::-webkit-scrollbar { display: none; }

.help-tab {
    flex: 1;
    min-width: 0;
    padding: 12px 8px;
    font-size: 13px;
    font-weight: 600;
    color: #9494a3;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    font-family: inherit;
    white-space: nowrap;
    transition: color 0.15s, background 0.15s, border-color 0.15s;
}

.help-tab:hover { color: #c4c4d4; }

.help-tab.active {
    color: #fff;
    background: rgba(52, 97, 255, 0.1);
    border-bottom-color: #3461ff;
}

.help-panes {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    scrollbar-width: thin;
    scrollbar-color: #2a2a3e transparent;
}

.help-pane { display: none; }
.help-pane.active { display: block; }

.help-hero {
    position: relative;
    height: 148px;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 18px;
    background: linear-gradient(135deg, #1e4fd8 0%, #3461ff 45%, #5b8cff 100%);
}

.help-hero-watermark {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 52px;
    font-weight: 900;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.14);
    pointer-events: none;
}

.help-hero-scene {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 10px;
}

.help-hero-mascot {
    position: relative;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #7eb4ff, #2563eb 55%, #1d4ed8);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
    z-index: 2;
}

.help-hero-face {
    position: absolute;
    left: 50%;
    top: 52%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 14px 0 0 #fff;
}

.help-hero-headset {
    position: absolute;
    left: 50%;
    top: 18%;
    transform: translateX(-50%);
    width: 54px;
    height: 28px;
    border: 4px solid #fff;
    border-bottom: none;
    border-radius: 28px 28px 0 0;
}

.help-hero-pedestal {
    position: absolute;
    bottom: 8px;
    width: 88px;
    height: 14px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.18);
    z-index: 1;
}

.help-hero-alert {
    position: absolute;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    font-weight: 800;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(12deg);
}

.help-hero-alert--a { left: 14%; top: 28%; }
.help-hero-alert--b { right: 16%; top: 18%; transform: rotate(-8deg); }
.help-hero-alert--c { right: 22%; bottom: 28%; transform: rotate(6deg); }

.help-intro {
    text-align: center;
    margin-bottom: 18px;
}

.help-intro h3 {
    margin: 0 0 8px;
    font-size: 18px;
    font-weight: 700;
}

.help-intro p {
    margin: 0;
    font-size: 13px;
    color: #9494a3;
    line-height: 1.5;
}

.help-intro strong { color: #60a5fa; font-weight: 700; }

.help-user-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    margin-bottom: 16px;
}

.help-user-avatar {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, #e94e77, #d63d65);
    color: #fff;
    font-weight: 800;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.help-user-body { min-width: 0; }

.help-user-hello {
    display: block;
    font-size: 12px;
    color: #9494a3;
}

.help-user-name {
    display: block;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 6px;
}

.help-user-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.help-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.04em;
    border-radius: 999px;
    padding: 4px 10px;
}

.help-badge-newbie {
    background: #fff;
    color: #111;
}

.help-badge-rank {
    background: rgba(255, 255, 255, 0.08);
    color: #d1d5db;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.help-chat-btn {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 18px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(180deg, #4f8cff 0%, #3461ff 100%);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    box-shadow: 0 8px 24px rgba(52, 97, 255, 0.35);
    margin-bottom: 14px;
    transition: transform 0.15s, box-shadow 0.15s;
}

.help-chat-btn svg { width: 20px; height: 20px; }
.help-chat-btn:hover { transform: translateY(-1px); }
.help-chat-btn:active { transform: translateY(0); }

.help-email-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 13px;
    color: #9494a3;
}

.help-email-link {
    color: #60a5fa;
    text-decoration: none;
    font-weight: 600;
}

.help-email-link:hover { text-decoration: underline; }

.help-copy-btn {
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    color: #94a3b8;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.help-copy-btn svg { width: 16px; height: 16px; }
.help-copy-btn.is-copied { color: #22c55e; }

.help-faq-list { display: flex; flex-direction: column; gap: 10px; }

.help-faq-stage {
    position: relative;
    min-height: 200px;
}

.help-faq-view {
    display: none;
}

.help-faq-view.is-active {
    display: block;
    animation: helpFaqFadeIn 0.22s ease;
}

@keyframes helpFaqFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

.help-faq-lead {
    margin: 0 0 14px;
    font-size: 13px;
    color: #9494a3;
    text-align: center;
}

.help-faq-cat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.help-faq-cat-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    min-height: 118px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 14px;
    background: linear-gradient(160deg, rgba(52, 97, 255, 0.12) 0%, rgba(255, 255, 255, 0.03) 100%);
    color: #fff;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
    position: relative;
    transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s;
}

.help-faq-cat-card:hover {
    transform: translateY(-2px);
    border-color: rgba(96, 165, 250, 0.35);
    box-shadow: 0 8px 24px rgba(52, 97, 255, 0.15);
}

.help-faq-cat-card:active {
    transform: translateY(0);
}

.help-faq-cat-icon {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(52, 97, 255, 0.18);
    color: #93c5fd;
}

.help-faq-cat-icon svg { width: 20px; height: 20px; }

.help-faq-cat-icon--rocket { color: #fcd34d; background: rgba(251, 191, 36, 0.14); }
.help-faq-cat-icon--chart { color: #6ee7b7; background: rgba(16, 185, 129, 0.14); }
.help-faq-cat-icon--wallet { color: #c4b5fd; background: rgba(167, 139, 250, 0.14); }
.help-faq-cat-icon--tools { color: #fda4af; background: rgba(244, 114, 182, 0.14); }

.help-faq-cat-body {
    flex: 1;
    min-width: 0;
}

.help-faq-cat-body strong {
    display: block;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 4px;
    line-height: 1.3;
}

.help-faq-cat-body span {
    display: block;
    font-size: 11px;
    color: #9494a3;
}

.help-faq-cat-chevron {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 16px;
    height: 16px;
    color: #6b7280;
}

.help-faq-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
    padding: 6px 10px 6px 6px;
    border: none;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: #c4c4d4;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
}

.help-faq-back svg { width: 16px; height: 16px; }
.help-faq-back:hover { background: rgba(255, 255, 255, 0.1); color: #fff; }

.help-faq-detail-title {
    margin: 0 0 14px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.help-faq-empty {
    margin: 0;
    font-size: 13px;
    color: #9494a3;
    text-align: center;
    padding: 24px 12px;
}

.help-faq-item {
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.help-faq-item summary {
    padding: 14px 16px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    list-style: none;
}

.help-faq-item summary::-webkit-details-marker { display: none; }

.help-faq-item p {
    margin: 0;
    padding: 0 16px 14px;
    font-size: 13px;
    color: #9494a3;
    line-height: 1.55;
}

.help-legal-stage {
    position: relative;
    min-height: 200px;
}

.help-legal-view {
    display: none;
}

.help-legal-view.is-active {
    display: block;
    animation: helpFaqFadeIn 0.22s ease;
}

.help-legal-card {
    min-height: 128px;
}

.help-legal-icon--risk { color: #fca5a5; background: rgba(239, 68, 68, 0.14); }
.help-legal-icon--privacy { color: #93c5fd; background: rgba(59, 130, 246, 0.14); }
.help-legal-icon--terms { color: #c4b5fd; background: rgba(139, 92, 246, 0.14); }
.help-legal-icon--payment { color: #6ee7b7; background: rgba(16, 185, 129, 0.14); }
.help-legal-icon--refund { color: #fcd34d; background: rgba(251, 191, 36, 0.14); }
.help-legal-icon--cookie { color: #fdba74; background: rgba(249, 115, 22, 0.14); }
.help-legal-icon--kyc { color: #f9a8d4; background: rgba(236, 72, 153, 0.14); }
.help-legal-icon--doc { color: #94a3b8; background: rgba(148, 163, 184, 0.14); }

.help-legal-content {
    font-size: 13px;
    color: #c4c4d4;
    line-height: 1.65;
}

.help-legal-content p {
    margin: 0 0 12px;
}

.help-legal-updated {
    margin: 16px 0 0;
    font-size: 11px;
    color: #6b7280;
}

.help-legal-footnote {
    margin: 16px 0 0;
    font-size: 12px;
    color: #9494a3;
    text-align: center;
    line-height: 1.5;
}

.help-feedback-lead {
    margin: 0 0 16px;
    font-size: 13px;
    color: #9494a3;
    line-height: 1.5;
}

.help-feedback-section-title {
    margin: 0 0 12px;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
}

.help-feedback-community,
.help-feedback-pending {
    margin-bottom: 22px;
}

.help-feedback-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.help-feedback-card {
    padding: 14px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.help-feedback-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.help-feedback-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3461ff, #5b8cff);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.help-feedback-card-head strong {
    display: block;
    font-size: 13px;
    margin-bottom: 2px;
}

.help-feedback-card p {
    margin: 0;
    font-size: 13px;
    color: #c4c4d4;
    line-height: 1.55;
}

.help-feedback-stars-row {
    display: flex;
    gap: 2px;
    color: #fbbf24;
}

.help-feedback-pending-item {
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(251, 191, 36, 0.08);
    border: 1px solid rgba(251, 191, 36, 0.18);
    margin-bottom: 8px;
}

.help-feedback-pending-item p {
    margin: 8px 0;
    font-size: 13px;
    color: #d1d5db;
    line-height: 1.5;
}

.help-feedback-status {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fbbf24;
    background: rgba(251, 191, 36, 0.12);
    border-radius: 999px;
    padding: 3px 8px;
}

.help-feedback {
    padding-top: 4px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.help-feedback-pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.help-feedback-page-btn {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: inherit;
    transition: background 0.15s, border-color 0.15s;
}

.help-feedback-page-btn svg { width: 16px; height: 16px; }

.help-feedback-page-btn:hover:not(:disabled) {
    background: rgba(52, 97, 255, 0.15);
    border-color: rgba(96, 165, 250, 0.35);
}

.help-feedback-page-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.help-feedback-page-info {
    font-size: 12px;
    font-weight: 600;
    color: #9494a3;
    min-width: 100px;
    text-align: center;
}

.help-label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: #9494a3;
    margin-bottom: 8px;
}

.help-stars {
    display: flex;
    gap: 6px;
    margin-bottom: 16px;
}

.help-star {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    color: #4b5563;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.help-star svg { width: 18px; height: 18px; }
.help-star.active { color: #fbbf24; background: rgba(251, 191, 36, 0.12); }

.help-textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    resize: vertical;
    min-height: 120px;
    margin-bottom: 14px;
}

.help-textarea:focus {
    outline: none;
    border-color: rgba(52, 97, 255, 0.5);
}

.help-submit-btn {
    width: 100%;
    padding: 13px;
    border: none;
    border-radius: 12px;
    background: #3461ff;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
}

.help-form-msg {
    margin: 12px 0 0;
    font-size: 13px;
    text-align: center;
}

.help-form-msg.is-success { color: #22c55e; }
.help-form-msg.is-error { color: #f87171; }

.help-legal h3 {
    margin: 0 0 12px;
    font-size: 16px;
}

.help-legal p {
    margin: 0 0 12px;
    font-size: 13px;
    color: #9494a3;
    line-height: 1.6;
}

.help-chat {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    height: min(340px, 52vh);
    background: #1f2035;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
    display: flex;
    flex-direction: column;
    z-index: 20;
    overflow: hidden;
}

.help-chat[hidden] { display: none !important; }

.help-chat-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(52, 97, 255, 0.12);
}

.help-chat-head strong { font-size: 14px; }

.help-chat-close {
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}

.help-chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.help-chat-msg p {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
    padding: 10px 12px;
    border-radius: 12px;
}

.help-chat-msg--bot p {
    background: rgba(255, 255, 255, 0.06);
    color: #e5e7eb;
    border-bottom-left-radius: 4px;
}

.help-chat-msg--user {
    align-self: flex-end;
    max-width: 85%;
}

.help-chat-msg--user p {
    background: #3461ff;
    color: #fff;
    border-bottom-right-radius: 4px;
}

.help-chat-form {
    display: flex;
    gap: 8px;
    padding: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.help-chat-input {
    flex: 1;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
    padding: 10px 12px;
    font-family: inherit;
    font-size: 13px;
}

.help-chat-input:focus { outline: none; border-color: rgba(52, 97, 255, 0.5); }

.help-chat-send {
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 10px;
    background: #3461ff;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.help-chat-send svg { width: 18px; height: 18px; }

/* ── Partner / Invite slideout ── */
.dash-slide-panel.is-invite-mode {
    width: min(400px, 92vw);
    background: #121520;
}

.dash-slide-panel.is-invite-mode .dash-slide-header { display: none; }

.dash-slide-panel.is-invite-mode .dash-slide-body {
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overscroll-behavior: contain;
}

.dash-slide-panel.is-invite-mode .dash-panel-preloader-layer {
    border-radius: 0;
}

.invite-slide {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    width: 100%;
    background: linear-gradient(180deg, #1a1d2e 0%, #121520 45%, #0d0f18 100%);
    color: #fff;
    position: relative;
    overflow: hidden;
}

.invite-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}

.invite-topbar-title { margin: 0; font-size: 16px; font-weight: 700; }
.invite-topbar-btn {
    width: 36px; height: 36px; border: none; border-radius: 10px;
    background: rgba(255, 255, 255, 0.04); color: #fff;
    display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.invite-topbar-btn svg { width: 20px; height: 20px; }
.invite-topbar-spacer { width: 36px; }

.invite-tabs {
    display: flex; gap: 0; padding: 0 6px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0; overflow-x: auto; scrollbar-width: none;
}
.invite-tabs::-webkit-scrollbar { display: none; }

.invite-tab {
    flex: 1; min-width: max-content; border: none; background: transparent;
    color: rgba(255, 255, 255, 0.55); font-family: inherit; font-size: 12px;
    font-weight: 600; padding: 12px 10px; cursor: pointer;
    border-top: 2px solid transparent; white-space: nowrap;
}
.invite-tab.active {
    color: #fff;
    background: rgba(0, 0, 0, 0.22);
    border-top-color: #3478f6;
}

.invite-panes {
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 20px 16px 24px;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(58, 66, 88, 0.95) rgba(18, 21, 32, 0.5);
}

.invite-pane { display: none; }
.invite-pane.active { display: block; }

.dash-slide-panel.is-invite-mode .invite-panes::-webkit-scrollbar {
    width: 6px;
}

.dash-slide-panel.is-invite-mode .invite-panes::-webkit-scrollbar-track {
    margin: 4px 0;
    background: rgba(18, 21, 32, 0.5);
    border-radius: 99px;
}

.dash-slide-panel.is-invite-mode .invite-panes::-webkit-scrollbar-thumb {
    background: rgba(58, 66, 88, 0.95);
    border-radius: 99px;
    border: 1px solid rgba(18, 21, 32, 0.35);
}

.dash-slide-panel.is-invite-mode .invite-panes::-webkit-scrollbar-thumb:hover {
    background: rgba(72, 82, 108, 0.98);
}

.dash-slide-panel.is-invite-mode .invite-panes::-webkit-scrollbar-thumb:active {
    background: rgba(52, 120, 246, 0.85);
}

.dash-slide-panel.is-invite-mode .invite-panes::-webkit-scrollbar-corner {
    background: transparent;
}

.invite-headline {
    margin: 0 0 20px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    letter-spacing: -0.02em;
}

.invite-share-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 24px;
}

.invite-share-row { padding: 14px 14px 12px; }
.invite-share-row + .invite-share-row {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 12px;
}

.invite-share-label {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 8px;
}

.invite-share-main {
    display: flex;
    align-items: center;
    gap: 8px;
}

.invite-link {
    flex: 1;
    min-width: 0;
    color: #3478f6;
    font-size: 13px;
    text-decoration: none;
    word-break: break-all;
}

.invite-code {
    flex: 1;
    font-size: 20px;
    letter-spacing: 0.04em;
}

.invite-code-help {
    width: 18px; height: 18px; border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.6);
    font-size: 11px; display: inline-flex; align-items: center; justify-content: center;
}

.invite-icon-btn,
.invite-action-btn {
    width: 36px; height: 36px; border: none; border-radius: 8px;
    background: #3478f6; color: #fff; display: flex; align-items: center;
    justify-content: center; cursor: pointer; flex-shrink: 0;
}
.invite-icon-btn { background: transparent; color: rgba(255, 255, 255, 0.7); }
.invite-icon-btn.is-active { color: #3478f6; }
.invite-action-btn.is-copied { background: #22c55e; }
.invite-icon-btn svg, .invite-action-btn svg { width: 18px; height: 18px; }

.invite-qr-pop {
    padding: 0 14px 14px;
    text-align: center;
}
.invite-qr-pop p { margin: 8px 0 0; font-size: 12px; color: rgba(255, 255, 255, 0.55); }

.invite-steps-block h4 {
    margin: 0 0 16px;
    font-size: 15px;
    font-weight: 700;
    text-align: center;
}

.invite-steps {
    list-style: none;
    margin: 0;
    padding: 0 0 0 8px;
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
}

.invite-step {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 0 0 22px 0;
    position: relative;
}

.invite-step:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 15px;
    top: 32px;
    bottom: 0;
    border-left: 2px dashed rgba(255, 255, 255, 0.12);
}

.invite-step-num {
    width: 32px; height: 32px; border-radius: 50%;
    background: rgba(52, 120, 246, 0.15);
    border: 1px solid rgba(52, 120, 246, 0.35);
    color: #3478f6; font-weight: 700; font-size: 13px;
    display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}

.invite-step-text {
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.82);
    padding-top: 6px;
}

.invite-footer-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin-top: 8px;
}

.invite-primary-btn {
    width: 100%;
    border: none;
    border-radius: 10px;
    background: #3478f6;
    color: #fff;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    padding: 14px 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.invite-primary-btn svg { width: 18px; height: 18px; }

.invite-text-link {
    border: none;
    background: none;
    color: #3478f6;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
}

.invite-profit-hero {
    text-align: center;
    margin-bottom: 20px;
    padding: 18px;
    border-radius: 12px;
    background: rgba(52, 120, 246, 0.1);
    border: 1px solid rgba(52, 120, 246, 0.2);
}

.invite-profit-label { display: block; font-size: 12px; color: rgba(255,255,255,0.55); }
.invite-profit-total { display: block; font-size: 34px; font-weight: 800; margin: 6px 0; }
.invite-profit-sub { font-size: 13px; color: rgba(255,255,255,0.65); }

.invite-stat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 16px;
}

.invite-stat-card {
    background: rgba(255,255,255,0.04);
    border-radius: 10px;
    padding: 12px;
    border: 1px solid rgba(255,255,255,0.06);
}
.invite-stat-card span { display: block; font-size: 11px; color: rgba(255,255,255,0.5); margin-bottom: 4px; }
.invite-stat-card strong { font-size: 18px; }
.invite-stat-card small { display: block; font-size: 11px; color: rgba(255,255,255,0.5); margin-top: 4px; }
.invite-stat-card--wide { grid-column: 1 / -1; }

.invite-progress-card {
    background: rgba(255,255,255,0.04);
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 18px;
    border: 1px solid rgba(255,255,255,0.06);
}
.invite-progress-head {
    display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 8px;
}
.invite-progress-bar {
    height: 6px; background: rgba(255,255,255,0.08); border-radius: 99px; overflow: hidden;
}
.invite-progress-bar span {
    display: block; height: 100%; background: #3478f6; border-radius: 99px;
}
.invite-progress-card p { margin: 10px 0 0; font-size: 12px; color: rgba(255,255,255,0.55); }

.invite-section { margin-bottom: 18px; }
.invite-section h4 { margin: 0 0 10px; font-size: 14px; }
.invite-empty { font-size: 13px; color: rgba(255,255,255,0.5); }

.invite-commission-list,
.invite-referral-list {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 8px;
}

.invite-commission-list li,
.invite-referral-list li {
    display: flex; justify-content: space-between; gap: 10px;
    padding: 10px 12px; border-radius: 8px;
    background: rgba(255,255,255,0.03); font-size: 12px;
}
.invite-commission-list strong { display: block; color: #22c55e; }
.invite-commission-list span { color: rgba(255,255,255,0.55); }
.invite-commission-list time { color: rgba(255,255,255,0.45); white-space: nowrap; }
.invite-referral-list strong { font-size: 13px; }
.invite-referral-list span { color: rgba(255,255,255,0.45); }

.invite-info-text { font-size: 12px; line-height: 1.55; color: rgba(255,255,255,0.5); }

.invite-plan-lead { font-size: 13px; color: rgba(255,255,255,0.6); margin: 0 0 16px; }

.invite-plan-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }

.invite-plan-card {
    position: relative;
    padding: 16px;
    border-radius: 12px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.06);
}
.invite-plan-card.is-current { border-color: rgba(52,120,246,0.5); background: rgba(52,120,246,0.08); }
.invite-plan-card.is-elite { border-color: rgba(234,179,8,0.35); }

.invite-plan-badge {
    position: absolute; top: 12px; right: 12px;
    font-size: 10px; font-weight: 700; text-transform: uppercase;
    padding: 3px 8px; border-radius: 99px;
    background: #3478f6; color: #fff;
}
.invite-plan-badge--locked { background: rgba(255,255,255,0.1); color: rgba(255,255,255,0.5); }

.invite-plan-card h4 { margin: 0 0 6px; font-size: 16px; }
.invite-plan-rate { font-size: 28px; font-weight: 800; color: #3478f6; margin-bottom: 6px; }
.invite-plan-card p { margin: 0 0 8px; font-size: 12px; color: rgba(255,255,255,0.6); line-height: 1.45; }
.invite-plan-req { font-size: 11px; color: rgba(255,255,255,0.45); }

.invite-bonus-note {
    font-size: 12px; line-height: 1.5; color: rgba(255,255,255,0.6);
    padding: 12px; border-radius: 10px; background: rgba(255,255,255,0.03);
}

.invite-how-card {
    padding: 14px; border-radius: 10px; margin-bottom: 10px;
    background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.06);
}
.invite-how-card h4 { margin: 0 0 8px; font-size: 14px; }
.invite-how-card p { margin: 0; font-size: 13px; line-height: 1.5; color: rgba(255,255,255,0.65); }

.invite-steps-block--compact { margin: 20px 0; }

/* ── Battles slideout ── */
.dash-slide-panel.is-battles-mode {
    width: min(420px, 94vw);
    background: #1a1d26;
}

.dash-slide-panel.is-battles-mode .dash-slide-header { display: none; }

.dash-slide-panel.is-battles-mode .dash-slide-body {
    padding: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.dash-slide-panel.is-battles-mode .dash-panel-preloader-layer { border-radius: 0; }

.battles-slide {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    background: linear-gradient(180deg, #22243a 0%, #181926 38%, #12121e 100%);
    color: #fff;
}

.battles-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}

.battles-topbar-btn {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
}

.battles-topbar-btn svg { width: 18px; height: 18px; }

.battles-topbar-title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
}

.battles-topbar-spacer { width: 36px; }

.battles-topbar-btn--tips svg { width: 18px; height: 18px; opacity: 0.82; }

.battles-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    padding: 10px 12px;
    flex-shrink: 0;
}

.battles-tab {
    border: none;
    border-radius: 10px;
    padding: 10px 8px;
    background: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.62);
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
}

.battles-tab.active {
    color: #fff;
    background: linear-gradient(180deg, rgba(59, 102, 255, 0.28) 0%, rgba(59, 102, 255, 0.12) 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.battles-active-banner {
    margin: 0 12px 8px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(59, 102, 255, 0.12);
    border: 1px solid rgba(91, 156, 255, 0.22);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.battles-active-banner-main {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.72);
}

.battles-active-banner-main strong { color: #fff; font-size: 13px; }

.battles-active-code {
    padding: 4px 8px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.28);
    color: #9ec5ff;
    font-size: 12px;
    letter-spacing: 0.08em;
}

.battles-panes {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 12px 12px;
}

.battles-headline {
    margin: 8px 4px 14px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.92);
}

.battles-cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.battles-card {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.battles-card-media {
    width: 92px;
    height: 92px;
    border-radius: 12px;
    overflow: hidden;
    background: linear-gradient(145deg, rgba(59, 102, 255, 0.18), rgba(20, 24, 40, 0.9));
    display: flex;
    align-items: center;
    justify-content: center;
}

.battles-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.battles-card-emoji {
    font-size: 42px;
    line-height: 1;
}

.battles-card-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

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

.battles-card-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}

.battles-card-badge {
    padding: 2px 7px;
    border-radius: 999px;
    background: rgba(59, 102, 255, 0.18);
    color: #8eb6ff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.battles-card-subtitle {
    margin: 0;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.58);
}

.battles-card-meta {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.battles-card-meta li {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.72);
}

.battles-card-meta svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    opacity: 0.75;
}

.battles-card-join {
    margin-top: auto;
    width: 100%;
    border: none;
    border-radius: 10px;
    padding: 10px 12px;
    background: #3b82f6;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
}

.battles-card-join:disabled {
    opacity: 0.55;
    cursor: wait;
}

.battles-card-join:hover:not(:disabled) { background: #4a8ef7; }

.battles-history-list { display: flex; flex-direction: column; gap: 8px; }

.battles-history-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.battles-history-row.is-win {
    border-color: rgba(34, 197, 94, 0.22);
    background: rgba(34, 197, 94, 0.08);
}

.battles-history-main {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.58);
}

.battles-history-main strong { color: #fff; font-size: 13px; }

.battles-history-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.battles-history-pnl { font-size: 13px; font-weight: 700; }
.battles-history-pnl.is-up { color: #34d399; }
.battles-history-pnl.is-down { color: #f87171; }

.battles-history-rank,
.battles-history-badge {
    font-size: 10px;
    font-weight: 700;
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
}

.battles-history-badge { background: rgba(34, 197, 94, 0.16); color: #86efac; }

.battles-empty {
    margin: 24px 8px;
    text-align: center;
    color: rgba(255, 255, 255, 0.48);
    font-size: 13px;
}

.battles-footer {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 12px 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    background: rgba(10, 12, 20, 0.88);
    flex-shrink: 0;
}

.battles-footer-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.battles-footer-link {
    border: none;
    background: none;
    padding: 4px 8px 0;
    color: #3b82f6;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    text-align: center;
    cursor: pointer;
}

.battles-footer-link:hover { color: #60a5fa; }

.battles-footer-btn {
    border: none;
    border-radius: 12px;
    padding: 14px 12px;
    font-size: 15px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
}

.battles-footer-btn--ghost {
    background: rgba(255, 255, 255, 0.06);
    color: #fff;
}

.battles-footer-btn--primary {
    background: #3b82f6;
    color: #fff;
}

.battles-toast {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 120px;
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(20, 24, 36, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #fff;
    font-size: 12px;
    text-align: center;
    z-index: 5;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.battles-toast.is-error { border-color: rgba(248, 113, 113, 0.35); color: #fecaca; }
.battles-toast.is-success { border-color: rgba(52, 211, 153, 0.35); color: #bbf7d0; }

.battles-main {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.battles-slide.is-tips-open .battles-main { display: none; }

.battles-tips {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    background: linear-gradient(180deg, #1f2234 0%, #171926 45%, #12121e 100%);
}

.battles-tips[hidden] { display: none !important; }

.battles-tips-header {
    display: grid;
    grid-template-columns: 36px 1fr 36px;
    align-items: center;
    padding: 14px 16px 10px;
    flex-shrink: 0;
}

.battles-tips-title {
    margin: 0;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
}

.battles-tips-subtitle {
    margin: 0 24px 18px;
    text-align: center;
    font-size: 13px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.58);
}

.battles-tips-list {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 16px;
}

.battles-tips-row {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 18px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.battles-tips-row:last-child { border-bottom: none; }

.battles-tips-visual {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
}

.battles-tips-chevron {
    color: rgba(255, 255, 255, 0.18);
    font-size: 18px;
    line-height: 1;
    user-select: none;
}

.battles-tips-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
}

.battles-tips-icon svg {
    width: 64px;
    height: 64px;
}

.battles-tips-copy h3 {
    margin: 0 0 6px;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
}

.battles-tips-copy p {
    margin: 0;
    font-size: 12px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.58);
}

.battles-tips-footer {
    flex-shrink: 0;
    padding: 18px 16px 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    background: rgba(8, 10, 16, 0.55);
    text-align: center;
}

.battles-tips-privacy {
    border: none;
    background: none;
    padding: 0;
    color: #3b82f6;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
}

.battles-tips-privacy:hover { color: #60a5fa; }

/* ── Start Tips (right tools rail) ── */
.tips-panel .tips-main {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background:
        radial-gradient(ellipse 120% 80% at 50% -20%, rgba(77, 141, 255, 0.14) 0%, transparent 55%),
        #12121e;
}

.tips-panel.is-detail-open .tips-main {
    display: none;
}

.tips-intro {
    padding: 18px 18px 14px;
    flex-shrink: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.tips-intro__badge {
    display: inline-flex;
    align-items: center;
    margin-bottom: 10px;
    padding: 3px 9px;
    border-radius: 999px;
    background: rgba(77, 141, 255, 0.12);
    border: 1px solid rgba(77, 141, 255, 0.22);
    color: #9ec5ff;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.tips-intro__title {
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.28;
    color: #fff;
    letter-spacing: -0.025em;
}

.tips-intro__subtitle {
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.5);
    max-width: 30ch;
}

.tips-list {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 12px 14px 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tips-list::-webkit-scrollbar {
    width: 4px;
}

.tips-list::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.tips-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 12px;
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 12px 12px 12px 11px;
    background: rgba(255, 255, 255, 0.025);
    color: #fff;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.18s, background 0.18s, box-shadow 0.18s;
    font-family: inherit;
}

.tips-item:hover {
    border-color: rgba(77, 141, 255, 0.28);
    background: rgba(255, 255, 255, 0.04);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.tips-item:active {
    transform: scale(0.995);
}

.tips-item--video:hover {
    border-color: rgba(52, 211, 153, 0.3);
}

.tips-item__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: rgba(77, 141, 255, 0.1);
    border: 1px solid rgba(77, 141, 255, 0.16);
    color: #8eb4ff;
    flex-shrink: 0;
}

.tips-item--video .tips-item__icon {
    background: rgba(52, 211, 153, 0.1);
    border-color: rgba(52, 211, 153, 0.18);
    color: #6ee7b7;
}

.start-tips-icon svg {
    width: 22px;
    height: 22px;
    display: block;
}

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

.tips-item__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.tips-item__badge {
    font-size: 10px;
    font-weight: 600;
    line-height: 1.2;
    color: #9ec5ff;
    letter-spacing: 0.02em;
}

.tips-item--video .tips-item__badge {
    color: #6ee7b7;
}

.tips-item__category {
    font-size: 10px;
    line-height: 1.2;
    color: rgba(255, 255, 255, 0.32);
}

.tips-item__category::before {
    content: "·";
    margin-right: 8px;
    color: rgba(255, 255, 255, 0.2);
}

.tips-item__title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    color: #fff;
    letter-spacing: -0.01em;
}

.tips-item__desc {
    font-size: 11px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.46);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tips-item__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.28);
    transition: color 0.15s, transform 0.15s;
}

.tips-item:hover .tips-item__arrow {
    color: rgba(255, 255, 255, 0.72);
    transform: translateX(2px);
}

.tips-foot {
    flex-shrink: 0;
    padding: 10px 18px 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.tips-foot p {
    margin: 0;
    font-size: 11px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.34);
    text-align: center;
}

.tips-detail {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #12121e;
}

.tips-detail[hidden] {
    display: none !important;
}

.tips-detail__head {
    display: grid;
    grid-template-columns: 36px 1fr 36px;
    align-items: center;
    padding: 14px 14px 10px;
    flex-shrink: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.tips-detail__back {
    width: 32px;
    height: 32px;
    border: none;
    background: rgba(255, 255, 255, 0.04);
    color: #8e8e9e;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 8px;
    padding: 0;
}

.tips-detail__back:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

.tips-detail__title {
    margin: 0;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    letter-spacing: -0.01em;
}

.tips-detail__spacer {
    width: 36px;
}

.tips-detail__body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 16px 18px 22px;
}

.tips-detail__text {
    font-size: 13px;
    line-height: 1.65;
    color: rgba(255, 255, 255, 0.72);
}

.tips-detail__video {
    margin-bottom: 14px;
    border-radius: 10px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: #0a0c12;
}

.tips-detail__video iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* ── Education slide (redesign) ── */
.edu-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    background: #0f1118;
    color: #fff;
    font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    -webkit-font-smoothing: antialiased;
    overflow: hidden;
}

.edu-panel__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 0;
}

.edu-panel__orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    opacity: 0.55;
}

.edu-panel__orb--1 {
    width: 220px;
    height: 220px;
    top: -40px;
    right: -60px;
    background: rgba(59, 130, 246, 0.35);
}

.edu-panel__orb--2 {
    width: 180px;
    height: 180px;
    bottom: 12%;
    left: -50px;
    background: rgba(16, 185, 129, 0.18);
}

.edu-panel > *:not(.edu-panel__bg) {
    position: relative;
    z-index: 1;
}

.edu-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px 10px;
    flex-shrink: 0;
}

.edu-header__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.88);
    cursor: pointer;
    border-radius: 10px;
    padding: 0;
    transition: background 0.18s, border-color 0.18s;
}

.edu-header__btn:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.14);
}

.edu-header__title {
    margin: 0;
    flex: 1;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: #fff;
}

.edu-header__badge {
    flex-shrink: 0;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(77, 141, 255, 0.12);
    border: 1px solid rgba(77, 141, 255, 0.22);
    color: #9ec5ff;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.edu-main {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0 0 20px;
}

.edu-main,
.edu-lesson-view__scroll,
.edu-lessons,
.edu-recommended-all {
    scrollbar-width: thin;
    scrollbar-color: rgba(58, 66, 88, 0.95) rgba(15, 17, 24, 0.45);
}

.edu-main::-webkit-scrollbar,
.edu-lesson-view__scroll::-webkit-scrollbar,
.edu-lessons::-webkit-scrollbar,
.edu-recommended-all::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.edu-main::-webkit-scrollbar-track,
.edu-lesson-view__scroll::-webkit-scrollbar-track,
.edu-lessons::-webkit-scrollbar-track,
.edu-recommended-all::-webkit-scrollbar-track {
    background: rgba(15, 17, 24, 0.55);
    border-radius: 999px;
}

.edu-main::-webkit-scrollbar-thumb,
.edu-lesson-view__scroll::-webkit-scrollbar-thumb,
.edu-lessons::-webkit-scrollbar-thumb,
.edu-recommended-all::-webkit-scrollbar-thumb {
    background: rgba(58, 66, 88, 0.95);
    border-radius: 999px;
    border: 1px solid rgba(15, 17, 24, 0.65);
}

.edu-main::-webkit-scrollbar-thumb:hover,
.edu-lesson-view__scroll::-webkit-scrollbar-thumb:hover,
.edu-lessons::-webkit-scrollbar-thumb:hover,
.edu-recommended-all::-webkit-scrollbar-thumb:hover {
    background: rgba(78, 88, 112, 0.98);
}

.edu-main::-webkit-scrollbar-thumb:active,
.edu-lesson-view__scroll::-webkit-scrollbar-thumb:active,
.edu-lessons::-webkit-scrollbar-thumb:active,
.edu-recommended-all::-webkit-scrollbar-thumb:active {
    background: rgba(96, 108, 138, 1);
}

.edu-main::-webkit-scrollbar-corner,
.edu-lesson-view__scroll::-webkit-scrollbar-corner,
.edu-lessons::-webkit-scrollbar-corner,
.edu-recommended-all::-webkit-scrollbar-corner {
    background: #0f1118;
}

.edu-panel.is-category-open .edu-main,
.edu-panel.is-lesson-open .edu-main,
.edu-panel.is-recommended-open .edu-main,
.edu-panel.is-category-open .edu-header,
.edu-panel.is-lesson-open .edu-header,
.edu-panel.is-recommended-open .edu-header {
    display: none;
}

.edu-intro {
    margin: 0 16px 18px;
    padding: 14px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
    border: 1px solid rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(12px);
}

.edu-intro__eyebrow {
    display: block;
    margin-bottom: 6px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #7dd3fc;
}

.edu-intro__text {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.58);
}

.edu-section-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    padding: 0 16px;
    margin-bottom: 10px;
}

.edu-section-head__title {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.92);
    letter-spacing: -0.01em;
}

.edu-section-head__hint {
    font-size: 10px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.32);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.edu-section-head__link {
    border: none;
    background: none;
    padding: 0;
    font-size: 11px;
    font-weight: 600;
    color: #7eb8ff;
    cursor: pointer;
    font-family: inherit;
    letter-spacing: 0.01em;
}

.edu-section-head__link:hover {
    color: #a5d0ff;
    text-decoration: underline;
}

.edu-recommended {
    margin-bottom: 22px;
    flex-shrink: 0;
}

.edu-recommended__wrap {
    position: relative;
    margin: 0 0 0 16px;
}

.edu-recommended__wrap::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 28px;
    height: 100%;
    background: linear-gradient(90deg, transparent, #0f1118);
    pointer-events: none;
}

.edu-recommended__track {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 2px 16px 6px 0;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.edu-recommended__track::-webkit-scrollbar {
    display: none;
}

.edu-rec-card {
    flex: 0 0 116px;
    width: 116px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 14px;
    padding: 0;
    background: rgba(255, 255, 255, 0.03);
    overflow: hidden;
    cursor: pointer;
    text-align: left;
    scroll-snap-align: start;
    transition: transform 0.2s ease, border-color 0.2s, box-shadow 0.2s;
    font-family: inherit;
    color: #fff;
}

.edu-rec-card.is-active {
    border-color: rgba(77, 141, 255, 0.65);
    box-shadow: 0 0 0 1px rgba(77, 141, 255, 0.25), 0 12px 28px rgba(37, 99, 235, 0.2);
}

.edu-rec-card:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.16);
}

.edu-rec-card:active {
    transform: scale(0.98);
}

.edu-rec-card__visual {
    position: relative;
    display: block;
    height: 132px;
    overflow: hidden;
}

.edu-rec-card__visual--0 { background: linear-gradient(145deg, #1e3a5f 0%, #0f172a 100%); }
.edu-rec-card__visual--1 { background: linear-gradient(145deg, #3d3428 0%, #1a1510 100%); }
.edu-rec-card__visual--2 { background: linear-gradient(145deg, #1a3d4a 0%, #0d1f26 100%); }
.edu-rec-card__visual--3 { background: linear-gradient(145deg, #3a2f4a 0%, #1a1424 100%); }
.edu-rec-card__visual--4 { background: linear-gradient(145deg, #1e4d3a 0%, #0f241c 100%); }

.edu-rec-card__img {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.edu-rec-card__visual--has-img {
    background: #0f1118;
}

.edu-rec-card__visual--has-img .edu-rec-card__glow {
    background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.72) 100%);
}

.edu-rec-card__glow {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(180deg, transparent 30%, rgba(0, 0, 0, 0.75) 100%);
    pointer-events: none;
}

.edu-rec-card__play {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 3;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.25);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(6px);
}

.edu-rec-card__play svg {
    width: 11px;
    height: 11px;
    margin-left: 2px;
}

.edu-rec-card__title {
    display: block;
    padding: 10px 10px 12px;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.95);
    letter-spacing: -0.01em;
}

.edu-categories__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 16px;
}

.edu-cat-card {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto 28px;
    align-items: center;
    gap: 4px;
    width: 100%;
    min-height: 84px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 14px;
    padding: 14px 8px 14px 16px;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.02) 100%);
    color: #fff;
    text-align: left;
    cursor: pointer;
    overflow: hidden;
    transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
    font-family: inherit;
}

.edu-cat-card::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.2s;
    background: linear-gradient(120deg, rgba(59, 130, 246, 0.08) 0%, transparent 55%);
    pointer-events: none;
}

.edu-cat-card:hover {
    border-color: rgba(77, 141, 255, 0.35);
    transform: translateY(-1px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.edu-cat-card:hover::before {
    opacity: 1;
}

.edu-cat-card--growth:hover { border-color: rgba(52, 211, 153, 0.35); }
.edu-cat-card--growth::before { background: linear-gradient(120deg, rgba(52, 211, 153, 0.08) 0%, transparent 55%); }

.edu-cat-card__body {
    min-width: 0;
    z-index: 1;
}

.edu-cat-card__top {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 4px;
}

.edu-cat-card__title {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

.edu-cat-card__count {
    font-size: 10px;
    font-weight: 600;
    color: #7dd3fc;
    letter-spacing: 0.02em;
}

.edu-cat-card--growth .edu-cat-card__count { color: #6ee7b7; }

.edu-cat-card__desc {
    display: block;
    font-size: 11px;
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.42);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.edu-cat-card__visual {
    position: relative;
    width: 64px;
    height: 64px;
    flex-shrink: 0;
    z-index: 1;
}

.edu-cat-card__icon-ring {
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(59, 130, 246, 0.25) 0%, transparent 70%);
}

.edu-cat-card--growth .edu-cat-card__icon-ring {
    background: radial-gradient(circle, rgba(52, 211, 153, 0.22) 0%, transparent 70%);
}

.edu-cat-card__icon-img {
    position: relative;
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.edu-icon {
    position: relative;
    display: block;
    width: 64px;
    height: 64px;
    filter: drop-shadow(0 6px 14px rgba(37, 99, 235, 0.4));
}

.edu-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.edu-cat-card__chevron {
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.28);
    z-index: 1;
    transition: color 0.15s, transform 0.15s;
}

.edu-cat-card:hover .edu-cat-card__chevron {
    color: rgba(255, 255, 255, 0.7);
    transform: translateX(2px);
}

.edu-subheader {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px 10px;
    flex-shrink: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.edu-subheader__back {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.85);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 10px;
    padding: 0;
    flex-shrink: 0;
    transition: background 0.15s;
}

.edu-subheader__back:hover {
    background: rgba(255, 255, 255, 0.08);
}

.edu-subheader__title {
    margin: 0;
    flex: 1;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.02em;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.edu-category-view,
.edu-lesson-view {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: transparent;
}

.edu-category-view[hidden],
.edu-lesson-view[hidden] {
    display: none !important;
}

.edu-recommended-view {
    display: none;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    overflow: hidden;
}

.edu-panel.is-recommended-open .edu-recommended-view {
    display: flex;
}

.edu-recommended-all {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 0 16px 20px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

.edu-rec-all-card {
    flex: none;
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 14px;
    padding: 0;
    background: rgba(255, 255, 255, 0.03);
    overflow: hidden;
    cursor: pointer;
    text-align: left;
    font-family: inherit;
    color: #fff;
    transition: transform 0.2s ease, border-color 0.2s, box-shadow 0.2s;
}

.edu-rec-all-card:hover {
    transform: translateY(-2px);
    border-color: rgba(255, 255, 255, 0.16);
}

.edu-rec-all-card.is-active {
    border-color: rgba(77, 141, 255, 0.65);
    box-shadow: 0 0 0 1px rgba(77, 141, 255, 0.25);
}

.edu-rec-all-card .edu-rec-card__visual {
    height: 118px;
}

.edu-lesson-view__cover {
    margin: 0 0 14px;
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.edu-lesson-view__cover[hidden] {
    display: none;
}

.edu-lesson-view__cover img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 200px;
    object-fit: cover;
}

.edu-panel.is-category-open .edu-category-view {
    display: flex;
}

.edu-panel.is-lesson-open .edu-lesson-view {
    display: flex;
}

.edu-category-hero {
    flex-shrink: 0;
    margin: 12px 16px 14px;
    padding: 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.12) 0%, rgba(255, 255, 255, 0.03) 100%);
    border: 1px solid rgba(77, 141, 255, 0.18);
    text-align: center;
}

.edu-category-hero__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    min-height: 56px;
}

.edu-category-hero__icon .edu-icon {
    margin: 0 auto;
    width: 56px;
    height: 56px;
}

.edu-category-hero__icon img {
    width: 56px;
    height: 56px;
    object-fit: contain;
}

.edu-category-hero__letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(59, 130, 246, 0.35) 0%, rgba(37, 99, 235, 0.2) 100%);
    border: 1px solid rgba(125, 211, 252, 0.3);
    font-size: 22px;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
}

.edu-category-hero__desc {
    margin: 0 0 8px;
    font-size: 12px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.55);
}

.edu-category-hero__meta {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.2);
    font-size: 10px;
    font-weight: 600;
    color: #9ec5ff;
    letter-spacing: 0.03em;
}

.edu-lessons {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 0 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.edu-lesson {
    display: grid;
    grid-template-columns: 32px 1fr auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 12px 12px 12px 10px;
    background: rgba(255, 255, 255, 0.03);
    color: #fff;
    text-align: left;
    cursor: pointer;
    font-family: inherit;
    transition: border-color 0.18s, background 0.18s, transform 0.15s;
}

.edu-lesson:hover {
    border-color: rgba(77, 141, 255, 0.32);
    background: rgba(255, 255, 255, 0.05);
    transform: translateX(2px);
}

.edu-lesson__index {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: rgba(77, 141, 255, 0.12);
    border: 1px solid rgba(77, 141, 255, 0.2);
    font-size: 12px;
    font-weight: 700;
    color: #9ec5ff;
    flex-shrink: 0;
}

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

.edu-lesson__title {
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.01em;
}

.edu-lesson__subtitle {
    font-size: 11px;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.44);
}

.edu-lesson__badge {
    flex-shrink: 0;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.edu-lesson__badge--video {
    background: rgba(77, 141, 255, 0.15);
    color: #9ec5ff;
    border: 1px solid rgba(77, 141, 255, 0.25);
}

.edu-lesson__badge--article {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.edu-lesson-view__scroll {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 16px 16px 24px;
}

.edu-lesson-view__card {
    padding: 18px 18px 20px;
    border-radius: 14px;
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-left: 3px solid #4d8dff;
}

.edu-lesson-view__subtitle {
    margin: 0 0 16px;
    font-size: 12.5px;
    line-height: 1.5;
    font-weight: 500;
    color: #9ec5ff;
}

.edu-lesson-view__subtitle[hidden] {
    display: none;
}

.edu-lesson-view__prose {
    font-size: 13.5px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.82);
}

.edu-lesson-view__prose--html h1,
.edu-lesson-view__prose--html h2,
.edu-lesson-view__prose--html h3 {
    margin: 1.2em 0 0.6em;
    font-weight: 600;
    color: #fff;
    line-height: 1.35;
}

.edu-lesson-view__prose--html h1 { font-size: 1.35rem; }
.edu-lesson-view__prose--html h2 { font-size: 1.15rem; }
.edu-lesson-view__prose--html h3 { font-size: 1rem; }

.edu-lesson-view__prose--html p {
    margin: 0 0 1em;
}

.edu-lesson-view__prose--html img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 1em auto;
    border-radius: 12px;
}

.edu-lesson-view__prose--html ul,
.edu-lesson-view__prose--html ol {
    margin: 0 0 1em;
    padding-left: 1.4em;
}

.edu-lesson-view__prose--html li {
    margin-bottom: 0.45em;
}

.edu-lesson-view__prose--html a {
    color: #7eb8ff;
    text-decoration: underline;
}

.edu-lesson-view__prose--html blockquote {
    margin: 0 0 1em;
    padding: 10px 14px;
    border-left: 3px solid rgba(126, 184, 255, 0.5);
    background: rgba(255, 255, 255, 0.04);
    border-radius: 0 8px 8px 0;
}

.edu-lesson-view__prose[hidden] {
    display: none;
}

.edu-lesson-view__video-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    margin-top: 14px;
    padding: 12px 16px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    box-shadow: 0 8px 24px rgba(37, 99, 235, 0.35);
    transition: transform 0.15s, box-shadow 0.15s;
}

.edu-lesson-view__video-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 28px rgba(37, 99, 235, 0.42);
}

.edu-lesson-view__video-btn[hidden] {
    display: none;
}

.edu-empty {
    padding: 20px 16px;
    text-align: center;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.4);
}

