/* /Components/FloatingChatWidget.razor.rz.scp.css */
.bb-fab[b-lhz4x6f6cq] {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: linear-gradient(135deg, #418fff, #388BFD);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    box-shadow: 0 4px 20px rgba(65,143,255,0.4);
    z-index: 60;
    transition: transform 0.15s;
}

.bb-fab:hover[b-lhz4x6f6cq] {
    transform: scale(1.05);
}

.bb-fab-open[b-lhz4x6f6cq] {
    bottom: 24px;
}

.bb-fab .material-symbols-outlined[b-lhz4x6f6cq] {
    font-size: 28px;
}

.bb-fab-dot[b-lhz4x6f6cq] {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--bb-profit);
    border: 2px solid var(--bb-surface-lo);
}

.bb-chat-widget[b-lhz4x6f6cq] {
    position: fixed;
    bottom: 90px;
    right: 24px;
    width: 380px;
    height: 520px;
    background: var(--bb-surface);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 40px rgba(0,0,0,0.6), 0 0 0 1px rgba(65,143,255,0.15);
    z-index: 59;
    overflow: hidden;
}

.bb-chat-header[b-lhz4x6f6cq] {
    padding: 12px 16px;
    background: var(--bb-surface-hi);
    display: flex;
    align-items: center;
    gap: 8px;
}

.bb-chat-title[b-lhz4x6f6cq] {
    flex-grow: 1;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--bb-blue-dim);
    display: flex;
    align-items: center;
    gap: 6px;
}

.bb-chat-title .material-symbols-outlined[b-lhz4x6f6cq] {
    font-size: 16px;
}

.bb-chat-status[b-lhz4x6f6cq] {
    font-size: 0.68rem;
    color: var(--bb-profit);
}

.bb-chat-actions[b-lhz4x6f6cq] {
    display: flex;
    gap: 4px;
}

.bb-chat-action[b-lhz4x6f6cq] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--bb-text-muted);
    padding: 2px;
}

.bb-chat-action:hover[b-lhz4x6f6cq] {
    color: var(--bb-text);
}

.bb-chat-action .material-symbols-outlined[b-lhz4x6f6cq] {
    font-size: 18px;
}

.bb-chat-messages[b-lhz4x6f6cq] {
    flex-grow: 1;
    overflow-y: auto;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bb-chat-msg[b-lhz4x6f6cq] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-width: 85%;
}

.bb-msg-ai[b-lhz4x6f6cq] {
    align-self: flex-start;
    background: var(--bb-surface-hi);
    border-left: 2px solid var(--bb-blue);
    padding: 8px 10px;
}

.bb-msg-user[b-lhz4x6f6cq] {
    align-self: flex-end;
    background: rgba(65,143,255,0.15);
    padding: 8px 10px;
}

.bb-msg-text[b-lhz4x6f6cq] {
    font-size: 0.8rem;
    color: var(--bb-text);
    line-height: 1.4;
}

.bb-msg-time[b-lhz4x6f6cq] {
    font-size: 0.62rem;
    color: var(--bb-text-muted);
}

.bb-streaming[b-lhz4x6f6cq] {
    color: var(--bb-blue-dim);
    animation: pulse-dot 1.2s ease infinite;
}

.bb-chat-input[b-lhz4x6f6cq] {
    padding: 8px 12px;
    background: var(--bb-surface-hi);
    display: flex;
    gap: 8px;
    align-items: center;
}

.bb-chat-textbox[b-lhz4x6f6cq] {
    flex-grow: 1;
    background: var(--bb-canvas);
    border: 1px solid var(--bb-outline);
    color: var(--bb-text);
    padding: 7px 12px;
    font-size: 0.8rem;
    font-family: var(--bb-sans);
    outline: none;
}

.bb-chat-textbox:focus[b-lhz4x6f6cq] {
    border-color: var(--bb-blue);
}

.bb-chat-textbox[b-lhz4x6f6cq]::placeholder {
    color: var(--bb-text-muted);
}

.bb-chat-send[b-lhz4x6f6cq] {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--bb-blue);
    padding: 4px;
}

.bb-chat-send:hover[b-lhz4x6f6cq] {
    color: var(--bb-blue-dim);
}

.bb-chat-send .material-symbols-outlined[b-lhz4x6f6cq] {
    font-size: 20px;
}
/* /Components/Layout/InfoBar.razor.rz.scp.css */
.bb-infobar[b-xjpsovgqdp] {
    position: fixed;
    top: 0;
    left: 52px;     /* offset past the docked nav */
    z-index: 200;   /* above the sidebar overlay */
    right: 0;
    height: 56px;
    background: var(--bb-surface-lo);
    display: flex;
    align-items: center;
    padding: 0 16px;
    gap: 16px;
    z-index: 50;
}

.bb-infobar-zone1[b-xjpsovgqdp] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.bb-infobar-zone2[b-xjpsovgqdp] {
    flex-grow: 1;
    overflow: hidden;
}

.bb-ai-stream[b-xjpsovgqdp] {
    font-size: 0.72rem;
    font-style: italic;
    color: var(--bb-blue-dim);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.bb-infobar-zone3[b-xjpsovgqdp] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.bb-pnl-block[b-xjpsovgqdp] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.2;
}

.bb-pnl-block .bb-section-label[b-xjpsovgqdp] {
    font-size: 0.6rem;
}

.bb-pnl-block .bb-mono[b-xjpsovgqdp] {
    font-size: 0.88rem;
    font-weight: 700;
}

.bb-infobar-zone4[b-xjpsovgqdp] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    border-left: 1px solid rgba(255,255,255,0.06);
    padding-left: 12px;
}

.bb-vix-block[b-xjpsovgqdp] {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.2;
}

.bb-vix-block .bb-mono[b-xjpsovgqdp] {
    font-size: 0.84rem;
    font-weight: 700;
}

.bb-infobar-clock[b-xjpsovgqdp] {
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--bb-text-dim);
}

.bb-infobar-index[b-xjpsovgqdp] {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--bb-text);
}

.bb-live-dot[b-xjpsovgqdp] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--bb-profit);
    animation: pulse-dot 2s ease infinite;
    flex-shrink: 0;
}

.bb-live-dot.dot-closed[b-xjpsovgqdp] {
    background: var(--bb-text-muted);
    animation: none;
}

.bb-infobar-system[b-xjpsovgqdp] {
    font-size: 0.62rem;
    color: var(--bb-text-muted);
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.bb-shell[b-8phulwkesu] {
    display: block;
}

/* Over mode: sidebar overlays, main content always offset by docked width only */
.bb-main[b-8phulwkesu] {
    margin-left: 52px;              /* docked nav width */
    margin-top: 56px;               /* fixed InfoBar height */
    padding: 24px;
    height: calc(100vh - 56px);
    overflow-y: auto;
    background: var(--bb-canvas);
    box-sizing: border-box;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* ════════════════════════════════════════════════════════════
   NavMenu — scoped styles
   All layout variables are injected by .bb-sidenav in app.css
   ════════════════════════════════════════════════════════════ */

.bb-nav-inner[b-3s6uzpor11] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

/* ── Logo row (matches InfoBar height) ───────────────────── */
.bb-nav-logo[b-3s6uzpor11] {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 56px;
    padding: 0 12px;
    flex-shrink: 0;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.bb-nav-logo-mark[b-3s6uzpor11] {
    width: 28px;
    height: 28px;
    min-width: 28px;
    background: var(--bb-blue);
    color: #fff;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22),
                0 2px 8px rgba(65, 143, 255, 0.35);
}

.bb-nav-logo-text[b-3s6uzpor11] {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--bb-text);
    letter-spacing: -0.02em;
    white-space: nowrap;
    overflow: hidden;
    /* driven by .bb-sidenav CSS variable */
    opacity: var(--nav-logo-opacity, 1);
    max-width: var(--nav-logo-max-w, 140px);
    transition: opacity 0.16s ease 0.06s,
                max-width 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Scrollable link list ─────────────────────────────────── */
.bb-nav-links[b-3s6uzpor11] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px 0;
    display: flex;
    flex-direction: column;
    gap: 1px;
    scrollbar-width: none;
}
.bb-nav-links[b-3s6uzpor11]::-webkit-scrollbar { display: none; }

/* ── Individual nav item ──────────────────────────────────── */
.bb-nav-item[b-3s6uzpor11] {
    display: flex;
    align-items: center;
    gap: var(--nav-item-gap, 0px);
    padding-top: 9px;
    padding-bottom: 9px;
    padding-left: var(--nav-item-pl, 16px);
    padding-right: 0;
    color: var(--bb-text-muted);
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    transition: background 0.12s ease,
                color 0.12s ease,
                padding-left 0.22s cubic-bezier(0.4, 0, 0.2, 1),
                gap 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-user-select: none;
    user-select: none;
}

.bb-nav-item:hover[b-3s6uzpor11] {
    color: var(--bb-text);
    background: rgba(255, 255, 255, 0.04);
}

/* ── Icon ─────────────────────────────────────────────────── */
.bb-nav-icon[b-3s6uzpor11] {
    font-size: 20px;
    min-width: 20px;
    flex-shrink: 0;
    /* Center icon in docked 52px column: (52 - 20) / 2 = 16px pl leaves icon at center */
}

/* ── Label (fades + slides in on expand) ─────────────────── */
.bb-nav-label[b-3s6uzpor11] {
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: var(--nav-label-opacity, 1);
    max-width: var(--nav-label-max-w, 160px);
    transition: opacity 0.14s ease var(--nav-label-delay, 0s),
                max-width 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Active state ─────────────────────────────────────────── */
.bb-nav-item-active[b-3s6uzpor11] {
    color: var(--bb-blue) !important;
    background: rgba(65, 143, 255, 0.09) !important;
    font-weight: 600;
}

/* Accent bar — only shown in expanded mode via CSS variable */
.bb-nav-item-active[b-3s6uzpor11]::before {
    content: '';
    display: var(--nav-accent-bar, none);
    position: absolute;
    left: 0;
    top: 6px;
    bottom: 6px;
    width: 3px;
    background: var(--bb-blue);
    border-radius: 0 3px 3px 0;
}

/* Left border in docked mode */
.bb-nav-item-active[b-3s6uzpor11] {
    border-left: var(--nav-active-border, 3px solid var(--bb-blue));
}

/* ── Footer ───────────────────────────────────────────────── */
.bb-nav-footer[b-3s6uzpor11] {
    flex-shrink: 0;
    overflow: hidden;
    padding-bottom: 8px;
}

.bb-nav-sep[b-3s6uzpor11] {
    height: 1px;
    background: rgba(255, 255, 255, 0.06);
    margin: 6px 12px 8px;
    transition: margin 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Profile row ──────────────────────────────────────────── */
.bb-nav-profile[b-3s6uzpor11] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px 4px;
    white-space: nowrap;
    overflow: hidden;
    /* driven by CSS variable */
    opacity: var(--nav-profile-opacity, 1);
    max-height: var(--nav-profile-max-h, 60px);
    transition: opacity 0.16s ease var(--nav-label-delay, 0s),
                max-height 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.bb-avatar[b-3s6uzpor11] {
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--bb-blue), #6fa8ff);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 2px 6px rgba(65, 143, 255, 0.3);
}

.bb-nav-userinfo[b-3s6uzpor11] { display: flex; flex-direction: column; overflow: hidden; }
.bb-nav-username[b-3s6uzpor11]  { font-size: 0.78rem; font-weight: 600; color: var(--bb-text); white-space: nowrap; }
.bb-nav-version[b-3s6uzpor11]   { font-size: 0.58rem; color: var(--bb-text-muted); font-family: var(--bb-mono); white-space: nowrap; }
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-qon0uyhqas],
.components-reconnect-repeated-attempt-visible[b-qon0uyhqas],
.components-reconnect-failed-visible[b-qon0uyhqas],
.components-pause-visible[b-qon0uyhqas],
.components-resume-failed-visible[b-qon0uyhqas],
.components-rejoining-animation[b-qon0uyhqas] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-qon0uyhqas],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-qon0uyhqas],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-qon0uyhqas],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-qon0uyhqas],
#components-reconnect-modal.components-reconnect-retrying[b-qon0uyhqas],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-qon0uyhqas],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-qon0uyhqas],
#components-reconnect-modal.components-reconnect-failed[b-qon0uyhqas],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-qon0uyhqas] {
    display: block;
}


