@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');

:root {
    --gs-body-bg: #f3f1e9;
    --gs-body-color: #091717;
    --gs-heading-color: #091717;
    --gs-muted: #65716d;
    --gs-surface: #ffffff;
    --gs-surface-alt: #eceae2;
    --gs-input-bg: #ffffff;
    --gs-border: #dcded8;
    --gs-border-strong: #b7b8af;
    --gs-nav-bg: #091717;
    --gs-icon-bar-bg: #091717;
    --gs-nav-link: #f8f5ee;
    --gs-nav-link-muted: #c9c2b6;
    --gs-nav-link-hover-bg: #e5b62f;
    --gs-accent: #e5b62f;
    --gs-accent-pink: #ac1273;
    --gs-accent-strong: #17352f;
    --gs-accent-soft: #f8e9b5;
    --gs-accent-contrast: #091717;
    --gs-table-head-bg: #091717;
    --gs-warning-bg: #fff3d5;
    --gs-warning-border: #e5b62f;
    --gs-positive: #138a52;
    --gs-negative: #c4362e;
    --gs-toggler-filter: invert(1);
    --gs-font-sans: "DM Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
    --gs-radius: .55rem;
    --gs-radius-sm: .35rem;
    --gs-focus: 0 0 0 .18rem rgba(229, 182, 47, .32);
}

