.content.px-4 {
    padding: 0 !important;
}

.btfp-shell-top-row {
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden;
}

.btfp-terminal {
    min-height: 100vh;
    margin: -24px;
    padding: 22px 24px 30px;
    color: #e8f1ff;
    background: transparent;
}

.btfp-action-strip {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    padding: 10px 12px;
    background: rgba(5, 13, 26, .58);
    border: 1px solid rgba(96, 165, 250, .10);
    border-radius: 16px;
    backdrop-filter: blur(12px);
}

.btfp-brand-chip {
    color: #93c5fd;
    font-weight: 800;
    font-size: 13px;
    letter-spacing: .04em;
}

.btfp-action-right {
    display: flex;
    align-items: center;
    gap: 10px;
}

.btfp-icon-btn {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: rgba(15, 23, 42, .65);
    border: 1px solid rgba(148, 163, 184, .12);
    color: #fff;
    cursor: pointer;
    position: relative;
}
.btfp-icon-btn em{position:absolute;right:-5px;top:-6px;min-width:17px;padding:2px 4px;border-radius:9px;background:#ef4444;color:#fff;font-size:9px;font-style:normal}

.btfp-user-pill {
    display: flex;
    align-items: center;
    gap: 9px;
    border-radius: 14px;
    background: rgba(15, 23, 42, .72);
    border: 1px solid rgba(148, 163, 184, .12);
    padding: 6px 10px;
    color:inherit;text-decoration:none;cursor:pointer;
}
.btfp-action-right{position:relative}.btfp-user-menu{position:absolute;right:0;top:52px;z-index:100;width:210px;padding:8px;border:1px solid #29415f;border-radius:12px;background:#081426;box-shadow:0 20px 50px #000}.btfp-user-menu a,.btfp-user-menu button{display:block;width:100%;padding:10px;border:0;background:transparent;color:#dce8f8;text-align:left;text-decoration:none}.btfp-user-menu a:hover,.btfp-user-menu button:hover{background:#10233e;border-radius:8px}

html[data-theme="light"] body{background:#eaf0f8;color:#172033}html[data-theme="light"] .page,html[data-theme="light"] .btfp-main-shell{background:#eef3f9}html[data-theme="light"] .btfp-action-strip,html[data-theme="light"] .report-hub>header,html[data-theme="light"] .report-meta,html[data-theme="light"] .report-kpis,html[data-theme="light"] .report-section,html[data-theme="light"] .report-columns>article,html[data-theme="light"] .workspace-hub>header,html[data-theme="light"] .workspace-summary,html[data-theme="light"] .workspace-grid>button,html[data-theme="light"] .settings-hub>header,html[data-theme="light"] .settings-hub>section,html[data-theme="light"] .settings-hub>footer{background:#fff;color:#172033}

.btfp-user-pill > span {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #1d4ed8;
    display: grid;
    place-items: center;
    font-weight: 800;
}

.btfp-user-pill strong {
    display: block;
    color: #fff;
    font-size: 13px;
}

.btfp-user-pill small {
    display: block;
    color: #91a5bf;
    font-size: 11px;
}

.btfp-terminal-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}

.btfp-terminal-topbar h1 {
    color: #fff;
    font-size: 22px;
    font-weight: 850;
    margin: 0;
    letter-spacing: .04em;
}

.btfp-terminal-topbar span {
    color: #91a5bf;
    font-size: 13px;
}

.btfp-market-strip {
    display: flex;
    align-items: center;
    gap: 10px;
    background: linear-gradient(90deg, rgba(22, 163, 74, .16), rgba(15, 23, 42, .78));
    border: 1px solid rgba(34, 197, 94, .24);
    color: #bbf7d0;
    border-radius: 999px;
    padding: 8px 14px;
    box-shadow: 0 0 24px rgba(34, 197, 94, .08);
    font-size: 13px;
}

.btfp-market-dot {
    width: 8px;
    height: 8px;
    background: #22c55e;
    border-radius: 50%;
    display: inline-block;
    box-shadow: 0 0 10px rgba(34, 197, 94, .85);
}

.btfp-market-strip.closed {
    color: #cbd5e1;
    border-color: rgba(148, 163, 184, .24);
    background: linear-gradient(90deg, rgba(71, 85, 105, .18), rgba(15, 23, 42, .78));
    box-shadow: none;
}

.btfp-market-strip.closed .btfp-market-dot {
    background: #64748b;
    box-shadow: none;
}

.btfp-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.btfp-terminal-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 14px;
    align-items: stretch;
}

.btfp-terminal-grid > .panel { grid-column: span 4; }
.btfp-terminal-grid > .panel-large { grid-column: span 8; }

.dashboard-health-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: 14px;
    overflow: hidden;
    border: 1px solid rgba(96,165,250,.16);
    border-radius: 14px;
    background: rgba(7,20,38,.92);
}