#components-reconnect-modal[b-qon0uyhqas] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-qon0uyhqas 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-qon0uyhqas 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-qon0uyhqas 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-qon0uyhqas]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-qon0uyhqas 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-qon0uyhqas {
    0% {
        transform: translateY(30px) scale(0.95);
    }

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

@keyframes components-reconnect-modal-fadeInOpacity-b-qon0uyhqas {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-qon0uyhqas {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-qon0uyhqas] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-qon0uyhqas] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-qon0uyhqas] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-qon0uyhqas] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-qon0uyhqas] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-qon0uyhqas] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-qon0uyhqas] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-qon0uyhqas 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-qon0uyhqas] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-qon0uyhqas {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Backtest.razor.rz.scp.css */
.bt-page[b-su1ydoujs8] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* ── Header ───────────────────────────────────────────────── */
.bt-header[b-su1ydoujs8] { display: flex; justify-content: space-between; align-items: center; }
.bt-header-left[b-su1ydoujs8] { display: flex; align-items: center; gap: 12px; }
.bt-title[b-su1ydoujs8] {
    font-size: 1.4rem;
    font-weight: 900;
    color: var(--bb-text);
    text-transform: uppercase;
    letter-spacing: -0.02em;
    margin: 0;
}

/* ── Layout ───────────────────────────────────────────────── */
.bt-layout[b-su1ydoujs8] {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 16px;
    align-items: start;
}

/* ── Config Panel ─────────────────────────────────────────── */
.bt-config[b-su1ydoujs8] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 20px;
}

.bt-field[b-su1ydoujs8] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bt-field-row[b-su1ydoujs8] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.bt-run-btn[b-su1ydoujs8] { width: 100%; }

.bt-error-msg[b-su1ydoujs8] { margin-top: 4px; }

/* ── Results Panel ────────────────────────────────────────── */
.bt-results[b-su1ydoujs8] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Empty state */
.bt-empty[b-su1ydoujs8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 4rem 2rem;
    gap: 10px;
    min-height: 300px;
}
.bt-empty-icon[b-su1ydoujs8] { font-size: 56px; color: var(--bb-text-muted); opacity: 0.3; }
.bt-empty-text[b-su1ydoujs8] { color: var(--bb-text-muted); margin: 0; font-size: 0.88rem; }
.bt-empty-hint[b-su1ydoujs8] { font-size: 0.72rem; color: var(--bb-text-muted); opacity: 0.6; margin: 0; }

/* ── Console ─────────────────────────────────────────────── */
.bt-console-card[b-su1ydoujs8] { padding: 0; overflow: hidden; }
.bt-console-header[b-su1ydoujs8] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
.bt-console-body[b-su1ydoujs8] {
    background: #0a0e14;
    padding: 14px 16px;
    font-family: "JetBrains Mono", monospace;
    font-size: 0.72rem;
    color: var(--bb-profit);
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-height: 80px;
}
.bt-console-line[b-su1ydoujs8] {
    display: flex;
    gap: 8px;
    color: rgba(81, 222, 162, 0.85);
    animation: bt-fadein-b-su1ydoujs8 0.3s ease;
}
.bt-console-prompt[b-su1ydoujs8] { color: var(--bb-blue); flex-shrink: 0; }
.bt-console-cursor[b-su1ydoujs8] {
    color: var(--bb-text-muted);
    animation: bt-blink-b-su1ydoujs8 0.9s step-end infinite;
    font-size: 0.65rem;
}
@keyframes bt-fadein-b-su1ydoujs8 { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; } }
@keyframes bt-blink-b-su1ydoujs8  { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }

/* ── KPI Grid ────────────────────────────────────────────── */
.bt-kpi-grid[b-su1ydoujs8] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
}
.bt-kpi[b-su1ydoujs8] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 16px 12px;
    text-align: center;
}
.bt-kpi-value[b-su1ydoujs8] { font-size: 1.5rem; font-weight: 700; }

/* ── Equity chart ────────────────────────────────────────── */
.bt-chart-card[b-su1ydoujs8] {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* ── Trade log ───────────────────────────────────────────── */
.bt-trade-log[b-su1ydoujs8] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 18px;
}
.bt-trade-log-header[b-su1ydoujs8] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
/* /Components/Pages/Copilot.razor.rz.scp.css */
.copilot-root[b-rfrdc8a5li] {
    display: flex;
    height: calc(100vh - 56px);
    gap: 0;
    overflow: hidden;
    margin: -1.5rem;
}

/* ── History Sidebar ──────────────────────────────── */
.copilot-history[b-rfrdc8a5li] {
    width: 240px;
    flex-shrink: 0;
    background: #181c22;
    border-right: 1px solid #262a31;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.history-header[b-rfrdc8a5li] {
    padding: 1rem;
    border-bottom: 1px solid #262a31;
    flex-shrink: 0;
}

.new-chat-btn[b-rfrdc8a5li] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(56,139,253,0.1);
    border: 1px solid rgba(56,139,253,0.25);
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    color: #aac7ff;
    font-size: 0.82rem;
    cursor: pointer;
    transition: background 0.15s;
}

.new-chat-btn:hover[b-rfrdc8a5li] { background: rgba(56,139,253,0.2); }

.history-list[b-rfrdc8a5li] {
    flex: 1;
    overflow-y: auto;
    padding: 0.5rem;
}

.history-empty[b-rfrdc8a5li] {
    color: #4b5563;
    font-size: 0.78rem;
    text-align: center;
    padding: 1rem;
}

.history-item[b-rfrdc8a5li] {
    padding: 0.6rem 0.75rem;
    border-radius: 8px;
    cursor: pointer;
    margin-bottom: 2px;
    transition: background 0.12s;
}