body {
    background: linear-gradient(180deg, #f8f6ef 0, var(--gs-body-bg) 420px);
    color: var(--gs-body-color);
    font-family: var(--gs-font-sans);
    letter-spacing: -.012em;
    min-height: 100vh;
    padding-top: 78px;
}

body:has(.app-status-bar) { padding-top: 116px; }

.app-status-bar {
    align-items: center;
    background: var(--gs-surface);
    border-bottom: 1px solid var(--gs-border);
    color: var(--gs-body-color);
    display: flex;
    font-size: .76rem;
    gap: 1.25rem;
    left: 0;
    min-height: 38px;
    overflow-x: auto;
    padding: .45rem max(1rem, calc((100vw - 1320px) / 2));
    position: fixed;
    right: 0;
    top: 64px;
    white-space: nowrap;
    z-index: 1029;
}
.app-status-bar a { color: inherit; font-weight: 700; margin-left: auto; }
.status-label { color: var(--gs-muted); margin-right: .2rem; }
.status-dot { background: var(--gs-positive); border-radius: 50%; display: inline-block; height: .55rem; margin-right: .2rem; width: .55rem; }
.navbar .nav-link.active { background: var(--gs-accent); color: #111; }
.recommendation-history-link { font-size: .85rem; font-weight: 700; white-space: nowrap; }
.recommendation-origin { border-left: 4px solid var(--gs-accent); }

@media (max-width: 991.98px) {
    .app-status-bar { gap: 1rem; padding-inline: .75rem; }
    .app-status-bar a { margin-left: 0; }
}

.iconbar {
    background: var(--gs-icon-bar-bg);
    margin: 0 .02rem;
    padding: .42rem .68rem;
}

.navbar {
    min-height: 64px;
    background: var(--gs-nav-bg);
    border-bottom: 4px solid var(--gs-accent);
    box-shadow: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    transform: translateY(-100%);
    transition: transform .28s ease-in-out;
    z-index: 1030;
}

.navbar.navbar-visible { transform: translateY(0); }
.navbar-brand { font-weight: 800; letter-spacing: -.04em; }
.navbar-brand img { height: 52px; width: auto; }
.navbar a, .navbar .nav-link { color: var(--gs-nav-link); }
.navbar .nav-link {
    border-radius: var(--gs-radius-sm);
    font-size: .84rem;
    font-weight: 800;
    letter-spacing: .01em;
    margin: 0 .02rem;
    padding: .42rem .68rem;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color .14s ease, color .14s ease;
}
.navbar .nav-link:hover, .navbar .nav-link:focus {
    background: var(--gs-nav-link-hover-bg);
    color: #111111;
}
.navbar-toggler { border: 1px solid #e5b62f; border-radius: var(--gs-radius-sm); padding: .35rem .5rem; }
.navbar-toggler:focus { box-shadow: var(--gs-focus); }
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23f4c430' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    filter: none;
}

.dropdown-menu {
    background: var(--gs-surface);
    border: 1px solid var(--gs-border);
    border-top: 3px solid var(--gs-accent);
    border-radius: var(--gs-radius-sm);
    box-shadow: 0 16px 40px rgba(17, 17, 17, .10);
    padding: .35rem;
}
.dropdown-item { border-radius: .25rem; color: var(--gs-body-color); font-size: .9rem; font-weight: 700; padding: .48rem .65rem; }
.navbar .dropdown-menu .dropdown-item { color: var(--gs-body-color); }
.dropdown-item:hover, .dropdown-item:focus,
.navbar .dropdown-menu .dropdown-item:hover, .navbar .dropdown-menu .dropdown-item:focus { background: var(--gs-accent); color: #111111; }
.main-content > .container { max-width: 1160px; }

.page-hero-image {
    align-items: center;
    background: linear-gradient(135deg, rgba(244, 196, 48, .18), rgba(255, 255, 255, .92));
    border: 1px solid var(--gs-border);
    border-radius: var(--gs-radius);
    display: flex;
    justify-content: center;
    margin: 0 0 1.5rem;
    min-height: 180px;
    overflow: hidden;
    padding: 1.25rem;
}

.page-hero-image img {
    border-radius: calc(var(--gs-radius) - .15rem);
    display: block;
    height: 180px;
    max-width: 100%;
    object-fit: contain;
    width: auto;
}


.card, .modal-content, .list-group-item, .ticker-detail-field {
    background: var(--gs-surface);
    border: 1px solid var(--gs-border);
    border-radius: var(--gs-radius);
    box-shadow: none !important;
    color: var(--gs-body-color);
}
.card { border-top: 3px solid var(--gs-accent); }
.card-header, .card-footer { background: #fffaf0; border-color: var(--gs-border); color: var(--gs-heading-color); }
.card-body { background: transparent; color: inherit; padding: 1rem; }
.card-title { font-size: 1.12rem; font-weight: 800; }

h1, h2, h3, h4, h5, h6, .modal-title {
    color: var(--gs-heading-color) !important;
    font-family: var(--gs-font-sans);
    font-weight: 800;
    letter-spacing: -.045em;
}
h1, .h1 { font-size: clamp(2rem, 4vw, 3.6rem); }
h2, .h2 { font-size: clamp(1.55rem, 2.7vw, 2.35rem); }
.mb-4, .mb-3, .mb-2 { color: inherit; }
a { color: #111111; text-decoration-color: var(--gs-accent); text-decoration-thickness: .14em; text-underline-offset: .18em; }
a:hover { color: #000000; text-decoration-color: #000000; }

.btn {
    border-radius: var(--gs-radius-sm);
    font-size: .9rem;
    font-weight: 800;
    letter-spacing: .005em;
    padding: .5rem .85rem;
    box-shadow: none !important;
    transition: background-color .14s ease, border-color .14s ease, color .14s ease, transform .14s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary, .btn-success, .btn-fill {
    background: var(--gs-accent);
    border-color: var(--gs-accent);
    color: var(--gs-accent-contrast) !important;
}
.btn-primary:hover, .btn-success:hover, .btn-fill:hover {
    background: #111111;
    border-color: #111111;
    color: #ffffff !important;
}
.btn-back, .btn-outline-primary, .btn-selected, .btn-outline-light {
    background: transparent;
    border-color: var(--gs-border-strong);
    color: #111111;
}
.btn-back:hover, .btn-outline-primary:hover, .btn-selected:hover, .btn-outline-light:hover {
    background: var(--gs-accent);
    border-color: var(--gs-accent);
    color: #111111;
}

.form-control, .form-select {
    background-color: var(--gs-input-bg);
    border: 1px solid var(--gs-border-strong);
    border-radius: var(--gs-radius-sm);
    color: var(--gs-body-color);
    min-height: 2.45rem;
}
.form-control:focus, .form-select:focus { border-color: var(--gs-accent); box-shadow: var(--gs-focus); }
.form-label, .ticker-detail-field-label { color: var(--gs-muted); font-size: .78rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.user-admin-page label,
.user-admin-page .form-label,
.user-admin-page .form-check-label { color: #000000 !important; }

.table, table.dataTable { color: var(--gs-body-color) !important; font-size: .92rem; }
.table > :not(caption) > * > *, table.dataTable td, table.dataTable th {
    background-color: transparent;
    border-bottom-color: var(--gs-border);
    color: var(--gs-body-color) !important;
    padding: .62rem .75rem;
}
table.dataTable thead th, .table thead th {
    background: var(--gs-table-head-bg) !important;
    color: var(--gs-accent) !important;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.table-row-link { cursor: pointer; }
.table-row-link > * { transition: background-color .15s ease; }
.table-row-link:is(:hover, :focus-visible) > * { background: var(--gs-surface-alt) !important; }
.table-row-link:focus-visible { outline: 2px solid var(--gs-accent); outline-offset: -2px; }
.dataTables_wrapper .dataTables_paginate .paginate_button, .pagination .page-link {
    background: var(--gs-surface) !important;
    border: 1px solid var(--gs-border) !important;
    border-radius: var(--gs-radius-sm);
    color: var(--gs-body-color) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover,
.pagination .page-item.active .page-link,
.pagination .page-link:hover {
    background: var(--gs-accent) !important;
    border-color: var(--gs-accent) !important;
    color: #111111 !important;
}
.alert-warning, .alert-info { background: var(--gs-warning-bg); border-color: var(--gs-warning-border); color: var(--gs-body-color); }
.badge.text-bg-secondary { background-color: #111111 !important; color: var(--gs-accent) !important; }
.text-green, .text-success { color: var(--gs-positive) !important; }
.text-red, .text-danger { color: var(--gs-negative) !important; }
.text-tab, .text-main, .text-br { color: #111111 !important; }
.text-ticker { color: var(--gs-heading-color) !important; }
.text-white { color: var(--gs-body-color) !important; }
.past-trades-report.text-white { color: var(--gs-body-color) !important; }
.past-trades-report h1, .past-trades-report h2, .past-trades-report h3 { color: var(--gs-heading-color) !important; }
.past-trades-report .card .text-white { color: var(--gs-muted) !important; }
.past-trades-report table.text-white, .past-trades-report table .text-white { color: var(--gs-body-color) !important; }
.nav-tabs { border-bottom-color: var(--gs-border-strong); gap: .35rem; }
.nav-tabs .nav-link { border: 1px solid transparent; border-radius: var(--gs-radius-sm) var(--gs-radius-sm) 0 0; color: var(--gs-muted); font-weight: 800; }
.nav-tabs .nav-link.active { background: #111111; border-color: #111111; color: var(--gs-accent); }
hr { border-color: var(--gs-border); opacity: 1; }
.disclaimer-copy { font-size: .95rem; line-height: 1.7; max-height: 70vh; }
.login-container { width: 100%; }
@media (min-width: 768px) { .login-container { width: min(400px, 40%); } }
@media (max-width: 991.98px) {
    .navbar-collapse {
        background: #111111;
        border: 1px solid rgba(244, 196, 48, .4);
        border-radius: var(--gs-radius);
        margin-top: .6rem;
        max-height: calc(100vh - 88px);
        overflow-y: auto;
        padding: .6rem;
    }
}

/* Mobile-first table and layout adjustments */
.table-responsive {
    border-radius: var(--gs-radius);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.dataTables_wrapper { width: 100%; }
.dataTables_wrapper .row { row-gap: .75rem; }
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate { width: 100%; }
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label { width: 100%; }
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select { max-width: 100%; }

@media (max-width: 767.98px) {
    .table,
    table.dataTable,
    .table td,
    .table th,
    table.dataTable td,
    table.dataTable th {
        font-size: 1.05rem;
        font-weight: 700;
    }

    body {
        padding-top: 82px;
    }

    .navbar {
        min-height: 68px;
    }

    .navbar-brand img {
        height: 52px;
    }

    .main-content > .container,
    .container,
    .container-fluid {
        padding-left: .85rem;
        padding-right: .85rem;
    }

    h1, .h1 { font-size: clamp(1.75rem, 8vw, 2.35rem); }
    h2, .h2 { font-size: clamp(1.45rem, 6vw, 1.85rem); }
    h3, .h3 { font-size: clamp(1.2rem, 5vw, 1.5rem); }

    .card-body,
    .modal-body {
        padding: 1rem;
    }

    .btn {
        min-height: 2.75rem;
        white-space: normal;
    }

    .btn-sm {
        min-height: 2.25rem;
    }

    .table-responsive {
        overflow-x: visible;
    }

    table.responsive-card-table,
    table.responsive-card-table thead,
    table.responsive-card-table tbody,
    table.responsive-card-table tfoot,
    table.responsive-card-table tr,
    table.responsive-card-table th,
    table.responsive-card-table td {
        display: block;
        width: 100% !important;
    }

    table.responsive-card-table {
        border-collapse: separate !important;
        border-spacing: 0 .85rem !important;
    }

    table.responsive-card-table thead,
    table.responsive-card-table tfoot {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        white-space: nowrap;
        width: 1px !important;
    }

    table.responsive-card-table tbody tr {
        background: var(--gs-surface);
        border: 2px solid var(--gs-border-strong);
        border-radius: var(--gs-radius);
        box-shadow: none;
        margin-bottom: .85rem;
        overflow: hidden;
        padding: .35rem;
    }

    table.responsive-card-table tbody td,
    table.responsive-card-table tbody th {
        align-items: center;
        border-bottom: 1px solid var(--gs-border) !important;
        display: flex !important;
        flex-direction: column;
        gap: .35rem;
        justify-content: center;
        overflow-wrap: anywhere;
        padding: .75rem 1rem !important;
        text-align: center !important;
        white-space: normal !important;
        word-break: break-word;
    }

    table.responsive-card-table tbody tr > :last-child {
        border-bottom: 0 !important;
    }

    table.responsive-card-table tbody td::before,
    table.responsive-card-table tbody th::before {
        color: var(--gs-accent);
        content: attr(data-label);
        flex: 0 0 auto;
        font-size: .72rem;
        font-weight: 800;
        letter-spacing: .06em;
        text-align: center;
        text-transform: uppercase;
    }

    table.responsive-card-table tbody td:empty::after {
        content: '—';
    }

    table.responsive-card-table .text-nowrap {
        white-space: normal !important;
    }

    table.responsive-card-table .form-control,
    table.responsive-card-table .form-select,
    table.responsive-card-table .btn {
        width: 100%;
    }

    table.responsive-card-table .d-inline {
        display: block !important;
        margin-top: .5rem;
    }

    .dataTables_wrapper .row > [class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
        text-align: left !important;
    }

    .dataTables_wrapper .dataTables_paginate .pagination {
        flex-wrap: wrap;
        gap: .35rem;
        justify-content: flex-start !important;
    }
}


/* Outperformance chart layout */
.outperformance-page {
    margin-left: auto;
    margin-right: auto;
    max-width: 80%;
}

.outperformance-page .chart-card {
    width: 100%;
}

.outperformance-page .kpi-card .text-light {
    color: var(--gs-body-color) !important;
}

.outperformance-chart-viewport {
    height: clamp(18rem, calc(80vh - 16rem), 38rem);
    max-height: 80%;
    min-height: 18rem;
    width: 100%;
}

.outperformance-chart-viewport canvas {
    cursor: grab;
    display: block;
    height: 100% !important;
    width: 100% !important;
}

.outperformance-chart-viewport canvas.is-dragging {
    cursor: grabbing;
}

@media (max-width: 767.98px) {
    .outperformance-page {
        max-width: 100%;
    }

    .outperformance-chart-viewport {
        height: 50vh;
        min-height: 18rem;
    }
}

/* Dashboard KPI cards */
.dashboard-kpis .text-white {
    color: var(--gs-body-color) !important;
}

.dashboard-kpi-card {
    display: block;
}

.dashboard-kpi-card[href],
.dashboard-kpi-card.is-interactive {
    cursor: pointer;
    transition: background-color .14s ease, border-color .14s ease, box-shadow .14s ease, transform .14s ease;
}

.dashboard-kpi-card[href]:hover,
.dashboard-kpi-card.is-interactive:hover {
    background-color: #fff9c4;
    border-color: var(--gs-accent);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    transform: translateY(-2px);
}

.dashboard-kpi-card[href]:focus-visible,
.dashboard-kpi-card.is-interactive:focus-visible {
    box-shadow: var(--gs-focus);
    outline: 0;
}

.dashboard-kpi-icon {
    align-items: center;
    border: 1px solid var(--gs-border);
    border-radius: var(--gs-radius-sm);
    display: inline-flex;
    flex: 0 0 3rem;
    height: 3rem;
    justify-content: center;
    overflow: hidden;
    width: 3rem;
}

.dashboard-kpi-icon img {
    height: 2rem;
    object-fit: contain;
    width: 2rem;
}

.dashboard-combined-kpi-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dashboard-combined-kpi-item {
    border-left: 1px solid var(--gs-border);
    padding-left: 1rem;
}

.dashboard-tier-heading {
    align-items: center;
    display: flex;
    gap: .5rem;
}

.dashboard-tier-link-image {
    height: 3rem;
    object-fit: contain;
    width: 3rem;
}

.dashboard-kpis .dashboard-kpi-card,
.dashboard-kpis .dashboard-kpi-label,
.dashboard-kpis .dashboard-section-heading,
.dashboard-kpis .dashboard-starting-principal {
    color: #000 !important;
    font-weight: bold;
}

@media (max-width: 767.98px) {
    .dashboard-combined-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.dashboard-kpi-icon-big img {
    height: 4rem;
    object-fit: contain;
    width: 6rem;
    align-items: left;
}


.dashboard-performance-chart {
    width: 100%;
}

.dashboard-performance-chart-frame {
    border: 1px solid var(--gs-border);
    border-radius: var(--gs-radius-sm);
    display: block;
    line-height: 0;
    overflow: hidden;
    width: 100%;
}

.dashboard-performance-chart-frame:hover {
    border-color: var(--gs-accent);
}

.dashboard-performance-chart-frame img {
    display: block;
    height: auto;
    width: 100%;
}

/* FAQ page */
.faq-page .faq-hero-card {
    border-top-color: var(--gs-accent);
}

.faq-page .lead {
    color: var(--gs-muted);
}

.faq-accordion {
    display: grid;
    gap: .85rem;
}

.faq-accordion .accordion-item {
    background: var(--gs-surface);
    border: 1px solid var(--gs-border);
    border-radius: var(--gs-radius);
    color: var(--gs-body-color);
    overflow: hidden;
}

.faq-accordion .accordion-button {
    background: var(--gs-surface);
    color: var(--gs-heading-color);
    font-weight: 800;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
}

.faq-accordion .accordion-button:not(.collapsed) {
    background: var(--gs-accent-soft);
    box-shadow: inset 0 -1px 0 var(--gs-border);
    color: var(--gs-heading-color);
}

.faq-accordion .accordion-button:focus {
    border-color: var(--gs-accent);
    box-shadow: var(--gs-focus);
}

.faq-accordion .accordion-button::after {
    background-color: var(--gs-accent);
    border-radius: 999px;
    background-size: .85rem;
    padding: .85rem;
}

.faq-accordion .accordion-body {
    background: var(--gs-surface);
    color: var(--gs-body-color);
    line-height: 1.7;
    padding: 1.25rem;
}

.faq-accordion strong {
    color: var(--gs-heading-color);
}

/* Performance analytics */
.performance-page{max-width:1440px;margin:auto}.performance-header,.chart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.performance-eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.14em;color:#4c722e}.performance-card{border:1px solid #dde3d8;border-radius:1rem;background:#fff}.result-badges{display:flex;gap:.5rem;flex-wrap:wrap}.result-badge{border:1px solid currentColor}.result-backtested{color:#8a5b00;background:#fff8df}.result-live{color:#3f681f;background:#f1f8e9}.period-facts{display:flex;gap:2rem}.period-facts div{display:flex;flex-direction:column}.period-facts span,.metric-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.metric-card strong{display:block;font-size:1.45rem;margin:.25rem 0}.metric-card small{color:#6b7280}.performance-chart{height:390px}.drawdown-chart{height:220px}.methodology-panel{position:sticky;top:1rem}.methodology-list>div{padding:.7rem 0;border-top:1px solid #e5e7eb}.methodology-list dt{font-size:.82rem}.methodology-list dd{font-size:.78rem;color:#5f6872;margin:.2rem 0 0;line-height:1.45}.methodology-note{border-left:3px solid #d69e2e;background:#fff9e8;padding:.8rem;font-size:.78rem}.record-track{display:flex;align-items:stretch;gap:.5rem}.record-segment{flex:1;border-radius:.6rem;padding:.8rem;background:#f5f7f2}.record-segment span{display:block;font-size:.72rem;color:#667085}.record-divider{display:flex;align-items:center;border-left:2px dashed #d69e2e}.record-divider span{font-size:.65rem;color:#8a5b00;writing-mode:vertical-rl}@media(max-width:991px){.metric-grid{grid-template-columns:repeat(2,1fr)}.methodology-panel{position:static}}@media(max-width:575px){.performance-header,.chart-heading{flex-direction:column}.metric-grid{grid-template-columns:1fr}.period-facts{gap:1rem}.record-track{flex-direction:column}.record-divider{border-left:0;border-top:2px dashed #d69e2e}.record-divider span{writing-mode:horizontal-tb}.performance-chart{height:300px}}
/* Authenticated Today’s Actions dashboard */
.actions-dashboard { max-width: 1180px; margin: 0 auto; padding-bottom: 2rem; }
.page-hero { align-items:flex-end; display:flex; gap:2rem; justify-content:space-between; }
.page-hero__eyebrow { color:var(--gs-accent); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.page-hero__title { align-items:center; display:flex; font-size:1rem; font-weight:500; line-height:1.2; }
.page-hero__image,
.page-heading-image { border:1px solid var(--gs-border); border-radius:var(--gs-radius-sm); display:inline-block; flex:0 0 auto; height:6.35rem; margin-right:.75rem; object-fit:contain; padding:.2rem; vertical-align:middle; width:6.35rem; }
.page-hero__intro,
.actions-intro { color:var(--gs-muted); font-size:1.05rem; }
.page-hero__actions { align-items:flex-end; display:flex; flex-direction:column; }
.page-hero__metadata { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; margin-top:1rem; }
.page-hero__metadata div { display:flex; gap:.4rem; }
.page-hero__metadata dt { color:var(--gs-muted); font-weight:500; }
.page-hero__metadata dd { margin:0; }
.tier-control { align-items:flex-end; display:flex; flex-direction:column; gap:.5rem; }
.tier-label { background:#151b2b; border:1px solid #313b55; border-radius:999px; color:#fff; font-size:.8rem; font-weight:800; letter-spacing:.08em; padding:.65rem 1rem; text-transform:uppercase; white-space:nowrap; }
.actions-module { background:var(--gs-surface); border:1px solid var(--gs-border); border-radius:1.25rem; box-shadow:0 20px 45px rgba(20,30,55,.08); overflow:hidden; }
.page-facts { background:#151b2b; color:#fff; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0 0 1.5rem; padding:0; }
.actions-module > .page-facts { margin-bottom:0; }
.page-facts__item { border-right:1px solid #30394e; display:flex; flex-direction:column; gap:.35rem; min-height:86px; padding:1.15rem 1.35rem; }
.page-facts__item:nth-child(4n),.page-facts__item:last-child { border-right:0; }
.page-facts__label { color:#f0bb4d; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.page-facts__value { color:#fff; font-size:.9rem; font-weight:700; margin:0; }
.page-facts__value .bi-check-circle-fill { color:#5bd39b; margin-right:.25rem; }
.page-facts__value--status { align-items:center; display:flex; gap:.5rem; }
.page-facts__status-indicator { background:#5bd39b; border-radius:50%; box-shadow:0 0 0 4px rgba(91,211,155,.15); flex:0 0 auto; height:8px; width:8px; }
.recommendation-status { align-items:center; display:flex; gap:.5rem; }
.recommendation-status i { background:#5bd39b; border-radius:50%; box-shadow:0 0 0 4px rgba(91,211,155,.15); height:8px; width:8px; }
.status-delayed i,.status-waiting-for-market-close i,.status-calculating i { background:#f0bb4d; }.status-unavailable i { background:#ef6b72; }
.execution-notice { align-items:center; background:#fff9e8; border-bottom:1px solid #f0dfaa; color:#443b22; display:flex; gap:.85rem; padding:1rem 1.35rem; }
.execution-notice > i { color:#b07b00; font-size:1.25rem; }.execution-notice span { color:#665f4d; }
.action-sections { display:grid; gap:0; }
.action-group { padding:1.6rem; }.action-group + .action-group { border-top:1px solid var(--gs-border); }
.action-group-header { align-items:center; display:grid; gap:1rem; grid-template-columns:auto 1fr auto; margin-bottom:1rem; }
.action-icon { align-items:center; background:#e8f7ef; border-radius:.65rem; color:#178a57; display:flex; height:42px; justify-content:center; width:42px; }
.action-exit .action-icon { background:#fff0ef; color:#c94f53; }.action-hold .action-icon { background:#eef1f6; color:#5b6575; }
.action-group h3 { font-size:1.05rem; font-weight:800; margin:0; }.action-group p { color:var(--gs-muted); font-size:.82rem; margin:2px 0 0; }
.action-count { align-items:center; background:var(--gs-surface-soft,#f3f4f6); border-radius:999px; display:flex; font-size:.8rem; font-weight:800; height:28px; justify-content:center; min-width:28px; }
.action-list { border:1px solid var(--gs-border); border-radius:.8rem; overflow:hidden; }
.action-row { align-items:center; display:grid; gap:1rem; grid-template-columns:minmax(130px,1.5fr) 1fr 1fr auto; padding:1rem 1.1rem; }.action-row + .action-row { border-top:1px solid var(--gs-border); }
.action-row > div:first-child { align-items:center; display:flex; gap:.65rem; }.ticker { color:var(--gs-heading-color); font-size:1.08rem; }.position-type { border:1px solid var(--gs-border); border-radius:999px; color:var(--gs-muted); font-size:.68rem; padding:.15rem .5rem; text-transform:uppercase; }
.action-detail { display:flex; flex-direction:column; }.action-detail span { color:var(--gs-muted); font-size:.68rem; text-transform:uppercase; }.action-detail strong { color:var(--gs-heading-color); font-size:.9rem; }
.action-link { color:var(--gs-muted); padding:.5rem; }.action-empty { align-items:center; color:var(--gs-muted); display:flex; gap:.65rem; padding:1.15rem; }.action-empty i { color:#35a36d; }
.section-heading-row { align-items:end; display:flex; justify-content:space-between; margin-bottom:1rem; }.section-heading-row h2 { font-size:1.6rem; font-weight:800; margin:0; }.section-heading-row a { font-size:.85rem; font-weight:700; }
.performance-tier-group + .performance-tier-group { margin-top:1.5rem; }.performance-tier-group h3 { font-size:1rem; font-weight:800; margin:0 0 .75rem; }.performance-kpi-grid { display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }.performance-card,.performance-chart-card { background:var(--gs-surface); border:1px solid var(--gs-border); border-radius:1rem; overflow:hidden; }.performance-card { color:inherit; display:flex; flex-direction:column; padding:1.25rem; }.performance-card span { color:var(--gs-muted); font-size:.75rem; font-weight:700; text-transform:uppercase; }.performance-card strong { font-size:2rem; margin:.6rem 0 .1rem; }.performance-card small { color:var(--gs-muted); }.performance-card .positive { color:#178a57; }.performance-card .negative { color:#c94f53; }.performance-card .neutral { color:#000; }.performance-card[href] { transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease; }.performance-card[href]:hover { border-color:var(--gs-accent); box-shadow:0 8px 20px rgba(9,23,23,.1); transform:translateY(-2px); }.performance-card[href]:focus-visible { box-shadow:var(--gs-focus); outline:0; }.performance-card .performance-tier-link { align-items:center; color:var(--gs-body-color); display:flex; gap:.35rem; margin-top:.75rem; text-transform:none; }.performance-tier-link img { height:2rem; object-fit:contain; width:2rem; }.performance-chart-card img { display:block; height:auto; width:100%; }
@media(max-width:800px){.page-hero{align-items:flex-start;flex-direction:column}.page-hero__actions,.tier-control{align-items:flex-start}.page-facts{grid-template-columns:repeat(2,1fr)}.page-facts__item:nth-child(even){border-right:0}.performance-kpi-grid{grid-template-columns:repeat(2,1fr)}.action-row{grid-template-columns:1fr auto}.action-detail{display:none}}
@media(max-width:480px){.page-facts{grid-template-columns:1fr}.page-facts__item{border-bottom:1px solid #30394e;border-right:0;min-height:auto}.page-facts__item:last-child{border-bottom:0}.execution-notice{align-items:flex-start}.performance-kpi-grid{grid-template-columns:1fr}}

/* Shared application shell
   Keep every authenticated view in the same restrained, analytics-first visual
   system as the Performance and Today views. */
.app-page {
    margin-top: 0;
    padding-bottom: 3rem;
    padding-top: clamp(1.5rem, 3vw, 2.5rem);
}
.app-page > :first-child { margin-top: 0 !important; }
.app-page-footer {
    border-top: 1px solid var(--gs-border);
    margin-top: 2rem;
    padding-top: 1.25rem;
}

/* One card treatment for reports, forms, settings, and supporting content. */
.card,
.modal-content,
.list-group-item,
.ticker-detail-field,
.actions-module {
    border: 1px solid var(--gs-border);
    border-radius: 1rem;
    box-shadow: 0 10px 30px rgba(17, 17, 17, .055) !important;
}
.card { border-top-width: 1px; overflow: hidden; }
.card-header,
.card-footer {
    background: var(--gs-surface);
    padding: 1rem 1.25rem;
}
.card-body { padding: 1.25rem; }

/* Today table system: dark, compact headers; calm rows; a bordered surface. */
.table-responsive {
    background: var(--gs-surface);
    border: 1px solid var(--gs-border);
    border-radius: .9rem;
}
.card > .table-responsive,
.card-body > .table-responsive {
    border: 0;
    border-radius: 0;
}
.table,
table.dataTable {
    border-collapse: separate !important;
    border-spacing: 0;
    font-size: .875rem;
    margin-bottom: 0 !important;
    width: 100% !important;
}
.table > :not(caption) > * > *,
table.dataTable td,
table.dataTable th {
    border-left: 0 !important;
    border-right: 0 !important;
    padding: .8rem 1rem;
    vertical-align: middle;
}
.table thead th,
table.dataTable thead th {
    border-bottom: 0 !important;
    color: var(--gs-accent) !important;
    white-space: nowrap;
}
/* Keep report tables readable when legacy templates or third-party table
   styles add light-text utility classes. */
.table > tbody > tr > :is(th, td),
table.dataTable > tbody > tr > :is(th, td) {
    color: var(--gs-body-color) !important;
}

/* Table headings use the theme highlight consistently across every view. */
.table > thead > tr > th,
table.dataTable > thead > tr > th {
    color: var(--gs-accent) !important;
}

/* Dynamic reporting dates sit on a light card and must not inherit white. */
.performance-page .period-facts strong {
    color: var(--gs-body-color) !important;
}

/* WordPress' embedded global theme styles set the page text to white after
   this stylesheet loads. Keep copy and KPI values dark on our light report
   surfaces instead of allowing that inherited color to win. */
.disclosures-methodology-page,
.performance-page,
.performance-page .performance-card,
.performance-page .metric-card,
.performance-kpi-grid .performance-card {
    color: var(--gs-body-color) !important;
}
.performance-page .performance-card :is(h1, h2, h3, h4, h5, h6, dt, label, strong),
.performance-page .metric-card strong {
    color: var(--gs-heading-color) !important;
}
.performance-page .methodology-list dd {
    color: var(--gs-muted) !important;
}
.table tbody tr:last-child > * { border-bottom: 0; }
.table-striped > tbody > tr:nth-of-type(odd) > * { background: var(--gs-surface-alt) !important; }
.dataTables_wrapper {
    background: var(--gs-surface);
    border: 1px solid var(--gs-border);
    border-radius: .9rem;
    overflow: hidden;
    padding: 1rem;
}
.dataTables_wrapper .table-responsive,
.dataTables_wrapper table { border-radius: .65rem; }
.dataTables_wrapper .dataTables_info { color: var(--gs-muted); font-size: .8rem; }

@media (max-width: 767.98px) {
    .app-page { padding-top: 1.25rem; }
    .card-body { padding: 1rem; }
    .table-responsive { background: transparent; border: 0; }
    table.responsive-card-table tbody tr {
        border-width: 1px;
        box-shadow: 0 8px 24px rgba(17, 17, 17, .06);
    }
}

/* Light, in-product contact experience for authenticated members */
.member-contact-page{margin:0 auto;max-width:1180px}.member-contact-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(440px,1.28fr);gap:1.25rem;margin-top:1.5rem}.member-support-card,.member-contact-form-card{background:#fff;border:1px solid var(--gs-border);border-radius:1rem;padding:clamp(1.4rem,3vw,2.2rem)}.member-support-card{background:#f7f8f4}.member-support-card__eyebrow,.member-contact-form-card__heading>span{color:#4c722e;font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.member-support-card h2,.member-contact-form-card h2{font-size:1.55rem;font-weight:800;margin:.65rem 0}.member-support-card>p,.member-contact-form-card__heading p{color:#667085;line-height:1.65}.member-support-card ul{list-style:none;margin:1.5rem 0;padding:0}.member-support-card li{align-items:flex-start;border-top:1px solid #dde3d8;display:flex;gap:.85rem;padding:1rem 0}.member-support-card li>span{color:#9a7200;font-size:.7rem;font-weight:800;padding-top:.15rem}.member-support-card li strong,.member-support-card li small{display:block}.member-support-card li small{color:#717b76;font-size:.76rem;line-height:1.5;margin-top:.25rem}.member-support-card__note{border-left:3px solid #d6a929;font-size:.76rem;margin:1rem 0 0;padding:.6rem .75rem}.member-contact-form-card form>div{margin-bottom:1rem}.member-contact-form-card label{font-size:.78rem;font-weight:700;margin-bottom:.4rem}.member-contact-form-card .form-control{background:#fbfcfa;border-color:#ccd5cd}.member-contact-form-card .form-control:focus{border-color:#58806e;box-shadow:0 0 0 .2rem rgba(71,123,105,.12)}.member-contact-fields{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.member-contact-submit{background:#19362f;color:#fff;font-size:.84rem;font-weight:700;padding:.75rem 1.2rem}.member-contact-submit:hover,.member-contact-submit:focus{background:#244a40;color:#fff}.member-contact-submit span{color:#f0bb4d;margin-left:.65rem}@media(max-width:800px){.member-contact-layout{grid-template-columns:1fr}}@media(max-width:520px){.member-contact-fields{grid-template-columns:1fr}}