.dashboard-health-strip > div { padding: 13px 16px; border-right: 1px solid rgba(148,163,184,.12); }
.dashboard-health-strip > div:last-child { border-right: 0; }
.dashboard-health-strip span,.dashboard-health-strip small { display:block; color:#8195b0; font-size:10px; }
.dashboard-health-strip strong { display:block; margin:4px 0 2px; color:#f1f6ff; font-size:18px; }

.btfp-kpi-card,
.btfp-terminal .panel {
    background: linear-gradient(180deg, rgba(12,29,52,.96), rgba(5,15,29,.97));
    border: 1px solid rgba(96,165,250,.16);
    border-radius: 16px;
    box-shadow: 0 18px 45px rgba(0,0,0,.32);
}

.btfp-kpi-card {
    min-height: 145px;
    padding: 18px;
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 16px;
}

.btfp-kpi-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: rgba(37,99,235,.25);
    color: #60a5fa;
    font-size: 24px;
}

.btfp-kpi-title {
    color: #a9b8cb;
    font-size: 12px;
    font-weight: 800;
}

.btfp-kpi-value {
    color: #fff;
    font-size: 25px;
    font-weight: 850;
    margin-top: 8px;
}

.btfp-kpi-subtitle {
    color: #91a5bf;
    font-size: 13px;
    margin-top: 5px;
}

.btfp-kpi-card.green .btfp-kpi-value {
    color: #22c55e;
}

.btfp-kpi-card.cyan .btfp-kpi-value {
    color: #22d3ee;
}

.btfp-kpi-card.purple .btfp-kpi-value {
    color: #c084fc;
}

.btfp-terminal .panel {
    padding: 16px;
    min-height: 230px;
}

.btfp-terminal .panel-large {
    min-height: 360px;
}

.btfp-terminal .panel-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgba(148,163,184,.12);
    padding-bottom: 10px;
    margin-bottom: 12px;
}

.btfp-terminal .panel-title h3 {
    color: #fff;
    font-size: 15px;
    font-weight: 850;
    margin: 0;
}

.btfp-terminal .panel-title a {
    color: #60a5fa;
    text-decoration: none;
    font-size: 13px;
}

.dashboard-table {
    width: 100%;
    color: #dce8f8;
    font-size: 13px;
}

.dashboard-table th,
.dashboard-table td {
    padding: 9px 8px;
    border-bottom: 1px solid rgba(148,163,184,.10);
    white-space: nowrap;
}

.dashboard-table th {
    color: #8fa3bd;
}

.dashboard-table tr:hover {
    background: rgba(37, 99, 235, .08);
}