.history-item:hover[b-rfrdc8a5li]  { background: #262a31; }
.history-item.active[b-rfrdc8a5li] { background: rgba(56,139,253,0.1); border-left: 2px solid #388BFD; }

.history-date[b-rfrdc8a5li] {
    display: block;
    font-size: 0.68rem;
    color: #6b7280;
    margin-bottom: 2px;
}

.history-preview[b-rfrdc8a5li] {
    display: block;
    font-size: 0.78rem;
    color: #9ca3af;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Chat Canvas ──────────────────────────────────── */
.copilot-chat[b-rfrdc8a5li] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #10141a;
    min-width: 0;
}

.chat-header[b-rfrdc8a5li] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.875rem 1.25rem;
    border-bottom: 1px solid #1c2026;
    background: #181c22;
    flex-shrink: 0;
}

.mode-pill[b-rfrdc8a5li] {
    padding: 0.2rem 0.6rem;
    border-radius: 100px;
    font-size: 0.68rem;
    font-weight: 700;
}

.mode-paper[b-rfrdc8a5li] { background: rgba(170,199,255,0.12); color: #aac7ff; border: 1px solid rgba(170,199,255,0.2); }
.mode-live[b-rfrdc8a5li]  { background: rgba(0,178,122,0.12);   color: #51dea2; border: 1px solid rgba(0,178,122,0.25); }

.minimize-btn[b-rfrdc8a5li] {
    background: none;
    border: none;
    cursor: pointer;
    color: #6b7280;
    padding: 0.3rem;
    border-radius: 6px;
    transition: color 0.15s, background 0.15s;
}

.minimize-btn:hover[b-rfrdc8a5li] { color: #e5e7eb; background: rgba(255,255,255,0.05); }

/* ── SfChatUI dark theme overrides ───────────────── */

/* Make SfChatUI fill the remaining flex column space */
[b-rfrdc8a5li] .bb-chat-ui {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    background: #10141a !important;
    border: none !important;
    border-radius: 0 !important;
    height: 100% !important;
}

/* Message list scroll area */
[b-rfrdc8a5li] .bb-chat-ui .e-chat-ui-content {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    background: #10141a;
    padding: 1rem 1.25rem;
    scrollbar-width: thin;
    scrollbar-color: #262a31 transparent;
}

/* AI / received message bubble — left aligned */
[b-rfrdc8a5li] .bb-chat-ui .e-left-align .e-chat-bubble {
    background: #1c2026 !important;
    color: #dfe2eb !important;
    border: none !important;
    border-left: 2px solid #388BFD !important;
    border-radius: 0 10px 10px 10px !important;
    font-size: 0.88rem;
    line-height: 1.55;
    max-width: 70%;
    box-shadow: none !important;
}

/* User / sent message bubble — right aligned */
[b-rfrdc8a5li] .bb-chat-ui .e-right-align .e-chat-bubble {
    background: rgba(56,139,253,0.15) !important;
    color: #dfe2eb !important;
    border: 1px solid rgba(56,139,253,0.2) !important;
    border-radius: 10px 10px 0 10px !important;
    font-size: 0.88rem;
    line-height: 1.55;
    max-width: 70%;
    box-shadow: none !important;
}

/* Timestamp */
[b-rfrdc8a5li] .bb-chat-ui .e-chat-timestamp {
    color: #4b5563 !important;
    font-size: 0.7rem;
}

/* Avatar background for bot */
[b-rfrdc8a5li] .bb-chat-ui .e-avatar {
    font-size: 0.72rem;
    font-weight: 700;
}

/* Username labels */
[b-rfrdc8a5li] .bb-chat-ui .e-chat-username {
    color: #6b7280 !important;
    font-size: 0.72rem;
}

/* Typing indicator */
[b-rfrdc8a5li] .bb-chat-ui .e-chat-typing-indicator {
    color: #6b7280 !important;
    font-size: 0.78rem;
    font-style: italic;
}

/* Footer / input area */
[b-rfrdc8a5li] .bb-chat-ui .e-chat-ui-footer {
    background: #181c22 !important;
    border-top: 1px solid #262a31 !important;
    padding: 0.75rem 1rem !important;
}

/* Input textarea */
[b-rfrdc8a5li] .bb-chat-ui .e-chat-ui-footer .e-input,
[b-rfrdc8a5li] .bb-chat-ui .e-chat-ui-footer textarea {
    background: #1c2026 !important;
    color: #dfe2eb !important;
    border: 1px solid #262a31 !important;
    border-radius: 8px !important;
    font-size: 0.88rem;
    caret-color: #388BFD;
}

[b-rfrdc8a5li] .bb-chat-ui .e-chat-ui-footer .e-input:focus,
[b-rfrdc8a5li] .bb-chat-ui .e-chat-ui-footer textarea:focus {
    border-color: rgba(56,139,253,0.4) !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Send button */
[b-rfrdc8a5li] .bb-chat-ui .e-send-btn,
[b-rfrdc8a5li] .bb-chat-ui .e-chat-send-btn {
    background: #388BFD !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
}

[b-rfrdc8a5li] .bb-chat-ui .e-send-btn:hover,
[b-rfrdc8a5li] .bb-chat-ui .e-chat-send-btn:hover {
    background: #418fff !important;
}

/* Suggestion chips */
[b-rfrdc8a5li] .bb-chat-ui .e-chat-suggestion-item {
    background: rgba(56,139,253,0.08) !important;
    border: 1px solid rgba(56,139,253,0.2) !important;
    color: #aac7ff !important;
    border-radius: 100px !important;
    font-size: 0.78rem;
    padding: 0.25rem 0.75rem;
}

[b-rfrdc8a5li] .bb-chat-ui .e-chat-suggestion-item:hover {
    background: rgba(56,139,253,0.18) !important;
}

/* Time-break divider */
[b-rfrdc8a5li] .bb-chat-ui .e-chat-time-break {
    color: #4b5563 !important;
    font-size: 0.7rem;
}
[b-rfrdc8a5li] .bb-chat-ui .e-chat-time-break::before,
[b-rfrdc8a5li] .bb-chat-ui .e-chat-time-break::after {
    border-color: #262a31 !important;
}

/* Scrollbar */
[b-rfrdc8a5li] .bb-chat-ui .e-chat-ui-content::-webkit-scrollbar { width: 4px; }
[b-rfrdc8a5li] .bb-chat-ui .e-chat-ui-content::-webkit-scrollbar-thumb { background: #262a31; border-radius: 2px; }
[b-rfrdc8a5li] .bb-chat-ui .e-chat-ui-content::-webkit-scrollbar-track { background: transparent; }

/* ── Right Context Panel ──────────────────────────── */
.copilot-context[b-rfrdc8a5li] {
    width: 280px;
    flex-shrink: 0;
    background: #181c22;
    border-left: 1px solid #262a31;
    overflow-y: auto;
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ctx-section[b-rfrdc8a5li] {
    background: #1c2026;
    border-radius: 10px;
    padding: 0.875rem;
}

.ctx-title[b-rfrdc8a5li] {
    font-size: 0.68rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 0.5rem;
}

.ctx-badge[b-rfrdc8a5li] {
    background: rgba(255,255,255,0.07);
    border-radius: 100px;
    padding: 0.05rem 0.45rem;
    font-size: 0.7rem;
    color: #9ca3af;
}

.ctx-empty[b-rfrdc8a5li] { font-size: 0.78rem; color: #4b5563; }

.ctx-pos-row[b-rfrdc8a5li] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.3rem 0;
    border-top: 1px solid rgba(255,255,255,0.03);
}

.ctx-pos-row:first-of-type[b-rfrdc8a5li] { border-top: none; }
.ctx-pos-sym[b-rfrdc8a5li] { font-size: 0.82rem; font-weight: 600; color: #e5e7eb; }
.ctx-pos-pnl[b-rfrdc8a5li] { font-size: 0.82rem; font-family: 'JetBrains Mono', monospace; }
.ctx-pnl[b-rfrdc8a5li]     { font-size: 1.4rem; font-weight: 700; font-family: 'JetBrains Mono', monospace; }

.pnl-pos[b-rfrdc8a5li] { color: #51dea2; }
.pnl-neg[b-rfrdc8a5li] { color: #f55e55; }

.ctx-state-pill[b-rfrdc8a5li] {
    display: inline-block;
    padding: 0.25rem 0.7rem;
    border-radius: 100px;
    font-size: 0.75rem;
    font-weight: 700;
}

.state-normal[b-rfrdc8a5li]    { background: rgba(0,178,122,0.12);  color: #51dea2; }
.state-autopilot[b-rfrdc8a5li] { background: rgba(56,139,253,0.12); color: #aac7ff; }
.state-halted[b-rfrdc8a5li]    { background: rgba(245,94,85,0.12);  color: #f55e55; }
/* /Components/Pages/DayPlan.razor.rz.scp.css */
.dp-page[b-2p2tmd1py1] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.dp-header[b-2p2tmd1py1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.dp-title[b-2p2tmd1py1] {
    font-size: 1.4rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    color: var(--bb-text);
    margin: 0;
}

.dp-date[b-2p2tmd1py1] {
    font-size: 0.8rem;
    font-weight: 400;
    color: var(--bb-text-muted);
    margin-left: 12px;
    text-transform: none;
    font-family: var(--bb-mono);
}

.dp-bulk-actions[b-2p2tmd1py1] {
    display: flex;
    gap: 8px;
}

.dp-btn-approve[b-2p2tmd1py1] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: rgba(81, 222, 162, 0.1);
    border: 1px solid rgba(81, 222, 162, 0.3);
    color: var(--bb-profit);
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
    font-family: var(--bb-sans);
}

.dp-btn-reject[b-2p2tmd1py1] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    background: rgba(245, 94, 85, 0.1);
    border: 1px solid rgba(245, 94, 85, 0.3);
    color: var(--bb-loss);
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
    font-family: var(--bb-sans);
}

.dp-btn-approve .material-symbols-outlined[b-2p2tmd1py1],
.dp-btn-reject .material-symbols-outlined[b-2p2tmd1py1] {
    font-size: 16px;
}

.dp-layout[b-2p2tmd1py1] {
    display: grid;
    grid-template-columns: 65fr 35fr;
    gap: 16px;
    align-items: start;
}

.dp-trades-col[b-2p2tmd1py1] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dp-trade-card[b-2p2tmd1py1] {
    background: var(--bb-surface);
    padding: 16px;
    border-left: 3px solid transparent;
}

.dp-card-approved[b-2p2tmd1py1] {
    border-left-color: var(--bb-profit);
}

.dp-card-rejected[b-2p2tmd1py1] {
    border-left-color: var(--bb-loss);
    opacity: 0.6;
}

.dp-trade-header[b-2p2tmd1py1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.dp-trade-symbol[b-2p2tmd1py1] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.dp-symbol-name[b-2p2tmd1py1] {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--bb-text);
}

.dp-trade-metrics[b-2p2tmd1py1] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.dp-metric[b-2p2tmd1py1] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.dp-trade-actions[b-2p2tmd1py1] {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.04);
}

.dp-action-approve[b-2p2tmd1py1] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 14px;
    background: rgba(81, 222, 162, 0.1);
    border: 1px solid rgba(81, 222, 162, 0.25);
    color: var(--bb-profit);
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
    font-family: var(--bb-sans);
}

.dp-action-reject[b-2p2tmd1py1] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 14px;
    background: rgba(245, 94, 85, 0.1);
    border: 1px solid rgba(245, 94, 85, 0.25);
    color: var(--bb-loss);
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
    font-family: var(--bb-sans);
}

.dp-action-modify[b-2p2tmd1py1] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--bb-outline);
    color: var(--bb-text-muted);
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
    font-family: var(--bb-sans);
}

.dp-action-reopen[b-2p2tmd1py1] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--bb-outline);
    color: var(--bb-text-muted);
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
    font-family: var(--bb-sans);
    transition: background 0.15s, color 0.15s;
}

.dp-action-reopen:hover[b-2p2tmd1py1] {
    background: rgba(255, 255, 255, 0.08);
    color: var(--bb-text);
}

.dp-action-approve .material-symbols-outlined[b-2p2tmd1py1],
.dp-action-reject .material-symbols-outlined[b-2p2tmd1py1],
.dp-action-modify .material-symbols-outlined[b-2p2tmd1py1],
.dp-action-reopen .material-symbols-outlined[b-2p2tmd1py1] {
    font-size: 14px;
}

.dp-context-col[b-2p2tmd1py1] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dp-context-card[b-2p2tmd1py1] {
    padding: 0;
}

.dp-ctx-header[b-2p2tmd1py1] {
    padding: 12px 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.dp-ctx-body[b-2p2tmd1py1] {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dp-ctx-row[b-2p2tmd1py1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.dp-ctx-chg[b-2p2tmd1py1] { font-size: 0.72rem; opacity: 0.8; }

.dp-brief-text[b-2p2tmd1py1] {
    font-size: 0.8rem;
    color: var(--bb-text);
    line-height: 1.5;
    margin: 0;
}

.dp-empty[b-2p2tmd1py1] {
    padding: 40px;
    text-align: center;
    font-size: 0.82rem;
    color: var(--bb-text-muted);
    background: var(--bb-surface);
}

/* ORB Watchlist card */
.dp-orb-card[b-2p2tmd1py1] {
    padding: 0;
    width: 100%;
}

.dp-orb-header[b-2p2tmd1py1] {
    padding: 12px 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.dp-orb-grid[b-2p2tmd1py1] {
    background: transparent;
}

/* Live Execution Log card */
.dp-exec-card[b-2p2tmd1py1] {
    padding: 0;
    width: 100%;
}

.dp-exec-log[b-2p2tmd1py1] {
    display: flex;
    flex-direction: column;
    max-height: 200px;
    overflow-y: auto;
    padding: 8px 14px;
}

.dp-exec-entry[b-2p2tmd1py1] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    padding: 5px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.dp-exec-entry:last-child[b-2p2tmd1py1] {
    border-bottom: none;
}

.dp-exec-ts[b-2p2tmd1py1] {
    font-family: var(--bb-mono);
    color: var(--bb-text-muted);
    font-size: 0.72rem;
    white-space: nowrap;
}

.dp-exec-msg[b-2p2tmd1py1] {
    flex: 1;
    color: var(--bb-text);
}

.dp-exec-empty[b-2p2tmd1py1] {
    font-size: 0.8rem;
    color: var(--bb-text-muted);
    padding: 8px 0;
}
/* /Components/Pages/Home.razor.rz.scp.css */
.deck-page[b-489g85hk6o] { display: flex; flex-direction: column; gap: 20px; }

.deck-header[b-489g85hk6o] { display: flex; justify-content: space-between; align-items: baseline; }
.deck-title[b-489g85hk6o] { font-size: 1.5rem; font-weight: 900; color: var(--bb-text); text-transform: uppercase; letter-spacing: -0.02em; margin: 0; }
.deck-meta[b-489g85hk6o] { display: flex; gap: 16px; }

.deck-stat-grid[b-489g85hk6o] { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.deck-stat-card[b-489g85hk6o] { background: var(--bb-surface); padding: 20px; display: flex; flex-direction: column; gap: 6px; }
.deck-stat-value[b-489g85hk6o] { font-size: 1.5rem; font-weight: 700; }
.deck-stat-sub[b-489g85hk6o] { font-size: 0.78rem; }

.deck-card[b-489g85hk6o] { background: var(--bb-surface); }
.deck-card-header[b-489g85hk6o] { padding: 14px 16px 10px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(255,255,255,0.04); }

.deck-chart-card[b-489g85hk6o] { padding: 0; }

.deck-status-row[b-489g85hk6o] { display: flex; flex-wrap: wrap; gap: 8px; }
.bb-status-chip[b-489g85hk6o] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: var(--bb-surface);
    border: 1px solid var(--bb-outline);
    font-size: 0.72rem;
    color: var(--bb-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.bb-status-running[b-489g85hk6o] { border-color: rgba(81,222,162,0.2); }

.deck-split-grid[b-489g85hk6o] { display: grid; grid-template-columns: 6fr 4fr; gap: 12px; }

.deck-insights[b-489g85hk6o] { padding: 12px 16px; display: flex; flex-direction: column; gap: 10px; min-height: 80px; }
.deck-insight[b-489g85hk6o] { padding: 10px 12px; display: flex; flex-direction: column; gap: 3px; }
.insight-ai[b-489g85hk6o] { background: var(--bb-surface-hi); border-left: 2px solid var(--bb-blue); }
.insight-user[b-489g85hk6o] { background: rgba(255,255,255,0.02); border-left: 2px solid var(--bb-outline); }

.deck-streaming[b-489g85hk6o] { animation: opacity-pulse-b-489g85hk6o 1.2s ease infinite; }
@keyframes opacity-pulse-b-489g85hk6o { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }

.deck-copilot-card[b-489g85hk6o] { display: flex; flex-direction: column; }
.deck-copilot-footer[b-489g85hk6o] {
    padding: 12px 16px;
    background: var(--bb-surface-max);
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
}

.deck-emergency-card[b-489g85hk6o] { padding: 0; display: flex; flex-direction: column; gap: 0; }
.deck-emergency-card .deck-card-header[b-489g85hk6o] { margin-bottom: 0; }
.deck-emergency-row[b-489g85hk6o] { display: flex; align-items: center; gap: 12px; padding: 16px; }
.deck-btn-panic[b-489g85hk6o] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px;
    background: rgba(245,94,85,0.1);
    border: 1px solid rgba(245,94,85,0.4);
    color: var(--bb-loss);
    cursor: pointer;
    font-weight: 700;
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    transition: all 0.2s;
}
.deck-btn-panic:hover[b-489g85hk6o] { background: var(--bb-loss); color: white; box-shadow: 0 0 16px rgba(245,94,85,0.4); }

.deck-panic-feedback[b-489g85hk6o] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px;
    background: rgba(245,94,85,0.1);
    border: 1px solid rgba(245,94,85,0.3);
    color: var(--bb-loss);
    font-size: 0.8rem;
    font-weight: 700;
}

.deck-autopilot-row[b-489g85hk6o] { display: flex; align-items: center; gap: 8px; }

.deck-feed[b-489g85hk6o] { display: flex; flex-direction: column; gap: 4px; max-height: 120px; overflow-y: auto; padding: 0 16px 12px; }
.deck-feed-row[b-489g85hk6o] { display: flex; gap: 8px; padding: 4px 0; border-top: 1px solid rgba(255,255,255,0.03); }
/* /Components/Pages/Journal.razor.rz.scp.css */
.jrn-page[b-90idwsf7j3] {
    display: flex;
    flex-direction: column;
    gap: var(--bb-gap);
    padding: var(--bb-page-pad);
}

.jrn-header[b-90idwsf7j3] {
    display: flex;
    align-items: baseline;
    gap: 1rem;
}

.jrn-title[b-90idwsf7j3] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--bb-text-primary);
    margin: 0;
}

.jrn-filters[b-90idwsf7j3] {
    display: flex;
    gap: 1rem;
    align-items: flex-end;
    flex-wrap: wrap;
    padding: 0.875rem;
    background: var(--bb-surface);
    border-radius: var(--bb-radius);
}

.jrn-filter-item[b-90idwsf7j3] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 160px;
}

.jrn-filter-search[b-90idwsf7j3] {
    min-width: 200px;
}

.jrn-search-input[b-90idwsf7j3] {
    background: var(--bb-surface-2);
    border: 1px solid var(--bb-border);
    border-radius: 8px;
    padding: 0.45rem 0.75rem;
    color: var(--bb-text-primary);
    font-size: 0.83rem;
    outline: none;
    transition: border-color 0.15s;
}

.jrn-search-input:focus[b-90idwsf7j3] {
    border-color: var(--bb-accent);
}

.jrn-stat-grid[b-90idwsf7j3] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--bb-gap);
}

.jrn-stat-card[b-90idwsf7j3] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.875rem;
}

.jrn-stat-value[b-90idwsf7j3] {
    font-size: 1.35rem;
    font-weight: 700;
}

.jrn-tab-content[b-90idwsf7j3] {
    padding: 0.75rem 0;
}

.jrn-analysis[b-90idwsf7j3] {
    padding: 0.75rem 0;
}

.jrn-analysis-row[b-90idwsf7j3] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--bb-gap);
}

.jrn-strat-table[b-90idwsf7j3] {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 12px;
}

.jrn-strat-row[b-90idwsf7j3] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.4rem 0;
    border-top: 1px solid rgba(255,255,255,0.04);
}

