/* /Components/CryptoOverviewDialog.razor.rz.scp.css */
/* ── Shell ────────────────────────────────────── */
.cov-shell[b-4sqypqst8u] {
    background: rgba(12, 12, 14, 0.92);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.06);
    width: min(760px, calc(100vw - 24px));
    margin: 0 auto;
    align-self: center;
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(0,0,0,0.6);
    color: #e4e4e7;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    box-sizing: border-box;
}
.cov-shell *[b-4sqypqst8u], .cov-shell *[b-4sqypqst8u]::before, .cov-shell *[b-4sqypqst8u]::after { box-sizing: border-box; }

/* ── Header ───────────────────────────────────── */
.cov-header[b-4sqypqst8u] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 20px 24px 16px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.cov-head-left[b-4sqypqst8u] { flex: 1; min-width: 0; }
.cov-title-row[b-4sqypqst8u] { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cov-symbol[b-4sqypqst8u] { font-size: 22px; font-weight: 700; color: #fff; letter-spacing: -0.3px; }
.cov-badge[b-4sqypqst8u] {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.6px;
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
}
.cov-badge.signal-buy[b-4sqypqst8u] { background: rgba(34,197,94,0.15); color: #4ade80; }
.cov-badge.signal-sell[b-4sqypqst8u] { background: rgba(239,68,68,0.15); color: #f87171; }
.cov-badge.signal-neutral[b-4sqypqst8u] { background: rgba(148,163,184,0.12); color: #94a3b8; }
.cov-type[b-4sqypqst8u] {
    font-size: 10px;
    font-weight: 600;
    color: #a78bfa;
    background: rgba(167,139,250,0.1);
    padding: 3px 8px;
    border-radius: 4px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.cov-name[b-4sqypqst8u] { font-size: 13px; color: #a1a1aa; margin-top: 4px; }
.cov-close[b-4sqypqst8u] {
    background: none; border: none; color: #71717a; font-size: 20px;
    cursor: pointer; padding: 4px 8px; border-radius: 6px;
    transition: all 0.15s;
}
.cov-close:hover[b-4sqypqst8u] { background: rgba(255,255,255,0.06); color: #e4e4e7; }

/* ── Body ─────────────────────────────────────── */
.cov-body[b-4sqypqst8u] {
    overflow-y: auto;
    padding: 20px 24px 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    min-width: 0;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.08) transparent;
}

/* ── Error / Loading ──────────────────────────── */
.cov-error[b-4sqypqst8u] {
    padding: 12px 16px;
    border-radius: 8px;
    background: rgba(239,68,68,0.1);
    border: 1px solid rgba(239,68,68,0.2);
    color: #f87171;
    font-size: 13px;
}
.cov-loading[b-4sqypqst8u] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 48px 0;
    color: #71717a;
    font-size: 13px;
}
.cov-spinner[b-4sqypqst8u] {
    width: 20px; height: 20px;
    border: 2px solid rgba(255,255,255,0.08);
    border-top-color: #a78bfa;
    border-radius: 50%;
    animation: cov-spin-b-4sqypqst8u 0.6s linear infinite;
}
@keyframes cov-spin-b-4sqypqst8u { to { transform: rotate(360deg); } }

/* ── Stats Grid ───────────────────────────────── */
.cov-stats-grid[b-4sqypqst8u] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    width: 100%;
}
.cov-stat-card[b-4sqypqst8u] {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px;
    padding: 14px 16px;
}
.cov-stat-price[b-4sqypqst8u] { grid-column: 1; }
.cov-stat-label[b-4sqypqst8u] {
    font-size: 11px;
    font-weight: 600;
    color: #71717a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
}
.cov-stat-value[b-4sqypqst8u] { font-size: 18px; font-weight: 700; color: #fff; }
.cov-stat-value.price-value[b-4sqypqst8u] { font-size: 22px; font-variant-numeric: tabular-nums; }
.cov-stat-sub[b-4sqypqst8u] {
    font-size: 12px;
    font-weight: 600;
    margin-top: 4px;
}
.cov-stat-sub.positive[b-4sqypqst8u] { color: #4ade80; }
.cov-stat-sub.negative[b-4sqypqst8u] { color: #f87171; }

/* ── Day's Range ──────────────────────────────── */
.cov-range-section[b-4sqypqst8u] {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px;
    padding: 14px 16px;
}
.cov-range-head[b-4sqypqst8u] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.cov-range-label[b-4sqypqst8u] {
    font-size: 11px;
    font-weight: 600;
    color: #71717a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.cov-range-current[b-4sqypqst8u] {
    font-size: 13px;
    font-weight: 600;
    color: #e4e4e7;
}
.cov-range-track[b-4sqypqst8u] {
    position: relative;
    height: 6px;
    background: rgba(255,255,255,0.06);
    border-radius: 3px;
    overflow: visible;
}
.cov-range-fill[b-4sqypqst8u] {
    position: absolute;
    left: 0; top: 0; bottom: 0;
    border-radius: 3px;
    background: linear-gradient(90deg, #a78bfa, #818cf8);
}
.cov-range-marker[b-4sqypqst8u] {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 12px; height: 12px;
    background: #fff;
    border-radius: 50%;
    border: 2px solid #818cf8;
    box-shadow: 0 0 8px rgba(129,140,248,0.4);
    z-index: 1;
}
.cov-range-ends[b-4sqypqst8u] {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    color: #71717a;
    margin-top: 8px;
}

/* ── Analysis Split ───────────────────────────── */
.cov-analysis-split[b-4sqypqst8u] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: stretch;
}

/* ── Panel (shared) ───────────────────────────── */
.cov-panel[b-4sqypqst8u] {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 10px;
    padding: 16px;
    min-width: 0;
}
.cov-panel-title[b-4sqypqst8u] {
    font-size: 12px;
    font-weight: 700;
    color: #a1a1aa;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin: 0 0 14px 0;
}

/* ── Donut ─────────────────────────────────────── */
.cov-ta-content[b-4sqypqst8u] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}
.cov-donut-wrap[b-4sqypqst8u] { position: relative; }
.cov-donut[b-4sqypqst8u] {
    width: 130px; height: 130px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.cov-donut-inner[b-4sqypqst8u] {
    width: 90px; height: 90px;
    border-radius: 50%;
    background: rgba(12,12,14,0.95);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
}
.cov-donut-signal[b-4sqypqst8u] {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.5px;
}
.cov-donut-signal.signal-buy[b-4sqypqst8u] { color: #4ade80; }
.cov-donut-signal.signal-sell[b-4sqypqst8u] { color: #f87171; }
.cov-donut-signal.signal-neutral[b-4sqypqst8u] { color: #94a3b8; }
.cov-donut-count[b-4sqypqst8u] { font-size: 10px; color: #71717a; }

/* Legend */
.cov-ta-legend[b-4sqypqst8u] { display: flex; flex-direction: column; gap: 6px; width: 100%; }
.cov-legend-row[b-4sqypqst8u] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
}
.cov-ldot[b-4sqypqst8u] { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.cov-ltext[b-4sqypqst8u] { color: #a1a1aa; flex: 1; }
.cov-lval[b-4sqypqst8u] { color: #e4e4e7; font-weight: 600; font-variant-numeric: tabular-nums; }

/* ── Performance ──────────────────────────────── */
.cov-perf-rows[b-4sqypqst8u] { display: flex; flex-direction: column; gap: 0; }
.cov-prow[b-4sqypqst8u] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 0;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}
.cov-prow:last-child[b-4sqypqst8u] { border-bottom: none; }
.cov-prow-label[b-4sqypqst8u] { font-size: 12px; color: #a1a1aa; }
.cov-prow-val[b-4sqypqst8u] {
    font-size: 13px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.cov-prow-val.positive[b-4sqypqst8u] { color: #4ade80; }
.cov-prow-val.negative[b-4sqypqst8u] { color: #f87171; }

/* ── Indicators Table ─────────────────────────── */
.cov-indicators-panel[b-4sqypqst8u] { padding: 16px; }
.cov-history-note[b-4sqypqst8u] {
    color: #71717a;
    font-size: 11px;
    margin: -6px 0 12px;
    text-align: center;
}
.cov-table-wrap[b-4sqypqst8u] { overflow-x: auto; }
.cov-table[b-4sqypqst8u] {
    width: 100%;
    min-width: 520px;
    border-collapse: collapse;
    font-size: 12px;
}
.cov-table thead[b-4sqypqst8u] { border-bottom: 1px solid rgba(255,255,255,0.08); }
.cov-th-left[b-4sqypqst8u], .cov-th-right[b-4sqypqst8u] {
    padding: 8px 10px;
    font-size: 10px;
    font-weight: 700;
    color: #71717a;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.cov-th-left[b-4sqypqst8u] { text-align: left; }
.cov-th-right[b-4sqypqst8u] { text-align: right; }

.cov-trow[b-4sqypqst8u] { border-bottom: 1px solid rgba(255,255,255,0.03); }
.cov-trow:last-child[b-4sqypqst8u] { border-bottom: none; }
.cov-trow:hover[b-4sqypqst8u] { background: rgba(255,255,255,0.02); }
.cov-td-ind[b-4sqypqst8u] { padding: 10px 10px; }
.cov-td-right[b-4sqypqst8u] {
    padding: 10px 10px;
    text-align: right;
    font-variant-numeric: tabular-nums;
    color: #e4e4e7;
}
.cov-dim[b-4sqypqst8u] { color: #52525b; }
.cov-ind-name[b-4sqypqst8u] { font-weight: 600; color: #e4e4e7; font-size: 12px; }
.cov-ind-param[b-4sqypqst8u] { font-size: 10px; color: #52525b; margin-top: 2px; }

/* ── Signal Pill ──────────────────────────────── */
.cov-signal-pill[b-4sqypqst8u] {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.4px;
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
}
.cov-signal-pill.signal-buy[b-4sqypqst8u] { background: rgba(34,197,94,0.12); color: #4ade80; }
.cov-signal-pill.signal-sell[b-4sqypqst8u] { background: rgba(239,68,68,0.12); color: #f87171; }
.cov-signal-pill.signal-neutral[b-4sqypqst8u] { background: rgba(148,163,184,0.08); color: #94a3b8; }

/* ── Responsive ───────────────────────────────── */
@media (max-width: 640px) {
    .cov-shell[b-4sqypqst8u] { width: calc(100vw - 12px); max-height: calc(100vh - 12px); border-radius: 12px; }
    .cov-header[b-4sqypqst8u] { padding: 16px 16px 12px; }
    .cov-body[b-4sqypqst8u] { padding: 16px; }
    .cov-stats-grid[b-4sqypqst8u] { grid-template-columns: 1fr; }
    .cov-analysis-split[b-4sqypqst8u] { grid-template-columns: 1fr; }
    .cov-panel[b-4sqypqst8u] { width: 100%; }
    .cov-stat-value.price-value[b-4sqypqst8u] { font-size: 20px; }
    .cov-donut[b-4sqypqst8u] { width: 110px; height: 110px; }
    .cov-donut-inner[b-4sqypqst8u] { width: 76px; height: 76px; }
}
/* /Components/EtfOverviewDialog.razor.rz.scp.css */
/* ─── EtfOverviewDialog ─── */

.sov-shell[b-zt76gipqfr] {
    background: #1a1d23;
    color: #d1d5db;
    border-radius: 16px;
    overflow: hidden;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
}

.sov-header[b-zt76gipqfr] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 24px 28px 16px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.sov-head-left[b-zt76gipqfr] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sov-title-row[b-zt76gipqfr] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sov-symbol[b-zt76gipqfr] {
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: .5px;
}

.sov-type[b-zt76gipqfr] {
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 3px 8px;
    border-radius: 4px;
    background: rgba(99,102,241,.25);
    color: #818cf8;
}

.sov-name[b-zt76gipqfr] {
    font-size: .85rem;
    color: #9ca3af;
    margin-top: 2px;
}

.sov-close[b-zt76gipqfr] {
    background: none;
    border: none;
    color: #6b7280;
    font-size: 1.7rem;
    cursor: pointer;
    line-height: 1;
    padding: 4px 8px;
    border-radius: 8px;
    transition: all .15s;
}

    .sov-close:hover[b-zt76gipqfr] {
        color: #fff;
        background: rgba(255,255,255,.08);
    }

.sov-body[b-zt76gipqfr] {
    padding: 20px 28px 28px;
    overflow-y: auto;
    flex: 1;
}

.sov-loading[b-zt76gipqfr],
.sov-error[b-zt76gipqfr] {
    text-align: center;
    padding: 40px 0;
    font-size: .9rem;
}

.sov-error[b-zt76gipqfr] {
    color: #f87171;
}

/* ── Top Cards ── */
.sov-top-grid[b-zt76gipqfr] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}

.sov-card[b-zt76gipqfr] {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 12px;
    padding: 16px 20px;
}

.sov-label[b-zt76gipqfr] {
    font-size: .7rem;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: #6b7280;
    margin-bottom: 8px;
}

.sov-price[b-zt76gipqfr] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #fff;
}

.sov-change[b-zt76gipqfr] {
    font-size: .8rem;
    margin-top: 4px;
}

    .sov-change.positive[b-zt76gipqfr] {
        color: #34d399;
    }

    .sov-change.negative[b-zt76gipqfr] {
        color: #f87171;
    }

.sov-big[b-zt76gipqfr] {
    font-size: 1.4rem;
    font-weight: 700;
    color: #fff;
}

.sov-range-inline[b-zt76gipqfr] {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-top: 4px;
}

.sov-range-lo[b-zt76gipqfr] {
    font-size: 1.05rem;
    font-weight: 600;
    color: #f87171;
}

.sov-range-hi[b-zt76gipqfr] {
    font-size: 1.05rem;
    font-weight: 600;
    color: #34d399;
}

/* ── Sections ── */
.sov-section[b-zt76gipqfr] {
    margin-bottom: 24px;
}

.sov-section-title[b-zt76gipqfr] {
    font-weight: 700;
    font-size: .95rem;
    color: #e5e7eb;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.sov-description[b-zt76gipqfr] {
    font-size: .85rem;
    color: #9ca3af;
    line-height: 1.65;
}

.sov-show-more[b-zt76gipqfr] {
    background: none;
    border: none;
    color: #6366f1;
    font-size: .8rem;
    cursor: pointer;
    padding: 4px 0;
    margin-top: 4px;
}

    .sov-show-more:hover[b-zt76gipqfr] {
        color: #818cf8;
    }

/* ── Fund Details Grid ── */
.sov-fund-grid[b-zt76gipqfr] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.sov-fund-card[b-zt76gipqfr] {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 10px;
    padding: 14px 16px;
    text-align: center;
}

.sov-fund-label[b-zt76gipqfr] {
    font-size: .6rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #6b7280;
    margin-bottom: 8px;
}

.sov-fund-value[b-zt76gipqfr] {
    font-size: 1.15rem;
    font-weight: 700;
    color: #fff;
}

/* ── Holdings Table ── */
.sov-holdings-wrap[b-zt76gipqfr] {
    overflow-x: auto;
}

.sov-holdings-table[b-zt76gipqfr] {
    width: 100%;
    border-collapse: collapse;
    font-size: .85rem;
}

    .sov-holdings-table th[b-zt76gipqfr] {
        font-size: .65rem;
        text-transform: uppercase;
        letter-spacing: 1px;
        color: #6b7280;
        padding: 8px 12px;
        border-bottom: 1px solid rgba(255,255,255,.08);
        text-align: left;
    }

    .sov-holdings-table td[b-zt76gipqfr] {
        padding: 10px 12px;
        border-bottom: 1px solid rgba(255,255,255,.04);
        color: #d1d5db;
    }

    .sov-holdings-table tbody tr:hover[b-zt76gipqfr] {
        background: rgba(255,255,255,.03);
    }

.text-right[b-zt76gipqfr] {
    text-align: right !important;
}

.holding-symbol[b-zt76gipqfr] {
    font-weight: 600;
    color: #818cf8;
    font-size: .8rem;
}

.holding-name[b-zt76gipqfr] {
    color: #9ca3af;
}

.holding-weight[b-zt76gipqfr] {
    font-weight: 600;
    color: #e5e7eb;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .sov-top-grid[b-zt76gipqfr] {
        grid-template-columns: 1fr;
    }

    .sov-fund-grid[b-zt76gipqfr] {
        grid-template-columns: repeat(2, 1fr);
    }
}
/* /Components/PlanGate.razor.rz.scp.css */
.plan-gate-container[b-3u3hqt4vv1] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    padding: 24px;
}

.plan-gate-card[b-3u3hqt4vv1] {
    text-align: center;
    background: var(--bg-secondary, #141414);
    border: 1px solid var(--border, #2a2a2a);
    border-radius: 16px;
    padding: 48px 40px;
    max-width: 440px;
    width: 100%;
}

.plan-gate-icon[b-3u3hqt4vv1] {
    font-size: 48px;
    margin-bottom: 16px;
}

.plan-gate-card h2[b-3u3hqt4vv1] {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 12px;
    color: var(--text-primary, #fff);
}

.plan-gate-card p[b-3u3hqt4vv1] {
    color: var(--text-secondary, #94A3B8);
    font-size: 15px;
    margin-bottom: 8px;
    line-height: 1.5;
}

.plan-gate-sub[b-3u3hqt4vv1] {
    font-size: 13px !important;
    margin-top: 12px !important;
}

.plan-gate-btn[b-3u3hqt4vv1] {
    display: inline-block;
    margin-top: 24px;
    padding: 12px 32px;
    background: var(--accent-gold, #A67C52);
    color: #fff;
    border-radius: 10px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    transition: opacity 0.15s;
}

.plan-gate-btn:hover[b-3u3hqt4vv1] {
    opacity: 0.85;
}
/* /Components/StockAutocomplete.razor.rz.scp.css */
/* ── StockAutocomplete Input ────────────────────────── */
.stock-ac-input[b-c522p98z9s] {
    width: 100%;
    padding: 10px 36px 10px 14px;
    background: var(--bg-secondary, #1a1a1a);
    border: 1px solid var(--border, #2a2a2a);
    border-radius: 10px;
    color: var(--text-primary, #e0e0e0);
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}

.stock-ac-input:focus[b-c522p98z9s] {
    border-color: var(--accent-gold, #a67c52);
    box-shadow: 0 0 0 2px rgba(166, 124, 82, 0.15);
}

.stock-ac-input[b-c522p98z9s]::placeholder {
    color: var(--text-secondary, #888);
}

/* ── Clear Button ─────────────────────────────────── */
.stock-ac-clear[b-c522p98z9s] {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--text-secondary, #888);
    cursor: pointer;
    font-size: 14px;
    padding: 4px;
    line-height: 1;
    border-radius: 4px;
    transition: color 0.15s, background 0.15s;
}

.stock-ac-clear:hover[b-c522p98z9s] {
    color: var(--text-primary, #e0e0e0);
    background: rgba(255, 255, 255, 0.06);
}

/* ── Dropdown ─────────────────────────────────────── */
.stock-ac-dropdown[b-c522p98z9s] {
    position: absolute;
    z-index: 50;
    left: 0;
    right: 0;
    margin-top: 6px;
    background: var(--bg-secondary, #1a1a1a);
    border: 1px solid var(--border, #2a2a2a);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.45);
    max-height: 280px;
    overflow-y: auto;
}

.stock-ac-dropdown[b-c522p98z9s]::-webkit-scrollbar {
    width: 6px;
}

.stock-ac-dropdown[b-c522p98z9s]::-webkit-scrollbar-track {
    background: transparent;
}

.stock-ac-dropdown[b-c522p98z9s]::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
}

/* ── Result Item ──────────────────────────────────── */
.stock-ac-item[b-c522p98z9s] {
    width: 100%;
    text-align: left;
    padding: 10px 14px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--border, #2a2a2a);
    cursor: pointer;
    color: var(--text-primary, #e0e0e0);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    transition: background 0.15s;
}

.stock-ac-item:hover[b-c522p98z9s] {
    background: rgba(166, 124, 82, 0.08);
}

.stock-ac-item:last-child[b-c522p98z9s] {
    border-bottom: none;
}

.stock-ac-symbol[b-c522p98z9s] {
    font-weight: 800;
    font-size: 14px;
    color: var(--accent-gold, #a67c52);
}

.stock-ac-name[b-c522p98z9s] {
    font-size: 12px;
    color: var(--text-secondary, #888);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 280px;
}

.stock-ac-exchange[b-c522p98z9s] {
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary, #888);
    border: 1px solid var(--border, #2a2a2a);
    padding: 2px 8px;
    border-radius: 999px;
    white-space: nowrap;
}

/* ── Message (loading / no results) ───────────────── */
.stock-ac-message[b-c522p98z9s] {
    padding: 14px;
    color: var(--text-secondary, #888);
    font-size: 13px;
    text-align: center;
}
/* /Components/StockOverviewDialog.razor.rz.scp.css */
.sov-shell[b-vuhlznbdjp] {
    width: 100%;
    max-width: 1100px;
}

.sov-header[b-vuhlznbdjp] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: rgba(10, 10, 10, 0.75);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--border);
    padding: 18px 18px 14px 18px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.sov-title-row[b-vuhlznbdjp] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.sov-symbol[b-vuhlznbdjp] {
    font-size: 28px;
    font-weight: 900;
    color: var(--text-primary);
    letter-spacing: -0.02em;
}

.sov-name[b-vuhlznbdjp] {
    margin-top: 6px;
    color: var(--text-secondary);
    font-size: 13px;
}

.sov-rec[b-vuhlznbdjp] {
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid var(--border);
    font-weight: 900;
    font-size: 12px;
    letter-spacing: 0.2px;
}

.sov-rec.rec-buy[b-vuhlznbdjp] {
    color: var(--positive);
    border-color: rgba(0, 255, 136, 0.25);
    background: rgba(0, 255, 136, 0.10);
}

.sov-rec.rec-sell[b-vuhlznbdjp] {
    color: var(--negative);
    border-color: rgba(255, 68, 68, 0.25);
    background: rgba(255, 68, 68, 0.10);
}

.sov-rec.rec-hold[b-vuhlznbdjp] {
    color: var(--accent-gold);
    border-color: rgba(166, 124, 82, 0.25);
    background: rgba(166, 124, 82, 0.10);
}

.sov-type[b-vuhlznbdjp] {
    padding: 6px 10px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.02);
    font-size: 12px;
    font-weight: 800;
    color: var(--text-secondary);
}

.sov-close[b-vuhlznbdjp] {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(10, 10, 10, 0.35);
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 26px;
    line-height: 1;
}

.sov-close:hover[b-vuhlznbdjp] {
    border-color: rgba(166, 124, 82, 0.30);
    color: var(--text-primary);
}

.sov-body[b-vuhlznbdjp] {
    padding: 18px;
}

.sov-error[b-vuhlznbdjp] {
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(255, 68, 68, 0.10);
    border: 1px solid rgba(255, 68, 68, 0.25);
    color: #fca5a5;
    font-size: 13px;
    margin-bottom: 14px;
}

.sov-loading[b-vuhlznbdjp] {
    padding: 40px 0;
    text-align: center;
    color: var(--text-secondary);
}

.sov-top-grid[b-vuhlznbdjp] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

@media (min-width: 768px) {
    .sov-top-grid[b-vuhlznbdjp] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.sov-card[b-vuhlznbdjp] {
    padding: 18px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.03);
}

.sov-label[b-vuhlznbdjp] {
    font-size: 12px;
    color: var(--text-secondary);
    font-weight: 800;
    margin-bottom: 8px;
}

.sov-price[b-vuhlznbdjp] {
    font-size: 28px;
    font-weight: 900;
    color: var(--text-primary);
}

.sov-change[b-vuhlznbdjp] {
    margin-top: 10px;
    font-size: 12px;
    font-weight: 900;
}

.sov-change.positive[b-vuhlznbdjp] {
    color: var(--positive);
}

.sov-change.negative[b-vuhlznbdjp] {
    color: var(--negative);
}

.sov-big[b-vuhlznbdjp] {
    font-size: 24px;
    font-weight: 900;
    color: var(--text-primary);
}

.sov-section[b-vuhlznbdjp] {
    margin-top: 24px;
}

.sov-section-title[b-vuhlznbdjp] {
    font-size: 14px;
    font-weight: 900;
    color: var(--accent-gold);
    margin-bottom: 12px;
}

/* --- Key Statistics Metrics --- */

.sov-metrics[b-vuhlznbdjp] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

@media (min-width: 768px) {
    .sov-metrics[b-vuhlznbdjp] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.sov-metric[b-vuhlznbdjp] {
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.03) 0%, rgba(255, 255, 255, 0.01) 100%);
    transition: border-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
    cursor: default;
}

.sov-metric:hover[b-vuhlznbdjp] {
    border-color: rgba(166, 124, 82, 0.35);
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

.sov-metric-header[b-vuhlznbdjp] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
}

.sov-metric-icon[b-vuhlznbdjp] {
    font-size: 14px;
    line-height: 1;
    flex-shrink: 0;
}

.sov-metric-label[b-vuhlznbdjp] {
    font-size: 11px;
    color: var(--text-secondary);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.7px;
}

.sov-metric-value[b-vuhlznbdjp] {
    font-size: 20px;
    font-weight: 900;
    color: var(--text-primary);
    letter-spacing: -0.02em;
}

.sov-metric-sub[b-vuhlznbdjp] {
    margin-top: 4px;
    font-size: 11px;
    color: var(--text-secondary);
}

/* --- Layout Split --- */

.sov-split[b-vuhlznbdjp] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}

@media (min-width: 768px) {
    .sov-split[b-vuhlznbdjp] {
        grid-template-columns: 1fr 1fr;
    }
}

.sov-panel[b-vuhlznbdjp] {
    padding: 18px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    background: rgba(255, 255, 255, 0.02);
}

.sov-spacer[b-vuhlznbdjp] {
    height: 14px;
}

/* --- Price Range Bars --- */

.sov-range[b-vuhlznbdjp] {
    margin-bottom: 18px;
}

.sov-range:last-child[b-vuhlznbdjp] {
    margin-bottom: 0;
}

.sov-range-header[b-vuhlznbdjp] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.sov-range-label[b-vuhlznbdjp] {
    font-size: 12px;
    color: var(--text-secondary);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.sov-range-current[b-vuhlznbdjp] {
    color: var(--accent-gold);
    font-weight: 900;
    font-size: 15px;
    letter-spacing: -0.02em;
}

.sov-range-track[b-vuhlznbdjp] {
    position: relative;
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    overflow: visible;
}

.sov-range-fill[b-vuhlznbdjp] {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg,
        rgba(166, 124, 82, 0.25) 0%,
        rgba(166, 124, 82, 0.55) 50%,
        rgba(210, 160, 100, 0.75) 100%);
    transition: width 0.5s ease;
}

.sov-range-marker[b-vuhlznbdjp] {
    position: absolute;
    top: 50%;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--accent-gold);
    border: 3px solid rgba(20, 20, 20, 0.9);
    box-shadow: 0 0 0 3px rgba(166, 124, 82, 0.3), 0 0 12px rgba(166, 124, 82, 0.4);
    transform: translate(-50%, -50%);
    z-index: 2;
    transition: left 0.5s ease;
}

.sov-range-pulse[b-vuhlznbdjp] {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(166, 124, 82, 0.15);
    transform: translate(-50%, -50%);
    animation: range-pulse-b-vuhlznbdjp 2s ease-in-out infinite;
}

@keyframes range-pulse-b-vuhlznbdjp {
    0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.5; }
    50% { transform: translate(-50%, -50%) scale(1.5); opacity: 0; }
}

.sov-range-endpoints[b-vuhlznbdjp] {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
}

.sov-range-low[b-vuhlznbdjp],
.sov-range-high[b-vuhlznbdjp] {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-secondary);
}

.sov-perf-row[b-vuhlznbdjp] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 6px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.sov-perf-row:last-child[b-vuhlznbdjp] {
    border-bottom: 0;
}

.sov-perf-label[b-vuhlznbdjp] {
    color: var(--text-secondary);
    font-weight: 800;
}

.sov-perf-val[b-vuhlznbdjp] {
    font-weight: 900;
}

.sov-perf-val.positive[b-vuhlznbdjp] {
    color: var(--positive);
}

.sov-perf-val.negative[b-vuhlznbdjp] {
    color: var(--negative);
}

/* /Layout/MainLayout.razor.rz.scp.css */
/* ===== App Shell ===== */
.app-shell[b-n2rt78yxbt] {
    min-height: 100vh;
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ===== Sidebar ===== */
.sidebar[b-n2rt78yxbt] {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    height: 100%;
    width: 80px;
    flex-direction: column;
    align-items: center;
    padding: 32px 0;
    z-index: 50;
    backdrop-filter: blur(18px);
    background: rgba(20, 20, 20, 0.80);
    border-right: 1px solid var(--border);
}

.sidebar-logo[b-n2rt78yxbt] {
    margin-bottom: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}

.logo-img[b-n2rt78yxbt] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    object-fit: contain;
}

.sidebar-nav[b-n2rt78yxbt] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
    padding: 0 8px;
}

.sidebar-link[b-n2rt78yxbt] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    border-radius: 12px;
    transition: all 0.2s ease;
    color: var(--text-secondary);
    text-decoration: none;
    cursor: pointer;
    background: none;
    border: none;
    width: 100%;
}

.sidebar-link:hover[b-n2rt78yxbt] {
    color: var(--accent-gold);
    background: rgba(10, 10, 10, 0.50);
}

.sidebar-link.active[b-n2rt78yxbt] {
    background: rgba(166, 124, 82, 0.10);
    color: var(--accent-gold);
}

.sidebar-icon[b-n2rt78yxbt] {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.sidebar-tooltip[b-n2rt78yxbt] {
    position: absolute;
    left: 100%;
    margin-left: 16px;
    padding: 4px 8px;
    background: var(--bg-secondary);
    color: var(--accent-gold);
    font-size: 12px;
    border-radius: 6px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease;
    z-index: 50;
    border: 1px solid var(--border);
}

.sidebar-link:hover .sidebar-tooltip[b-n2rt78yxbt] {
    opacity: 1;
}

.sidebar-indicator[b-n2rt78yxbt] {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 32px;
    background: var(--accent-gold);
    border-radius: 0 9999px 9999px 0;
}

.sidebar-bottom[b-n2rt78yxbt] {
    margin-top: auto;
    padding: 0 8px;
    width: 100%;
}

.logout-link:hover[b-n2rt78yxbt] {
    color: var(--negative) !important;
    background: rgba(255, 68, 68, 0.10) !important;
}

/* ===== Main area ===== */
.main-area[b-n2rt78yxbt] {
    padding-left: 0;
    min-height: 100vh;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    padding-bottom: 64px;
}

/* ===== Top Header ===== */
.top-header[b-n2rt78yxbt] {
    position: sticky;
    top: 0;
    z-index: 40;
    width: 100%;
    border-bottom: 1px solid var(--border);
    background: rgba(20, 20, 20, 0.80);
    backdrop-filter: blur(12px);
    margin-bottom: 32px;
    display: flex;
    height: 64px;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
}

.header-left[b-n2rt78yxbt] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.header-logo-mobile[b-n2rt78yxbt] {
    display: flex;
    align-items: center;
}

.logo-img-sm[b-n2rt78yxbt] {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    object-fit: contain;
}

.header-welcome[b-n2rt78yxbt] {
    display: none;
}

.welcome-name[b-n2rt78yxbt] {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
}

.welcome-market[b-n2rt78yxbt] {
    margin: 0;
    font-size: 12px;
    color: var(--text-secondary);
}

.market-status[b-n2rt78yxbt] {
    font-weight: 500;
}

.market-open[b-n2rt78yxbt] {
    color: #10b981;
}

.market-closed[b-n2rt78yxbt] {
    color: #f97316;
}

.header-right[b-n2rt78yxbt] {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-left: 32px;
    border-left: 1px solid var(--border);
}

.header-icon-btn[b-n2rt78yxbt] {
    padding: 8px;
    color: var(--text-secondary);
    transition: color 0.15s ease;
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.header-icon-btn:hover[b-n2rt78yxbt] {
    color: var(--accent-gold);
}

.h-icon[b-n2rt78yxbt] {
    width: 20px;
    height: 20px;
}

.header-role[b-n2rt78yxbt] {
    display: none;
    flex-direction: column;
    align-items: flex-end;
    margin-right: 8px;
}

.role-label[b-n2rt78yxbt] {
    font-size: 11px;
    color: var(--text-secondary);
    text-transform: uppercase;
    font-weight: 500;
}

.role-value[b-n2rt78yxbt] {
    font-size: 14px;
    font-weight: 700;
    color: var(--accent-gold);
}

.header-plan[b-n2rt78yxbt] {
    display: none;
    flex-direction: column;
    align-items: flex-end;
    margin-right: 8px;
    text-decoration: none;
    transition: opacity 0.15s ease;
}

.header-plan:hover[b-n2rt78yxbt] {
    opacity: 0.8;
}

.plan-label[b-n2rt78yxbt] {
    font-size: 11px;
    color: var(--text-secondary);
    text-transform: uppercase;
    font-weight: 500;
}

.plan-value[b-n2rt78yxbt] {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 4px;
}

.plan-upgrade[b-n2rt78yxbt] {
    font-size: 11px;
    background: #10b981;
    color: white;
    padding: 1px 6px;
    border-radius: 4px;
    margin-left: 4px;
}

/* Notifications */
.notif-wrapper[b-n2rt78yxbt] {
    position: relative;
}

.notif-dot[b-n2rt78yxbt] {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 8px;
    height: 8px;
    background: var(--accent-gold);
    border-radius: 50%;
    border: 2px solid var(--bg-primary);
}

.notif-backdrop[b-n2rt78yxbt] {
    position: fixed;
    inset: 0;
    z-index: 998;
}

.notif-dropdown[b-n2rt78yxbt] {
    position: absolute;
    right: 0;
    top: 100%;
    margin-top: 8px;
    width: 320px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 12px;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    z-index: 999;
}

.notif-header[b-n2rt78yxbt] {
    padding: 16px;
    border-bottom: 1px solid var(--border);
}

.notif-header h3[b-n2rt78yxbt] {
    margin: 0;
    font-weight: 600;
    color: var(--text-primary);
    font-size: 14px;
}

.notif-body[b-n2rt78yxbt] {
    max-height: 384px;
    overflow-y: auto;
}

.notif-empty[b-n2rt78yxbt] {
    padding: 16px;
    text-align: center;
    color: var(--text-secondary);
    font-size: 14px;
}

.notif-item[b-n2rt78yxbt] {
    padding: 16px;
    border-bottom: 1px solid var(--border);
    transition: background 0.15s ease;
}

.notif-item:hover[b-n2rt78yxbt] {
    background: rgba(10, 10, 10, 0.50);
}

.notif-content[b-n2rt78yxbt] {
    min-width: 0;
    flex: 1;
}

.notif-row[b-n2rt78yxbt] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 4px;
}

.notif-item-title[b-n2rt78yxbt] {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
}

.notif-time[b-n2rt78yxbt] {
    font-size: 12px;
    color: var(--text-secondary);
    white-space: nowrap;
}

.notif-detail[b-n2rt78yxbt] {
    margin: 0;
    font-size: 14px;
    color: var(--text-secondary);
}

.notif-clickable[b-n2rt78yxbt] {
    cursor: pointer;
}

.notif-clickable:hover[b-n2rt78yxbt] {
    background: rgba(166, 124, 82, 0.12);
}

.notif-symbol-tag[b-n2rt78yxbt] {
    display: inline-block;
    margin-top: 6px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    color: #A67C52;
    background: rgba(166, 124, 82, 0.12);
    border-radius: 4px;
}

/* User menu */
.user-menu-wrapper[b-n2rt78yxbt] {
    position: relative;
}

.user-avatar-btn[b-n2rt78yxbt] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    overflow: hidden;
    cursor: pointer;
    transition: border-color 0.15s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.user-avatar-btn:hover[b-n2rt78yxbt] {
    border-color: var(--accent-gold);
}

.user-avatar-btn:focus[b-n2rt78yxbt] {
    outline: none;
    box-shadow: 0 0 0 2px rgba(166, 124, 82, 0.50);
}

.avatar-img[b-n2rt78yxbt] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.avatar-circle[b-n2rt78yxbt] {
    font-weight: 700;
    color: var(--accent-gold);
    font-size: 14px;
}

.user-menu-backdrop[b-n2rt78yxbt] {
    position: fixed;
    inset: 0;
    z-index: 998;
}

.user-dropdown[b-n2rt78yxbt] {
    position: absolute;
    right: 0;
    margin-top: 8px;
    width: 224px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
    overflow: hidden;
    z-index: 999;
}

.user-dropdown-header[b-n2rt78yxbt] {
    padding: 16px;
    border-bottom: 1px solid var(--border);
    background: rgba(10, 10, 10, 0.50);
}

.user-dropdown-name[b-n2rt78yxbt] {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
}

.user-dropdown-email[b-n2rt78yxbt] {
    margin: 0;
    font-size: 12px;
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-dropdown-body[b-n2rt78yxbt] {
    padding: 4px;
}

.user-dropdown-item[b-n2rt78yxbt] {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    font-size: 14px;
    color: var(--text-secondary);
    border-radius: 6px;
    transition: background 0.15s ease;
    text-decoration: none;
    cursor: pointer;
    background: none;
    border: none;
    width: 100%;
    text-align: left;
}

.user-dropdown-item:hover[b-n2rt78yxbt] {
    background: var(--bg-primary);
}

.admin-item[b-n2rt78yxbt] {
    color: var(--accent-gold);
    font-weight: 500;
}

.dd-icon[b-n2rt78yxbt] {
    width: 16px;
    height: 16px;
    margin-right: 8px;
    color: var(--text-secondary);
}

.user-dropdown-divider[b-n2rt78yxbt] {
    height: 1px;
    background: var(--border);
    margin: 4px 0;
}

.logout-item[b-n2rt78yxbt] {
    color: #f87171 !important;
}

.logout-item:hover[b-n2rt78yxbt] {
    background: rgba(239, 68, 68, 0.10) !important;
}

/* ===== Content ===== */
.content-area[b-n2rt78yxbt] {
    flex: 1;
    overflow: auto;
    padding: 0 16px 32px;
}

/* ===== Footer ===== */
.app-footer[b-n2rt78yxbt] {
    width: 100%;
    padding: 24px 16px;
    border-top: 1px solid var(--border);
    background: var(--bg-secondary);
    text-align: center;
    font-size: 14px;
    color: var(--text-secondary);
    margin-top: auto;
}

.footer-inner[b-n2rt78yxbt] {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.footer-brand[b-n2rt78yxbt] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-name[b-n2rt78yxbt] {
    font-weight: 600;
    color: var(--text-primary);
}

.footer-dev[b-n2rt78yxbt] {
    color: var(--text-muted);
}

.footer-author[b-n2rt78yxbt] {
    color: var(--text-primary);
    font-weight: 500;
}

.footer-links[b-n2rt78yxbt] {
    display: flex;
    gap: 24px;
    color: var(--text-muted);
}

.footer-link[b-n2rt78yxbt] {
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    font-size: 14px;
    transition: color 0.15s ease;
}

.footer-link:hover[b-n2rt78yxbt] {
    color: var(--text-primary);
}

/* ===== Mobile Bottom Nav ===== */
.mobile-nav[b-n2rt78yxbt] {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 64px;
    background: rgba(20, 20, 20, 0.95);
    backdrop-filter: blur(12px);
    border-top: 1px solid var(--border);
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 0 8px;
}

.mobile-nav-item[b-n2rt78yxbt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 100%;
    gap: 4px;
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.15s ease;
}

.mobile-nav-item:hover[b-n2rt78yxbt],
.mobile-nav-item.active[b-n2rt78yxbt] {
    color: var(--accent-gold);
}

.mobile-icon[b-n2rt78yxbt] {
    width: 20px;
    height: 20px;
}

.mobile-label[b-n2rt78yxbt] {
    font-size: 10px;
    font-weight: 500;
}

/* ===== Mobile "More" Sheet ===== */
.mm-backdrop[b-n2rt78yxbt] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 100;
    backdrop-filter: blur(4px);
}

.mm-sheet[b-n2rt78yxbt] {
    position: fixed;
    bottom: 64px;
    left: 0;
    right: 0;
    background: #111113;
    border-top: 1px solid var(--border, #2a2a2a);
    border-radius: 20px 20px 0 0;
    z-index: 101;
    padding: 0 16px 16px;
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.4);
    animation: mm-slide-up-b-n2rt78yxbt 0.22s ease-out;
}

@keyframes mm-slide-up-b-n2rt78yxbt {
    from { transform: translateY(100%); opacity: 0; }
    to   { transform: translateY(0);    opacity: 1; }
}

.mm-header[b-n2rt78yxbt] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 4px 8px;
}

.mm-title[b-n2rt78yxbt] {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary, #fff);
}

.mm-close[b-n2rt78yxbt] {
    background: none;
    border: none;
    color: var(--text-secondary, #94A3B8);
    font-size: 22px;
    cursor: pointer;
    padding: 2px 6px;
    line-height: 1;
    transition: color 0.15s;
}

.mm-close:hover[b-n2rt78yxbt] {
    color: #fff;
}

.mm-grid[b-n2rt78yxbt] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.mm-item[b-n2rt78yxbt] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 18px 8px;
    border-radius: 14px;
    text-decoration: none;
    color: var(--text-secondary, #94A3B8);
    transition: all 0.15s ease;
    background: rgba(255, 255, 255, 0.03);
}

.mm-item:hover[b-n2rt78yxbt],
.mm-item:active[b-n2rt78yxbt] {
    color: var(--accent-gold, #A67C52);
    background: rgba(166, 124, 82, 0.08);
}

.mm-icon[b-n2rt78yxbt] {
    width: 24px;
    height: 24px;
}

.mm-label[b-n2rt78yxbt] {
    font-size: 11px;
    font-weight: 500;
    text-align: center;
    white-space: nowrap;
}

/* ===== Responsive ===== */
@media (min-width: 768px) {
    .sidebar[b-n2rt78yxbt] {
        display: flex;
    }

    .main-area[b-n2rt78yxbt] {
        padding-left: 80px;
        padding-bottom: 0;
    }

    .mobile-nav[b-n2rt78yxbt] {
        display: none;
    }

    .mm-backdrop[b-n2rt78yxbt],
    .mm-sheet[b-n2rt78yxbt] {
        display: none;
    }

    .header-logo-mobile[b-n2rt78yxbt] {
        display: none;
    }

    .header-welcome[b-n2rt78yxbt] {
        display: block;
    }

    .header-role[b-n2rt78yxbt] {
        display: flex;
    }

    .header-plan[b-n2rt78yxbt] {
        display: flex;
    }

    .top-header[b-n2rt78yxbt] {
        padding: 0 16px 0 24px;
    }

    .content-area[b-n2rt78yxbt] {
        padding: 0 32px 32px;
    }

    .footer-inner[b-n2rt78yxbt] {
        flex-direction: row;
        justify-content: space-between;
    }
}

@media (min-width: 1024px) {
    .top-header[b-n2rt78yxbt] {
        padding: 0 32px;
    }
}

/* ── Contact & Bug Report Modals ── */
/* ── Popup Modals (Contact Us + Report an Issue) ────────────────── */

.modal-overlay[b-n2rt78yxbt] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(5px);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.modal-dialog[b-n2rt78yxbt] {
    position: relative;
    background: #1a1d26;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    width: 100%;
    max-width: 420px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: popup-in-b-n2rt78yxbt 0.18s ease;
}

@keyframes popup-in-b-n2rt78yxbt {
    from { opacity: 0; transform: scale(0.96) translateY(6px); }
    to   { opacity: 1; transform: scale(1)   translateY(0); }
}

.modal-close-btn[b-n2rt78yxbt] {
    position: absolute;
    top: 14px;
    right: 16px;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.35);
    font-size: 22px;
    cursor: pointer;
    line-height: 1;
    padding: 2px 6px;
    transition: color 0.2s;
    z-index: 1;
}
.modal-close-btn:hover[b-n2rt78yxbt] { color: #fff; }

.modal-icon-row[b-n2rt78yxbt] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 24px 24px 0;
}

.popup-icon[b-n2rt78yxbt] {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    margin-top: 2px;
}

.contact-icon-color .popup-icon[b-n2rt78yxbt] { color: #bfa16a; }
.bug-icon-color      .popup-icon[b-n2rt78yxbt] { color: #f59e0b; }

.popup-title[b-n2rt78yxbt] {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 4px;
}

.popup-subtitle[b-n2rt78yxbt] {
    font-size: 13px;
    color: #94a3b8;
    margin: 0;
    line-height: 1.45;
    max-width: 300px;
}

.popup-body[b-n2rt78yxbt] {
    padding: 18px 24px 4px;
}

.popup-form[b-n2rt78yxbt] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.popup-field[b-n2rt78yxbt] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.popup-field label[b-n2rt78yxbt] {
    font-size: 13px;
    font-weight: 500;
    color: #e2e8f0;
}

.popup-input[b-n2rt78yxbt],
.popup-textarea[b-n2rt78yxbt],
.popup-select[b-n2rt78yxbt] {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 10px 14px;
    color: #fff;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s;
    width: 100%;
    box-sizing: border-box;
}

.popup-input[b-n2rt78yxbt]::placeholder,
.popup-textarea[b-n2rt78yxbt]::placeholder { color: rgba(255, 255, 255, 0.22); }

.popup-input:focus[b-n2rt78yxbt],
.popup-textarea:focus[b-n2rt78yxbt],
.popup-select:focus[b-n2rt78yxbt] { border-color: #bfa16a; }

.popup-select[b-n2rt78yxbt] {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 36px;
    cursor: pointer;
}
.popup-select option[b-n2rt78yxbt] { background: #1a1d26; color: #e2e8f0; }

.popup-textarea[b-n2rt78yxbt] {
    resize: vertical;
    min-height: 100px;
}

.popup-file[b-n2rt78yxbt] {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    padding: 8px 12px;
    color: #94a3b8;
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
}
.popup-file[b-n2rt78yxbt]::file-selector-button {
    background: rgba(255, 255, 255, 0.08);
    border: none;
    border-radius: 6px;
    color: #e2e8f0;
    font-size: 13px;
    padding: 5px 12px;
    margin-right: 10px;
    cursor: pointer;
    transition: background 0.2s;
}
.popup-file[b-n2rt78yxbt]::file-selector-button:hover { background: rgba(255, 255, 255, 0.14); }

.popup-success[b-n2rt78yxbt] {
    font-size: 13px;
    color: #22c55e;
    padding: 8px 12px;
    background: rgba(34, 197, 94, 0.1);
    border-radius: 6px;
}

.popup-error[b-n2rt78yxbt] {
    font-size: 13px;
    color: #ef4444;
    padding: 8px 12px;
    background: rgba(239, 68, 68, 0.1);
    border-radius: 6px;
}

.popup-footer[b-n2rt78yxbt] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    padding: 16px 24px 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    margin-top: 14px;
}

.popup-btn-cancel[b-n2rt78yxbt] {
    background: none;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    padding: 9px 20px;
    color: #94a3b8;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.18s;
}
.popup-btn-cancel:hover[b-n2rt78yxbt] { border-color: rgba(255,255,255,0.28); color: #fff; }

.popup-btn-submit[b-n2rt78yxbt] {
    background: #bfa16a;
    border: none;
    border-radius: 8px;
    padding: 9px 22px;
    color: #181818;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.18s, transform 0.1s;
}
.popup-btn-submit:hover[b-n2rt78yxbt]  { background: #d4b47a; transform: translateY(-1px); }
.popup-btn-submit:active[b-n2rt78yxbt] { transform: translateY(0); }
.app-session-gate[b-n2rt78yxbt] {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    background: var(--bg-primary);
    color: var(--text-secondary);
    font-size: 14px;
}

/* /Layout/MarketingLayout.razor.rz.scp.css */
.modal-overlay[b-v6l719xdsi] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(5px);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.modal-dialog[b-v6l719xdsi] {
    position: relative;
    background: #1a1d26;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    width: 100%;
    max-width: 420px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: popup-in-b-v6l719xdsi 0.18s ease;
}

@keyframes popup-in-b-v6l719xdsi {
    from { opacity: 0; transform: scale(0.96) translateY(6px); }
    to   { opacity: 1; transform: scale(1)   translateY(0); }
}

.modal-close-btn[b-v6l719xdsi] {
    position: absolute;
    top: 14px;
    right: 16px;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.35);
    font-size: 22px;
    cursor: pointer;
    line-height: 1;
    padding: 2px 6px;
    transition: color 0.2s;
    z-index: 1;
}
.modal-close-btn:hover[b-v6l719xdsi] { color: #fff; }

.modal-icon-row[b-v6l719xdsi] {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 24px 24px 0;
}

.popup-icon[b-v6l719xdsi] {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    margin-top: 2px;
}

.contact-icon-color .popup-icon[b-v6l719xdsi] { color: #bfa16a; }

.popup-title[b-v6l719xdsi] {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 4px;
}

.popup-subtitle[b-v6l719xdsi] {
    font-size: 13px;
    color: #94a3b8;
    margin: 0;
    line-height: 1.45;
    max-width: 300px;
}

.popup-body[b-v6l719xdsi] {
    padding: 18px 24px 4px;
}

.popup-form[b-v6l719xdsi] {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.popup-field[b-v6l719xdsi] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.popup-field label[b-v6l719xdsi] {
    font-size: 13px;
    font-weight: 500;
    color: #e2e8f0;
}

.popup-input[b-v6l719xdsi],
.popup-textarea[b-v6l719xdsi] {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 10px 14px;
    color: #fff;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s;
    width: 100%;
    box-sizing: border-box;
}

.popup-input[b-v6l719xdsi]::placeholder,
.popup-textarea[b-v6l719xdsi]::placeholder { color: rgba(255, 255, 255, 0.22); }

.popup-input:focus[b-v6l719xdsi],
.popup-textarea:focus[b-v6l719xdsi] { border-color: #bfa16a; }

.popup-textarea[b-v6l719xdsi] {
    resize: vertical;
    min-height: 100px;
}

.popup-success[b-v6l719xdsi] {
    font-size: 13px;
    color: #22c55e;
    padding: 8px 12px;
    background: rgba(34, 197, 94, 0.1);
    border-radius: 6px;
}

.popup-error[b-v6l719xdsi] {
    font-size: 13px;
    color: #ef4444;
    padding: 8px 12px;
    background: rgba(239, 68, 68, 0.1);
    border-radius: 6px;
}

.popup-footer[b-v6l719xdsi] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    padding: 16px 24px 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    margin-top: 14px;
}

.popup-btn-cancel[b-v6l719xdsi] {
    background: none;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    padding: 9px 20px;
    color: #94a3b8;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.18s;
}
.popup-btn-cancel:hover[b-v6l719xdsi] { border-color: rgba(255,255,255,0.28); color: #fff; }

.popup-btn-submit[b-v6l719xdsi] {
    background: #bfa16a;
    border: none;
    border-radius: 8px;
    padding: 9px 22px;
    color: #181818;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.18s, transform 0.1s;
}
.popup-btn-submit:hover[b-v6l719xdsi]  { background: #d4b47a; transform: translateY(-1px); }
.popup-btn-submit:active[b-v6l719xdsi] { transform: translateY(0); }
/* /Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-porws0pf8n] {
    background-color: rgba(255, 255, 255, 0.1);
}

.top-row[b-porws0pf8n] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-porws0pf8n] {
    font-size: 1.1rem;
}

.bi[b-porws0pf8n] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-porws0pf8n] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-porws0pf8n] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-porws0pf8n] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-porws0pf8n] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-porws0pf8n] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-porws0pf8n] {
        padding-bottom: 1rem;
    }

    .nav-item[b-porws0pf8n]  a {
        color: #d7d7d7;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
    }

.nav-item[b-porws0pf8n]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-porws0pf8n]  a:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

@media (min-width: 641px) {
    .navbar-toggler[b-porws0pf8n] {
        display: none;
    }

    .collapse[b-porws0pf8n] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }
    
    .nav-scrollable[b-porws0pf8n] {
        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Pages/Admin.razor.rz.scp.css */
/* ── Admin page ── */
.admin-page[b-hlauyafqzc] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 16px 60px;
}

.admin-header h1[b-hlauyafqzc] {
    font-size: 28px;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0;
}

.admin-header p[b-hlauyafqzc] {
    color: var(--text-secondary);
    font-size: 14px;
    margin: 6px 0 24px;
}

.admin-error[b-hlauyafqzc] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 10px;
    background: rgba(255, 68, 68, 0.12);
    border: 1px solid rgba(255, 68, 68, 0.25);
    color: #ff4444;
    font-size: 13px;
    margin-bottom: 20px;
}

/* ── Stats grid ── */
.stats-grid[b-hlauyafqzc] {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 14px;
    margin-bottom: 24px;
}

.stat-card[b-hlauyafqzc] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 18px 14px;
    text-align: center;
}

.stat-value[b-hlauyafqzc] {
    font-size: 28px;
    font-weight: 800;
    color: var(--text-primary);
    line-height: 1;
    margin-bottom: 6px;
}

.stat-value.stat-green[b-hlauyafqzc] {
    color: #00ff88;
}

.stat-value.stat-gold[b-hlauyafqzc] {
    color: var(--accent-gold);
}

.stat-label[b-hlauyafqzc] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    font-weight: 600;
}

/* ── Recent users ── */
.card-title[b-hlauyafqzc] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    padding: 18px 20px 0;
}

.recent-list[b-hlauyafqzc] {
    padding: 12px 20px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.recent-row[b-hlauyafqzc] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
}

.recent-email[b-hlauyafqzc] {
    font-size: 13px;
    color: var(--text-primary);
    font-weight: 500;
}

.recent-meta[b-hlauyafqzc] {
    font-size: 12px;
    color: var(--text-secondary);
}

/* ── Nav card grid ── */
.admin-grid[b-hlauyafqzc] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 20px;
}

.admin-nav-card[b-hlauyafqzc] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    text-decoration: none;
    transition: all 0.2s;
    cursor: pointer;
}

.admin-nav-card:hover[b-hlauyafqzc] {
    border-color: var(--accent-gold);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

.nav-icon[b-hlauyafqzc] {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 22px;
    flex-shrink: 0;
}

.nav-icon-blue[b-hlauyafqzc] {
    background: rgba(59, 130, 246, 0.15);
}

.nav-icon-green[b-hlauyafqzc] {
    background: rgba(0, 255, 136, 0.12);
}

.nav-icon-gold[b-hlauyafqzc] {
    background: rgba(166, 124, 82, 0.2);
}

.nav-icon-purple[b-hlauyafqzc] {
    background: rgba(139, 92, 246, 0.15);
}

.nav-icon-red[b-hlauyafqzc] {
    background: rgba(255, 68, 68, 0.12);
}

.nav-icon-teal[b-hlauyafqzc] {
    background: rgba(20, 184, 166, 0.15);
}

.nav-info[b-hlauyafqzc] {
    flex: 1;
    min-width: 0;
}

.nav-info h3[b-hlauyafqzc] {
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 3px;
}

.nav-info p[b-hlauyafqzc] {
    font-size: 12px;
    color: var(--text-secondary);
    margin: 0;
}

.nav-arrow[b-hlauyafqzc] {
    color: var(--text-secondary);
    font-size: 18px;
    flex-shrink: 0;
}

/* ── Quick links ── */
.quick-links[b-hlauyafqzc] {
    display: flex;
    gap: 10px;
    margin-bottom: 24px;
}

.quick-link[b-hlauyafqzc] {
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 13px;
    text-decoration: none;
    transition: all 0.2s;
}

.quick-link:hover[b-hlauyafqzc] {
    border-color: var(--accent-gold);
    color: var(--text-primary);
}

/* ── Admin card ── */
.admin-card[b-hlauyafqzc] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
}

.card-toggle[b-hlauyafqzc] {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
}

.card-toggle h2[b-hlauyafqzc] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 3px;
}

.card-toggle p[b-hlauyafqzc] {
    color: var(--text-secondary);
    font-size: 12px;
    margin: 0;
}

.toggle-chevron[b-hlauyafqzc] {
    color: var(--text-secondary);
    font-size: 12px;
    transition: transform 0.2s;
}

.toggle-chevron.open[b-hlauyafqzc] {
    transform: rotate(180deg);
}

/* ── Schema body ── */
.schema-body[b-hlauyafqzc] {
    border-top: 1px solid var(--border);
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.schema-table[b-hlauyafqzc] {
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
    overflow: hidden;
}

.schema-table-header[b-hlauyafqzc] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.03);
    border: none;
    cursor: pointer;
    text-align: left;
}

.schema-name[b-hlauyafqzc] {
    color: var(--accent-gold);
    font-weight: 700;
    font-size: 13px;
    flex: 1;
}

.schema-cols[b-hlauyafqzc] {
    color: var(--text-secondary);
    font-size: 11px;
}

/* ── Columns ── */
.columns-list[b-hlauyafqzc] {
    padding: 0 14px 10px;
}

.col-header-row[b-hlauyafqzc] {
    display: grid;
    grid-template-columns: 1fr 1fr 80px;
    gap: 8px;
    padding: 6px 0;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.col-row[b-hlauyafqzc] {
    display: grid;
    grid-template-columns: 1fr 1fr 80px;
    gap: 8px;
    padding: 5px 0;
    font-size: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
}

.col-name[b-hlauyafqzc] {
    color: var(--text-primary);
    font-weight: 500;
}

.col-type[b-hlauyafqzc] {
    color: var(--text-secondary);
}

.col-nullable.yes[b-hlauyafqzc] {
    color: var(--text-secondary);
}

.col-nullable.no[b-hlauyafqzc] {
    color: var(--accent-gold);
    font-weight: 600;
}

/* ── Responsive ── */
@media (max-width: 800px) {
    .admin-grid[b-hlauyafqzc] {
        grid-template-columns: 1fr 1fr;
    }

    .stats-grid[b-hlauyafqzc] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 500px) {
    .admin-grid[b-hlauyafqzc] {
        grid-template-columns: 1fr;
    }

    .stats-grid[b-hlauyafqzc] {
        grid-template-columns: repeat(2, 1fr);
    }

    .quick-links[b-hlauyafqzc] {
        flex-direction: column;
    }
}
/* /Pages/AdminCoupons.razor.rz.scp.css */
/* ── Admin Coupons Page ── */
.admin-coupons-page[b-04hnhyh7t8] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 16px 60px;
}

.page-header[b-04hnhyh7t8] {
    margin-bottom: 24px;
}

.back-link[b-04hnhyh7t8] {
    font-size: 13px;
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.2s;
}

.back-link:hover[b-04hnhyh7t8] {
    color: var(--accent-gold);
}

.header-row[b-04hnhyh7t8] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 8px;
}

.header-row h1[b-04hnhyh7t8] {
    font-size: 26px;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0 0 4px;
}

.header-row p[b-04hnhyh7t8] {
    color: var(--text-secondary);
    font-size: 13px;
    margin: 0;
}

.btn-create[b-04hnhyh7t8] {
    padding: 10px 20px;
    background: var(--accent-gold);
    border: none;
    border-radius: 8px;
    color: #000;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}

.btn-create:hover[b-04hnhyh7t8] {
    filter: brightness(1.1);
    transform: translateY(-1px);
}

.admin-error[b-04hnhyh7t8] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 10px;
    background: rgba(255, 68, 68, 0.12);
    border: 1px solid rgba(255, 68, 68, 0.25);
    color: #ff4444;
    font-size: 13px;
    margin-bottom: 20px;
}

/* ── Coupon Table ── */
.table-card[b-04hnhyh7t8] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
}

.table-wrap[b-04hnhyh7t8] {
    overflow-x: auto;
}

.coupon-table[b-04hnhyh7t8] {
    width: 100%;
    border-collapse: collapse;
}

.coupon-table th[b-04hnhyh7t8] {
    padding: 12px 16px;
    text-align: left;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border);
    white-space: nowrap;
}

.coupon-table td[b-04hnhyh7t8] {
    padding: 12px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    color: var(--text-primary);
    font-size: 13px;
    white-space: nowrap;
}

.coupon-table tr:hover td[b-04hnhyh7t8] {
    background: rgba(255, 255, 255, 0.02);
}

.text-right[b-04hnhyh7t8] {
    text-align: right !important;
}

.empty-td[b-04hnhyh7t8] {
    text-align: center;
    color: var(--text-secondary);
    padding: 40px 16px !important;
}

.code-badge[b-04hnhyh7t8] {
    display: inline-block;
    padding: 4px 10px;
    background: rgba(166, 124, 82, 0.10);
    border: 1px solid rgba(166, 124, 82, 0.22);
    border-radius: 6px;
    color: var(--accent-gold);
    font-weight: 800;
    font-size: 12px;
    font-family: monospace;
    letter-spacing: 1px;
}

.value-cell[b-04hnhyh7t8] {
    font-weight: 700;
    color: var(--text-primary);
}

.validity-cell[b-04hnhyh7t8] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--text-secondary);
}

.validity-sep[b-04hnhyh7t8] {
    color: var(--accent-gold);
    font-weight: 600;
}

.usage-cell[b-04hnhyh7t8] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.status-badge[b-04hnhyh7t8] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.status-badge.active[b-04hnhyh7t8] {
    background: rgba(34, 197, 94, 0.13);
    color: #22c55e;
}

.status-badge.inactive[b-04hnhyh7t8] {
    background: rgba(148, 163, 184, 0.13);
    color: #94a3b8;
}

.status-badge.expired[b-04hnhyh7t8] {
    background: rgba(239, 68, 68, 0.12);
    color: #ef4444;
}

.status-badge.exhausted[b-04hnhyh7t8] {
    background: rgba(251, 191, 36, 0.12);
    color: #fbbf24;
}

.actions-cell[b-04hnhyh7t8] {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
}

.btn-edit[b-04hnhyh7t8] {
    padding: 5px 12px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 6px;
    color: var(--text-primary);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-edit:hover[b-04hnhyh7t8] {
    border-color: var(--accent-gold);
    color: var(--accent-gold);
}

.btn-deactivate[b-04hnhyh7t8] {
    padding: 5px 12px;
    background: rgba(239, 68, 68, 0.08);
    border: 1px solid rgba(239, 68, 68, 0.20);
    border-radius: 6px;
    color: #ef4444;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-deactivate:hover[b-04hnhyh7t8] {
    background: rgba(239, 68, 68, 0.15);
}

/* ── Modal ── */
.modal-overlay[b-04hnhyh7t8] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(6px);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.modal-card[b-04hnhyh7t8] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    width: 100%;
    max-width: 520px;
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.modal-header[b-04hnhyh7t8] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 22px;
    border-bottom: 1px solid var(--border);
}

.modal-header h2[b-04hnhyh7t8] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.modal-close[b-04hnhyh7t8] {
    background: none;
    border: none;
    color: var(--text-secondary);
    font-size: 18px;
    cursor: pointer;
    padding: 4px;
}

.modal-body[b-04hnhyh7t8] {
    padding: 22px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    overflow-y: auto;
}

.field-row[b-04hnhyh7t8] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.field-row label[b-04hnhyh7t8] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.field-pair[b-04hnhyh7t8] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.modal-input[b-04hnhyh7t8] {
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

.modal-input:focus[b-04hnhyh7t8] {
    border-color: var(--accent-gold);
}

.modal-select[b-04hnhyh7t8] {
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 14px;
    outline: none;
}

.edit-error[b-04hnhyh7t8] {
    padding: 10px 14px;
    border-radius: 8px;
    background: rgba(255, 68, 68, 0.10);
    border: 1px solid rgba(255, 68, 68, 0.22);
    color: #ff6b6b;
    font-size: 13px;
}

.edit-success[b-04hnhyh7t8] {
    padding: 10px 14px;
    border-radius: 8px;
    background: rgba(34, 197, 94, 0.10);
    border: 1px solid rgba(34, 197, 94, 0.22);
    color: #22c55e;
    font-size: 13px;
}

.modal-footer[b-04hnhyh7t8] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 22px;
    border-top: 1px solid var(--border);
}

.btn-cancel[b-04hnhyh7t8] {
    padding: 9px 18px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-cancel:hover[b-04hnhyh7t8] {
    color: var(--text-primary);
}

.btn-save[b-04hnhyh7t8] {
    padding: 9px 22px;
    background: var(--accent-gold);
    border: none;
    border-radius: 8px;
    color: #000;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-save:hover[b-04hnhyh7t8] {
    filter: brightness(1.1);
}

.btn-save:disabled[b-04hnhyh7t8] {
    opacity: 0.5;
    cursor: not-allowed;
}
/* /Pages/AdminFundamentalsBackfill.razor.rz.scp.css */
/* ── Admin Fundamentals Backfill — site template (admin-*) ──
   Mirrors the shared dashboard/admin language (see Admin.razor.css,
   AdminSeed.razor.css, capquant-ux skill). Scoped CSS: classes are
   defined here so this page renders consistently with /admin. */

.admin-page[b-t76wuv494j] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 16px 60px;
}

.admin-header h1[b-t76wuv494j] {
    font-size: 28px;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0;
}

.admin-header p[b-t76wuv494j] {
    color: var(--text-secondary);
    font-size: 14px;
    margin: 6px 0 24px;
}

/* ── Error banner ── */
.admin-error[b-t76wuv494j] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 10px;
    background: rgba(255, 68, 68, 0.12);
    border: 1px solid rgba(255, 68, 68, 0.25);
    color: #ff4444;
    font-size: 13px;
    margin-bottom: 20px;
}

/* ── Card ── */
.admin-card[b-t76wuv494j] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 16px;
}

.card-body[b-t76wuv494j] {
    padding: 24px;
}

.card-title[b-t76wuv494j] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 14px;
}

/* ── Controls ── */
.control-group[b-t76wuv494j] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 20px;
}

.control-label[b-t76wuv494j] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.form-input[b-t76wuv494j] {
    padding: 10px 14px;
    background: var(--bg-primary, #0a0a0a);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 14px;
    font-family: inherit;
    transition: border-color 0.2s;
    width: 100%;
    box-sizing: border-box;
}

.form-input:focus[b-t76wuv494j] {
    outline: none;
    border-color: var(--accent-gold);
}

.control-hint[b-t76wuv494j] {
    font-size: 12px;
    color: var(--text-secondary);
}

/* ── Actions ── */
.action-row[b-t76wuv494j] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.btn-gold[b-t76wuv494j] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: var(--accent-gold);
    border: none;
    border-radius: 8px;
    color: #000;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-gold:hover:not(:disabled)[b-t76wuv494j] {
    filter: brightness(1.1);
    transform: translateY(-1px);
}

.btn-gold:disabled[b-t76wuv494j] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-ghost[b-t76wuv494j] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-ghost:hover:not(:disabled)[b-t76wuv494j] {
    border-color: rgba(255, 255, 255, 0.2);
    color: var(--text-primary);
}

.btn-ghost:disabled[b-t76wuv494j] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-stop[b-t76wuv494j] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: rgba(255, 68, 68, 0.15);
    border: 1px solid rgba(255, 68, 68, 0.4);
    border-radius: 8px;
    color: #ff5555;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-stop:hover[b-t76wuv494j] {
    background: rgba(255, 68, 68, 0.25);
    border-color: rgba(255, 68, 68, 0.6);
    transform: translateY(-1px);
}

/* ── Progress ── */
.progress-card[b-t76wuv494j] {
    border-left: 3px solid var(--accent-gold);
}

.progress-card.complete-card[b-t76wuv494j] {
    border-left-color: #4CAF50;
}

.progress-card.error-card[b-t76wuv494j] {
    border-left-color: #ff4444;
}

.progress-card.cancelled-card[b-t76wuv494j] {
    border-left-color: #ff9800;
}

.progress-header[b-t76wuv494j] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.progress-header h3[b-t76wuv494j] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.elapsed[b-t76wuv494j] {
    font-size: 13px;
    color: var(--text-secondary);
    font-variant-numeric: tabular-nums;
}

.progress-phase[b-t76wuv494j] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.phase-label[b-t76wuv494j] {
    font-size: 13px;
    font-weight: 600;
    color: var(--accent-gold);
}

.phase-message[b-t76wuv494j] {
    font-size: 12px;
    color: var(--text-secondary);
}

.progress-bar-container[b-t76wuv494j] {
    width: 100%;
    height: 6px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 10px;
}

.progress-bar[b-t76wuv494j] {
    height: 100%;
    background: var(--accent-gold);
    border-radius: 3px;
    transition: width 0.5s ease-out;
}

.complete-card .progress-bar[b-t76wuv494j] {
    background: #4CAF50;
}

.error-card .progress-bar[b-t76wuv494j] {
    background: #ff4444;
}

.progress-stats[b-t76wuv494j] {
    display: flex;
    gap: 16px;
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.stat-failed[b-t76wuv494j] {
    color: #ff4444;
}

.progress-error[b-t76wuv494j] {
    margin-top: 12px;
    padding: 10px 14px;
    background: rgba(255, 68, 68, 0.1);
    border-radius: 8px;
    font-size: 12px;
    color: #ff6666;
    font-family: monospace;
    word-break: break-word;
}

/* ── Run Log Table ── */
.runlog-header[b-t76wuv494j] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

.runlog-header .card-title[b-t76wuv494j] {
    margin: 0;
}

.runlog-empty[b-t76wuv494j] {
    color: var(--text-secondary);
    font-size: 13px;
    margin: 8px 0 0;
}

.runlog-table[b-t76wuv494j] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.runlog-table th[b-t76wuv494j] {
    text-align: left;
    font-size: 11px;
    font-weight: 700;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
}

.runlog-table td[b-t76wuv494j] {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}

.runlog-table tr:last-child td[b-t76wuv494j] {
    border-bottom: none;
}

.runlog-table tbody tr:hover[b-t76wuv494j] {
    background: rgba(255, 255, 255, 0.02);
}

.runlog-date[b-t76wuv494j] {
    white-space: nowrap;
}

.runlog-status[b-t76wuv494j] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
}

.runlog-status-completed[b-t76wuv494j] {
    background: rgba(76, 175, 80, 0.15);
    color: #4CAF50;
}

.runlog-status-error[b-t76wuv494j] {
    background: rgba(255, 68, 68, 0.15);
    color: #ff5555;
}

.runlog-status-running[b-t76wuv494j] {
    background: rgba(255, 152, 0, 0.15);
    color: #ff9800;
}

.runlog-status-unknown[b-t76wuv494j] {
    background: rgba(255, 255, 255, 0.08);
    color: var(--text-secondary);
}

.runlog-error[b-t76wuv494j] {
    color: #ff5555;
    font-size: 12px;
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Notes ── */
.notes-list[b-t76wuv494j] {
    margin: 0;
    padding-left: 18px;
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.6;
}

.notes-list li[b-t76wuv494j] {
    margin-bottom: 6px;
}

.notes-list code[b-t76wuv494j] {
    background: rgba(255, 255, 255, 0.06);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 12px;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .action-row[b-t76wuv494j] {
        flex-direction: column;
        align-items: stretch;
    }

    .btn-gold[b-t76wuv494j],
    .btn-ghost[b-t76wuv494j],
    .btn-stop[b-t76wuv494j] {
        justify-content: center;
    }

    .runlog-table[b-t76wuv494j] {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}
/* /Pages/AdminPayments.razor.rz.scp.css */
.filters-bar[b-2mcno51892] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
    margin-bottom: 20px;
    padding: 16px 20px;
    background: var(--bg-secondary, #1a1a2e);
    border: 1px solid var(--border, #2a2a3e);
    border-radius: 10px;
}

.filter-group[b-2mcno51892] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.filter-group label[b-2mcno51892] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .3px;
    color: var(--text-tertiary, #777);
}

.filter-select[b-2mcno51892], .filter-input[b-2mcno51892] {
    padding: 7px 10px;
    background: var(--bg-tertiary, #111);
    border: 1px solid var(--border, #2a2a3e);
    border-radius: 6px;
    color: var(--text-primary, #fff);
    font-size: 13px;
    min-width: 130px;
}

.filter-btn[b-2mcno51892] {
    padding: 7px 16px !important;
    font-size: 12px !important;
}

/* ── View Toggle ── */
.view-toggle[b-2mcno51892] {
    display: flex;
    gap: 0;
    margin-bottom: 16px;
    border: 1px solid var(--border, #2a2a3e);
    border-radius: 8px;
    overflow: hidden;
    width: fit-content;
}

.view-btn[b-2mcno51892] {
    padding: 8px 20px;
    font-size: 13px;
    font-weight: 500;
    background: var(--bg-secondary, #1a1a2e);
    color: var(--text-secondary, #aaa);
    border: none;
    cursor: pointer;
    transition: all .15s;
}

.view-btn:hover[b-2mcno51892] { color: var(--text-primary, #fff); }

.view-active[b-2mcno51892] {
    background: var(--accent-gold, #d4af37);
    color: #000;
    font-weight: 600;
}

/* ── Table ── */
.table-wrapper[b-2mcno51892] {
    overflow-x: auto;
}

.admin-table[b-2mcno51892] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.admin-table th[b-2mcno51892] {
    text-align: left;
    padding: 10px 14px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .3px;
    color: var(--text-tertiary, #777);
    border-bottom: 1px solid var(--border, #2a2a3e);
}

.admin-table td[b-2mcno51892] {
    padding: 10px 14px;
    color: var(--text-primary, #fff);
    border-bottom: 1px solid rgba(255,255,255,.03);
}

.admin-table tr:hover td[b-2mcno51892] {
    background: rgba(255,255,255,.02);
}

.user-cell[b-2mcno51892] {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.status-badge[b-2mcno51892] {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 2px 8px;
    border-radius: 12px;
}

.status-paid[b-2mcno51892] {
    background: rgba(34,197,94,.15);
    color: #22c55e;
}

.status-failed[b-2mcno51892] {
    background: rgba(239,68,68,.15);
    color: #ef4444;
}

.status-pending[b-2mcno51892] {
    background: rgba(234,179,8,.15);
    color: #eab308;
}

/* ── Pagination ── */
.pagination[b-2mcno51892] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--border, #2a2a3e);
}

.page-info[b-2mcno51892] {
    font-size: 13px;
    color: var(--text-secondary, #aaa);
}

@media (max-width: 700px) {
    .filters-bar[b-2mcno51892] { flex-direction: column; }
    .filter-group[b-2mcno51892] { width: 100%; }
    .filter-select[b-2mcno51892], .filter-input[b-2mcno51892] { width: 100%; }
}
/* /Pages/AdminPlans.razor.rz.scp.css */
/* ── Admin Plans Page ── */
.admin-plans-page[b-n01otx6rsm] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 16px 60px;
}

.page-header[b-n01otx6rsm] {
    margin-bottom: 24px;
}

.back-link[b-n01otx6rsm] {
    font-size: 13px;
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.2s;
}

.back-link:hover[b-n01otx6rsm] {
    color: var(--accent-gold);
}

.header-row[b-n01otx6rsm] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 8px;
}

.header-row h1[b-n01otx6rsm] {
    font-size: 26px;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0 0 4px;
}

.header-row p[b-n01otx6rsm] {
    color: var(--text-secondary);
    font-size: 13px;
    margin: 0;
}

.btn-create[b-n01otx6rsm] {
    padding: 10px 20px;
    background: var(--accent-gold);
    border: none;
    border-radius: 8px;
    color: #000;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}

.btn-create:hover[b-n01otx6rsm] {
    filter: brightness(1.1);
    transform: translateY(-1px);
}

.admin-error[b-n01otx6rsm] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 10px;
    background: rgba(255, 68, 68, 0.12);
    border: 1px solid rgba(255, 68, 68, 0.25);
    color: #ff4444;
    font-size: 13px;
    margin-bottom: 20px;
}

/* ── Plan Cards Grid ── */
.plans-grid[b-n01otx6rsm] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 16px;
}

.plan-card[b-n01otx6rsm] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: all 0.2s;
}

.plan-card:hover[b-n01otx6rsm] {
    border-color: rgba(255, 255, 255, 0.12);
}

.plan-card.plan-inactive[b-n01otx6rsm] {
    opacity: 0.55;
}

.plan-name-row[b-n01otx6rsm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.plan-name-row h3[b-n01otx6rsm] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.plan-status[b-n01otx6rsm] {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 20px;
}

.plan-status.active[b-n01otx6rsm] {
    background: rgba(0, 255, 136, 0.12);
    color: #00ff88;
}

.plan-status.inactive[b-n01otx6rsm] {
    background: rgba(255, 255, 255, 0.06);
    color: var(--text-secondary);
}

.plan-desc[b-n01otx6rsm] {
    font-size: 13px;
    color: var(--text-secondary);
    margin: 0;
    line-height: 1.5;
}

.plan-top[b-n01otx6rsm] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* ── Prices ── */
.plan-prices[b-n01otx6rsm] {
    display: flex;
    gap: 24px;
}

.price-item[b-n01otx6rsm] {
    display: flex;
    align-items: baseline;
    gap: 2px;
}

.price-amount[b-n01otx6rsm] {
    font-size: 22px;
    font-weight: 800;
    color: var(--accent-gold);
}

.price-period[b-n01otx6rsm] {
    font-size: 12px;
    color: var(--text-secondary);
}

/* ── Features ── */
.plan-features[b-n01otx6rsm] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.feature-tag[b-n01otx6rsm] {
    padding: 4px 10px;
    background: rgba(59, 130, 246, 0.12);
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    color: #60a5fa;
}

.no-features[b-n01otx6rsm] {
    font-size: 12px;
    color: var(--text-secondary);
    font-style: italic;
}

/* ── Actions ── */
.plan-actions[b-n01otx6rsm] {
    display: flex;
    gap: 8px;
    border-top: 1px solid var(--border);
    padding-top: 14px;
}

.btn-edit-plan[b-n01otx6rsm] {
    padding: 8px 18px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-edit-plan:hover[b-n01otx6rsm] {
    border-color: var(--accent-gold);
    color: var(--accent-gold);
}

.btn-archive[b-n01otx6rsm] {
    padding: 8px 18px;
    background: rgba(255, 68, 68, 0.08);
    border: 1px solid rgba(255, 68, 68, 0.2);
    border-radius: 8px;
    color: #ff6666;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-archive:hover[b-n01otx6rsm] {
    background: rgba(255, 68, 68, 0.15);
}

/* ── Modal ── */
.modal-overlay[b-n01otx6rsm] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 20px;
}

.modal-card[b-n01otx6rsm] {
    background: var(--bg-primary, #1a1a2e);
    border: 1px solid var(--border);
    border-radius: 16px;
    width: 100%;
    max-width: 520px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.5);
}

.modal-header[b-n01otx6rsm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid var(--border);
}

.modal-header h2[b-n01otx6rsm] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.modal-close[b-n01otx6rsm] {
    background: none;
    border: none;
    color: var(--text-secondary);
    font-size: 18px;
    cursor: pointer;
    padding: 4px;
    line-height: 1;
}

.modal-close:hover[b-n01otx6rsm] {
    color: var(--text-primary);
}

.modal-body[b-n01otx6rsm] {
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.field-row[b-n01otx6rsm] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.field-row label[b-n01otx6rsm] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    font-weight: 600;
}

.modal-input[b-n01otx6rsm],
.modal-select[b-n01otx6rsm] {
    padding: 10px 14px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 13px;
    outline: none;
    transition: border-color 0.2s;
}

.modal-input:focus[b-n01otx6rsm],
.modal-select:focus[b-n01otx6rsm] {
    border-color: var(--accent-gold);
}

.price-fields[b-n01otx6rsm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* ── Feature Checkboxes ── */
.feature-checkboxes[b-n01otx6rsm] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.feature-check[b-n01otx6rsm] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--border);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s;
    font-size: 12px;
    color: var(--text-primary);
}

.feature-check:hover[b-n01otx6rsm] {
    border-color: rgba(255, 255, 255, 0.12);
}

.feature-check input[type="checkbox"][b-n01otx6rsm] {
    accent-color: var(--accent-gold);
    width: 15px;
    height: 15px;
}

.edit-success[b-n01otx6rsm] {
    padding: 10px 14px;
    border-radius: 8px;
    background: rgba(0, 255, 136, 0.08);
    border: 1px solid rgba(0, 255, 136, 0.2);
    color: #00ff88;
    font-size: 13px;
}

.edit-error[b-n01otx6rsm] {
    padding: 10px 14px;
    border-radius: 8px;
    background: rgba(255, 68, 68, 0.08);
    border: 1px solid rgba(255, 68, 68, 0.2);
    color: #ff4444;
    font-size: 13px;
}

.modal-footer[b-n01otx6rsm] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 24px;
    border-top: 1px solid var(--border);
}

.btn-cancel[b-n01otx6rsm] {
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-cancel:hover[b-n01otx6rsm] {
    border-color: var(--text-secondary);
    color: var(--text-primary);
}

.btn-save[b-n01otx6rsm] {
    padding: 10px 20px;
    background: var(--accent-gold);
    border: none;
    border-radius: 8px;
    color: #000;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-save:hover:not(:disabled)[b-n01otx6rsm] {
    filter: brightness(1.1);
}

.btn-save:disabled[b-n01otx6rsm] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ── Responsive ── */
@media (max-width: 600px) {
    .header-row[b-n01otx6rsm] {
        flex-direction: column;
        gap: 12px;
    }

    .price-fields[b-n01otx6rsm],
    .feature-checkboxes[b-n01otx6rsm] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/AdminSeed.razor.rz.scp.css */
/* ── Admin Seed CapQuant Page ── */
.admin-seed-page[b-5soibfz3id] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 24px 16px 60px;
}

.page-header[b-5soibfz3id] {
    margin-bottom: 24px;
}

.back-link[b-5soibfz3id] {
    font-size: 13px;
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.2s;
}

.back-link:hover[b-5soibfz3id] {
    color: var(--accent-gold);
}

.header-row[b-5soibfz3id] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 8px;
}

.header-row h1[b-5soibfz3id] {
    font-size: 26px;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0 0 4px;
}

.header-row p[b-5soibfz3id] {
    color: var(--text-secondary);
    font-size: 13px;
    margin: 0;
}

.admin-error[b-5soibfz3id] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 10px;
    background: rgba(255, 68, 68, 0.12);
    border: 1px solid rgba(255, 68, 68, 0.25);
    color: #ff4444;
    font-size: 13px;
    margin-bottom: 20px;
}

/* ── Card ── */
.seed-card[b-5soibfz3id] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 24px;
    margin-bottom: 16px;
}

/* ── Seed Controls ── */
.seed-controls[b-5soibfz3id] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 20px;
}

.control-group[b-5soibfz3id] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.control-group label[b-5soibfz3id] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.seed-input[b-5soibfz3id] {
    padding: 10px 14px;
    background: var(--bg-primary, #0a0a0a);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 14px;
    font-family: inherit;
    transition: border-color 0.2s;
    width: 100%;
    box-sizing: border-box;
}

.seed-input:focus[b-5soibfz3id] {
    outline: none;
    border-color: var(--accent-gold);
}

.seed-input[b-5soibfz3id]::placeholder {
    color: var(--text-secondary);
    opacity: 0.5;
}

select.seed-input[b-5soibfz3id] {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='%23999'%3E%3Cpath d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 32px;
}

/* ── Seed Actions ── */
.seed-actions[b-5soibfz3id] {
    display: flex;
    gap: 12px;
}

.btn-seed[b-5soibfz3id] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: var(--accent-gold);
    border: none;
    border-radius: 8px;
    color: #000;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-seed:hover:not(:disabled)[b-5soibfz3id] {
    filter: brightness(1.1);
    transform: translateY(-1px);
}

.btn-seed:disabled[b-5soibfz3id] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-clear[b-5soibfz3id] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-clear:hover:not(:disabled)[b-5soibfz3id] {
    border-color: rgba(255, 255, 255, 0.2);
    color: var(--text-primary);
}

.btn-clear:disabled[b-5soibfz3id] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-stop[b-5soibfz3id] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: rgba(255, 68, 68, 0.15);
    border: 1px solid rgba(255, 68, 68, 0.4);
    border-radius: 8px;
    color: #ff5555;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-stop:hover[b-5soibfz3id] {
    background: rgba(255, 68, 68, 0.25);
    border-color: rgba(255, 68, 68, 0.6);
    transform: translateY(-1px);
}

/* ── Progress Card ── */
.progress-card[b-5soibfz3id] {
    border-left: 3px solid var(--accent-gold);
}

.progress-card.complete-card[b-5soibfz3id] {
    border-left-color: #4CAF50;
}

.progress-card.error-card[b-5soibfz3id] {
    border-left-color: #ff4444;
}

.progress-card.cancelled-card[b-5soibfz3id] {
    border-left-color: #ff9800;
}

.progress-header[b-5soibfz3id] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.progress-header h3[b-5soibfz3id] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.elapsed[b-5soibfz3id] {
    font-size: 13px;
    color: var(--text-secondary);
    font-variant-numeric: tabular-nums;
}

.progress-phase[b-5soibfz3id] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.phase-label[b-5soibfz3id] {
    font-size: 13px;
    font-weight: 600;
    color: var(--accent-gold);
}

.phase-message[b-5soibfz3id] {
    font-size: 12px;
    color: var(--text-secondary);
}

/* ── Progress Bar ── */
.progress-bar-container[b-5soibfz3id] {
    width: 100%;
    height: 6px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 10px;
}

.progress-bar[b-5soibfz3id] {
    height: 100%;
    background: var(--accent-gold);
    border-radius: 3px;
    transition: width 0.5s ease-out;
}

.complete-card .progress-bar[b-5soibfz3id] {
    background: #4CAF50;
}

.error-card .progress-bar[b-5soibfz3id] {
    background: #ff4444;
}

.progress-stats[b-5soibfz3id] {
    display: flex;
    gap: 16px;
    font-size: 13px;
    color: var(--text-secondary);
    margin-bottom: 14px;
}

.stat-failed[b-5soibfz3id] {
    color: #ff4444;
}

.failed-symbols[b-5soibfz3id] {
    margin-top: 10px;
    padding: 10px 14px;
    background: rgba(255, 68, 68, 0.06);
    border: 1px solid rgba(255, 68, 68, 0.15);
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.5;
}

.failed-label[b-5soibfz3id] {
    color: #ff4444;
    font-weight: 600;
    margin-right: 6px;
}

.failed-list[b-5soibfz3id] {
    color: var(--text-secondary);
    word-break: break-word;
}

.progress-results[b-5soibfz3id] {
    display: flex;
    gap: 24px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.result-stat[b-5soibfz3id] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.result-value[b-5soibfz3id] {
    font-size: 22px;
    font-weight: 800;
    color: var(--text-primary);
}

.result-value.result-picks[b-5soibfz3id] {
    color: var(--accent-gold);
}

.result-label[b-5soibfz3id] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
}

.progress-error[b-5soibfz3id] {
    margin-top: 12px;
    padding: 10px 14px;
    background: rgba(255, 68, 68, 0.1);
    border-radius: 8px;
    font-size: 12px;
    color: #ff6666;
    font-family: monospace;
    word-break: break-word;
}

/* ── Status / History ── */
.status-header[b-5soibfz3id] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.status-header h3[b-5soibfz3id] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.status-running[b-5soibfz3id] {
    font-size: 12px;
    font-weight: 600;
    color: var(--accent-gold);
}

.status-idle[b-5soibfz3id] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
}

.status-summary[b-5soibfz3id] {
    display: flex;
    gap: 24px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.summary-stat[b-5soibfz3id] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.summary-value[b-5soibfz3id] {
    font-size: 20px;
    font-weight: 800;
    color: var(--text-primary);
}

.summary-value.summary-picks[b-5soibfz3id] {
    color: var(--accent-gold);
}

.summary-label[b-5soibfz3id] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
}

.status-empty[b-5soibfz3id] {
    font-size: 13px;
    color: var(--text-secondary);
    padding: 20px 0;
}

/* ── History Table ── */
.history-table[b-5soibfz3id] {
    display: flex;
    flex-direction: column;
}

.history-header-row[b-5soibfz3id] {
    display: grid;
    grid-template-columns: 1fr 80px 80px 100px;
    gap: 8px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    font-weight: 600;
}

.history-row[b-5soibfz3id] {
    display: grid;
    grid-template-columns: 1fr 80px 80px 100px;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
    font-size: 13px;
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}

.history-row:last-child[b-5soibfz3id] {
    border-bottom: none;
}

.picks-count[b-5soibfz3id] {
    color: var(--accent-gold);
    font-weight: 600;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .seed-controls[b-5soibfz3id] {
        grid-template-columns: 1fr;
    }

    .seed-actions[b-5soibfz3id] {
        flex-direction: column;
    }

    .history-header-row[b-5soibfz3id],
    .history-row[b-5soibfz3id] {
        grid-template-columns: 1fr 60px 60px 80px;
        font-size: 12px;
    }

    .status-summary[b-5soibfz3id] {
        gap: 16px;
    }
}
/* /Pages/AdminUsers.razor.rz.scp.css */
/* ── Admin Users Page ── */
.admin-users-page[b-lmy9vp82fs] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 16px 60px;
}

.page-header[b-lmy9vp82fs] {
    margin-bottom: 24px;
}

.back-link[b-lmy9vp82fs] {
    font-size: 13px;
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.2s;
}

.back-link:hover[b-lmy9vp82fs] {
    color: var(--accent-gold);
}

.page-header h1[b-lmy9vp82fs] {
    font-size: 26px;
    font-weight: 800;
    color: var(--text-primary);
    margin: 8px 0 4px;
}

.page-header p[b-lmy9vp82fs] {
    color: var(--text-secondary);
    font-size: 13px;
    margin: 0;
}

.admin-error[b-lmy9vp82fs] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 10px;
    background: rgba(255, 68, 68, 0.12);
    border: 1px solid rgba(255, 68, 68, 0.25);
    color: #ff4444;
    font-size: 13px;
    margin-bottom: 20px;
}

/* ── Filters ── */
.filters-bar[b-lmy9vp82fs] {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.filter-input[b-lmy9vp82fs] {
    flex: 1;
    min-width: 200px;
    padding: 10px 14px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 13px;
    outline: none;
    transition: border-color 0.2s;
}

.filter-input:focus[b-lmy9vp82fs] {
    border-color: var(--accent-gold);
}

.filter-input[b-lmy9vp82fs]::placeholder {
    color: var(--text-secondary);
}

.filter-select[b-lmy9vp82fs] {
    padding: 10px 14px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 13px;
    outline: none;
    cursor: pointer;
    transition: border-color 0.2s;
}

.filter-select:focus[b-lmy9vp82fs] {
    border-color: var(--accent-gold);
}

/* ── Table ── */
.users-table-wrap[b-lmy9vp82fs] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow-x: auto;
}

.users-table[b-lmy9vp82fs] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.users-table thead th[b-lmy9vp82fs] {
    text-align: left;
    padding: 14px 16px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    font-weight: 600;
    border-bottom: 1px solid var(--border);
    white-space: nowrap;
}

.users-table tbody tr[b-lmy9vp82fs] {
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    transition: background 0.15s;
}

.users-table tbody tr:hover[b-lmy9vp82fs] {
    background: rgba(255, 255, 255, 0.03);
}

.users-table td[b-lmy9vp82fs] {
    padding: 12px 16px;
    color: var(--text-primary);
    white-space: nowrap;
}

.email-cell[b-lmy9vp82fs] {
    font-weight: 500;
    max-width: 240px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.plan-cell[b-lmy9vp82fs] {
    color: var(--text-secondary);
}

.date-cell[b-lmy9vp82fs] {
    color: var(--text-secondary);
    font-size: 12px;
}

.stats-cell[b-lmy9vp82fs] {
    display: flex;
    gap: 12px;
    font-size: 12px;
    color: var(--text-secondary);
}

.role-badge[b-lmy9vp82fs] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.role-admin[b-lmy9vp82fs] {
    background: rgba(166, 124, 82, 0.2);
    color: var(--accent-gold);
}

.role-user[b-lmy9vp82fs] {
    background: rgba(255, 255, 255, 0.06);
    color: var(--text-secondary);
}

.status-dot[b-lmy9vp82fs] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.status-dot.verified[b-lmy9vp82fs] {
    background: #00ff88;
    box-shadow: 0 0 6px rgba(0, 255, 136, 0.4);
}

.status-dot.unverified[b-lmy9vp82fs] {
    background: rgba(255, 255, 255, 0.15);
}

.btn-edit[b-lmy9vp82fs] {
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--text-secondary);
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-edit:hover[b-lmy9vp82fs] {
    border-color: var(--accent-gold);
    color: var(--accent-gold);
}

.empty-row[b-lmy9vp82fs] {
    text-align: center;
    color: var(--text-secondary);
    padding: 40px 16px !important;
}

/* ── Modal ── */
.modal-overlay[b-lmy9vp82fs] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 20px;
}

.modal-card[b-lmy9vp82fs] {
    background: var(--bg-primary, #1a1a2e);
    border: 1px solid var(--border);
    border-radius: 16px;
    width: 100%;
    max-width: 480px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.5);
}

.modal-header[b-lmy9vp82fs] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    border-bottom: 1px solid var(--border);
}

.modal-header h2[b-lmy9vp82fs] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.modal-close[b-lmy9vp82fs] {
    background: none;
    border: none;
    color: var(--text-secondary);
    font-size: 18px;
    cursor: pointer;
    padding: 4px;
    line-height: 1;
}

.modal-close:hover[b-lmy9vp82fs] {
    color: var(--text-primary);
}

.modal-body[b-lmy9vp82fs] {
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.field-row[b-lmy9vp82fs] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.field-row label[b-lmy9vp82fs] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    font-weight: 600;
}

.field-value[b-lmy9vp82fs] {
    font-size: 14px;
    color: var(--text-primary);
    font-weight: 500;
}

.modal-select[b-lmy9vp82fs],
.modal-input[b-lmy9vp82fs] {
    padding: 10px 14px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 13px;
    outline: none;
    transition: border-color 0.2s;
}

.modal-select:focus[b-lmy9vp82fs],
.modal-input:focus[b-lmy9vp82fs] {
    border-color: var(--accent-gold);
}

.quick-actions[b-lmy9vp82fs] {
    margin-top: 4px;
}

.quick-actions h3[b-lmy9vp82fs] {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    font-weight: 600;
    margin: 0 0 10px;
}

.action-buttons[b-lmy9vp82fs] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.btn-action[b-lmy9vp82fs] {
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.2s;
}

.btn-action:disabled[b-lmy9vp82fs] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-verify[b-lmy9vp82fs] {
    background: rgba(0, 255, 136, 0.12);
    color: #00ff88;
    border-color: rgba(0, 255, 136, 0.25);
}

.btn-verify:hover:not(:disabled)[b-lmy9vp82fs] {
    background: rgba(0, 255, 136, 0.2);
}

.btn-reset[b-lmy9vp82fs] {
    background: rgba(255, 170, 0, 0.12);
    color: #ffaa00;
    border-color: rgba(255, 170, 0, 0.25);
}

.btn-reset:hover:not(:disabled)[b-lmy9vp82fs] {
    background: rgba(255, 170, 0, 0.2);
}

.verified-label[b-lmy9vp82fs] {
    font-size: 12px;
    color: #00ff88;
    font-weight: 600;
    padding: 8px 16px;
}

.edit-success[b-lmy9vp82fs] {
    padding: 10px 14px;
    border-radius: 8px;
    background: rgba(0, 255, 136, 0.08);
    border: 1px solid rgba(0, 255, 136, 0.2);
    color: #00ff88;
    font-size: 13px;
}

.edit-error[b-lmy9vp82fs] {
    padding: 10px 14px;
    border-radius: 8px;
    background: rgba(255, 68, 68, 0.08);
    border: 1px solid rgba(255, 68, 68, 0.2);
    color: #ff4444;
    font-size: 13px;
}

.modal-footer[b-lmy9vp82fs] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 24px;
    border-top: 1px solid var(--border);
}

.btn-cancel[b-lmy9vp82fs] {
    padding: 10px 20px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-cancel:hover[b-lmy9vp82fs] {
    border-color: var(--text-secondary);
    color: var(--text-primary);
}

.btn-save[b-lmy9vp82fs] {
    padding: 10px 20px;
    background: var(--accent-gold);
    border: none;
    border-radius: 8px;
    color: #000;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-save:hover:not(:disabled)[b-lmy9vp82fs] {
    filter: brightness(1.1);
}

.btn-save:disabled[b-lmy9vp82fs] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .filters-bar[b-lmy9vp82fs] {
        flex-direction: column;
    }

    .filter-input[b-lmy9vp82fs] {
        min-width: 0;
    }
}
/* /Pages/Analytics.razor.rz.scp.css */
/* ===== Analytics Page ===== */

.analytics-page[b-zk3r3z4uh0] {
    padding: 16px;
    max-width: 1280px;
    margin: 0 auto;
}

@media (min-width: 640px) { .analytics-page[b-zk3r3z4uh0] { padding: 24px; } }
@media (min-width: 1024px) { .analytics-page[b-zk3r3z4uh0] { padding: 32px; } }

.analytics-header[b-zk3r3z4uh0] {
    margin-bottom: 28px;
}

.page-title-row[b-zk3r3z4uh0] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.page-icon[b-zk3r3z4uh0] {
    width: 28px;
    height: 28px;
    color: var(--accent-gold);
}

.analytics-header h1[b-zk3r3z4uh0] {
    font-size: 30px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.analytics-header p[b-zk3r3z4uh0] {
    color: var(--text-secondary);
    margin: 4px 0 0 0;
    font-size: 14px;
}

.analytics-loading[b-zk3r3z4uh0] {
    text-align: center;
    padding: 80px 0;
    color: var(--text-secondary);
    font-size: 14px;
}

.analytics-empty[b-zk3r3z4uh0] {
    text-align: center;
    padding: 80px 0;
    color: var(--text-secondary);
}

.analytics-empty .empty-icon[b-zk3r3z4uh0] {
    font-size: 48px;
    margin-bottom: 16px;
}

.analytics-empty h3[b-zk3r3z4uh0] {
    color: var(--text-primary);
    font-size: 20px;
    margin: 0 0 8px;
}

.analytics-empty p[b-zk3r3z4uh0] {
    margin: 0 0 24px;
    font-size: 14px;
}

.btn-gold[b-zk3r3z4uh0] {
    padding: 10px 24px;
    background: var(--accent-gold);
    border: none;
    border-radius: 10px;
    color: #000;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: opacity 0.2s;
}

.btn-gold:hover[b-zk3r3z4uh0] { opacity: 0.85; }

/* ── KPI Cards ── */
.kpi-grid[b-zk3r3z4uh0] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-bottom: 28px;
}

@media (min-width: 768px) { .kpi-grid[b-zk3r3z4uh0] { grid-template-columns: repeat(4, 1fr); } }

.kpi-card[b-zk3r3z4uh0] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.kpi-header[b-zk3r3z4uh0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.kpi-label[b-zk3r3z4uh0] {
    font-size: 13px;
    color: var(--text-secondary);
    font-weight: 500;
}

.kpi-icon[b-zk3r3z4uh0] {
    font-size: 16px;
}

.kpi-pct[b-zk3r3z4uh0] {
    color: var(--accent-gold);
    font-weight: 700;
    font-size: 18px;
}

.kpi-svg[b-zk3r3z4uh0] {
    width: 20px;
    height: 20px;
    color: var(--text-secondary);
}

.kpi-risk[b-zk3r3z4uh0] { font-size: 12px; }
.kpi-risk.risk-low[b-zk3r3z4uh0] { color: var(--positive); }
.kpi-risk.risk-med[b-zk3r3z4uh0] { color: #f59e0b; }
.kpi-risk.risk-high[b-zk3r3z4uh0] { color: var(--negative); }

.kpi-value[b-zk3r3z4uh0] {
    font-size: 28px;
    font-weight: 800;
    color: var(--text-primary);
    line-height: 1.1;
}

.kpi-value.accent[b-zk3r3z4uh0] { color: var(--accent-gold); }
.kpi-value.positive[b-zk3r3z4uh0] { color: var(--positive); }
.kpi-value.negative[b-zk3r3z4uh0] { color: var(--negative); }

.kpi-denom[b-zk3r3z4uh0] {
    font-size: 16px;
    font-weight: 500;
    color: var(--text-secondary);
}

.kpi-sub[b-zk3r3z4uh0] {
    font-size: 11px;
    color: var(--text-secondary);
    margin-top: 2px;
}

/* ── Two-Column Layout ── */
.analytics-two-col[b-zk3r3z4uh0] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

@media (min-width: 768px) { .analytics-two-col[b-zk3r3z4uh0] { grid-template-columns: 1fr 1fr; } }

.analytics-two-col .analytics-card[b-zk3r3z4uh0] { margin-bottom: 0; }

/* ── Analytics Card ── */
.analytics-card[b-zk3r3z4uh0] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 24px;
    margin-bottom: 20px;
}

.section-title[b-zk3r3z4uh0] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.sec-icon[b-zk3r3z4uh0] {
    width: 20px;
    height: 20px;
    color: var(--accent-gold);
}

/* ── Donut Chart ── */
.sector-chart[b-zk3r3z4uh0] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}

@media (min-width: 480px) { .sector-chart[b-zk3r3z4uh0] { flex-direction: row; align-items: flex-start; } }

.donut-wrapper[b-zk3r3z4uh0] {
    width: 160px;
    height: 160px;
    flex-shrink: 0;
}

.donut-svg[b-zk3r3z4uh0] {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.donut-segment[b-zk3r3z4uh0] {
    transition: opacity 0.2s;
}

.donut-segment:hover[b-zk3r3z4uh0] {
    opacity: 0.8;
}

.sector-legend[b-zk3r3z4uh0] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.legend-item[b-zk3r3z4uh0] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.legend-dot[b-zk3r3z4uh0] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.legend-text[b-zk3r3z4uh0] {
    flex: 1;
    font-size: 13px;
    color: var(--text-primary);
}

.legend-pct[b-zk3r3z4uh0] {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
}

/* ── Risk Bars ── */
.risk-bars[b-zk3r3z4uh0] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.risk-bar-row[b-zk3r3z4uh0] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.risk-bar-label[b-zk3r3z4uh0] {
    min-width: 60px;
    font-size: 13px;
    font-weight: 700;
    color: var(--accent-gold);
}

.risk-bar-track[b-zk3r3z4uh0] {
    flex: 1;
    height: 14px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 7px;
    overflow: hidden;
}

.risk-bar-fill[b-zk3r3z4uh0] {
    height: 100%;
    border-radius: 7px;
    background: linear-gradient(90deg, var(--accent-gold), rgba(166, 124, 82, 0.5));
    transition: width 0.6s ease;
}

.risk-bar-pct[b-zk3r3z4uh0] {
    min-width: 44px;
    text-align: right;
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
}

/* ── Allocation ── */
.allocation-list[b-zk3r3z4uh0] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.allocation-row[b-zk3r3z4uh0] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.alloc-info[b-zk3r3z4uh0] {
    min-width: 120px;
    display: flex;
    flex-direction: column;
}

.alloc-symbol[b-zk3r3z4uh0] {
    font-weight: 800;
    color: var(--accent-gold);
    font-size: 14px;
}

.alloc-name[b-zk3r3z4uh0] {
    font-size: 11px;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
}

.alloc-bar-wrapper[b-zk3r3z4uh0] {
    flex: 1;
    height: 20px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 6px;
    overflow: hidden;
}

.alloc-bar[b-zk3r3z4uh0] {
    height: 100%;
    border-radius: 6px;
    transition: width 0.5s ease;
}

.alloc-bar.bar-positive[b-zk3r3z4uh0] { background: linear-gradient(90deg, var(--positive), rgba(34, 197, 94, 0.5)); }
.alloc-bar.bar-negative[b-zk3r3z4uh0] { background: linear-gradient(90deg, var(--negative), rgba(239, 68, 68, 0.5)); }

.alloc-values[b-zk3r3z4uh0] {
    min-width: 100px;
    text-align: right;
    display: flex;
    flex-direction: column;
}

.alloc-pct[b-zk3r3z4uh0] {
    font-weight: 700;
    color: var(--text-primary);
    font-size: 14px;
}

.alloc-val[b-zk3r3z4uh0] {
    font-size: 12px;
    color: var(--text-secondary);
}

/* ── Performance Table ── */
.table-responsive[b-zk3r3z4uh0] {
    overflow-x: auto;
}

.perf-table[b-zk3r3z4uh0] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
}

.perf-table thead tr[b-zk3r3z4uh0] {
    background: rgba(255, 255, 255, 0.03);
}

.perf-table th[b-zk3r3z4uh0] {
    padding: 10px 12px;
    font-weight: 600;
    font-size: 11px;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid var(--border);
}

.perf-table td[b-zk3r3z4uh0] {
    padding: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    color: var(--text-primary);
}

.perf-table tr:hover[b-zk3r3z4uh0] { background: rgba(255, 255, 255, 0.03); }

.th-left[b-zk3r3z4uh0] { text-align: left; }
.th-right[b-zk3r3z4uh0] { text-align: right; }
.td-left[b-zk3r3z4uh0] { text-align: left; }
.td-right[b-zk3r3z4uh0] { text-align: right; }

.perf-symbol[b-zk3r3z4uh0] { font-weight: 800; color: var(--accent-gold); }
.perf-name[b-zk3r3z4uh0] { font-size: 11px; color: var(--text-secondary); }
.secondary[b-zk3r3z4uh0] { color: var(--text-secondary); }
.bold[b-zk3r3z4uh0] { font-weight: 700; }
.positive[b-zk3r3z4uh0] { color: var(--positive); }
.negative[b-zk3r3z4uh0] { color: var(--negative); }

/* ── Risk Grid ── */
.risk-grid[b-zk3r3z4uh0] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

@media (min-width: 640px) { .risk-grid[b-zk3r3z4uh0] { grid-template-columns: repeat(3, 1fr); } }

.risk-item[b-zk3r3z4uh0] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.risk-label[b-zk3r3z4uh0] {
    font-size: 12px;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.risk-value[b-zk3r3z4uh0] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary);
}

.risk-value.positive[b-zk3r3z4uh0] { color: var(--positive); }
.risk-value.negative[b-zk3r3z4uh0] { color: var(--negative); }

/* ── About Metrics ── */
.about-card[b-zk3r3z4uh0] {
    background: var(--bg-secondary);
}

.about-grid[b-zk3r3z4uh0] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
}

@media (min-width: 640px) { .about-grid[b-zk3r3z4uh0] { grid-template-columns: 1fr 1fr; } }

.about-grid h4[b-zk3r3z4uh0] {
    font-size: 15px;
    font-weight: 700;
    color: var(--accent-gold);
    margin: 0 0 10px;
}

.about-grid p[b-zk3r3z4uh0] {
    font-size: 13px;
    color: var(--text-secondary);
    line-height: 1.6;
    margin: 0 0 8px;
}

.about-grid strong[b-zk3r3z4uh0] {
    color: var(--text-primary);
}
/* /Pages/Billing.razor.rz.scp.css */
.billing-container[b-o91j3tr51m] {
    max-width: 800px;
    margin: 0 auto;
    padding: 32px 20px;
}

.billing-title[b-o91j3tr51m] {
    font-size: 28px;
    font-weight: 700;
    color: var(--text-primary, #fff);
    margin-bottom: 32px;
}

.billing-section[b-o91j3tr51m] {
    margin-bottom: 32px;
}

.billing-section-title[b-o91j3tr51m] {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-secondary, #aaa);
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 12px;
}

.billing-card[b-o91j3tr51m] {
    background: var(--bg-secondary, #1a1a2e);
    border: 1px solid var(--border, #2a2a3e);
    border-radius: 12px;
    padding: 24px;
}

.billing-plan-row[b-o91j3tr51m] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.billing-plan-name[b-o91j3tr51m] {
    font-size: 22px;
    font-weight: 700;
    color: var(--text-primary, #fff);
    margin: 0 0 6px;
}

.billing-badge[b-o91j3tr51m] {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    padding: 3px 10px;
    border-radius: 20px;
    background: var(--bg-tertiary, #222);
    color: var(--text-secondary, #aaa);
}

.billing-badge-active[b-o91j3tr51m] {
    background: rgba(34,197,94,.15);
    color: #22c55e;
}

.billing-badge-fail[b-o91j3tr51m] {
    background: rgba(239,68,68,.15);
    color: #ef4444;
}

.billing-meta[b-o91j3tr51m] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--border, #2a2a3e);
}

.billing-meta > div[b-o91j3tr51m] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.billing-label[b-o91j3tr51m] {
    font-size: 12px;
    color: var(--text-tertiary, #777);
    text-transform: uppercase;
    letter-spacing: .3px;
}

.billing-meta span:last-child[b-o91j3tr51m] {
    font-size: 14px;
    color: var(--text-primary, #fff);
    font-weight: 500;
}

.billing-features[b-o91j3tr51m] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--border, #2a2a3e);
}

.billing-feature-tag[b-o91j3tr51m] {
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 6px;
    background: rgba(212,175,55,.1);
    color: var(--accent-gold, #d4af37);
}

.billing-error[b-o91j3tr51m] {
    background: rgba(239,68,68,.1);
    border: 1px solid rgba(239,68,68,.3);
    color: #ef4444;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 20px;
    font-size: 14px;
}

/* ── Payment History Table ── */
.billing-table-wrapper[b-o91j3tr51m] {
    overflow-x: auto;
    background: var(--bg-secondary, #1a1a2e);
    border: 1px solid var(--border, #2a2a3e);
    border-radius: 12px;
}

.billing-table[b-o91j3tr51m] {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.billing-table th[b-o91j3tr51m] {
    text-align: left;
    padding: 12px 16px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .3px;
    color: var(--text-tertiary, #777);
    border-bottom: 1px solid var(--border, #2a2a3e);
}

.billing-table td[b-o91j3tr51m] {
    padding: 12px 16px;
    color: var(--text-primary, #fff);
    border-bottom: 1px solid rgba(255,255,255,.03);
}

.billing-table tr:last-child td[b-o91j3tr51m] {
    border-bottom: none;
}

.billing-table tr:hover td[b-o91j3tr51m] {
    background: rgba(255,255,255,.02);
}

@media (max-width: 600px) {
    .billing-container[b-o91j3tr51m] { padding: 20px 12px; }
    .billing-plan-name[b-o91j3tr51m] { font-size: 18px; }
    .billing-meta[b-o91j3tr51m] { grid-template-columns: 1fr; }
}
/* /Pages/Calendar.razor.rz.scp.css */
/* ── Calendar Page ── */
.calendar-page[b-geq1e5zxuo] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 16px 60px;
}

.calendar-header[b-geq1e5zxuo] { margin-bottom: 24px; }

.calendar-title-row[b-geq1e5zxuo] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 18px;
}

.calendar-title-row h1[b-geq1e5zxuo] {
    font-size: 28px;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0;
}

.calendar-title-row p[b-geq1e5zxuo] {
    color: var(--text-secondary);
    font-size: 14px;
    margin: 4px 0 0;
}

.calendar-nav[b-geq1e5zxuo] {
    display: flex;
    gap: 8px;
    align-items: center;
}

.nav-btn[b-geq1e5zxuo] {
    padding: 8px 14px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: var(--bg-secondary);
    color: var(--text-primary);
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
    transition: all 0.15s;
}

.nav-btn:hover[b-geq1e5zxuo] {
    border-color: var(--accent-gold);
    color: var(--accent-gold);
}

.today-btn[b-geq1e5zxuo] {
    background: rgba(166, 124, 82, 0.12);
    border-color: rgba(166, 124, 82, 0.3);
    color: var(--accent-gold);
}

.calendar-controls[b-geq1e5zxuo] {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.view-toggle[b-geq1e5zxuo] {
    display: flex;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid var(--border);
}

.view-btn[b-geq1e5zxuo] {
    padding: 8px 16px;
    border: none;
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s;
}

.view-btn.active[b-geq1e5zxuo] {
    background: var(--accent-gold);
    color: #fff;
}

/* ── Stock Filter Buttons ── */
.stock-filter-pills[b-geq1e5zxuo] {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.stock-filter-btn[b-geq1e5zxuo] {
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
    display: flex;
    align-items: center;
    gap: 4px;
}

.stock-filter-btn:hover[b-geq1e5zxuo] {
    border-color: rgba(255, 255, 255, 0.25);
    color: var(--text-primary);
}

.stock-filter-btn.active[b-geq1e5zxuo] {
    background: var(--accent-gold);
    border-color: var(--accent-gold);
    color: #fff;
}

.filter-count[b-geq1e5zxuo] {
    font-size: 11px;
    opacity: 0.8;
}

.filter-pills[b-geq1e5zxuo] {
    display: flex;
    gap: 8px;
}

.filter-pill[b-geq1e5zxuo] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s;
}

.filter-pill.active[b-geq1e5zxuo] { border-color: rgba(255, 255, 255, 0.2); color: var(--text-primary); }
.filter-pill.active.earnings[b-geq1e5zxuo] { border-color: rgba(59, 130, 246, 0.4); background: rgba(59, 130, 246, 0.1); }
.filter-pill.active.dividends[b-geq1e5zxuo] { border-color: rgba(34, 197, 94, 0.4); background: rgba(34, 197, 94, 0.1); }
.filter-pill.active.exdiv[b-geq1e5zxuo] { border-color: rgba(249, 115, 22, 0.4); background: rgba(249, 115, 22, 0.1); }
.filter-pill.active.ipo[b-geq1e5zxuo] { border-color: rgba(168, 85, 247, 0.45); background: rgba(168, 85, 247, 0.14); }
.filter-pill.active.split[b-geq1e5zxuo] { border-color: rgba(236, 72, 153, 0.45); background: rgba(236, 72, 153, 0.14); }

.pill-dot[b-geq1e5zxuo], .legend-dot[b-geq1e5zxuo] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.earnings-dot[b-geq1e5zxuo] { background: #3b82f6; }
.dividend-dot[b-geq1e5zxuo] { background: #22c55e; }
.exdiv-dot[b-geq1e5zxuo] { background: #f97316; }
.ipo-dot[b-geq1e5zxuo] { background: #a855f7; }
.split-dot[b-geq1e5zxuo] { background: #ec4899; }

.calendar-legend[b-geq1e5zxuo] {
    display: flex;
    gap: 14px;
    margin-left: auto;
}

.legend-item[b-geq1e5zxuo] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: var(--text-secondary);
    font-weight: 600;
}

.calendar-loading[b-geq1e5zxuo] {
    text-align: center;
    padding: 60px 0;
    color: var(--text-secondary);
    font-size: 14px;
}

.calendar-unavailable[b-geq1e5zxuo] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 12px 0;
    padding: 12px 16px;
    background: rgba(166, 124, 82, 0.1);
    border: 1px solid rgba(166, 124, 82, 0.4);
    border-radius: 10px;
    color: var(--text-primary);
    font-size: 13px;
}

.calendar-unavailable .unavailable-icon[b-geq1e5zxuo] {
    font-size: 18px;
    line-height: 1.2;
}

.calendar-unavailable strong[b-geq1e5zxuo] {
    display: block;
    margin-bottom: 2px;
}

.calendar-unavailable p[b-geq1e5zxuo] {
    margin: 0;
    color: var(--text-secondary);
    font-size: 12px;
}

/* ── Month Grid ── */
.month-grid[b-geq1e5zxuo] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
}

.weekday-headers[b-geq1e5zxuo] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: rgba(166, 124, 82, 0.08);
    border-bottom: 1px solid var(--border);
}

.weekday-header[b-geq1e5zxuo] {
    padding: 10px 8px;
    text-align: center;
    font-size: 12px;
    font-weight: 800;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.days-grid[b-geq1e5zxuo] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

.day-cell[b-geq1e5zxuo] {
    min-height: 110px;
    border-right: 1px solid rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    padding: 6px 8px;
    cursor: pointer;
    transition: background 0.15s;
}

.day-cell:nth-child(7n)[b-geq1e5zxuo] { border-right: none; }
.day-cell:hover[b-geq1e5zxuo] { background: rgba(255, 255, 255, 0.02); }

.day-cell.other-month[b-geq1e5zxuo] { opacity: 0.35; }
.day-cell.today[b-geq1e5zxuo] { background: rgba(166, 124, 82, 0.06); }

.day-number[b-geq1e5zxuo] {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-secondary);
    margin-bottom: 4px;
}

.today-number[b-geq1e5zxuo] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--accent-gold);
    color: #fff;
    font-weight: 800;
}

.day-events[b-geq1e5zxuo] {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.event-pill[b-geq1e5zxuo] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 2px 6px;
    border-radius: 6px;
    font-size: 11px;
    cursor: pointer;
    transition: opacity 0.15s;
    overflow: hidden;
}

.event-pill:hover[b-geq1e5zxuo] { opacity: 0.8; }

.event-earnings[b-geq1e5zxuo] {
    background: rgba(59, 130, 246, 0.15);
    border-left: 3px solid #3b82f6;
}

.event-dividend[b-geq1e5zxuo] {
    background: rgba(34, 197, 94, 0.15);
    border-left: 3px solid #22c55e;
}

.event-exdiv[b-geq1e5zxuo] {
    background: rgba(249, 115, 22, 0.15);
    border-left: 3px solid #f97316;
}

.event-ipo[b-geq1e5zxuo] {
    background: rgba(168, 85, 247, 0.14);
    border-left: 3px solid #a855f7;
}

.event-split[b-geq1e5zxuo] {
    background: rgba(236, 72, 153, 0.14);
    border-left: 3px solid #ec4899;
}

.event-kind[b-geq1e5zxuo] {
    border-radius: 999px;
    padding: 1px 6px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.2px;
    flex-shrink: 0;
}

.event-symbol[b-geq1e5zxuo] {
    font-weight: 800;
    color: var(--text-primary);
    white-space: nowrap;
}

.event-amount[b-geq1e5zxuo] {
    color: #22c55e;
    font-weight: 700;
    font-size: 10px;
    white-space: nowrap;
}

.event-more[b-geq1e5zxuo] {
    font-size: 10px;
    color: var(--text-secondary);
    font-weight: 600;
    padding: 1px 4px;
}

/* ── Agenda View ── */
.agenda-view[b-geq1e5zxuo] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.agenda-empty[b-geq1e5zxuo] {
    text-align: center;
    padding: 80px 20px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
}

.agenda-empty .empty-icon[b-geq1e5zxuo] { font-size: 48px; margin-bottom: 12px; }
.agenda-empty h3[b-geq1e5zxuo] { color: var(--text-primary); font-size: 18px; font-weight: 700; margin: 0 0 6px; }
.agenda-empty p[b-geq1e5zxuo] { color: var(--text-secondary); font-size: 13px; margin: 0; }

.agenda-day[b-geq1e5zxuo] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
}

.agenda-day-header[b-geq1e5zxuo] {
    padding: 14px 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border);
    background: rgba(166, 124, 82, 0.05);
}

.agenda-date[b-geq1e5zxuo] {
    font-weight: 800;
    font-size: 15px;
    color: var(--text-primary);
}

.agenda-count[b-geq1e5zxuo] {
    font-size: 12px;
    color: var(--text-secondary);
    font-weight: 600;
}

.agenda-event[b-geq1e5zxuo] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    cursor: pointer;
    transition: background 0.15s;
}

.agenda-event:last-child[b-geq1e5zxuo] { border-bottom: none; }
.agenda-event:hover[b-geq1e5zxuo] { background: rgba(255, 255, 255, 0.02); }

.agenda-event-bar[b-geq1e5zxuo] {
    width: 4px;
    height: 36px;
    border-radius: 999px;
    flex-shrink: 0;
}

.bar-earnings[b-geq1e5zxuo] { background: #3b82f6; }
.bar-dividend[b-geq1e5zxuo] { background: #22c55e; }
.bar-exdiv[b-geq1e5zxuo] { background: #f97316; }
.bar-ipo[b-geq1e5zxuo] { background: #a855f7; }
.bar-split[b-geq1e5zxuo] { background: #ec4899; }

.agenda-event-info[b-geq1e5zxuo] {
    flex: 1;
    min-width: 0;
}

.agenda-symbol[b-geq1e5zxuo] {
    font-weight: 800;
    font-size: 14px;
    color: var(--text-primary);
}

.agenda-name[b-geq1e5zxuo] {
    margin-left: 8px;
    color: var(--text-secondary);
    font-size: 12px;
}

.agenda-extra[b-geq1e5zxuo] {
    margin-left: 8px;
    color: rgba(255, 255, 255, 0.55);
    font-size: 11px;
}

.agenda-event-meta[b-geq1e5zxuo] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.agenda-type[b-geq1e5zxuo] {
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}

.type-earnings[b-geq1e5zxuo] { background: rgba(59, 130, 246, 0.15); color: #3b82f6; }
.type-dividend[b-geq1e5zxuo] { background: rgba(34, 197, 94, 0.15); color: #22c55e; }
.type-exdiv[b-geq1e5zxuo] { background: rgba(249, 115, 22, 0.15); color: #f97316; }
.type-ipo[b-geq1e5zxuo] { background: rgba(168, 85, 247, 0.16); color: #c084fc; }
.type-split[b-geq1e5zxuo] { background: rgba(236, 72, 153, 0.16); color: #f472b6; }

.agenda-amount[b-geq1e5zxuo] {
    color: #22c55e;
    font-weight: 700;
    font-size: 13px;
}

/* ── Day Detail Panel ── */
.day-panel-backdrop[b-geq1e5zxuo] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1100;
}

.day-panel[b-geq1e5zxuo] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 420px;
    max-width: 90vw;
    background: var(--bg-secondary);
    border-left: 1px solid var(--border);
    z-index: 1101;
    display: flex;
    flex-direction: column;
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.3);
}

.day-panel-header[b-geq1e5zxuo] {
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border);
}

.day-panel-header h3[b-geq1e5zxuo] {
    font-size: 18px;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0;
}

.day-panel-close[b-geq1e5zxuo] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: transparent;
    color: var(--text-secondary);
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.day-panel-close:hover[b-geq1e5zxuo] { border-color: var(--accent-gold); color: var(--text-primary); }

.day-panel-body[b-geq1e5zxuo] {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
}

.day-panel-empty[b-geq1e5zxuo] {
    text-align: center;
    padding: 40px 0;
    color: var(--text-secondary);
}

.day-panel-event[b-geq1e5zxuo] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 12px;
    margin-bottom: 10px;
    background: rgba(255, 255, 255, 0.02);
}

.day-panel-event-bar[b-geq1e5zxuo] {
    width: 4px;
    height: 40px;
    border-radius: 999px;
    flex-shrink: 0;
}

.day-panel-event-info[b-geq1e5zxuo] {
    flex: 1;
    min-width: 0;
}

.day-panel-symbol[b-geq1e5zxuo] {
    font-weight: 800;
    font-size: 15px;
    color: var(--text-primary);
}

.day-panel-name[b-geq1e5zxuo] {
    color: var(--text-secondary);
    font-size: 12px;
    margin-top: 2px;
}

.day-panel-extra[b-geq1e5zxuo] {
    color: rgba(255, 255, 255, 0.55);
    font-size: 11px;
    margin-top: 4px;
}

.day-panel-type[b-geq1e5zxuo] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
}

.day-panel-amount[b-geq1e5zxuo] {
    color: #22c55e;
    font-weight: 700;
    font-size: 13px;
}

.day-panel-open-btn[b-geq1e5zxuo] {
    padding: 6px 14px;
    border-radius: 8px;
    border: 1px solid var(--accent-gold);
    background: rgba(166, 124, 82, 0.12);
    color: var(--accent-gold);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s;
    flex-shrink: 0;
}

.day-panel-open-btn:hover[b-geq1e5zxuo] {
    background: var(--accent-gold);
    color: #fff;
}

/* ── Responsive ── */
@media (max-width: 900px) {
    .calendar-title-row[b-geq1e5zxuo] { flex-direction: column; }
    .calendar-controls[b-geq1e5zxuo] { flex-direction: column; align-items: flex-start; }
    .calendar-legend[b-geq1e5zxuo] { margin-left: 0; }
    .day-cell[b-geq1e5zxuo] { min-height: 80px; padding: 4px; }
    .event-pill[b-geq1e5zxuo] { font-size: 10px; padding: 1px 4px; }
}

@media (max-width: 600px) {
    .day-cell[b-geq1e5zxuo] { min-height: 60px; }
    .day-number[b-geq1e5zxuo] { font-size: 11px; }
    .event-symbol[b-geq1e5zxuo] { font-size: 9px; }
}
/* /Pages/Capquant.razor.rz.scp.css */
/* ── CapQuant page ── */
.capq-page[b-jcxbi6yl0g] {
    max-width: 1280px;
    margin: 0 auto;
    padding: 24px 16px 60px;
}

.capq-header[b-jcxbi6yl0g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 24px;
}

.cq-brand[b-jcxbi6yl0g] {
    display: flex;
    align-items: center;
    gap: 14px;
}

.cq-logo[b-jcxbi6yl0g] {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(166, 124, 82, 0.2);
    border-radius: 14px;
    font-size: 24px;
}

.cq-brand h1[b-jcxbi6yl0g] {
    font-size: 28px;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0;
}

.cq-brand p[b-jcxbi6yl0g] {
    color: var(--text-secondary);
    font-size: 14px;
    margin: 4px 0 0;
}

.cq-meta[b-jcxbi6yl0g] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.meta-chip[b-jcxbi6yl0g] {
    padding: 4px 12px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 500;
}

.picks-chip[b-jcxbi6yl0g] {
    background: rgba(166, 124, 82, 0.15);
    border-color: rgba(166, 124, 82, 0.3);
    color: var(--accent-gold);
}

/* ── Tabs ── */
.cq-tabs[b-jcxbi6yl0g] {
    display: flex;
    gap: 4px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 10px;
    padding: 4px;
    width: fit-content;
    margin-bottom: 24px;
}

.cq-tab[b-jcxbi6yl0g] {
    padding: 10px 20px;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.cq-tab:hover[b-jcxbi6yl0g] {
    color: var(--text-primary);
}

.cq-tab.active[b-jcxbi6yl0g] {
    background: var(--accent-gold);
    color: #000;
}

/* ── Controls bar ── */
.cq-controls[b-jcxbi6yl0g] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.cq-search[b-jcxbi6yl0g] {
    flex: 1;
    min-width: 200px;
}

.cq-search-input[b-jcxbi6yl0g] {
    width: 100%;
    padding: 10px 14px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 13px;
    outline: none;
    transition: border-color 0.2s;
}

.cq-search-input:focus[b-jcxbi6yl0g] {
    border-color: var(--accent-gold);
}

.cq-search-input[b-jcxbi6yl0g]::placeholder {
    color: var(--text-secondary);
}

.cq-filters[b-jcxbi6yl0g] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cq-select[b-jcxbi6yl0g] {
    padding: 10px 14px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 13px;
    outline: none;
    cursor: pointer;
    min-width: 160px;
}

.cq-toggle[b-jcxbi6yl0g] {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    user-select: none;
}

.cq-toggle input[type="checkbox"][b-jcxbi6yl0g] {
    accent-color: var(--accent-gold);
    width: 16px;
    height: 16px;
}

.toggle-label[b-jcxbi6yl0g] {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
    white-space: nowrap;
}

/* ── Factor legend ── */
.factor-legend[b-jcxbi6yl0g] {
    margin-bottom: 16px;
}

.legend-items[b-jcxbi6yl0g] {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
}

.legend-item[b-jcxbi6yl0g] {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--text-secondary);
    font-size: 12px;
}

.legend-dot[b-jcxbi6yl0g] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.legend-val[b-jcxbi6yl0g] { background: #3b82f6; }
.legend-growth[b-jcxbi6yl0g] { background: #00ff88; }
.legend-profit[b-jcxbi6yl0g] { background: #f59e0b; }
.legend-mom[b-jcxbi6yl0g] { background: #8b5cf6; }
.legend-stab[b-jcxbi6yl0g] { background: #ec4899; }

/* ── Card ── */
.cq-card[b-jcxbi6yl0g] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 24px;
    margin-bottom: 24px;
}

.cq-card-header[b-jcxbi6yl0g] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.cq-card-header h2[b-jcxbi6yl0g] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.result-count[b-jcxbi6yl0g] {
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 500;
}

.premium-badge[b-jcxbi6yl0g] {
    padding: 4px 12px;
    background: rgba(166, 124, 82, 0.2);
    border: 1px solid rgba(166, 124, 82, 0.3);
    border-radius: 999px;
    color: var(--accent-gold);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ── Table ── */
.table-responsive[b-jcxbi6yl0g] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.cq-table[b-jcxbi6yl0g] {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.cq-table thead[b-jcxbi6yl0g] {
    position: sticky;
    top: 0;
    z-index: 2;
}

.cq-table th[b-jcxbi6yl0g] {
    padding: 10px 8px;
    text-align: left;
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border);
    white-space: nowrap;
    background: var(--bg-secondary);
}

.cq-table th.sortable[b-jcxbi6yl0g] {
    cursor: pointer;
    user-select: none;
}

.cq-table th.sortable:hover[b-jcxbi6yl0g] {
    color: var(--text-primary);
}

.th-rank[b-jcxbi6yl0g] { width: 36px; text-align: center; }
.th-symbol[b-jcxbi6yl0g] { min-width: 80px; }
.th-num[b-jcxbi6yl0g] { text-align: center; min-width: 70px; }
.th-grade[b-jcxbi6yl0g] { text-align: center; width: 48px; }
.th-sector[b-jcxbi6yl0g] { min-width: 120px; }

.cq-row[b-jcxbi6yl0g] {
    cursor: pointer;
    transition: background 0.15s;
}

.cq-row:hover[b-jcxbi6yl0g] {
    background: rgba(166, 124, 82, 0.06);
}

.cq-row td[b-jcxbi6yl0g] {
    padding: 10px 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    vertical-align: middle;
}

.pick-row[b-jcxbi6yl0g] {
    background: rgba(166, 124, 82, 0.04);
}

.rank-cell[b-jcxbi6yl0g] {
    text-align: center;
    color: var(--text-secondary);
    font-weight: 500;
    font-size: 12px;
}

.symbol-badge[b-jcxbi6yl0g] {
    display: inline-block;
    padding: 2px 8px;
    background: rgba(166, 124, 82, 0.15);
    border-radius: 4px;
    color: var(--accent-gold);
    font-weight: 700;
    font-size: 12px;
    cursor: pointer;
}

.symbol-badge:hover[b-jcxbi6yl0g] {
    background: rgba(166, 124, 82, 0.3);
}

.pick-star[b-jcxbi6yl0g] {
    margin-left: 4px;
    font-size: 12px;
}

.name-cell[b-jcxbi6yl0g] {
    color: var(--text-primary);
    font-weight: 500;
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.num-cell[b-jcxbi6yl0g] {
    text-align: center;
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}

.sector-cell[b-jcxbi6yl0g] {
    color: var(--text-secondary);
    font-size: 12px;
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Score pill ── */
.score-pill[b-jcxbi6yl0g] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 12px;
}

.score-high[b-jcxbi6yl0g] {
    background: rgba(0, 255, 136, 0.15);
    color: #00ff88;
}

.score-mid[b-jcxbi6yl0g] {
    background: rgba(245, 158, 11, 0.15);
    color: #f59e0b;
}

.score-low[b-jcxbi6yl0g] {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}

/* ── Grade badges ── */
.grade-cell[b-jcxbi6yl0g] {
    text-align: center;
}

.grade[b-jcxbi6yl0g] {
    display: inline-block;
    width: 28px;
    padding: 2px 0;
    border-radius: 4px;
    font-weight: 700;
    font-size: 11px;
    text-align: center;
}

.grade-a[b-jcxbi6yl0g] {
    background: rgba(0, 255, 136, 0.15);
    color: #00ff88;
}

.grade-b[b-jcxbi6yl0g] {
    background: rgba(59, 130, 246, 0.15);
    color: #60a5fa;
}

.grade-c[b-jcxbi6yl0g] {
    background: rgba(245, 158, 11, 0.15);
    color: #f59e0b;
}

.grade-d[b-jcxbi6yl0g] {
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
}

.grade-f[b-jcxbi6yl0g] {
    background: rgba(239, 68, 68, 0.25);
    color: #ef4444;
}

/* ── Pagination ── */
.pagination[b-jcxbi6yl0g] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 16px 0 0;
}

.page-btn[b-jcxbi6yl0g] {
    padding: 8px 16px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.page-btn:hover:not(:disabled)[b-jcxbi6yl0g] {
    border-color: var(--accent-gold);
    color: var(--accent-gold);
}

.page-btn:disabled[b-jcxbi6yl0g] {
    opacity: 0.4;
    cursor: default;
}

.page-info[b-jcxbi6yl0g] {
    color: var(--text-secondary);
    font-size: 13px;
}

/* ── Detail panel (slide-in) ── */
.cq-detail-overlay[b-jcxbi6yl0g] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 100;
}

.cq-detail-panel[b-jcxbi6yl0g] {
    position: fixed;
    top: 0;
    right: 0;
    width: 420px;
    max-width: 90vw;
    height: 100vh;
    background: var(--bg-primary);
    border-left: 1px solid var(--border);
    z-index: 101;
    overflow-y: auto;
    padding: 24px;
    animation: slideIn-b-jcxbi6yl0g 0.25s ease-out;
}

@keyframes slideIn-b-jcxbi6yl0g {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

.detail-header[b-jcxbi6yl0g] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
}

.detail-header h2[b-jcxbi6yl0g] {
    font-size: 24px;
    font-weight: 800;
    color: var(--accent-gold);
    margin: 0;
}

.detail-header p[b-jcxbi6yl0g] {
    color: var(--text-secondary);
    font-size: 13px;
    margin: 4px 0 0;
}

.detail-close[b-jcxbi6yl0g] {
    background: none;
    border: none;
    color: var(--text-secondary);
    font-size: 20px;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
}

.detail-close:hover[b-jcxbi6yl0g] {
    background: rgba(255, 255, 255, 0.1);
    color: var(--text-primary);
}

.detail-score-row[b-jcxbi6yl0g] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
}

.detail-score[b-jcxbi6yl0g] {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.detail-score-value[b-jcxbi6yl0g] {
    font-size: 32px;
    font-weight: 800;
    padding: 4px 16px;
    border-radius: 12px;
}

.detail-score-label[b-jcxbi6yl0g] {
    font-size: 11px;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 4px;
}

.pick-badge[b-jcxbi6yl0g] {
    padding: 6px 14px;
    background: rgba(166, 124, 82, 0.2);
    border: 1px solid rgba(166, 124, 82, 0.4);
    border-radius: 999px;
    color: var(--accent-gold);
    font-size: 13px;
    font-weight: 700;
}

/* ── Factor bars ── */
.detail-section[b-jcxbi6yl0g] {
    margin-bottom: 24px;
}

.detail-section h3[b-jcxbi6yl0g] {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 12px;
}

.factor-bars[b-jcxbi6yl0g] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.factor-row[b-jcxbi6yl0g] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.factor-name[b-jcxbi6yl0g] {
    width: 90px;
    font-size: 12px;
    color: var(--text-secondary);
    flex-shrink: 0;
}

.factor-bar-track[b-jcxbi6yl0g] {
    flex: 1;
    height: 8px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 4px;
    overflow: hidden;
}

.factor-bar[b-jcxbi6yl0g] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.4s ease;
}

.factor-val[b-jcxbi6yl0g] { background: #3b82f6; }
.factor-growth[b-jcxbi6yl0g] { background: #00ff88; }
.factor-profit[b-jcxbi6yl0g] { background: #f59e0b; }
.factor-mom[b-jcxbi6yl0g] { background: #8b5cf6; }
.factor-stab[b-jcxbi6yl0g] { background: #ec4899; }

/* ── Metrics grid ── */
.metrics-grid[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

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

.metric-label[b-jcxbi6yl0g] {
    font-size: 11px;
    color: var(--text-secondary);
    text-transform: uppercase;
}

.metric-value[b-jcxbi6yl0g] {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}

/* ── Returns grid ── */
.returns-grid[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.return-item[b-jcxbi6yl0g] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 10px 0;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
}

.return-label[b-jcxbi6yl0g] {
    font-size: 11px;
    color: var(--text-secondary);
    font-weight: 600;
}

.return-value[b-jcxbi6yl0g] {
    font-size: 14px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.positive[b-jcxbi6yl0g] { color: #00ff88; }
.negative[b-jcxbi6yl0g] { color: #ef4444; }

.detail-meta[b-jcxbi6yl0g] {
    display: block;
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: 4px;
}

.detail-btn[b-jcxbi6yl0g] {
    width: 100%;
    padding: 12px;
    background: var(--accent-gold);
    border: none;
    border-radius: 10px;
    color: #000;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.2s;
    margin-top: 16px;
}

.detail-btn:hover[b-jcxbi6yl0g] {
    opacity: 0.85;
}

/* ── Loading / Error / Empty ── */
.cq-loading[b-jcxbi6yl0g] {
    text-align: center;
    padding: 60px 20px;
}

.spinner[b-jcxbi6yl0g] {
    width: 36px;
    height: 36px;
    border: 3px solid var(--border);
    border-top-color: var(--accent-gold);
    border-radius: 50%;
    animation: spin-b-jcxbi6yl0g 0.8s linear infinite;
    margin: 0 auto 16px;
}

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

.cq-loading p[b-jcxbi6yl0g] {
    color: var(--text-secondary);
    font-size: 14px;
}

.cq-error[b-jcxbi6yl0g] {
    padding: 12px 16px;
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.3);
    border-radius: 8px;
    color: #f87171;
    font-size: 13px;
    margin-bottom: 16px;
}

.cq-empty[b-jcxbi6yl0g] {
    text-align: center;
    padding: 60px 20px;
}

.empty-icon[b-jcxbi6yl0g] {
    font-size: 48px;
    margin-bottom: 12px;
}

.cq-empty h3[b-jcxbi6yl0g] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 8px;
}

.cq-empty p[b-jcxbi6yl0g] {
    color: var(--text-secondary);
    font-size: 13px;
    max-width: 400px;
    margin: 0 auto;
    line-height: 1.6;
}

/* ── Feature grid ── */
.feature-grid[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.feature-card[b-jcxbi6yl0g] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 20px;
}

.feature-icon[b-jcxbi6yl0g] {
    font-size: 28px;
    display: block;
    margin-bottom: 10px;
}

.feature-card h4[b-jcxbi6yl0g] {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 6px;
}

.feature-card p[b-jcxbi6yl0g] {
    color: var(--text-secondary);
    font-size: 12px;
    line-height: 1.5;
    margin: 0;
}

/* ── Coming soon (portfolio tab) ── */
.cq-coming-soon[b-jcxbi6yl0g] {
    text-align: center;
    padding: 48px 20px;
    border: 1px dashed rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.02);
}

.cs-icon[b-jcxbi6yl0g] { font-size: 40px; margin-bottom: 12px; }

.cq-coming-soon h3[b-jcxbi6yl0g] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 10px;
}

.cq-coming-soon p[b-jcxbi6yl0g] {
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.6;
    max-width: 500px;
    margin: 0 auto 8px;
}

/* ── Optimizer ── */
.optimizer-desc[b-jcxbi6yl0g] {
    margin-bottom: 20px;
}

.optimizer-desc p[b-jcxbi6yl0g] { color: var(--text-secondary); font-size: 13px; line-height: 1.6; margin: 0; }

/* ── Optimizer Controls ── */
.opt-controls[b-jcxbi6yl0g] {
    margin-bottom: 20px;
}

.opt-symbols-group[b-jcxbi6yl0g] {
    margin-bottom: 12px;
}

.opt-control-group[b-jcxbi6yl0g] {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.opt-control-group label[b-jcxbi6yl0g] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.control-hint[b-jcxbi6yl0g] {
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
    opacity: 0.7;
}

.opt-control-row[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.opt-input[b-jcxbi6yl0g] {
    padding: 9px 12px;
    background: var(--bg-primary, #0a0a0a);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 13px;
    font-family: inherit;
    transition: border-color 0.2s;
    width: 100%;
    box-sizing: border-box;
}

.opt-input:focus[b-jcxbi6yl0g] {
    outline: none;
    border-color: var(--accent-gold);
}

.opt-input[b-jcxbi6yl0g]::placeholder {
    color: var(--text-secondary);
    opacity: 0.5;
}

.opt-input-wrap[b-jcxbi6yl0g] {
    position: relative;
}

.opt-input-wrap .opt-input[b-jcxbi6yl0g] {
    padding-right: 30px;
}

.input-suffix[b-jcxbi6yl0g] {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 12px;
    color: var(--text-secondary);
    pointer-events: none;
}

.btn-optimize[b-jcxbi6yl0g] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 24px;
    background: var(--accent-gold);
    border: none;
    border-radius: 8px;
    color: #000;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-optimize:hover:not(:disabled)[b-jcxbi6yl0g] {
    filter: brightness(1.1);
    transform: translateY(-1px);
}

.btn-optimize:disabled[b-jcxbi6yl0g] {
    opacity: 0.5;
    cursor: not-allowed;
}

.spinner-sm[b-jcxbi6yl0g] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(0,0,0,0.2);
    border-top-color: #000;
    border-radius: 50%;
    animation: spin-b-jcxbi6yl0g 0.6s linear infinite;
}

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

.opt-error[b-jcxbi6yl0g] {
    padding: 10px 14px;
    border-radius: 10px;
    background: rgba(255, 68, 68, 0.12);
    border: 1px solid rgba(255, 68, 68, 0.25);
    color: #ff4444;
    font-size: 13px;
    margin-bottom: 16px;
}

/* ── Insights Panel ── */
.opt-insights[b-jcxbi6yl0g] {
    margin-top: 24px;
    margin-bottom: 24px;
}

.insights-title[b-jcxbi6yl0g] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.insights-grid[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 10px;
}

.insight-card[b-jcxbi6yl0g] {
    display: flex;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: rgba(255,255,255,0.02);
    transition: background 0.15s;
}

.insight-card:hover[b-jcxbi6yl0g] {
    background: rgba(255,255,255,0.04);
}

.insight-icon[b-jcxbi6yl0g] {
    font-size: 20px;
    flex-shrink: 0;
    line-height: 1;
    padding-top: 2px;
}

.insight-body[b-jcxbi6yl0g] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.insight-title[b-jcxbi6yl0g] {
    font-size: 13px;
    font-weight: 700;
    color: var(--text-primary);
}

.insight-desc[b-jcxbi6yl0g] {
    font-size: 12px;
    line-height: 1.55;
    color: var(--text-secondary);
}

.insight-positive[b-jcxbi6yl0g] {
    border-color: rgba(76, 175, 80, 0.25);
    background: rgba(76, 175, 80, 0.04);
}

.insight-warning[b-jcxbi6yl0g] {
    border-color: rgba(255, 193, 7, 0.25);
    background: rgba(255, 193, 7, 0.04);
}

.insight-action[b-jcxbi6yl0g] {
    border-color: rgba(33, 150, 243, 0.25);
    background: rgba(33, 150, 243, 0.04);
}

.insight-neutral[b-jcxbi6yl0g] {
    border-color: var(--border);
    background: rgba(255,255,255,0.02);
}

/* ── Summary Cards ── */
.opt-summary[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 24px;
    margin-bottom: 20px;
}

.opt-summary-card[b-jcxbi6yl0g] {
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 18px 20px;
}

.opt-summary-card h4[b-jcxbi6yl0g] {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin: 0 0 12px;
}

.opt-card-optimal[b-jcxbi6yl0g] {
    border-color: var(--accent-gold);
    background: rgba(255, 215, 0, 0.03);
}

.opt-card-optimal h4[b-jcxbi6yl0g] {
    color: var(--accent-gold);
}

.opt-card-minvar[b-jcxbi6yl0g] {
    border-color: rgba(33, 150, 243, 0.35);
    background: rgba(33, 150, 243, 0.03);
}

.opt-card-minvar h4[b-jcxbi6yl0g] {
    color: #42a5f5;
}

.opt-card-current[b-jcxbi6yl0g] {
    border-style: dashed;
}

.opt-metric-row[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

.opt-metric[b-jcxbi6yl0g] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.opt-metric-value[b-jcxbi6yl0g] {
    font-size: 16px;
    font-weight: 800;
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.opt-sharpe[b-jcxbi6yl0g] {
    color: var(--accent-gold) !important;
}

.opt-metric-label[b-jcxbi6yl0g] {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
    white-space: nowrap;
}

/* ── Sections ── */
.opt-section[b-jcxbi6yl0g] {
    margin-top: 24px;
    margin-bottom: 8px;
}

.opt-section h3[b-jcxbi6yl0g] {
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 12px;
}

.section-meta[b-jcxbi6yl0g] {
    font-size: 12px;
    font-weight: 400;
    color: var(--text-secondary);
}

/* ── Section Toggle (collapsible) ── */
.section-toggle[b-jcxbi6yl0g] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 0;
    background: none;
    border: none;
    cursor: pointer;
    color: inherit;
    text-align: left;
}

.section-toggle:hover h3[b-jcxbi6yl0g] {
    color: var(--accent-gold);
}

.toggle-chevron[b-jcxbi6yl0g] {
    font-size: 12px;
    color: var(--text-secondary);
    transition: transform 0.25s ease;
}

.toggle-chevron.open[b-jcxbi6yl0g] {
    transform: rotate(90deg);
}

/* ── Allocation Table ── */
.opt-alloc-table[b-jcxbi6yl0g],
.opt-stats-table[b-jcxbi6yl0g],
.frontier-table[b-jcxbi6yl0g] {
    display: flex;
    flex-direction: column;
    overflow-x: auto;
}

.opt-alloc-header[b-jcxbi6yl0g],
.opt-stats-header[b-jcxbi6yl0g],
.frontier-header[b-jcxbi6yl0g] {
    display: grid;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
}

.opt-alloc-header[b-jcxbi6yl0g] { grid-template-columns: 80px 1fr 100px 70px 70px 110px; }
.opt-alloc-row[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: 80px 1fr 100px 70px 70px 110px;
    padding: 8px 12px;
    font-size: 13px;
    border-bottom: 1px solid rgba(255,255,255,0.03);
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
    transition: background 0.15s;
}

.opt-alloc-row:hover[b-jcxbi6yl0g] {
    background: rgba(255,255,255,0.025);
}

.text-right[b-jcxbi6yl0g] { text-align: right; }

.alloc-symbol[b-jcxbi6yl0g] { font-weight: 700; }
.alloc-name[b-jcxbi6yl0g] { color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.alloc-weight[b-jcxbi6yl0g] { font-weight: 600; }
.alloc-delta.positive[b-jcxbi6yl0g] { color: #4CAF50; font-weight: 600; }
.alloc-delta.negative[b-jcxbi6yl0g] { color: #ff4444; font-weight: 600; }
.alloc-delta.neutral-delta[b-jcxbi6yl0g] { color: var(--text-secondary); }

/* ── Allocation Bar Chart ── */
.alloc-bars[b-jcxbi6yl0g] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.alloc-bar-row[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: 80px 1fr 50px;
    align-items: center;
    gap: 10px;
}

.bar-label[b-jcxbi6yl0g] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-primary);
    text-align: right;
}

.bar-track[b-jcxbi6yl0g] {
    position: relative;
    height: 16px;
    background: rgba(255,255,255,0.04);
    border-radius: 4px;
    overflow: visible;
}

.bar-fill[b-jcxbi6yl0g] {
    height: 100%;
    border-radius: 4px;
    transition: width 0.4s ease-out;
}

.bar-optimal[b-jcxbi6yl0g] {
    background: var(--accent-gold);
    opacity: 0.7;
}

.bar-marker[b-jcxbi6yl0g] {
    position: absolute;
    top: -2px;
    width: 3px;
    height: 20px;
    background: #fff;
    border-radius: 2px;
    opacity: 0.8;
}

.bar-pct[b-jcxbi6yl0g] {
    font-size: 11px;
    color: var(--text-secondary);
    font-variant-numeric: tabular-nums;
}

.bar-legend[b-jcxbi6yl0g] {
    display: flex;
    gap: 16px;
    padding-top: 8px;
    justify-content: flex-end;
}

.legend-item[b-jcxbi6yl0g] {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    color: var(--text-secondary);
}

.legend-swatch[b-jcxbi6yl0g] {
    width: 12px;
    height: 12px;
    border-radius: 3px;
}

.legend-optimal[b-jcxbi6yl0g] { background: var(--accent-gold); opacity: 0.7; }
.legend-current[b-jcxbi6yl0g] { background: #fff; opacity: 0.8; }

/* ── Stats Table ── */
.opt-stats-header[b-jcxbi6yl0g] { grid-template-columns: 80px 90px repeat(7, 1fr); }
.opt-stats-row[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: 80px 90px repeat(7, 1fr);
    padding: 8px 12px;
    font-size: 13px;
    border-bottom: 1px solid rgba(255,255,255,0.03);
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
    transition: background 0.15s;
}

.opt-stats-row:hover[b-jcxbi6yl0g] {
    background: rgba(255,255,255,0.025);
}

.stats-symbol[b-jcxbi6yl0g] { font-weight: 700; }

/* Sharpe coloring */
.sharpe-good[b-jcxbi6yl0g] { color: #4CAF50; font-weight: 700; }
.sharpe-ok[b-jcxbi6yl0g] { color: var(--accent-gold); }
.sharpe-low[b-jcxbi6yl0g] { color: var(--text-secondary); }
.sharpe-neg[b-jcxbi6yl0g] { color: #ff4444; }

/* ── Frontier Table ── */
.frontier-header[b-jcxbi6yl0g] { grid-template-columns: 40px 1fr 1fr 80px; }
.frontier-row[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: 40px 1fr 1fr 80px;
    padding: 6px 12px;
    font-size: 12px;
    border-bottom: 1px solid rgba(255,255,255,0.03);
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}

.frontier-optimal[b-jcxbi6yl0g] {
    background: rgba(255, 215, 0, 0.06);
    border-left: 2px solid var(--accent-gold);
}

/* ── Correlation Matrix ── */
.corr-matrix-wrapper[b-jcxbi6yl0g] {
    overflow-x: auto;
}

.corr-matrix[b-jcxbi6yl0g] {
    border-collapse: collapse;
    font-size: 12px;
    width: auto;
}

.corr-matrix th[b-jcxbi6yl0g],
.corr-matrix td[b-jcxbi6yl0g] {
    padding: 6px 10px;
    text-align: center;
    white-space: nowrap;
    border: 1px solid rgba(255,255,255,0.05);
}

.corr-matrix th[b-jcxbi6yl0g] {
    font-weight: 700;
    color: var(--text-primary);
    font-size: 11px;
}

.corr-label[b-jcxbi6yl0g] {
    font-weight: 700 !important;
    text-align: left !important;
    color: var(--text-primary);
}

.corr-cell[b-jcxbi6yl0g] {
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}

/* ── Methodology ── */
.opt-methodology[b-jcxbi6yl0g] {
    margin-top: 24px;
    padding: 14px 16px;
    background: rgba(255,255,255,0.02);
    border: 1px solid var(--border);
    border-radius: 10px;
}

.opt-methodology p[b-jcxbi6yl0g] {
    font-size: 12px;
    line-height: 1.6;
    color: var(--text-secondary);
    margin: 0;
}

.positive[b-jcxbi6yl0g] { color: #4CAF50; }
.negative[b-jcxbi6yl0g] { color: #ff4444; }

.alloc-sector[b-jcxbi6yl0g] { color: var(--text-secondary); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stats-sector[b-jcxbi6yl0g] { color: var(--text-secondary); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── KPI Dashboard ── */
.opt-kpi-dashboard[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-top: 24px;
    margin-bottom: 24px;
}

.kpi-card[b-jcxbi6yl0g] {
    padding: 16px;
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--border);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    transition: border-color 0.2s, background 0.2s;
}

.kpi-card:hover[b-jcxbi6yl0g] { background: rgba(255,255,255,0.05); }

.kpi-label[b-jcxbi6yl0g] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 4px;
}

.kpi-value[b-jcxbi6yl0g] {
    font-size: 24px;
    font-weight: 800;
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
}

.kpi-unit[b-jcxbi6yl0g] {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-secondary);
}

.kpi-sub[b-jcxbi6yl0g] {
    font-size: 10px;
    color: var(--text-secondary);
    letter-spacing: 0.3px;
}

.kpi-tip[b-jcxbi6yl0g] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    font-size: 10px;
    line-height: 1;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    color: var(--text-secondary);
    cursor: help;
    transition: background 0.15s;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
}

.kpi-tip:hover[b-jcxbi6yl0g] { background: rgba(255,215,0,0.15); color: var(--accent-gold); }

.kpi-return[b-jcxbi6yl0g] { border-top: 2px solid #4CAF50; }
.kpi-vol[b-jcxbi6yl0g] { border-top: 2px solid #2196F3; }
.kpi-sharpe[b-jcxbi6yl0g] { border-top: 2px solid var(--accent-gold); }
.kpi-sortino[b-jcxbi6yl0g] { border-top: 2px solid #AB47BC; }
.kpi-var[b-jcxbi6yl0g] { border-top: 2px solid #EF5350; }
.kpi-cvar[b-jcxbi6yl0g] { border-top: 2px solid #E91E63; }
.kpi-beta[b-jcxbi6yl0g] { border-top: 2px solid #26C6DA; }
.kpi-div[b-jcxbi6yl0g] { border-top: 2px solid #66BB6A; }

/* ── Chart Containers ── */
.opt-chart-container[b-jcxbi6yl0g] {
    position: relative;
    width: 100%;
    height: 380px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 10px;
    padding: 12px;
    box-sizing: border-box;
}

.opt-chart-sm[b-jcxbi6yl0g] { height: 280px; }

.opt-charts-row[b-jcxbi6yl0g] {
    display: flex;
    gap: 16px;
    margin-top: 8px;
}

.opt-chart-half[b-jcxbi6yl0g] {
    flex: 1;
    min-width: 0;
}

.opt-chart-half h4[b-jcxbi6yl0g] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin: 0 0 8px;
}

/* ── Benchmark Comparison ── */
.opt-benchmark[b-jcxbi6yl0g] { }

.benchmark-grid[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.bm-card[b-jcxbi6yl0g] {
    padding: 14px 16px;
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--border);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.bm-label[b-jcxbi6yl0g] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 4px;
}

.bm-value[b-jcxbi6yl0g] {
    font-size: 18px;
    font-weight: 800;
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}

/* ── Stress Test Cards ── */
.stress-cards[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.stress-card[b-jcxbi6yl0g] {
    padding: 16px;
    background: rgba(255, 68, 68, 0.03);
    border: 1px solid rgba(255, 68, 68, 0.15);
    border-radius: 12px;
    transition: border-color 0.2s;
}

.stress-card:hover[b-jcxbi6yl0g] { border-color: rgba(255, 68, 68, 0.35); }

.stress-header[b-jcxbi6yl0g] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.stress-icon[b-jcxbi6yl0g] { font-size: 24px; }

.stress-name[b-jcxbi6yl0g] {
    font-size: 14px;
    font-weight: 700;
    color: var(--text-primary);
    display: block;
}

.stress-period[b-jcxbi6yl0g] {
    font-size: 11px;
    color: var(--text-secondary);
}

.stress-metrics[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

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

.stress-lbl[b-jcxbi6yl0g] {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--text-secondary);
}

.stress-val[b-jcxbi6yl0g] {
    font-size: 15px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

/* ── Mobile Cards ── */
.mobile-cards[b-jcxbi6yl0g] { display: none; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .desktop-only[b-jcxbi6yl0g] { display: none; }
    .mobile-cards[b-jcxbi6yl0g] { display: flex; flex-direction: column; gap: 8px; padding: 0 4px; }

    .capq-header[b-jcxbi6yl0g] { flex-direction: column; align-items: flex-start; }
    .cq-controls[b-jcxbi6yl0g] { flex-direction: column; }
    .cq-filters[b-jcxbi6yl0g] { width: 100%; justify-content: space-between; }
    .feature-grid[b-jcxbi6yl0g] { grid-template-columns: 1fr; }
    .metrics-grid[b-jcxbi6yl0g] { grid-template-columns: repeat(2, 1fr); }
    .returns-grid[b-jcxbi6yl0g] { grid-template-columns: repeat(2, 1fr); }
    .cq-detail-panel[b-jcxbi6yl0g] { width: 100%; max-width: 100vw; }
    .opt-control-row[b-jcxbi6yl0g] { grid-template-columns: 1fr 1fr; }
    .opt-summary[b-jcxbi6yl0g] { grid-template-columns: 1fr; }
    .opt-metric-row[b-jcxbi6yl0g] { grid-template-columns: repeat(3, 1fr); }
    .opt-alloc-header[b-jcxbi6yl0g], .opt-alloc-row[b-jcxbi6yl0g] { grid-template-columns: 60px 1fr 80px 55px 55px 80px; font-size: 12px; }
    .opt-stats-header[b-jcxbi6yl0g], .opt-stats-row[b-jcxbi6yl0g] { grid-template-columns: 60px 70px repeat(7, 1fr); font-size: 11px; }
    .opt-kpi-dashboard[b-jcxbi6yl0g] { grid-template-columns: repeat(2, 1fr); }
    .benchmark-grid[b-jcxbi6yl0g] { grid-template-columns: repeat(2, 1fr); }
    .opt-charts-row[b-jcxbi6yl0g] { flex-direction: column; }
    .opt-chart-half[b-jcxbi6yl0g] { width: 100%; }
    .stress-cards[b-jcxbi6yl0g] { grid-template-columns: 1fr; }
    .insights-grid[b-jcxbi6yl0g] { grid-template-columns: 1fr; }
    .alloc-bar-row[b-jcxbi6yl0g] { grid-template-columns: 60px 1fr 40px; }
}

.m-card[b-jcxbi6yl0g] {
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--border, #2a2a3e);
    border-radius: 12px;
    padding: 14px 16px;
    cursor: pointer;
    transition: background 0.15s;
}

.m-card:active[b-jcxbi6yl0g] { background: rgba(166,124,82,0.08); }
.pick-card[b-jcxbi6yl0g] { border-left: 3px solid var(--accent-gold, #A67C52); }

.m-card-top[b-jcxbi6yl0g] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.m-card-left[b-jcxbi6yl0g] {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.m-card-right[b-jcxbi6yl0g] {
    flex-shrink: 0;
}

.m-rank[b-jcxbi6yl0g] {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary, #64748b);
    min-width: 24px;
    text-align: center;
}

.m-card-name[b-jcxbi6yl0g] {
    font-size: 12px;
    color: var(--text-secondary, #94A3B8);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 120px;
}

.m-card-grades[b-jcxbi6yl0g] {
    display: flex;
    gap: 6px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.m-card-grades .grade[b-jcxbi6yl0g] {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 6px;
}

.m-card-details[b-jcxbi6yl0g] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 4px 12px;
}

.m-card-detail[b-jcxbi6yl0g] {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
}

.m-lbl[b-jcxbi6yl0g] { color: var(--text-secondary, #94A3B8); }
.m-val[b-jcxbi6yl0g] { color: var(--text-primary, #fff); font-weight: 500; }
/* /Pages/Checkout.razor.rz.scp.css */
.checkout-container[b-a7b7r4mp4e] {
    max-width: 900px;
    margin: 0 auto;
    padding: 32px 20px;
}

.checkout-loading[b-a7b7r4mp4e], .checkout-error[b-a7b7r4mp4e] {
    text-align: center;
    padding: 60px 20px;
    color: var(--text-secondary, #aaa);
    font-size: 15px;
}

.checkout-error[b-a7b7r4mp4e] {
    color: var(--text-error, #ef4444);
}

.checkout-grid[b-a7b7r4mp4e] {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 32px;
    align-items: start;
}

.checkout-section-title[b-a7b7r4mp4e] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary, #fff);
    margin-bottom: 16px;
}

/* ── Order Summary ── */
.checkout-card[b-a7b7r4mp4e] {
    background: var(--bg-secondary, #1a1a2e);
    border: 1px solid var(--border, #2a2a3e);
    border-radius: 12px;
    padding: 24px;
}

.checkout-plan-name[b-a7b7r4mp4e] {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary, #fff);
}

.checkout-plan-cycle[b-a7b7r4mp4e] {
    font-size: 13px;
    color: var(--text-secondary, #aaa);
    text-transform: capitalize;
    margin-top: 2px;
}

.checkout-divider[b-a7b7r4mp4e] {
    height: 1px;
    background: var(--border, #2a2a3e);
    margin: 16px 0;
}

.checkout-line[b-a7b7r4mp4e] {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: var(--text-secondary, #aaa);
    padding: 4px 0;
}

.checkout-discount[b-a7b7r4mp4e] { color: var(--accent-gold, #d4af37); }

.checkout-total[b-a7b7r4mp4e] {
    color: var(--text-primary, #fff);
    font-weight: 700;
    font-size: 16px;
}

/* ── Payment Methods ── */
.checkout-methods[b-a7b7r4mp4e] {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
}

.checkout-method[b-a7b7r4mp4e] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    background: var(--bg-secondary, #1a1a2e);
    border: 2px solid var(--border, #2a2a3e);
    border-radius: 10px;
    color: var(--text-secondary, #aaa);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color .15s, color .15s;
}

.checkout-method:hover[b-a7b7r4mp4e] {
    border-color: var(--text-secondary, #aaa);
}

.checkout-method-active[b-a7b7r4mp4e] {
    border-color: var(--accent-gold, #d4af37);
    color: var(--text-primary, #fff);
}

.method-icon[b-a7b7r4mp4e] {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}

/* ── Form ── */
.checkout-form[b-a7b7r4mp4e] {
    margin-bottom: 20px;
}

.form-group[b-a7b7r4mp4e] {
    margin-bottom: 14px;
}

.form-group label[b-a7b7r4mp4e] {
    display: block;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .3px;
    color: var(--text-secondary, #aaa);
    margin-bottom: 6px;
}

.checkout-input[b-a7b7r4mp4e] {
    width: 100%;
    padding: 10px 14px;
    background: var(--bg-tertiary, #111);
    border: 1px solid var(--border, #2a2a3e);
    border-radius: 8px;
    color: var(--text-primary, #fff);
    font-size: 14px;
    outline: none;
    transition: border-color .15s;
    box-sizing: border-box;
}

.checkout-input:focus[b-a7b7r4mp4e] {
    border-color: var(--accent-gold, #d4af37);
}

.checkout-input[b-a7b7r4mp4e]::placeholder {
    color: var(--text-tertiary, #555);
}

.form-row[b-a7b7r4mp4e] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.checkout-hint[b-a7b7r4mp4e] {
    font-size: 13px;
    color: var(--text-secondary, #aaa);
    margin-top: 8px;
}

.checkout-pay-error[b-a7b7r4mp4e] {
    background: rgba(239,68,68,.1);
    border: 1px solid rgba(239,68,68,.3);
    color: #ef4444;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 13px;
    margin-bottom: 16px;
}

.checkout-pay-btn[b-a7b7r4mp4e] {
    margin-top: 4px;
    padding: 14px !important;
    font-size: 16px !important;
}

.checkout-secure[b-a7b7r4mp4e] {
    text-align: center;
    font-size: 12px;
    color: var(--text-tertiary, #666);
    margin-top: 12px;
}

@media (max-width: 700px) {
    .checkout-grid[b-a7b7r4mp4e] {
        grid-template-columns: 1fr;
    }
    .checkout-methods[b-a7b7r4mp4e] {
        flex-direction: column;
    }
}
/* /Pages/CheckoutReturn.razor.rz.scp.css */
.checkout-return-container[b-7x19bp90yd] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    padding: 40px 20px;
}

.checkout-card[b-7x19bp90yd] {
    background: var(--bg-secondary, #1a1a2e);
    border: 1px solid var(--border, #2a2a3e);
    border-radius: 16px;
    padding: 48px 40px;
    max-width: 460px;
    width: 100%;
    text-align: center;
}

.checkout-card h2[b-7x19bp90yd] {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-primary, #fff);
    margin: 16px 0 8px;
}

.checkout-subtitle[b-7x19bp90yd] {
    color: var(--text-secondary, #aaa);
    font-size: 14px;
    margin: 0;
}

.checkout-icon[b-7x19bp90yd] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(34,197,94,.15);
    color: #22c55e;
    font-size: 32px;
    font-weight: 700;
}

.checkout-icon-fail[b-7x19bp90yd] {
    background: rgba(239,68,68,.15);
    color: #ef4444;
}

.checkout-details[b-7x19bp90yd] {
    margin-top: 24px;
    border-top: 1px solid var(--border, #2a2a3e);
    padding-top: 16px;
}

.checkout-detail-row[b-7x19bp90yd] {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    font-size: 13px;
    color: var(--text-secondary, #aaa);
}

.checkout-detail-row span:last-child[b-7x19bp90yd] {
    color: var(--text-primary, #fff);
    font-weight: 500;
}

.checkout-payment-id[b-7x19bp90yd] {
    font-family: monospace;
    font-size: 11px;
}

.checkout-spinner[b-7x19bp90yd] {
    width: 48px;
    height: 48px;
    border: 3px solid var(--border, #2a2a3e);
    border-top-color: var(--accent-gold, #d4af37);
    border-radius: 50%;
    margin: 0 auto 8px;
    animation: spin-b-7x19bp90yd 1s linear infinite;
}

@keyframes spin-b-7x19bp90yd {
    to { transform: rotate(360deg); }
}
/* /Pages/Contact.razor.rz.scp.css */
.contact-section[b-999n8xovmw] {
    min-height: calc(100vh - 140px);
    display: flex;
    align-items: flex-start;
    padding-top: 80px;
}

.contact-container[b-999n8xovmw] {
    max-width: 560px;
    margin: 0 auto;
    width: 100%;
}

/* Form */
.contact-form[b-999n8xovmw] {
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.contact-field[b-999n8xovmw] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.contact-label[b-999n8xovmw] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-secondary, #94a3b8);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.contact-required[b-999n8xovmw] {
    color: var(--accent-gold, #A67C52);
}

.contact-input[b-999n8xovmw],
.contact-textarea[b-999n8xovmw] {
    background: var(--bg-secondary, #141414);
    border: 1px solid var(--border, rgba(255,255,255,0.10));
    border-radius: 8px;
    color: var(--text-primary, #fff);
    font-size: 0.95rem;
    padding: 0.65rem 0.9rem;
    transition: border-color 0.2s;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
}

.contact-textarea[b-999n8xovmw] {
    resize: vertical;
    min-height: 130px;
}

.contact-input:focus[b-999n8xovmw],
.contact-textarea:focus[b-999n8xovmw] {
    border-color: var(--accent-gold, #A67C52);
}

.contact-input[b-999n8xovmw]::placeholder,
.contact-textarea[b-999n8xovmw]::placeholder {
    color: rgba(255,255,255,0.25);
}

/* Footer row */
.contact-footer[b-999n8xovmw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.5rem;
}

.contact-back[b-999n8xovmw] {
    font-size: 0.9rem;
    opacity: 0.7;
}

.contact-submit[b-999n8xovmw] {
    min-width: 150px;
}

.contact-submit:disabled[b-999n8xovmw] {
    opacity: 0.55;
    cursor: not-allowed;
}

/* Error */
.contact-error[b-999n8xovmw] {
    background: rgba(239, 68, 68, 0.12);
    border: 1px solid rgba(239, 68, 68, 0.35);
    border-radius: 8px;
    color: #f87171;
    padding: 0.65rem 1rem;
    font-size: 0.9rem;
}

.contact-fallback[b-999n8xovmw] {
    display: inline-flex;
    width: fit-content;
    color: var(--accent-gold);
    font-weight: 700;
}

/* Success */
.contact-success[b-999n8xovmw] {
    margin-top: 2.5rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem;
}

.contact-success-icon[b-999n8xovmw] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(34, 197, 94, 0.15);
    color: #4ade80;
    font-size: 1.6rem;
}

.contact-success p[b-999n8xovmw] {
    color: var(--text-secondary, #94a3b8);
    font-size: 1rem;
    margin: 0;
}

@media (max-width: 600px) {
    .contact-footer[b-999n8xovmw] {
        flex-direction: column-reverse;
        gap: 1rem;
        align-items: stretch;
    }

    .contact-submit[b-999n8xovmw] {
        width: 100%;
    }

    .contact-back[b-999n8xovmw] {
        text-align: center;
    }
}
/* /Pages/Dashboard.razor.rz.scp.css */
.dashboard[b-ko0bo6rre1] {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.dash-grid[b-ko0bo6rre1] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 24px;
}

.dash-card[b-ko0bo6rre1] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 18px;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.30);
    overflow: hidden;
}

.dash-card-inner[b-ko0bo6rre1] {
    padding: 18px;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.dash-chart[b-ko0bo6rre1] {
    grid-column: span 12;
    height: 520px;
}

.dash-watchlist[b-ko0bo6rre1] {
    grid-column: span 12;
    height: 520px;
}

.dash-movers[b-ko0bo6rre1] {
    grid-column: span 12;
    height: 620px;
}

.dash-news[b-ko0bo6rre1] {
    grid-column: span 12;
    height: 620px;
}

@media (min-width: 1024px) {
    .dash-chart[b-ko0bo6rre1] {
        grid-column: span 8;
    }

    .dash-watchlist[b-ko0bo6rre1] {
        grid-column: span 4;
    }

    .dash-movers[b-ko0bo6rre1] {
        grid-column: span 8;
    }

    .dash-news[b-ko0bo6rre1] {
        grid-column: span 4;
    }
}

.dash-chart-header[b-ko0bo6rre1] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
}

.dash-symbol[b-ko0bo6rre1] {
    font-size: 20px;
    font-weight: 900;
    color: var(--accent-gold);
}

.dash-name[b-ko0bo6rre1] {
    margin-top: 4px;
    font-size: 13px;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 420px;
}

.dash-price[b-ko0bo6rre1] {
    text-align: right;
}

.dash-price-main[b-ko0bo6rre1] {
    font-size: 22px;
    font-weight: 900;
    color: var(--text-primary);
}

.dash-price-change[b-ko0bo6rre1] {
    margin-top: 6px;
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid var(--border);
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.03);
}

.dash-price-change.positive[b-ko0bo6rre1] {
    color: var(--positive);
    border-color: rgba(0, 255, 136, 0.25);
    background: rgba(0, 255, 136, 0.08);
}

.dash-price-change.negative[b-ko0bo6rre1] {
    color: var(--negative);
    border-color: rgba(255, 68, 68, 0.25);
    background: rgba(255, 68, 68, 0.08);
}

.tradingview-chart[b-ko0bo6rre1] {
    flex: 1;
    min-height: 0;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: rgba(0, 0, 0, 0.25);
    overflow: hidden;
}

.dash-card-head[b-ko0bo6rre1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.dash-card-head h2[b-ko0bo6rre1] {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--text-primary);
}

.dash-link[b-ko0bo6rre1] {
    color: var(--accent-gold);
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
}

.dash-scroll[b-ko0bo6rre1] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding-right: 6px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.dash-empty[b-ko0bo6rre1] {
    padding: 20px 10px;
    text-align: center;
    color: var(--text-secondary);
    font-size: 13px;
}

.dash-watch-item[b-ko0bo6rre1] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    width: 100%;
    border: 1px solid transparent;
    background: rgba(255, 255, 255, 0.02);
    border-radius: 14px;
    padding: 12px;
    cursor: pointer;
    transition: all 0.15s ease;
    color: inherit;
    text-align: left;
}

.dash-watch-item:hover[b-ko0bo6rre1] {
    border-color: var(--border);
    background: rgba(255, 255, 255, 0.04);
}

.dash-watch-left[b-ko0bo6rre1] {
    min-width: 0;
}

.dash-watch-symbol[b-ko0bo6rre1] {
    font-weight: 900;
    color: var(--text-primary);
}

.dash-watch-item:hover .dash-watch-symbol[b-ko0bo6rre1] {
    color: var(--accent-gold);
}

.dash-watch-name[b-ko0bo6rre1] {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 150px;
}

.dash-watch-right[b-ko0bo6rre1] {
    text-align: right;
    flex: 0 0 auto;
}

.dash-watch-price[b-ko0bo6rre1] {
    font-weight: 800;
    color: var(--text-primary);
}

.dash-watch-change[b-ko0bo6rre1] {
    margin-top: 4px;
    font-size: 12px;
    font-weight: 800;
}

.dash-watch-change.positive[b-ko0bo6rre1] {
    color: var(--positive);
}

.dash-watch-change.negative[b-ko0bo6rre1] {
    color: var(--negative);
}

.dash-tabs[b-ko0bo6rre1] {
    display: flex;
    gap: 8px;
}

.dash-head-left[b-ko0bo6rre1] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.dash-session-tabs[b-ko0bo6rre1] {
    display: flex;
    gap: 4px;
}

.dash-session-tab[b-ko0bo6rre1] {
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.02);
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s;
}

.dash-session-tab.active[b-ko0bo6rre1] {
    color: #4fc3f7;
    border-color: rgba(79, 195, 247, 0.35);
    background: rgba(79, 195, 247, 0.10);
}

.dash-tab[b-ko0bo6rre1] {
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.02);
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.dash-tab.active[b-ko0bo6rre1] {
    color: var(--accent-gold);
    border-color: rgba(166, 124, 82, 0.35);
    background: rgba(166, 124, 82, 0.10);
}

.dash-table[b-ko0bo6rre1] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    border: 1px solid var(--border);
    border-radius: 14px;
}

.dash-table table[b-ko0bo6rre1] {
    width: 100%;
    border-collapse: collapse;
}

.dash-table th[b-ko0bo6rre1] {
    position: sticky;
    top: 0;
    background: rgba(10, 10, 10, 0.70);
    backdrop-filter: blur(8px);
    padding: 12px 14px;
    font-size: 12px;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    border-bottom: 1px solid var(--border);
}

.dash-table td[b-ko0bo6rre1] {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 13px;
    color: var(--text-primary);
}

.dash-table tr[b-ko0bo6rre1] {
    cursor: pointer;
}

.dash-table tr:hover td[b-ko0bo6rre1] {
    background: rgba(255, 255, 255, 0.03);
}

.dash-table th.right[b-ko0bo6rre1],
.dash-table td.right[b-ko0bo6rre1] {
    text-align: right;
}

.dash-asset-symbol[b-ko0bo6rre1] {
    font-weight: 900;
    color: var(--accent-gold);
}

.dash-asset-name[b-ko0bo6rre1] {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 320px;
}

.dash-pill[b-ko0bo6rre1] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.03);
    font-weight: 900;
    font-size: 12px;
}

.dash-pill.positive[b-ko0bo6rre1] {
    color: var(--positive);
    border-color: rgba(0, 255, 136, 0.25);
    background: rgba(0, 255, 136, 0.08);
}

.dash-pill.negative[b-ko0bo6rre1] {
    color: var(--negative);
    border-color: rgba(255, 68, 68, 0.25);
    background: rgba(255, 68, 68, 0.08);
}

.dash-news-item[b-ko0bo6rre1] {
    display: block;
    padding: 14px;
    border-radius: 14px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.02);
    text-decoration: none;
    transition: all 0.15s ease;
}

.dash-news-item:hover[b-ko0bo6rre1] {
    border-color: rgba(166, 124, 82, 0.35);
    background: rgba(255, 255, 255, 0.04);
}

.dash-news-top[b-ko0bo6rre1] {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
}

.dash-news-source[b-ko0bo6rre1] {
    font-size: 12px;
    font-weight: 900;
    color: var(--accent-gold);
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(166, 124, 82, 0.10);
    border: 1px solid rgba(166, 124, 82, 0.22);
}

.dash-news-time[b-ko0bo6rre1] {
    font-size: 12px;
    color: var(--text-secondary);
    white-space: nowrap;
}

.dash-news-title[b-ko0bo6rre1] {
    font-size: 13px;
    font-weight: 800;
    color: var(--text-primary);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* /Pages/EtfDetail.razor.rz.scp.css */
.etf-detail[b-grcqq2pq18] {
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 1100px;
    margin: 0 auto;
}

.back-link[b-grcqq2pq18] {
    color: var(--accent-gold);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
    transition: opacity 0.2s;
}

.back-link:hover[b-grcqq2pq18] {
    opacity: 0.7;
}

.loading-state[b-grcqq2pq18] {
    text-align: center;
    padding: 60px 20px;
    color: var(--text-secondary);
}

.error-alert[b-grcqq2pq18] {
    padding: 12px 16px;
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.3);
    border-radius: 12px;
    color: #fca5a5;
    font-size: 13px;
}

/* ─── Header ────────────────────────────────── */
.etf-header[b-grcqq2pq18] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 16px;
    padding: 20px 24px;
    background: linear-gradient(135deg, rgba(20, 20, 20, 0.8) 0%, rgba(10, 10, 10, 0.9) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
}

.header-left[b-grcqq2pq18] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.etf-logo[b-grcqq2pq18] {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    object-fit: contain;
    background: rgba(255, 255, 255, 0.05);
    padding: 4px;
}

.etf-name[b-grcqq2pq18] {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 4px;
    letter-spacing: -0.4px;
}

.etf-symbol[b-grcqq2pq18] {
    font-size: 13px;
    font-weight: 800;
    color: var(--accent-gold);
    background: rgba(166, 124, 82, 0.10);
    border: 1px solid rgba(166, 124, 82, 0.22);
    border-radius: 6px;
    padding: 2px 8px;
    margin-right: 8px;
}

.etf-currency[b-grcqq2pq18] {
    font-size: 12px;
    color: var(--text-secondary);
    background: rgba(255, 255, 255, 0.05);
    border-radius: 4px;
    padding: 2px 6px;
}

.header-right[b-grcqq2pq18] {
    text-align: right;
}

.price-big[b-grcqq2pq18] {
    font-size: 32px;
    font-weight: 800;
    color: var(--text-primary);
    letter-spacing: -0.5px;
}

.change-row[b-grcqq2pq18] {
    font-size: 15px;
    font-weight: 600;
    margin-top: 4px;
}

.change-row.positive[b-grcqq2pq18] {
    color: var(--positive);
}

.change-row.negative[b-grcqq2pq18] {
    color: var(--negative);
}

/* ─── Key Stats ─────────────────────────────── */
.stats-grid[b-grcqq2pq18] {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.stat-card[b-grcqq2pq18] {
    padding: 16px;
    background: linear-gradient(135deg, rgba(20, 20, 20, 0.8) 0%, rgba(10, 10, 10, 0.9) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    text-align: center;
}

.stat-label[b-grcqq2pq18] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    margin-bottom: 6px;
}

.stat-value[b-grcqq2pq18] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
}

/* ─── 52-Week Range ─────────────────────────── */
.range-section[b-grcqq2pq18] {
    padding: 20px 24px;
    background: linear-gradient(135deg, rgba(20, 20, 20, 0.8) 0%, rgba(10, 10, 10, 0.9) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
}

.section-title[b-grcqq2pq18] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 14px;
}

.range-bar-container[b-grcqq2pq18] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.range-label[b-grcqq2pq18] {
    font-size: 13px;
    color: var(--text-secondary);
    white-space: nowrap;
    min-width: 70px;
}

.range-label:last-child[b-grcqq2pq18] {
    text-align: right;
}

.range-track[b-grcqq2pq18] {
    flex: 1;
    height: 8px;
    background: rgba(255, 255, 255, 0.08);
    border-radius: 4px;
    position: relative;
}

.range-fill[b-grcqq2pq18] {
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--accent-gold), rgba(166, 124, 82, 0.5));
}

.range-marker[b-grcqq2pq18] {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 14px;
    height: 14px;
    background: var(--accent-gold);
    border: 2px solid var(--bg-primary);
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(166, 124, 82, 0.4);
}

/* ─── Description ───────────────────────────── */
.description-section[b-grcqq2pq18] {
    padding: 20px 24px;
    background: linear-gradient(135deg, rgba(20, 20, 20, 0.8) 0%, rgba(10, 10, 10, 0.9) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
}

.description-text[b-grcqq2pq18] {
    font-size: 14px;
    color: var(--text-secondary);
    line-height: 1.6;
    margin: 0;
}

.show-more-btn[b-grcqq2pq18] {
    margin-top: 8px;
    background: none;
    border: none;
    color: var(--accent-gold);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
}

.show-more-btn:hover[b-grcqq2pq18] {
    text-decoration: underline;
}

.website-link[b-grcqq2pq18] {
    display: inline-block;
    margin-top: 10px;
    font-size: 12px;
    color: var(--accent-gold);
    text-decoration: none;
}

.website-link:hover[b-grcqq2pq18] {
    text-decoration: underline;
}

/* ─── Holdings Table ────────────────────────── */
.holdings-section[b-grcqq2pq18] {
    padding: 20px 24px;
    background: linear-gradient(135deg, rgba(20, 20, 20, 0.8) 0%, rgba(10, 10, 10, 0.9) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
}

.holdings-table-wrap[b-grcqq2pq18] {
    overflow-x: auto;
}

.holdings-table[b-grcqq2pq18] {
    width: 100%;
    border-collapse: collapse;
}

.holdings-table th[b-grcqq2pq18] {
    padding: 10px 12px;
    text-align: left;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.holdings-table td[b-grcqq2pq18] {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    color: var(--text-primary);
    font-size: 13px;
}

.holdings-table tr:hover[b-grcqq2pq18] {
    background: rgba(255, 255, 255, 0.02);
}

.rank[b-grcqq2pq18] {
    color: var(--text-secondary);
    font-size: 12px;
    width: 30px;
}

.symbol-badge[b-grcqq2pq18] {
    display: inline-block;
    padding: 2px 8px;
    background: rgba(166, 124, 82, 0.10);
    border: 1px solid rgba(166, 124, 82, 0.22);
    border-radius: 6px;
    color: var(--accent-gold);
    font-weight: 700;
    font-size: 12px;
}

.name-cell[b-grcqq2pq18] {
    max-width: 250px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.text-right[b-grcqq2pq18] {
    text-align: right !important;
}

.weight-cell[b-grcqq2pq18] {
    font-weight: 700;
    color: var(--accent-gold) !important;
}

/* ─── Sector / Country Weightings ───────────── */
.weightings-grid[b-grcqq2pq18] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.weighting-card[b-grcqq2pq18] {
    padding: 20px 24px;
    background: linear-gradient(135deg, rgba(20, 20, 20, 0.8) 0%, rgba(10, 10, 10, 0.9) 100%);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
}

.weighting-list[b-grcqq2pq18] {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.weighting-row[b-grcqq2pq18] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.weighting-info[b-grcqq2pq18] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.weighting-name[b-grcqq2pq18] {
    font-size: 13px;
    color: var(--text-primary);
}

.weighting-pct[b-grcqq2pq18] {
    font-size: 13px;
    font-weight: 700;
    color: var(--accent-gold);
    min-width: 55px;
    text-align: right;
}

.weighting-bar-track[b-grcqq2pq18] {
    height: 6px;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 3px;
    overflow: hidden;
}

.weighting-bar-fill[b-grcqq2pq18] {
    height: 100%;
    border-radius: 3px;
    background: linear-gradient(90deg, var(--accent-gold), rgba(166, 124, 82, 0.4));
    transition: width 0.4s ease;
}

/* ─── Responsive ────────────────────────────── */
@media (max-width: 768px) {
    .etf-header[b-grcqq2pq18] {
        flex-direction: column;
    }

    .header-right[b-grcqq2pq18] {
        text-align: left;
    }

    .stats-grid[b-grcqq2pq18] {
        grid-template-columns: repeat(2, 1fr);
    }

    .weightings-grid[b-grcqq2pq18] {
        grid-template-columns: 1fr;
    }
}
/* /Pages/EtfScreener.razor.rz.scp.css */
/* ══════════════════════════════════════════════════
   ETF Screener  —  matches reference design
══════════════════════════════════════════════════ */

/* ── Page wrapper ──────────────────────────────── */
.etf-screener-page[b-ja3ou7ekhf] {
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 1600px;
    margin: 0 auto;
    padding: 24px 20px 60px;
}

/* ── Header ────────────────────────────────────── */
.etf-page-header[b-ja3ou7ekhf]   { margin-bottom: 0; }

.etf-page-title[b-ja3ou7ekhf] {
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 0.2em;
    display: flex;
    align-items: center;
    gap: 10px;
}

.title-icon[b-ja3ou7ekhf] { font-size: 1.6rem; }

.etf-page-subtitle[b-ja3ou7ekhf] {
    font-size: 0.95rem;
    color: #94a3b8;
    margin: 0 0 6px;
}

.about-link[b-ja3ou7ekhf] {
    font-size: 0.85rem;
    color: var(--accent-gold, #bfa16a);
    text-decoration: none;
    opacity: 0.85;
}
.about-link:hover[b-ja3ou7ekhf] { opacity: 1; text-decoration: underline; }

/* ── Error alert ───────────────────────────────── */
.etf-error-alert[b-ja3ou7ekhf] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 18px;
    background: rgba(239,68,68,0.12);
    border: 1px solid rgba(239,68,68,0.3);
    border-radius: 10px;
    color: #fca5a5;
    font-size: 14px;
}

/* ── Filters card ──────────────────────────────── */
.etf-filters-card[b-ja3ou7ekhf] {
    background: rgba(20,20,20,0.9);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 14px;
    padding: 18px 20px 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.etf-filters-main-row[b-ja3ou7ekhf] {
    display: flex;
    gap: 12px;
    align-items: stretch;
}

.etf-search-wrap[b-ja3ou7ekhf] { flex: 1 1 0%; min-width: 0; }

.etf-search-input[b-ja3ou7ekhf] {
    width: 100%;
    padding: 10px 16px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 10px;
    color: #fff;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
    box-sizing: border-box;
}
.etf-search-input:focus[b-ja3ou7ekhf] { border-color: var(--accent-gold, #bfa16a); }

.etf-ctrl-select[b-ja3ou7ekhf] {
    padding: 10px 14px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 10px;
    color: #fff;
    font-size: 13px;
    cursor: pointer;
    outline: none;
    min-width: 90px;
}
.etf-ctrl-select option[b-ja3ou7ekhf] { background: #1a1d23; color: #e5e7eb; }

.etf-btn-search[b-ja3ou7ekhf] {
    padding: 10px 24px;
    background: var(--accent-gold, #bfa16a);
    color: #181818;
    border: none;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s, transform 0.1s;
}
.etf-btn-search:hover[b-ja3ou7ekhf]  { background: #d4b47a; transform: translateY(-1px); }
.etf-btn-search:active[b-ja3ou7ekhf] { transform: translateY(0); }

.etf-btn-clear[b-ja3ou7ekhf] {
    padding: 10px 18px;
    background: rgba(255,255,255,0.05);
    color: #e2e8f0;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s, border-color 0.2s;
}
.etf-btn-clear:hover[b-ja3ou7ekhf] { background: rgba(255,255,255,0.08); border-color: rgba(191,161,106,0.35); }

/* Labeled inputs */
.etf-filters-inputs-row[b-ja3ou7ekhf] {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.etf-filter-field[b-ja3ou7ekhf] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 130px;
}

.etf-filter-field label[b-ja3ou7ekhf] {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #94a3b8;
}

.etf-filter-field input[b-ja3ou7ekhf] {
    padding: 8px 12px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 8px;
    color: #fff;
    font-size: 13px;
    outline: none;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s;
}

.etf-filter-pagesize[b-ja3ou7ekhf] { flex: 0 0 auto; min-width: 110px; }
.etf-filter-pagesize .etf-ctrl-select[b-ja3ou7ekhf] { width: 100%; }
.etf-filter-field input[b-ja3ou7ekhf]::placeholder { color: rgba(255,255,255,0.2); }
.etf-filter-field input:focus[b-ja3ou7ekhf]        { border-color: var(--accent-gold, #bfa16a); }

/* ── Results card ──────────────────────────────── */
.etf-results-card[b-ja3ou7ekhf] {
    background: rgba(20,20,20,0.9);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 14px;
    overflow: hidden;
}

.etf-table-header[b-ja3ou7ekhf] {
    padding: 16px 20px 14px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}
.etf-table-header h3[b-ja3ou7ekhf] {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    margin: 0;
}
.etf-result-count[b-ja3ou7ekhf] {
    font-weight: 400;
    font-size: 13px;
    color: #94a3b8;
    margin-left: 6px;
}

/* ── Table ─────────────────────────────────────── */
.table-responsive[b-ja3ou7ekhf] { overflow-x: auto; }

.etf-table[b-ja3ou7ekhf] { width: 100%; border-collapse: collapse; }

.etf-table th[b-ja3ou7ekhf] {
    padding: 10px 14px;
    text-align: left;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #64748b;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    white-space: nowrap;
    background: rgba(255,255,255,0.02);
}

.etf-th-sort[b-ja3ou7ekhf] { cursor: pointer; user-select: none; }
.etf-sort-icon[b-ja3ou7ekhf] { margin-left: 6px; color: var(--accent-gold, #bfa16a); font-size: 10px; }

.etf-table td[b-ja3ou7ekhf] {
    padding: 11px 14px;
    border-bottom: 1px solid rgba(255,255,255,0.04);
    color: #e2e8f0;
    font-size: 13px;
    vertical-align: middle;
}

.etf-row[b-ja3ou7ekhf] { cursor: pointer; transition: background 0.13s; }
.etf-row:hover[b-ja3ou7ekhf] { background: rgba(255,255,255,0.03); }

.symbol-badge[b-ja3ou7ekhf] {
    display: inline-block;
    padding: 3px 9px;
    background: rgba(191,161,106,0.12);
    border: 1px solid rgba(191,161,106,0.28);
    border-radius: 6px;
    color: var(--accent-gold, #bfa16a);
    font-weight: 800;
    font-size: 12px;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.etf-name-cell[b-ja3ou7ekhf] { max-width: 240px; }

.etf-name[b-ja3ou7ekhf] {
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.etf-sub[b-ja3ou7ekhf] {
    font-size: 11px;
    color: #64748b;
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.num-cell[b-ja3ou7ekhf] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.positive[b-ja3ou7ekhf] { color: #22c55e; font-weight: 600; }
.negative[b-ja3ou7ekhf] { color: #f87171; font-weight: 600; }

.etf-range-cell[b-ja3ou7ekhf] { white-space: nowrap; font-size: 12px; }
.range-hi[b-ja3ou7ekhf] { color: #22c55e; font-weight: 600; }
.range-lo[b-ja3ou7ekhf] { color: #f87171; font-weight: 600; }

/* ── Pagination ─────────────────────────────────── */
.etf-pagination[b-ja3ou7ekhf] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 16px 20px;
    border-top: 1px solid rgba(255,255,255,0.06);
}

.page-btn[b-ja3ou7ekhf] {
    padding: 6px 12px;
    min-width: 36px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 8px;
    color: #e2e8f0;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.15s;
}
.page-btn:hover:not(:disabled)[b-ja3ou7ekhf] {
    background: rgba(191,161,106,0.12);
    border-color: rgba(191,161,106,0.4);
    color: var(--accent-gold, #bfa16a);
}
.page-btn.active[b-ja3ou7ekhf] {
    background: var(--accent-gold, #bfa16a);
    border-color: var(--accent-gold, #bfa16a);
    color: #181818;
    font-weight: 700;
}
.page-btn:disabled[b-ja3ou7ekhf] { opacity: 0.3; cursor: not-allowed; }
.page-info[b-ja3ou7ekhf] { font-size: 12px; color: #64748b; margin-left: 4px; }

/* ── Empty / loading ────────────────────────────── */
.etf-empty-state[b-ja3ou7ekhf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 52px 18px;
    gap: 8px;
}
.etf-empty-state .empty-title[b-ja3ou7ekhf] { font-size: 15px; font-weight: 700; color: #fff; margin: 0; }
.etf-empty-state .empty-desc[b-ja3ou7ekhf]  { font-size: 13px; color: #64748b; margin: 0; }

/* ── Mobile cards ───────────────────────────────── */
.mobile-cards[b-ja3ou7ekhf] { display: none; }
.desktop-only[b-ja3ou7ekhf] { display: block; }

.etf-mobile-sortbar[b-ja3ou7ekhf] {
    display: flex;
    gap: 8px;
    padding: 10px 4px 2px;
    overflow-x: auto;
}

.etf-chip[b-ja3ou7ekhf] {
    padding: 7px 12px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 999px;
    color: #e2e8f0;
    font-size: 12px;
    cursor: pointer;
    white-space: nowrap;
}
.etf-chip:active[b-ja3ou7ekhf] { background: rgba(191,161,106,0.12); border-color: rgba(191,161,106,0.4); }

.m-card[b-ja3ou7ekhf] {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 12px;
    padding: 14px 16px;
    cursor: pointer;
    transition: background 0.15s;
}
.m-card:active[b-ja3ou7ekhf] { background: rgba(191,161,106,0.08); }

.m-card-top[b-ja3ou7ekhf] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
}

.m-card-left[b-ja3ou7ekhf]  { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.m-card-right[b-ja3ou7ekhf] { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex-shrink: 0; }

.m-card-name[b-ja3ou7ekhf] {
    font-size: 13px;
    color: #94a3b8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
}

.m-card-price[b-ja3ou7ekhf] { font-size: 15px; font-weight: 600; color: #fff; }
.m-card-perf[b-ja3ou7ekhf]  { font-size: 12px; font-weight: 600; }

.m-card-details[b-ja3ou7ekhf] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px 12px;
}

.m-card-detail[b-ja3ou7ekhf] { display: flex; justify-content: space-between; font-size: 12px; }
.m-lbl[b-ja3ou7ekhf] { color: #64748b; }
.m-val[b-ja3ou7ekhf] { color: #e2e8f0; font-weight: 500; }

/* ── Responsive ─────────────────────────────────── */
@media (max-width: 900px) {
    .etf-filters-main-row[b-ja3ou7ekhf] { flex-wrap: wrap; }
    .etf-search-wrap[b-ja3ou7ekhf] { flex: 1 1 100%; }
    .etf-ctrl-select[b-ja3ou7ekhf] { flex: 1; min-width: 0; }
    .etf-filters-inputs-row[b-ja3ou7ekhf] { flex-direction: column; }
    .etf-filter-field[b-ja3ou7ekhf] { min-width: 0; }
}

@media (max-width: 768px) {
    .desktop-only[b-ja3ou7ekhf] { display: none !important; }
    .mobile-cards[b-ja3ou7ekhf] { display: flex; flex-direction: column; gap: 8px; padding: 8px 12px 0; }
    .etf-screener-page[b-ja3ou7ekhf] { padding: 16px 12px 60px; }
    .etf-page-title[b-ja3ou7ekhf] { font-size: 1.5rem; }
}

/* ── Legacy class aliases (keep for shared components) ── */
.screener[b-ja3ou7ekhf] {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.page-header[b-ja3ou7ekhf] {
    margin-bottom: 0;
}
.page-title[b-ja3ou7ekhf] {
    font-size: 2.2rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.2em;
}
.page-subtitle[b-ja3ou7ekhf] {
    font-size: 1rem;
    color: #bfa16a;
    margin-bottom: 1.2em;
}
.filters-card.filters-flat[b-ja3ou7ekhf] {
    background: #181818;
    border-radius: 16px;
    padding: 18px 20px;
    margin-bottom: 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.filters-search-row[b-ja3ou7ekhf] {
    display: flex;
    width: 100%;
    margin-bottom: 6px;
}
.filters-search-row .full-width[b-ja3ou7ekhf] {
    width: 100%;
}
.filters-sort-row[b-ja3ou7ekhf] {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 6px;
}
.filters-input-row[b-ja3ou7ekhf] {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}
.filters-input-row .pill[b-ja3ou7ekhf] {
    min-width: 160px;
}
.filters-input-row .btn-clear[b-ja3ou7ekhf] {
    min-width: 80px;
}
@media (max-width: 1100px) {
    .filters-search-row[b-ja3ou7ekhf], .filters-sort-row[b-ja3ou7ekhf], .filters-input-row[b-ja3ou7ekhf] {
        flex-direction: column;
        align-items: stretch;
    }
    .filters-input-row .pill[b-ja3ou7ekhf], .filters-input-row .btn-clear[b-ja3ou7ekhf] {
        min-width: 0;
        width: 100%;
    }
}
.pill[b-ja3ou7ekhf] {
    border-radius: 999px;
    border: none;
    padding: 10px 18px;
    background: #232323;
    color: #fff;
    font-size: 1rem;
    outline: none;
    min-width: 120px;
}
.btn-accent[b-ja3ou7ekhf] {
    background: #bfa16a;
    color: #181818;
    border-radius: 999px;
    padding: 10px 24px;
    font-weight: bold;
    border: none;
    font-size: 1rem;
    transition: background 0.2s;
}
.btn-accent:disabled[b-ja3ou7ekhf] {
    opacity: 0.6;
    cursor: not-allowed;
}
.btn-clear[b-ja3ou7ekhf] {
    background: none;
    color: #bfa16a;
    border: none;
    font-size: 1rem;
    padding: 10px 18px;
    border-radius: 999px;
    cursor: pointer;
}
.results-card[b-ja3ou7ekhf] {
    background: #181818;
    border-radius: 16px;
    padding: 0 0 18px 0;
    margin-bottom: 18px;
}
.table-header[b-ja3ou7ekhf] {
    padding: 18px 24px 0 24px;
}
.etf-table[b-ja3ou7ekhf] {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
    border-radius: 16px;
    overflow: hidden;
}
.etf-table th[b-ja3ou7ekhf], .etf-table td[b-ja3ou7ekhf] {
    padding: 12px 10px;
    text-align: left;
}
.etf-table th[b-ja3ou7ekhf] {
    color: #bfa16a;
    font-weight: 600;
    font-size: 1rem;
    background: #181818;
    border-bottom: 1px solid #232323;
}
.etf-table tr[b-ja3ou7ekhf] {
    transition: background 0.15s;
}
.etf-table tr:hover[b-ja3ou7ekhf] {
    background: #232323;
    cursor: pointer;
}
.symbol-badge[b-ja3ou7ekhf] {
    background: #232323;
    color: #bfa16a;
    border-radius: 6px;
    padding: 4px 10px;
    font-weight: 600;
    font-size: 1rem;
}
.name-cell[b-ja3ou7ekhf] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.etf-name[b-ja3ou7ekhf] {
    font-weight: 600;
    color: #fff;
    font-size: 1rem;
}
.etf-sub[b-ja3ou7ekhf] {
    font-size: 0.95rem;
    color: #aaa;
}
.range-hi[b-ja3ou7ekhf] { color: #22c55e; font-weight: 600; }
.range-lo[b-ja3ou7ekhf] { color: #ef4444; font-weight: 600; margin-left: 8px; }
.positive[b-ja3ou7ekhf] { color: #22c55e; font-weight: 600; }
.negative[b-ja3ou7ekhf] { color: #ef4444; font-weight: 600; }
.result-count[b-ja3ou7ekhf] {
    color: #bfa16a;
    font-size: 1rem;
    margin-left: 8px;
}
.empty-state[b-ja3ou7ekhf] {
    text-align: center;
    padding: 40px 0;
}
.empty-title[b-ja3ou7ekhf] {
    font-size: 1.2rem;
    color: #fff;
    margin-bottom: 0.5em;
}
.empty-desc[b-ja3ou7ekhf] {
    color: #aaa;
    font-size: 1rem;
}

.search-input-wrap[b-ja3ou7ekhf] {
    flex: 1;
}

.search-input[b-ja3ou7ekhf] {
    width: 100%;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

    .search-input:focus[b-ja3ou7ekhf] {
        border-color: var(--accent-gold);
    }

.select-field[b-ja3ou7ekhf] {
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 13px;
    outline: none;
    cursor: pointer;
    min-width: 170px;
}

    .select-field option[b-ja3ou7ekhf] {
        background: #1a1d23;
        color: #e5e7eb;
    }

.btn-primary-sm[b-ja3ou7ekhf] {
    padding: 10px 18px;
    background: linear-gradient(135deg, var(--accent-gold), var(--accent-gold-hover));
    border: none;
    border-radius: 10px;
    color: var(--bg-primary);
    font-weight: 700;
    font-size: 12px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.3s ease;
}

    .btn-primary-sm:hover[b-ja3ou7ekhf] {
        transform: translateY(-1px);
        box-shadow: 0 8px 16px rgba(166, 124, 82, 0.22);
    }

/* ── Filters Row ── */
.filters-row[b-ja3ou7ekhf] {
    display: flex;
    gap: 10px;
    align-items: flex-end;
    flex-wrap: wrap;
    padding: 12px 16px;
    background: linear-gradient(135deg, rgba(20, 20, 20, 0.6), rgba(10, 10, 10, 0.7));
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
}

.filter-chip[b-ja3ou7ekhf] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 120px;
}

    .filter-chip label[b-ja3ou7ekhf] {
        font-size: 10px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.6px;
        color: var(--text-secondary);
    }

.filter-input[b-ja3ou7ekhf] {
    padding: 8px 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 13px;
    outline: none;
    width: 100%;
    transition: border-color 0.2s;
}

    .filter-input[b-ja3ou7ekhf]::placeholder {
        color: rgba(255, 255, 255, 0.2);
    }

    .filter-input:focus[b-ja3ou7ekhf] {
        border-color: var(--accent-gold);
    }

.btn-clear[b-ja3ou7ekhf] {
    padding: 8px 14px;
    background: none;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s;
}

    .btn-clear:hover[b-ja3ou7ekhf] {
        border-color: #f87171;
        color: #f87171;
    }

/* ── Results Card ── */
.results-card[b-ja3ou7ekhf] {
    background: linear-gradient(135deg, rgba(20, 20, 20, 0.8), rgba(10, 10, 10, 0.9));
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    overflow: hidden;
}

.table-header[b-ja3ou7ekhf] {
    padding: 16px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

    .table-header h3[b-ja3ou7ekhf] {
        font-size: 16px;
        font-weight: 700;
        color: var(--text-primary);
        margin: 0;
    }

.result-count[b-ja3ou7ekhf] {
    font-weight: 400;
    font-size: 13px;
    color: var(--text-secondary);
}

.table-responsive[b-ja3ou7ekhf] {
    overflow-x: auto;
}

/* ── ETF Table ── */
.etf-table[b-ja3ou7ekhf] {
    width: 100%;
    border-collapse: collapse;
}

    .etf-table th[b-ja3ou7ekhf] {
        padding: 10px 14px;
        text-align: left;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: var(--text-secondary);
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        white-space: nowrap;
    }

    .etf-table td[b-ja3ou7ekhf] {
        padding: 10px 14px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.04);
        color: var(--text-primary);
        font-size: 13px;
    }

.etf-row[b-ja3ou7ekhf] {
    cursor: pointer;
    transition: background-color 0.15s;
}

    .etf-row:hover[b-ja3ou7ekhf] {
        background: rgba(255, 255, 255, 0.03);
    }

.symbol-badge[b-ja3ou7ekhf] {
    display: inline-block;
    padding: 3px 8px;
    background: rgba(166, 124, 82, 0.10);
    border: 1px solid rgba(166, 124, 82, 0.22);
    border-radius: 6px;
    color: var(--accent-gold);
    font-weight: 800;
    font-size: 11px;
    letter-spacing: 0.3px;
}

.name-cell[b-ja3ou7ekhf] {
    max-width: 220px;
}

.etf-name[b-ja3ou7ekhf] {
    font-size: 13px;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.etf-sector[b-ja3ou7ekhf] {
    font-size: 11px;
    color: var(--text-secondary);
    margin-top: 1px;
}

.price-val[b-ja3ou7ekhf] {
    font-weight: 600;
}

.text-right[b-ja3ou7ekhf] {
    text-align: center !important;
}

.positive[b-ja3ou7ekhf] {
    color: var(--positive);
    font-weight: 600;
}

.negative[b-ja3ou7ekhf] {
    color: var(--negative);
    font-weight: 600;
}

.range-cell[b-ja3ou7ekhf] {
    font-size: 12px;
    white-space: nowrap;
}

.range-lo[b-ja3ou7ekhf] {
    color: #f87171;
}

.range-hi[b-ja3ou7ekhf] {
    color: #34d399;
}

.range-sep[b-ja3ou7ekhf] {
    color: var(--text-secondary);
    margin: 0 3px;
}

/* ── Load More / Empty ── */
.load-more-wrap[b-ja3ou7ekhf] {
    padding: 14px;
    display: flex;
    justify-content: center;
}

.btn-secondary[b-ja3ou7ekhf] {
    padding: 10px 18px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    color: var(--text-primary);
    font-weight: 700;
    font-size: 12px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.3s ease;
}

    .btn-secondary:hover[b-ja3ou7ekhf] {
        background: rgba(166, 124, 82, 0.08);
        border-color: var(--accent-gold);
        color: var(--accent-gold);
    }

.empty-state[b-ja3ou7ekhf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 18px;
    gap: 8px;
}

.empty-title[b-ja3ou7ekhf] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.empty-desc[b-ja3ou7ekhf] {
    font-size: 13px;
    color: var(--text-secondary);
    margin: 0;
}

/* ── Responsive ── */
.mobile-cards[b-ja3ou7ekhf] { display: none; }

@media (max-width: 768px) {
    .desktop-only[b-ja3ou7ekhf] { display: none; }
    .mobile-cards[b-ja3ou7ekhf] { display: flex; flex-direction: column; gap: 8px; padding: 0 4px; }

    .search-row[b-ja3ou7ekhf] {
        flex-direction: column;
    }

    .select-field[b-ja3ou7ekhf] {
        min-width: 0;
        width: 100%;
    }

    .filters-row[b-ja3ou7ekhf] {
        flex-direction: column;
    }

    .filter-chip[b-ja3ou7ekhf] {
        min-width: 0;
    }
}

.m-card[b-ja3ou7ekhf] {
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--border, #2a2a3e);
    border-radius: 12px;
    padding: 14px 16px;
    cursor: pointer;
    transition: background 0.15s;
}

.m-card:active[b-ja3ou7ekhf] { background: rgba(166,124,82,0.08); }

.m-card-top[b-ja3ou7ekhf] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px;
}

.m-card-left[b-ja3ou7ekhf] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    min-width: 0;
}

.m-card-right[b-ja3ou7ekhf] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    flex-shrink: 0;
}

.m-card-name[b-ja3ou7ekhf] {
    font-size: 13px;
    color: var(--text-secondary, #94A3B8);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
}

.m-card-sector[b-ja3ou7ekhf] {
    font-size: 11px;
    color: var(--text-secondary, #64748b);
    width: 100%;
}

.m-card-price[b-ja3ou7ekhf] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary, #fff);
}

.m-card-details[b-ja3ou7ekhf] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px 12px;
}

.m-card-detail[b-ja3ou7ekhf] {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
}

.m-lbl[b-ja3ou7ekhf] { color: var(--text-secondary, #94A3B8); }
.m-val[b-ja3ou7ekhf] { color: var(--text-primary, #fff); font-weight: 500; }
/* /Pages/Movers.razor.rz.scp.css */
.movers-page[b-u153q4zaps] {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.page-header[b-u153q4zaps] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.page-title[b-u153q4zaps] {
    font-size: 30px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 8px 0;
}

.page-subtitle[b-u153q4zaps] {
    font-size: 14px;
    color: var(--text-secondary);
    margin: 0;
}

/* Movers Card */
.movers-card[b-u153q4zaps] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.30);
    display: flex;
    flex-direction: column;
}

.movers-header[b-u153q4zaps] {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.header-top[b-u153q4zaps] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.header-title-group[b-u153q4zaps] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.header-icon[b-u153q4zaps] {
    width: 20px;
    height: 20px;
}

.trend-up[b-u153q4zaps] {
    color: #22c55e;
}

.trend-down[b-u153q4zaps] {
    color: #ef4444;
}

.header-title[b-u153q4zaps] {
    font-size: 20px;
    font-weight: 500;
    color: var(--text-primary);
    margin: 0;
}

.data-badge[b-u153q4zaps] {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
}

/* Session Tabs (Regular / Pre/Post Market) */
.session-tabs[b-u153q4zaps] {
    display: flex;
    background: #0f172a;
    border: 1px solid #334155;
    border-radius: 8px;
    padding: 2px;
}

.session-tab[b-u153q4zaps] {
    padding: 6px 16px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    background: none;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    transition: all 0.2s ease;
}

.session-tab:hover[b-u153q4zaps] {
    color: white;
    background: #1e293b;
}

.session-tab.active[b-u153q4zaps] {
    background: var(--accent-gold);
    color: black;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

/* Gainers/Losers Tabs */
.header-bottom[b-u153q4zaps] {
    display: flex;
    justify-content: flex-end;
}

.tab-group[b-u153q4zaps] {
    display: flex;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 4px;
}

.tab-btn[b-u153q4zaps] {
    padding: 6px 16px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
    background: none;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.2s ease;
}

.tab-btn:hover[b-u153q4zaps] {
    color: var(--text-primary);
    background: var(--bg-secondary);
}

.tab-btn.active-gainers[b-u153q4zaps] {
    background: #16a34a;
    color: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.tab-btn.active-losers[b-u153q4zaps] {
    background: #dc2626;
    color: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Content */
.movers-content[b-u153q4zaps] {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.loading-area[b-u153q4zaps] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 160px;
}

.spinner[b-u153q4zaps] {
    border: 3px solid rgba(166, 124, 82, 0.2);
    border-top-color: var(--accent-gold);
    border-radius: 50%;
    width: 32px;
    height: 32px;
    animation: spin-b-u153q4zaps 1s linear infinite;
}

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

.error-message[b-u153q4zaps] {
    padding: 24px;
    text-align: center;
    color: var(--text-secondary);
}

.table-scroll[b-u153q4zaps] {
    overflow-x: auto;
    flex: 1;
}

.movers-table[b-u153q4zaps] {
    width: 100%;
    border-collapse: collapse;
}

.movers-table thead[b-u153q4zaps] {
    position: sticky;
    top: 0;
    background: var(--bg-secondary);
    z-index: 2;
}

.movers-table th[b-u153q4zaps] {
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border);
}

.th-left[b-u153q4zaps] {
    text-align: left;
}

.th-right[b-u153q4zaps] {
    text-align: right;
}

.mover-row[b-u153q4zaps] {
    cursor: pointer;
    border-bottom: 1px solid var(--border);
    transition: background 0.15s ease;
}

.mover-row:last-child[b-u153q4zaps] {
    border-bottom: none;
}

.mover-row:hover[b-u153q4zaps] {
    background: rgba(10, 10, 10, 0.50);
}

.movers-table td[b-u153q4zaps] {
    padding: 16px;
    font-size: 14px;
    color: var(--text-primary);
}

.td-asset[b-u153q4zaps] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.td-right[b-u153q4zaps] {
    text-align: right;
}

.td-price[b-u153q4zaps] {
    color: var(--text-primary);
}

.symbol-badge[b-u153q4zaps] {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
}

.badge-green[b-u153q4zaps] {
    background: rgba(34, 197, 94, 0.10);
    color: #22c55e;
}

.badge-red[b-u153q4zaps] {
    background: rgba(239, 68, 68, 0.10);
    color: #ef4444;
}

.asset-info[b-u153q4zaps] {
    display: flex;
    flex-direction: column;
}

.asset-symbol[b-u153q4zaps] {
    font-weight: 500;
    color: var(--text-primary);
}

.asset-name[b-u153q4zaps] {
    font-size: 12px;
    color: var(--text-secondary);
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.change-pill[b-u153q4zaps] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
}

.pill-green[b-u153q4zaps] {
    background: rgba(34, 197, 94, 0.10);
    color: #22c55e;
}

.pill-red[b-u153q4zaps] {
    background: rgba(239, 68, 68, 0.10);
    color: #ef4444;
}

.pill-arrow[b-u153q4zaps] {
    width: 12px;
    height: 12px;
}

.empty-state[b-u153q4zaps] {
    padding: 40px 24px;
    text-align: center;
    color: var(--text-secondary);
}

/* Responsive */
@media (max-width: 768px) {
    .header-top[b-u153q4zaps] {
        flex-direction: column;
        align-items: flex-start;
    }

    .session-tabs[b-u153q4zaps] {
        width: 100%;
    }

    .session-tab[b-u153q4zaps] {
        flex: 1;
    }

    .tab-group[b-u153q4zaps] {
        width: 100%;
    }

    .tab-btn[b-u153q4zaps] {
        flex: 1;
    }

    .asset-name[b-u153q4zaps] {
        display: none;
    }
}
/* /Pages/Portfolio.razor.rz.scp.css */
/* ===== Portfolio Page ===== */

.portfolio[b-eoai9aklf2] {
    padding: 16px;
    max-width: 1280px;
    margin: 0 auto;
}

@media (min-width: 640px) {
    .portfolio[b-eoai9aklf2] { padding: 24px; }
}

@media (min-width: 1024px) {
    .portfolio[b-eoai9aklf2] { padding: 32px; }
}

/* Loading */
.loading-container[b-eoai9aklf2] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 80px 0;
    color: var(--text-secondary);
    font-size: 14px;
}

.spinner[b-eoai9aklf2] {
    width: 24px;
    height: 24px;
    border: 2px solid var(--border);
    border-top-color: var(--accent-gold);
    border-radius: 50%;
    animation: spin-b-eoai9aklf2 0.8s linear infinite;
}

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

/* Page Header */
.page-header[b-eoai9aklf2] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px;
}

@media (min-width: 640px) {
    .page-header[b-eoai9aklf2] {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

.page-title[b-eoai9aklf2] {
    font-size: 30px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.page-subtitle[b-eoai9aklf2] {
    color: var(--text-secondary);
    margin: 4px 0 0 0;
    font-size: 14px;
}

.header-controls[b-eoai9aklf2] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.portfolio-selector-group[b-eoai9aklf2] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.portfolio-select-wrapper[b-eoai9aklf2] {
    position: relative;
    display: flex;
    align-items: center;
}

.select-icon[b-eoai9aklf2] {
    position: absolute;
    left: 12px;
    width: 16px;
    height: 16px;
    color: var(--text-secondary);
    pointer-events: none;
}

.portfolio-select[b-eoai9aklf2] {
    height: 40px;
    width: 170px;
    padding: 0 12px 0 36px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 12px;
    color: var(--text-primary);
    font-size: 14px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
}

@media (min-width: 640px) {
    .portfolio-select[b-eoai9aklf2] { width: 220px; }
}

.portfolio-select:hover[b-eoai9aklf2] {
    border-color: rgba(255,255,255,0.25);
}

.portfolio-select:focus[b-eoai9aklf2] {
    border-color: var(--accent-gold);
    box-shadow: 0 0 0 1px var(--accent-gold);
}

.portfolio-select option[b-eoai9aklf2] {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

/* Icon buttons */
.icon-btn[b-eoai9aklf2] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.2s;
}

.icon-btn:hover[b-eoai9aklf2] {
    color: var(--text-primary);
    border-color: rgba(255,255,255,0.25);
}

/* Currency toggle */
.currency-toggle[b-eoai9aklf2] {
    flex-shrink: 0;
    display: flex;
    height: 40px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 4px;
}

.currency-btn[b-eoai9aklf2] {
    padding: 0 12px;
    border-radius: 8px;
    border: none;
    background: transparent;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
}

.currency-btn:hover[b-eoai9aklf2] {
    color: var(--text-primary);
}

.currency-btn.active[b-eoai9aklf2] {
    background: var(--accent-gold);
    color: #000;
    box-shadow: 0 2px 8px rgba(166,124,82,0.3);
}

/* Gold button */
.btn-gold[b-eoai9aklf2] {
    flex-shrink: 0;
    height: 40px;
    padding: 0 12px;
    border-radius: 12px;
    background: var(--accent-gold);
    color: #000;
    font-weight: 700;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    transition: opacity 0.2s;
}

@media (min-width: 640px) {
    .btn-gold[b-eoai9aklf2] { padding: 0 16px; }
}

.btn-gold:hover[b-eoai9aklf2] { opacity: 0.9; }

.btn-text-desktop[b-eoai9aklf2] { display: none; }
.btn-text-mobile[b-eoai9aklf2] { display: inline; }

@media (min-width: 640px) {
    .btn-text-desktop[b-eoai9aklf2] { display: inline; }
    .btn-text-mobile[b-eoai9aklf2] { display: none; }
}

/* Error */
.error-alert[b-eoai9aklf2] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: rgba(255,68,68,0.1);
    border: 1px solid rgba(255,68,68,0.3);
    border-radius: 12px;
    color: var(--negative);
    font-size: 14px;
    margin-bottom: 24px;
}

/* Summary Cards */
.summary-grid[b-eoai9aklf2] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 32px;
}

@media (min-width: 768px) {
    .summary-grid[b-eoai9aklf2] { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
    .summary-grid[b-eoai9aklf2] { grid-template-columns: repeat(4, 1fr); }
}

.summary-card[b-eoai9aklf2] {
    padding: 24px;
    border-radius: 12px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.card-header[b-eoai9aklf2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.card-label[b-eoai9aklf2] {
    font-size: 14px;
    color: var(--text-secondary);
}

.card-icon.gold[b-eoai9aklf2] { color: var(--accent-gold); }
.card-icon.blue[b-eoai9aklf2] { color: #60a5fa; }
.card-icon.positive[b-eoai9aklf2] { color: var(--positive); }
.card-icon.negative[b-eoai9aklf2] { color: var(--negative); }

.card-value[b-eoai9aklf2] {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-primary);
}

.card-value.positive[b-eoai9aklf2] { color: var(--positive); }
.card-value.negative[b-eoai9aklf2] { color: var(--negative); }

.card-pct[b-eoai9aklf2] {
    font-size: 14px;
    font-weight: 400;
    margin-left: 8px;
}

/* Cash editing */
.cash-actions[b-eoai9aklf2] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cash-action-btn[b-eoai9aklf2] {
    background: none;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 2px;
    display: flex;
    align-items: center;
    transition: color 0.2s;
}

.cash-action-btn:hover[b-eoai9aklf2] { color: var(--text-primary); }

.cash-input[b-eoai9aklf2] {
    width: 100%;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 8px 12px;
    color: var(--text-primary);
    font-size: 18px;
    font-weight: 700;
    outline: none;
}

.cash-input:focus[b-eoai9aklf2] {
    border-color: var(--accent-gold);
}

/* Holdings Table Desktop */
.desktop-only[b-eoai9aklf2] { display: none; }

@media (min-width: 768px) {
    .desktop-only[b-eoai9aklf2] { display: block; }
}

.holdings-card[b-eoai9aklf2] {
    background: var(--bg-secondary);
    border-radius: 12px;
    border: 1px solid var(--border);
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    margin-bottom: 32px;
}

.holdings-header[b-eoai9aklf2] {
    padding: 24px;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.holdings-title[b-eoai9aklf2] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.bulk-edit-btn[b-eoai9aklf2] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--gold);
    background: rgba(255, 193, 7, 0.1);
    border: 1px solid rgba(255, 193, 7, 0.3);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.bulk-edit-btn:hover[b-eoai9aklf2] {
    background: rgba(255, 193, 7, 0.2);
    border-color: var(--gold);
}

.bulk-edit-btn svg[b-eoai9aklf2] {
    flex-shrink: 0;
}

.delete-all-btn[b-eoai9aklf2] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 500;
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.3);
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s;
}

.delete-all-btn:hover[b-eoai9aklf2] {
    background: rgba(239, 68, 68, 0.2);
    border-color: #ef4444;
}

.delete-all-btn svg[b-eoai9aklf2] {
    flex-shrink: 0;
}

.table-wrapper[b-eoai9aklf2] {
    overflow-x: auto;
}

.holdings-table[b-eoai9aklf2] {
    width: 100%;
    border-collapse: collapse;
}

.holdings-table thead tr[b-eoai9aklf2] {
    background: rgba(10,10,10,0.5);
}

.holdings-table th[b-eoai9aklf2] {
    padding: 16px 24px;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.th-left[b-eoai9aklf2] { text-align: left; }
.th-right[b-eoai9aklf2] { text-align: center; }

.holdings-table tbody tr[b-eoai9aklf2] {
    border-top: 1px solid var(--border);
}

.holding-row[b-eoai9aklf2] {
    cursor: pointer;
    transition: background 0.15s;
}

.holding-row:hover[b-eoai9aklf2] {
    background: rgba(10,10,10,0.5);
}

.holdings-table td[b-eoai9aklf2] {
    padding: 16px 24px;
    font-size: 14px;
    white-space: nowrap;
}

.td-symbol[b-eoai9aklf2] { text-align: left; }
.td-right[b-eoai9aklf2] { text-align: center; color: var(--text-primary); }
.td-right.secondary[b-eoai9aklf2] { color: var(--text-secondary); }
.td-right.bold[b-eoai9aklf2] { font-weight: 500; }

.symbol-name[b-eoai9aklf2] {
    font-weight: 500;
    color: var(--text-primary);
    cursor: pointer;
}

.symbol-name:hover[b-eoai9aklf2] { color: var(--accent-gold); }

.holding-company[b-eoai9aklf2] {
    font-size: 12px;
    color: var(--text-secondary);
}

.positive[b-eoai9aklf2] { color: var(--positive); }
.negative[b-eoai9aklf2] { color: var(--negative); }

.gain-pct[b-eoai9aklf2] {
    font-size: 12px;
}

.empty-row[b-eoai9aklf2] {
    padding: 48px 24px !important;
    text-align: center;
    color: var(--text-secondary);
}

/* Action buttons */
.action-btns[b-eoai9aklf2] {
    display: flex;
    gap: 4px;
    justify-content: flex-end;
}

.edit-btn[b-eoai9aklf2] {
    padding: 8px;
    border-radius: 8px;
    background: var(--bg-secondary);
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: all 0.2s;
}

.edit-btn:hover[b-eoai9aklf2] {
    color: var(--gold);
    background: rgba(212,175,55,0.1);
}

.delete-btn[b-eoai9aklf2] {
    padding: 8px;
    border-radius: 8px;
    background: var(--bg-secondary);
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: all 0.2s;
}

.delete-btn:hover[b-eoai9aklf2] {
    color: #ef4444;
    background: rgba(239,68,68,0.1);
}

/* Mobile Holdings */
.mobile-only[b-eoai9aklf2] { display: block; }

@media (min-width: 768px) {
    .mobile-only[b-eoai9aklf2] { display: none; }
}

.holdings-title-mobile[b-eoai9aklf2] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 16px 0;
}

.mobile-holding-card[b-eoai9aklf2] {
    background: var(--bg-secondary);
    border-radius: 12px;
    border: 1px solid var(--border);
    padding: 16px;
    margin-bottom: 16px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    cursor: pointer;
}

.mobile-card-top[b-eoai9aklf2] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 12px;
}

.mobile-symbol-row[b-eoai9aklf2] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 8px;
}

.mobile-name-badge[b-eoai9aklf2] {
    font-size: 12px;
    font-weight: 400;
    color: var(--text-secondary);
    background: var(--bg-primary);
    padding: 2px 8px;
    border-radius: 999px;
}

.mobile-shares-info[b-eoai9aklf2] {
    font-size: 12px;
    color: var(--text-secondary);
    margin-top: 4px;
}

.mobile-card-right[b-eoai9aklf2] { text-align: right; }

.mobile-action-btns[b-eoai9aklf2] {
    display: flex;
    gap: 4px;
    justify-content: flex-end;
    margin-top: 4px;
}

.edit-btn-mobile[b-eoai9aklf2] {
    padding: 6px;
    border-radius: 8px;
    background: var(--bg-primary);
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: all 0.2s;
}

.edit-btn-mobile:hover[b-eoai9aklf2] {
    color: var(--gold);
    background: rgba(212,175,55,0.1);
}

.mobile-price[b-eoai9aklf2] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
}

.delete-btn-mobile[b-eoai9aklf2] {
    padding: 6px;
    border-radius: 8px;
    background: var(--bg-primary);
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    display: flex;
    align-items: center;
    transition: all 0.2s;
}

.delete-btn-mobile:hover[b-eoai9aklf2] {
    color: #ef4444;
    background: rgba(239,68,68,0.1);
}

.mobile-card-bottom[b-eoai9aklf2] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    border-top: 1px solid var(--border);
    padding-top: 12px;
}

.mobile-label[b-eoai9aklf2] {
    font-size: 12px;
    color: var(--text-secondary);
}

.mobile-val[b-eoai9aklf2] { font-size: 16px; color: var(--text-primary); }
.mobile-val.bold[b-eoai9aklf2] { font-weight: 500; }

.empty-mobile-card[b-eoai9aklf2] {
    text-align: center;
    color: var(--text-secondary);
    padding: 40px 0;
    background: var(--bg-secondary);
    border-radius: 12px;
    border: 1px solid var(--border);
}

/* ===== Modals ===== */
.modal-backdrop[b-eoai9aklf2] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.8);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 50;
    padding: 16px;
}

.modal-content[b-eoai9aklf2] {
    background: var(--bg-secondary);
    border-radius: 16px;
    border: 1px solid var(--border);
    width: 100%;
    max-width: 420px;
    padding: 24px;
    box-shadow: 0 25px 50px rgba(0,0,0,0.5);
}

.modal-lg[b-eoai9aklf2] { max-width: 520px; }

.modal-header[b-eoai9aklf2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.modal-title[b-eoai9aklf2] {
    font-size: 20px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.modal-close[b-eoai9aklf2] {
    background: none;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 4px;
    display: flex;
    transition: color 0.2s;
}

.modal-close:hover[b-eoai9aklf2] { color: var(--text-primary); }

.modal-body[b-eoai9aklf2] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Form elements */
.form-group[b-eoai9aklf2] { display: flex; flex-direction: column; gap: 4px; }

.form-label[b-eoai9aklf2] {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-secondary);
}

.form-input[b-eoai9aklf2] {
    width: 100%;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 10px 14px;
    color: var(--text-primary);
    font-size: 13px;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.2s;
}

.form-input:focus[b-eoai9aklf2] { border-color: var(--accent-gold); }

.form-input[b-eoai9aklf2]::placeholder { color: var(--text-secondary); }

.form-hint[b-eoai9aklf2] {
    font-size: 0.75rem;
    color: var(--text-secondary);
    margin-top: 2px;
}

.form-optional[b-eoai9aklf2] {
    font-weight: 400;
    color: var(--text-secondary);
    font-size: 0.8em;
}

/* Calendar/datetime picker styling */
.form-input[type="datetime-local"][b-eoai9aklf2] {
    color-scheme: dark;
}

.form-row[b-eoai9aklf2] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.btn-gold-full[b-eoai9aklf2] {
    width: 100%;
    padding: 12px;
    border-radius: 10px;
    background: var(--accent-gold);
    color: #000;
    font-weight: 700;
    border: none;
    cursor: pointer;
    font-size: 14px;
    margin-top: 8px;
    transition: background 0.2s;
}

.btn-gold-full:hover[b-eoai9aklf2] { background: #b5952f; }

/* Manage portfolios */
.portfolio-manage-row[b-eoai9aklf2] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.portfolio-manage-row .form-input.flex-1[b-eoai9aklf2] {
    flex: 1;
    min-width: 0;
}

.manage-btn[b-eoai9aklf2] {
    padding: 8px 12px;
    border-radius: 10px;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 14px;
    white-space: nowrap;
    transition: all 0.2s;
}

.manage-btn:hover[b-eoai9aklf2] {
    color: var(--text-primary);
}

.active-portfolio-btn[b-eoai9aklf2] {
    background: var(--accent-gold) !important;
    color: #000 !important;
    border-color: transparent !important;
}

.portfolio-limit-text[b-eoai9aklf2] {
    font-size: 12px;
    color: var(--text-secondary);
    text-align: center;
    padding-top: 8px;
}

/* Delete Confirmation */
.confirm-dialog[b-eoai9aklf2] {
    background: var(--bg-secondary);
    border-radius: 16px;
    border: 1px solid var(--border);
    padding: 24px;
    max-width: 400px;
    width: 100%;
    box-shadow: 0 25px 50px rgba(0,0,0,0.5);
}

.confirm-title[b-eoai9aklf2] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 8px 0;
}

.confirm-desc[b-eoai9aklf2] {
    font-size: 14px;
    color: var(--text-secondary);
    margin: 0 0 20px 0;
}

.confirm-actions[b-eoai9aklf2] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.confirm-cancel[b-eoai9aklf2] {
    padding: 8px 16px;
    border-radius: 8px;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    color: var(--text-primary);
    cursor: pointer;
    font-size: 14px;
    transition: background 0.2s;
}

.confirm-cancel:hover[b-eoai9aklf2] { background: rgba(255,255,255,0.1); }

.confirm-delete[b-eoai9aklf2] {
    padding: 8px 16px;
    border-radius: 8px;
    background: #dc2626;
    border: none;
    color: #fff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: background 0.2s;
}

.confirm-delete:hover[b-eoai9aklf2] { background: #b91c1c; }

/* Asset Type Toggle */
.asset-type-toggle[b-eoai9aklf2] {
    display: flex;
    gap: 4px;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 4px;
}

.asset-type-btn[b-eoai9aklf2] {
    flex: 1;
    padding: 8px 12px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s;
    white-space: nowrap;
}

.asset-type-btn:hover[b-eoai9aklf2] {
    background: rgba(255,255,255,0.06);
    color: var(--text-primary);
}

.asset-type-btn.active[b-eoai9aklf2] {
    background: var(--accent-gold);
    color: #000;
    font-weight: 600;
}

/* ── Portfolio Recommendations ──────────────────── */
.recs-section[b-eoai9aklf2] {
    margin-top: 32px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 12px;
    padding: 24px;
}
.recs-header[b-eoai9aklf2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
.recs-title[b-eoai9aklf2] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}
.recs-grade[b-eoai9aklf2] {
    font-size: 14px;
    font-weight: 800;
    padding: 4px 14px;
    border-radius: 8px;
    letter-spacing: 0.5px;
}
.recs-grade.grade-a[b-eoai9aklf2] { background: rgba(34,197,94,0.15); color: #4ade80; }
.recs-grade.grade-b[b-eoai9aklf2] { background: rgba(59,130,246,0.15); color: #60a5fa; }
.recs-grade.grade-c[b-eoai9aklf2] { background: rgba(245,158,11,0.15); color: #fbbf24; }
.recs-grade.grade-d[b-eoai9aklf2] { background: rgba(249,115,22,0.15); color: #fb923c; }
.recs-grade.grade-f[b-eoai9aklf2] { background: rgba(239,68,68,0.15); color: #f87171; }

.recs-group[b-eoai9aklf2] { margin-bottom: 20px; }
.recs-group:last-child[b-eoai9aklf2] { margin-bottom: 0; }
.recs-group-title[b-eoai9aklf2] {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin: 0 0 10px 0;
}

/* Risk Flags */
.recs-flag[b-eoai9aklf2] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 8px;
    margin-bottom: 8px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.04);
}
.flag-indicator[b-eoai9aklf2] {
    width: 4px;
    min-height: 36px;
    border-radius: 2px;
    flex-shrink: 0;
    margin-top: 2px;
}
.recs-flag.flag-high .flag-indicator[b-eoai9aklf2] { background: #ef4444; }
.recs-flag.flag-medium .flag-indicator[b-eoai9aklf2] { background: #f59e0b; }
.recs-flag.flag-low .flag-indicator[b-eoai9aklf2] { background: #3b82f6; }
.flag-title[b-eoai9aklf2] { font-size: 13px; font-weight: 600; color: var(--text-primary); }
.flag-desc[b-eoai9aklf2] { font-size: 12px; color: var(--text-secondary); margin-top: 2px; line-height: 1.4; }

/* Concentration Warnings */
.recs-warning[b-eoai9aklf2] {
    padding: 10px 14px;
    border-radius: 8px;
    margin-bottom: 8px;
    background: rgba(245,158,11,0.05);
    border: 1px solid rgba(245,158,11,0.12);
}
.warning-icon[b-eoai9aklf2] { float: left; margin-right: 8px; font-size: 14px; }
.warning-body[b-eoai9aklf2] { display: flex; justify-content: space-between; align-items: center; }
.warning-label[b-eoai9aklf2] { font-size: 13px; font-weight: 600; color: var(--text-primary); }
.warning-weight[b-eoai9aklf2] { font-size: 13px; font-weight: 700; color: #fbbf24; }
.warning-msg[b-eoai9aklf2] { font-size: 12px; color: var(--text-secondary); margin-top: 4px; clear: both; line-height: 1.4; }

/* Diversification Suggestions */
.recs-sug-grid[b-eoai9aklf2] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
}
.recs-sug-card[b-eoai9aklf2] {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 8px;
    padding: 12px 14px;
    cursor: pointer;
    transition: all 0.15s;
}
.recs-sug-card:hover[b-eoai9aklf2] {
    background: rgba(166,124,82,0.08);
    border-color: rgba(166,124,82,0.2);
}
.sug-top[b-eoai9aklf2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}
.sug-symbol[b-eoai9aklf2] {
    font-weight: 700;
    font-size: 13px;
    color: var(--accent-gold);
}
.sug-score[b-eoai9aklf2] {
    font-size: 12px;
    font-weight: 700;
    background: rgba(34,197,94,0.12);
    color: #4ade80;
    padding: 2px 8px;
    border-radius: 4px;
}
.sug-name[b-eoai9aklf2] {
    font-size: 12px;
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sug-sector[b-eoai9aklf2] {
    font-size: 11px;
    color: var(--text-secondary);
    margin-top: 2px;
}
.sug-reason[b-eoai9aklf2] {
    font-size: 11px;
    color: var(--text-secondary);
    margin-top: 6px;
    line-height: 1.4;
    border-top: 1px solid rgba(255,255,255,0.04);
    padding-top: 6px;
}

@media (max-width: 768px) {
    .recs-section[b-eoai9aklf2] { padding: 16px; margin-top: 24px; }
    .recs-sug-grid[b-eoai9aklf2] { grid-template-columns: 1fr; }
    .action-impact[b-eoai9aklf2] { display: none; }
}

/* ── Suggested Actions ── */
.actions-list[b-eoai9aklf2] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.action-card[b-eoai9aklf2] {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 8px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    cursor: pointer;
    transition: all 0.15s;
}
.action-card:hover[b-eoai9aklf2] {
    background: rgba(166,124,82,0.06);
    border-color: rgba(166,124,82,0.15);
}
.action-icon[b-eoai9aklf2] {
    font-size: 18px;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: rgba(255,255,255,0.04);
}
.action-body[b-eoai9aklf2] {
    flex: 1;
    min-width: 0;
}
.action-header[b-eoai9aklf2] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}
.action-title[b-eoai9aklf2] {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-primary);
}
.action-impact[b-eoai9aklf2] {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    padding: 2px 8px;
    border-radius: 4px;
    flex-shrink: 0;
    white-space: nowrap;
}
.action-detail[b-eoai9aklf2] {
    font-size: 12px;
    color: var(--text-secondary);
    line-height: 1.5;
}

/* Action type colors */
.action-card.action-reduce .action-impact[b-eoai9aklf2] {
    background: rgba(239,68,68,0.12);
    color: #f87171;
}
.action-card.action-add .action-impact[b-eoai9aklf2] {
    background: rgba(34,197,94,0.12);
    color: #4ade80;
}
.action-card.action-consider .action-impact[b-eoai9aklf2] {
    background: rgba(59,130,246,0.12);
    color: #60a5fa;
}
.action-card.action-rebalance .action-impact[b-eoai9aklf2] {
    background: rgba(245,158,11,0.12);
    color: #fbbf24;
}

/* Left accent border per action type */
.action-card.action-reduce[b-eoai9aklf2] { border-left: 3px solid rgba(239,68,68,0.5); }
.action-card.action-add[b-eoai9aklf2] { border-left: 3px solid rgba(34,197,94,0.5); }
.action-card.action-consider[b-eoai9aklf2] { border-left: 3px solid rgba(59,130,246,0.5); }
.action-card.action-rebalance[b-eoai9aklf2] { border-left: 3px solid rgba(245,158,11,0.5); }

/* ── eToro Import ── */
.etoro-import-btn[b-eoai9aklf2] {
    gap: 6px;
    width: auto;
    padding: 0 12px;
    font-size: 12px;
    font-weight: 700;
    color: #6aad4e;
    border-color: rgba(106,173,78,0.3);
}

.etoro-import-btn:hover[b-eoai9aklf2] {
    color: #7ec464;
    border-color: rgba(106,173,78,0.5);
    background: rgba(106,173,78,0.08);
}

.etoro-modal[b-eoai9aklf2] { max-width: 480px; }

.etoro-warning[b-eoai9aklf2] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 16px;
    background: rgba(255,171,0,0.08);
    border: 1px solid rgba(255,171,0,0.2);
    border-radius: 12px;
    margin-bottom: 20px;
    color: #ffab00;
    font-size: 14px;
    line-height: 1.5;
}

.etoro-warning svg[b-eoai9aklf2] { flex-shrink: 0; margin-top: 2px; }

.etoro-importing[b-eoai9aklf2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 32px 16px;
    text-align: center;
    color: var(--text-secondary);
}

.etoro-success[b-eoai9aklf2] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 16px;
    background: rgba(106,173,78,0.08);
    border: 1px solid rgba(106,173,78,0.2);
    border-radius: 12px;
    color: #6aad4e;
    font-size: 14px;
    line-height: 1.5;
}

.etoro-success svg[b-eoai9aklf2] { flex-shrink: 0; margin-top: 2px; }

.etoro-error[b-eoai9aklf2] {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 16px;
    background: rgba(244,67,54,0.08);
    border: 1px solid rgba(244,67,54,0.2);
    border-radius: 12px;
    color: #f44336;
    font-size: 14px;
    line-height: 1.5;
}

.etoro-error svg[b-eoai9aklf2] { flex-shrink: 0; margin-top: 2px; }

.form-hint[b-eoai9aklf2] {
    display: block;
    font-size: 12px;
    color: var(--text-secondary);
    margin-top: 6px;
}

/* Bulk Edit Modal */
.bulk-edit-modal[b-eoai9aklf2] {
    max-width: 700px;
    width: 95vw;
}

.bulk-edit-body[b-eoai9aklf2] {
    max-height: 60vh;
    overflow-y: auto;
    padding: 20px 24px;
}

.bulk-edit-hint[b-eoai9aklf2] {
    font-size: 14px;
    color: var(--text-secondary);
    margin-bottom: 20px;
    line-height: 1.5;
}

.bulk-edit-list[b-eoai9aklf2] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.bulk-edit-row[b-eoai9aklf2] {
    background: var(--surface-secondary);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 16px;
    transition: border-color 0.2s;
}

.bulk-edit-row:hover[b-eoai9aklf2] {
    border-color: rgba(255, 193, 7, 0.3);
}

.bulk-edit-row.marked-delete[b-eoai9aklf2] {
    border-color: rgba(220, 53, 69, 0.4);
    background: rgba(220, 53, 69, 0.05);
}

.bulk-edit-row-header[b-eoai9aklf2] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
}

.bulk-edit-row.marked-delete .bulk-edit-row-header[b-eoai9aklf2] {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.bulk-edit-symbol[b-eoai9aklf2] {
    font-size: 16px;
    font-weight: 700;
    color: var(--gold);
}

.bulk-edit-row.marked-delete .bulk-edit-symbol[b-eoai9aklf2] {
    color: var(--text-secondary);
    text-decoration: line-through;
}

.bulk-delete-btn[b-eoai9aklf2] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 500;
    color: #dc3545;
    background: rgba(220, 53, 69, 0.1);
    border: 1px solid rgba(220, 53, 69, 0.3);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s;
}

.bulk-delete-btn:hover[b-eoai9aklf2] {
    background: rgba(220, 53, 69, 0.2);
    border-color: #dc3545;
}

.bulk-delete-btn.undo[b-eoai9aklf2] {
    color: var(--gold);
    background: rgba(255, 193, 7, 0.1);
    border-color: rgba(255, 193, 7, 0.3);
}

.bulk-delete-btn.undo:hover[b-eoai9aklf2] {
    background: rgba(255, 193, 7, 0.2);
    border-color: var(--gold);
}

.bulk-delete-btn svg[b-eoai9aklf2] {
    flex-shrink: 0;
}

.bulk-edit-deleted-msg[b-eoai9aklf2] {
    font-size: 13px;
    color: #dc3545;
    font-style: italic;
    margin-top: 8px;
}

.bulk-edit-fields[b-eoai9aklf2] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.bulk-edit-field[b-eoai9aklf2] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.bulk-edit-field label[b-eoai9aklf2] {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.bulk-edit-field .form-input[b-eoai9aklf2] {
    width: 100%;
    padding: 10px 12px;
    font-size: 14px;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    transition: border-color 0.2s, box-shadow 0.2s;
}

.bulk-edit-field .form-input:focus[b-eoai9aklf2] {
    border-color: var(--gold);
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.15);
}

@media (max-width: 600px) {
    .bulk-edit-modal[b-eoai9aklf2] {
        max-width: 100%;
        width: 100%;
        margin: 0;
        border-radius: 16px 16px 0 0;
    }
    
    .bulk-edit-body[b-eoai9aklf2] {
        max-height: 70vh;
        padding: 16px;
    }
    
    .bulk-edit-row[b-eoai9aklf2] {
        padding: 12px;
    }
    
    .bulk-edit-fields[b-eoai9aklf2] {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    
    .bulk-edit-field .form-input[b-eoai9aklf2] {
        padding: 8px 10px;
        font-size: 13px;
    }
    
    .bulk-edit-btn[b-eoai9aklf2] {
        padding: 6px 10px;
        font-size: 12px;
    }
}
/* /Pages/Screener.razor.rz.scp.css */
/* ── Screener page ── */

.screener-page.screener-flex[b-7fkuqcm4ye] {
    display: flex;
    flex-direction: row;
    gap: 32px;
    max-width: 1600px;
    margin: 0 auto;
    padding: 24px 16px 60px;
}
.screener-sidebar[b-7fkuqcm4ye] {
    width: 340px;
    min-width: 260px;
    max-width: 400px;
    flex-shrink: 0;
    max-height: calc(100vh - 48px);
    overflow-y: auto;
}
.sidebar-card[b-7fkuqcm4ye] {
    background: #181818;
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 24px 22px 18px 22px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    max-height: 100%;
    overflow-y: auto;
}
.sidebar-title[b-7fkuqcm4ye] {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--accent-gold);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.sidebar-icon[b-7fkuqcm4ye] {
    font-size: 1.3em;
}
.sidebar-group[b-7fkuqcm4ye] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.sidebar-row[b-7fkuqcm4ye] {
    display: flex;
    gap: 8px;
}
.sidebar-btn[b-7fkuqcm4ye] {
    width: 100%;
    margin-top: 6px;
    font-size: 1rem;
}
.btn-accent.sidebar-btn[b-7fkuqcm4ye] {
    background: var(--accent-gold);
    color: #181818;
    border-radius: 8px;
    font-weight: bold;
    border: none;
    padding: 12px 0;
    margin-bottom: 6px;
    transition: background 0.2s;
}
.btn-outline.sidebar-btn[b-7fkuqcm4ye] {
    background: none;
    color: var(--accent-gold);
    border: 1px solid var(--accent-gold);
    border-radius: 8px;
    font-weight: bold;
    padding: 12px 0;
    transition: background 0.2s;
}
.screener-main[b-7fkuqcm4ye] {
    flex: 1 1 0%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
@media (max-width: 1100px) {
    .screener-page.screener-flex[b-7fkuqcm4ye] {
        flex-direction: column;
        gap: 18px;
    }
    .screener-sidebar[b-7fkuqcm4ye] {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        max-height: none;
        overflow: visible;
    }
    .sidebar-card[b-7fkuqcm4ye] {
        padding: 18px 10px 14px 10px;
        max-height: none;
        overflow: visible;
    }
}

.screener-header h1[b-7fkuqcm4ye] {
    font-size: 28px;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0;
}

.screener-header p[b-7fkuqcm4ye] {
    color: var(--text-secondary);
    font-size: 14px;
    margin: 6px 0 0;
}

.screener-error[b-7fkuqcm4ye] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 10px;
    background: rgba(255, 68, 68, 0.12);
    border: 1px solid rgba(255, 68, 68, 0.25);
    color: #ff4444;
    font-size: 13px;
}

/* ── Tabs ── */
.tab-bar[b-7fkuqcm4ye] {
    display: flex;
    gap: 4px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 10px;
    padding: 4px;
    width: fit-content;
}

.tab-btn[b-7fkuqcm4ye] {
    padding: 10px 20px;
    background: transparent;
    border: none;
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.tab-btn:hover[b-7fkuqcm4ye] {
    color: var(--text-primary);
}

.tab-btn.active[b-7fkuqcm4ye] {
    background: var(--accent-gold);
    color: #000;
}

/* ── Screener toolbar (tabs + inline pagination) ── */
.screener-toolbar[b-7fkuqcm4ye] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    flex-wrap: wrap;
    gap: 8px;
}

.pagination-inline[b-7fkuqcm4ye] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.pagination-inline .page-info[b-7fkuqcm4ye] {
    font-size: 13px;
    color: var(--text-secondary);
    white-space: nowrap;
}

.pagination-inline .page-btn[b-7fkuqcm4ye] {
    padding: 6px 12px;
    font-size: 13px;
}

/* ── Sector cell ── */
.sector-cell[b-7fkuqcm4ye] {
    font-size: 12px;
    color: var(--text-secondary);
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.m-card-sector[b-7fkuqcm4ye] {
    font-size: 11px;
    color: var(--text-secondary);
}

/* ── Filter bar ── */
.filter-bar[b-7fkuqcm4ye] {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.search-box[b-7fkuqcm4ye] {
    display: flex;
    gap: 8px;
    flex: 1;
    min-width: 250px;
}

.search-input[b-7fkuqcm4ye] {
    flex: 1;
    padding: 10px 14px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

.search-input:focus[b-7fkuqcm4ye] {
    border-color: var(--accent-gold);
}

.search-btn[b-7fkuqcm4ye] {
    padding: 10px 18px;
    background: var(--accent-gold);
    border: none;
    border-radius: 8px;
    color: #000;
    font-weight: 700;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
}

.search-btn:hover[b-7fkuqcm4ye] {
    opacity: 0.85;
}

.filter-controls[b-7fkuqcm4ye] {
    display: flex;
    gap: 8px;
}

.filter-toggle[b-7fkuqcm4ye] {
    padding: 10px 16px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s;
}

.filter-toggle:hover[b-7fkuqcm4ye],
.filter-toggle.active[b-7fkuqcm4ye] {
    border-color: var(--accent-gold);
    color: var(--accent-gold);
}

.btn-outline-sm[b-7fkuqcm4ye] {
    padding: 10px 14px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s;
}

.btn-outline-sm:hover[b-7fkuqcm4ye] {
    border-color: var(--accent-gold);
    color: var(--text-primary);
}

/* ── Filters panel ── */
.filters-panel[b-7fkuqcm4ye] {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    padding: 16px 20px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 12px;
}

.filter-group[b-7fkuqcm4ye] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 140px;
}

.filter-group label[b-7fkuqcm4ye] {
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filter-input[b-7fkuqcm4ye],
.filter-select[b-7fkuqcm4ye] {
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 13px;
    outline: none;
}

.filter-input:focus[b-7fkuqcm4ye],
.filter-select:focus[b-7fkuqcm4ye] {
    border-color: var(--accent-gold);
}

.filter-select option[b-7fkuqcm4ye] {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

/* ── Results card ── */
.results-card[b-7fkuqcm4ye] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    overflow: hidden;
}

.results-header[b-7fkuqcm4ye] {
    padding: 16px 20px;
    border-bottom: 1px solid var(--border);
}

.results-header h3[b-7fkuqcm4ye] {
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.results-loading[b-7fkuqcm4ye] {
    text-align: center;
    padding: 40px;
    color: var(--text-secondary);
    font-size: 14px;
}

.results-updating[b-7fkuqcm4ye] {
    font-size: 12px;
    color: var(--text-secondary);
    padding: 4px 12px;
    background: var(--bg-card, #1e2433);
    border-left: 3px solid var(--accent, #6c8ebf);
    margin-bottom: 6px;
    border-radius: 0 4px 4px 0;
    opacity: 0.8;
}

.text-muted[b-7fkuqcm4ye] {
    color: var(--text-secondary);
    font-size: 12px;
}

.results-empty[b-7fkuqcm4ye] {
    text-align: center;
    padding: 60px 20px;
}

.empty-icon[b-7fkuqcm4ye] {
    font-size: 40px;
    margin-bottom: 10px;
}

.results-empty h3[b-7fkuqcm4ye] {
    color: var(--text-primary);
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 6px;
}

.results-empty p[b-7fkuqcm4ye] {
    color: var(--text-secondary);
    font-size: 13px;
    margin: 0;
}

/* ── Table ── */
.table-responsive[b-7fkuqcm4ye] {
    overflow-x: auto;
}

.screener-table[b-7fkuqcm4ye] {
    width: 100%;
    border-collapse: collapse;
}

.screener-table th[b-7fkuqcm4ye] {
    padding: 11px 14px;
    text-align: left;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border);
    white-space: nowrap;
}

.screener-table th.sortable[b-7fkuqcm4ye] {
    cursor: pointer;
    user-select: none;
    transition: color 0.15s;
}

.screener-table th.sortable:hover[b-7fkuqcm4ye] {
    color: var(--accent-gold);
}

.th-num[b-7fkuqcm4ye] {
    text-align: center;
}

.screener-table td[b-7fkuqcm4ye] {
    padding: 11px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    color: var(--text-primary);
    font-size: 13px;
}

.screener-row[b-7fkuqcm4ye] {
    cursor: pointer;
    transition: background 0.15s;
}

.screener-row:hover[b-7fkuqcm4ye] {
    background: rgba(255, 255, 255, 0.03);
}

.symbol-badge[b-7fkuqcm4ye] {
    display: inline-block;
    padding: 4px 10px;
    background: rgba(166, 124, 82, 0.1);
    border: 1px solid rgba(166, 124, 82, 0.22);
    border-radius: 8px;
    color: var(--accent-gold);
    font-weight: 800;
    font-size: 12px;
}

.name-cell[b-7fkuqcm4ye] {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.num-cell[b-7fkuqcm4ye] {
    text-align: center;
    white-space: nowrap;
}

.positive[b-7fkuqcm4ye] {
    color: var(--positive);
}

.negative[b-7fkuqcm4ye] {
    color: var(--negative);
}

/* ── Score pill ── */
.score-pill[b-7fkuqcm4ye] {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.score-high[b-7fkuqcm4ye] {
    background: rgba(0, 255, 136, 0.12);
    color: var(--positive);
}

.score-mid[b-7fkuqcm4ye] {
    background: rgba(245, 158, 11, 0.15);
    color: #f59e0b;
}

.score-low[b-7fkuqcm4ye] {
    background: rgba(255, 68, 68, 0.12);
    color: var(--negative);
}

/* ── Pagination ── */
.pagination[b-7fkuqcm4ye] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 14px 20px;
    border-top: 1px solid var(--border);
}

.page-btn[b-7fkuqcm4ye] {
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.page-btn:hover:not(:disabled)[b-7fkuqcm4ye] {
    border-color: var(--accent-gold);
}

.page-btn:disabled[b-7fkuqcm4ye] {
    opacity: 0.35;
    cursor: not-allowed;
}

.page-btn.active[b-7fkuqcm4ye] {
    background: var(--accent-gold, #a67c52);
    border-color: var(--accent-gold, #a67c52);
    color: #fff;
    cursor: default;
}

.page-info[b-7fkuqcm4ye] {
    color: var(--text-secondary);
    font-size: 13px;
}

/* ── Responsive ── */
.mobile-cards[b-7fkuqcm4ye] { display: none; }

@media (max-width: 768px) {
    .desktop-only[b-7fkuqcm4ye] { display: none; }
    .mobile-cards[b-7fkuqcm4ye] { display: flex; flex-direction: column; gap: 8px; padding: 0 4px; }
}

.m-card[b-7fkuqcm4ye] {
    background: rgba(255,255,255,0.03);
    border: 1px solid var(--border, #2a2a3e);
    border-radius: 12px;
    padding: 14px 16px;
    cursor: pointer;
    transition: background 0.15s;
}

.m-card:active[b-7fkuqcm4ye] { background: rgba(166,124,82,0.08); }

.m-card-top[b-7fkuqcm4ye] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px;
}

.m-card-left[b-7fkuqcm4ye] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    min-width: 0;
}

.m-card-right[b-7fkuqcm4ye] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    flex-shrink: 0;
}

.m-card-name[b-7fkuqcm4ye] {
    font-size: 13px;
    color: var(--text-secondary, #94A3B8);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 160px;
}

.m-card-price[b-7fkuqcm4ye] {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-primary, #fff);
}

.m-card-chg[b-7fkuqcm4ye] {
    font-size: 12px;
    font-weight: 500;
}

.m-card-details[b-7fkuqcm4ye] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px 16px;
}

.m-card-detail[b-7fkuqcm4ye] {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
}

.m-lbl[b-7fkuqcm4ye] { color: var(--text-secondary, #94A3B8); }
.m-val[b-7fkuqcm4ye] { color: var(--text-primary, #fff); font-weight: 500; }

@media (max-width: 700px) {
    .filter-bar[b-7fkuqcm4ye] {
        flex-direction: column;
    }

    .search-box[b-7fkuqcm4ye] {
        min-width: auto;
    }

    .filters-panel[b-7fkuqcm4ye] {
        flex-direction: column;
    }
}
/* /Pages/Settings.razor.rz.scp.css */
/* ── Settings page layout ── */
.settings-page[b-vy6affo8t9] {
    max-width: 820px;
    margin: 0 auto;
    padding: 24px 16px 60px;
}

.settings-header[b-vy6affo8t9] {
    margin-bottom: 28px;
}

.settings-header h1[b-vy6affo8t9] {
    font-size: 28px;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0;
}

.settings-header p[b-vy6affo8t9] {
    color: var(--text-secondary);
    font-size: 14px;
    margin: 6px 0 0;
}

.settings-loading[b-vy6affo8t9] {
    text-align: center;
    padding: 60px 0;
    color: var(--text-secondary);
    font-size: 14px;
}

/* ── Alerts ── */
.settings-error[b-vy6affo8t9] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 10px;
    background: rgba(255, 68, 68, 0.12);
    border: 1px solid rgba(255, 68, 68, 0.25);
    color: #ff4444;
    font-size: 13px;
    margin-bottom: 18px;
}

.settings-success[b-vy6affo8t9] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 10px;
    background: rgba(0, 255, 136, 0.08);
    border: 1px solid rgba(0, 255, 136, 0.2);
    color: var(--positive);
    font-size: 13px;
    margin-bottom: 18px;
}

/* ── Card sections ── */
.settings-sections[b-vy6affo8t9] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.settings-card[b-vy6affo8t9] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    padding: 24px;
}

.card-title-row[b-vy6affo8t9] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 4px;
}

.card-title-row h2[b-vy6affo8t9] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.card-icon[b-vy6affo8t9] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    font-size: 16px;
}

.card-icon-blue[b-vy6affo8t9] {
    background: rgba(59, 130, 246, 0.15);
}

.card-icon-purple[b-vy6affo8t9] {
    background: rgba(139, 92, 246, 0.15);
}

.card-icon-green[b-vy6affo8t9] {
    background: rgba(0, 255, 136, 0.12);
}

.card-icon-red[b-vy6affo8t9] {
    background: rgba(255, 68, 68, 0.12);
}

.card-desc[b-vy6affo8t9] {
    color: var(--text-secondary);
    font-size: 13px;
    margin: 0 0 20px;
}

/* ── Profile section ── */
.profile-row[b-vy6affo8t9] {
    margin-bottom: 20px;
}

.avatar-area[b-vy6affo8t9] {
    display: flex;
    align-items: center;
    gap: 16px;
}

.avatar-circle[b-vy6affo8t9] {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(166, 124, 82, 0.2);
    border: 2px solid var(--accent-gold);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
}

.avatar-circle img[b-vy6affo8t9] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.avatar-initials[b-vy6affo8t9] {
    color: var(--accent-gold);
    font-weight: 700;
    font-size: 22px;
}

.form-grid[b-vy6affo8t9] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.form-group[b-vy6affo8t9] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 10px;
}

.form-group label[b-vy6affo8t9],
.form-group > span[b-vy6affo8t9] {
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 500;
}

.form-input[b-vy6affo8t9] {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 10px 14px;
    color: var(--text-primary);
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
    width: 100%;
    box-sizing: border-box;
}

.form-input:focus[b-vy6affo8t9] {
    border-color: var(--accent-gold);
}

.form-input:disabled[b-vy6affo8t9] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ── Preferences / Toggle list ── */
.pref-list[b-vy6affo8t9] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.pref-item[b-vy6affo8t9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.pref-item:last-child[b-vy6affo8t9] {
    border-bottom: none;
}

.pref-info[b-vy6affo8t9] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.pref-label[b-vy6affo8t9] {
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 500;
}

.pref-sub[b-vy6affo8t9] {
    color: var(--text-secondary);
    font-size: 12px;
}

/* ── Toggle Switch ── */
.toggle[b-vy6affo8t9] {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
    flex-shrink: 0;
}

.toggle input[b-vy6affo8t9] {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.toggle-slider[b-vy6affo8t9] {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    transition: background 0.25s;
}

.toggle-slider[b-vy6affo8t9]::before {
    content: "";
    position: absolute;
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background: white;
    border-radius: 50%;
    transition: transform 0.25s;
}

.toggle input:checked + .toggle-slider[b-vy6affo8t9] {
    background: var(--accent-gold);
}

.toggle input:checked + .toggle-slider[b-vy6affo8t9]::before {
    transform: translateX(20px);
}

/* ── Select ── */
.form-select[b-vy6affo8t9] {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 8px 12px;
    color: var(--text-primary);
    font-size: 13px;
    outline: none;
    cursor: pointer;
    min-width: 120px;
}

.form-select:focus[b-vy6affo8t9] {
    border-color: var(--accent-gold);
}

.form-select option[b-vy6affo8t9] {
    background: var(--bg-secondary);
    color: var(--text-primary);
}

/* ── Security actions ── */
.security-actions[b-vy6affo8t9] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

/* ── Buttons ── */
.btn-primary[b-vy6affo8t9] {
    background: var(--accent-gold);
    color: #000;
    border: none;
    border-radius: 8px;
    padding: 10px 24px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: opacity 0.2s;
}

.btn-primary:hover[b-vy6affo8t9] {
    opacity: 0.85;
}

.btn-primary:disabled[b-vy6affo8t9] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-outline[b-vy6affo8t9] {
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 10px 20px;
    color: var(--text-primary);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color 0.2s;
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-outline:hover[b-vy6affo8t9] {
    border-color: var(--accent-gold);
}

.btn-sm[b-vy6affo8t9] {
    padding: 6px 14px;
    font-size: 12px;
}

.btn-danger[b-vy6affo8t9] {
    background: rgba(255, 68, 68, 0.12);
    border: 1px solid rgba(255, 68, 68, 0.3);
    border-radius: 8px;
    padding: 10px 20px;
    color: #ff4444;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background 0.2s;
}

.btn-danger:hover[b-vy6affo8t9] {
    background: rgba(255, 68, 68, 0.2);
}

.btn-danger:disabled[b-vy6affo8t9] {
    opacity: 0.4;
    cursor: not-allowed;
}

.save-bar[b-vy6affo8t9] {
    display: flex;
    justify-content: flex-end;
}

/* ── Modals ── */
.modal-overlay[b-vy6affo8t9] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.modal-box[b-vy6affo8t9] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 14px;
    width: 100%;
    max-width: 440px;
    overflow: hidden;
}

.modal-danger[b-vy6affo8t9] {
    border-color: rgba(255, 68, 68, 0.3);
}

.modal-header[b-vy6affo8t9] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px;
    border-bottom: 1px solid var(--border);
}

.modal-header h3[b-vy6affo8t9] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.modal-close[b-vy6affo8t9] {
    background: none;
    border: none;
    color: var(--text-secondary);
    font-size: 22px;
    cursor: pointer;
    padding: 0;
    line-height: 1;
}

.modal-body[b-vy6affo8t9] {
    padding: 20px;
}

.modal-footer[b-vy6affo8t9] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 20px;
    border-top: 1px solid var(--border);
}

.danger-text[b-vy6affo8t9] {
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.6;
    margin: 0 0 16px;
}

.avatar-preview[b-vy6affo8t9] {
    margin-top: 14px;
    text-align: center;
}

.avatar-preview img[b-vy6affo8t9] {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--accent-gold);
}

/* ── Responsive ── */
@media (max-width: 600px) {
    .settings-page[b-vy6affo8t9] {
        padding: 16px 12px 40px;
    }

    .form-grid[b-vy6affo8t9] {
        grid-template-columns: 1fr;
    }

    .security-actions[b-vy6affo8t9] {
        flex-direction: column;
    }
}
/* /Pages/Signals.razor.rz.scp.css */
/* ── Signals Page ───────────────────────────────── */
.signals-page[b-gimn8bmlle] {
    max-width: 1100px;
    margin: 0 auto;
    padding: 32px 24px 48px;
    color: var(--text-primary, #e4e4e7);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* ── Variables ──────────────────────────────────── */
.signals-page[b-gimn8bmlle] {
    --bg-card: rgba(255,255,255,0.03);
    --border: rgba(255,255,255,0.06);
    --border-hover: rgba(166,124,82,0.2);
    --accent-gold: #d4a853;
    --text-primary: #e4e4e7;
    --text-secondary: #71717a;
    --positive: #4ade80;
    --negative: #f87171;
    --bg-input: rgba(255,255,255,0.04);
}

/* ── Header ────────────────────────────────────── */
.page-header[b-gimn8bmlle] { margin-bottom: 24px; }
.page-title[b-gimn8bmlle] {
    font-size: 28px;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0;
    letter-spacing: -0.5px;
}
.page-subtitle[b-gimn8bmlle] {
    font-size: 14px;
    color: var(--text-secondary);
    margin: 4px 0 0;
}

/* ── Tab Bar ───────────────────────────────────── */
.tab-bar[b-gimn8bmlle] {
    display: flex;
    gap: 4px;
    background: rgba(255,255,255,0.02);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 4px;
    margin-bottom: 24px;
}
.tab-btn[b-gimn8bmlle] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 16px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}
.tab-btn:hover[b-gimn8bmlle] { color: var(--text-primary); background: rgba(255,255,255,0.03); }
.tab-btn.active[b-gimn8bmlle] {
    background: rgba(166,124,82,0.12);
    color: var(--accent-gold);
}

/* ── Section Headers ───────────────────────────── */
.section-header[b-gimn8bmlle] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}
.section-title[b-gimn8bmlle] {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}
.limit-badge[b-gimn8bmlle] {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-secondary);
    background: rgba(255,255,255,0.04);
    padding: 4px 10px;
    border-radius: 6px;
}

/* ── Buttons ───────────────────────────────────── */
.btn-gold[b-gimn8bmlle] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: 1px solid rgba(166,124,82,0.3);
    border-radius: 8px;
    background: rgba(166,124,82,0.12);
    color: var(--accent-gold);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s;
}
.btn-gold:hover[b-gimn8bmlle] { background: rgba(166,124,82,0.2); }
.btn-gold:disabled[b-gimn8bmlle] { opacity: 0.5; cursor: default; }

.btn-cancel[b-gimn8bmlle] {
    padding: 8px 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: transparent;
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}
.btn-cancel:hover[b-gimn8bmlle] { color: var(--text-primary); }

/* ── Loading & Empty ───────────────────────────── */
.loading-block[b-gimn8bmlle] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 32px;
    justify-content: center;
    color: var(--text-secondary);
    font-size: 13px;
}
.spinner-sm[b-gimn8bmlle] {
    width: 16px; height: 16px;
    border: 2px solid rgba(255,255,255,0.08);
    border-top-color: var(--accent-gold);
    border-radius: 50%;
    animation: spin-b-gimn8bmlle 0.6s linear infinite;
}
@keyframes spin-b-gimn8bmlle { to { transform: rotate(360deg); } }

.empty-state[b-gimn8bmlle] {
    text-align: center;
    padding: 48px 24px;
    border: 1px dashed var(--border);
    border-radius: 12px;
}
.empty-state svg[b-gimn8bmlle] { color: var(--text-secondary); margin-bottom: 12px; }
.empty-state p[b-gimn8bmlle] { font-size: 14px; font-weight: 600; color: var(--text-primary); margin: 0 0 4px; }
.empty-state span[b-gimn8bmlle] { font-size: 12px; color: var(--text-secondary); display: block; margin-bottom: 16px; }

/* ── Strategy Cards ────────────────────────────── */
.strategy-card[b-gimn8bmlle] {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 12px;
    transition: border-color 0.15s;
}
.strategy-card:hover[b-gimn8bmlle] { border-color: var(--border-hover); }
.strat-top[b-gimn8bmlle] { display: flex; justify-content: space-between; align-items: flex-start; }
.strat-name[b-gimn8bmlle] { font-size: 15px; font-weight: 700; color: var(--text-primary); }
.strat-meta[b-gimn8bmlle] { font-size: 12px; color: var(--text-secondary); margin-top: 2px; }
.strat-sep[b-gimn8bmlle] { margin: 0 6px; }
.strat-actions[b-gimn8bmlle] { display: flex; gap: 6px; }
.strat-action-btn[b-gimn8bmlle] {
    width: 32px; height: 32px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all 0.15s;
}
.strat-action-btn:hover[b-gimn8bmlle] { background: rgba(255,255,255,0.04); color: var(--text-primary); }
.strat-action-btn.danger:hover[b-gimn8bmlle] { background: rgba(239,68,68,0.1); color: var(--negative); border-color: rgba(239,68,68,0.2); }

.strat-filters[b-gimn8bmlle] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
}
.filter-chip[b-gimn8bmlle] {
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 6px;
    background: rgba(129,140,248,0.1);
    color: #a5b4fc;
    letter-spacing: 0.3px;
}
.strat-alert-tag[b-gimn8bmlle] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: var(--positive);
    margin-top: 8px;
}

/* ── Results Panel ─────────────────────────────── */
.results-panel[b-gimn8bmlle] {
    background: rgba(255,255,255,0.02);
    border: 1px solid var(--border);
    border-radius: 10px;
    margin-bottom: 16px;
    overflow: hidden;
}
.results-header[b-gimn8bmlle] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border);
}
.results-title[b-gimn8bmlle] { font-size: 13px; font-weight: 600; color: var(--text-primary); }
.results-close[b-gimn8bmlle] {
    font-size: 12px;
    color: var(--text-secondary);
    background: none;
    border: none;
    cursor: pointer;
}
.results-close:hover[b-gimn8bmlle] { color: var(--text-primary); }

.results-table-wrap[b-gimn8bmlle] { overflow-x: auto; }
.results-table[b-gimn8bmlle] { width: 100%; border-collapse: collapse; font-size: 12px; }
.results-table thead[b-gimn8bmlle] { border-bottom: 1px solid var(--border); }
.results-table th[b-gimn8bmlle] {
    padding: 8px 12px;
    font-size: 10px;
    font-weight: 700;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.rt-left[b-gimn8bmlle] { text-align: left; }
.rt-center[b-gimn8bmlle] { text-align: center; }
.results-row[b-gimn8bmlle] {
    cursor: pointer;
    transition: background 0.15s;
    border-bottom: 1px solid rgba(255,255,255,0.03);
}
.results-row:hover[b-gimn8bmlle] { background: rgba(255,255,255,0.03); }
.results-row td[b-gimn8bmlle] { padding: 10px 12px; }
.rt-symbol[b-gimn8bmlle] { font-weight: 700; color: var(--accent-gold); text-align: left; }
.rt-name[b-gimn8bmlle] {
    color: var(--text-primary);
    max-width: 180px;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    text-align: left;
}

.score-badge[b-gimn8bmlle] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 700;
    font-size: 11px;
}
.score-badge.score-high[b-gimn8bmlle] { background: rgba(34,197,94,0.12); color: var(--positive); }
.score-badge.score-mid[b-gimn8bmlle] { background: rgba(245,158,11,0.12); color: #fbbf24; }
.score-badge.score-low[b-gimn8bmlle] { background: rgba(239,68,68,0.12); color: var(--negative); }

/* ── Alert Cards ───────────────────────────────── */
.alerts-grid[b-gimn8bmlle] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 12px;
}
.alert-card[b-gimn8bmlle] {
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 16px;
    transition: all 0.15s;
}
.alert-card.inactive[b-gimn8bmlle] { opacity: 0.5; }
.alert-card:hover[b-gimn8bmlle] { border-color: var(--border-hover); }
.alert-top[b-gimn8bmlle] { display: flex; align-items: center; gap: 12px; }
.alert-type-icon[b-gimn8bmlle] { font-size: 20px; flex-shrink: 0; }
.alert-info[b-gimn8bmlle] { flex: 1; min-width: 0; }
.alert-label[b-gimn8bmlle] { font-size: 13px; font-weight: 600; color: var(--text-primary); }
.alert-symbol[b-gimn8bmlle] {
    font-size: 11px;
    font-weight: 700;
    color: var(--accent-gold);
    background: rgba(166,124,82,0.1);
    display: inline-block;
    padding: 2px 6px;
    border-radius: 4px;
    margin-top: 2px;
}

/* Toggle Btn */
.toggle-btn[b-gimn8bmlle] {
    width: 36px; height: 20px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    position: relative;
    transition: all 0.2s;
    padding: 0;
}
.toggle-btn.on[b-gimn8bmlle] { background: var(--positive); }
.toggle-btn.off[b-gimn8bmlle] { background: rgba(255,255,255,0.12); }
.toggle-dot[b-gimn8bmlle] {
    width: 16px; height: 16px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    top: 2px;
    transition: left 0.2s;
}
.toggle-btn.on .toggle-dot[b-gimn8bmlle] { left: 18px; }
.toggle-btn.off .toggle-dot[b-gimn8bmlle] { left: 2px; }

.alert-last-msg[b-gimn8bmlle] {
    font-size: 11px;
    color: var(--text-secondary);
    margin-top: 10px;
    padding: 8px 10px;
    background: rgba(255,255,255,0.02);
    border-radius: 6px;
    line-height: 1.4;
}
.alert-footer[b-gimn8bmlle] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}
.alert-date[b-gimn8bmlle] { font-size: 11px; color: var(--text-secondary); }
.alert-delete[b-gimn8bmlle] {
    font-size: 11px;
    color: var(--negative);
    background: none;
    border: none;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.15s;
}
.alert-delete:hover[b-gimn8bmlle] { opacity: 1; }

/* ── Modals ────────────────────────────────────── */
.modal-backdrop[b-gimn8bmlle] {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 24px;
}
.modal-content[b-gimn8bmlle] {
    background: rgba(18,18,20,0.97);
    border: 1px solid var(--border);
    border-radius: 14px;
    width: min(520px, 100%);
    max-height: 85vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.modal-header[b-gimn8bmlle] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 20px;
    border-bottom: 1px solid var(--border);
}
.modal-title[b-gimn8bmlle] { font-size: 16px; font-weight: 700; color: var(--text-primary); margin: 0; }
.modal-close[b-gimn8bmlle] {
    font-size: 20px;
    background: none; border: none;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
}
.modal-close:hover[b-gimn8bmlle] { background: rgba(255,255,255,0.05); color: var(--text-primary); }
.modal-body[b-gimn8bmlle] {
    padding: 20px;
    overflow-y: auto;
}
.modal-footer[b-gimn8bmlle] {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid var(--border);
}

/* ── Form Inputs ───────────────────────────────── */
.form-group[b-gimn8bmlle] { margin-bottom: 16px; }
.form-label[b-gimn8bmlle] {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.form-input[b-gimn8bmlle], .form-select[b-gimn8bmlle] {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--bg-input);
    color: var(--text-primary);
    font-size: 13px;
    font-family: inherit;
    transition: border-color 0.15s;
}
.form-input:focus[b-gimn8bmlle], .form-select:focus[b-gimn8bmlle] {
    outline: none;
    border-color: rgba(166,124,82,0.4);
}
.form-select[b-gimn8bmlle] { cursor: pointer; }
.form-select option[b-gimn8bmlle] { background: #1a1a1a; color: var(--text-primary); }

/* Filter Row */
.filter-row[b-gimn8bmlle] {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
    align-items: center;
}
.filter-row .form-select[b-gimn8bmlle] { flex: 2; }
.filter-row .op-select[b-gimn8bmlle] { flex: 0 0 60px; text-align: center; }
.filter-row .val-input[b-gimn8bmlle] { flex: 1; }
.remove-filter-btn[b-gimn8bmlle] {
    width: 28px; height: 28px;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    flex-shrink: 0;
}
.remove-filter-btn:hover[b-gimn8bmlle] { background: rgba(239,68,68,0.1); color: var(--negative); }

.add-filter-btn[b-gimn8bmlle] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--text-secondary);
    background: none;
    border: 1px dashed var(--border);
    border-radius: 6px;
    padding: 6px 12px;
    cursor: pointer;
    transition: all 0.15s;
}
.add-filter-btn:hover[b-gimn8bmlle] { color: var(--text-primary); border-color: rgba(255,255,255,0.12); }

.toggle-group[b-gimn8bmlle] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* ── Responsive ────────────────────────────────── */
@media (max-width: 768px) {
    .signals-page[b-gimn8bmlle] { padding: 20px 16px 32px; }
    .page-title[b-gimn8bmlle] { font-size: 22px; }
    .alerts-grid[b-gimn8bmlle] { grid-template-columns: 1fr; }
    .filter-row[b-gimn8bmlle] { flex-wrap: wrap; }
    .filter-row .form-select[b-gimn8bmlle] { flex: 1 1 100%; }
    .filter-row .op-select[b-gimn8bmlle] { flex: 0 0 50px; }
    .filter-row .val-input[b-gimn8bmlle] { flex: 1; }
}
/* /Pages/Signup.razor.rz.scp.css */
.cq-auth-section[b-lf38tw36uj] {
    min-height: calc(100vh - 64px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 72px 16px 96px;
}

.cq-auth-shell[b-lf38tw36uj] {
    width: min(100%, 470px);
    margin: 0 auto;
}

.cq-auth-intro[b-lf38tw36uj] { text-align: center; margin-bottom: 28px; }
.cq-auth-intro .cq-title[b-lf38tw36uj] { margin-top: 14px; font-size: clamp(36px, 8vw, 52px); }
.cq-auth-intro .cq-subtitle[b-lf38tw36uj] { font-size: 16px; }
.cq-auth-card[b-lf38tw36uj] {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(22px, 5vw, 34px);
    background: color-mix(in srgb, var(--bg-secondary) 92%, transparent);
    box-shadow: 0 24px 60px rgba(0,0,0,.18);
}

.cq-field[b-lf38tw36uj] { display: flex; flex-direction: column; gap: 7px; margin-top: 16px; }
.cq-field:first-child[b-lf38tw36uj] { margin-top: 0; }
.cq-field label[b-lf38tw36uj] { margin: 0; color: var(--text-primary); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.cq-input[b-lf38tw36uj] { min-height: 48px; font-size: 16px; }
.cq-password-field[b-lf38tw36uj] { position: relative; }
.cq-password-field .cq-input[b-lf38tw36uj] { padding-right: 70px; }
.cq-password-toggle[b-lf38tw36uj] { position: absolute; top: 50%; right: 10px; transform: translateY(-50%); border: 0; background: transparent; color: var(--accent-gold); cursor: pointer; font-size: 12px; font-weight: 800; padding: 8px; }
.cq-password-hint[b-lf38tw36uj] { margin-top: 14px; font-size: 12px; }
.cq-auth-actions[b-lf38tw36uj] { margin-top: 22px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cq-auth-actions .cq-btn[b-lf38tw36uj] { min-height: 46px; }
.cq-auth-legal[b-lf38tw36uj] { margin-top: 22px; font-size: 12px; text-align: center; }
.cq-status-error[b-lf38tw36uj] { color: var(--negative); }
.cq-status-success[b-lf38tw36uj] { color: var(--positive); }
.cq-auth-success[b-lf38tw36uj] { text-align: center; }
.cq-auth-success h2[b-lf38tw36uj] { margin: 14px 0 0; font-size: 24px; }
.cq-success-mark[b-lf38tw36uj] { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto; border: 1px solid rgba(0,255,136,.3); border-radius: 50%; color: var(--positive); font-size: 25px; }
.cq-auth-secondary-action[b-lf38tw36uj] { margin-top: 20px; }
.cq-auth-secondary-action .cq-card-text[b-lf38tw36uj] { margin-top: 12px; }

@media (max-width: 520px) {
    .cq-auth-section[b-lf38tw36uj] { align-items: flex-start; padding-top: 38px; }
    .cq-auth-card[b-lf38tw36uj] { padding: 22px 18px; }
    .cq-auth-actions[b-lf38tw36uj] { grid-template-columns: 1fr; }
}
/* /Pages/Watchlist.razor.rz.scp.css */
.watchlist[b-rwyeu05lbu] {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Page Header */
.page-header[b-rwyeu05lbu] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.page-title-row[b-rwyeu05lbu] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.page-icon[b-rwyeu05lbu] {
    width: 32px;
    height: 32px;
    color: var(--accent-gold);
}

.page-title[b-rwyeu05lbu] {
    font-size: 30px;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.page-subtitle[b-rwyeu05lbu] {
    font-size: 14px;
    color: var(--text-secondary);
    margin: 0;
}

/* Error */
.error-alert[b-rwyeu05lbu] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.3);
    border-radius: 8px;
    color: #fca5a5;
    font-size: 13px;
}

/* Search */
.search-section[b-rwyeu05lbu] {
    max-width: 600px;
}

.input-field[b-rwyeu05lbu] {
    width: 100%;
    padding: 10px 14px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

.input-field:focus[b-rwyeu05lbu] {
    outline: none;
    border-color: var(--accent-gold);
}

.input-field[b-rwyeu05lbu]::placeholder {
    color: var(--text-secondary);
}

/* Desktop Table */
.desktop-table[b-rwyeu05lbu] {
    display: none;
}

.table-card[b-rwyeu05lbu] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 38px rgba(0, 0, 0, 0.30);
}

.table-scroll[b-rwyeu05lbu] {
    overflow-x: auto;
}

table[b-rwyeu05lbu] {
    width: 100%;
    border-collapse: collapse;
}

th[b-rwyeu05lbu] {
    padding: 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border);
    background: var(--bg-secondary);
}

.th-left[b-rwyeu05lbu] {
    text-align: left;
}

.th-right[b-rwyeu05lbu] {
    text-align: right;
}

.th-center[b-rwyeu05lbu] {
    text-align: center;
}

.stock-row[b-rwyeu05lbu] {
    cursor: pointer;
    border-bottom: 1px solid var(--border);
    transition: background 0.15s ease;
}

.stock-row:hover[b-rwyeu05lbu] {
    background: rgba(10, 10, 10, 0.50);
}

td[b-rwyeu05lbu] {
    padding: 16px;
    font-size: 14px;
    color: var(--text-primary);
}

.td-symbol[b-rwyeu05lbu] {
    font-weight: 700;
    color: var(--accent-gold);
}

.td-name[b-rwyeu05lbu] {
    color: var(--text-primary);
}

.td-right[b-rwyeu05lbu] {
    text-align: right;
}

.td-center[b-rwyeu05lbu] {
    text-align: center;
}

.td-price[b-rwyeu05lbu] {
    font-weight: 500;
    color: var(--text-primary);
}

.td-positive[b-rwyeu05lbu] {
    color: var(--positive);
    font-weight: 500;
}

.td-negative[b-rwyeu05lbu] {
    color: var(--negative);
    font-weight: 500;
}

.td-secondary[b-rwyeu05lbu] {
    color: var(--text-secondary);
}

.range-block[b-rwyeu05lbu] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.range-label[b-rwyeu05lbu] {
    font-size: 12px;
    color: var(--text-secondary);
}

.trend-icon[b-rwyeu05lbu] {
    width: 20px;
    height: 20px;
    margin: 0 auto;
    display: block;
}

.trend-up[b-rwyeu05lbu] {
    color: var(--positive);
}

.trend-down[b-rwyeu05lbu] {
    color: var(--negative);
}

.delete-btn[b-rwyeu05lbu] {
    padding: 8px;
    background: none;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.15s ease;
    color: var(--text-secondary);
}

.delete-btn:hover[b-rwyeu05lbu] {
    background: rgba(255, 68, 68, 0.10);
    color: var(--negative);
}

.trash-icon[b-rwyeu05lbu] {
    width: 20px;
    height: 20px;
}

.empty-cell[b-rwyeu05lbu] {
    padding: 32px 16px !important;
    text-align: center;
    color: var(--text-secondary);
}

/* Mobile Cards */
.mobile-cards[b-rwyeu05lbu] {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.mobile-stock-card[b-rwyeu05lbu] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    transition: transform 0.1s ease;
}

.mobile-stock-card:active[b-rwyeu05lbu] {
    transform: scale(0.98);
}

.card-top[b-rwyeu05lbu] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 8px;
}

.card-symbol[b-rwyeu05lbu] {
    font-size: 18px;
    font-weight: 700;
    color: var(--accent-gold);
}

.card-name[b-rwyeu05lbu] {
    font-size: 14px;
    color: var(--text-secondary);
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.card-price-block[b-rwyeu05lbu] {
    text-align: right;
}

.card-price[b-rwyeu05lbu] {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
}

.card-change[b-rwyeu05lbu] {
    font-size: 14px;
    font-weight: 500;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}

.card-change.positive[b-rwyeu05lbu] {
    color: var(--positive);
}

.card-change.negative[b-rwyeu05lbu] {
    color: var(--negative);
}

.change-ic[b-rwyeu05lbu] {
    width: 12px;
    height: 12px;
}

.card-details[b-rwyeu05lbu] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    border-top: 1px solid var(--border);
    padding-top: 12px;
    margin-top: 8px;
}

.detail-right[b-rwyeu05lbu] {
    text-align: right;
}

.detail-label[b-rwyeu05lbu] {
    font-size: 12px;
    color: var(--text-secondary);
}

.detail-value[b-rwyeu05lbu] {
    font-size: 14px;
    color: var(--text-primary);
}

.card-actions[b-rwyeu05lbu] {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
    padding-top: 8px;
    border-top: 1px dashed var(--border);
}

.card-delete-btn[b-rwyeu05lbu] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px;
    font-size: 12px;
    color: var(--text-secondary);
    background: none;
    border: none;
    cursor: pointer;
    transition: color 0.15s ease;
}

.card-delete-btn:hover[b-rwyeu05lbu] {
    color: var(--negative);
}

.trash-sm[b-rwyeu05lbu] {
    width: 16px;
    height: 16px;
}

.mobile-empty[b-rwyeu05lbu] {
    text-align: center;
    color: var(--text-secondary);
    padding: 40px 16px;
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 12px;
}

/* Confirm Dialog */
.confirm-backdrop[b-rwyeu05lbu] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.80);
    backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    padding: 16px;
}

.confirm-dialog[b-rwyeu05lbu] {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 24px;
    max-width: 400px;
    width: 100%;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
}

.confirm-title[b-rwyeu05lbu] {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary);
}

.confirm-desc[b-rwyeu05lbu] {
    margin: 0 0 24px 0;
    font-size: 14px;
    color: var(--text-secondary);
}

.confirm-buttons[b-rwyeu05lbu] {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.confirm-cancel[b-rwyeu05lbu] {
    padding: 8px 16px;
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 14px;
    cursor: pointer;
    transition: background 0.15s ease;
}

.confirm-cancel:hover[b-rwyeu05lbu] {
    background: rgba(255, 255, 255, 0.06);
}

.confirm-remove[b-rwyeu05lbu] {
    padding: 8px 16px;
    background: #dc2626;
    border: none;
    border-radius: 8px;
    color: white;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.15s ease;
}

.confirm-remove:hover[b-rwyeu05lbu] {
    background: #b91c1c;
}

/* Responsive */
@media (min-width: 768px) {
    .desktop-table[b-rwyeu05lbu] {
        display: block;
    }

    .mobile-cards[b-rwyeu05lbu] {
        display: none;
    }
}