.avatar {
    display: inline-flex;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    margin-right: 8px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.positive {
    color: #22c55e !important;
}

.negative {
    color: #ef4444 !important;
}

.donut-wrap,
.fund-summary {
    display: flex;
    align-items: center;
    gap: 18px;
}

.donut,
.mini-donut {
    border-radius: 50%;
    background:
        radial-gradient(circle, #081323 0 47%, transparent 48%),
        conic-gradient(#2563eb 0 36%, #22c55e 36% 88%, #f97316 88% 100%);
}

.donut {
    width: 148px;
    height: 148px;
}

.mini-donut {
    width: 118px;
    height: 118px;
}

.legend {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 3px;
    margin-right: 8px;
}

.legend.blue { background: #2563eb; }
.legend.green { background: #22c55e; }
.legend.orange { background: #f97316; }

.placeholder-chart {
    min-height: 165px;
    padding: 18px;
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(37, 99, 235, .18), rgba(37, 99, 235, .03));
    border: 1px solid rgba(96, 165, 250, .12);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.placeholder-chart strong {
    color: #fff;
    font-size: 22px;
}

.placeholder-chart span,
.terminal-list span,
.notification-row small,
.empty-mini {
    color: #91a5bf;
    font-size: 13px;
}

.market-mini,
.ipo-grid {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.market-mini {
    grid-template-columns: repeat(4, 1fr);
}

.ipo-grid {
    grid-template-columns: repeat(3, 1fr);
}

.market-mini div,
.ipo-grid div {
    background: rgba(15, 23, 42, .55);
    border: 1px solid rgba(148, 163, 184, .10);
    border-radius: 10px;
    padding: 10px;
    color: #a9b8cb;
    font-size: 12px;
}

.ipo-grid strong {
    display: block;
    color: #fff;
    font-size: 22px;
}

.terminal-list div,
.notification-row {
    border-bottom: 1px solid rgba(148, 163, 184, .09);
    padding: 8px 0;
}

.terminal-list div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.empty-mini {
    min-height: 120px;
    border: 1px dashed rgba(148,163,184,.18);
    border-radius: 12px;
    display: grid;
    place-items: center;
    text-align: center;
}

.notification-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.notification-row strong {
    display: block;
    color: #fff;
    font-size: 13px;
}

.notif-dot {
    width: 10px;
    height: 10px;
    margin-top: 5px;
    border-radius: 999px;
    background: #3b82f6;
}

.notif-dot.danger { background: #ef4444; }
.notif-dot.warning { background: #f59e0b; }
.notif-dot.success { background: #22c55e; }

@media (max-width: 1280px) {
    .btfp-kpi-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .btfp-terminal-grid {
        grid-template-columns: 1fr;
    }

    .btfp-terminal-grid > .panel,
    .btfp-terminal-grid > .panel-large { grid-column: auto; }

    .dashboard-health-strip { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .btfp-terminal {
        margin: -16px;
        padding: 14px;
    }

    .btfp-kpi-grid {
        grid-template-columns: 1fr;
    }

    .market-mini,
    .ipo-grid {
        grid-template-columns: 1fr;
    }
}

.portfolio-name-cell {
    display: flex;
    align-items: center;
}

.portfolio-name-cell strong {
    display: block;
    color: #fff;
}

.portfolio-name-cell small {
    display: block;
    color: #91a5bf;
    font-size: 12px;
}

.status-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 12px;
    font-weight: 700;
}

.status-badge.success {
    color: #bbf7d0;
    background: rgba(34, 197, 94, .12);
    border: 1px solid rgba(34, 197, 94, .18);
}

.status-badge.danger {
    color: #fecaca;
    background: rgba(239, 68, 68, .12);
    border: 1px solid rgba(239, 68, 68, .18);
}

.allocation-card-body {
    display: grid;
    gap: 18px;
}

.allocation-summary strong {
    display: block;
    color: #fff;
    font-size: 18px;
}

.allocation-summary span {
    color: #91a5bf;
    font-size: 13px;
}

.allocation-list {
    display: grid;
    gap: 10px;
}

.allocation-list div {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid rgba(148,163,184,.08);
    padding-bottom: 8px;
}

.allocation-list span {
    color: #a9b8cb;
}

.allocation-list strong {
    color: #fff;
}

.watchlist-hero {
    min-height: 120px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}

.watchlist-hero div {
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(37, 99, 235, .20), rgba(15, 23, 42, .35));
    border: 1px solid rgba(96, 165, 250, .12);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 16px;
}

.watchlist-hero strong {
    color: #fff;
    font-size: 28px;
    line-height: 1;
}

.watchlist-hero span {
    color: #91a5bf;
    font-size: 13px;
    margin-top: 8px;
}

.market-mini small {
    display: block;
    font-size: 11px;
}

/* Dashboard left breathing space */
.btfp-terminal {
    margin: -24px -24px -24px -8px;
    padding: 22px 24px 30px 20px;
}

@media (max-width: 768px) {
    .btfp-terminal {
        margin: -16px;
        padding: 14px;
    }
}

.fund-overview-hero {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 14px;
}

.fund-overview-hero span {
    display: block;
    color: #91a5bf;
    font-size: 13px;
}

.fund-overview-hero strong {
    display: block;
    color: #fff;
    font-size: 25px;
    line-height: 1.15;
    margin-top: 5px;
}

.fund-overview-hero small {
    display: block;
    margin-top: 7px;
    font-size: 13px;
    font-weight: 700;
}

.fund-list {
    display: grid;
    gap: 8px;
}

.fund-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(148, 163, 184, .09);
}

.fund-row strong {
    display: block;
    color: #fff;
    font-size: 13px;
}

.fund-row small {
    display: block;
    color: #91a5bf;
    font-size: 12px;
    margin-top: 2px;
    max-width: 210px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fund-row-value {
    text-align: right;
    flex: 0 0 auto;
}

.ipo-overview-panel .ipo-grid {
    margin-bottom: 12px;
}

.ipo-stat-card {
    min-height: 88px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ipo-stat-card.active {
    border-color: rgba(34, 197, 94, .28);
    background: linear-gradient(180deg, rgba(34, 197, 94, .14), rgba(15, 23, 42, .42));
}

.ipo-placeholder-table {
    display: grid;
    gap: 8px;
}

.ipo-placeholder-header,
.ipo-placeholder-row {
    display: grid;
    grid-template-columns: 1.4fr 1fr .8fr .7fr;
    gap: 10px;
    align-items: center;
    font-size: 12px;
}

.ipo-placeholder-header {
    color: #91a5bf;
    padding: 6px 0;
    border-bottom: 1px solid rgba(148, 163, 184, .10);
}

.ipo-placeholder-row {
    color: #dce8f8;
    padding: 8px 0;
    border-bottom: 1px solid rgba(148, 163, 184, .08);
}

.status-badge.neutral {
    color: #bfdbfe;
    background: rgba(59, 130, 246, .12);
    border: 1px solid rgba(59, 130, 246, .18);
}

.notification-list {
    display: grid;
    gap: 8px;
}

.notification-card-row {
    display: grid;
    grid-template-columns: 12px 1fr auto;
    align-items: start;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(148, 163, 184, .09);
}

.notification-content strong {
    display: block;
    color: #fff;
    font-size: 13px;
}

.notification-content small {
    display: block;
    color: #91a5bf;
    font-size: 12px;
    margin-top: 2px;
    line-height: 1.35;
}

.notification-badge {
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 800;
}

.notification-badge.danger {
    color: #fecaca;
    background: rgba(239, 68, 68, .12);
    border: 1px solid rgba(239, 68, 68, .18);
}

.notification-badge.warning {
    color: #fde68a;
    background: rgba(245, 158, 11, .12);
    border: 1px solid rgba(245, 158, 11, .18);
}

.notification-badge.success {
    color: #bbf7d0;
    background: rgba(34, 197, 94, .12);
    border: 1px solid rgba(34, 197, 94, .18);
}

.notification-badge.info {
    color: #bfdbfe;
    background: rgba(59, 130, 246, .12);
    border: 1px solid rgba(59, 130, 246, .18);
}

.market-overview-hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 12px;
}

.market-main-stat,
.market-health-box {
    min-height: 110px;
    border-radius: 14px;
    padding: 16px;
    background:
        radial-gradient(circle at 20% 15%, rgba(59, 130, 246, .22), transparent 35%),
        linear-gradient(180deg, rgba(37, 99, 235, .16), rgba(15, 23, 42, .35));
    border: 1px solid rgba(96, 165, 250, .13);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.market-health-box {
    background:
        radial-gradient(circle at 20% 15%, rgba(34, 197, 94, .16), transparent 35%),
        linear-gradient(180deg, rgba(15, 23, 42, .55), rgba(15, 23, 42, .32));
}

.market-main-stat span,
.market-health-box span {
    color: #91a5bf;
    font-size: 12px;
}

.market-main-stat strong,
.market-health-box strong {
    color: #fff;
    font-size: 30px;
    line-height: 1;
    margin-top: 8px;
}

.market-main-stat small,
.market-health-box small {
    color: #91a5bf;
    font-size: 12px;
    margin-top: 8px;
}

.market-breadth {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 12px;
}

.market-breadth div {
    background: rgba(15, 23, 42, .48);
    border: 1px solid rgba(148, 163, 184, .10);
    border-radius: 10px;
    padding: 10px;
}

.market-breadth span {
    display: block;
    color: #91a5bf;
    font-size: 12px;
}

.market-breadth strong {
    display: block;
    color: #fff;
    font-size: 18px;
    margin-top: 4px;
}

.placeholder-metric-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 12px;
}

.placeholder-metric-grid div {
    border-radius: 12px;
    padding: 14px;
    background: rgba(15, 23, 42, .48);
    border: 1px solid rgba(148, 163, 184, .10);
}

.placeholder-metric-grid strong {
    display: block;
    color: #fff;
    font-size: 24px;
}

.placeholder-metric-grid span {
    display: block;
    color: #91a5bf;
    font-size: 12px;
    margin-top: 4px;
}

.calendar-summary-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-bottom:14px;
}

.calendar-summary-grid>div{
    padding:14px;
    border-radius:12px;
    background:rgba(15,23,42,.48);
    border:1px solid rgba(148,163,184,.10);
}

.calendar-summary-grid strong{
    display:block;
    color:#fff;
    font-size:24px;
}

.calendar-summary-grid span{
    display:block;
    margin-top:4px;
    color:#91a5bf;
    font-size:12px;
}

.calendar-list{
    display:grid;
    gap:10px;
}

.calendar-row{
    display:grid;
    grid-template-columns:78px 1fr;
    gap:12px;
    align-items:flex-start;
    padding:10px 0;
    border-bottom:1px solid rgba(148,163,184,.08);
}

.calendar-row:last-child{
    border-bottom:none;
}

.calendar-row strong{
    display:block;
    color:#fff;
    font-size:13px;
}

.calendar-row small{
    display:block;
    color:#91a5bf;
    margin-top:3px;
    line-height:1.35;
}

.calendar-tag{
    display:flex;
    align-items:center;
    justify-content:center;
    height:28px;
    border-radius:999px;
    font-size:11px;
    font-weight:700;
}

.calendar-tag.neutral{
    color:#bfdbfe;
    background:rgba(59,130,246,.12);
    border:1px solid rgba(59,130,246,.18);
}


.sidebar {
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, .20), transparent 36%),
        linear-gradient(180deg, #071426 0%, #020817 100%) !important;
    border-right: 1px solid rgba(96, 165, 250, .12);
}

.btfp-sidebar-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 18px 16px 14px;
    color: #fff;
}

.btfp-brand-logo {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    background: linear-gradient(135deg, #2563eb, #06b6d4);
    display: grid;
    place-items: center;
    font-weight: 900;
    box-shadow: 0 12px 30px rgba(37, 99, 235, .28);
}

.btfp-sidebar-brand strong {
    display: block;
    font-size: 14px;
    line-height: 1.1;
}

.btfp-sidebar-brand span {
    display: block;
    color: #91a5bf;
    font-size: 12px;
}

.btfp-nav {
    padding: 4px 10px 18px;
}

.btfp-nav-section {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin: 16px 8px 7px;
}

.btfp-nav-link {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 38px;
    padding: 8px 10px;
    margin: 3px 0;
    color: #cbd5e1;
    text-decoration: none;
    border-radius: 11px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid transparent;
}

.btfp-nav-link span {
    width: 22px;
    text-align: center;
}

.btfp-nav-link:hover {
    color: #fff;
    background: rgba(59, 130, 246, .12);
    border-color: rgba(96, 165, 250, .14);
}

.btfp-nav-link.active {
    color: #fff;
    background: linear-gradient(90deg, rgba(37, 99, 235, .35), rgba(14, 165, 233, .12));
    border-color: rgba(96, 165, 250, .24);
    box-shadow: inset 3px 0 0 #38bdf8;
}

.navbar-toggler {
    margin: 0 12px 10px;
}

/* Global application action bar */
.btfp-main-shell {
    min-height: 100vh;
    background:
        radial-gradient(circle at 20% 0%, rgba(30,64,175,.28), transparent 30%),
        radial-gradient(circle at 80% 16%, rgba(6,182,212,.12), transparent 28%),
        linear-gradient(135deg, #06111f 0%, #020817 100%);
}

.btfp-layout-action {
    padding: 22px 24px 0 20px;
}

.btfp-layout-action .btfp-action-strip {
    margin-bottom: 12px;
}

.btfp-terminal {
    margin: 0 -24px -24px -8px !important;
    padding: 0 24px 30px 20px !important;
}