.jrn-strat-row:first-child[b-90idwsf7j3] {
    border-top: none;
}

.jrn-strat-name[b-90idwsf7j3] {
    flex: 1;
    font-size: 0.83rem;
    color: var(--bb-text-secondary);
}

.jrn-strat-stat[b-90idwsf7j3] {
    font-size: 0.83rem;
}

/* Trade Detail Panel */
.jrn-detail-card[b-90idwsf7j3] {
    margin-top: 16px;
    padding: 16px;
    border-left: 3px solid var(--bb-blue);
}

.jrn-detail-header[b-90idwsf7j3] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.jrn-detail-title[b-90idwsf7j3] {
    font-weight: 600;
    font-size: 0.95rem;
}

.jrn-detail-body[b-90idwsf7j3] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.jrn-detail-metrics[b-90idwsf7j3] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.jrn-dm-row[b-90idwsf7j3] {
    display: flex;
    justify-content: space-between;
    font-size: 0.82rem;
    padding: 4px 0;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}

.jrn-detail-close[b-90idwsf7j3] {
    background: none;
    border: none;
    color: var(--bb-text-muted);
    cursor: pointer;
    font-size: 1rem;
}

.jrn-detail-insight[b-90idwsf7j3] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.jrn-insight-text[b-90idwsf7j3] {
    font-size: 0.82rem;
    color: var(--bb-text-dim);
    line-height: 1.5;
    margin: 0;
}

.jrn-view-btn[b-90idwsf7j3] {
    background: none;
    border: none;
    color: var(--bb-blue);
    cursor: pointer;
    font-size: 0.75rem;
}
/* /Components/Pages/Learning.razor.rz.scp.css */
.lrn-page[b-8u50pam5qp] {
    display: flex;
    flex-direction: column;
    gap: var(--bb-gap);
    padding: var(--bb-page-pad);
}

.lrn-header[b-8u50pam5qp] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.lrn-title[b-8u50pam5qp] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--bb-text-primary);
    margin: 0;
}

.lrn-subtitle[b-8u50pam5qp] {
    font-size: 0.8rem;
    color: var(--bb-text-muted);
    margin: 0;
}

.lrn-stat-row[b-8u50pam5qp] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--bb-gap);
}

.lrn-stat[b-8u50pam5qp] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.875rem;
}

.lrn-stat-val[b-8u50pam5qp] {
    font-size: 1.4rem;
    font-weight: 700;
}

/* Body layout */
.lrn-body[b-8u50pam5qp] {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: var(--bb-gap);
    align-items: start;
}

.lrn-left[b-8u50pam5qp] {
    display: flex;
    flex-direction: column;
    gap: var(--bb-gap);
}

.lrn-section[b-8u50pam5qp] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
}

/* Pattern Cards */
.lrn-patterns[b-8u50pam5qp] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.lrn-pattern-card[b-8u50pam5qp] {
    background: var(--bb-canvas);
    border-radius: 10px;
    padding: 0.875rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.lrn-pat-header[b-8u50pam5qp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.lrn-pat-name[b-8u50pam5qp] {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--bb-text-primary);
}

.lrn-pat-desc[b-8u50pam5qp] {
    font-size: 0.78rem;
    color: var(--bb-text-secondary);
    line-height: 1.5;
    margin: 0;
}

.lrn-pat-stats[b-8u50pam5qp] {
    display: flex;
    gap: 1.25rem;
}

.lrn-pat-stat[b-8u50pam5qp] {
    font-size: 0.75rem;
    color: var(--bb-text-muted);
}

/* Gate Analytics */
.lrn-gates[b-8u50pam5qp] {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.lrn-gate-row[b-8u50pam5qp] {
    display: grid;
    grid-template-columns: 160px 1fr 42px 36px;
    align-items: center;
    gap: 0.6rem;
}

.lrn-gate-name[b-8u50pam5qp] {
    font-size: 0.8rem;
    color: var(--bb-text-secondary);
}

.lrn-gate-bar-wrap[b-8u50pam5qp] {
    height: 6px;
    background: rgba(255,255,255,0.05);
    border-radius: 3px;
    overflow: hidden;
}

.lrn-gate-bar[b-8u50pam5qp] {
    height: 100%;
    border-radius: 3px;
    transition: width 0.3s ease;
}

.lrn-gate-green[b-8u50pam5qp] { background: var(--bb-profit); }
.lrn-gate-amber[b-8u50pam5qp] { background: var(--bb-warn); }
.lrn-gate-red[b-8u50pam5qp]   { background: var(--bb-loss); }

.lrn-gate-pct[b-8u50pam5qp]   { font-size: 0.8rem; text-align: right; color: var(--bb-text-primary); }
.lrn-gate-label[b-8u50pam5qp] { font-size: 0.7rem; color: var(--bb-text-muted); }

/* AI Insights */
.lrn-insights[b-8u50pam5qp] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
}

.lrn-insight-feed[b-8u50pam5qp] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-height: 600px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--bb-border) transparent;
}

.lrn-insight-card[b-8u50pam5qp] {
    background: var(--bb-canvas);
    border-radius: 10px;
    padding: 0.875rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    border-left: 2px solid transparent;
}

.lrn-insight-pattern[b-8u50pam5qp] { border-left-color: var(--bb-accent); }
.lrn-insight-risk[b-8u50pam5qp]    { border-left-color: var(--bb-loss); }
.lrn-insight-edge[b-8u50pam5qp]    { border-left-color: var(--bb-profit); }
.lrn-insight-regime[b-8u50pam5qp]  { border-left-color: var(--bb-warn); }

.lrn-insight-header[b-8u50pam5qp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.lrn-insight-type-pill[b-8u50pam5qp] {
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.1rem 0.5rem;
    border-radius: 4px;
    background: rgba(56,139,253,0.12);
    color: var(--bb-accent);
    text-transform: uppercase;
}

.lrn-insight-date[b-8u50pam5qp] {
    font-size: 0.7rem;
    color: var(--bb-text-muted);
}

.lrn-insight-text[b-8u50pam5qp] {
    font-size: 0.8rem;
    color: var(--bb-text-secondary);
    line-height: 1.6;
    margin: 0;
}

.lrn-insight-action[b-8u50pam5qp] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.75rem;
    color: var(--bb-accent);
    background: rgba(56,139,253,0.07);
    border-radius: 6px;
    padding: 0.4rem 0.6rem;
}

/* Heatmap */
.lrn-heatmap-card[b-8u50pam5qp] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
}

.lrn-heatmap[b-8u50pam5qp] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.lrn-hm-header[b-8u50pam5qp] {
    display: grid;
    grid-template-columns: 100px repeat(8, 1fr);
    gap: 4px;
}

.lrn-hm-corner[b-8u50pam5qp] { }

.lrn-hm-col-lbl[b-8u50pam5qp] {
    font-size: 0.7rem;
    color: var(--bb-text-muted);
    text-align: center;
    font-family: 'JetBrains Mono', monospace;
}

.lrn-hm-row[b-8u50pam5qp] {
    display: grid;
    grid-template-columns: 100px repeat(8, 1fr);
    gap: 4px;
    align-items: center;
}

.lrn-hm-row-lbl[b-8u50pam5qp] {
    font-size: 0.78rem;
    color: var(--bb-text-secondary);
    font-weight: 600;
}

.lrn-hm-cell[b-8u50pam5qp] {
    height: 36px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: default;
}

.lrn-hm-val[b-8u50pam5qp] {
    font-size: 0.68rem;
    font-family: 'JetBrains Mono', monospace;
    font-weight: 600;
}

.hm-hot[b-8u50pam5qp]     { background: rgba(0,178,122,0.35); color: #51dea2; }
.hm-warm[b-8u50pam5qp]    { background: rgba(0,178,122,0.15); color: #51dea2; }
.hm-neutral[b-8u50pam5qp] { background: rgba(255,255,255,0.04); color: var(--bb-text-muted); }
.hm-cool[b-8u50pam5qp]    { background: rgba(245,94,85,0.10); color: #f55e55; }
.hm-cold[b-8u50pam5qp]    { background: rgba(245,94,85,0.25); color: #f55e55; }
/* /Components/Pages/Performance.razor.rz.scp.css */
/* ── Page layout ─────────────────────────────────────────────── */
.perf-page[b-4exj8fbhbp] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ── Header ──────────────────────────────────────────────────── */
.perf-header[b-4exj8fbhbp] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.perf-title[b-4exj8fbhbp] {
    font-size: 1.5rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    color: var(--bb-text);
    margin: 0;
}

/* ── Period toggle buttons ───────────────────────────────────── */
.perf-period-btns[b-4exj8fbhbp] {
    display: flex;
    gap: 4px;
}

.perf-period-btn[b-4exj8fbhbp] {
    padding: 4px 12px;
    background: var(--bb-surface);
    border: 1px solid var(--bb-outline);
    color: var(--bb-text-muted);
    font-size: 0.72rem;
    font-weight: 700;
    cursor: pointer;
    font-family: var(--bb-mono);
    border-radius: 0;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
}

.perf-period-btn:hover[b-4exj8fbhbp] {
    color: var(--bb-text);
    border-color: var(--bb-text-muted);
}

.perf-period-btn.active[b-4exj8fbhbp] {
    border-color: var(--bb-blue);
    color: var(--bb-blue);
    background: rgba(65, 143, 255, 0.08);
}

/* ── KPI cards ───────────────────────────────────────────────── */
.perf-kpi-grid[b-4exj8fbhbp] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
}

.perf-kpi-card[b-4exj8fbhbp] {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.perf-kpi-value[b-4exj8fbhbp] {
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.2;
}

.perf-kpi-sub[b-4exj8fbhbp] {
    font-size: 0.68rem;
}

/* ── Equity chart ────────────────────────────────────────────── */
.perf-chart-card[b-4exj8fbhbp] {
    padding: 0;
    overflow: hidden;
}

.perf-chart-header[b-4exj8fbhbp] {
    padding: 14px 16px 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.perf-chart-legend[b-4exj8fbhbp] {
    display: flex;
    gap: 16px;
}

.perf-legend-item[b-4exj8fbhbp] {
    font-size: 0.72rem;
}

/* ── Bottom split ────────────────────────────────────────────── */
.perf-split-grid[b-4exj8fbhbp] {
    display: grid;
    grid-template-columns: 6fr 4fr;
    gap: 12px;
}

/* ── Section head (inside cards) ─────────────────────────────── */
.perf-section-head[b-4exj8fbhbp] {
    padding: 14px 16px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* ── Fee Impact card ─────────────────────────────────────────── */
.perf-fee-card[b-4exj8fbhbp] { display: flex; flex-direction: column; }

.perf-fee-head[b-4exj8fbhbp] {
    display: flex;
    align-items: center;
    gap: 8px;
}
.perf-fee-icon[b-4exj8fbhbp]  { font-size: 18px; color: #f5a623; }
.perf-fee-label[b-4exj8fbhbp] { color: #f5a623 !important; }

.perf-fee-body[b-4exj8fbhbp]  { padding: 16px; display: flex; flex-direction: column; gap: 12px; }

.perf-fee-row[b-4exj8fbhbp] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.perf-fee-name[b-4exj8fbhbp] { font-size: 0.72rem; color: var(--bb-text-muted); }
.perf-fee-val[b-4exj8fbhbp]  { font-size: 0.78rem; font-weight: 600; color: var(--bb-text); }

.perf-fee-total-row[b-4exj8fbhbp] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 10px;
    border-top: 1px solid var(--bb-outline);
}
.perf-fee-total[b-4exj8fbhbp] { font-size: 0.88rem; font-weight: 700; color: var(--bb-loss); }

.perf-fee-impact-bar[b-4exj8fbhbp] { display: flex; flex-direction: column; gap: 6px; }
.perf-fee-impact-hdr[b-4exj8fbhbp] { display: flex; justify-content: space-between; align-items: center; }
.perf-fee-bar-track[b-4exj8fbhbp]  { height: 3px; background: var(--bb-surface-hi); }
.perf-fee-bar-fill[b-4exj8fbhbp]   { height: 100%; background: #f5a623; transition: width 0.4s ease; }

/* ── Consistency Heatmap ─────────────────────────────────────── */
.perf-hm-card[b-4exj8fbhbp]    { padding: 0; overflow: hidden; }
.perf-hm-header[b-4exj8fbhbp]  {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px 10px;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
.perf-hm-legend[b-4exj8fbhbp]  { display: flex; align-items: center; gap: 6px; }
.perf-hm-legend-label[b-4exj8fbhbp]  { font-size: 0.6rem; color: var(--bb-text-muted); }
.perf-hm-legend-swatches[b-4exj8fbhbp] { display: flex; gap: 3px; }
.perf-hm-swatch[b-4exj8fbhbp]  { width: 11px; height: 11px; }

.perf-hm-scroll[b-4exj8fbhbp]  { overflow-x: auto; padding: 14px 16px 16px; }
.perf-hm-inner[b-4exj8fbhbp]   { display: inline-flex; flex-direction: column; gap: 4px; min-width: max-content; }

/* Month labels row */
.perf-hm-months[b-4exj8fbhbp]  {
    display: flex;
    gap: 3px;
    align-items: flex-end;
    padding-left: 0;
}
.perf-hm-dow-spacer[b-4exj8fbhbp] { width: 28px; flex-shrink: 0; }
.perf-hm-month-label[b-4exj8fbhbp] {
    font-size: 0.6rem;
    color: var(--bb-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    overflow: hidden;
    white-space: nowrap;
    /* each label spans N weeks — handled via inline width calc */
}

/* Grid row: dow labels + week columns */
.perf-hm-grid-wrap[b-4exj8fbhbp] { display: flex; gap: 4px; align-items: flex-start; }

.perf-hm-dow[b-4exj8fbhbp] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: 28px;
    flex-shrink: 0;
}
.perf-hm-dow-label[b-4exj8fbhbp] {
    height: 13px;
    font-size: 0.58rem;
    color: var(--bb-text-muted);
    line-height: 13px;
    white-space: nowrap;
}

.perf-hm-grid[b-4exj8fbhbp] { display: flex; gap: 3px; }

.perf-hm-week[b-4exj8fbhbp] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.perf-hm-cell[b-4exj8fbhbp] {
    width: 13px;
    height: 13px;
    flex-shrink: 0;
    cursor: default;
    transition: opacity 0.1s;
}
.perf-hm-cell:hover[b-4exj8fbhbp]    { opacity: 0.75; }
.perf-hm-cell-oor[b-4exj8fbhbp]      { opacity: 0 !important; pointer-events: none; }
/* /Components/Pages/Portfolio.razor.rz.scp.css */
/* ── Page wrapper ─────────────────────────────────────────── */
.port-page[b-qxe76o0ddh] { display: flex; flex-direction: column; gap: 16px; }

/* ── Header ───────────────────────────────────────────────── */
.port-header[b-qxe76o0ddh] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.port-header-left[b-qxe76o0ddh] { display: flex; align-items: center; gap: 12px; }
.port-title[b-qxe76o0ddh] {
    font-size: 1.4rem;
    font-weight: 900;
    color: var(--bb-text);
    text-transform: uppercase;
    letter-spacing: -0.02em;
    margin: 0;
}

.port-refresh-btn[b-qxe76o0ddh] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 16px;
    background: var(--bb-surface);
    border: 1px solid var(--bb-outline);
    color: var(--bb-text-muted);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}
.port-refresh-btn:hover:not(:disabled)[b-qxe76o0ddh] { border-color: var(--bb-blue); color: var(--bb-blue); }
.port-refresh-btn:disabled[b-qxe76o0ddh] { opacity: 0.5; cursor: not-allowed; }
.port-refresh-btn .material-symbols-outlined[b-qxe76o0ddh] { font-size: 18px; }
.port-refresh-spin .material-symbols-outlined[b-qxe76o0ddh] { animation: port-spin-b-qxe76o0ddh 1s linear infinite; }
@keyframes port-spin-b-qxe76o0ddh { to { transform: rotate(360deg); } }

/* ── Summary Banner ───────────────────────────────────────── */
.port-summary-banner[b-qxe76o0ddh] {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 20px 24px;
    flex-wrap: wrap;
    gap: 16px;
}
.port-summary-left[b-qxe76o0ddh]  { display: flex; flex-direction: column; gap: 6px; }
.port-summary-label-row[b-qxe76o0ddh] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.port-summary-label[b-qxe76o0ddh] {
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--bb-text-muted);
    font-weight: 500;
}
.port-summary-value-row[b-qxe76o0ddh] { display: flex; align-items: baseline; gap: 14px; }
.port-summary-value[b-qxe76o0ddh] { font-size: 2.2rem; font-weight: 700; color: var(--bb-text); }
.port-summary-gain[b-qxe76o0ddh]  { font-size: 1.1rem; font-weight: 600; }

.port-summary-right[b-qxe76o0ddh] { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; }

/* Broker tabs */
.port-broker-tabs[b-qxe76o0ddh] {
    display: flex;
    background: var(--bb-surface-lo, #0a0e14);
    padding: 3px;
}
.port-broker-tab[b-qxe76o0ddh] {
    padding: 5px 14px;
    background: transparent;
    border: none;
    color: var(--bb-text-muted);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.port-broker-tab.active[b-qxe76o0ddh] { background: var(--bb-surface-hi); color: var(--bb-blue); }
.port-broker-tab:hover:not(.active)[b-qxe76o0ddh] { color: var(--bb-text); }

/* Tax filter chips */
.port-tax-tabs[b-qxe76o0ddh] { display: flex; gap: 6px; }
.port-filter-btn[b-qxe76o0ddh] {
    padding: 4px 12px;
    background: var(--bb-surface);
    border: 1px solid var(--bb-outline);
    color: var(--bb-text-muted);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
}
.port-filter-btn:hover[b-qxe76o0ddh] { border-color: var(--bb-blue); color: var(--bb-blue); }
.port-filter-active[b-qxe76o0ddh] { border-color: var(--bb-blue); color: var(--bb-blue); background: rgba(65,143,255,0.08); }

/* ── Main 2-col grid ──────────────────────────────────────── */
.port-main-grid[b-qxe76o0ddh] {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 16px;
    align-items: start;
}

/* ── Holdings column ──────────────────────────────────────── */
.port-holdings-col[b-qxe76o0ddh] { display: flex; flex-direction: column; gap: 12px; }

.port-state-msg[b-qxe76o0ddh] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 32px;
    color: var(--bb-text-muted);
    font-size: 0.85rem;
    text-align: center;
}
.port-state-icon[b-qxe76o0ddh] { font-size: 36px; }
.port-error-hint[b-qxe76o0ddh] { font-size: 0.72rem; color: var(--bb-loss); }
@keyframes port-spin-icon-b-qxe76o0ddh { to { transform: rotate(360deg); } }
.port-spin[b-qxe76o0ddh] { animation: port-spin-icon-b-qxe76o0ddh 1.2s linear infinite; }

.port-grid-wrap[b-qxe76o0ddh] { padding: 0; overflow: hidden; }
.port-sf-grid.e-grid .e-gridheader[b-qxe76o0ddh] { background: var(--bb-surface-hi) !important; }

.port-symbol[b-qxe76o0ddh] {
    font-weight: 700;
    color: var(--bb-text);
    font-family: var(--bb-font-mono, monospace);
    font-size: 0.82rem;
}
.port-exch-tag[b-qxe76o0ddh] {
    font-size: 0.62rem;
    font-weight: 700;
    color: var(--bb-text-muted);
    background: rgba(255,255,255,0.05);
    padding: 1px 5px;
    letter-spacing: 0.05em;
}
.port-dash[b-qxe76o0ddh]   { color: var(--bb-text-muted); }

.port-pnl-cell[b-qxe76o0ddh] { display: flex; flex-direction: column; align-items: flex-end; gap: 1px; }
.port-pnl-pct[b-qxe76o0ddh]  { font-size: 0.7rem; }

/* ── Analytics sidebar ────────────────────────────────────── */
.port-analytics-col[b-qxe76o0ddh] { display: flex; flex-direction: column; gap: 12px; }

/* ── Sector allocation — horizontal bars ──────────────────── */
.port-sector-card[b-qxe76o0ddh] { padding: 18px; display: flex; flex-direction: column; gap: 14px; }

.port-sector-bars[b-qxe76o0ddh] { display: flex; flex-direction: column; gap: 12px; }

.port-sector-bar-row[b-qxe76o0ddh] { display: flex; flex-direction: column; gap: 6px; }

.port-sector-bar-header[b-qxe76o0ddh] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.port-sector-bar-name[b-qxe76o0ddh] {
    font-size: 0.75rem;
    color: var(--bb-text);
    font-weight: 500;
}
.port-sector-bar-right[b-qxe76o0ddh] {
    display: flex;
    align-items: center;
    gap: 8px;
}
.port-sector-bar-pct[b-qxe76o0ddh] { font-size: 0.75rem; color: var(--bb-text); }

.port-sector-risk-tag[b-qxe76o0ddh] {
    font-size: 0.58rem;
    font-weight: 700;
    padding: 1px 5px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.port-sector-risk-high[b-qxe76o0ddh] { background: rgba(245,94,85,0.12); color: var(--bb-loss); }
.port-sector-risk-med[b-qxe76o0ddh]  { background: rgba(245,166,35,0.12); color: var(--bb-amber, #f5a623); }

.port-sector-track[b-qxe76o0ddh] {
    height: 4px;
    background: rgba(255,255,255,0.06);
    width: 100%;
    overflow: hidden;
}
.port-sector-fill[b-qxe76o0ddh] {
    height: 100%;
    transition: width 0.5s ease;
}

/* ── Decision card ────────────────────────────────────────── */
.port-decision-card[b-qxe76o0ddh]   { padding: 18px; display: flex; flex-direction: column; gap: 12px; }
.port-decision-header[b-qxe76o0ddh] { display: flex; justify-content: space-between; align-items: center; }
.port-decision-list[b-qxe76o0ddh]   { display: flex; flex-direction: column; gap: 8px; }

.port-decision-item[b-qxe76o0ddh] {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 12px;
    background: var(--bb-surface-hi);
    border-left: 2px solid var(--bb-outline);
}
.port-decision-high[b-qxe76o0ddh]   { border-left-color: var(--bb-loss); }
.port-decision-medium[b-qxe76o0ddh] { border-left-color: var(--bb-amber, #f5a623); }
.port-decision-low[b-qxe76o0ddh]    { border-left-color: var(--bb-profit); }

.port-decision-icon[b-qxe76o0ddh] { font-size: 18px; flex-shrink: 0; margin-top: 1px; }
.port-decision-high   .port-decision-icon[b-qxe76o0ddh] { color: var(--bb-loss); }
.port-decision-medium .port-decision-icon[b-qxe76o0ddh] { color: var(--bb-amber, #f5a623); }
.port-decision-low    .port-decision-icon[b-qxe76o0ddh] { color: var(--bb-profit); }

.port-decision-text[b-qxe76o0ddh]      { display: flex; flex-direction: column; gap: 3px; }
.port-decision-title[b-qxe76o0ddh]     { font-size: 0.75rem; font-weight: 700; color: var(--bb-text); }
.port-decision-rationale[b-qxe76o0ddh] { font-size: 0.68rem; color: var(--bb-text-muted); line-height: 1.4; }

/* ── Capital Summary ──────────────────────────────────────── */
.port-capital-card[b-qxe76o0ddh] { padding: 18px; display: flex; flex-direction: column; gap: 14px; }
.port-capital-rows[b-qxe76o0ddh] { display: flex; flex-direction: column; gap: 14px; }
.port-capital-row[b-qxe76o0ddh]  { display: flex; flex-direction: column; gap: 6px; }
.port-capital-row-hdr[b-qxe76o0ddh] { display: flex; justify-content: space-between; align-items: flex-end; }
.port-capital-label[b-qxe76o0ddh] { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--bb-text-muted); }
.port-capital-val[b-qxe76o0ddh]   { font-size: 0.88rem; font-weight: 600; color: var(--bb-text); }

.port-progress-track[b-qxe76o0ddh] { height: 3px; background: var(--bb-surface-hi); width: 100%; overflow: hidden; }
.port-progress-fill[b-qxe76o0ddh]  { height: 100%; background: var(--bb-blue); transition: width 0.4s ease; }

.port-sidebar-empty[b-qxe76o0ddh] { font-size: 0.8rem; color: var(--bb-text-muted); padding: 8px 0; }

/* ── Add New Holding button ───────────────────────────────── */
.port-add-holding-btn[b-qxe76o0ddh] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    padding: 8px 14px;
    background: transparent;
    border: 1px dashed var(--bb-outline);
    color: var(--bb-text-muted);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
    margin-top: 2px;
    font-family: var(--bb-sans, sans-serif);
}
.port-add-holding-btn:hover[b-qxe76o0ddh] {
    border-color: var(--bb-blue);
    color: var(--bb-blue);
    border-style: solid;
}
/* /Components/Pages/Positions.razor.rz.scp.css */
/* ── Page layout ─────────────────────────────────────────────── */
.pos-page[b-3pw9v3m17o] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* ── Header ──────────────────────────────────────────────────── */
.pos-header[b-3pw9v3m17o] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.pos-header-indices[b-3pw9v3m17o] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-left: auto;
    margin-right: 16px;
}

.pos-idx-chip[b-3pw9v3m17o] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.pos-idx-chip .bb-section-label[b-3pw9v3m17o] {
    font-size: 0.6rem;
    letter-spacing: 0.05em;
}

.pos-idx-chip .bb-mono[b-3pw9v3m17o] {
    font-size: 0.82rem;
    font-weight: 700;
}

.pos-title[b-3pw9v3m17o] {
    font-size: 1.5rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    color: var(--bb-text);
    margin: 0;
}

.pos-meta[b-3pw9v3m17o] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pos-time[b-3pw9v3m17o] {
    font-size: 0.72rem;
}

.pos-squareoff-chip[b-3pw9v3m17o] {
    padding: 3px 10px;
    font-size: 0.7rem;
    font-weight: 700;
    font-family: var(--bb-mono);
    color: var(--bb-loss);
    background: rgba(245, 94, 85, 0.08);
    border: 1px solid rgba(245, 94, 85, 0.3);
    animation: blink-border-b-3pw9v3m17o 1.5s ease infinite;
}

@keyframes blink-border-b-3pw9v3m17o {
    0%, 100% { border-color: rgba(245, 94, 85, 0.3); }
    50%       { border-color: rgba(245, 94, 85, 0.7); }
}

/* ── Stat cards ──────────────────────────────────────────────── */
.pos-stat-grid[b-3pw9v3m17o] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.pos-stat-card[b-3pw9v3m17o] {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.pos-stat-value[b-3pw9v3m17o] {
    font-size: 1.4rem;
    font-weight: 700;
}

/* ── Loading / empty ─────────────────────────────────────────── */
.pos-loading[b-3pw9v3m17o] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 48px 16px;
    font-size: 0.85rem;
}

.pos-spinner[b-3pw9v3m17o] {
    width: 32px;
    height: 32px;
    border: 3px solid var(--bb-outline);
    border-top-color: var(--bb-blue);
    border-radius: 50%;
    animation: pos-spin-b-3pw9v3m17o 0.7s linear infinite;
}

@keyframes pos-spin-b-3pw9v3m17o {
    to { transform: rotate(360deg); }
}

.pos-empty[b-3pw9v3m17o] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 28px 16px;
    font-size: 0.82rem;
    color: var(--bb-text-muted);
}

.pos-retry-btn[b-3pw9v3m17o] {
    padding: 5px 16px;
    background: var(--bb-surface-hi);
    border: 1px solid var(--bb-outline);
    color: var(--bb-text);
    font-size: 0.78rem;
    cursor: pointer;
}

/* ── Tab overrides ───────────────────────────────────────────── */
.bb-pos-tabs .e-tab-header[b-3pw9v3m17o] {
    padding: 0 16px;
    background: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.bb-pos-tabs .e-tab-header .e-toolbar-item .e-tab-wrap[b-3pw9v3m17o] {
    font-size: 0.78rem;
    font-weight: 700;
    font-family: var(--bb-mono);
    color: var(--bb-text-muted);
}

.bb-pos-tabs .e-tab-header .e-toolbar-item.e-active .e-tab-wrap[b-3pw9v3m17o] {
    color: var(--bb-blue);
}

.pos-tab-content[b-3pw9v3m17o] {
    padding: 12px 0;
}

/* ── Grid cell helpers ───────────────────────────────────────── */
.pos-symbol[b-3pw9v3m17o] {
    font-weight: 700;
    color: var(--bb-text);
    font-size: 0.85rem;
}

.pos-broker-tag[b-3pw9v3m17o] {
    margin-left: 6px;
    padding: 2px 6px;
    font-size: 0.62rem;
    font-weight: 700;
    border: 1px solid transparent;
}

.broker-zerodha[b-3pw9v3m17o] {
    background: rgba(29, 52, 97, 0.7);
    border-color: rgba(56, 126, 209, 0.3);
    color: #93c5fd;
}

.broker-icici[b-3pw9v3m17o] {
    background: rgba(69, 26, 3, 0.7);
    border-color: rgba(217, 119, 6, 0.3);
    color: #fcd34d;
}

.broker-paper[b-3pw9v3m17o] {
    background: rgba(46, 16, 101, 0.7);
    border-color: rgba(124, 58, 237, 0.3);
    color: #c4b5fd;
}

.pos-close-btn[b-3pw9v3m17o] {
    font-size: 0.7rem !important;
    padding: 3px 10px !important;
}
/* /Components/Pages/Shadow.razor.rz.scp.css */
.shd-page[b-z5gytvnikb] {
    display: flex;
    flex-direction: column;
    gap: var(--bb-gap);
    padding: var(--bb-page-pad);
}

.shd-header[b-z5gytvnikb] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.shd-title-row[b-z5gytvnikb] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.shd-title[b-z5gytvnikb] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--bb-text-primary);
    margin: 0;
}

.shd-subtitle[b-z5gytvnikb] {
    font-size: 0.8rem;
    color: var(--bb-text-muted);
    margin: 0;
}

.shd-summary-grid[b-z5gytvnikb] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--bb-gap);
}

.shd-stat[b-z5gytvnikb] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.875rem;
}

.shd-stat-val[b-z5gytvnikb] {
    font-size: 1.5rem;
    font-weight: 700;
}

/* Agent Cards */
.shd-agents[b-z5gytvnikb] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--bb-gap);
}

.shd-agent-card[b-z5gytvnikb] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
    transition: opacity 0.2s;
}

.shd-agent-stopped[b-z5gytvnikb] {
    opacity: 0.55;
}

.shd-agent-header[b-z5gytvnikb] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.shd-agent-identity[b-z5gytvnikb] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.shd-agent-name[b-z5gytvnikb] {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--bb-text-primary);
    font-family: 'JetBrains Mono', monospace;
}

.shd-agent-meta[b-z5gytvnikb] {
    display: flex;
    gap: 0.4rem;
    align-items: center;
}

.shd-toggle-btn[b-z5gytvnikb] {
    background: rgba(255,255,255,0.05);
    border: 1px solid var(--bb-border);
    border-radius: 8px;
    padding: 0.3rem;
    color: var(--bb-text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: all 0.12s;
}

.shd-toggle-btn:hover[b-z5gytvnikb] {
    background: rgba(56,139,253,0.1);
    border-color: rgba(56,139,253,0.3);
    color: var(--bb-accent);
}

.shd-toggle-btn .material-symbols-outlined[b-z5gytvnikb] {
    font-size: 18px;
}

.shd-agent-stats[b-z5gytvnikb] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

.shd-ast[b-z5gytvnikb] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

/* Trades Table */
.shd-trades[b-z5gytvnikb] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
}
/* /Components/Pages/Telemetry.razor.rz.scp.css */
.tel-page[b-he0wsxasn2] {
    display: flex;
    flex-direction: column;
    gap: var(--bb-gap);
    padding: var(--bb-page-pad);
}

.tel-header[b-he0wsxasn2] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.tel-title[b-he0wsxasn2] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--bb-text-primary);
    margin: 0;
}

/* Service Health Cards */
.tel-services[b-he0wsxasn2] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--bb-gap);
}

.tel-svc-card[b-he0wsxasn2] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.875rem;
}

.tel-svc-red[b-he0wsxasn2]   { box-shadow: 0 0 0 1px rgba(245, 94, 85, 0.4); }
.tel-svc-amber[b-he0wsxasn2] { box-shadow: 0 0 0 1px rgba(240, 136, 62, 0.4); }

.tel-svc-top[b-he0wsxasn2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tel-svc-name[b-he0wsxasn2] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--bb-text-primary);
}

.tel-svc-dot[b-he0wsxasn2] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.dot-green[b-he0wsxasn2] { background: var(--bb-profit); }
.dot-amber[b-he0wsxasn2] { background: var(--bb-warn); }
.dot-red[b-he0wsxasn2]   { background: var(--bb-loss); }

.tel-svc-uptime[b-he0wsxasn2] {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--bb-profit);
    font-family: var(--bb-mono);
}

.tel-svc-uptime.degraded[b-he0wsxasn2] { color: var(--bb-amber); }
.tel-svc-uptime.offline[b-he0wsxasn2]  { color: var(--bb-loss); }

.tel-svc-beat[b-he0wsxasn2] {
    font-size: 0.7rem;
    color: var(--bb-text-muted);
}

/* Broker Connectivity */
.tel-broker-row[b-he0wsxasn2] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--bb-gap);
}

.tel-broker-card[b-he0wsxasn2] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 1rem;
}

.tel-broker-header[b-he0wsxasn2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tel-broker-name[b-he0wsxasn2] {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--bb-text-primary);
}

.tel-broker-detail[b-he0wsxasn2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.3rem 0;
    border-top: 1px solid rgba(255,255,255,0.04);
}

/* Mid row: plugins + signals */
.tel-mid-row[b-he0wsxasn2] {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: var(--bb-gap);
}

.tel-plugin-card[b-he0wsxasn2],
.tel-signal-card[b-he0wsxasn2] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
}

.tel-signal-stats[b-he0wsxasn2] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--bb-gap);
}

.tel-sig-stat[b-he0wsxasn2] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    background: var(--bb-canvas);
    border-radius: 8px;
    padding: 0.75rem;
    text-align: center;
}

.tel-sig-num[b-he0wsxasn2] {
    font-size: 1.5rem;
    font-weight: 700;
}

.tel-rejection-breakdown[b-he0wsxasn2] {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    margin-top: 0.5rem;
}

.tel-rej-row[b-he0wsxasn2] {
    display: grid;
    grid-template-columns: 110px 1fr 36px;
    align-items: center;
    gap: 0.5rem;
}

.tel-rej-lbl[b-he0wsxasn2] {
    font-size: 0.78rem;
    color: var(--bb-text-secondary);
}

.tel-rej-bar-wrap[b-he0wsxasn2] {
    height: 5px;
    background: rgba(255,255,255,0.05);
    border-radius: 3px;
    overflow: hidden;
}

.tel-rej-bar[b-he0wsxasn2] {
    height: 100%;
    background: var(--bb-accent);
    border-radius: 3px;
    transition: width 0.3s ease;
}

.tel-rej-pct[b-he0wsxasn2] {
    font-size: 0.75rem;
    color: var(--bb-text-muted);
    text-align: right;
}

/* Latency */
.tel-latency-card[b-he0wsxasn2] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
}

.tel-latency-list[b-he0wsxasn2] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.tel-lat-row[b-he0wsxasn2] {
    display: grid;
    grid-template-columns: 200px 1fr 70px;
    align-items: center;
    gap: 0.75rem;
}

.tel-lat-lbl[b-he0wsxasn2] {
    font-size: 0.8rem;
    color: var(--bb-text-secondary);
}

.tel-lat-val[b-he0wsxasn2] {
    font-size: 0.82rem;
    color: var(--bb-text-primary);
    text-align: right;
}

/* Log Tail */
.tel-log-card[b-he0wsxasn2] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
}

.tel-log-header[b-he0wsxasn2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tel-log-tabs[b-he0wsxasn2] {
    display: flex;
    gap: 0.25rem;
}

.tel-log-tab[b-he0wsxasn2] {
    padding: 0.25rem 0.7rem;
    border-radius: 6px;
    font-size: 0.72rem;
    font-weight: 600;
    background: none;
    border: 1px solid transparent;
    color: var(--bb-text-muted);
    cursor: pointer;
    transition: all 0.12s;
}

.tel-log-tab:hover[b-he0wsxasn2] { background: rgba(255,255,255,0.05); color: var(--bb-text-secondary); }
.tel-log-tab.active[b-he0wsxasn2] { background: rgba(56,139,253,0.12); border-color: rgba(56,139,253,0.25); color: var(--bb-accent); }

.tel-log-feed[b-he0wsxasn2] {
    background: var(--bb-canvas);
    border-radius: 8px;
    padding: 0.75rem;
    max-height: 280px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    scrollbar-width: thin;
    scrollbar-color: var(--bb-border) transparent;
}

.tel-log-line[b-he0wsxasn2] {
    display: grid;
    grid-template-columns: 100px 70px 1fr;
    gap: 0.5rem;
    font-family: 'JetBrains Mono', 'Courier New', monospace;
    font-size: 0.75rem;
    line-height: 1.5;
    padding: 0.1rem 0;
}

.tel-log-ts[b-he0wsxasn2]  { color: var(--bb-text-muted); }
.tel-log-lvl[b-he0wsxasn2] { font-weight: 600; }
.tel-log-msg[b-he0wsxasn2] { color: var(--bb-text-secondary); }

.tel-log-error .tel-log-lvl[b-he0wsxasn2],
.tel-log-error .tel-log-msg[b-he0wsxasn2] { color: var(--bb-loss); }
.tel-log-warn  .tel-log-lvl[b-he0wsxasn2] { color: var(--bb-warn); }
.tel-log-info  .tel-log-lvl[b-he0wsxasn2] { color: var(--bb-text-muted); }
