/*==========================================================
    ALLIANCE TERMINAL
==========================================================*/

:root {
    --bg: #111827;
    --panel: #1F2937;
    --border: #374151;
    --text: #F9FAFB;
    --muted: #9CA3AF;
    --green5: #14532D;
    --green4: #166534;
    --green3: #15803D;
    --green2: #16A34A;
    --green1: #4ADE80;
    --yellow: #CA8A04;
    --red1: #F87171;
    --red2: #DC2626;
    --red3: #B91C1C;
    --red4: #991B1B;
    --red5: #7F1D1D;
}

/* Portfolio prospective validation */
.portfolio-performance-card {
    margin-top: 18px;
}

.portfolio-performance-scroll {
    overflow-x: auto;
}

.portfolio-live-sections {
    display: grid;
    gap: 14px;
    margin-top: 14px;
}

.portfolio-live-group {
    overflow: hidden;
    border: 1px solid rgba(132, 220, 255, .2);
    border-radius: 6px;
    background: rgba(8, 24, 37, .48);
}

.portfolio-live-group-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(132, 220, 255, .16);
    background: rgba(12, 36, 55, .72);
}

.portfolio-live-group-heading h3 {
    margin: 0;
    color: #eaf6fb;
    font-size: 14px;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.portfolio-live-group-heading small {
    display: block;
    margin-top: 2px;
    color: #91a8b8;
    font-size: 12px;
}

.portfolio-live-group-heading > span {
    flex: 0 0 auto;
    padding: 3px 7px;
    border: 1px solid rgba(132, 220, 255, .28);
    border-radius: 999px;
    color: #b9d9e8;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.portfolio-running-pip-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0 8px;
}

.portfolio-running-pip-summary.portfolio-running-summary-empty-assets {
    grid-template-columns: minmax(0, 2.2fr) minmax(240px, .8fr);
}

.portfolio-running-pip-summary > section {
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(132, 220, 255, .24);
    border-radius: 6px;
    background: rgba(8, 24, 37, .74);
}

.portfolio-running-summary-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 9px;
}

.portfolio-running-summary-heading > span {
    color: #eaf6fb;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.portfolio-running-summary-heading > small,
.portfolio-running-summary-grid article > small {
    color: #91a8b8;
    font-size: 12px;
}

.portfolio-running-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.portfolio-running-summary-grid article {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid rgba(100, 116, 139, .34);
    border-radius: 4px;
    background: rgba(12, 36, 55, .66);
}

.portfolio-running-summary-grid article > span {
    overflow: hidden;
    color: #a9c1ce;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .035em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.portfolio-running-summary-grid article > strong {
    font-size: 17px;
    font-variant-numeric: tabular-nums;
}

.portfolio-running-summary-empty {
    display: grid;
    align-items: center;
    min-height: 68px;
    padding: 9px 10px;
    border: 1px dashed rgba(100, 116, 139, .42);
    color: #91a8b8;
    font-size: 13px;
}

.portfolio-running-summary-empty-assets .portfolio-running-summary-empty {
    min-height: 54px;
}

.portfolio-live-card .market-reference-state {
    margin-top: 3px;
    padding: 1px 5px;
    border-color: rgba(82, 103, 122, .58);
    background: transparent;
    color: #91a8b8 !important;
    font-size: 10px !important;
    font-weight: 700;
    letter-spacing: .035em;
    opacity: .82;
}

.portfolio-live-card .market-reference-current {
    border-color: rgba(53, 201, 120, .52);
    background: rgba(34, 197, 94, .045);
    color: #8bd9a9 !important;
}

@media (max-width: 1100px) {
    .portfolio-running-pip-summary,
    .portfolio-running-pip-summary.portfolio-running-summary-empty-assets {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 640px) {
    .portfolio-running-summary-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }

    .portfolio-running-summary-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.portfolio-performance-table th,
.portfolio-performance-table td {
    text-align: center;
    vertical-align: middle;
}

.portfolio-performance-table th:first-child,
.portfolio-performance-table td:first-child {
    text-align: left;
}

.portfolio-performance-table td small {
    display: block;
    margin-top: 2px;
    color: var(--text-muted, #8c98a8);
}

/* Calendar terminal — shared seven-day and thirty-day institutional ledger. */
.calendar-page-workspace .calendar-command-strip {
    display: grid;
    grid-template-columns: minmax(260px, 1.7fr) repeat(3, minmax(150px, 1fr));
    margin: 0 0 12px;
    overflow: hidden;
    border: 1px solid rgba(125, 211, 252, .30);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(17, 31, 47, .96), rgba(10, 20, 32, .96));
    box-shadow: 0 10px 26px rgba(0, 0, 0, .18);
}

.calendar-page-workspace .calendar-command-cell {
    display: grid;
    min-width: 0;
    min-height: 84px;
    padding: 12px 14px;
    align-content: center;
    gap: 4px;
    border-left: 1px solid rgba(148, 163, 184, .18);
}

.calendar-page-workspace .calendar-command-cell:first-child {
    border-left: 0;
}

.calendar-page-workspace .calendar-command-cell span {
    color: #91a4b8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.calendar-page-workspace .calendar-command-cell strong {
    overflow: hidden;
    color: #f8fafc;
    font-size: 16px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.calendar-page-workspace .calendar-command-cell small {
    overflow: hidden;
    color: #aebdca;
    font-size: 13px;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.calendar-page-workspace .calendar-command-primary {
    box-shadow: inset 3px 0 0 #38bdf8;
    background: linear-gradient(90deg, rgba(14, 116, 144, .15), transparent 82%);
}

.calendar-page-workspace .calendar-command-primary strong {
    color: #bae6fd;
}

.calendar-page-workspace .calendar-filters {
    display: grid;
    grid-template-columns: minmax(210px, 1fr) minmax(185px, .85fr) minmax(150px, .7fr) minmax(190px, .9fr) auto;
    align-items: end;
    gap: 10px;
    margin: 12px 0 0;
    padding: 11px 12px;
    border-color: rgba(100, 116, 139, .58);
    border-radius: 8px 8px 0 0;
    background: linear-gradient(180deg, #172536, #111c2a);
    box-shadow: 0 8px 20px rgba(0, 0, 0, .14);
}

.calendar-page-workspace .calendar-filter-count {
    align-self: center;
    margin-left: 4px;
    padding: 0;
    white-space: nowrap;
}

.calendar-page-workspace .metric-evidence-scroll {
    border: 1px solid rgba(100, 116, 139, .48);
    border-top: 0;
    border-radius: 0 0 8px 8px;
    background: rgba(7, 14, 25, .34);
}

.calendar-page-workspace .calendar-table thead th {
    border-bottom: 1px solid rgba(125, 211, 252, .34);
    color: #c9d8e7;
    background: #101d2b;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.calendar-page-workspace .calendar-table tbody tr[data-calendar-row] {
    transition: background-color .14s ease, box-shadow .14s ease;
}

.calendar-page-workspace .calendar-table tbody tr[data-calendar-row]:hover {
    background: rgba(56, 189, 248, .055);
}

.calendar-page-workspace .calendar-table tr[data-risk="High"] {
    box-shadow: inset 3px 0 0 rgba(255, 95, 87, .80);
}

.calendar-page-workspace .calendar-table tr[data-risk="Medium"] {
    box-shadow: inset 3px 0 0 rgba(255, 189, 46, .62);
}

.calendar-page-workspace .calendar-table tr[data-risk="Low"] {
    box-shadow: inset 3px 0 0 rgba(40, 200, 64, .42);
}

.calendar-page-workspace .calendar-risk-badge {
    display: inline-flex;
    min-width: 50px;
    padding: 4px 6px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid currentColor;
    border-radius: 999px;
    background: rgba(15, 23, 42, .68);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .055em;
    line-height: 1;
}

.calendar-page-workspace .calendar-risk-badge.calendar-risk-high {
    color: #ff8a84;
    background: rgba(127, 29, 29, .20);
}

.calendar-page-workspace .calendar-risk-badge.calendar-risk-medium {
    color: #ffd166;
    background: rgba(120, 53, 15, .20);
}

.calendar-page-workspace .calendar-risk-badge.calendar-risk-low {
    color: #70df81;
    background: rgba(20, 83, 45, .18);
}

.calendar-page-workspace .calendar-risk-badge .calendar-light {
    width: 7px;
    height: 7px;
    margin: 0;
    background: currentColor;
    box-shadow: 0 0 7px currentColor;
}

.calendar-page-workspace .calendar-currency-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #f8fafc;
}

.calendar-page-workspace .calendar-currency-cell img {
    width: 22px;
    height: 15px;
    border: 1px solid rgba(226, 232, 240, .30);
    border-radius: 2px;
    object-fit: cover;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .28);
}

.calendar-page-workspace .calendar-currency-cell strong {
    color: #f8fafc;
    font-size: 14px;
    letter-spacing: .035em;
}

.calendar-page-workspace .calendar-release {
    text-align: left !important;
}

.calendar-page-workspace .calendar-release > a,
.calendar-page-workspace .calendar-release > a:visited {
    display: -webkit-box;
    overflow: hidden;
    color: #d9f2ff;
    font-weight: 700;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.calendar-page-workspace .calendar-release-source {
    display: block;
    margin-top: 3px;
    overflow: hidden;
    color: #8497aa;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .025em;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.calendar-page-workspace .calendar-status-badge {
    display: inline-block;
    max-width: 100%;
    padding: 3px 6px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 4px;
    color: #aebdca;
    background: rgba(51, 65, 85, .24);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .025em;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.calendar-page-workspace .calendar-status-unavailable {
    border-color: rgba(251, 191, 36, .24);
    color: #d7c587;
    background: rgba(120, 53, 15, .14);
}

.calendar-page-workspace .calendar-day-group td {
    padding: 7px 10px !important;
    border-top: 1px solid rgba(125, 211, 252, .24);
    border-bottom: 1px solid rgba(100, 116, 139, .30);
    color: #b9d7e8;
    background: linear-gradient(90deg, rgba(14, 116, 144, .15), rgba(15, 23, 42, .58));
    font-size: 11px !important;
    font-weight: 900;
    letter-spacing: .075em;
    text-align: left !important;
    text-transform: uppercase;
}

.calendar-page-workspace .calendar-day-group strong {
    color: #f8fafc;
}

.calendar-page-workspace .calendar-table th:nth-child(1) { width: 6%; }
.calendar-page-workspace .calendar-table th:nth-child(2) { width: 9%; }
.calendar-page-workspace .calendar-table th:nth-child(3) { width: 7%; }
.calendar-page-workspace .calendar-table th:nth-child(4) { width: 6%; }
.calendar-page-workspace .calendar-table th:nth-child(5) { width: 22%; }
.calendar-page-workspace .calendar-table th:nth-child(6) { width: 6%; }
.calendar-page-workspace .calendar-table th:nth-child(7) { width: 8.5%; }
.calendar-page-workspace .calendar-table th:nth-child(8) { width: 13%; }
.calendar-page-workspace .calendar-table th:nth-child(9) { width: 8.5%; }
.calendar-page-workspace .calendar-table th:nth-child(10) { width: 14%; }

.calendar-page-workspace .calendar-table tr[data-calendar-row] > td {
    padding: 9px 7px;
    border-bottom-color: rgba(71, 85, 105, .42);
    letter-spacing: normal;
    line-height: 1.35;
}

@media (min-width: 901px) {
    .calendar-page-workspace .calendar-filters {
        position: sticky;
        z-index: 12;
        top: 58px;
    }

    .calendar-page-workspace .calendar-table thead th {
        position: sticky;
        z-index: 10;
        top: 0;
        box-shadow: 0 1px 0 rgba(125, 211, 252, .22);
    }
}

@media (max-width: 1050px) {
    .calendar-page-workspace .calendar-command-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .calendar-page-workspace .calendar-command-cell:nth-child(3) {
        border-left: 0;
        border-top: 1px solid rgba(148, 163, 184, .18);
    }

    .calendar-page-workspace .calendar-command-cell:nth-child(4) {
        border-top: 1px solid rgba(148, 163, 184, .18);
    }

    .calendar-page-workspace .calendar-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .calendar-page-workspace .calendar-filter-count {
        grid-column: 1 / -1;
        margin-left: 0;
    }
}

@media (max-width: 700px) {
    .calendar-page-workspace .calendar-command-strip {
        grid-template-columns: minmax(0, 1fr);
    }

    .calendar-page-workspace .calendar-command-cell,
    .calendar-page-workspace .calendar-command-cell:nth-child(3) {
        min-height: 0;
        border-top: 1px solid rgba(148, 163, 184, .18);
        border-left: 0;
    }

    .calendar-page-workspace .calendar-command-cell:first-child {
        border-top: 0;
    }

    .calendar-page-workspace .calendar-filters {
        position: static;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
    }

    .calendar-page-workspace .calendar-filter-count {
        grid-column: 1;
    }

    .calendar-page-workspace .metric-evidence-scroll {
        overflow-x: hidden;
    }

    .calendar-page-workspace .calendar-table,
    .calendar-page-workspace .calendar-table tbody {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .calendar-page-workspace .calendar-table thead {
        display: none;
    }

    .calendar-page-workspace .calendar-table tr[data-calendar-row]:not([hidden]) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 10px;
        overflow: hidden;
        border: 1px solid rgba(100, 116, 139, .48);
        border-radius: 7px;
        background: rgba(10, 20, 32, .74);
    }

    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td {
        display: grid;
        min-width: 0;
        padding: 9px 10px;
        align-content: start;
        gap: 5px;
        border: 0;
        border-bottom: 1px solid rgba(71, 85, 105, .34);
        text-align: left;
        white-space: normal;
    }

    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td::before {
        color: #8295a8;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(1)::before { content: "Risk"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(2)::before { content: "Date"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(3)::before { content: "Time"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(4)::before { content: "Currency"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(5)::before { content: "Official release"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(6)::before { content: "Reference"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(7)::before { content: "Last"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(8)::before { content: "ALLIANCE"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(9)::before { content: "Expected"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(10)::before { content: "Actual"; }

    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(5),
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(8) {
        grid-column: 1 / -1;
    }

    .calendar-page-workspace .calendar-currency-cell {
        justify-content: flex-start;
    }

    .calendar-page-workspace .calendar-expected-column {
        width: auto;
        max-width: none;
    }

    .calendar-page-workspace .calendar-expected-form {
        width: 100%;
        height: 34px;
        grid-template-columns: minmax(0, 1fr) 34px;
    }

    .calendar-page-workspace .calendar-expected-form input,
    .calendar-page-workspace .calendar-expected-form button {
        height: 34px;
        line-height: 32px;
    }

    .calendar-page-workspace .calendar-expected-form button {
        width: 34px;
        min-width: 34px;
    }

    .calendar-page-workspace .calendar-day-group {
        display: table-row;
    }

    .calendar-page-workspace .calendar-day-group td {
        display: block;
        margin: 12px 10px 4px;
        border-radius: 5px;
    }

    .calendar-page-workspace .calendar-filter-empty {
        display: table-row;
    }
}

.portfolio-performance-table tbody tr.portfolio-idea-row {
    background-color: #111a28;
}

.portfolio-performance-table tbody tr.portfolio-idea-pair-row > td:first-child {
    background-image:
        linear-gradient(90deg, rgba(8, 15, 26, .7), rgba(8, 15, 26, .76)),
        var(--portfolio-row-left-image),
        var(--portfolio-row-right-image);
    background-position: center, left center, right center;
    background-size: 100% 100%, 50% 100%, 50% 100%;
    background-repeat: no-repeat;
}

.portfolio-performance-table tbody tr.portfolio-idea-asset-row > td:first-child {
    background-image:
        linear-gradient(90deg, rgba(8, 15, 26, .7), rgba(8, 15, 26, .78)),
        var(--portfolio-row-asset-image);
    background-position: center, center;
    background-size: 100% 100%, cover;
    background-repeat: no-repeat;
}

.portfolio-performance-table tbody tr.portfolio-idea-row > td:first-child {
    position: relative;
    text-align: center;
    vertical-align: middle;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .92);
}

.portfolio-performance-table tbody tr > td:first-child a,
.portfolio-performance-table tbody tr > td:first-child a:link,
.portfolio-performance-table tbody tr > td:first-child a:visited,
.portfolio-performance-table tbody tr > td:first-child a:active {
    color: #f8fafc !important;
    font-weight: 800;
}

.portfolio-performance-table tbody tr > td:first-child a:hover,
.portfolio-performance-table tbody tr > td:first-child a:focus {
    color: #ffffff !important;
}

.portfolio-closed-card {
    border-top: 2px solid rgba(248, 113, 113, .6);
}

.portfolio-closed-table {
    min-width: 1280px;
}

.portfolio-closed-table .portfolio-close-reason {
    min-width: 300px;
    max-width: 420px;
    color: #e2e8f0;
    line-height: 1.45;
    text-align: left;
    white-space: normal;
}

.portfolio-performance-positive {
    color: var(--signal-green, #2ee59d) !important;
    font-weight: 800;
}

.portfolio-performance-negative {
    color: var(--signal-red, #ff5f68) !important;
    font-weight: 800;
}

.portfolio-performance-flat {
    color: var(--signal-amber, #f7c948) !important;
    font-weight: 800;
}

.portfolio-performance-unavailable {
    color: var(--text-muted, #8c98a8) !important;
}

.portfolio-performance-note {
    margin: 12px 0 0;
    color: var(--text-muted, #8c98a8);
    font-size: .82rem;
}

.portfolio-lifecycle-status {
    display: inline-block;
    padding: 3px 7px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
}

.portfolio-lifecycle-active {
    color: #86EFAC;
    background: rgba(21, 128, 61, .28);
}

.portfolio-lifecycle-pending {
    color: #FDE68A;
    background: rgba(161, 98, 7, .28);
}

.portfolio-lifecycle-risk {
    color: #fecaca;
    background: rgba(185, 28, 28, .32);
    border: 1px solid rgba(248, 113, 113, .38);
}

.portfolio-lifecycle-removed {
    color: #FCA5A5;
    background: rgba(185, 28, 28, .28);
}

.workspace-content a:not(.btn):visited {
    color: #7DD3FC;
}

.opportunity-pair a,
.opportunity-pair a:link,
.opportunity-pair a:visited,
.opportunity-pair a:active {
    color: #7DD3FC !important;
    text-decoration: none;
}

.opportunity-pair a:hover,
.opportunity-pair a:focus {
    color: #BAE6FD !important;
    text-decoration: underline;
}

.opportunity-card a.btn-primary,
.opportunity-card a.btn-primary:link,
.opportunity-card a.btn-primary:visited,
.opportunity-card a.btn-primary:active {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    padding: 10px 14px;
    border: 1px solid #7DD3FC;
    border-radius: 4px;
    color: #04121F !important;
    background: #38BDF8;
    font-weight: 800;
    text-decoration: none;
}

.opportunity-card a.btn-primary:hover,
.opportunity-card a.btn-primary:focus {
    color: #020617 !important;
    background: #BAE6FD;
    border-color: #E0F2FE;
    outline: none;
}

/* Research catalyst forecast cards */
.research-catalyst-card {
    margin-top: 16px;
}

.research-catalyst-stack {
    display: grid;
    gap: 10px;
    margin: 12px 0;
}

.research-catalyst-disclosure {
    border: 1px solid rgba(56, 189, 248, .32);
    border-radius: 5px;
    background: rgba(8, 31, 48, .72);
    overflow: hidden;
}

.research-catalyst-disclosure > summary {
    padding: 11px 13px;
    color: #7dd3fc;
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.research-catalyst-disclosure[open] > summary {
    border-bottom: 1px solid rgba(56, 189, 248, .24);
}

.research-catalyst-expanded-stack {
    display: grid;
    gap: 10px;
    padding: 10px;
}

.currency-policy-intelligence-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr);
    gap: 16px;
    margin: 16px 0;
}

.currency-policy-intelligence-grid > .card {
    min-width: 0;
    margin: 0;
}

.institutional-policy-detail-list {
    display: grid;
    gap: 0;
    margin: 14px 0;
}

.institutional-policy-detail-list > div {
    display: grid;
    grid-template-columns: minmax(150px, .55fr) minmax(0, 1.45fr);
    gap: 14px;
    padding: 9px 0;
    border-bottom: 1px solid rgba(148, 163, 184, .16);
}

.institutional-policy-detail-list > div:last-child {
    border-bottom: 0;
}

.institutional-policy-detail-list dt,
.institutional-policy-assessment span {
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.institutional-policy-detail-list dd {
    min-width: 0;
    margin: 0;
    color: #e2e8f0;
    font-size: 15px;
    line-height: 1.5;
}

.institutional-policy-detail-list dd small {
    display: block;
    margin-top: 3px;
    color: #94a3b8;
    font-size: 13px;
    line-height: 1.45;
}

.institutional-policy-assessment {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.institutional-policy-assessment section {
    padding: 13px 14px;
    border-left: 3px solid rgba(56, 189, 248, .7);
    background: rgba(15, 23, 42, .66);
}

.institutional-policy-assessment section:last-child {
    border-left-color: rgba(250, 204, 21, .72);
}

.institutional-policy-assessment p {
    margin: 7px 0 0;
}

.pair-policy-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.pair-policy-comparison section {
    min-width: 0;
    padding: 13px 14px;
    border-top: 2px solid rgba(56, 189, 248, .7);
    background: rgba(15, 23, 42, .66);
}

.pair-policy-comparison section:last-child {
    border-top-color: rgba(250, 204, 21, .72);
}

.pair-policy-comparison span {
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.pair-policy-comparison p {
    margin: 7px 0 0;
}

.central-bank-layer-card {
    margin-top: 16px;
}

.research-catalyst-event {
    padding: 11px 12px;
    border: 1px solid rgba(56, 189, 248, .25);
    border-radius: 4px;
    background: rgba(5, 15, 27, .72);
}

.research-catalyst-heading {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
}

.research-catalyst-heading strong {
    color: #f1f5f9;
    font-size: 15px;
    line-height: 1.4;
}

.research-catalyst-currency,
.research-catalyst-impact-high,
.research-catalyst-impact-medium,
.research-catalyst-impact-low {
    padding: 3px 6px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.research-catalyst-currency {
    color: #7dd3fc;
    background: rgba(14, 116, 144, .24);
}

.research-catalyst-impact-high {
    color: #fecaca;
    background: rgba(185, 28, 28, .34);
}

.research-catalyst-impact-medium {
    color: #fde68a;
    background: rgba(161, 98, 7, .32);
}

.research-catalyst-impact-low {
    color: #bbf7d0;
    background: rgba(21, 128, 61, .28);
}

.research-catalyst-time {
    margin: 5px 0 8px;
    color: #94a3b8;
    font-size: 13px;
    line-height: 1.45;
}

.research-catalyst-forecast-grid {
    display: grid;
    grid-template-columns: minmax(110px, .65fr) minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 8px;
}

.research-catalyst-forecast-grid > div {
    padding: 7px 8px;
    border-left: 2px solid rgba(56, 189, 248, .35);
    background: rgba(15, 23, 42, .66);
}

.research-catalyst-forecast-grid span,
.research-catalyst-forecast-grid small {
    display: block;
    color: #94a3b8;
}

.research-catalyst-forecast-grid .research-catalyst-confidence {
    margin-top: 5px;
    padding-top: 5px;
    border-top: 1px solid rgba(100, 116, 139, .28);
}

.research-catalyst-confidence b {
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.research-catalyst-forecast-grid span {
    font-size: 12px;
}

.research-catalyst-forecast-grid small {
    font-size: 13px;
    line-height: 1.45;
}

.research-catalyst-forecast-grid strong {
    display: block;
    margin: 2px 0;
    color: #f8fafc;
    font-size: 15px;
    line-height: 1.45;
}

.research-catalyst-forecast-grid .research-catalyst-report-trigger {
    display: block;
    width: max-content;
    max-width: 100%;
}

.research-catalyst-forecast-grid .research-catalyst-report-trigger > strong {
    color: inherit;
}

.research-catalyst-market-confirmation {
    display: grid;
    grid-template-columns: auto auto auto auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    margin-top: 7px;
    padding: 7px 8px;
    border-left: 2px solid rgba(250, 204, 21, .45);
    background: rgba(15, 23, 42, .66);
    color: #cbd5e1;
    font-size: 13px;
    line-height: 1.45;
}

.research-catalyst-market-confirmation > span:first-child {
    color: #94a3b8;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.research-catalyst-market-confirmation small {
    min-width: 0;
    color: #cbd5e1;
    font-size: 13px;
}

@media (max-width: 760px) {
    .research-catalyst-heading,
    .research-catalyst-forecast-grid,
    .research-catalyst-market-confirmation {
        grid-template-columns: 1fr;
    }

    .research-catalyst-heading {
        align-items: start;
    }

    .institutional-policy-detail-list > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .pair-policy-comparison {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .currency-policy-intelligence-grid {
        grid-template-columns: 1fr;
    }
}

/* Dashboard polish: institutional EXO command panel */
.exo-summary-card {
    padding: 18px;
    overflow: hidden;
}

.exo-summary-header {
    align-items: flex-start;
    padding-bottom: 13px;
    border-bottom: 1px solid rgba(56, 189, 248, .22);
}

.exo-summary-header h2,
.exo-summary-header .data-verification-subtitle {
    text-align: left;
}

.exo-kicker {
    margin-bottom: 3px;
    color: #38BDF8;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.1px;
}

.exo-command-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 14px 0;
    overflow: hidden;
    border: 1px solid #334155;
    border-radius: 4px;
    background: #07131E;
}

.exo-command-cell {
    display: flex;
    min-width: 0;
    min-height: 82px;
    padding: 11px 14px;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid #26384B;
}

.exo-command-cell:last-child {
    border-right: 0;
}

.exo-command-cell strong {
    overflow: hidden;
    color: #F8FAFC;
    font-family: Consolas, "Courier New", monospace;
    font-size: 22px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.exo-command-cell.exo-command-primary {
    border-left: 4px solid #F59E0B;
}

.exo-command-cell.exo-tone-supportive {
    border-left-color: #22C55E;
}

.exo-command-cell.exo-tone-restrictive {
    border-left-color: #EF4444;
}

.exo-command-label {
    color: #94A3B8;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .9px;
}

.exo-command-state {
    margin-top: 3px;
    overflow: hidden;
    color: #94A3B8;
    font-size: 9px;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.exo-command-regime {
    font-size: 17px !important;
}

.exo-positive {
    color: #4ADE80 !important;
}

.exo-negative {
    color: #FB7185 !important;
}

.exo-neutral {
    color: #FACC15 !important;
}

.exo-factor-heading {
    display: flex;
    margin-bottom: 7px;
    justify-content: space-between;
    color: #94A3B8;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .75px;
}

.exo-factor-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.exo-factor-tile {
    display: block;
    min-width: 0;
    padding: 10px;
    border: 1px solid #314155;
    border-radius: 3px;
    background: linear-gradient(180deg, #0D1B2A 0%, #08131F 100%);
}

.exo-factor-title-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 7px;
    align-items: center;
}

.exo-factor-title-row strong {
    color: #E2E8F0;
    font-size: 9px;
    letter-spacing: .2px;
    line-height: 1.15;
    text-transform: uppercase;
    white-space: normal;
}

.exo-factor-score {
    color: #F8FAFC;
    font-family: Consolas, "Courier New", monospace;
    font-size: 13px;
    font-weight: 800;
}

.exo-factor-light {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    color: #F59E0B;
    background: currentColor;
    box-shadow: 0 0 7px currentColor;
}

.exo-factor-supportive .exo-factor-light {
    color: #22C55E;
}

.exo-factor-restrictive .exo-factor-light {
    color: #EF4444;
}

.exo-factor-track {
    height: 5px;
    margin: 8px 0 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #273548;
}

.exo-factor-track span {
    display: block;
    height: 100%;
    background: #F59E0B;
}

.exo-factor-supportive .exo-factor-track span {
    background: #22C55E;
}

.exo-factor-restrictive .exo-factor-track span {
    background: #EF4444;
}

.exo-factor-meta {
    display: flex;
    gap: 7px;
    justify-content: space-between;
    color: #94A3B8;
    font-family: Consolas, "Courier New", monospace;
    font-size: 8px;
    text-transform: uppercase;
}

.exo-summary-footer {
    display: flex;
    gap: 16px;
    margin-top: 11px;
    align-items: center;
    justify-content: space-between;
    color: #94A3B8;
    font-size: 9px;
}

.exo-summary-footer .metric-evidence-link,
.exo-summary-footer .metric-evidence-link:visited {
    color: #7DD3FC;
    white-space: nowrap;
}

@media (max-width: 1100px) {
    .exo-command-strip,
    .exo-factor-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .exo-command-cell:nth-child(2) {
        border-right: 0;
    }

    .exo-command-cell:nth-child(-n+2) {
        border-bottom: 1px solid #26384B;
    }
}

@media (max-width: 650px) {
    .exo-command-strip,
    .exo-factor-grid {
        grid-template-columns: 1fr;
    }

    .exo-command-cell {
        border-right: 0;
        border-bottom: 1px solid #26384B;
    }

    .exo-summary-footer {
        align-items: flex-start;
        flex-direction: column;
    }

}

/* Research polish: lightweight institutional directory and pair command card */
.research-home-terminal {
    display: grid;
    gap: 14px;
}

.research-home-hero {
    display: flex;
    gap: 24px;
    padding: 22px;
    align-items: center;
    justify-content: space-between;
    border-top: 2px solid #38BDF8;
    background:
        radial-gradient(circle at 88% 15%, rgba(14, 165, 233, .13), transparent 28%),
        #1F2937;
}

.research-home-hero h1,
.research-pair-hero h1 {
    margin: 2px 0 5px;
    color: #F8FAFC;
    font-size: 28px;
}

.research-home-hero p,
.research-pair-hero p {
    max-width: 760px;
    margin: 0;
    color: #94A3B8;
    font-size: 11px;
    line-height: 1.55;
}

.research-home-health {
    display: flex;
    min-width: 180px;
    align-items: flex-end;
    flex-direction: column;
}

.research-home-health strong {
    margin-top: 5px;
    color: #7DD3FC;
    font-family: Consolas, "Courier New", monospace;
    font-size: 27px;
}

.research-home-health > span:last-child {
    color: #94A3B8;
    font-size: 9px;
    text-transform: uppercase;
}

.research-home-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #334155;
    border-radius: 5px;
    background: #07131E;
}

.research-home-stats > div {
    display: flex;
    min-width: 0;
    min-height: 78px;
    padding: 11px 14px;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid #26384B;
}

.research-home-stats > div:last-child {
    border-right: 0;
}

.research-home-stats span,
.research-directory-kicker {
    color: #38BDF8;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .9px;
}

.research-home-stats strong {
    color: #F8FAFC;
    font-family: Consolas, "Courier New", monospace;
    font-size: 21px;
}

.research-home-stats small {
    overflow: hidden;
    color: #94A3B8;
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.research-directory-card {
    padding: 18px;
}

.research-directory-heading {
    display: flex;
    gap: 16px;
    margin-bottom: 12px;
    align-items: flex-end;
    justify-content: space-between;
    border-bottom: 1px solid rgba(56, 189, 248, .2);
    padding-bottom: 10px;
}

.research-directory-heading h2 {
    margin: 2px 0 0;
    color: #F8FAFC;
    font-size: 19px;
}

.research-directory-heading > span {
    color: #94A3B8;
    font-size: 8px;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.research-currency-directory {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.research-directory-tile,
.research-directory-tile:visited {
    display: flex;
    min-width: 0;
    padding: 11px;
    flex-direction: column;
    border: 1px solid #314155;
    border-radius: 3px;
    color: #E2E8F0;
    background: linear-gradient(180deg, #0D1B2A 0%, #08131F 100%);
    text-decoration: none;
    transition: border-color .15s ease, transform .15s ease;
}

.research-directory-tile:hover {
    border-color: #38BDF8;
    color: #F8FAFC;
    transform: translateY(-1px);
}

.research-directory-tile strong {
    color: #F8FAFC;
    font-family: Consolas, "Courier New", monospace;
    font-size: 17px;
}

.research-directory-tile span {
    color: #94A3B8;
    font-size: 8px;
    text-transform: uppercase;
}

.research-directory-tile b {
    margin-top: 8px;
    color: #7DD3FC;
    font-size: 8px;
    letter-spacing: .4px;
    text-transform: uppercase;
}

.exo-factor-evidence-disclosure {
    overflow: hidden;
    border: 1px solid #2B3B4D;
    border-radius: 3px;
    background: #07131E;
}

.exo-factor-evidence-disclosure[open] {
    grid-column: 1 / -1;
}

.exo-factor-accordion-grid {
    align-items: start;
}

.exo-factor-accordion {
    min-width: 0;
    background: linear-gradient(180deg, #0D1B2A 0%, #08131F 100%);
    transition: border-color .16s ease, box-shadow .16s ease;
}

.exo-factor-accordion:hover,
.exo-factor-accordion:focus-within {
    border-color: #38BDF8;
    box-shadow: 0 0 0 1px rgb(56 189 248 / 16%),
        inset 0 0 16px rgb(56 189 248 / 4%);
}

.exo-factor-evidence-disclosure.exo-factor-accordion > summary {
    position: relative;
    display: block;
    min-height: 0;
    padding: 10px 34px 10px 10px;
    color: inherit;
    letter-spacing: normal;
    text-transform: none;
}

.exo-factor-evidence-disclosure.exo-factor-accordion > summary::after {
    position: absolute;
    top: 8px;
    right: 10px;
    margin: 0;
}

.exo-factor-evidence-disclosure.exo-factor-accordion > summary .exo-factor-title-row strong {
    font-size: 11px;
}

.exo-factor-evidence-disclosure.exo-factor-accordion > summary .exo-factor-score {
    font-size: 15px;
}

.exo-factor-evidence-disclosure.exo-factor-accordion > summary .exo-factor-meta {
    gap: 8px;
    font-size: 10px;
}

.exo-factor-evidence-disclosure.exo-factor-accordion[open] > summary {
    background: rgb(15 31 47 / 72%);
}

.exo-factor-evidence-disclosure summary {
    display: flex;
    min-height: 48px;
    padding: 9px 11px;
    align-items: center;
    justify-content: space-between;
    color: #CBD5E1;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .35px;
    list-style: none;
    text-transform: uppercase;
}

.exo-factor-evidence-disclosure summary::-webkit-details-marker {
    display: none;
}

.exo-factor-evidence-disclosure summary::after {
    margin-left: 8px;
    color: #7DD3FC;
    content: "+";
    font-family: Consolas, "Courier New", monospace;
    font-size: 14px;
}

.exo-factor-evidence-disclosure[open] summary {
    border-bottom: 1px solid #26384B;
}

.exo-factor-evidence-disclosure[open] summary::after {
    content: "−";
}

.exo-factor-evidence-disclosure summary:focus-visible {
    outline: 2px solid #38BDF8;
    outline-offset: -2px;
}

.exo-factor-evidence-list {
    display: grid;
}

.exo-factor-evidence-row {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(105px, .65fr)
        minmax(125px, .75fr) auto;
    gap: 10px 12px;
    padding: 12px;
    align-items: center;
    border-bottom: 1px solid #1E2D3D;
}

.exo-factor-evidence-row:last-child {
    border-bottom: 0;
}

.exo-factor-evidence-metric,
.exo-factor-evidence-reading,
.exo-factor-evidence-state {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.exo-factor-evidence-metric strong,
.exo-factor-evidence-reading strong {
    color: #E2E8F0;
    font-size: 14px;
    line-height: 1.25;
}

.exo-factor-evidence-reading {
    text-align: right;
}

.exo-factor-evidence-reading strong {
    font-family: Consolas, "Courier New", monospace;
}

.exo-factor-evidence-metric span,
.exo-factor-evidence-reading span,
.exo-factor-evidence-state > span:last-child {
    margin-top: 3px;
    color: #94A3B8;
    font-size: 12px;
    line-height: 1.45;
}

.exo-factor-evidence-state {
    gap: 2px;
}

.exo-factor-assessment {
    width: fit-content;
    padding: 2px 6px;
    border: 1px solid currentColor;
    border-radius: 2px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .25px;
    text-transform: uppercase;
}

.exo-evidence-supportive {
    color: #4ADE80;
}

.exo-evidence-balanced {
    color: #FACC15;
}

.exo-evidence-confirmation {
    color: #7dd3fc;
}

.exo-evidence-restrictive {
    color: #FB7185;
}

.exo-factor-evidence-source,
.exo-factor-evidence-source:visited {
    align-self: center;
    justify-self: end;
    color: #7DD3FC;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.exo-factor-evidence-source:hover,
.exo-factor-evidence-source:focus-visible {
    color: #BAE6FD;
    text-decoration: underline;
}

.exo-factor-evidence-source.is-disabled {
    color: #64748B;
}

.exo-factor-evidence-empty {
    padding: 12px;
    color: #94A3B8;
    font-size: 12px;
}

.exo-factor-evidence-actions {
    display: flex;
    padding: 10px 12px;
    justify-content: flex-end;
    border-top: 1px solid #1E2D3D;
    background: #091724;
}

.exo-factor-evidence-actions a,
.exo-factor-evidence-actions a:visited {
    color: #7DD3FC;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.exo-factor-evidence-actions a:hover,
.exo-factor-evidence-actions a:focus-visible {
    color: #BAE6FD;
    text-decoration: underline;
}

@media (max-width: 650px) {
    .exo-factor-evidence-disclosure summary {
        align-items: flex-start;
    }

    .exo-factor-evidence-row {
        grid-template-columns: 1fr;
    }

    .exo-factor-evidence-reading {
        text-align: left;
    }

    .exo-factor-evidence-source,
    .exo-factor-evidence-source:visited {
        justify-self: start;
    }
}

.research-visual-tile {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.research-visual-tile::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(
        90deg,
        rgba(3, 10, 18, .98) 0%,
        rgba(5, 16, 28, .91) 44%,
        rgba(6, 21, 34, .62) 72%,
        rgba(6, 21, 34, .34) 100%);
    pointer-events: none;
}

.research-tile-visual {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: .72;
    transform: scale(1.01);
    transition: opacity .18s ease, transform .22s ease;
}

.research-flag-visual {
    object-fit: fill;
    transform: none;
}

.research-visual-tile:hover .research-flag-visual {
    transform: none;
}

.research-asset-visual {
    object-position: 70% center;
}

.research-visual-tile:hover .research-tile-visual {
    opacity: .82;
    transform: scale(1.035);
}

.research-tile-content {
    position: relative;
    z-index: 2;
    display: flex;
    min-width: 0;
    height: 100%;
    align-items: flex-start;
    flex-direction: column;
    text-align: left;
}

.research-tile-content > span,
.research-tile-content > small {
    color: #CBD5E1;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .85);
}

.research-tile-content > b {
    margin-top: auto;
    color: #7DD3FC;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.research-home-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.research-home-terminal .research-rates-directory-card,
.research-home-terminal .research-indices-directory-card {
    grid-column: 1 / -1;
}

.research-exo-directory-row {
    grid-column: 1 / -1;
    min-width: 0;
}

.research-feature-visual-card > :not(.research-tile-visual) {
    position: relative;
    z-index: 2;
}

.research-feature-visual-card .research-directory-heading,
.research-feature-visual-card .research-directory-copy {
    max-width: 60%;
}

.research-feature-visual {
    object-position: right center;
    opacity: .68;
}

.research-rates-directory-card {
    min-height: 220px;
}

.research-home-terminal .research-index-directory {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.research-directory-copy {
    min-height: 50px;
    color: #94A3B8;
    font-size: 10px;
    line-height: 1.55;
}

.research-primary-action,
.research-primary-action:visited {
    display: inline-flex;
    padding: 8px 11px;
    align-items: center;
    border: 1px solid #0EA5E9;
    border-radius: 3px;
    color: #7DD3FC;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .55px;
    text-decoration: none;
    text-transform: uppercase;
}

.research-primary-action:hover {
    color: #F8FAFC;
    background: rgba(14, 165, 233, .12);
}

.research-asset-directory {
    display: grid;
    gap: 7px;
}

.research-asset-link,
.research-asset-link:visited {
    display: flex;
    padding: 8px 10px;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #314155;
    color: #E2E8F0;
    background: #0A1724;
    text-decoration: none;
}

.research-asset-link:hover {
    border-color: #38BDF8;
    color: #F8FAFC;
}

.research-asset-link span {
    display: flex;
    flex-direction: column;
}

.research-asset-link strong {
    font-family: Consolas, "Courier New", monospace;
    font-size: 12px;
}

.research-asset-link small {
    color: #94A3B8;
    font-size: 8px;
}

.research-asset-link b {
    color: #7DD3FC;
}

.research-evidence-route {
    display: flex;
    gap: 18px;
    padding: 16px 18px;
    align-items: center;
    justify-content: space-between;
}

.research-evidence-route > div {
    display: flex;
    flex-direction: column;
}

.research-evidence-route strong {
    margin: 2px 0;
    color: #E2E8F0;
    font-size: 12px;
}

.research-evidence-route small {
    color: #94A3B8;
    font-size: 9px;
}

.research-pair-hero {
    padding: 18px;
    overflow: hidden;
    border-top: 3px solid #F59E0B;
    background:
        radial-gradient(circle at 90% 8%, rgba(245, 158, 11, .1), transparent 27%),
        #1F2937;
}

.research-pair-hero.research-pair-bullish {
    border-top-color: #22C55E;
}

.research-pair-hero.research-pair-bearish {
    border-top-color: #EF4444;
}

.research-pair-hero-heading {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    justify-content: space-between;
}

.research-pair-state {
    display: flex;
    min-width: 155px;
    padding: 9px 12px;
    align-items: flex-end;
    flex-direction: column;
    border: 1px solid #3A4A5E;
    background: #091622;
}

.research-pair-state span,
.research-pair-command-strip span {
    color: #94A3B8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .75px;
}

.research-pair-state strong {
    color: #FACC15;
    font-size: 17px;
    text-transform: uppercase;
}

.research-pair-bullish .research-pair-state strong {
    color: #4ADE80;
}

.research-pair-bearish .research-pair-state strong {
    color: #FB7185;
}

.research-pair-state small,
.research-pair-command-strip small {
    color: #64748B;
    font-size: 11px;
    line-height: 1.35;
}

.research-pair-command-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid #334155;
    background: #07131E;
}

.research-pair-command-strip > div {
    display: flex;
    min-width: 0;
    min-height: 72px;
    padding: 10px 12px;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid #26384B;
}

.research-pair-command-strip > div:last-child {
    border-right: 0;
}

.research-pair-command-strip strong {
    overflow: hidden;
    color: #F8FAFC;
    font-family: Consolas, "Courier New", monospace;
    font-size: 23px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.research-pair-command-strip .research-pair-horizon {
    font-size: 16px;
}

.research-pair-positive {
    color: #4ADE80 !important;
}

.research-pair-negative {
    color: #FB7185 !important;
}

.research-pair-hero-footer {
    display: flex;
    gap: 14px;
    margin-top: 9px;
    justify-content: space-between;
    color: #64748B;
    font-size: 8px;
    text-transform: uppercase;
}

.research-pair-hero-footer a,
.research-pair-hero-footer a:visited {
    color: #7DD3FC;
}

.research-two-column-row {
    display: grid;
    grid-column: 1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: stretch;
}

.research-two-column-row > .card {
    height: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.research-compact-card {
    padding: 18px;
}

.research-compact-card h3 {
    margin-top: 0;
    font-size: 23px;
}

.research-compact-card h4 {
    font-size: 18px;
    line-height: 1.4;
}

.research-compact-card p {
    color: #CBD5E1;
    font-size: 16px;
    line-height: 1.65;
}

.research-macro-thesis {
    display: grid;
    gap: 14px;
}

.research-macro-thesis-lead {
    margin: 0;
    color: #F1F5F9;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.7;
}

.research-thesis-verdict {
    position: relative;
    overflow: hidden;
    padding: 15px 17px 16px;
    border: 1px solid #3B5E7B;
    border-left: 4px solid #38BDF8;
    border-radius: 6px;
    background:
        linear-gradient(105deg, rgba(14, 42, 66, .96), rgba(7, 20, 35, .94));
    box-shadow: inset 0 1px 0 rgba(148, 197, 231, .1);
}

.research-thesis-verdict > span {
    display: block;
    margin-bottom: 6px;
    color: #7DD3FC;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.research-macro-thesis-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.research-macro-thesis-point {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid #26364D;
    border-left-width: 3px;
    border-radius: 4px;
    background: rgba(8, 18, 34, 0.78);
}

.research-macro-thesis-point > span {
    display: block;
    margin-bottom: 5px;
    color: #93C5FD;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.research-macro-thesis-point p {
    margin: 0;
    color: #CBD5E1;
    font-size: 15px;
    line-height: 1.55;
}

.research-thesis-positive {
    border-left-color: #22C55E;
}

.research-thesis-caution {
    border-left-color: #F59E0B;
}

.research-thesis-neutral {
    border-left-color: #64748B;
}

@media (max-width: 900px) {
    .research-macro-thesis-grid {
        grid-template-columns: 1fr;
    }
}

.research-window-card p {
    margin: 7px 0;
}

.research-window-card strong {
    color: #7DD3FC;
}

.research-risk-monitor-row .metric-evidence-scroll {
    max-width: 100%;
}

.research-risk-monitor-row .research-audit-table {
    min-width: 620px;
}

.research-risk-monitor-row .research-audit-table th {
    font-size: 12px;
}

.research-risk-monitor-row .research-audit-table td {
    font-size: 15px;
    line-height: 1.5;
}

.research-risk-monitor-row .research-state {
    font-size: 11px;
}

/* Cross-pair Research: one consistent Dashboard-readable type scale */
.research-pair-page {
    font-size: 15px;
}

.research-pair-page .card h2,
.research-pair-page .card h3 {
    font-size: 23px;
    line-height: 1.25;
}

.research-pair-page .card h4 {
    font-size: 18px;
    line-height: 1.4;
}

.research-pair-page .card p,
.research-pair-page .card li {
    font-size: 16px;
    line-height: 1.65;
}

.research-pair-page .research-pair-hero p {
    font-size: 14px;
}

.research-pair-page .brain-kicker {
    font-size: 12px;
}

.research-pair-page .research-pair-state span,
.research-pair-page .research-pair-command-strip span {
    font-size: 12px;
}

.research-pair-page .research-pair-state small,
.research-pair-page .research-pair-command-strip small {
    font-size: 12px;
    line-height: 1.45;
}

.research-pair-page .data-verification-subtitle {
    font-size: 13px;
    line-height: 1.45;
}

.research-pair-page .data-coverage {
    font-size: 14px;
}

.research-pair-page .data-status,
.research-pair-page .data-empty {
    font-size: 13px;
    line-height: 1.5;
}

.research-pair-page .metric-evidence-table {
    font-size: 15px;
}

.research-pair-page .metric-evidence-table th {
    font-size: 13px;
    line-height: 1.4;
}

.research-pair-page .metric-evidence-table td {
    font-size: 15px;
    line-height: 1.5;
}

.research-pair-page .metric-detail {
    font-size: 14px;
    line-height: 1.55;
}

.research-thesis-desk-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    overflow: hidden;
    border: 1px solid #2b465f;
    border-radius: 7px;
    background: rgba(7, 18, 31, .92);
}

.research-thesis-desk-metric {
    min-width: 0;
    padding: 9px 11px;
    border-left: 2px solid #64748b;
    border-right: 1px solid #22384d;
}

.research-thesis-desk-metric:last-child {
    border-right: 0;
}

.research-thesis-desk-metric.research-thesis-positive {
    border-left-color: #22c55e;
}

.research-thesis-desk-metric.research-thesis-caution {
    border-left-color: #f59e0b;
}

.research-thesis-desk-metric > span {
    display: block;
    margin-bottom: 3px;
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.research-thesis-desk-metric > strong {
    display: block;
    overflow-wrap: anywhere;
    color: #f8fafc;
    font-size: 15px;
    line-height: 1.35;
}

.external-pair-factor-evidence-row > td,
.external-factor-evidence-row > td {
    padding: 0 14px 14px;
    background: rgba(15, 23, 42, 0.42);
}

.external-factor-evidence {
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.5);
}

.external-factor-evidence > summary {
    padding: 12px 14px;
    color: #BFDBFE;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
}

.external-factor-evidence > summary span {
    color: #94A3B8;
    font-weight: 500;
}

.external-factor-evidence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 0 14px 14px;
}

.external-factor-evidence-grid.is-shared {
    grid-template-columns: minmax(0, 1fr);
}

.external-factor-evidence-grid h4 {
    margin: 0 0 8px;
    color: #E2E8F0;
    font-size: 14px;
}

.external-factor-observation-table {
    min-width: 0;
}

.external-factor-observation-table th,
.external-factor-observation-table td {
    padding: 8px 9px;
    font-size: 12px;
}

@media (max-width: 760px) {
    .external-factor-evidence-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .external-factor-evidence-grid section {
        min-width: 0;
        overflow-x: auto;
    }
}

.portfolio-closed-monthly-summary {
    display: grid;
    gap: 12px;
    margin: 12px 0;
}

.portfolio-closed-month-block {
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(132, 220, 255, .26);
    background: rgba(8, 24, 37, .82);
}

.portfolio-closed-month-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.portfolio-closed-month-heading > span {
    color: #f4f8fa;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.portfolio-closed-month-heading > small {
    color: #91a8b8;
    font-size: 13px;
}

.portfolio-closed-movement-summary {
    margin: 10px 0 0;
}

@media (max-width: 640px) {
    .portfolio-closed-month-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }
}

.research-pair-page .research-score-tile span {
    font-size: 12px;
}

.research-pair-page .research-score-tile strong {
    font-size: 24px;
}

.research-pair-page .research-score-tile small {
    font-size: 13px;
    line-height: 1.5;
}

.research-pair-page .research-table-note {
    font-size: 12px;
}

.research-pair-page .research-layer-tag,
.research-pair-page .research-edge,
.research-pair-page .research-state {
    font-size: 12px;
}

.research-pair-page .research-macro-link {
    font-size: 12px;
}

.research-pair-page .research-evidence-strip span,
.research-pair-page .research-market-strip span {
    font-size: 12px;
}

.research-pair-page .research-evidence-strip strong {
    font-size: 15px;
    line-height: 1.4;
}

.research-pair-page .research-market-strip strong {
    font-size: 19px;
}

.research-pair-page .research-market-strip small {
    font-size: 13px;
    line-height: 1.5;
}

.research-pair-page .pair-stat-guide {
    font-size: 14px;
    line-height: 1.55;
}

.research-pair-page .technical-primary-button,
.research-pair-page .technical-timeframes button,
.research-pair-page .technical-drawing-tools button {
    font-size: 13px;
}

.research-pair-page .technical-overall-state small,
.research-pair-page .technical-note {
    font-size: 14px;
    line-height: 1.55;
}

.research-pair-page .technical-explanation span {
    font-size: 12px;
}

.research-pair-page .technical-explanation p,
.research-pair-page .technical-load-error {
    font-size: 14px;
    line-height: 1.55;
}

.research-pair-page .research-pair-hero-footer {
    font-size: 12px;
}

/* Individual Currency Research: approved Dashboard-readable type scale. */
.research-currency-page {
    font-size: 15px;
}

.research-currency-page .card h2,
.research-currency-page .card h3 {
    font-size: 23px;
    line-height: 1.25;
}

.research-currency-page .card h4 {
    font-size: 18px;
    line-height: 1.4;
}

.research-currency-page .card p,
.research-currency-page .card li {
    font-size: 16px;
    line-height: 1.65;
}

.research-currency-page .brain-hero p,
.research-currency-page .rates-workspace-heading p,
.research-currency-page .rates-technical-heading p,
.research-currency-page .rates-method-boundary p {
    font-size: 14px;
    line-height: 1.55;
}

.research-currency-page .brain-kicker {
    font-size: 12px;
}

.research-currency-page .data-verification-subtitle {
    font-size: 13px;
    line-height: 1.45;
}

.research-currency-page .data-coverage {
    font-size: 14px;
}

.research-currency-page .data-status,
.research-currency-page .data-empty {
    font-size: 13px;
    line-height: 1.5;
}

.research-currency-page .metric-evidence-table {
    font-size: 15px;
}

.research-currency-page .metric-evidence-table th {
    font-size: 13px;
    line-height: 1.4;
}

.research-currency-page .metric-evidence-table td {
    font-size: 15px;
    line-height: 1.5;
}

.research-currency-page .metric-detail {
    font-size: 14px;
    line-height: 1.55;
}

.research-currency-page .research-score-tile span,
.research-currency-page .research-table-note,
.research-currency-page .research-layer-tag,
.research-currency-page .research-edge,
.research-currency-page .research-state,
.research-currency-page .research-macro-link,
.research-currency-page .research-evidence-strip span,
.research-currency-page .research-market-strip span,
.research-currency-page .external-research-confirmation-signal > span {
    font-size: 12px;
}

.research-currency-page .research-score-tile strong {
    font-size: 24px;
}

.research-currency-page .research-score-tile small {
    font-size: 13px;
    line-height: 1.5;
}

.research-currency-page .research-evidence-strip strong {
    font-size: 15px;
    line-height: 1.4;
}

.research-currency-page .research-market-strip strong {
    font-size: 19px;
}

.research-currency-page .research-market-strip small {
    font-size: 13px;
    line-height: 1.5;
}

.research-currency-page .external-research-confirmation-signal > strong,
.research-currency-page .external-research-confirmation-signal > small {
    font-size: 14px;
    line-height: 1.5;
}

@media (max-width: 1000px) {
    .research-currency-directory {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .research-pair-command-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .research-two-column-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .research-home-hero,
    .research-pair-hero-heading,
    .research-evidence-route {
        align-items: flex-start;
        flex-direction: column;
    }

    .research-home-health,
    .research-pair-state {
        align-items: flex-start;
    }

    .research-home-stats,
    .research-home-grid,
    .research-currency-directory {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .research-directory-heading,
    .research-pair-hero-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* ---------------------------------------------------------
   Lightweight institutional indices workspace
   --------------------------------------------------------- */
.indices-workspace,
.index-research-page {
    font-size: 15px;
}

.indices-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.indices-hero h1 {
    margin: 0.2rem 0 0.4rem;
    font-size: 28px;
}

.indices-hero p,
.index-research-page .card p {
    font-size: 16px;
    line-height: 1.65;
}

.indices-directory-card,
.indices-evidence-card {
    margin-bottom: 1rem;
}

.index-market-group + .index-market-group {
    margin-top: 18px;
}

.index-market-group-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 8px;
    padding: 7px 10px;
    border-left: 3px solid #38BDF8;
    background: rgb(8 47 73 / 48%);
}

.index-market-group-heading h3 {
    margin: 0;
    color: #E0F2FE;
    font-size: 13px;
    letter-spacing: .08em;
}

.index-market-group-heading span {
    color: #A5C9DA;
    font-size: 12px;
}

.indices-workspace-grid .global-index-tile {
    min-height: 190px;
}

.indices-workspace .global-index-tile {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.indices-workspace .global-index-tile::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: "";
    pointer-events: none;
    background: linear-gradient(90deg,
        rgba(8, 15, 25, .22),
        rgba(8, 15, 25, .56));
}

.indices-workspace .index-tile-flag {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
    opacity: .12;
    filter: saturate(.38) contrast(.80);
    pointer-events: none;
}

.indices-workspace .global-index-tile > :not(.index-tile-flag) {
    position: relative;
    z-index: 2;
}

.indices-workspace .global-index-heading strong {
    color: #f8fafc;
}

.indices-workspace table th,
.index-research-page table th {
    font-size: 13px;
    line-height: 1.4;
}

.indices-workspace table td,
.index-research-page table td {
    font-size: 15px;
    line-height: 1.5;
}

.index-peer-strip,
.research-index-directory {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    margin: 0.75rem 0;
}

.index-peer-strip a,
.research-index-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid #28516a;
    background: #071722;
    color: #dcecf6;
    text-decoration: none;
}

.index-peer-strip a:hover,
.index-peer-strip a:visited,
.research-index-link:hover,
.research-index-link:visited {
    color: #f3fbff;
    border-color: #62d4f5;
}

.research-index-link strong {
    color: #62d4f5;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.index-peer-strip .index-peer-link {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.index-peer-strip .index-peer-link::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: "";
    pointer-events: none;
    background: linear-gradient(90deg,
        rgba(8, 15, 25, .22),
        rgba(8, 15, 25, .56));
}

.index-peer-strip .index-peer-flag {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
    opacity: .21;
    filter: saturate(.58) contrast(.90);
    pointer-events: none;
}

.index-peer-strip .index-peer-link > :not(.index-peer-flag) {
    position: relative;
    z-index: 2;
}

.index-peer-strip span,
.index-peer-strip strong {
    color: #f8fafc;
    font-weight: 800;
    letter-spacing: 0.06em;
}

.research-index-link.research-visual-tile {
    min-height: 88px;
    align-items: stretch;
}

.research-index-link .research-tile-content > span {
    line-height: 1.35;
}

.index-peer-strip strong {
    font-size: 18px;
}

@media (max-width: 900px) {
    .indices-hero {
        display: block;
    }

    .index-peer-strip,
    .research-index-directory {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Phase 19: institutional currency ranking */
.institutional-rankings-card .metric-evidence-scroll {
    margin-top: 12px;
    border-top: 1px solid rgba(148, 163, 184, 0.24);
}

.institutional-rankings-table {
    min-width: 1180px;
    table-layout: fixed;
    font-variant-numeric: tabular-nums;
}

.institutional-rankings-table th,
.institutional-rankings-table td {
    white-space: nowrap;
    text-align: center;
}

.institutional-rankings-table thead th {
    padding: 9px 6px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.34);
    background: rgba(10, 18, 31, 0.36);
    line-height: 1.1;
    vertical-align: bottom;
}

.institutional-rankings-table tbody td {
    padding: 7px 6px;
}

.institutional-rankings-table tbody tr:nth-child(even) {
    background: rgba(148, 163, 184, 0.025);
}

.institutional-rankings-table tbody tr:hover {
    background: rgba(76, 201, 240, 0.055);
}

.institutional-rankings-table .ranking-col-rank { width: 52px; }
.institutional-rankings-table .ranking-col-currency { width: 58px; }
.institutional-rankings-table .ranking-col-strength { width: 168px; }
.institutional-rankings-table .ranking-col-score { width: 58px; }
.institutional-rankings-table .ranking-col-change { width: 72px; }
.institutional-rankings-table .ranking-col-signal { width: 112px; }
.institutional-rankings-table .ranking-col-factors { width: 286px; }
.institutional-rankings-table .ranking-col-agreement { width: 92px; }
.institutional-rankings-table .ranking-col-coverage { width: 92px; }
.institutional-rankings-table .ranking-col-cot { width: 132px; }

.ranking-heading-primary,
.ranking-heading-context {
    display: block;
}

.ranking-heading-context {
    margin-top: 3px;
    color: #708196;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.institutional-rankings-table .institutional-score-track {
    margin-inline: auto;
    width: 150px;
}

.institutional-rankings-table .rank-score {
    text-align: center;
}

.institutional-rankings-table .scored-factor-heading,
.institutional-rankings-table .scored-factor-cell {
    width: 286px;
    min-width: 286px;
    max-width: 286px;
    white-space: normal;
}

.institutional-rankings-table .scored-factor-cell {
    padding-block: 5px;
}

.scored-factor-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 2px;
    background: rgba(7, 14, 25, 0.22);
}

.scored-factor-block {
    display: flex;
    min-width: 0;
    min-height: 36px;
    padding: 3px 3px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-variant-numeric: tabular-nums;
    line-height: 1.05;
    text-align: center;
}

.scored-factor-block + .scored-factor-block {
    border-left: 1px solid rgba(148, 163, 184, 0.22);
}

.scored-factor-block.ranking-strong-bullish,
.scored-factor-block.ranking-constructive {
    background: transparent;
}

.scored-factor-block.ranking-neutral {
    background: transparent;
}

.scored-factor-block.ranking-defensive,
.scored-factor-block.ranking-strong-bearish {
    background: transparent;
}

.scored-factor-block.ranking-unavailable {
    color: #94a3b8;
}

.scored-factor-block small {
    color: #b8c7d4;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.scored-factor-block strong {
    display: block;
    max-width: 100%;
    margin-top: 3px;
    overflow: hidden;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.volatility-confirmation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
}

.volatility-confirmation-block {
    display: flex;
    min-width: 0;
    min-height: 38px;
    padding: 4px 3px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid currentColor;
    border-radius: 3px;
    text-align: center;
    line-height: 1.05;
}

.volatility-confirmation-block.ranking-constructive {
    background: rgba(34, 197, 94, 0.18);
}

.volatility-confirmation-block.ranking-neutral {
    background: rgba(234, 179, 8, 0.18);
}

.volatility-confirmation-block.ranking-defensive {
    background: rgba(239, 68, 68, 0.18);
}

.volatility-confirmation-block small {
    color: #b8c7d4;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.volatility-confirmation-block strong {
    display: block;
    max-width: 100%;
    margin-top: 3px;
    overflow: hidden;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.institutional-rankings-card .rankings-header,
.institutional-rankings-card .rankings-header h2,
.institutional-rankings-card .rankings-subtitle {
    text-align: left;
}

.institutional-rankings-card .rankings-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.ranking-method-line {
    display: block;
}

.ranking-method-line + .ranking-method-line {
    margin-top: 3px;
}

.ranking-method-line strong {
    margin-right: 6px;
    color: #91a4b9;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.institutional-rankings-card .data-coverage {
    flex: 0 0 auto;
    width: max-content;
    max-width: 100%;
    padding: 5px 8px;
    border: 1px solid rgba(242, 201, 76, 0.48);
    border-radius: 2px;
    background: rgba(242, 201, 76, 0.06);
}

@media (max-width: 900px) {
    .institutional-rankings-card .rankings-header {
        display: block;
    }

    .institutional-rankings-card .data-coverage {
        display: inline-block;
        margin-top: 8px;
    }
}

.institutional-score-track {
    position: relative;
    width: 230px;
    height: 12px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.35);
    border-radius: 2px;
    background: linear-gradient(90deg,
        rgba(239, 68, 68, 0.12) 0%,
        rgba(245, 158, 11, 0.08) 42%,
        rgba(234, 179, 8, 0.10) 50%,
        rgba(34, 197, 94, 0.08) 58%,
        rgba(16, 185, 129, 0.12) 100%);
}

.institutional-score-midpoint {
    position: absolute;
    z-index: 2;
    top: -1px;
    bottom: -1px;
    left: 50%;
    width: 1px;
    background: #f8fafc;
    opacity: 0.9;
}

.institutional-score-fill {
    position: absolute;
    top: 1px;
    bottom: 1px;
    max-width: 50%;
}

.institutional-score-positive { left: 50%; }
.institutional-score-negative { right: 50%; }

.institutional-score-fill.ranking-strong-bullish { background: #00d084; }
.institutional-score-fill.ranking-constructive { background: #53d769; }
.institutional-score-fill.ranking-neutral { background: #f2c94c; }
.institutional-score-fill.ranking-defensive { background: #f2994a; }
.institutional-score-fill.ranking-strong-bearish { background: #eb5757; }

.ranking-signal {
    display: inline-block;
    min-width: 104px;
    padding: 3px 7px;
    border: 1px solid currentColor;
    border-radius: 2px;
    text-align: center;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.035em;
}

.ranking-strong-bullish { color: #00d084; }
.ranking-constructive { color: #65df7b; }
.ranking-neutral { color: #f2c94c; }
.ranking-defensive { color: #f2994a; }
.ranking-strong-bearish { color: #eb5757; }

.ranking-delta {
    font-variant-numeric: tabular-nums;
    color: #cbd5e1;
}

.institutional-rankings-table .rank-position {
    color: #9fb0c2;
    font-size: 15px;
    letter-spacing: 0.01em;
}

.institutional-rankings-table .rank-currency {
    text-align: left;
}

.institutional-rankings-table .rank-currency .trade-pair-link {
    color: #f8fafc;
    font-size: 16px;
    letter-spacing: 0.035em;
}

.ranking-compact-metric {
    display: grid;
    width: 72px;
    margin-inline: auto;
    gap: 5px;
    color: #e5edf5;
    font-size: 13px;
    line-height: 1;
}

.ranking-compact-metric strong {
    font-weight: 750;
}

.ranking-micro-track {
    display: block;
    height: 3px;
    overflow: hidden;
    border-radius: 1px;
    background: rgba(148, 163, 184, 0.17);
}

.ranking-micro-track > span {
    display: block;
    height: 100%;
    background: #50a7d9;
}

.ranking-coverage-metric .ranking-micro-track > span {
    background: #65df7b;
}

.ranking-cot-cell .ranking-signal {
    width: 118px;
    min-width: 118px;
    max-width: 118px;
    box-sizing: border-box;
}

.ranking-cot-detail {
    display: flex;
    margin-top: 4px;
    justify-content: center;
    gap: 8px;
    color: #8191a5;
    font-size: 10px;
    line-height: 1.1;
    min-height: 11px;
}

.ranking-cot-detail-na {
    align-items: center;
    color: #718096;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}

.ranking-cot-detail span + span {
    position: relative;
    padding-left: 8px;
}

.ranking-cot-detail span + span::before {
    position: absolute;
    left: 0;
    content: "\00b7";
}

.ranking-method-note {
    margin-top: 10px;
    color: #94a3b8;
    font-size: 0.76rem;
    line-height: 1.45;
}

body {
    margin: 0;
    background: var(--bg);
    color: var(--text);
    font-family: "Segoe UI",Arial,sans-serif;
}

header {
    background: var(--panel);
    border-bottom: 1px solid var(--border);
    padding: 24px;
}

main {
    padding: 30px;
}

.card {
    background: var(--panel);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 20px;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th {
    padding: 12px;
    border-bottom: 1px solid var(--border);
}

td {
    padding: 10px;
    border-bottom: 1px solid #2D3748;
}

.matrix-table {
    table-layout: fixed;
}

.matrix-header {
    text-align: center;
    font-weight: 700;
}

.matrix-cell {
    width: 82px;
    height: 72px;
    border: 1px solid var(--border);
    position: relative;
    text-align: center;
    vertical-align: middle;
    transition: .18s ease;
    cursor: default;
    border-radius: 6px;
}

    .matrix-cell:hover {
        transform: scale(1.08);
        box-shadow: 0 0 12px rgba(255,255,255,.18);
    }

.diagonal {
    background: #374151;
}

.bias {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.conviction {
    margin-top: 4px;
    font-size: 18px;
    font-weight: 700;
}

/*=========================
    Heat Colours
==========================*/

.green5 {
    background: var(--green5);
}

.green4 {
    background: var(--green4);
}

.green3 {
    background: var(--green3);
}

.green2 {
    background: var(--green2);
}

.green1 {
    background: var(--green1);
    color: #111827;
}

.red5 {
    background: var(--red5);
}

.red4 {
    background: var(--red4);
}

.red3 {
    background: var(--red3);
}

.red2 {
    background: var(--red2);
}

.red1 {
    background: var(--red1);
    color: #111827;
}

.yellow {
    background: var(--yellow);
}

.matrix-watch-bullish {
    background: #17543A;
    color: #D1FAE5;
}

.matrix-watch-bearish {
    background: #6B2B35;
    color: #FEE2E2;
}

.matrix-watch-neutral {
    background: #6B5717;
    color: #FEF3C7;
}

.matrix-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 12px;
}

.matrix-title-row h2 {
    margin: 0;
}

.matrix-subtitle {
    margin-top: 4px;
    color: #9CA3AF;
    font-size: 11px;
}

.matrix-legend {
    display: flex;
    gap: 14px;
    color: #D1D5DB;
    font-size: 11px;
    white-space: nowrap;
}

.matrix-legend span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.matrix-key {
    width: 9px;
    height: 9px;
    border-radius: 2px;
}

.matrix-key-qualified {
    background: #22C55E;
}

.matrix-key-watch-up {
    background: #22C55E;
}

.matrix-key-watch-down {
    background: #EF4444;
}

/*==========================================================
    Audited Brain Workspace
==========================================================*/

.brain-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    border-color: #2563EB;
    background: linear-gradient(135deg, #172033, #1F2937);
}

.brain-hero h1 {
    margin: 4px 0 8px;
}

.brain-hero p {
    margin: 0;
    color: var(--muted);
}

.brain-kicker {
    color: #60A5FA;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.brain-health {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 7px;
    min-width: 220px;
}

.brain-health small,
.brain-summary-card small {
    color: var(--muted);
}

.brain-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.brain-validation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.brain-archive-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 16px 0;
}

.brain-archive-purpose {
    border-left: 3px solid #60A5FA;
    background: rgba(30, 64, 175, .12);
    color: #CBD5E1;
    padding: 12px 14px;
    line-height: 1.55;
}

.brain-outcome-table th,
.brain-outcome-table td {
    min-width: 130px;
    vertical-align: top;
}

.brain-outcome-table th:nth-child(2),
.brain-outcome-table td:nth-child(2) {
    min-width: 220px;
}

.brain-outcome-table th:nth-child(8),
.brain-outcome-table td:nth-child(8),
.brain-outcome-table th:nth-child(9),
.brain-outcome-table td:nth-child(9) {
    min-width: 300px;
    line-height: 1.45;
}

.brain-active-forecast-header {
    margin-top: 22px;
}

.brain-active-forecast-table th,
.brain-active-forecast-table td {
    min-width: 125px;
    vertical-align: top;
}

.brain-active-forecast-table th:nth-child(2),
.brain-active-forecast-table td:nth-child(2) {
    min-width: 220px;
}

.brain-active-forecast-table th:nth-child(8),
.brain-active-forecast-table td:nth-child(8) {
    min-width: 210px;
}

.brain-active-forecast-table th:nth-child(9),
.brain-active-forecast-table td:nth-child(9) {
    min-width: 360px;
    line-height: 1.45;
}

.brain-summary-card {
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.brain-summary-card > span {
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .8px;
}

.brain-summary-card > strong {
    color: #F9FAFB;
    font-size: 17px;
}

.brain-ranking-table {
    min-width: 1380px;
}

.research-factor-table {
    min-width: 980px;
    font-variant-numeric: tabular-nums;
}

.research-factor-table thead tr:first-child th {
    background: #111827;
    border-bottom-color: #526174;
}

.research-factor-table thead tr:last-child th {
    background: #0B1220;
    color: #7DD3FC;
    font-size: 10px;
}

.research-currency-heading {
    color: #FBBF24 !important;
    text-align: center !important;
    font-size: 13px;
}

.research-table-note {
    display: block;
    margin-top: 3px;
    color: #64748B;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

.research-score-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 14px 0 4px;
}

.research-score-tile {
    padding: 12px 14px;
    border: 1px solid #334155;
    border-left: 3px solid #38BDF8;
    background: linear-gradient(180deg, #111827, #0B1220);
}

.research-score-tile span {
    display: block;
    color: #94A3B8;
    font-size: 10px;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.research-score-tile strong {
    display: block;
    margin-top: 5px;
    color: #F8FAFC;
    font-size: 20px;
    font-variant-numeric: tabular-nums;
}

.research-score-tile small {
    display: block;
    margin-top: 6px;
    color: #94A3B8;
    font-size: 10px;
    line-height: 1.35;
}

.research-score-differential {
    border-left-color: #FBBF24;
}

.verified-asset-signal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}

.verified-asset-signal {
    display: block;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 218px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    color: #F8FAFC;
    text-decoration: none;
    transition: transform 120ms ease, border-color 120ms ease;
}

.verified-asset-signal::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: "";
    pointer-events: none;
    background: linear-gradient(90deg,
        rgba(8, 15, 25, .22),
        rgba(8, 15, 25, .56));
}

.verified-asset-artwork {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: .24;
    filter: saturate(.62) contrast(.94);
    pointer-events: none;
}

.verified-asset-signal > :not(.verified-asset-artwork) {
    position: relative;
    z-index: 2;
}

.verified-asset-signal:hover,
.verified-asset-signal:focus-visible {
    transform: translateY(-2px);
    border-color: #FACC15;
    color: #FFF;
}

.asset-signal-strong-bullish { background: var(--green5); }
.asset-signal-bullish { background: var(--green3); }
.asset-signal-neutral { background: #854D0E; }
.asset-signal-bearish { background: var(--red3); }
.asset-signal-strong-bearish { background: var(--red5); }
.asset-signal-unavailable { background: #334155; }

.verified-asset-pair {
    color: #E2E8F0;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
}

.verified-asset-bias {
    margin-top: 8px;
    font-size: .84rem;
    font-weight: 700;
    text-transform: uppercase;
}

.verified-asset-score {
    margin-top: 4px;
    font-size: 1.75rem;
    font-weight: 800;
}

.verified-asset-score span {
    margin-left: 2px;
    color: #CBD5E1;
    font-size: .75rem;
    font-weight: 600;
}

.verified-asset-meta,
.verified-asset-boundary {
    margin-top: 8px;
    color: #CBD5E1;
    font-size: .72rem;
}

.asset-research-score-strip {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-top: 18px;
}

.research-layer-tag,
.research-edge {
    display: inline-block;
    padding: 3px 7px;
    border: 1px solid #334155;
    border-radius: 3px;
    background: #111827;
    color: #CBD5E1;
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.research-weight-cell,
.research-number {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.research-edge-positive {
    color: #4ADE80 !important;
}

.research-edge-negative {
    color: #F87171 !important;
}

.research-edge-neutral {
    color: #FBBF24 !important;
}

.research-macro-link {
    color: #7DD3FC;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .35px;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.research-macro-link:hover {
    color: #BAE6FD;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.research-macro-links {
    min-width: 105px;
}

.research-macro-links .research-macro-link {
    display: block;
    margin: 2px 0;
}

.research-audit-table {
    min-width: 880px;
    font-variant-numeric: tabular-nums;
}

.research-total-row td {
    border-top: 2px solid #FBBF24 !important;
    background: rgba(251, 191, 36, .07);
    color: #F8FAFC;
    font-variant-numeric: tabular-nums;
}

.research-total-checks .research-state {
    display: block;
    margin: 2px 0;
}

.research-state {
    display: inline-block;
    padding: 3px 7px;
    border: 1px solid currentColor;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .45px;
    text-transform: uppercase;
    white-space: nowrap;
}

.research-state-green {
    color: #4ADE80 !important;
}

.research-state-amber {
    color: #FBBF24 !important;
}

.research-state-red {
    color: #F87171 !important;
}

.research-state-grey {
    color: #94A3B8 !important;
}

.research-evidence-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1px;
    margin-top: 14px;
    border: 1px solid #334155;
    background: #334155;
}

.research-evidence-strip > div {
    min-width: 0;
    padding: 12px;
    background: #0B1220;
}

.research-evidence-strip span {
    display: block;
    color: #94A3B8;
    font-size: 9px;
    letter-spacing: .55px;
    text-transform: uppercase;
}

.research-evidence-strip strong {
    display: block;
    margin-top: 5px;
    color: #F8FAFC;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.research-currency-score-strip {
    margin-bottom: 14px;
}

.research-market-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-top: 14px;
    border: 1px solid #334155;
    background: #334155;
}

.research-market-strip > div {
    padding: 13px 14px;
    background: #0B1220;
}

.research-market-strip span {
    display: block;
    color: #94A3B8;
    font-size: 10px;
    letter-spacing: .6px;
    text-transform: uppercase;
}

.research-market-strip strong {
    display: block;
    margin-top: 5px;
    color: #F8FAFC;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
}

.research-market-strip small {
    display: block;
    margin-top: 7px;
    color: #94A3B8;
    font-size: 10px;
    line-height: 1.4;
}

.currency-factor-table {
    min-width: 1080px;
    font-variant-numeric: tabular-nums;
}

.currency-factor-table .owner-institutional-factor-read-row > td,
.research-factor-table .owner-institutional-factor-read-row > td {
    padding: 0 10px 10px;
    border-top: 0;
    background: rgba(8, 15, 28, .34);
}

.currency-factor-table .owner-institutional-factor-read-row .institutional-factor-read,
.research-factor-table .owner-institutional-factor-read-row .institutional-factor-read {
    width: 100%;
    margin-top: 0;
    box-sizing: border-box;
}

.owner-factor-evidence-dropdown {
    width: 100%;
    margin-top: 8px;
    box-sizing: border-box;
}

.owner-factor-evidence-dropdown .external-factor-observation-table {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
}

.owner-factor-evidence-dropdown .external-factor-observation-table th,
.owner-factor-evidence-dropdown .external-factor-observation-table td {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}

.currency-factor-table tbody tr:hover {
    background: rgba(56, 189, 248, .06);
}

.research-terminal-label {
    margin: 10px 0;
    color: #FBBF24;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .45px;
    text-transform: uppercase;
}

.macro-evidence-anchor {
    scroll-margin-top: 18px;
}

.macro-evidence-anchor:target {
    outline: 1px solid rgba(56, 189, 248, .8);
    outline-offset: 3px;
}

@media (max-width: 800px) {
    .research-score-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .research-market-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .research-evidence-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1200px) and (min-width: 801px) {
    .research-evidence-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.brain-factor-grid {
    display: grid;
    gap: 10px;
}

.brain-factor-details {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(17, 24, 39, .45);
}

.brain-factor-details summary {
    display: flex;
    justify-content: space-between;
    padding: 13px 15px;
    cursor: pointer;
}

.brain-factor-details table {
    border-top: 1px solid var(--border);
}

.brain-limitations,
.brain-boundary-card ul {
    color: var(--muted);
    line-height: 1.6;
}

@media (max-width: 1100px) {
    .brain-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brain-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .brain-hero {
        flex-direction: column;
    }

    .brain-health {
        align-items: flex-start;
    }

    .brain-summary-grid {
        grid-template-columns: 1fr;
    }

    .brain-validation-grid {
        grid-template-columns: 1fr;
    }

    .brain-archive-grid {
        grid-template-columns: 1fr;
    }
}
/*==========================================================
    Trade Board
==========================================================*/

.tradeboard-card {
    padding: 18px;
}

.tradeboard-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 14px;
}

    .tradeboard-header h2 {
        margin: 0;
        font-size: 22px;
        font-weight: 700;
        color: #F9FAFB;
    }

.tradeboard-subtitle {
    margin-top: 3px;
    font-size: 11px;
    color: #9CA3AF;
    text-transform: uppercase;
    letter-spacing: .8px;
}

.tradeboard-method-line {
    display: block;
}

.tradeboard-method-line + .tradeboard-method-line {
    margin-top: 3px;
}

.tradeboard-method-line strong {
    margin-right: 6px;
    color: #91a4b9;
    font-weight: 800;
}

.tradeboard-table-scroll {
    overflow-x: auto;
    border-top: 1px solid rgba(148, 163, 184, .24);
}

.tradeboard-table {
    width: 100%;
    min-width: 1400px;
    border-collapse: collapse;
    table-layout: fixed;
    font-variant-numeric: tabular-nums;
}

.tradeboard-table .tradeboard-col-rank { width: 44px; }
.tradeboard-table .tradeboard-col-pair { width: 88px; }
.tradeboard-table .tradeboard-col-bias { width: 72px; }
.tradeboard-table .tradeboard-col-gap { width: 66px; }
.tradeboard-table .tradeboard-col-conviction { width: 116px; }
.tradeboard-table .tradeboard-col-status { width: 82px; }
.tradeboard-table .tradeboard-col-momentum { width: 132px; }
.tradeboard-table .tradeboard-col-market { width: 160px; }
.tradeboard-table .tradeboard-col-carry { width: 128px; }
.tradeboard-table .tradeboard-col-cross-asset { width: 88px; }
.tradeboard-table .tradeboard-col-structure { width: 116px; }
.tradeboard-table .tradeboard-col-technicals { width: 242px; }
.tradeboard-table .tradeboard-col-journal { width: 96px; }

.tradeboard-table thead th,
.tradeboard-table tbody td {
    box-sizing: border-box;
    padding-right: 4px;
    padding-left: 4px;
}

    .tradeboard-table thead th {
        padding: 9px 6px;
        border-bottom: 1px solid rgba(148, 163, 184, .34);
        background: rgba(10, 18, 31, .36);
        color: #9CA3AF;
        font-size: 11px;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: .7px;
        line-height: 1.1;
        vertical-align: bottom;
    }

    .tradeboard-table tbody td {
        padding: 8px 6px;
        border-bottom: 1px solid #2F3A4C;
        text-align: center;
        vertical-align: middle;
    }

    .tradeboard-table tbody tr:hover {
        background: rgba(76, 201, 240, .045);
    }

.tradeboard-table tbody tr:not(.tradeboard-section-row):not(.global-index-table-row):nth-child(even) {
    background: rgba(148, 163, 184, .02);
}

.tradeboard-heading-primary,
.tradeboard-heading-context {
    display: block;
}

.tradeboard-heading-context {
    margin-top: 3px;
    color: #708196;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.tradeboard-section-row td {
    background: rgba(14, 26, 43, .56);
    border-top: 1px solid rgba(112, 145, 171, .30);
    border-bottom: 1px solid rgba(112, 145, 171, .22);
    color: #8fd3ef;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .9px;
    text-transform: uppercase;
}

.tradeboard-header,
.tradeboard-header h2,
.tradeboard-subtitle,
.tradeboard-section-row td {
    text-align: left;
}

.tradeboard-table .tradeboard-section-row td {
    padding: 8px 10px;
    text-align: left;
}

.tradeboard-section-row span {
    float: right;
    color: #94A3B8;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: .45px;
}

.trade-rank {
    color: #94A3B8;
    font-size: 15px;
    font-weight: 800;
}

.trade-pair {
    font-size: 16px;
    font-weight: 700;
    color: #F9FAFB;
    letter-spacing: .025em;
}

/*------------------------------------
    Bias Pills
------------------------------------*/

.trade-bias {
    display: inline-block;
    width: 62px;
    padding: 3px 6px;
    border: 1px solid currentColor;
    border-radius: 2px;
    box-sizing: border-box;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .7px;
    color: white;
}

.bias-bullish {
    color: #79e08b;
    background: rgba(34, 197, 94, .08);
}

.bias-bearish {
    color: #ff857d;
    background: rgba(239, 68, 68, .08);
}

.bias-neutral {
    color: #f2c94c;
    background: rgba(234, 179, 8, .08);
}

/*------------------------------------
    Score
------------------------------------*/

.trade-score {
    font-weight: 700;
    color: #F3F4F6;
    text-align: center;
}

/*------------------------------------
    Conviction
------------------------------------*/

.trade-conviction {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.trade-conviction-bar {
    width: 70px;
    height: 6px;
    background: #374151;
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid #4B5563;
}

.trade-conviction-fill {
    height: 100%;
    background: linear-gradient(90deg, #2f9f58, #75d989);
}

/*------------------------------------
    Carry
------------------------------------*/

.carry-positive,
.carry-negative,
.carry-neutral,
.carry-unavailable {
    font-size: 13px;
    font-weight: 600;
}

.carry-positive {
    color: #4ADE80;
}

.carry-negative {
    color: #F87171;
}

.carry-neutral {
    color: #FACC15;
}

.carry-unavailable {
    color: #CBD5E1;
}

.carry-confirmation-cell {
    text-align: center;
    white-space: normal;
}

.carry-confirmation-cell > strong {
    display: block;
    margin-bottom: 3px;
}

.carry-confirmation-detail {
    display: block;
    margin-top: 2px;
    color: #CBD5E1;
    font-size: 11px;
    line-height: 1.2;
    white-space: nowrap;
}
/*------------------------------------
    Carry
------------------------------------*/

.carry-positive,
.carry-negative {
    font-size: 13px;
    font-weight: 600;
}

.carry-positive {
    color: #4ADE80;
}

.carry-negative {
    color: #F87171;
}
/*==========================================================
    Executive Summary
==========================================================*/

.executive-card {
    padding: 16px 20px;
}

.executive-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

    .executive-header h2 {
        margin: 0;
        font-size: 22px;
        font-weight: 700;
        color: #F9FAFB;
    }

.executive-subtitle {
    margin-top: 2px;
    font-size: 11px;
    color: #9CA3AF;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.executive-version {
    display: flex;
    align-items: center;
    gap: 10px;
}

.executive-asof {
    margin: -8px 0 14px;
    color: #6B7280;
    font-size: 10px;
    letter-spacing: .4px;
    text-transform: uppercase;
}

.status-live {
    color: #22C55E;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .8px;
}

.status-data {
    color: #FBBF24;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .8px;
}

/*==========================================================
    Institutional Data Verification
==========================================================*/

.data-verification-card {
    padding: 18px 20px;
}

.data-verification-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 16px;
}

.data-verification-header h2 {
    margin: 0;
    font-size: 22px;
}

.data-verification-subtitle,
.data-section-label {
    color: #9CA3AF;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .8px;
}

.data-verification-subtitle {
    margin-top: 3px;
}

.data-coverage {
    color: #FBBF24;
    font-weight: 700;
}

.cross-analysis-coverage-stack {
    display: grid;
    gap: 4px;
    justify-items: end;
    text-align: right;
}

.cross-analysis-coverage-stack .data-coverage-secondary {
    color: #A7F3D0;
    font-size: 12px;
}

@media (max-width: 760px) {
    .cross-analysis-coverage-stack {
        justify-items: start;
        text-align: left;
    }
}

.data-verification-grid {
    display: grid;
    grid-template-columns: .7fr 1.5fr 1.5fr;
    gap: 18px;
}

.data-section-label {
    margin-bottom: 8px;
    font-weight: 700;
}

.data-status {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.data-status-partial {
    color: #FDE68A;
    background: #78350F;
    border: 1px solid #B45309;
}

.data-status-verified {
    color: #86EFAC;
    background: #14532D;
    border: 1px solid #15803D;
}

.data-line {
    margin: 7px 0;
    line-height: 1.4;
}

.data-line-valid {
    color: #86EFAC;
}

.data-line-warning {
    color: #FCD34D;
}

.data-empty {
    color: #FCA5A5;
}

.provider-failures {
    margin-top: 16px;
    padding: 12px;
    border: 1px solid #92400E;
    border-radius: 8px;
    background: rgba(120, 53, 15, .22);
}

.metric-evidence {
    margin-top: 18px;
    border-top: 1px solid #374151;
    padding-top: 14px;
}

.metric-evidence summary {
    cursor: pointer;
    color: #F9FAFB;
    font-weight: 700;
}

.metric-evidence-scroll {
    margin-top: 14px;
    overflow-x: auto;
}

.metric-evidence-table {
    width: 100%;
    min-width: 1040px;
    border-collapse: collapse;
    font-size: 12px;
}

.metric-evidence-table th {
    padding: 10px 8px;
    border-bottom: 1px solid #4B5563;
    color: #9CA3AF;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.metric-evidence-table td {
    padding: 11px 8px;
    border-bottom: 1px solid #273244;
    color: #E5E7EB;
    vertical-align: top;
}

.metric-detail {
    margin-top: 3px;
    color: #9CA3AF;
    font-size: 11px;
    line-height: 1.35;
}

.metric-evidence-link {
    color: #86C8FF;
    text-decoration: underline;
    text-decoration-color: rgba(134, 200, 255, .45);
    text-underline-offset: 3px;
}

.metric-evidence-link:hover {
    color: #B9E0FF;
}

.metric-status {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
}

.metric-status-verified {
    color: #86EFAC;
    background: #14532D;
    border: 1px solid #15803D;
}

.metric-status-unavailable {
    color: #FDE68A;
    background: #78350F;
    border: 1px solid #B45309;
}

/*==========================================================
    G10 ENDO TERMINAL
==========================================================*/

.endo-monitor {
    border-top: 3px solid #F59E0B;
}

.calendar-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    align-items: center;
    margin: 0.85rem 0;
    color: var(--text-muted, #8c98a8);
    font-size: 0.78rem;
}

.calendar-light {
    display: inline-block;
    width: 0.62rem;
    height: 0.62rem;
    margin-right: 0.3rem;
    border-radius: 50%;
    box-shadow: 0 0 0.4rem currentColor;
}

.calendar-risk-high {
    color: #ff5f57;
    background: #ff5f57;
}

.calendar-risk-medium {
    color: #ffbd2e;
    background: #ffbd2e;
}

.calendar-risk-low {
    color: #28c840;
    background: #28c840;
}

.calendar-unavailable,
.metric-muted {
    color: var(--text-muted, #8c98a8);
    font-size: 0.76rem;
}

.calendar-expected-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    align-items: center;
    gap: 2px;
    width: 76px;
    max-width: 100%;
    min-width: 0;
    height: 18px;
    margin: 0;
    overflow: hidden;
    white-space: nowrap;
}

.market-confirmation-heading,
.market-confirmation-cell {
    width: 160px;
}

.market-confirmation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 2px;
    background: rgba(7, 14, 25, .22);
}

.market-confirmation-block {
    display: flex;
    min-width: 0;
    min-height: 38px;
    padding: 4px 3px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    line-height: 1.05;
}

.market-confirmation-block + .market-confirmation-block {
    border-left: 1px solid rgba(148, 163, 184, .22);
}

.market-confirmation-block small {
    color: #b8c7d4;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.market-confirmation-block strong {
    display: block;
    max-width: 100%;
    margin-top: 4px;
    overflow: hidden;
    font-size: 10px;
    font-weight: 800;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.market-confirmation-positive {
    background: transparent;
    color: #86efac;
}

.market-confirmation-negative {
    background: transparent;
    color: #fca5a5;
}

.market-confirmation-neutral {
    background: transparent;
    color: #fde047;
}

.market-confirmation-context {
    background: transparent;
    color: #7dd3fc;
}

.market-confirmation-unavailable {
    background: transparent;
    color: #cbd5e1;
}

.momentum-confirmation-cell,
.structure-confirmation-cell {
    text-align: center;
    white-space: normal;
}

.momentum-confirmation-cell > strong,
.structure-confirmation-cell > strong {
    display: block;
    margin-bottom: 4px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.calendar-expected-form button {
    box-sizing: border-box;
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin: 0;
    padding: 0;
    border: 1px solid #84cc16;
    border-radius: 3px;
    color: #ecfccb;
    background: rgba(77, 124, 15, 0.28);
    cursor: pointer;
    font: inherit;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 16px;
}

.calendar-expected-form input {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: 18px;
    min-width: 0;
    margin: 0;
    padding: 0 2px;
    border: 1px solid transparent;
    border-bottom-color: #4b5563;
    border-radius: 0;
    color: #f3f4f6;
    background: transparent;
    font: inherit;
    line-height: 18px;
    overflow: hidden;
}

.calendar-expected-form input:focus {
    border-color: #a3e635;
    outline: 1px solid rgba(163, 230, 53, 0.45);
}

.calendar-expected-column {
    width: 76px;
    max-width: 76px;
    overflow: hidden;
    white-space: nowrap !important;
}

.calendar-table td,
.calendar-table th {
    white-space: nowrap;
}

.calendar-filters {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    margin: 14px 0;
    padding: 12px 14px;
    border: 1px solid #374151;
    border-radius: 8px;
    background: #182230;
}

.calendar-filters label {
    display: grid;
    gap: 5px;
    min-width: 150px;
}

.calendar-filter-field {
    display: grid;
    gap: 5px;
    min-width: 150px;
}

.calendar-filters label span,
.calendar-filter-field > span {
    color: #9CA3AF;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
}

.calendar-filters select {
    min-height: 34px;
    padding: 6px 30px 6px 10px;
    border: 1px solid #4B5563;
    border-radius: 6px;
    background: #111827;
    color: #F9FAFB;
    font: inherit;
}

.calendar-view-switch {
    display: flex;
    min-height: 34px;
    padding: 2px;
    border: 1px solid #4B5563;
    border-radius: 6px;
    background: #111827;
}

.calendar-view-switch button {
    flex: 1;
    min-width: 0;
    padding: 5px 10px;
    border: 0;
    border-radius: 4px;
    color: #9CA3AF;
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
}

.calendar-view-switch button.is-active {
    color: #F8FAFC;
    background: #334155;
    box-shadow: inset 0 0 0 1px rgba(125, 211, 252, .42);
}

.calendar-currency-picker {
    position: relative;
}

.calendar-currency-picker > summary {
    box-sizing: border-box;
    min-height: 34px;
    padding: 7px 30px 6px 10px;
    border: 1px solid #4B5563;
    border-radius: 6px;
    color: #F9FAFB;
    background: #111827;
    cursor: pointer;
    list-style-position: inside;
    white-space: nowrap;
}

.calendar-currency-options {
    position: absolute;
    z-index: 20;
    top: calc(100% + 5px);
    left: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(88px, 1fr));
    gap: 4px 12px;
    width: 230px;
    padding: 10px;
    border: 1px solid #475569;
    border-radius: 7px;
    background: #0F172A;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .45);
}

.calendar-currency-options label {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 4px 2px;
    color: #E2E8F0;
    cursor: pointer;
}

.calendar-currency-options label span {
    color: inherit;
    font-size: 12px;
    letter-spacing: .04em;
}

.calendar-currency-options input {
    width: 15px;
    height: 15px;
    accent-color: #38BDF8;
}

.calendar-currency-options button {
    grid-column: 1 / -1;
    margin-top: 4px;
    padding: 6px 8px;
    border: 1px solid #475569;
    border-radius: 5px;
    color: #BAE6FD;
    background: #172033;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
}

.calendar-filter-count {
    margin-left: auto;
    padding-bottom: 7px;
    color: #9CA3AF;
    font-size: 11px;
}

.calendar-filter-count strong {
    color: #FBBF24;
}

@media (max-width:760px) {
    .calendar-filters {
        align-items: stretch;
        flex-direction: column;
    }

    .calendar-filters label {
        min-width: 0;
    }

    .calendar-filter-field {
        min-width: 0;
    }

    .calendar-currency-options {
        position: static;
        width: auto;
        margin-top: 5px;
    }

    .calendar-filter-count {
        margin-left: 0;
        padding-bottom: 0;
    }
}

.calendar-release {
    white-space: normal;
    min-width: 15rem;
}

.calendar-alliance-forecast {
    color: #38BDF8;
    font-variant-numeric: tabular-nums;
}

.calendar-forecast-up {
    color: #86EFAC;
    font-weight: 700;
}

.calendar-forecast-down {
    color: #FCA5A5;
    font-weight: 700;
}

.calendar-forecast-neutral {
    color: #FDE68A;
    font-weight: 700;
}

.calendar-actual-column,
.calendar-actual-column a,
.calendar-actual-column a:visited {
    color: #67E8F9;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.calendar-recent-releases {
    margin-top: 12px;
    border: 1px solid #374151;
    border-radius: 8px;
    background: rgba(15, 23, 42, .52);
}

.calendar-recent-releases > summary {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 13px;
    color: #E2E8F0;
    cursor: pointer;
    font-weight: 800;
}

.calendar-recent-releases > summary strong {
    color: #94A3B8;
    font-size: .76rem;
    font-weight: 700;
}

.calendar-recent-releases .metric-evidence-scroll {
    margin: 0 10px 10px;
}

.calendar-forecast-boundary {
    margin-top: 0.85rem;
    padding: 0.7rem 0.85rem;
    border-left: 3px solid #38BDF8;
    background: rgba(14, 116, 144, 0.12);
    color: #CBD5E1;
    font-size: 0.78rem;
    line-height: 1.45;
}

.endo-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin: 16px 0 6px;
    color: #D1D5DB;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .45px;
}

.endo-legend span,
.endo-signal {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    white-space: nowrap;
}

.endo-legend-note {
    color: #9CA3AF;
    text-transform: none;
    letter-spacing: 0;
}

.endo-light {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    box-shadow: 0 0 8px currentColor;
}

.endo-light-green {
    color: #22C55E;
    background: #22C55E;
}

.endo-light-green-soft {
    color: #4ADE80;
    background: #4ADE80;
    box-shadow: 0 0 6px rgba(74, 222, 128, .72);
}

.endo-light-amber {
    color: #F59E0B;
    background: #F59E0B;
}

.endo-light-red {
    color: #EF4444;
    background: #EF4444;
}

.endo-light-red-soft {
    color: #FB7185;
    background: #FB7185;
    box-shadow: 0 0 6px rgba(251, 113, 133, .72);
}

.endo-light-grey {
    color: #6B7280;
    background: #6B7280;
}

.endo-terminal-table {
    min-width: 1260px;
    font-variant-numeric: tabular-nums;
}

.central-bank-table {
    min-width: 1960px;
}

.central-bank-table th:nth-child(13),
.central-bank-table td:nth-child(13) {
    min-width: 245px;
}

.central-bank-table th:nth-child(14),
.central-bank-table td:nth-child(14) {
    min-width: 390px;
    line-height: 1.45;
}

.endo-terminal-table tbody tr:hover {
    background: rgba(245, 158, 11, .06);
}

.endo-currency {
    color: #F9FAFB !important;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: .8px;
}

.endo-composite {
    color: #FBBF24 !important;
    font-size: 15px;
    font-weight: 800;
}

.endo-boundary {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin: 16px 0 4px;
    padding: 12px 14px;
    border: 1px solid #374151;
    border-radius: 7px;
    background: #111827;
    color: #9CA3AF;
    font-size: 11px;
}

.endo-currency-evidence summary {
    color: #FBBF24;
}

.endo-confirmation-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin: 18px 0 8px;
    color: #D1FAE5;
}

.endo-confirmation-heading span {
    color: #9CA3AF;
    font-size: 12px;
}

.endo-confirmation-table td:nth-child(3) {
    min-width: 300px;
    line-height: 1.45;
}

.endo-limitations {
    margin-top: 12px;
    color: #FDE68A;
    font-size: 11px;
    line-height: 1.6;
}

@media(max-width:1000px) {
    .data-verification-grid {
        grid-template-columns: 1fr;
    }
}

.version-tag {
    background: #1F2937;
    border: 1px solid #374151;
    border-radius: 5px;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    color: #D1D5DB;
}

.summary-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0,1fr));
    gap: 12px;
}

.summary-tile {
    background: linear-gradient(180deg,#273244,#202938);
    border: 1px solid rgba(148, 163, 184, .58);
    border-radius: 10px;
    padding: 12px 14px;
    box-shadow:
        inset 0 0 0 1px rgba(226, 232, 240, .08),
        inset 0 1px 0 rgba(226, 232, 240, .07),
        0 4px 12px rgba(0, 0, 0, .2);
    transition: all .18s ease;
}

.summary-picture-tile {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.summary-picture-tile::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: "";
    pointer-events: none;
    background: linear-gradient(90deg,
        rgba(15, 23, 42, .38),
        rgba(15, 23, 42, .72));
}

.summary-tile-picture {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: .18;
    filter: saturate(.78) contrast(.94);
    pointer-events: none;
}

.summary-tile-flag {
    opacity: .2;
}

.summary-picture-tile > :not(.summary-tile-picture) {
    position: relative;
    z-index: 2;
}

    .summary-tile:hover {
        transform: translateY(-2px);
        border-color: rgba(203, 213, 225, .68);
        box-shadow:
            inset 0 1px 0 rgba(241, 245, 249, .1),
            0 8px 18px rgba(0,0,0,.3);
    }

.summary-label {
    color: #9CA3AF;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.summary-value {
    font-size: 26px;
    font-weight: 700;
    color: #F9FAFB;
    line-height: 1;
}

.summary-number {
    font-size: 24px;
    font-weight: 700;
    color: #F9FAFB;
    line-height: 1;
}

.summary-detail {
    margin-top: 6px;
    color: #9CA3AF;
    font-size: 10px;
    line-height: 1.35;
}

.summary-tile.metric {
    background: linear-gradient(180deg,#1F2937,#18212E);
    border-color: rgba(148, 163, 184, .58);
}

.summary-tile.green {
    border-left: 5px solid #22C55E;
}

.summary-tile.red {
    border-left: 5px solid #EF4444;
}

.summary-tile.blue {
    border-left: 5px solid #3B82F6;
}

.summary-tile.amber {
    border-left: 5px solid #F59E0B;
}

@media (max-width:1400px) {

    .summary-grid {
        grid-template-columns: repeat(auto-fit,minmax(180px,1fr));
    }
}

@media (max-width:760px) {
    .executive-header,
    .matrix-title-row {
        flex-direction: column;
    }

    .executive-version,
    .matrix-legend {
        flex-wrap: wrap;
    }
}
/*==========================================================
    Currency Rankings
==========================================================*/

.rankings-card {
    padding: 18px;
}

.rankings-header {
    margin-bottom: 14px;
}

    .rankings-header h2 {
        margin: 0;
        font-size: 22px;
        font-weight: 700;
        color: #F9FAFB;
    }

.rankings-subtitle {
    margin-top: 3px;
    font-size: 11px;
    color: #9CA3AF;
    text-transform: uppercase;
    letter-spacing: .8px;
}

.rankings-table {
    width: 100%;
    border-collapse: collapse;
}

    .rankings-table thead th {
        padding: 10px 8px;
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: .8px;
        color: #9CA3AF;
        border-bottom: 1px solid #374151;
    }

    .rankings-table tbody td {
        padding: 10px 8px;
        border-bottom: 1px solid #2E3A4E;
        vertical-align: middle;
    }

    .rankings-table tbody tr:hover {
        background: rgba(255,255,255,.03);
    }

.rank-position {
    font-size: 18px;
    font-weight: 700;
    text-align: center;
}

.rank-currency {
    font-size: 17px;
    font-weight: 700;
    color: #F9FAFB;
    letter-spacing: .5px;
}

.rank-score {
    font-size: 16px;
    font-weight: 700;
    text-align: right;
    color: #E5E7EB;
}

.rank-bar {
    width: 100%;
    height: 14px;
    background: #374151;
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid #4B5563;
}

.rank-fill {
    height: 100%;
    transition: width .35s ease;
}

.rank-green {
    background: linear-gradient(90deg,#166534,#22C55E);
}

.rank-lime {
    background: linear-gradient(90deg,#15803D,#4ADE80);
}

.rank-yellow {
    background: linear-gradient(90deg,#CA8A04,#FACC15);
}

.rank-orange {
    background: linear-gradient(90deg,#EA580C,#FB923C);
}

.rank-red {
    background: linear-gradient(90deg,#991B1B,#EF4444);
}
/*==========================================================
    Dashboard Layout
==========================================================*/

.dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    width: 100%;
    min-width: 0;
}

.dashboard-full {
    grid-column: 1;
}

.dashboard-left {
    grid-column: 1;
}

.dashboard-right {
    grid-column: 1;
}

.dashboard-grid > section,
.dashboard-grid .card {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.workspace-content-dashboard {
    overflow-x: hidden;
}

.workspace-content-dashboard .matrix-table {
    width: 100%;
    min-width: 0;
}

.workspace-content-dashboard .matrix-cell {
    width: auto;
    height: 64px;
    padding: 4px 2px;
    border: 1px solid rgba(148, 163, 184, .62);
}

.workspace-content-dashboard .matrix-cell .conviction {
    font-size: 14px;
}

/*==========================
    Responsive
==========================*/

@media(max-width:1200px) {

    .dashboard-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-left,
    .dashboard-right,
    .dashboard-full {
        grid-column: 1;
    }
}
/*==========================================================
    Terminal Header
==========================================================*/

.terminal-header {
    background: #182230;
    border-bottom: 2px solid #374151;
    padding: 28px 36px;
    margin-bottom: 30px;
}

.terminal-title {
    font-size: 42px;
    font-weight: 800;
    letter-spacing: 2px;
    color: white;
}

.terminal-subtitle {
    margin-top: 6px;
    font-size: 18px;
    color: #9CA3AF;
}

.terminal-meta {
    display: flex;
    gap: 28px;
    margin-top: 18px;
    font-size: 14px;
    color: #D1D5DB;
    flex-wrap: wrap;
}

    .terminal-meta strong {
        color: white;
    }
/*==========================================================
    Header Status
==========================================================*/

.terminal-header-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.terminal-status {
    background: #14532D;
    color: white;
    padding: 8px 18px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .8px;
    box-shadow: 0 0 12px rgba(22,163,74,.35);
}

/*==========================================================
    Institutional Hover Intelligence
==========================================================*/

.trade-row {
    position: relative;
}

.trade-hover-panel {
    position: absolute;
    left: 105%;
    top: 50%;
    transform: translateY(-50%);
    width: 340px;
    opacity: 0;
    visibility: hidden;
    transition: all .25s ease;
    z-index: 999;
    pointer-events: none;
}

.trade-row:hover .trade-hover-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(8px);
}
.institution-section {
    margin-top: 16px;
}

.institution-label {
    color: #9CA3AF;
    font-size: 13px;
    margin-bottom: 4px;
    text-transform: uppercase;
    letter-spacing: .8px;
}

.institution-text {
    line-height: 1.45;
}
/*==========================================================
    ALLIANCE WORKSPACE SIDEBAR
==========================================================*/

.sidebar {
    width: 260px;
    background: #182230;
    border-right: 1px solid #374151;
    height: 100vh;
    min-height: 100vh;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    scrollbar-width: thin;
    position: fixed;
    left: 0;
    top: 0;
}

.sidebar-logo {
    padding: 28px;
    border-bottom: 1px solid #374151;
}

    .sidebar-logo h2 {
        margin: 0;
        font-size: 28px;
    }

.sidebar-version {
    color: #9CA3AF;
    margin-top: 6px;
    font-size: 13px;
}

.sidebar-nav {
    display: flex;
    flex-direction: column;
    padding: 18px;
}

.sidebar-link {
    color: #E5E7EB;
    text-decoration: none;
    padding: 14px 16px;
    border-radius: 8px;
    margin-bottom: 6px;
    transition: .18s;
}

    .sidebar-link:hover {
        background: #243244;
    }

.sidebar-link.active {
        background: #16A34A;
        color: white;
        font-weight: 700;
    }
/*==========================================================
    WORKSPACE HEADER
==========================================================*/

.workspace-header {
    height: 72px;
    background: #182230;
    border-bottom: 1px solid #374151;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 32px;
}

.sidebar-link-disabled {
    cursor: not-allowed;
    opacity: 0.42;
    pointer-events: none;
}

.workspace-title h1 {
    margin: 0;
    font-size: 24px;
}

.workspace-subtitle {
    color: #9CA3AF;
    font-size: 13px;
}

.workspace-status {
    display: flex;
    align-items: center;
    gap: 20px;
}

.status-live {
    color: #4ADE80;
    font-weight: 700;
}

.status-version {
    color: #9CA3AF;
}
/*==========================================================
    WORKSPACE SHELL
==========================================================*/

.workspace-shell {
    display: flex;
    min-height: 100vh;
}

.workspace-main {
    flex: 1;
    margin-left: 260px;
    display: flex;
    flex-direction: column;
}

.workspace-content {
    flex: 1;
    padding: 30px;
    background: #111827;
    overflow-x: auto;
    overflow-y: auto;
    min-width: 0;
}
.dashboard-container {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/*==========================================================
    Institutional Portfolio
==========================================================*/

.portfolio-workspace {
    display: grid;
    gap: 22px;
    min-width: 0;
}

.portfolio-hero {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 28px;
    border-top: 3px solid #22d3ee;
    background:
        linear-gradient(90deg, rgba(7, 14, 25, .97) 0%, rgba(8, 20, 36, .88) 48%, rgba(8, 20, 36, .72) 100%),
        url("/images/workspaces/portfolio-institutional-performance.png") center / cover no-repeat;
}

.portfolio-hero h1 {
    margin: 5px 0 8px;
    color: #f8fafc;
}

.portfolio-hero p,
.portfolio-muted {
    color: #94a3b8;
}

.portfolio-hero-status {
    display: grid;
    gap: 6px;
    min-width: 270px;
    padding: 12px 14px;
    border: 1px solid rgba(125, 211, 252, .2);
    border-radius: 6px;
    background: rgba(8, 15, 26, .56);
    backdrop-filter: blur(2px);
    text-align: right;
}

.portfolio-hero-status strong {
    color: #f8fafc;
}

.portfolio-hero-status small {
    color: #94a3b8;
}

.portfolio-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.portfolio-summary-card {
    display: grid;
    gap: 7px;
    padding: 18px;
    border-left: 3px solid #0ea5e9;
}

.portfolio-summary-card > span {
    color: #94a3b8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.portfolio-summary-card strong {
    color: #f8fafc;
    font-size: 20px;
}

.portfolio-summary-card small {
    color: #cbd5e1;
}

.portfolio-risk-card {
    min-width: 0;
    padding: 22px;
    border-top: 3px solid #38bdf8;
}

.portfolio-risk-badge,
.portfolio-risk-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 9px;
    border: 1px solid currentColor;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.portfolio-risk-green {
    color: #4ade80 !important;
}

.portfolio-risk-amber {
    color: #facc15 !important;
}

.portfolio-risk-red {
    color: #fb7185 !important;
}

.portfolio-risk-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.portfolio-risk-summary-grid > div {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 14px;
    border: 1px solid #334155;
    background: #0f172a;
}

.portfolio-risk-summary-grid span,
.portfolio-risk-summary-grid small {
    color: #94a3b8;
}

.portfolio-risk-summary-grid span {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.portfolio-risk-summary-grid strong {
    color: #f8fafc;
    font-size: 22px;
}

.portfolio-risk-assets {
    display: grid;
    grid-template-columns: minmax(180px, .28fr) minmax(0, 1fr);
    gap: 16px;
    margin-top: 16px;
    padding: 16px;
    border: 1px solid #334155;
    background: #0f172a;
}

.portfolio-risk-assets h3 {
    margin: 0 0 7px;
    color: #67e8f9;
    font-size: 13px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.portfolio-risk-assets p,
.portfolio-risk-assets small,
.portfolio-risk-assets span {
    color: #94a3b8;
    font-size: 11px;
    line-height: 1.45;
}

.portfolio-risk-assets p {
    margin: 0;
}

.portfolio-risk-asset-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.portfolio-risk-asset-grid article {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 10px;
    min-width: 0;
    padding: 11px;
    border: 1px solid #263244;
}

.portfolio-risk-asset-grid article > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.portfolio-risk-asset-grid strong {
    color: #f8fafc;
    overflow-wrap: anywhere;
}

.portfolio-risk-asset-grid small {
    grid-column: 1 / -1;
}

.portfolio-risk-layout,
.portfolio-risk-boundary-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
    gap: 16px;
    margin-top: 16px;
}

.portfolio-risk-table-shell,
.portfolio-risk-overlap,
.portfolio-risk-boundary-grid > div {
    min-width: 0;
    padding: 16px;
    border: 1px solid #334155;
    background: #0f172a;
}

.portfolio-risk-table-shell h3,
.portfolio-risk-overlap h3,
.portfolio-risk-boundary-grid h3 {
    margin: 0 0 12px;
    color: #67e8f9;
    font-size: 13px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.portfolio-risk-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.portfolio-risk-table th,
.portfolio-risk-table td {
    padding: 9px 6px;
    border-bottom: 1px solid #263244;
    color: #cbd5e1;
    font-size: 11px;
    text-align: center;
    overflow-wrap: anywhere;
}

.portfolio-risk-table th {
    color: #94a3b8;
    font-size: 9px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.portfolio-risk-table th:first-child,
.portfolio-risk-table td:first-child {
    text-align: left;
}

.portfolio-risk-table td strong {
    color: #f8fafc;
}

.portfolio-risk-overlap > p {
    margin: 0 0 14px;
    color: #94a3b8;
    font-size: 12px;
    line-height: 1.55;
}

.portfolio-risk-overlap-row {
    display: grid;
    gap: 7px;
    padding: 11px 0;
    border-top: 1px solid #263244;
}

.portfolio-risk-overlap-row > div {
    display: grid;
    gap: 4px;
}

.portfolio-risk-overlap-row strong {
    color: #f8fafc;
    font-size: 12px;
}

.portfolio-risk-overlap-row span,
.portfolio-risk-overlap-row small {
    font-size: 10px;
    line-height: 1.45;
}

.portfolio-risk-overlap-row span {
    color: #94a3b8;
}

.portfolio-risk-boundary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.portfolio-risk-boundary-grid ul {
    margin: 0;
    padding-left: 18px;
}

.portfolio-risk-boundary-grid li {
    margin: 7px 0;
    color: #94a3b8;
    font-size: 11px;
    line-height: 1.5;
}

.portfolio-risk-empty {
    margin-top: 16px;
    padding: 24px;
    border: 1px dashed #475569;
    color: #94a3b8;
    text-align: center;
}

.portfolio-risk-empty.compact {
    margin-top: 0;
    padding: 16px;
    font-size: 11px;
}

.open-risk-context-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #334155;
}

.open-risk-context-header h3,
.open-risk-chart-card h4,
.open-risk-detail-grid h4 {
    margin: 0;
    color: #67e8f9;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.open-risk-context-header h3 {
    font-size: 14px;
}

.open-risk-context-header p,
.open-risk-chart-card > p {
    margin: 5px 0 0;
    color: #94a3b8;
    font-size: 11px;
    line-height: 1.5;
}

.open-risk-context-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
}

.open-risk-chart-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.open-risk-chart-card,
.open-risk-detail-grid > article {
    min-width: 0;
    padding: 16px;
    border: 1px solid #334155;
    background: #0f172a;
}

.open-risk-chart-card h4,
.open-risk-detail-grid h4 {
    font-size: 12px;
}

.open-risk-bar-chart {
    display: grid;
    gap: 10px;
    margin-top: 15px;
}

.open-risk-bar-row {
    display: grid;
    grid-template-columns: minmax(54px, .65fr) minmax(100px, 2fr) minmax(68px, .8fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.open-risk-bar-row > span,
.open-risk-bar-row > strong {
    min-width: 0;
    color: #cbd5e1;
    font-size: 10px;
    overflow-wrap: anywhere;
}

.open-risk-bar-row > strong {
    text-align: right;
}

.open-risk-bar-track {
    display: flex;
    height: 10px;
    overflow: hidden;
    border: 1px solid #263244;
    border-radius: 999px;
    background: #020617;
}

.open-risk-bar-track i {
    display: block;
    min-width: 2px;
    height: 100%;
    background: currentColor;
}

.open-risk-bar-track i.long {
    color: #4ade80;
}

.open-risk-bar-track i.short {
    color: #fb7185;
}

.open-risk-bar-track.stacked i {
    min-width: 0;
}

.open-risk-bar-track i.event-high {
    color: #fb7185;
}

.open-risk-bar-track i.event-medium {
    color: #facc15;
}

.open-risk-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.open-risk-event-row,
.open-risk-volatility-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 11px 0;
    border-top: 1px solid #263244;
}

.open-risk-event-row:first-of-type,
.open-risk-volatility-row:first-of-type {
    margin-top: 10px;
}

.open-risk-event-row > div,
.open-risk-volatility-row > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.open-risk-event-row strong,
.open-risk-volatility-row strong {
    color: #f8fafc;
    font-size: 11px;
}

.open-risk-event-row small,
.open-risk-volatility-row small {
    color: #94a3b8;
    font-size: 10px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.portfolio-board-card,
.portfolio-history-card,
.portfolio-change-card,
.portfolio-archive-card,
.portfolio-boundary-card {
    padding: 22px;
}

.portfolio-board-grid,
.portfolio-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.portfolio-ranking-panel {
    min-width: 0;
    border: 1px solid #334155;
    background: #0f172a;
}

.portfolio-ranking-panel h3 {
    margin: 0;
    padding: 12px 14px;
    color: #67e8f9;
    background: #172033;
    border-bottom: 1px solid #334155;
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.portfolio-table,
.portfolio-history-table {
    width: 100%;
    border-collapse: collapse;
}

.portfolio-table th,
.portfolio-table td,
.portfolio-history-table th,
.portfolio-history-table td {
    padding: 10px 9px;
    border-bottom: 1px solid #263244;
    color: #cbd5e1;
    font-size: 12px;
    text-align: left;
}

.portfolio-table th,
.portfolio-history-table thead th {
    color: #94a3b8;
    font-size: 10px;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.portfolio-table a {
    color: #f8fafc;
    text-decoration: none;
}

.portfolio-table a:hover {
    color: #22d3ee;
}

.portfolio-light {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 6px;
    border-radius: 999px;
    box-shadow: 0 0 8px currentColor;
}

.portfolio-state-green {
    color: #22c55e;
    background: #22c55e;
}

.portfolio-state-amber {
    color: #f59e0b;
    background: #f59e0b;
}

.portfolio-state-red {
    color: #ef4444;
    background: #ef4444;
}

.portfolio-direction-long {
    color: #4ade80 !important;
}

.portfolio-direction-short {
    color: #fb7185 !important;
}

.portfolio-direction-neutral {
    color: #facc15 !important;
}

.portfolio-list-card {
    padding: 18px;
    border-top: 2px solid #334155;
}

.portfolio-list-card h2,
.portfolio-change-card h2,
.portfolio-history-card h2,
.portfolio-archive-card h2,
.portfolio-boundary-card h2 {
    margin-top: 0;
}

.portfolio-list-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid #263244;
    color: #cbd5e1;
}

.portfolio-list-row strong {
    color: #f8fafc;
}

.portfolio-avoid-card {
    border-top-color: #ef4444;
}

.portfolio-change-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.portfolio-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.portfolio-chip {
    padding: 5px 9px;
    border: 1px solid;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 800;
}

.portfolio-chip-new {
    color: #4ade80;
    border-color: #166534;
    background: rgba(22, 101, 52, .2);
}

.portfolio-chip-out {
    color: #fb7185;
    border-color: #9f1239;
    background: rgba(159, 18, 57, .18);
}

.portfolio-history-scroll {
    margin-top: 16px;
    overflow-x: auto;
    border: 1px solid #334155;
}

.portfolio-history-table {
    min-width: 1080px;
}

.portfolio-history-table th:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    min-width: 105px;
    background: #111827;
    color: #f8fafc;
}

.portfolio-history-table thead th {
    min-width: 82px;
    text-align: center;
    background: #172033;
}

.portfolio-history-table thead th span {
    color: #67e8f9;
}

.portfolio-history-table td {
    text-align: center;
}

.portfolio-history-table td strong,
.portfolio-history-table td span,
.portfolio-history-table td em {
    display: block;
}

.portfolio-history-table td em {
    margin-top: 3px;
    color: #4ade80;
    font-size: 9px;
    font-style: normal;
    font-weight: 900;
}

.portfolio-history-table .portfolio-history-out {
    color: #fb7185;
}

.portfolio-history-empty {
    color: #475569 !important;
}

.portfolio-empty-history {
    margin-top: 16px;
    padding: 28px;
    border: 1px dashed #475569;
    color: #94a3b8;
    text-align: center;
}

.portfolio-archive-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.portfolio-archive-grid > div {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid #334155;
    color: #cbd5e1;
}

.portfolio-archive-grid small,
.portfolio-archive-grid span,
.portfolio-boundary-card li {
    color: #94a3b8;
}

@media (max-width: 1200px) {
    .portfolio-summary-grid,
    .portfolio-board-grid,
    .portfolio-detail-grid,
    .portfolio-archive-grid,
    .portfolio-risk-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .portfolio-risk-layout {
        grid-template-columns: 1fr;
    }

    .portfolio-risk-assets {
        grid-template-columns: 1fr;
    }

    .open-risk-chart-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .portfolio-hero,
    .portfolio-change-card {
        grid-template-columns: 1fr;
        display: grid;
    }

    .portfolio-hero-status {
        min-width: 0;
        text-align: left;
    }

    .portfolio-summary-grid,
    .portfolio-board-grid,
    .portfolio-detail-grid,
    .portfolio-archive-grid,
    .portfolio-risk-summary-grid,
    .portfolio-risk-boundary-grid,
    .portfolio-risk-asset-grid,
    .open-risk-detail-grid {
        grid-template-columns: 1fr;
    }

    .open-risk-context-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .open-risk-context-badges {
        justify-content: flex-start;
    }

    .open-risk-event-row,
    .open-risk-volatility-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .portfolio-risk-table th,
    .portfolio-risk-table td {
        padding: 8px 3px;
        font-size: 10px;
    }
}
/*------------------------------------
    Divider
------------------------------------*/

.institution-divider {
    height: 1px;
    background: #374151;
    margin: 14px 0;
}

/*------------------------------------
    Metrics
------------------------------------*/

.institution-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 12px;
}

.metric {
    background: rgba(255,255,255,.03);
    border: 1px solid #374151;
    border-radius: 8px;
    padding: 10px;
}

.metric-label {
    font-size: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #9CA3AF;
    margin-bottom: 4px;
}

.metric-value {
    font-size: 18px;
    font-weight: 700;
    color: #F9FAFB;
}

/*------------------------------------
    Sections
------------------------------------*/

.institution-section {
    margin-top: 14px;
}

.institution-label {
    margin-bottom: 6px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #9CA3AF;
}

.institution-text {
    line-height: 1.55;
    color: #E5E7EB;
}
/*==========================================================
    GLOBAL HOVER ENGINE
==========================================================*/

#institution-hover-card {
    position: fixed;
    display: none;
    width: min(780px, calc(100vw - 28px));
    max-height: calc(100vh - 20px);
    overflow: hidden;
    z-index: 999999;
    pointer-events: none;
    background: #111827;
    border: 1px solid #4B5563;
    border-radius: 10px;
    padding: 14px 16px;
    color: white;
    box-shadow: 0 18px 40px rgba(0,0,0,.45);
    transition: opacity .08s ease;
}

    #institution-hover-card hr {
        border: none;
        border-top: 1px solid #374151;
        margin: 10px 0;
    }

    #institution-hover-card .hover-title {
        font-size: 23px;
        line-height: 1.2;
        font-weight: 700;
        margin-bottom: 2px;
    }

    #institution-hover-card .hover-subtitle {
        color: #94A3B8;
        font-size: 13px;
        line-height: 1.45;
    }

    #institution-hover-card .hover-label {
        margin-top: 10px;
        font-size: 12px;
        line-height: 1.4;
        font-weight: 700;
        color: #9CA3AF;
        text-transform: uppercase;
    }

    #institution-hover-card .hover-text {
        margin-top: 4px;
        line-height: 1.5;
        font-size: 15px;
    }

    #institution-hover-card .hover-metric-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 7px;
    }

    #institution-hover-card .hover-asset-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    #institution-hover-card .hover-metric-grid > div {
        min-width: 0;
        padding: 8px 9px;
        border: 1px solid #293548;
        border-radius: 4px;
        background: #0B1320;
        font-size: 14px;
        line-height: 1.45;
    }

    #institution-hover-card .hover-metric-grid strong {
        color: #94A3B8;
        font-size: 12px;
        line-height: 1.35;
        letter-spacing: .45px;
        text-transform: uppercase;
    }

    #institution-hover-card .hover-semantic-value {
        display: inline-block;
        margin-top: 3px;
        font-size: 16px;
        font-weight: 850;
        letter-spacing: .25px;
    }

    #institution-hover-card .hover-value-positive {
        color: #4ADE80;
        text-shadow: 0 0 10px rgb(34 197 94 / 22%);
    }

    #institution-hover-card .hover-value-negative {
        color: #FB7185;
        text-shadow: 0 0 10px rgb(239 68 68 / 22%);
    }

    #institution-hover-card .hover-value-neutral {
        color: #FACC15;
        text-shadow: 0 0 10px rgb(234 179 8 / 20%);
    }

    #institution-hover-card .hover-value-unavailable {
        color: #94A3B8;
    }

    #institution-hover-card .hover-narrative-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    #institution-hover-card .technical-confirmation-chip {
        min-width: 82px;
        min-height: 40px;
        padding: 5px 8px;
    }

    #institution-hover-card .technical-chip-timeframe {
        font-size: 11px;
    }

    #institution-hover-card .technical-chip-reading {
        font-size: 14px;
    }

    #institution-hover-card .technical-chip-reading b {
        font-size: 16px;
    }

    #institution-hover-card .technical-hover-summary span {
        font-size: 12px;
        line-height: 1.45;
    }

@media(max-width:720px) {
    #institution-hover-card .hover-metric-grid,
    #institution-hover-card .hover-asset-metrics,
    #institution-hover-card .hover-narrative-grid {
        grid-template-columns: 1fr;
    }

    #institution-hover-card {
        overflow-y: auto;
    }
}
/*==========================================================
    Opportunity Scanner
==========================================================*/

.workspace-content-scanner {
    overflow-x: hidden;
}

.scanner-page-card {
    min-width: 0;
}

.scanner-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 22px;
    padding-bottom: 16px;
    border-bottom: 1px solid #374151;
}

.scanner-page-header h2 {
    margin: 0;
}

.scanner-page-subtitle {
    max-width: 760px;
    margin-top: 6px;
    color: #9CA3AF;
    font-size: 14px;
    line-height: 1.5;
}

.scanner-summary {
    display: grid;
    grid-template-columns: repeat(2,minmax(140px,auto));
    gap: 10px;
    flex: 0 0 auto;
}

.scanner-summary-item {
    min-width: 0;
    padding: 9px 12px;
    border: 1px solid #374151;
    border-radius: 6px;
    background: rgba(255,255,255,.03);
}

.scanner-summary-item span {
    display: block;
    margin-bottom: 3px;
    color: #9CA3AF;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.scanner-summary-item strong {
    display: block;
    color: #F9FAFB;
    font-size: 14px;
    line-height: 1.35;
}

.scanner-opportunity-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
    width: 100%;
    min-width: 0;
}

.scanner-opportunity-grid-item {
    min-width: 0;
}

.opportunity-card {
    background: linear-gradient(180deg,#1F2937,#182230);
    border: 1px solid #374151;
    border-radius: 12px;
    padding: 18px;
    margin-bottom: 18px;
    transition: all .18s ease;
}

.scanner-opportunity-grid .opportunity-card {
    height: 100%;
    margin-bottom: 0;
    box-sizing: border-box;
}

    .opportunity-card:hover {
        transform: translateY(-2px);
        border-color: #4B5563;
        box-shadow: 0 10px 24px rgba(0,0,0,.35);
    }

.opportunity-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.opportunity-rank {
    font-size: 18px;
    font-weight: 700;
    color: #4ADE80;
}

.opportunity-pair {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .5px;
    color: #F9FAFB;
}

.opportunity-rating {
    font-size: 14px;
    font-weight: 700;
    color: #D1D5DB;
}

.opportunity-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
}

    .opportunity-row span {
        color: #9CA3AF;
        font-size: 13px;
    }

    .opportunity-row strong {
        color: #F9FAFB;
        font-size: 14px;
    }

.opportunity-section {
    margin-top: 14px;
}

.opportunity-label {
    margin-bottom: 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: #9CA3AF;
}

.opportunity-text {
    color: #E5E7EB;
    line-height: 1.5;
    font-size: 13px;
}

@media(max-width:1100px) {
    .scanner-page-header {
        flex-direction: column;
    }

    .scanner-summary {
        width: 100%;
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    .scanner-opportunity-grid {
        grid-template-columns: minmax(0,1fr);
    }
}

@media(max-width:620px) {
    .scanner-summary {
        grid-template-columns: minmax(0,1fr);
    }
}
/*==========================================================
    Trade Pair Links
==========================================================*/

.trade-pair-link,
.trade-pair-link:link,
.trade-pair-link:visited,
.trade-pair-link:active {
    color: #F9FAFB !important;
    text-decoration: none;
    font-weight: 700;
}

.trade-pair-link:hover,
    .trade-pair-link:focus {
        color: #4ADE80 !important;
        text-decoration: underline;
        outline: none;
    }

/*==========================================================
    Pair Price Distribution (ATRP / DOR)
==========================================================*/

.pair-distribution-workspace {
    display: grid;
    gap: 18px;
    min-width: 0;
    width: 100%;
}

.pair-distribution-workspace > section {
    min-width: 0;
    max-width: 100%;
}

.pair-distribution-hero {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    min-width: 0;
    overflow: hidden;
    padding: 24px;
    border-top: 3px solid #fbbf24;
    background:
        linear-gradient(90deg, rgba(7, 14, 25, .97) 0%, rgba(8, 20, 36, .9) 48%, rgba(8, 20, 36, .68) 100%),
        url("/images/workspaces/atrp-dor-volatility-corridor.png") center / cover no-repeat;
}

.pair-distribution-hero > div:first-child {
    min-width: 0;
    flex: 1 1 auto;
}

.pair-distribution-hero .brain-health {
    flex: 0 0 auto;
    padding: 12px 14px;
    border: 1px solid rgba(251, 191, 36, .2);
    border-radius: 6px;
    background: rgba(8, 15, 26, .56);
    backdrop-filter: blur(2px);
}

.pair-distribution-hero h1 {
    margin: 4px 0 8px;
}

.pair-distribution-hero p {
    max-width: 820px;
    color: #CBD5E1;
}

.pair-distribution-controls {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.pair-filter {
    min-width: 42px;
    padding: 7px 10px;
    border: 1px solid #475569;
    border-radius: 4px;
    color: #CBD5E1;
    text-align: center;
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .6px;
}

.pair-filter:hover,
.pair-filter.active {
    border-color: #FBBF24;
    background: rgba(251, 191, 36, .12);
    color: #FDE68A;
}

.pair-distribution-table {
    min-width: 1460px;
    font-variant-numeric: tabular-nums;
}

.pair-distribution-table thead tr:first-child th[colspan] {
    color: #FBBF24;
    text-align: center;
    border-left: 1px solid #334155;
}

.pair-distribution-table tbody tr:hover {
    background: rgba(59, 130, 246, .08);
}

.pair-percentile {
    color: #FDE68A !important;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.pair-average-range {
    color: #86EFAC !important;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.pair-research-distribution-table {
    min-width: 1260px;
    font-variant-numeric: tabular-nums;
}

.pair-stat-guide {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 16px;
    margin-top: 12px;
    padding: 12px 14px;
    border: 1px solid #334155;
    border-radius: 4px;
    background: rgba(15, 23, 42, .64);
    color: #CBD5E1;
    font-size: 11px;
    line-height: 1.45;
}

.pair-stat-guide strong {
    color: #FDE68A;
}

.pair-warming-message {
    padding: 24px;
    border: 1px dashed #92400E;
    border-radius: 6px;
    background: rgba(120, 53, 15, .16);
}

.metric-status-current,
.metric-status-partial {
    display: inline-block;
    padding: 4px 7px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.metric-status-current {
    color: #86EFAC;
    background: #14532D;
}

.metric-status-partial {
    color: #FDE68A;
    background: #78350F;
}

@media (max-width: 900px) {
    .pair-distribution-hero,
    .data-verification-header {
        flex-direction: column;
    }

    .pair-distribution-controls {
        justify-content: flex-start;
    }

    .pair-stat-guide {
        grid-template-columns: 1fr;
    }
}

/* ---------------------------------------------------------
   Verified global index signals
   --------------------------------------------------------- */
.global-index-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.55rem;
}

.signal-tile-thesis {
    margin-top: 9px;
    padding: 7px 8px;
    border: 1px solid rgb(186 230 253 / 18%);
    border-radius: 5px;
    background: rgb(2 12 20 / 30%);
}

.signal-tile-thesis > span {
    display: block;
    margin-bottom: 3px;
    color: #BAE6FD;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .55px;
    text-transform: uppercase;
}

.signal-tile-thesis > small {
    display: -webkit-box;
    overflow: hidden;
    color: #E2E8F0;
    font-size: 12px;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.global-index-grid-technical {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.global-index-grid-technical .global-index-tile {
    min-height: 218px;
    padding: 16px;
    border-radius: 8px;
}

.global-index-table-wrap {
    width: 100%;
    overflow: visible;
}

.global-index-table {
    width: 100%;
    table-layout: fixed;
}

.global-index-table .global-index-col-index {
    width: 11%;
}

.global-index-table .global-index-col-currency {
    width: 7%;
}

.global-index-table .global-index-col-signal {
    width: 11%;
}

.global-index-table .global-index-col-score {
    width: 7%;
}

.global-index-table .global-index-col-change {
    width: 7%;
}

.global-index-table .global-index-col-thesis {
    width: 22%;
}

.global-index-table .global-index-col-technical {
    width: 28%;
}

.global-index-table thead th {
    white-space: normal;
}

.global-index-table tbody td {
    min-width: 0;
    padding: 11px 7px;
}

.global-index-table-row > td:first-child {
    border-left: 4px solid currentColor;
}

.global-index-table-row.asset-signal-strong-bullish,
.global-index-table-row.asset-signal-bullish {
    --index-signal-color: #22C55E;
}

.global-index-table-row.asset-signal-neutral {
    --index-signal-color: #EAB308;
}

.global-index-table-row.asset-signal-strong-bearish,
.global-index-table-row.asset-signal-bearish {
    --index-signal-color: #EF4444;
}

.global-index-table-row.asset-signal-unavailable {
    --index-signal-color: #64748B;
}

.global-index-table-row > td:first-child {
    border-left-color: var(--index-signal-color, #64748B);
}

.global-index-table-identity a,
.global-index-table-identity a:visited,
.global-index-table-identity a:hover {
    color: #67E8F9;
    text-decoration: none;
}

.global-index-table-identity strong,
.global-index-table-identity span,
.global-index-table-identity small,
.global-index-table-signal strong,
.global-index-table-signal small,
.global-index-table-change span,
.global-index-table-change strong {
    display: block;
}

.global-index-table-identity strong {
    font-size: 15px;
    letter-spacing: .65px;
}

.global-index-table-identity span,
.global-index-table-identity small,
.global-index-table-signal small,
.global-index-table-change span {
    color: #94A3B8;
    font-size: 11px;
    line-height: 1.35;
}

.global-index-table-identity span,
.global-index-table-identity small {
    margin-top: 2px;
    overflow-wrap: anywhere;
}

.global-index-table-signal strong {
    color: var(--index-signal-color, #64748B);
    font-size: 13px;
    text-transform: uppercase;
}

.global-index-table-currency strong {
    color: #F8FAFC;
    font-family: Consolas, "Courier New", monospace;
    font-size: 13px;
    letter-spacing: .35px;
}

.global-index-table-light {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-bottom: 4px;
    border-radius: 50%;
    background: var(--index-signal-color, #64748B);
    box-shadow: 0 0 7px var(--index-signal-color, #64748B);
}

.global-index-table-score {
    color: var(--index-signal-color, #64748B);
    font-size: 18px !important;
    font-weight: 800;
}

.global-index-table-score small {
    color: #94A3B8;
    font-size: 10px;
}

.global-index-table-change strong {
    margin-top: 2px;
    color: #E2E8F0;
    font-family: Consolas, "Courier New", monospace;
    font-size: 13px;
}

.global-index-table-thesis {
    color: #D8E6F0;
    font-size: 13px !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere;
    text-align: left !important;
}

.global-index-table-technical .technical-confirmation-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
    width: 100%;
}

.global-index-table-technical .technical-confirmation-chip {
    width: 100%;
    min-width: 0;
    min-height: 34px;
    padding: 4px 2px;
}

.global-index-table-technical .technical-chip-timeframe {
    font-size: 8px;
}

.global-index-table-technical .technical-chip-reading {
    gap: 3px;
    font-size: 11px;
}

.global-index-table-technical .technical-chip-reading b {
    font-size: 12px;
}

.global-index-tile {
    min-width: 0;
    padding: 0.72rem;
    border: 1px solid #294a61;
    border-left-width: 3px;
    background: #07131e;
    color: #d8e6f0;
    text-decoration: none;
}

.global-index-tile:hover,
.global-index-tile:visited {
    text-decoration: none;
}

.global-index-tile:hover {
    border-color: #62d4f5;
}

.global-index-card .macro-link,
.global-index-card .macro-link:visited,
.global-index-card .macro-link:hover {
    color: #62d4f5;
}

.global-index-heading,
.global-index-metrics {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
}

.global-index-heading strong {
    color: #62d4f5;
    font-size: 0.92rem;
    letter-spacing: 0.08em;
}

.global-index-light {
    width: 0.58rem;
    height: 0.58rem;
    border-radius: 50%;
    background: currentColor;
    box-shadow: 0 0 7px currentColor;
}

.global-index-name,
.global-index-asof {
    overflow: hidden;
    color: #9fb6c7;
    font-size: 0.7rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.global-index-score {
    margin-top: 0.45rem;
    color: #f5f8fa;
    font-size: 1.45rem;
    font-weight: 800;
}

.global-index-score small {
    color: #8da5b6;
    font-size: 0.65rem;
}

.global-index-direction {
    margin-bottom: 0.5rem;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.global-index-metrics {
    display: grid;
    grid-template-columns: auto 1fr auto 1fr;
    padding-top: 0.45rem;
    border-top: 1px solid #1f3a4d;
    font-size: 0.65rem;
}

.global-index-metrics span {
    color: #7893a7;
}

.global-index-metrics strong {
    text-align: right;
}

.global-index-asof {
    margin-top: 0.45rem;
}

.workspace-content .global-index-tile.asset-signal-strong-bullish,
.workspace-content .global-index-tile.asset-signal-bullish,
.workspace-content .global-index-tile.asset-signal-strong-bullish:visited,
.workspace-content .global-index-tile.asset-signal-bullish:visited {
    color: #22c55e;
}

.workspace-content .global-index-tile.asset-signal-neutral,
.workspace-content .global-index-tile.asset-signal-neutral:visited {
    color: #eab308;
}

.workspace-content .global-index-tile.asset-signal-strong-bearish,
.workspace-content .global-index-tile.asset-signal-bearish,
.workspace-content .global-index-tile.asset-signal-strong-bearish:visited,
.workspace-content .global-index-tile.asset-signal-bearish:visited {
    color: #ef4444;
}

.workspace-content .global-index-tile.asset-signal-unavailable,
.workspace-content .global-index-tile.asset-signal-unavailable:visited {
    color: #64748b;
}

@media (max-width: 1200px) {
    .global-index-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .global-index-table .global-index-col-index {
        width: 10%;
    }

    .global-index-table .global-index-col-currency {
        width: 7%;
    }

    .global-index-table .global-index-col-signal {
        width: 10%;
    }

    .global-index-table .global-index-col-score {
        width: 7%;
    }

    .global-index-table .global-index-col-change {
        width: 6%;
    }

    .global-index-table .global-index-col-thesis {
        width: 21%;
    }

    .global-index-table .global-index-col-technical {
        width: 33%;
    }

    .global-index-table-identity span,
    .global-index-table-identity small {
        font-size: 10px;
    }
}

@media (max-width: 700px) {
    .global-index-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .global-index-grid-technical {
        grid-template-columns: 1fr;
    }
}

/* Cross-asset confirmation layer: compact by design; no chart canvas here. */
.cross-asset-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.55rem;
    margin-top: 0.75rem;
}

.cross-asset-tile {
    min-width: 0;
    padding: 0.7rem 0.75rem;
    color: #dce8f1;
    text-decoration: none;
    background: #07131e;
    border: 1px solid #203e55;
    border-left-width: 4px;
}

.cross-asset-card a,
.cross-asset-card a:visited,
.cross-asset-card a:active,
.cross-asset-table a,
.cross-asset-table a:visited,
.cross-asset-table a:active {
    color: #67e8f9 !important;
}

.cross-asset-tile:hover {
    color: #ffffff;
    border-color: #50a9d8;
    transform: translateY(-1px);
}

.cross-asset-tile.asset-signal-strong-bullish,
.cross-asset-tile.asset-signal-bullish {
    border-left-color: #22c55e;
}

.cross-asset-tile.asset-signal-strong-bearish,
.cross-asset-tile.asset-signal-bearish {
    border-left-color: #ef4444;
}

.cross-asset-tile.asset-signal-neutral {
    border-left-color: #eab308;
}

.cross-asset-tile.asset-signal-unavailable {
    border-left-color: #64748b;
}

.cross-asset-tile-static:hover {
    color: #dce8f1;
    border-top-color: #203e55;
    border-right-color: #203e55;
    border-bottom-color: #203e55;
    transform: none;
}

/* ---------------------------------------------------------
   U.S. rates research workspace
   --------------------------------------------------------- */

.rates-research-terminal {
    display: grid;
    gap: 16px;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 15px;
}

.rates-research-terminal .brain-kicker,
.rates-research-terminal .data-status {
    font-size: 12px;
}

.rates-research-terminal .data-verification-subtitle {
    font-size: 13px;
    line-height: 1.5;
}

.rates-research-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 24px;
    background:
        linear-gradient(90deg, #07131e 0%, rgba(7, 19, 30, .96) 48%, rgba(7, 19, 30, .62) 100%),
        url("../images/research/assets/g10-rates-curve.png") center 43% / cover no-repeat,
        #07131e;
}

.rates-research-hero h1,
.rates-workspace-heading h2,
.rates-technical-heading h2 {
    margin: 4px 0 8px;
}

.rates-research-hero p,
.rates-workspace-heading p,
.rates-technical-heading p,
.rates-method-boundary p {
    max-width: 820px;
    margin: 0;
    color: #a9bac8;
    font-size: 14px;
    line-height: 1.55;
}

.rates-research-hero p {
    font-size: 16px;
    line-height: 1.65;
}

.rates-research-hero-state {
    display: grid;
    min-width: 210px;
    justify-items: end;
    gap: 7px;
    text-align: right;
}

.rates-research-hero-state strong {
    color: #f8fafc;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
}

.rates-research-hero-state small {
    color: #8ca3b5;
    font-size: 12px;
    letter-spacing: 0.45px;
}

.rates-signal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.rates-signal-card {
    display: grid;
    min-width: 0;
    gap: 10px;
    padding: 18px;
    color: #dce8f1;
    font: inherit;
    text-align: left;
    cursor: pointer;
    border-left: 3px solid #277da7;
    transition: border-color 120ms ease, transform 120ms ease,
        background 120ms ease;
}

.rates-signal-card:hover,
.rates-signal-card:focus-visible,
.rates-signal-card.is-selected {
    color: #fff;
    border-color: #67e8f9;
    background: #0a1c29;
    transform: translateY(-1px);
}

.rates-signal-card:focus-visible,
.rates-control-group button:focus-visible,
.rates-selected-tabs button:focus-visible,
.rates-drawing-toolbar button:focus-visible,
.rates-load-button:focus-visible {
    outline: 2px solid #67e8f9;
    outline-offset: 2px;
}

.rates-signal-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.rates-signal-card-head > span:first-child {
    display: grid;
    gap: 3px;
}

.rates-signal-card-head strong {
    color: #67e8f9;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.06em;
    line-height: 1.2;
}

.rates-signal-card-head small,
.rates-signal-date {
    color: #8ca3b5;
    font-size: 12px;
    line-height: 1.4;
}

.rates-signal-card > b {
    color: #f8fafc;
    font-size: 28px;
    font-weight: 800;
    line-height: 1.05;
}

.rates-signal-moves {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rates-signal-moves > span {
    padding: 5px 8px;
    color: #d8e4ec;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    background: #0c2231;
    border: 1px solid #264458;
    border-radius: 4px;
}

.rates-signal-regime {
    color: #f4d35e;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.rates-signal-interpretation {
    min-height: 42px;
    color: #bdcbd5;
    font-size: 14px;
    line-height: 1.55;
}

.rates-comparison-ledger,
.rates-policy-expectations,
.rates-chart-workspace,
.rates-method-boundary {
    padding: 20px;
}

.rates-policy-heading,
.rates-policy-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.rates-policy-heading h2,
.rates-policy-panel-heading h3 {
    margin: 4px 0 7px;
}

.rates-policy-heading h2 {
    font-size: 23px;
}

.rates-policy-panel-heading > div > span {
    color: #67e8f9;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.55px;
}

.rates-policy-panel-heading h3 {
    color: #f8fafc;
    font-size: 18px;
    line-height: 1.35;
}

.rates-policy-panel-heading a {
    flex: 0 0 auto;
    color: #7dd3fc;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.rates-policy-panel-heading a:hover {
    color: #fff;
}

.rates-policy-release-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 16px;
    background: #081821;
    border: 1px solid #263b4b;
    border-radius: 5px;
}

.rates-policy-release-strip > div {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 13px 15px;
}

.rates-policy-release-strip > div + div {
    border-left: 1px solid #263b4b;
}

.rates-policy-release-strip span,
.rates-pricing-stats span {
    color: #8ca3b5;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.rates-policy-release-strip strong {
    color: #f8fafc;
    font-size: 15px;
    line-height: 1.4;
}

.rates-policy-message,
.rates-policy-limitations {
    margin-top: 16px;
    padding: 13px 15px;
    color: #9db0bf;
    font-size: 14px;
    line-height: 1.5;
    background: #091923;
    border: 1px solid #263b4b;
    border-radius: 5px;
}

.rates-policy-message.is-error,
.rates-policy-limitations {
    color: #f8c66a;
    border-color: #744210;
}

.rates-policy-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(310px, 0.75fr);
    gap: 12px;
    margin-top: 16px;
}

.rates-policy-grid[hidden],
.rates-policy-message[hidden],
.rates-policy-limitations[hidden] {
    display: none;
}

.rates-dot-plot-panel,
.rates-pricing-panel,
.rates-near-term-panel {
    min-width: 0;
    padding: 16px;
    background: #07151f;
    border: 1px solid #263b4b;
    border-radius: 6px;
}

.rates-near-term-panel {
    grid-column: 1 / -1;
}

.rates-dot-chart-shell {
    margin-top: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    background: #050f16;
    border: 1px solid #263b4b;
    border-radius: 5px;
}

.rates-dot-chart {
    display: block;
    width: 100%;
    min-width: 720px;
    min-height: 350px;
}

.rates-dot-grid-line {
    stroke: #213846;
    stroke-width: 1;
}

.rates-dot-column-line {
    stroke: #16303f;
    stroke-width: 1;
    stroke-dasharray: 4 7;
}

.rates-dot-axis-label,
.rates-dot-horizon-label {
    fill: #9db0bf;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.rates-dot-horizon-label {
    fill: #e2e8f0;
    font-size: 15px;
}

.rates-dot-point {
    fill: #b8a257;
    stroke: #d7c98d;
    stroke-width: .8;
    opacity: .74;
}

.rates-dot-median-line {
    stroke: #67e8f9;
    stroke-width: 3;
}

.rates-dot-medians {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.rates-dot-medians > div {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 9px 10px;
    background: #091923;
    border: 1px solid #263b4b;
    border-radius: 4px;
}

.rates-dot-medians span,
.rates-dot-medians small {
    color: #8ca3b5;
    font-size: 12px;
    line-height: 1.4;
}

.rates-dot-medians strong {
    color: #f8fafc;
    font-size: 14px;
    line-height: 1.4;
}

.rates-pricing-read {
    display: grid;
    gap: 4px;
    margin-top: 20px;
}

.rates-near-term-section {
    min-width: 0;
}

.rates-market-probability-section {
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid #263b4b;
}

.rates-market-probability-section[hidden] {
    display: none;
}

.rates-market-probability-frame-shell {
    min-height: 168px;
    margin-top: 14px;
    overflow: hidden;
    background: #050f16;
    border: 1px solid #263b4b;
    border-radius: 5px;
}

.rates-market-probability-frame-shell iframe {
    display: block;
    width: 100%;
    height: 168px;
    border: 0;
}

.rates-market-probability-frame-shell iframe[hidden] {
    display: none;
}

.rates-two-year-section {
    margin-top: 18px;
    padding: 14px;
    background: linear-gradient(180deg, #091923 0%, #07151f 100%);
    border: 1px solid #3d5665;
    border-top: 2px solid #577384;
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

.rates-near-term-read {
    display: grid;
    gap: 4px;
    margin-top: 18px;
}

.rates-near-term-summary-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(0, 1.08fr);
    gap: 12px;
    align-items: stretch;
    margin-top: 16px;
}

.rates-near-term-summary-grid .rates-priced-in-summary {
    margin-top: 0;
}

.rates-near-term-reading {
    display: grid;
    align-content: start;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    background: linear-gradient(180deg, #091923, #07151f);
    border: 1px solid #3d5665;
    border-top: 2px solid #577384;
    border-radius: 4px;
    box-shadow: inset 0 1px rgba(226, 232, 240, .04);
}

.rates-near-term-reading .rates-near-term-read {
    margin-top: 0;
    padding: 12px 14px 0;
}

.rates-near-term-reading .rates-near-term-read strong {
    color: #e5edf3;
    font-size: 16px;
}

.rates-priced-in-scale-heading {
    display: flex;
    gap: 14px;
    align-items: baseline;
    justify-content: space-between;
}

.rates-priced-in-scale-heading span {
    color: #69d5f3;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .055em;
}

.rates-priced-in-scale-heading strong {
    color: #f4d35e;
    font-size: 20px;
    line-height: 1.2;
}

.rates-near-term-panel .rates-priced-in-scale-heading {
    align-items: center;
    padding: 10px 14px;
    background: rgba(19, 42, 56, .46);
    border-bottom: 1px solid #314958;
}

.rates-near-term-panel .rates-priced-in-scale-heading span {
    color: #9eb3c2;
    font-size: 12px;
    letter-spacing: .08em;
}

.rates-near-term-panel .rates-priced-in-scale-heading strong {
    padding: 3px 7px;
    color: #dce7ee;
    font-size: 17px;
    font-variant-numeric: tabular-nums;
    background: rgba(148, 163, 184, .07);
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 3px;
}

.rates-near-term-panel .rates-pricing-stats {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-top: 14px;
}

.rates-near-term-footer {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(280px, .7fr);
    gap: 20px;
    align-items: start;
}

.rates-measure-question {
    max-width: 660px;
    margin: 5px 0 0;
    color: #b7c7d4;
    font-size: 14px;
    line-height: 1.45;
}

.rates-priced-in-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    margin-top: 18px;
    padding: 16px 18px;
    background: linear-gradient(135deg, #0b1c27, #101c24);
    border: 1px solid #557080;
    border-left: 4px solid #f4d35e;
    border-radius: 5px;
}

.rates-priced-in-summary > div:first-child > span {
    color: #69d5f3;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .055em;
}

.rates-priced-in-answer {
    display: grid;
    gap: 2px;
    min-width: 170px;
    text-align: right;
}

.rates-priced-in-answer strong {
    color: #f4d35e;
    font-size: 30px;
    line-height: 1;
}

.rates-priced-in-answer span {
    color: #dbe7ef;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .045em;
}

.rates-near-term-read strong {
    color: #f4d35e;
    font-size: 18px;
    line-height: 1.35;
}

.rates-near-term-read span {
    color: #8ca3b5;
    font-size: 13px;
    line-height: 1.4;
}

.rates-near-term-meter {
    margin: 15px 14px 13px;
}

.rates-near-term-track {
    position: relative;
    height: 10px;
    overflow: hidden;
    background: #0f222e;
    border: 1px solid #3d5665;
    border-radius: 2px;
}

.rates-near-term-track > span {
    display: block;
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, #8f7a3d, #a84f4f);
    transition: width 220ms ease;
}

.rates-near-term-full-marker {
    position: absolute;
    top: -3px;
    bottom: -3px;
    left: 66.6667%;
    width: 2px;
    background: #cbd5e1;
    box-shadow: 0 0 0 1px rgba(5, 15, 22, .75);
    opacity: .82;
}

.rates-near-term-track > span.is-easing {
    background: linear-gradient(90deg, #3c879a, #285f70);
}

.rates-near-term-meter-label {
    position: relative;
    min-height: 19px;
    margin-top: 7px;
    color: #7f95a5;
    font-size: 12px;
    font-weight: 700;
}

.rates-near-term-meter-label > * {
    position: absolute;
    top: 0;
    white-space: nowrap;
}

.rates-near-term-meter-label > :first-child {
    left: 0;
}

.rates-near-term-meter-label > :nth-child(2) {
    left: 33.3333%;
    transform: translateX(-50%);
}

.rates-near-term-meter-label strong {
    left: 66.6667%;
    transform: translateX(-50%);
    color: #b8c7d2;
    font-size: 12px;
    text-align: center;
}

.rates-near-term-meter-label span:last-child {
    right: 0;
    text-align: right;
}

@media (max-width: 640px) {
    .rates-priced-in-summary {
        grid-template-columns: 1fr;
    }

    .rates-priced-in-answer {
        min-width: 0;
        text-align: left;
    }
}

.rates-owner-reference-note {
    color: #8ca3b5;
    font-size: 12px;
    line-height: 1.45;
}

.rates-pricing-read strong {
    color: #f4d35e;
    font-size: 18px;
    line-height: 1.35;
}

.rates-pricing-read span {
    color: #8ca3b5;
    font-size: 13px;
}

.rates-pricing-meter {
    margin: 24px 0 20px;
}

.rates-pricing-track {
    position: relative;
    height: 14px;
    background: linear-gradient(
        90deg,
        #0e7490 0%,
        #155e75 34%,
        #ca8a04 50%,
        #b45309 68%,
        #991b1b 100%);
    border: 1px solid #557080;
    border-radius: 10px;
}

.rates-pricing-center {
    position: absolute;
    top: -5px;
    bottom: -5px;
    left: 50%;
    width: 2px;
    background: #f8fafc;
    opacity: 0.75;
}

.rates-pricing-marker {
    position: absolute;
    top: 50%;
    width: 18px;
    height: 18px;
    background: #f8fafc;
    border: 3px solid #07151f;
    border-radius: 50%;
    box-shadow: 0 0 0 2px #67e8f9;
    transform: translate(-50%, -50%);
    transition: left 220ms ease;
}

.rates-pricing-marker.is-unavailable {
    opacity: 0.35;
}

.rates-pricing-axis {
    display: flex;
    justify-content: space-between;
    margin-top: 7px;
    color: #8ca3b5;
    font-size: 12px;
    font-weight: 700;
}

.rates-pricing-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.rates-pricing-stats > div {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 10px;
    background: #091923;
    border: 1px solid #263b4b;
    border-radius: 4px;
}

.rates-pricing-stats strong {
    color: #f8fafc;
    font-size: 15px;
    line-height: 1.35;
}

.rates-pricing-method {
    margin: 14px 0 0;
    color: #a9bac8;
    font-size: 14px;
    line-height: 1.55;
}

.rates-two-year-section .rates-policy-panel-heading {
    padding-bottom: 10px;
    border-bottom: 1px solid #29404f;
}

.rates-two-year-section .rates-policy-panel-heading > div > span {
    color: #9eb3c1;
    letter-spacing: .48px;
}

.rates-two-year-section .rates-policy-panel-heading h3 {
    margin-bottom: 0;
}

.rates-two-year-section .rates-pricing-read {
    margin-top: 14px;
}

.rates-two-year-section .rates-pricing-read strong {
    color: #e5edf3;
    font-size: 16px;
}

.rates-two-year-section .rates-pricing-meter {
    margin: 16px 0 14px;
    padding: 12px 12px 10px;
    background: #06131c;
    border: 1px solid #2d4554;
    border-radius: 3px;
}

.rates-two-year-section .rates-pricing-track {
    height: 10px;
    background: linear-gradient(
        90deg,
        #25647a 0%,
        #315c69 34%,
        #8a793f 50%,
        #865a35 68%,
        #74383b 100%);
    border-color: #607786;
    border-radius: 2px;
}

.rates-two-year-section .rates-pricing-center {
    top: -4px;
    bottom: -4px;
    width: 1px;
    background: #dce7ee;
    opacity: .68;
}

.rates-two-year-section .rates-pricing-marker {
    width: 14px;
    height: 14px;
    border-width: 2px;
    box-shadow: 0 0 0 1px #8fc0cf;
}

.rates-two-year-section .rates-pricing-axis {
    margin-top: 8px;
    color: #9eb0bd;
    letter-spacing: .02em;
}

.rates-two-year-section .rates-pricing-stats {
    gap: 7px;
}

.rates-two-year-section .rates-pricing-stats > div {
    padding: 9px 10px;
    background: rgba(12, 31, 43, .68);
    border-color: #314957;
    border-radius: 3px;
}

.rates-two-year-section .rates-pricing-stats strong {
    color: #e8eef2;
    font-size: 14px;
}

.rates-two-year-section .rates-pricing-method {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #29404f;
}

.rates-policy-sources {
    display: grid;
    gap: 6px;
    margin-top: 12px;
}

.rates-policy-sources a {
    color: #7dd3fc;
    font-size: 13px;
    line-height: 1.4;
    text-decoration: none;
}

.rates-policy-sources a:hover {
    color: #fff;
}

.rates-comparison-table {
    width: 100%;
    border-collapse: collapse;
}

.rates-comparison-table th,
.rates-comparison-table td {
    padding: 11px 12px;
    text-align: left;
    border-bottom: 1px solid #263b4b;
}

.rates-comparison-table th {
    color: #8ca3b5;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.55px;
    text-transform: uppercase;
}

.rates-comparison-table td {
    color: #e2e8f0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
}

.rates-comparison-table td:first-child {
    display: grid;
    gap: 2px;
    min-width: 170px;
}

.rates-comparison-table td:first-child strong {
    color: #67e8f9;
}

.rates-comparison-table td:first-child span {
    color: #8ca3b5;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.45;
}

.rates-workspace-heading,
.rates-technical-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.rates-load-button {
    flex: 0 0 auto;
    border: 1px solid #38bdf8;
    appearance: none;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    font-size: 13px;
}

.rates-load-button:hover,
.rates-load-button:active {
    background: transparent;
    box-shadow: none;
}

.rates-load-button:disabled {
    cursor: wait;
    opacity: 0.65;
}

.rates-workspace-message {
    margin-top: 16px;
    padding: 14px 16px;
    color: #9db0bf;
    font-size: 14px;
    background: #091923;
    border: 1px solid #263b4b;
    border-radius: 5px;
}

.rates-workspace-message.is-error {
    color: #fecaca;
    border-color: #7f1d1d;
}

.rates-workspace-body {
    display: grid;
    gap: 16px;
    margin-top: 16px;
}

.rates-workspace-body[hidden] {
    display: none;
}

.rates-chart-controls,
.rates-drawing-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 10px 12px;
    background: #081821;
    border: 1px solid #263b4b;
    border-radius: 5px;
}

.rates-control-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.rates-control-group + .rates-control-group {
    padding-left: 12px;
    border-left: 1px solid #294050;
}

.rates-control-group > span,
.rates-drawing-toolbar > span {
    margin-right: 2px;
    color: #8ca3b5;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.rates-control-group button,
.rates-selected-tabs button,
.rates-drawing-toolbar button {
    padding: 6px 9px;
    color: #aebfcb;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    background: #0b202c;
    border: 1px solid #345063;
    border-radius: 4px;
    cursor: pointer;
}

.rates-control-group button:hover,
.rates-control-group button.is-active,
.rates-selected-tabs button:hover,
.rates-selected-tabs button.is-active,
.rates-drawing-toolbar button:hover,
.rates-drawing-toolbar button.is-active {
    color: #fff;
    background: #12384b;
    border-color: #67e8f9;
}

.rates-series-toggles label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #becbd4;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
}

.rates-series-toggles input {
    width: 13px;
    height: 13px;
    accent-color: #38bdf8;
}

.rates-series-toggles i {
    width: 14px;
    height: 2px;
    background: currentColor;
}

.series-us2y {
    color: #38bdf8;
}

.series-us10y {
    color: #a3e635;
}

.series-real10y {
    color: #f59e0b;
}

.series-dynamic-0 {
    color: #38bdf8;
}

.series-dynamic-1 {
    color: #a3e635;
}

.series-dynamic-2 {
    color: #f59e0b;
}

.rates-chart-shell {
    position: relative;
    min-height: 390px;
    overflow: hidden;
    background: #050f16;
    border: 1px solid #263b4b;
    border-radius: 6px;
}

.rates-chart {
    display: block;
    width: 100%;
    height: 390px;
    touch-action: none;
}

.rates-chart-empty {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #8ca3b5;
    font-size: 12px;
    pointer-events: none;
}

.rates-chart-empty[hidden],
.rates-chart-tooltip[hidden] {
    display: none;
}

.rates-comparison-legend,
.rates-source-ledger,
.rates-technical-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.rates-comparison-legend > div,
.rates-source-ledger > a,
.rates-technical-stats > div {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 10px 12px;
    color: #dbe7ef;
    text-decoration: none;
    background: #091923;
    border: 1px solid #263b4b;
    border-radius: 4px;
}

.rates-comparison-legend strong,
.rates-source-ledger strong,
.rates-technical-stats strong {
    color: #f8fafc;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
}

.rates-comparison-legend span,
.rates-source-ledger span,
.rates-source-ledger small,
.rates-technical-stats span {
    overflow-wrap: anywhere;
    color: #8ca3b5;
    font-size: 12px;
    line-height: 1.45;
}

.rates-source-ledger > a:hover {
    border-color: #38bdf8;
}

.rates-technical-divider {
    height: 1px;
    margin: 6px 0;
    background: #294050;
}

.rates-selected-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.rates-drawing-toolbar small {
    margin-left: auto;
    color: #7f96a7;
    font-size: 12px;
    line-height: 1.4;
}

.rates-technical-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 22px;
    min-height: 38px;
    padding: 8px 12px;
    color: #dbe7ef;
    background: #081821;
    border: 1px solid #263b4b;
    border-radius: 5px;
}

.rates-technical-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    line-height: 1.35;
}

.rates-technical-legend-item strong {
    color: #f8fafc;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
}

.rates-technical-legend-item > span:last-child {
    color: #9fb1bf;
}

.rates-technical-legend-swatch {
    width: 30px;
    height: 0;
    border-top: 3px solid;
}

.rates-technical-legend-swatch.is-dashed {
    border-top-style: dashed;
}

.rates-clear-drawings {
    color: #fca5a5 !important;
}

.rates-chart-tooltip {
    position: absolute;
    z-index: 3;
    max-width: 220px;
    padding: 7px 9px;
    color: #eaf2f7;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    background: rgba(4, 13, 19, 0.94);
    border: 1px solid #4d6a7c;
    border-radius: 4px;
    pointer-events: none;
}

.rates-limitations {
    padding: 11px 13px;
    color: #f8c66a;
    font-size: 13px;
    line-height: 1.5;
    background: rgba(120, 53, 15, 0.14);
    border: 1px solid #744210;
    border-radius: 4px;
}

.rates-method-boundary {
    border-left: 3px solid #38bdf8;
}

.rates-method-boundary strong {
    display: block;
    margin-bottom: 5px;
    color: #67e8f9;
    text-transform: uppercase;
}

@media (max-width: 980px) {
    .rates-signal-grid,
    .rates-policy-grid,
    .rates-comparison-legend,
    .rates-source-ledger,
    .rates-technical-stats {
        grid-template-columns: 1fr;
    }

    .rates-dot-medians {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rates-near-term-summary-grid,
    .rates-near-term-footer {
        grid-template-columns: 1fr;
    }

    .rates-near-term-panel .rates-pricing-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rates-workspace-heading,
    .rates-technical-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .rates-load-button {
        align-self: flex-start;
    }
}

@media (max-width: 720px) {
    .rates-research-hero {
        flex-direction: column;
        padding: 18px;
    }

    .rates-research-hero-state {
        min-width: 0;
        justify-items: start;
        text-align: left;
    }

    .rates-signal-grid {
        grid-template-columns: 1fr;
    }

    .rates-comparison-ledger,
    .rates-policy-expectations,
    .rates-chart-workspace,
    .rates-method-boundary {
        padding: 14px;
    }

    .rates-policy-heading,
    .rates-policy-panel-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .rates-policy-release-strip {
        grid-template-columns: 1fr;
    }

    .rates-policy-release-strip > div + div {
        border-top: 1px solid #263b4b;
        border-left: 0;
    }

    .rates-dot-plot-panel,
    .rates-pricing-panel,
    .rates-near-term-panel {
        padding: 12px;
    }

    .rates-dot-chart {
        min-height: 300px;
    }

    .rates-dot-medians,
    .rates-pricing-stats {
        grid-template-columns: 1fr;
    }

    .rates-near-term-panel .rates-pricing-stats {
        grid-template-columns: 1fr;
    }

    .rates-control-group + .rates-control-group {
        width: 100%;
        padding-top: 8px;
        padding-left: 0;
        border-top: 1px solid #294050;
        border-left: 0;
    }

    .rates-chart-shell,
    .rates-chart {
        min-height: 330px;
        height: 330px;
    }

    .rates-drawing-toolbar small {
        width: 100%;
        margin-left: 0;
    }
}

.cross-asset-symbol,
.cross-asset-level {
    color: #f8fafc;
    font-weight: 800;
}

.cross-asset-symbol {
    color: #55c4ff;
    letter-spacing: 0.06em;
}

.cross-asset-name,
.cross-asset-regime,
.cross-asset-metrics {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cross-asset-name {
    min-height: 1.1rem;
    color: #cbd5e1;
    font-size: 0.72rem;
}

.cross-asset-level {
    margin-top: 0.35rem;
    font-size: 1.05rem;
}

.cross-asset-regime {
    margin-top: 0.12rem;
    color: #c9d6df;
    font-size: 0.72rem;
}

.cross-asset-metrics {
    display: flex;
    justify-content: space-between;
    gap: 0.4rem;
    margin-top: 0.45rem;
    padding-top: 0.35rem;
    color: #dbe7ef;
    font-size: 0.68rem;
    border-top: 1px solid #183246;
}

.cross-asset-brain-use {
    color: #dbeafe;
}

.cross-asset-metrics strong {
    color: #eab308;
}

.cross-asset-warming {
    margin-top: 0.75rem;
    padding: 1rem;
    color: #eab308;
    text-align: center;
    background: #07131e;
    border: 1px dashed #7b6815;
}

.cross-asset-table small {
    display: block;
    color: #8fa9bd;
    white-space: normal;
}

@media (max-width: 760px) {
    .verified-asset-signal-grid {
        grid-template-columns: 1fr;
    }
}

/*==========================================================
    Cross Matrix Links
==========================================================*/

.matrix-link,
.matrix-link:link,
.matrix-link:visited,
.matrix-link:active {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: inherit;
    text-decoration: none;
    border-radius: 6px;
}

    .matrix-link:hover,
    .matrix-link:focus {
        color: inherit;
        text-decoration: none;
    }

    .matrix-link .bias,
    .matrix-link .conviction {
        color: inherit;
    }

.institutional-rankings-table .rank-score.ranking-strong-bullish {
    color: #00d084;
}

.institutional-rankings-table .rank-score.ranking-constructive {
    color: #65df7b;
}

.institutional-rankings-table .rank-score.ranking-neutral {
    color: #f2c94c;
}

.institutional-rankings-table .rank-score.ranking-defensive {
    color: #f2994a;
}

.institutional-rankings-table .rank-score.ranking-strong-bearish {
    color: #eb5757;
}



.cross-analysis-scroll {
    max-height: 46rem;
}

.cross-analysis-table th,
.cross-analysis-table td {
    white-space: nowrap;
}

.cross-analysis-table tbody tr:hover {
    background: rgba(0, 190, 255, 0.08);
}

.cross-traffic-light {
    display: inline-block;
    width: 0.55rem;
    height: 0.55rem;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.65);
    box-shadow: 0 0 0.35rem currentColor;
    vertical-align: middle;
}

.matrix-link .cross-traffic-light {
    position: absolute;
    top: 0.2rem;
    right: 0.2rem;
}

.matrix-link {
    position: relative;
}

.matrix-confirmation-legend {
    color: #93c5fd;
    font-size: .72rem;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.matrix-confirmation-badge {
    align-items: center;
    background: rgba(3, 10, 20, .84);
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: .3rem;
    bottom: .14rem;
    color: #dbeafe;
    display: flex;
    font-size: .61rem;
    gap: .2rem;
    left: .18rem;
    line-height: 1;
    padding: .16rem .24rem;
    pointer-events: none;
    position: absolute;
    z-index: 4;
}

.matrix-confirmation-badge .cross-traffic-light {
    height: .42rem;
    position: static;
    width: .42rem;
}

.hover-confirmation-heading {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: .2rem 0 .55rem;
}

.hover-confirmation-heading > div {
    display: flex;
    flex-direction: column;
    gap: .1rem;
}

.hover-confirmation-heading > div > strong {
    color: #dbeafe;
    font-size: .82rem;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.hover-confirmation-heading span,
.hover-confirmation-footer {
    color: #8fa9bd;
    font-size: .7rem;
}

.hover-confirmation-grid {
    display: grid;
    gap: .45rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hover-confirmation-layer {
    background: rgba(4, 16, 28, .72);
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: .35rem;
    min-width: 0;
    padding: .46rem .5rem;
}

.hover-confirmation-layer header {
    align-items: start;
    display: flex;
    gap: .35rem;
    justify-content: space-between;
}

.hover-confirmation-layer header span,
.hover-confirmation-layer header strong {
    font-size: .69rem;
    line-height: 1.25;
}

.hover-confirmation-layer p {
    color: #a9bfd1;
    font-size: .65rem;
    line-height: 1.35;
    margin: .3rem 0 0;
}

.hover-confirmation-footer {
    margin-top: .5rem;
}

@media (max-width: 800px) {
    .hover-confirmation-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.confirmation-disposition-confirms,
.confirmation-disposition-green,
.portfolio-shadow-enter,
.portfolio-shadow-continue {
    color: #33ff88;
}

.confirmation-disposition-contradicts,
.confirmation-disposition-red,
.portfolio-shadow-exit {
    color: #ff7777;
}

.confirmation-disposition-mixed,
.confirmation-disposition-neutral,
.confirmation-disposition-amber,
.portfolio-shadow-observe {
    color: #ffd84a;
}

.confirmation-disposition-unavailable,
.confirmation-disposition-structuralnotapplicable,
.confirmation-disposition-context {
    color: #94a3b8;
}

/* Dashboard cross-matrix hover: approved readable hierarchy */
#institution-hover-card.is-cross-matrix-hover {
    width: min(900px, calc(100vw - 28px));
    max-height: calc(100vh - 20px);
    overflow-y: auto;
    padding: 0;
    border-color: rgba(125, 211, 252, .3);
    border-radius: 8px;
    background:
        linear-gradient(150deg, rgba(13, 25, 40, .99), rgba(7, 16, 28, .99));
    box-shadow: 0 22px 54px rgba(0, 0, 0, .52);
    scrollbar-width: none;
}

#institution-hover-card.is-cross-matrix-hover::-webkit-scrollbar {
    display: none;
}

#institution-hover-card .matrix-hover-card-content {
    display: grid;
}

#institution-hover-card .matrix-hover-card-header {
    padding: 16px 18px 14px;
    border-bottom: 1px solid rgba(125, 211, 252, .16);
    background: rgba(15, 35, 54, .46);
}

#institution-hover-card .matrix-hover-card-header .hover-title {
    margin: 0;
    color: #F8FAFC;
    font-size: 22px;
    font-weight: 650;
    line-height: 1.25;
    letter-spacing: .01em;
}

#institution-hover-card .matrix-hover-card-header .hover-subtitle {
    margin-top: 4px;
    color: #A8BECC;
    font-size: 14px;
    line-height: 1.5;
}

#institution-hover-card .matrix-hover-card-section {
    padding: 13px 18px 15px;
    border-bottom: 1px solid rgba(148, 163, 184, .13);
}

#institution-hover-card .matrix-hover-card-section:last-child {
    border-bottom: 0;
}

#institution-hover-card .matrix-hover-card-section-title {
    margin-bottom: 8px;
    color: #7DD3FC;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .09em;
    text-transform: uppercase;
}

#institution-hover-card .matrix-hover-card-content .hover-metric-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

#institution-hover-card .matrix-hover-card-content .hover-metric-grid > div {
    min-height: 66px;
    padding: 9px 10px;
    border-color: rgba(125, 211, 252, .14);
    background: rgba(4, 15, 27, .72);
    font-size: 15px;
    line-height: 1.45;
}

#institution-hover-card .matrix-hover-card-content .hover-metric-grid strong {
    display: inline-block;
    color: #91A9B9;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
    letter-spacing: .045em;
}

#institution-hover-card .matrix-hover-card-content .hover-metric-value,
#institution-hover-card .matrix-hover-card-content .hover-semantic-value {
    display: inline-block;
    margin-top: 5px;
    color: #EAF3F7;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0;
}

#institution-hover-card .matrix-hover-card-content .hover-value-positive {
    color: #4ADE80;
}

#institution-hover-card .matrix-hover-card-content .hover-value-negative {
    color: #FB7185;
}

#institution-hover-card .matrix-hover-card-content .hover-value-neutral {
    color: #FACC15;
}

#institution-hover-card .matrix-hover-card-content .hover-confirmation-heading {
    margin: 0 0 8px;
}

#institution-hover-card .matrix-hover-card-content .hover-confirmation-heading > div > strong {
    color: #DBEAFE;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.4;
    letter-spacing: .025em;
}

#institution-hover-card .matrix-hover-card-content .hover-confirmation-heading span,
#institution-hover-card .matrix-hover-card-content .hover-confirmation-footer {
    color: #93ADBE;
    font-size: 13px;
    line-height: 1.45;
}

#institution-hover-card .matrix-hover-card-content .hover-confirmation-heading > b {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
}

#institution-hover-card .matrix-hover-card-content .hover-confirmation-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px 10px;
}

#institution-hover-card .matrix-hover-card-content .hover-confirmation-layer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 38px;
    padding: 7px 10px;
    border-color: rgba(148, 163, 184, .17);
    border-radius: 4px;
    background: rgba(4, 16, 28, .72);
}

#institution-hover-card .matrix-hover-card-content .hover-confirmation-layer > span,
#institution-hover-card .matrix-hover-card-content .hover-confirmation-layer > strong {
    font-size: 13px;
    font-weight: 650;
    line-height: 1.4;
}

#institution-hover-card .matrix-hover-card-content .hover-narrative-grid {
    gap: 18px;
}

#institution-hover-card .matrix-hover-card-content .hover-label {
    margin: 0 0 5px;
    color: #91A9B9;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.4;
    letter-spacing: .07em;
}

#institution-hover-card .matrix-hover-card-content .hover-text {
    margin: 0;
    color: #D8E5EB;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.55;
}

@media (max-width: 900px) {
    #institution-hover-card .matrix-hover-card-content .hover-metric-grid,
    #institution-hover-card .matrix-hover-card-content .hover-confirmation-grid,
    #institution-hover-card .matrix-hover-card-content .hover-narrative-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    #institution-hover-card .matrix-hover-card-content .hover-metric-grid,
    #institution-hover-card .matrix-hover-card-content .hover-confirmation-grid,
    #institution-hover-card .matrix-hover-card-content .hover-narrative-grid {
        grid-template-columns: 1fr;
    }
}

.portfolio-confirmation-shadow {
    border-color: rgba(96, 165, 250, .28);
}

.portfolio-shadow-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.portfolio-shadow-table td,
.portfolio-shadow-table th {
    white-space: nowrap;
}

.portfolio-shadow-note {
    color: #8fa9bd;
    font-size: .76rem;
    margin: .8rem 0 0;
}

@media (max-width: 980px) {
    .portfolio-shadow-grid {
        grid-template-columns: 1fr;
    }

}

.cross-light-green {
    color: #33ff88;
    background: #16c96a;
}

.cross-light-amber {
    color: #ffd84a;
    background: #e0a800;
}

.cross-light-red {
    color: #ff5555;
    background: #e13535;
}

/* Layer 8 institutional trading brief */
.layer-eight-header {
    align-items: center;
    border-top: 1px solid rgba(0, 190, 255, .24);
    display: flex;
    justify-content: space-between;
    margin-top: 1rem;
    padding-top: 1rem;
}

.layer-eight-header h3 {
    color: #ffd54f;
    margin: 0 0 .2rem;
    text-transform: uppercase;
}

.layer-eight-grid {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: .8rem;
}

.brief-tile {
    background: linear-gradient(145deg, rgba(4, 22, 37, .96), rgba(3, 12, 24, .98));
    border: 1px solid rgba(125, 211, 252, .72);
    border-radius: 4px;
    min-width: 0;
    padding: .75rem;
    box-shadow:
        inset 0 0 0 1px rgba(224, 242, 254, .12),
        0 0 0 1px rgba(14, 116, 144, .18),
        0 6px 16px rgba(0, 0, 0, .32);
}

.brief-visual-tile {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.brief-visual-tile::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: "";
    pointer-events: none;
    background: linear-gradient(90deg,
        rgba(3, 12, 24, .56),
        rgba(3, 12, 24, .70));
}

.brief-tile-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: flex;
    overflow: hidden;
    opacity: .34;
    pointer-events: none;
}

.brief-tile-backdrop img {
    width: 100%;
    height: 100%;
    object-fit: fill;
    filter: saturate(.70) contrast(.94);
}

.brief-tile-backdrop-pair img {
    width: 50%;
}

.brief-tile-backdrop-risk {
    opacity: .38;
}

.brief-tile-backdrop-risk img {
    object-fit: cover;
    object-position: center;
    filter: saturate(.78) contrast(.98);
}

.brief-visual-tile > :not(.brief-tile-backdrop) {
    position: relative;
    z-index: 2;
}

/* Brain 2 is an Owner-only methodology laboratory. It intentionally avoids
   all production Brain selectors so presentation changes cannot leak across
   the established scoring workspace. */
.workspace-content-brain2 {
    background:
        radial-gradient(circle at 88% 4%, rgba(0, 190, 255, .11), transparent 32%),
        #030c18;
}

.brain2-workspace {
    color: #f4f7fb;
    display: grid;
    gap: 1rem;
}

/*
 * Owner review sequence: aligned portfolio and model agreement, constructed
 * crosses, independent Brain 2 portfolio and calibration, EXO, ENDO, then
 * methodology.
 * Explicit ordering keeps conditional panels in the same institutional flow
 * without changing any Brain 2 calculation or data boundary.
 */
.brain2-hero {
    order: 0;
}

.brain2-boundary-grid {
    order: 1;
}

#brain2-alignment-live {
    order: 2;
}

.brain2-cross-matrix-panel {
    order: 4;
}

.brain2-independent-pair {
    align-items: center;
    display: inline-flex;
    gap: 0.42rem;
    white-space: nowrap;
}

.brain2-aligned-overlap-dot {
    background: #58b7ff;
    border: 1px solid rgba(197, 232, 255, 0.92);
    border-radius: 50%;
    box-shadow: 0 0 0.45rem rgba(88, 183, 255, 0.62);
    display: inline-block;
    flex: 0 0 auto;
    height: 0.45rem;
    width: 0.45rem;
}

.brain2-b1-direction-dot {
    border: 1px solid rgba(224, 240, 247, 0.78);
    border-radius: 50%;
    display: inline-block;
    flex: 0 0 auto;
    height: 0.45rem;
    width: 0.45rem;
}

.brain2-b1-direction-dot.is-equal {
    background: #74df77;
    box-shadow: 0 0 0.45rem rgba(116, 223, 119, 0.58);
}

.brain2-b1-direction-dot.is-different {
    background: #ff6767;
    box-shadow: 0 0 0.45rem rgba(255, 103, 103, 0.58);
}

.brain2-portfolio-dot-key {
    align-items: center;
    color: #aabac4;
    display: flex;
    flex-wrap: wrap;
    font-size: 0.7rem;
    font-weight: 700;
    gap: 0.45rem 1rem;
    justify-content: flex-end;
    letter-spacing: 0.035em;
    margin-top: 0.48rem;
    text-transform: uppercase;
}

.brain2-portfolio-dot-key > span {
    align-items: center;
    display: inline-flex;
    gap: 0.36rem;
    white-space: nowrap;
}

.brain2-cross-construction {
    order: 3;
}

.brain2-strength-panel {
    order: 5;
}

.brain2-currency-ledger {
    order: 6;
}

.brain2-methodology-intro {
    order: 7;
}

.brain2-methodology-families {
    order: 8;
}

.brain2-next-gate {
    order: 9;
}

.brain2-hero,
.brain2-methodology-intro,
.brain2-strength-panel,
.brain2-cross-construction,
.brain2-cross-matrix-panel,
.brain2-portfolio-panel,
.brain2-calibration-panel,
.brain2-alignment-panel,
.brain2-currency-ledger,
.brain2-next-gate {
    background: linear-gradient(135deg, rgba(7, 30, 50, .98), rgba(3, 12, 24, .98));
    border: 1px solid rgba(0, 190, 255, .25);
    border-radius: 6px;
    padding: 1rem 1.1rem;
}

#brain2-alignment-live {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.brain2-portfolio-heading {
    align-items: start;
}

.brain2-portfolio-strip {
    background: #061725;
    border: 1px solid rgba(142, 174, 197, .22);
    border-radius: 4px;
    display: grid;
    grid-template-columns: repeat(5, minmax(7rem, .7fr)) minmax(12rem, 1.4fr);
    margin-top: .8rem;
}

.brain2-portfolio-strip > span {
    border-left: 1px solid rgba(142, 174, 197, .16);
    display: grid;
    gap: .16rem;
    min-width: 0;
    padding: .55rem .7rem;
}

.brain2-portfolio-strip > span:first-child {
    border-left: 0;
}

.brain2-portfolio-strip small,
.brain2-portfolio-section-title span,
.brain2-portfolio-table small {
    color: #91a5b2;
    font-size: .7rem;
}

.brain2-portfolio-strip small,
.brain2-portfolio-section-title strong {
    font-weight: 800;
    letter-spacing: .06em;
}

.brain2-portfolio-strip strong {
    color: #f5f8fa;
    font-size: .83rem;
    font-variant-numeric: tabular-nums;
}

.brain2-portfolio-section-title {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: .8rem 0 .38rem;
}

.brain2-portfolio-section-title strong {
    color: #84dcff;
    font-size: .73rem;
}

.brain2-portfolio-tier.is-nordic .brain2-portfolio-section-title strong {
    color: #f4c873;
}

.brain2-portfolio-table-wrap {
    border: 1px solid rgba(142, 174, 197, .22);
    border-radius: 4px;
    overflow-x: auto;
}

.brain2-portfolio-table-wrap.is-closed {
    border: 0;
    border-radius: 0;
    max-height: 25rem;
    overflow: auto;
}

.brain2-portfolio-table {
    border-collapse: collapse;
    min-width: 62rem;
    table-layout: fixed;
    width: 100%;
}

.brain2-portfolio-table th {
    background: #0a2235;
    color: #dce8ee;
    font-size: .68rem;
    letter-spacing: .055em;
    padding: .46rem .6rem;
    position: sticky;
    text-align: left;
    text-transform: uppercase;
    top: 0;
    z-index: 2;
}

.brain2-portfolio-table td {
    background: #05131f;
    border-top: 1px solid rgba(142, 174, 197, .15);
    color: #edf3f6;
    font-size: .78rem;
    line-height: 1.35;
    padding: .52rem .6rem;
    vertical-align: middle;
}

.brain2-portfolio-table td > small,
.brain2-portfolio-table td > span:not(.brain2-portfolio-light) {
    display: block;
    margin-top: .08rem;
}

.brain2-portfolio-table a,
.brain2-portfolio-table a:visited {
    color: #ffffff !important;
    font-size: .84rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-decoration: none;
}

.brain2-portfolio-table a:hover,
.brain2-portfolio-table a:focus-visible {
    text-decoration: underline;
    text-decoration-color: #84dcff;
    text-underline-offset: .16rem;
}

.brain2-portfolio-table .is-long,
.brain2-portfolio-table .is-positive {
    color: #78db6a;
}

.brain2-portfolio-table .is-short,
.brain2-portfolio-table .is-negative {
    color: #ff756d;
}

.brain2-portfolio-table .is-flat {
    color: #ffc247;
}

.brain2-portfolio-light {
    align-items: center;
    color: #91a5b2;
    display: inline-flex;
    font-size: .73rem;
    font-weight: 800;
    gap: .3rem;
}

.brain2-portfolio-light i {
    background: currentColor;
    border-radius: 50%;
    box-shadow: 0 0 6px currentColor;
    display: inline-block;
    height: .43rem;
    width: .43rem;
}

.brain2-portfolio-light.is-green {
    color: #78db6a;
}

.brain2-portfolio-light.is-amber {
    color: #ffc247;
}

.brain2-portfolio-light.is-red,
.brain2-portfolio-light.is-unavailable {
    color: #ff756d;
}

.brain2-portfolio-empty {
    background: #05131f;
    border: 1px solid rgba(142, 174, 197, .18);
    border-radius: 4px;
    color: #aebdc6;
    font-size: .78rem;
    padding: .72rem;
}

.brain2-portfolio-closed {
    background: #04111c;
    border: 1px solid rgba(142, 174, 197, .2);
    border-radius: 4px;
    margin-top: .75rem;
    overflow: hidden;
}

.brain2-portfolio-closed summary {
    align-items: center;
    color: #dce8ee;
    cursor: pointer;
    display: flex;
    font-size: .73rem;
    font-weight: 800;
    justify-content: space-between;
    letter-spacing: .055em;
    padding: .58rem .7rem;
}

.brain2-portfolio-closed summary strong {
    color: #84dcff;
}

.brain2-portfolio-reason {
    color: #c6d2d9 !important;
    font-size: .73rem !important;
}

.brain2-pending-baseline {
    background: rgba(255, 194, 71, .1);
    border: 1px solid rgba(255, 194, 71, .45);
    border-radius: 3px;
    color: #ffc247;
    display: inline-block !important;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .04em;
    margin: 0 !important;
    padding: .2rem .38rem;
}

.brain2-calibration-strip,
.brain2-calibration-gates {
    background: #061725;
    border: 1px solid rgba(142, 174, 197, .22);
    border-radius: 4px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: .72rem;
}

.brain2-calibration-strip > span,
.brain2-calibration-gates > span {
    border-left: 1px solid rgba(142, 174, 197, .16);
    display: grid;
    gap: .16rem;
    min-width: 0;
    padding: .55rem .7rem;
}

.brain2-calibration-strip > span:first-child,
.brain2-calibration-gates > span:first-child {
    border-left: 0;
}

.brain2-calibration-strip small,
.brain2-calibration-gates small,
.brain2-calibration-horizons small,
.brain2-calibration-section-title span {
    color: #91a5b2;
    font-size: .7rem;
}

.brain2-calibration-strip strong,
.brain2-calibration-gates strong {
    color: #f5f8fa;
    font-size: .82rem;
    font-variant-numeric: tabular-nums;
}

.brain2-calibration-horizons {
    display: grid;
    gap: .55rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: .7rem;
}

.brain2-calibration-horizons article {
    background: linear-gradient(145deg, #082137, #05131f);
    border: 1px solid rgba(67, 190, 238, .24);
    border-radius: 4px;
    display: grid;
    gap: .18rem;
    min-width: 0;
    padding: .65rem .72rem;
}

.brain2-calibration-horizons article > span,
.brain2-calibration-section-title strong {
    color: #84dcff;
    font-size: .73rem;
    font-weight: 850;
    letter-spacing: .055em;
}

.brain2-calibration-horizons article > strong {
    color: #f5f8fa;
    font-size: 1rem;
}

.brain2-calibration-section-title {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: .85rem 0 .4rem;
}

.brain2-calibration-table-wrap {
    border: 1px solid rgba(142, 174, 197, .22);
    border-radius: 4px;
    overflow: hidden;
}

.brain2-calibration-table {
    border-collapse: collapse;
    table-layout: fixed;
    width: 100%;
}

.brain2-calibration-table th,
.brain2-calibration-table td {
    border-top: 1px solid rgba(142, 174, 197, .15);
    color: #edf3f6;
    font-size: .78rem;
    padding: .5rem .62rem;
    text-align: left;
}

.brain2-calibration-table thead th {
    background: #0a2235;
    border-top: 0;
    color: #dce8ee;
    font-size: .68rem;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.brain2-calibration-table tbody th {
    background: #061725;
}

.brain2-calibration-table td {
    background: #05131f;
}

.brain2-calibration-table .is-positive {
    color: #78db6a;
}

.brain2-calibration-table .is-negative {
    color: #ff756d;
}

@media (max-width: 820px) {
    .brain2-portfolio-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brain2-portfolio-strip > span:nth-child(odd) {
        border-left: 0;
    }

    .brain2-portfolio-section-title {
        align-items: flex-start;
        flex-direction: column;
        gap: .16rem;
    }

    .brain2-calibration-strip,
    .brain2-calibration-gates,
    .brain2-calibration-horizons {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brain2-calibration-strip > span:nth-child(odd),
    .brain2-calibration-gates > span:nth-child(odd) {
        border-left: 0;
    }
}

.brain2-hero {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.brain2-hero h1,
.brain2-methodology-intro h2,
.brain2-section-heading h2,
.brain2-next-gate h2 {
    margin: .2rem 0 .35rem;
}

.brain2-hero p,
.brain2-methodology-intro p,
.brain2-section-heading p,
.brain2-next-gate p,
.brain2-scorecard p {
    color: #c7d4df;
    font-size: .84rem;
    line-height: 1.45;
    margin-bottom: 0;
}

.brain2-status {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    min-width: 10rem;
}

.brain2-status strong {
    color: #84dcff;
    font-size: .82rem;
    letter-spacing: .08em;
}

.brain2-status span,
.brain2-scorecard header p {
    color: #91a7b8;
    font-size: .72rem;
}

.brain2-boundary-grid {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.brain2-boundary-grid article {
    background: rgba(5, 20, 34, .96);
    border: 1px solid rgba(0, 190, 255, .20);
    border-radius: 5px;
    display: grid;
    gap: .15rem;
    padding: .75rem;
}

.brain2-boundary-grid span,
.brain2-order,
.brain2-rule-status {
    color: #84dcff;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.brain2-boundary-grid strong {
    font-size: 1.1rem;
}

.brain2-boundary-grid small {
    color: #91a7b8;
    font-size: .72rem;
}

.brain2-methodology-intro {
    display: grid;
    gap: .85rem;
    grid-template-columns: minmax(0, 1fr);
}

.brain2-methodology-title {
    align-items: end;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.brain2-methodology-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
    justify-content: flex-end;
}

.brain2-methodology-actions button {
    background: rgba(9, 28, 43, .88);
    border: 1px solid rgba(132, 220, 255, .34);
    border-radius: 3px;
    color: #bfeafa;
    cursor: pointer;
    font: inherit;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .035em;
    padding: .42rem .68rem;
    text-transform: uppercase;
}

.brain2-methodology-actions button:hover,
.brain2-methodology-actions button:focus-visible {
    background: rgba(26, 76, 102, .72);
    border-color: rgba(132, 220, 255, .74);
    color: #fff;
    outline: none;
}

.brain2-methodology-contract {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.brain2-methodology-contract > span {
    border-left: 1px solid rgba(142, 174, 197, .18);
    display: grid;
    gap: .12rem;
    min-width: 0;
    padding: .48rem .72rem;
}

.brain2-methodology-contract > span:first-child {
    border-left: 0;
    padding-left: 0;
}

.brain2-methodology-contract small,
.brain2-methodology-calculation small,
.brain2-methodology-factor-range small {
    color: #7f9caf;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .07em;
}

.brain2-methodology-contract strong {
    color: #f0f5f8;
    font-size: .82rem;
}

.brain2-methodology-weights {
    border: 1px solid rgba(132, 220, 255, .20);
    border-radius: 4px;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    overflow: hidden;
}

.brain2-methodology-weights span {
    align-items: center;
    background: rgba(5, 20, 34, .68);
    border-left: 1px solid rgba(142, 174, 197, .16);
    display: flex;
    gap: .4rem;
    justify-content: space-between;
    min-width: 0;
    padding: .5rem .62rem;
}

.brain2-methodology-weights span:first-child {
    border-left: 0;
}

.brain2-methodology-weights strong {
    color: #cce8f5;
    font-size: .7rem;
}

.brain2-methodology-weights small {
    color: #84dcff;
    font-size: .7rem;
    font-weight: 900;
}

.brain2-methodology-families {
    display: grid;
    gap: .8rem;
}

.brain2-methodology-family {
    background: rgba(5, 20, 34, .94);
    border: 1px solid rgba(132, 220, 255, .18);
    border-radius: 5px;
    overflow: hidden;
}

.brain2-methodology-family-heading {
    align-items: center;
    background: linear-gradient(90deg, rgba(15, 47, 68, .84), rgba(7, 24, 38, .86));
    border-bottom: 1px solid rgba(132, 220, 255, .18);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .68rem .82rem;
}

.brain2-methodology-family-heading > div > span {
    color: #84dcff;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.brain2-methodology-family-heading h3 {
    color: #f3f7fa;
    font-size: .98rem;
    margin: .1rem 0 0;
}

.brain2-methodology-family-heading p {
    color: #94adbd;
    font-size: .72rem;
    margin: .18rem 0 0;
}

.brain2-methodology-family-heading > strong {
    color: #84dcff;
    font-size: 1.05rem;
    font-variant-numeric: tabular-nums;
}

.brain2-methodology-factor-list {
    display: grid;
}

.brain2-methodology-factor {
    border-top: 1px solid rgba(142, 174, 197, .13);
}

.brain2-methodology-factor:first-child {
    border-top: 0;
}

.brain2-methodology-factor.is-provisional {
    box-shadow: inset 3px 0 0 rgba(255, 194, 71, .58);
}

.brain2-methodology-factor > summary {
    align-items: center;
    cursor: pointer;
    display: grid;
    gap: .72rem;
    grid-template-columns: 2.1rem minmax(14rem, 1fr) minmax(6.5rem, .42fr) minmax(7.5rem, auto) 1.25rem;
    list-style: none;
    min-height: 3.7rem;
    padding: .55rem .82rem;
}

.brain2-methodology-factor > summary::-webkit-details-marker {
    display: none;
}

.brain2-methodology-factor > summary:hover,
.brain2-methodology-factor > summary:focus-visible,
.brain2-methodology-factor[open] > summary {
    background: rgba(24, 70, 95, .30);
    outline: none;
}

.brain2-methodology-factor-order {
    color: #84dcff;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .06em;
}

.brain2-methodology-factor-name {
    display: grid;
    gap: .12rem;
    min-width: 0;
}

.brain2-methodology-factor-name strong {
    color: #eef5f8;
    font-size: .84rem;
}

.brain2-methodology-factor-name small {
    color: #899eae;
    font-size: .69rem;
}

.brain2-methodology-factor-range {
    display: grid;
    gap: .08rem;
}

.brain2-methodology-factor-range strong {
    color: #d5e6ee;
    font-size: .76rem;
    font-variant-numeric: tabular-nums;
}

.brain2-methodology-factor-toggle {
    color: #84dcff;
    font-size: 1.1rem;
    font-weight: 900;
    text-align: right;
    transition: transform .16s ease;
}

.brain2-methodology-factor[open] .brain2-methodology-factor-toggle {
    transform: rotate(45deg);
}

.brain2-methodology-factor-body {
    background: rgba(3, 15, 26, .60);
    border-top: 1px solid rgba(142, 174, 197, .14);
    padding: .78rem .82rem .88rem 3.65rem;
}

.brain2-methodology-calculation {
    display: grid;
    gap: .65rem;
    grid-template-columns: 1.3fr .55fr 1fr;
}

.brain2-methodology-calculation > span {
    border-left: 2px solid rgba(132, 220, 255, .30);
    display: grid;
    gap: .16rem;
    padding-left: .58rem;
}

.brain2-methodology-calculation strong {
    color: #d8e7ee;
    font-size: .73rem;
}

.brain2-methodology-inputs {
    border-top: 1px solid rgba(142, 174, 197, .15);
    margin-top: .72rem;
    padding-top: .68rem;
}

.brain2-methodology-inputs > span {
    color: #84dcff;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .07em;
}

.brain2-methodology-inputs p {
    color: #b9cad4;
    font-size: .76rem;
    line-height: 1.5;
    margin: .3rem 0 0;
}

.brain2-scorecard-grid {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.brain2-scorecard {
    background: rgba(5, 20, 34, .96);
    border: 1px solid rgba(0, 190, 255, .20);
    border-radius: 5px;
    min-width: 0;
    padding: .85rem;
}

.brain2-scorecard.is-pending {
    border-color: rgba(255, 194, 71, .30);
}

.brain2-scorecard.is-provisional {
    border-color: rgba(255, 194, 71, .38);
    box-shadow: inset 3px 0 0 rgba(255, 194, 71, .58);
}

.brain2-scorecard > header {
    align-items: flex-start;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
}

.brain2-scorecard h3 {
    font-size: .96rem;
    margin: .15rem 0 0;
}

.brain2-scorecard header p {
    margin: .15rem 0 0;
}

.brain2-scorecard.is-pending .brain2-rule-status,
.brain2-scorecard.is-provisional .brain2-rule-status {
    color: #ffc247;
}

.brain2-evidence-boundary {
    border-top: 1px solid rgba(142, 174, 197, .16);
    margin-top: .7rem;
    padding-top: .65rem;
}

.brain2-rule-table {
    border: 1px solid rgba(142, 174, 197, .18);
    border-radius: 4px;
    margin-top: .7rem;
    overflow: hidden;
}

.brain2-rule-row {
    align-items: start;
    border-top: 1px solid rgba(142, 174, 197, .13);
    display: grid;
    font-size: .74rem;
    gap: .5rem;
    grid-template-columns: minmax(10rem, 1.65fr) minmax(5rem, .62fr) minmax(5rem, .72fr) minmax(8rem, 1fr);
    line-height: 1.35;
    padding: .5rem .6rem;
}

.brain2-rule-table.is-client .brain2-rule-row {
    grid-template-columns: minmax(8rem, .8fr) minmax(12rem, 1.2fr);
}

.brain2-rule-row:first-child {
    border-top: 0;
}

.brain2-rule-heading {
    background: rgba(0, 190, 255, .08);
    color: #a9c7da;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.brain2-rule-row .brain2-bias-long {
    color: #81e36b;
    font-weight: 800;
}

.brain2-rule-row .brain2-bias-short {
    color: #ff7b72;
    font-weight: 800;
}

.brain2-rule-row .brain2-bias-neutral {
    background: none;
    border: 0;
    color: #ffc247;
    display: inline;
    font-weight: 800;
    min-height: 0;
    padding: 0;
}

.brain2-pending-note {
    background: rgba(255, 194, 71, .07);
    border: 1px solid rgba(255, 194, 71, .22);
    border-radius: 4px;
    color: #d8c79f;
    font-size: .76rem;
    margin-top: .7rem;
    padding: .65rem;
}

.brain2-section-heading {
    align-items: end;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(15rem, .8fr) minmax(22rem, 1.2fr);
    margin-bottom: .8rem;
}

.brain2-section-heading h2 {
    font-size: 1.12rem;
}

.brain2-snapshot-line {
    color: #91a7b8;
    font-size: .75rem;
    margin-bottom: .6rem;
    text-align: right;
}

.brain2-snapshot-line strong {
    color: #d8e5ef;
}

.brain2-market-strip {
    background: #061523;
    border: 1px solid rgba(0, 190, 255, .24);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: .65rem;
}

.brain2-market-strip > span {
    align-items: baseline;
    border-left: 1px solid rgba(142, 174, 197, .16);
    display: flex;
    gap: .45rem;
    padding: .42rem .6rem;
}

.brain2-market-strip > span:first-child {
    border-left: 0;
}

.brain2-market-strip small {
    color: #7892a5;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.brain2-market-strip strong {
    color: #e4edf4;
    font-size: .76rem;
    font-variant-numeric: tabular-nums;
}

.brain2-strength-table,
.brain2-composite-table,
.brain2-factor-table {
    border: 1px solid rgba(142, 174, 197, .20);
    border-radius: 4px;
    overflow: hidden;
}

.brain2-composite-row {
    align-items: center;
    border-top: 1px solid rgba(142, 174, 197, .13);
    display: grid;
    font-size: .76rem;
    font-variant-numeric: tabular-nums;
    gap: .6rem;
    grid-template-columns: .45fr .55fr .9fr .9fr .9fr .9fr 1fr;
    min-height: 2.15rem;
    padding: .35rem .7rem;
}

.brain2-composite-row:first-child {
    border-top: 0;
}

.brain2-composite-row:nth-child(odd):not(.brain2-composite-heading) {
    background: rgba(93, 128, 151, .035);
}

.brain2-composite-heading {
    background: #0a2235;
    color: #a9c7da;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.brain2-composite-row .is-strong {
    color: #81e36b;
}

.brain2-composite-row .is-positive {
    color: #b5ec8f;
}

.brain2-composite-row .is-neutral {
    color: #ffc247;
}

.brain2-composite-row .is-negative {
    color: #ff9a7f;
}

.brain2-composite-row .is-weak {
    color: #ff6e67;
}

.brain2-cross-legend {
    align-items: center;
    background: #061523;
    border: 1px solid rgba(0, 190, 255, .20);
    color: #a9bbc8;
    display: flex;
    flex-wrap: wrap;
    font-size: .72rem;
    gap: .9rem;
    justify-content: flex-end;
    margin-bottom: .65rem;
    padding: .45rem .65rem;
}

.brain2-cross-legend span {
    align-items: center;
    display: inline-flex;
    gap: .35rem;
}

.brain2-cross-legend i {
    border: 1px solid rgba(255, 255, 255, .16);
    display: inline-block;
    height: .72rem;
    width: .72rem;
}

.brain2-cross-legend strong {
    color: #84dcff;
    font-size: .72rem;
    letter-spacing: .04em;
    margin-left: auto;
}

.brain2-cross-table-wrap {
    border: 1px solid rgba(142, 174, 197, .20);
    border-radius: 4px;
    overflow: auto;
}

.brain2-cross-table {
    border-collapse: separate;
    border-spacing: 2px;
    font-variant-numeric: tabular-nums;
    min-width: 62rem;
    table-layout: fixed;
    width: 100%;
}

.brain2-cross-table th {
    background: #0a2235;
    color: #b8cedc;
    font-size: .68rem;
    font-weight: 800;
    height: 2rem;
    letter-spacing: .04em;
    padding: .35rem;
    position: sticky;
    text-align: center;
    top: 0;
    z-index: 2;
}

.brain2-cross-table tbody th {
    left: 0;
    position: sticky;
    z-index: 1;
}

.brain2-cross-cell {
    color: #f3f7fa;
    font-size: .68rem;
    height: 2.8rem;
    padding: 0;
    position: relative;
    text-align: center;
}

.brain2-cross-link,
.brain2-cross-link:visited {
    align-items: center;
    color: #f3f7fa;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    min-height: 2.8rem;
    padding: .25rem;
    position: relative;
    text-decoration: none;
    transition: box-shadow .16s ease, filter .16s ease, transform .16s ease;
    z-index: 1;
}

.brain2-cross-link:hover,
.brain2-cross-link:focus-visible {
    box-shadow: 0 9px 20px rgba(0, 0, 0, .38),
        inset 0 0 0 1px rgba(137, 222, 255, .72);
    color: #fff;
    filter: brightness(1.14);
    outline: 0;
    transform: translateY(-3px) scale(1.025);
    z-index: 4;
}

.brain2-cross-cell strong,
.brain2-cross-cell span {
    display: block;
}

.brain2-cross-cell strong {
    font-size: .67rem;
    letter-spacing: .04em;
}

.brain2-cross-cell span {
    color: rgba(255, 255, 255, .84);
    font-size: .66rem;
    margin-top: .08rem;
}

.brain2-cross-link.is-long-1,
.brain2-cross-legend .is-long-1 {
    background: rgba(38, 156, 105, .24);
}

.brain2-cross-link.is-long-2 {
    background: rgba(38, 156, 105, .36);
}

.brain2-cross-link.is-long-3,
.brain2-cross-legend .is-long-3 {
    background: rgba(38, 156, 105, .50);
}

.brain2-cross-link.is-long-4 {
    background: rgba(38, 156, 105, .64);
}

.brain2-cross-link.is-long-5 {
    background: rgba(38, 156, 105, .78);
}

.brain2-cross-link.is-short-1,
.brain2-cross-legend .is-short-1 {
    background: rgba(190, 65, 67, .24);
}

.brain2-cross-link.is-short-2 {
    background: rgba(190, 65, 67, .36);
}

.brain2-cross-link.is-short-3,
.brain2-cross-legend .is-short-3 {
    background: rgba(190, 65, 67, .50);
}

.brain2-cross-link.is-short-4 {
    background: rgba(190, 65, 67, .64);
}

.brain2-cross-link.is-short-5 {
    background: rgba(190, 65, 67, .78);
}

.brain2-cross-link.is-flat,
.brain2-cross-legend .is-flat {
    background: rgba(206, 156, 45, .34);
}

.brain2-cross-cell.is-diagonal,
.brain2-cross-cell.is-unavailable {
    background: #07131f;
    color: #607889;
}

.brain2-alignment-strip {
    background: #061523;
    border: 1px solid rgba(0, 190, 255, .24);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: .7rem;
}

.brain2-alignment-strip > span {
    border-left: 1px solid rgba(142, 174, 197, .16);
    display: grid;
    gap: .12rem;
    padding: .48rem .65rem;
}

.brain2-alignment-strip > span:first-child {
    border-left: 0;
}

.brain2-alignment-strip small,
.brain2-alignment-title-row span {
    color: #7892a5;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.brain2-alignment-strip strong {
    color: #e8f2f8;
    font-size: .82rem;
    font-variant-numeric: tabular-nums;
}

.brain2-alignment-title-row {
    align-items: end;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: .75rem 0 .45rem;
}

.brain2-alignment-title-row > div {
    display: grid;
    gap: .1rem;
}

.brain2-alignment-title-row strong {
    font-size: .92rem;
}

.brain2-alignment-title-row p {
    color: #91a7b8;
    font-size: .7rem;
    margin: 0;
    max-width: 35rem;
    text-align: right;
}

.brain2-alignment-tier-heading {
    align-items: end;
    border-left: 3px solid #84dcff;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: .85rem 0 .38rem;
    padding: .22rem 0 .22rem .65rem;
}

.brain2-alignment-tier-heading > div {
    display: grid;
    gap: .08rem;
}

.brain2-alignment-tier-heading span {
    color: #7892a5;
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .09em;
}

.brain2-alignment-tier-heading strong {
    color: #e8f2f8;
    font-size: .86rem;
}

.brain2-alignment-tier-heading p {
    color: #91a7b8;
    font-size: .68rem;
    margin: 0;
    text-align: right;
}

.brain2-alignment-tier-heading.is-nordic {
    border-left-color: #f4c873;
}

.brain2-alignment-shortlist-grid.is-nordic > .brain2-alignment-record {
    border-color: rgba(244, 200, 115, .55);
}

.brain2-alignment-table-wrap {
    border: 1px solid rgba(142, 174, 197, .20);
    border-radius: 4px;
    overflow: auto;
}

.brain2-alignment-table {
    border-collapse: collapse;
    font-size: .74rem;
    font-variant-numeric: tabular-nums;
    min-width: 58rem;
    width: 100%;
}

.brain2-alignment-table th,
.brain2-alignment-table td {
    border-top: 1px solid rgba(142, 174, 197, .13);
    padding: .46rem .62rem;
    text-align: left;
    vertical-align: middle;
}

.brain2-alignment-table thead th {
    background: #0a2235;
    border-top: 0;
    color: #a9c7da;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .04em;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 1;
}

.brain2-alignment-table tbody tr:nth-child(even) {
    background: rgba(93, 128, 151, .035);
}

.brain2-alignment-table tbody tr:hover {
    background: rgba(0, 190, 255, .045);
}

.brain2-alignment-table tbody > tr > td:first-child {
    color: #84dcff;
    font-weight: 800;
}

.brain2-alignment-table tbody th {
    color: #f2f7fa;
    font-size: .8rem;
    letter-spacing: .04em;
}

.brain2-alignment-table td strong,
.brain2-alignment-table td small {
    display: block;
}

.brain2-alignment-table td small {
    color: #829aaa;
    font-size: .64rem;
    margin-top: .08rem;
}

.brain2-alignment-direction {
    border: 1px solid currentColor;
    border-radius: 3px;
    display: inline-block !important;
    font-size: .66rem;
    letter-spacing: .06em;
    min-width: 3.6rem;
    padding: .16rem .38rem;
    text-align: center;
}

.brain2-alignment-direction.is-long {
    color: #81e36b;
}

.brain2-alignment-direction.is-short {
    color: #ff7b72;
}

.brain2-alignment-direction.is-flat {
    color: #ffc247;
}

.brain2-alignment-details {
    border: 1px solid rgba(142, 174, 197, .20);
    border-radius: 4px;
    margin-top: .7rem;
}

.brain2-alignment-details > summary {
    align-items: center;
    color: #dceaf3;
    cursor: pointer;
    display: flex;
    font-size: .75rem;
    font-weight: 800;
    justify-content: space-between;
    padding: .55rem .65rem;
}

.brain2-alignment-details > summary span {
    color: #84dcff;
    font-size: .66rem;
    font-weight: 700;
}

.brain2-alignment-details[open] > summary {
    border-bottom: 1px solid rgba(142, 174, 197, .18);
}

.brain2-alignment-details .brain2-alignment-table-wrap {
    border: 0;
    border-radius: 0;
    max-height: 27rem;
}

.brain2-alignment-table.is-confirmation-matrix {
    min-width: 116rem;
    table-layout: fixed;
}

.brain2-alignment-table.is-confirmation-matrix th,
.brain2-alignment-table.is-confirmation-matrix td {
    text-align: center;
}

.brain2-alignment-table.is-confirmation-matrix
    .brain2-alignment-group-heading th {
    background: #071b2b;
    color: #81d8f7;
    height: 2.05rem;
    top: 0;
    z-index: 4;
}

.brain2-alignment-table.is-confirmation-matrix
    thead tr:nth-child(2) th {
    background: #0a2235;
    top: 2.05rem;
    z-index: 3;
}

.brain2-alignment-table.is-confirmation-matrix
    :is(th, td):nth-child(1) {
    min-width: 3.2rem;
    width: 3.2rem;
}

.brain2-alignment-table.is-confirmation-matrix
    :is(th, td):nth-child(2) {
    min-width: 5.8rem;
    width: 5.8rem;
}

.brain2-alignment-table.is-confirmation-matrix
    :is(th, td):nth-child(3) {
    min-width: 6.6rem;
    width: 6.6rem;
}

.brain2-alignment-table.is-confirmation-matrix
    tbody :is(th, td):nth-child(1),
.brain2-alignment-table.is-confirmation-matrix
    .brain2-alignment-group-heading th:nth-child(1) {
    background: #061725;
    left: 0;
    position: sticky;
    z-index: 5;
}

.brain2-alignment-table.is-confirmation-matrix
    tbody :is(th, td):nth-child(2),
.brain2-alignment-table.is-confirmation-matrix
    .brain2-alignment-group-heading th:nth-child(2) {
    background: #061725;
    left: 3.2rem;
    position: sticky;
    z-index: 5;
}

.brain2-alignment-table.is-confirmation-matrix
    tbody :is(th, td):nth-child(3),
.brain2-alignment-table.is-confirmation-matrix
    .brain2-alignment-group-heading th:nth-child(3) {
    background: #061725;
    box-shadow: 5px 0 8px rgba(0, 0, 0, .2);
    left: 9rem;
    position: sticky;
    z-index: 5;
}

.brain2-alignment-table.is-confirmation-matrix
    .brain2-alignment-group-heading th:nth-child(-n+3) {
    z-index: 7;
}

.brain2-alignment-table.is-confirmation-matrix tbody tr:nth-child(even)
    :is(th, td):nth-child(-n+3) {
    background: #081b29;
}

.brain2-alignment-table.is-confirmation-matrix tbody th a {
    color: #f2f7fa;
    text-decoration: none;
}

.brain2-alignment-table.is-confirmation-matrix tbody th a:hover,
.brain2-alignment-table.is-confirmation-matrix tbody th a:focus-visible {
    color: #84dcff;
    text-decoration: underline;
    text-underline-offset: .16rem;
}

.brain2-confirmation-cell {
    border-left: 2px solid transparent;
    cursor: help;
    min-width: 7.4rem;
    outline: none;
}

.brain2-confirmation-cell strong {
    font-size: .62rem;
    letter-spacing: .055em;
}

.brain2-confirmation-cell small {
    color: #a9bdca !important;
    font-size: .61rem !important;
    white-space: nowrap;
}

.brain2-confirmation-cell.is-confirming {
    background: rgba(89, 211, 91, .075);
    border-left-color: #81e36b;
    color: #81e36b;
}

.brain2-confirmation-cell.is-conflicting {
    background: rgba(255, 93, 82, .08);
    border-left-color: #ff7b72;
    color: #ff7b72;
}

.brain2-confirmation-cell.is-mixed,
.brain2-confirmation-cell.is-neutral {
    background: rgba(255, 194, 71, .07);
    border-left-color: #ffc247;
    color: #ffc247;
}

.brain2-confirmation-cell.is-context {
    background: rgba(56, 189, 248, .07);
    border-left-color: #6fd3ff;
    color: #84dcff;
}

.brain2-confirmation-cell.is-structural,
.brain2-confirmation-cell.is-unavailable {
    background: rgba(143, 163, 176, .045);
    border-left-color: #647a89;
    color: #829aaa;
}

.brain2-confirmation-cell:focus-visible {
    box-shadow: inset 0 0 0 1px #84dcff;
}

.brain2-confirmation-legend {
    align-items: center;
    color: #8199a9;
    display: flex;
    flex-wrap: wrap;
    font-size: .62rem;
    gap: .35rem .75rem;
    margin-top: .45rem;
}

.brain2-confirmation-legend span {
    border-left: 2px solid currentColor;
    padding-left: .32rem;
    text-transform: uppercase;
}

.brain2-confirmation-legend .is-confirming {
    color: #81e36b;
}

.brain2-confirmation-legend .is-mixed {
    color: #ffc247;
}

.brain2-confirmation-legend .is-conflicting {
    color: #ff7b72;
}

.brain2-confirmation-legend .is-context {
    color: #84dcff;
}

.brain2-confirmation-legend .is-unavailable {
    color: #829aaa;
}

.brain2-confirmation-legend strong {
    color: #91a7b8;
    font-weight: 600;
    margin-left: auto;
}

.brain2-divergence-section {
    background: #04111c;
    border: 1px solid rgba(142, 174, 197, .22);
    border-left: 4px solid currentColor;
    border-radius: 4px;
    color: #91a5b2;
    margin-top: .85rem;
    overflow: hidden;
}

.brain2-divergence-section.is-conflict {
    border-left-color: #ff756d;
}

.brain2-divergence-section.is-neutral {
    border-left-color: #ffc247;
}

.brain2-divergence-heading {
    align-items: center;
    background: linear-gradient(100deg, #081c2b, #061522);
    display: grid;
    gap: .8rem;
    grid-template-columns: minmax(12rem, .75fr) minmax(18rem, 1.35fr) auto;
    padding: .62rem .72rem;
}

.brain2-divergence-heading > div {
    display: grid;
    gap: .08rem;
}

.brain2-divergence-heading > div > span {
    color: #8199a9;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .075em;
}

.brain2-divergence-heading > div > strong {
    color: #f4f7f9;
    font-size: .92rem;
}

.brain2-divergence-heading p {
    color: #a8bac6;
    font-size: .72rem;
    line-height: 1.4;
    margin: 0;
}

.brain2-divergence-count,
.brain2-divergence-status {
    border: 1px solid currentColor;
    border-radius: 2px;
    display: inline-block;
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .055em;
    padding: .16rem .34rem;
    text-align: center;
    white-space: nowrap;
}

.brain2-divergence-count.is-conflict,
.brain2-divergence-status.is-conflict {
    color: #ff756d;
}

.brain2-divergence-count.is-neutral,
.brain2-divergence-status.is-neutral {
    color: #ffc247;
}

.brain2-divergence-board {
    border-top: 1px solid rgba(142, 174, 197, .18);
}

.brain2-divergence-board-heading,
.brain2-divergence-row {
    align-items: center;
    display: grid;
    gap: .65rem;
    grid-template-columns:
        3.2rem minmax(5.5rem, .7fr) minmax(9rem, 1.2fr)
        minmax(10rem, 1.4fr) minmax(7rem, .8fr) minmax(10rem, 1.1fr);
    padding: .46rem .72rem;
}

.brain2-divergence-board-heading {
    background: #0a2235;
    color: #b9ccd7;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.brain2-divergence-row {
    border-top: 1px solid rgba(142, 174, 197, .13);
    min-height: 3.2rem;
}

.brain2-divergence-row:nth-child(odd) {
    background: rgba(93, 128, 151, .035);
}

.brain2-divergence-row.is-conflict:hover {
    background: rgba(255, 117, 109, .045);
}

.brain2-divergence-row.is-neutral:hover {
    background: rgba(255, 194, 71, .04);
}

.brain2-divergence-model {
    align-items: center;
    display: grid;
    gap: .1rem .45rem;
    grid-template-columns: auto 1fr;
    min-width: 0;
}

.brain2-divergence-model > em {
    display: none;
}

.brain2-divergence-model > b {
    color: #f3f6f8;
    font-size: .76rem;
    font-style: normal;
    font-variant-numeric: tabular-nums;
}

.brain2-divergence-model > small {
    color: #8fa4b1;
    font-size: .64rem;
    grid-column: 1 / -1;
}

.brain2-divergence-gap {
    color: #f1f5f7;
    display: grid;
    font-size: .78rem;
    font-variant-numeric: tabular-nums;
    gap: .08rem;
}

.brain2-divergence-gap small {
    color: #8199a9;
    font-size: .61rem;
    font-weight: 600;
}

.brain2-divergence-empty {
    border-top: 1px solid rgba(142, 174, 197, .13);
    color: #91a5b2;
    font-size: .72rem;
    padding: .65rem .72rem;
}

.brain2-alignment-board {
    background: #04111c;
    border: 1px solid rgba(142, 174, 197, .22);
    border-radius: 4px;
    overflow: hidden;
}

.brain2-alignment-board-heading,
.brain2-alignment-core {
    align-items: center;
    display: grid;
    gap: .7rem;
    grid-template-columns:
        3.2rem minmax(5.5rem, .7fr) minmax(6.3rem, .8fr)
        minmax(8.8rem, 1.15fr) minmax(12rem, 1.75fr)
        minmax(5.5rem, .7fr);
}

.brain2-alignment-board-heading {
    background: #0a2235;
    color: #f1f6f9;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .055em;
    padding: .46rem .72rem;
    position: sticky;
    text-transform: uppercase;
    top: 0;
    z-index: 3;
}

.brain2-alignment-record {
    background: linear-gradient(100deg, #061725, #05131f);
    border-top: 1px solid rgba(142, 174, 197, .18);
}

.brain2-alignment-record:first-of-type {
    border-top: 0;
}

.brain2-alignment-core {
    color: #f2f6f8;
    min-height: 3.15rem;
    padding: .45rem .72rem;
}

.brain2-alignment-rank {
    color: #c4d0d8;
    font-size: .72rem;
    font-weight: 800;
}

.brain2-alignment-pair {
    font-size: .84rem;
    letter-spacing: .045em;
}

.brain2-alignment-pair a,
.brain2-alignment-pair a:visited,
.brain2-alignment-pair a:active {
    color: #f7f9fa !important;
    text-decoration: none;
}

.brain2-alignment-pair a:hover,
.brain2-alignment-pair a:focus-visible {
    color: #ffffff !important;
    text-decoration: underline;
    text-decoration-color: #82dcff;
    text-underline-offset: .18rem;
}

.brain2-model-reading {
    display: grid;
    gap: .08rem;
}

.brain2-model-reading strong,
.brain2-common-gap {
    color: #f2f6f8;
    font-size: .76rem;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}

.brain2-model-reading small {
    color: #91a5b2;
    font-size: .62rem;
    font-variant-numeric: tabular-nums;
}

.brain2-confirmation-grid {
    background: rgba(0, 0, 0, .13);
    border-top: 1px solid rgba(142, 174, 197, .12);
    display: grid;
    gap: .34rem;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    padding: .38rem .72rem .52rem 3.92rem;
}

.brain2-confirmation-grid-heading {
    align-items: center;
    color: #aebdc6;
    display: flex;
    font-size: .7rem;
    font-weight: 800;
    grid-column: 1 / -1;
    justify-content: space-between;
    letter-spacing: .065em;
    min-height: 1.25rem;
}

.brain2-final-traffic {
    align-items: center;
    border: 1px solid currentColor;
    border-radius: 2px;
    display: inline-flex;
    font-size: .66rem;
    gap: .3rem;
    padding: .12rem .28rem;
}

.brain2-model-traffic-lights {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .42rem;
    justify-content: flex-end;
}

.brain2-final-traffic i {
    background: currentColor;
    border-radius: 50%;
    box-shadow: 0 0 7px currentColor;
    display: inline-block;
    height: .44rem;
    width: .44rem;
}

.brain2-final-traffic.is-green {
    color: #78db6a;
}

.brain2-final-traffic.is-amber {
    color: #ffc247;
}

.brain2-final-traffic.is-red,
.brain2-final-traffic.is-unavailable {
    color: #ff756d;
}

.brain2-confirmation-tile {
    appearance: none;
    background: #0b1722;
    border: 1px solid rgba(142, 174, 197, .17);
    border-left: 3px solid currentColor;
    border-radius: 3px;
    color: #91a5b2;
    cursor: help;
    display: grid;
    font-family: inherit;
    gap: .2rem;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 3.8rem;
    padding: .48rem .52rem;
    text-align: left;
}

.brain2-confirmation-tile:hover,
.brain2-confirmation-tile:focus-visible {
    border-color: currentColor;
    box-shadow: 0 0 0 1px rgba(132, 220, 255, .08);
    filter: brightness(1.12);
    outline: none;
}

.brain2-confirmation-layer {
    color: #f3f6f8;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .045em;
    overflow: hidden;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.brain2-confirmation-state {
    border: 1px solid currentColor;
    border-radius: 2px;
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .045em;
    padding: .07rem .2rem;
}

.brain2-confirmation-tile > strong {
    color: #d7e0e5;
    font-size: .75rem;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    grid-column: 1 / -1;
    line-height: 1.25;
}

.brain2-confirmation-tile.is-confirming {
    color: #78db6a;
}

.brain2-confirmation-tile.is-conflicting,
.brain2-confirmation-tile.is-unavailable {
    color: #ff756d;
}

.brain2-confirmation-tile.is-mixed,
.brain2-confirmation-tile.is-neutral {
    color: #ffc247;
}

.brain2-confirmation-tile.is-structural {
    color: #879aa7;
}

.brain2-alignment-board.is-full-list {
    border: 0;
    border-radius: 0;
    max-height: 42rem;
    overflow-y: auto;
}

.brain2-confirmation-tooltip {
    background: #111827;
    border: 1px solid rgba(132, 220, 255, .48);
    border-left: 4px solid #82dcff;
    border-radius: 4px;
    box-shadow: 0 14px 36px rgba(0, 0, 0, .5);
    color: #e8eff3;
    left: 0;
    max-height: calc(100vh - 1.5rem);
    max-width: calc(100vw - 2rem);
    opacity: 0;
    overflow-y: auto;
    padding: .85rem 1rem 1rem;
    pointer-events: none;
    position: fixed;
    top: 0;
    transform: translateY(4px);
    transition: opacity .1s ease, transform .1s ease;
    visibility: hidden;
    width: min(48.75rem, calc(100vw - 2rem));
    z-index: 10000;
}

.brain2-confirmation-tooltip.is-visible {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}

.brain2-confirmation-tooltip.is-confirming {
    border-left-color: #78db6a;
}

.brain2-confirmation-tooltip.is-conflicting,
.brain2-confirmation-tooltip.is-unavailable {
    border-left-color: #ff756d;
}

.brain2-confirmation-tooltip.is-mixed,
.brain2-confirmation-tooltip.is-neutral {
    border-left-color: #ffc247;
}

.brain2-confirmation-tooltip.is-structural {
    border-left-color: #879aa7;
}

.brain2-confirmation-tooltip header {
    align-items: start;
    border-bottom: 1px solid rgba(142, 174, 197, .18);
    display: flex;
    gap: .8rem;
    justify-content: space-between;
    margin-bottom: .5rem;
    padding-bottom: .45rem;
}

.brain2-confirmation-tooltip header div {
    display: grid;
    gap: .08rem;
}

.brain2-confirmation-tooltip header small {
    color: #84dcff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.brain2-confirmation-tooltip header strong {
    color: #ffffff;
    font-size: 1.06rem;
}

.brain2-confirmation-tooltip-state {
    border: 1px solid currentColor;
    border-radius: 2px;
    color: #dbe7ed;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .05em;
    padding: .12rem .28rem;
}

.brain2-confirmation-tooltip.is-confirming
    .brain2-confirmation-tooltip-state {
    color: #78db6a;
}

.brain2-confirmation-tooltip.is-conflicting
    .brain2-confirmation-tooltip-state,
.brain2-confirmation-tooltip.is-unavailable
    .brain2-confirmation-tooltip-state {
    color: #ff756d;
}

.brain2-confirmation-tooltip.is-mixed
    .brain2-confirmation-tooltip-state,
.brain2-confirmation-tooltip.is-neutral
    .brain2-confirmation-tooltip-state {
    color: #ffc247;
}

.brain2-confirmation-tooltip.is-structural
    .brain2-confirmation-tooltip-state {
    color: #879aa7;
}

.brain2-confirmation-tooltip-evidence,
.brain2-confirmation-tooltip-breakdown,
.brain2-confirmation-tooltip-interpretation {
    margin-top: .7rem;
}

.brain2-confirmation-tooltip-breakdown {
    background: #0b1320;
    border: 1px solid rgba(142, 174, 197, .18);
    border-radius: 3px;
    padding: .72rem;
}

.brain2-confirmation-tooltip-evidence[hidden],
.brain2-confirmation-tooltip-breakdown[hidden] {
    display: none;
}

.brain2-confirmation-tooltip-evidence > small,
.brain2-confirmation-tooltip-breakdown > small,
.brain2-confirmation-tooltip-interpretation > small {
    color: #84dcff;
    display: block;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .07em;
    margin-bottom: .48rem;
    text-transform: uppercase;
}

.brain2-confirmation-tooltip-metrics {
    display: grid;
    gap: .45rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.brain2-confirmation-tooltip-metrics > div {
    background: #0b1320;
    border: 1px solid #293548;
    border-radius: 3px;
    display: grid;
    gap: .18rem;
    min-width: 0;
    padding: .55rem .62rem;
}

.brain2-confirmation-tooltip-metrics > .is-wide {
    grid-column: 1 / -1;
}

.brain2-confirmation-tooltip-metrics small {
    color: #94a3b8;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.brain2-confirmation-tooltip-metrics strong {
    color: #f4f7f9;
    font-size: .84rem;
    font-variant-numeric: tabular-nums;
    line-height: 1.38;
    overflow-wrap: anywhere;
}

.brain2-technical-hover-strip {
    align-items: stretch;
    display: grid;
    gap: .45rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: .62rem;
}

.brain2-technical-hover-strip .technical-confirmation-chip {
    background: #0d1a28;
    min-width: 0;
    min-height: 3rem;
    width: 100%;
}

.brain2-technical-hover-strip .technical-chip-timeframe {
    font-size: .7rem;
}

.brain2-technical-hover-strip .technical-chip-reading {
    font-size: .86rem;
}

.brain2-technical-detail-grid {
    display: grid;
    gap: .55rem;
}

.brain2-technical-detail-card {
    background: #0b1320;
    border: 1px solid #293548;
    border-radius: 3px;
    overflow: hidden;
}

.brain2-technical-detail-card > header {
    align-items: center;
    background: #0d1a28;
    border: 0;
    display: grid;
    gap: .5rem;
    grid-template-columns: 2.5rem 1fr auto;
    margin: 0;
    padding: .45rem .58rem;
}

.brain2-technical-detail-card > header > strong {
    color: #ffffff;
    font-size: .84rem;
}

.brain2-technical-detail-card > header > span {
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .045em;
}

.brain2-technical-detail-metrics {
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.brain2-technical-detail-metrics > div {
    background: rgba(17, 24, 39, .72);
    display: grid;
    gap: .15rem;
    min-width: 0;
    padding: .48rem .58rem;
}

.brain2-technical-detail-metrics > .is-wide {
    grid-column: 1 / -1;
}

.brain2-technical-detail-metrics small {
    color: #94a3b8;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.brain2-technical-detail-metrics strong {
    color: #edf3f6;
    font-size: .78rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.brain2-technical-detail-card .is-long,
.brain2-technical-detail-card .is-green {
    color: #78db6a;
}

.brain2-technical-detail-card .is-short,
.brain2-technical-detail-card .is-red {
    color: #ff756d;
}

.brain2-technical-detail-card .is-flat,
.brain2-technical-detail-card .is-amber {
    color: #ffc247;
}

.brain2-confirmation-tooltip p {
    color: #d1dbe1;
    font-size: .88rem;
    line-height: 1.55;
    margin: 0;
}

@media (max-width: 820px) {
    .brain2-alignment-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brain2-alignment-strip > span:nth-child(odd) {
        border-left: 0;
    }

    .brain2-alignment-board-heading {
        display: none;
    }

    .brain2-alignment-core {
        grid-template-columns: 3rem 1fr auto;
    }

    .brain2-alignment-core > :nth-child(n+4) {
        margin-top: .2rem;
    }

    .brain2-alignment-core > :nth-child(4) {
        grid-column: 1 / 2;
    }

    .brain2-alignment-core > :nth-child(5) {
        grid-column: 2 / 3;
    }

    .brain2-alignment-core > :nth-child(6) {
        grid-column: 3 / 4;
    }

    .brain2-confirmation-grid {
        padding-left: .72rem;
    }

    .brain2-divergence-heading {
        grid-template-columns: 1fr auto;
    }

    .brain2-divergence-heading p {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .brain2-divergence-board-heading {
        display: none;
    }

    .brain2-divergence-row {
        grid-template-columns: 3rem repeat(2, minmax(0, 1fr));
    }

    .brain2-divergence-row > :nth-child(1) {
        grid-column: 1;
        grid-row: 1;
    }

    .brain2-divergence-row > :nth-child(2) {
        grid-column: 2 / -1;
        grid-row: 1;
    }

    .brain2-divergence-row > :nth-child(3) {
        grid-column: 2;
        grid-row: 2;
    }

    .brain2-divergence-row > :nth-child(4) {
        grid-column: 3;
        grid-row: 2;
    }

    .brain2-divergence-row > :nth-child(5) {
        grid-column: 2;
        grid-row: 3;
    }

    .brain2-divergence-row > :nth-child(6) {
        grid-column: 3;
        grid-row: 3;
    }

    .brain2-divergence-model > em {
        color: #8199a9;
        display: block;
        font-size: .6rem;
        font-style: normal;
        font-weight: 800;
        grid-column: 1 / -1;
        letter-spacing: .06em;
    }

}

@media (max-width: 560px) {
    .brain2-confirmation-tooltip-metrics {
        grid-template-columns: 1fr;
    }

    .brain2-technical-detail-metrics {
        grid-template-columns: 1fr;
    }

    .brain2-divergence-row {
        grid-template-columns: 2.6rem minmax(0, 1fr);
    }

    .brain2-divergence-row > :nth-child(n+2) {
        grid-column: 2;
        grid-row: auto;
    }

    .brain2-divergence-heading {
        grid-template-columns: 1fr;
    }

    .brain2-divergence-heading p,
    .brain2-divergence-count {
        grid-column: 1;
        grid-row: auto;
        justify-self: start;
    }
}


.brain2-strength-row {
    align-items: center;
    border-top: 1px solid rgba(142, 174, 197, .13);
    display: grid;
    font-size: .76rem;
    gap: .55rem;
    grid-template-columns: .42fr .5fr .58fr .62fr .62fr .48fr 1.28fr .5fr .5fr .5fr .48fr .48fr .48fr .58fr;
    font-variant-numeric: tabular-nums;
    min-height: 2.05rem;
    padding: .32rem .65rem;
}

.brain2-rank-comparison {
    color: #9db6c7;
    font-weight: 800;
}

.brain2-strength-row:first-child {
    border-top: 0;
}

.brain2-strength-row:not(.brain2-strength-heading):hover,
.brain2-factor-row:not(.brain2-factor-heading):hover {
    background: rgba(0, 190, 255, .035);
}

.brain2-strength-heading,
.brain2-factor-heading {
    background: #0a2235;
    color: #a9c7da;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.brain2-strength-row:nth-child(odd):not(.brain2-strength-heading) {
    background: rgba(93, 128, 151, .035);
}

.brain2-currency-link {
    color: #eef6fb;
    letter-spacing: .04em;
    text-decoration: none;
}

.brain2-currency-link::after {
    color: #65cdf4;
    content: "  ›";
}

.brain2-currency-link:hover,
.brain2-currency-link:focus-visible {
    color: #84dcff;
    text-decoration: underline;
    text-underline-offset: .16rem;
}

.brain2-coverage-gate {
    align-items: center;
    background: rgba(255, 110, 103, .07);
    border: 1px solid rgba(255, 110, 103, .28);
    color: #ff8c86;
    display: flex;
    font-size: .68rem;
    gap: .75rem;
    justify-content: space-between;
    letter-spacing: .05em;
    margin-top: .65rem;
    padding: .5rem .65rem;
}

.brain2-coverage-gate span {
    color: #d5b2af;
}

.brain2-strength-row .is-strong,
.brain2-positive {
    color: #81e36b;
}

.brain2-strength-row .is-positive {
    color: #b5ec8f;
}

.brain2-strength-row .is-neutral,
.brain2-neutral {
    color: #ffc247;
}

.brain2-strength-row .is-negative {
    color: #ff9a7f;
}

.brain2-strength-row .is-weak,
.brain2-negative {
    color: #ff6e67;
}

.brain2-unavailable {
    color: #879bab;
}

.brain2-currency-ledger {
    display: grid;
    gap: .6rem;
}

.brain2-currency-ledger > .brain2-section-heading {
    margin-bottom: .1rem;
}

.brain2-currency-card {
    background: rgba(5, 20, 34, .96);
    border: 1px solid rgba(0, 190, 255, .20);
    border-radius: 5px;
    overflow: hidden;
    scroll-margin-top: 1rem;
}

.brain2-currency-card:target {
    border-color: rgba(0, 190, 255, .62);
    box-shadow: 0 0 0 1px rgba(0, 190, 255, .18);
}

.brain2-currency-card > summary {
    align-items: center;
    cursor: pointer;
    display: grid;
    font-size: .82rem;
    gap: .7rem;
    grid-template-columns: 2.5rem .65fr .8fr .8fr 1fr;
    list-style: none;
    padding: .72rem .85rem;
}

.brain2-currency-card > summary::-webkit-details-marker {
    display: none;
}

.brain2-currency-card > summary::after {
    color: #84dcff;
    content: "+";
    font-size: 1rem;
    justify-self: end;
}

.brain2-currency-card[open] > summary::after {
    content: "−";
}

.brain2-currency-rank {
    color: #84dcff;
    font-weight: 800;
}

.brain2-family-grid {
    border-top: 1px solid rgba(142, 174, 197, .20);
    display: grid;
    gap: .6rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: .75rem .85rem;
}

.brain2-family-grid article {
    background: rgba(0, 190, 255, .035);
    border: 1px solid rgba(101, 205, 244, .16);
    border-radius: 4px;
    display: grid;
    gap: .25rem;
    min-width: 0;
    padding: .62rem .7rem;
}

.brain2-family-grid small {
    color: #84dcff;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.brain2-family-grid strong {
    color: #f3f8fc;
    font-size: 1.08rem;
    font-variant-numeric: tabular-nums;
}

.brain2-family-grid span,
.brain2-family-grid p,
.brain2-family-grid em {
    color: #96acbc;
    font-size: .7rem;
    line-height: 1.42;
    margin: 0;
}

.brain2-family-grid em {
    color: #718da1;
    font-style: normal;
}

.brain2-factor-table {
    border: 0;
    border-radius: 0;
    border-top: 1px solid rgba(142, 174, 197, .20);
    overflow-x: auto;
}

.brain2-factor-row {
    align-items: start;
    border-top: 1px solid rgba(142, 174, 197, .13);
    display: grid;
    font-size: .78rem;
    gap: .7rem;
    grid-template-columns: minmax(10.5rem, 1.2fr) minmax(6.8rem, .72fr) minmax(6.8rem, .72fr) minmax(8.5rem, .9fr) minmax(6.2rem, .55fr) minmax(5.2rem, .42fr) minmax(13rem, 1.45fr);
    line-height: 1.35;
    min-width: 76rem;
    padding: .6rem .75rem;
}

.brain2-score-cell {
    padding: 0;
}

.brain2-score-cell strong {
    font-size: .86rem;
    font-variant-numeric: tabular-nums;
}

.brain2-factor-row:first-child {
    border-top: 0;
}

.brain2-factor-row span,
.brain2-factor-row strong {
    min-width: 0;
}

.brain2-factor-row small {
    color: #91a7b8;
    display: block;
    font-size: .72rem;
    margin-top: .12rem;
}

.brain2-factor-row em {
    color: #ffc247;
    font-size: .66rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .04em;
    margin-left: .25rem;
}

.brain2-factor-row a {
    color: #84dcff;
}

.brain2-factor-detail {
    border-top: 1px solid rgba(142, 174, 197, .13);
}

.brain2-factor-detail:first-of-type {
    border-top: 0;
}

.brain2-factor-detail > summary {
    border-top: 0;
    cursor: pointer;
    list-style: none;
    position: relative;
}

.brain2-factor-detail > summary::-webkit-details-marker {
    display: none;
}

.brain2-factor-detail > summary::after {
    color: #65cdf4;
    content: "+";
    font-size: 1rem;
    position: absolute;
    right: .45rem;
    top: .45rem;
}

.brain2-factor-detail[open] > summary::after {
    content: "−";
}

.brain2-factor-detail[open] > summary {
    background: rgba(0, 190, 255, .045);
}

.brain2-factor-calculation {
    background: rgba(2, 15, 27, .72);
    border-top: 1px solid rgba(0, 190, 255, .13);
    display: grid;
    gap: .7rem;
    grid-template-columns: repeat(4, minmax(8rem, 1fr));
    min-width: 76rem;
    padding: .7rem .85rem .8rem;
}

.brain2-factor-calculation > .brain2-score-metric {
    border-left-color: currentColor;
}

.brain2-factor-calculation > .brain2-score-metric strong {
    font-size: .92rem;
    font-variant-numeric: tabular-nums;
}

.brain2-factor-calculation > div {
    border-left: 2px solid rgba(101, 205, 244, .32);
    display: grid;
    gap: .18rem;
    padding-left: .55rem;
}

.brain2-factor-calculation small {
    color: #7895aa;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .05em;
}

.brain2-factor-calculation > p {
    color: #9fb5c4;
    font-size: .73rem;
    grid-column: 1 / -1;
    line-height: 1.45;
    margin: 0;
}

.brain2-factor-calculation a {
    color: #84dcff;
}

@media (max-width: 1050px) {
    .brain2-scorecard-grid,
    .brain2-methodology-intro,
    .brain2-section-heading {
        grid-template-columns: 1fr;
    }

    .brain2-methodology-weights {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .brain2-methodology-weights span:nth-child(4) {
        border-left: 0;
        border-top: 1px solid rgba(142, 174, 197, .16);
    }

    .brain2-methodology-weights span:nth-child(n + 5) {
        border-top: 1px solid rgba(142, 174, 197, .16);
    }

    .brain2-methodology-factor > summary {
        grid-template-columns: 2.1rem minmax(12rem, 1fr) minmax(6.5rem, .45fr) minmax(7rem, auto) 1.25rem;
    }

    .brain2-strength-table {
        overflow-x: auto;
    }

    .brain2-composite-table {
        overflow-x: auto;
    }

    .brain2-strength-row,
    .brain2-composite-row {
        min-width: 66rem;
    }

    .brain2-composite-row {
        min-width: 52rem;
    }

    .brain2-rule-table {
        overflow-x: auto;
    }

    .brain2-rule-row {
        min-width: 42rem;
    }

    .brain2-rule-table.is-client .brain2-rule-row {
        min-width: 0;
    }

    .brain2-family-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .brain2-hero {
        display: grid;
    }

    .brain2-status {
        align-items: flex-start;
    }

    .brain2-family-grid {
        grid-template-columns: 1fr;
    }

    .brain2-boundary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brain2-methodology-title {
        align-items: flex-start;
        display: grid;
    }

    .brain2-methodology-actions {
        justify-content: flex-start;
    }

    .brain2-methodology-contract {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brain2-methodology-contract > span:nth-child(3) {
        border-left: 0;
    }

    .brain2-methodology-weights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brain2-methodology-weights span:nth-child(odd) {
        border-left: 0;
    }

    .brain2-methodology-weights span:nth-child(even) {
        border-left: 1px solid rgba(142, 174, 197, .16);
    }

    .brain2-methodology-weights span:nth-child(n + 3) {
        border-top: 1px solid rgba(142, 174, 197, .16);
    }

    .brain2-methodology-factor > summary {
        gap: .5rem;
        grid-template-columns: 1.8rem minmax(0, 1fr) auto;
    }

    .brain2-methodology-factor-range,
    .brain2-methodology-factor > summary .brain2-rule-status {
        grid-column: 2;
    }

    .brain2-methodology-factor-toggle {
        grid-column: 3;
        grid-row: 1 / 3;
    }

    .brain2-methodology-factor-body {
        padding-left: .82rem;
    }

    .brain2-methodology-calculation {
        grid-template-columns: 1fr;
    }

    .brain2-market-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brain2-market-strip > span:nth-child(3) {
        border-left: 0;
    }

    .brain2-alignment-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brain2-alignment-strip > span:nth-child(3) {
        border-left: 0;
    }

    .brain2-alignment-title-row {
        align-items: start;
        display: grid;
    }

    .brain2-alignment-title-row p {
        text-align: left;
    }

    .brain2-alignment-details > summary {
        align-items: start;
        display: grid;
        gap: .2rem;
    }
}

.brief-tile-link {
    color: inherit;
    cursor: pointer;
    display: block;
    text-decoration: none;
    transition: border-color .16s ease, box-shadow .16s ease,
        transform .16s ease;
}

.brief-tile-link:hover,
.brief-tile-link:focus-visible {
    border-color: rgba(186, 230, 253, .92);
    box-shadow:
        inset 0 0 0 1px rgba(240, 249, 255, .16),
        0 0 0 1px rgba(56, 189, 248, .26),
        0 8px 18px rgba(0, 0, 0, .34);
    outline: none;
    transform: translateY(-1px);
}

.brief-navigation-target {
    scroll-margin-top: 18px;
}

.card.brief-navigation-target:target {
    outline: 1px solid rgba(77, 195, 255, .86);
    outline-offset: 3px;
}

.trade-row.brief-navigation-target:target td {
    background: rgba(77, 195, 255, .13);
    box-shadow: inset 0 1px rgba(77, 195, 255, .45),
        inset 0 -1px rgba(77, 195, 255, .45);
}

.brief-tile > span,
.geopolitical-brief-heading > span {
    color: #8da7ba;
    display: block;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .06em;
}

.brief-tile strong {
    color: #f4f8fb;
    display: block;
    font-size: 1rem;
    margin-top: .3rem;
}

.brief-tile p {
    color: #a9bbc8;
    font-size: .75rem;
    line-height: 1.45;
    margin: .35rem 0 0;
}

.brief-highlight {
    border-color: rgba(77, 255, 151, .78);
    box-shadow:
        inset 0 0 0 1px rgba(167, 243, 208, .12),
        inset 0 0 18px rgba(77, 255, 151, .05),
        0 6px 16px rgba(0, 0, 0, .32);
}

.brief-risk {
    border-color: rgba(255, 92, 92, .78);
}

.geopolitical-brief,
.action-plan-panel {
    background: rgba(3, 14, 26, .88);
    border: 1px solid rgba(255, 193, 7, .32);
    border-radius: 4px;
    margin-top: .7rem;
    padding: .8rem;
}

.geopolitical-brief-heading {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.geopolitical-brief-heading small {
    color: #4dff97;
}

.geopolitical-news-list {
    display: grid;
    gap: .7rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: .65rem;
}

.geopolitical-story {
    background: rgba(5, 22, 36, .82);
    border: 1px solid rgba(77, 195, 255, .2);
    border-radius: 3px;
    min-width: 0;
    padding: .7rem;
}

.geopolitical-story:first-child {
    border-color: rgba(255, 193, 7, .5);
}

.geopolitical-story-rank {
    color: #ffc107;
    font-size: .66rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.news-verified {
    color: #4dff97;
}

.news-monitor {
    color: #ffc107;
}

.geopolitical-brief h4,
.action-plan-panel h4 {
    color: #f4f8fb;
    margin: .45rem 0;
}

.geopolitical-brief p,
.action-plan-panel li {
    color: #b7c7d2;
    font-size: .78rem;
    line-height: 1.5;
}

.geopolitical-source-row {
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, .08);
    display: flex;
    font-size: .72rem;
    justify-content: space-between;
    margin-top: .65rem;
    padding-top: .6rem;
}

.geopolitical-source-row span {
    color: #7f9aae;
}

.geopolitical-source-row a {
    color: #4dc3ff;
    font-weight: 700;
}

.action-plan-panel {
    border-color: rgba(0, 190, 255, .25);
}

.action-plan-panel ol {
    margin: .4rem 0 0;
    padding-left: 1.25rem;
}

@media (max-width: 1100px) {
    .layer-eight-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }


    .geopolitical-news-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .layer-eight-grid {
        grid-template-columns: 1fr;
    }

    .layer-eight-header,
    .geopolitical-brief-heading,
    .geopolitical-source-row {
        align-items: flex-start;
        flex-direction: column;
        gap: .35rem;
    }
}
/* ----------------------------------------------------------
   On-demand multi-timeframe technical workspace
   ---------------------------------------------------------- */

.technical-workspace {
    border-color: #24567b;
}

.currency-strength-pulse {
    margin-top: 1rem;
    padding: 0.9rem;
    border: 1px solid #2b5873;
    background: linear-gradient(180deg, #0a1824 0%, #07131e 100%);
}

.currency-strength-pulse-header,
.currency-strength-pulse-controls {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.currency-strength-pulse-header h4,
.currency-strength-pulse-header p {
    margin: 0;
}

.currency-strength-pulse-header p,
.currency-strength-pulse-controls small,
.currency-strength-pulse-boundary {
    color: #91aabd;
    font-size: 0.76rem;
}

.currency-strength-pulse-status {
    color: #7dd3fc;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.03rem;
    text-align: right;
    text-transform: uppercase;
}

.currency-strength-pulse-controls {
    align-items: center;
    margin-top: 0.75rem;
}

.currency-strength-pulse-horizons {
    display: flex;
    gap: 0.3rem;
}

.currency-strength-pulse-horizons button {
    padding: 0.35rem 0.65rem;
    border: 1px solid #31546d;
    color: #c9d8e5;
    background: #0a1b29;
    cursor: pointer;
    font: inherit;
    font-size: 0.75rem;
    font-weight: 700;
}

.currency-strength-pulse-horizons button:hover,
.currency-strength-pulse-horizons button.active {
    border-color: #f2c94c;
    color: #07131e;
    background: #f2c94c;
}

.currency-strength-pulse-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.35rem 0.75rem;
    margin-top: 0.75rem;
}

.currency-strength-pulse-row {
    display: grid;
    grid-template-columns: 2rem 2.5rem minmax(90px, 1fr) 4.8rem;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    padding: 0.48rem 0.55rem;
    border: 1px solid #1f3d51;
    background: #07131e;
}

.currency-strength-pulse-row.selected {
    border-color: #5b7890;
    box-shadow: inset 3px 0 #7dd3fc;
}

.currency-strength-pulse-rank {
    color: #7790a3;
    font-size: 0.7rem;
}

.currency-strength-pulse-track {
    position: relative;
    height: 0.42rem;
    overflow: hidden;
    background: #132a3b;
}

.currency-strength-pulse-track::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: #8195a5;
    content: "";
}

.currency-strength-pulse-track > span {
    position: absolute;
    top: 0;
    bottom: 0;
}

.currency-strength-pulse-track .positive {
    background: #45d483;
}

.currency-strength-pulse-track .negative {
    background: #f06e7d;
}

.currency-strength-pulse-track .neutral {
    background: #e8c84e;
}

.currency-strength-pulse-row b {
    font-family: Consolas, "Courier New", monospace;
    font-size: 0.78rem;
    text-align: right;
}

.currency-strength-pulse-row b.positive {
    color: #68e59c;
}

.currency-strength-pulse-row b.negative {
    color: #ff8794;
}

.currency-strength-pulse-row b.neutral {
    color: #f2d865;
}

.currency-strength-pulse-empty {
    grid-column: 1 / -1;
    padding: 1rem;
    border: 1px dashed #31546d;
    color: #91aabd;
    text-align: center;
}

.currency-strength-pulse-boundary {
    margin: 0.7rem 0 0;
}

@media(max-width:900px) {
    .currency-strength-pulse-grid {
        grid-template-columns: 1fr;
    }
}

@media(max-width:620px) {
    .currency-strength-pulse-header,
    .currency-strength-pulse-controls {
        align-items: stretch;
        flex-direction: column;
    }

    .currency-strength-pulse-status {
        text-align: left;
    }

    .currency-strength-pulse-row {
        grid-template-columns: 1.6rem 2.4rem minmax(70px, 1fr) 4.4rem;
        gap: 0.3rem;
        padding-inline: 0.4rem;
    }
}

.verified-asset-technical {
    margin-top: 12px;
    padding-top: 9px;
    border-top: 1px solid rgb(255 255 255 / 14%);
}

.verified-asset-technical > span {
    display: block;
    margin-bottom: 6px;
    color: #BAE6FD;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .55px;
    text-align: center;
    text-transform: uppercase;
}

.verified-asset-technical .technical-confirmation-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 4px;
}

.verified-asset-technical .technical-confirmation-chip {
    width: 100%;
    min-width: 0;
    min-height: 34px;
    padding: 4px 2px;
}

.verified-asset-technical .technical-chip-timeframe {
    font-size: 8px;
}

.verified-asset-technical .technical-chip-reading {
    gap: 3px;
    font-size: 11px;
}

.verified-asset-technical .technical-chip-reading b {
    font-size: 12px;
}

.technical-confirmation-heading {
    min-width: 405px;
}

.technical-confirmation-cell {
    min-width: 405px;
}

.tradeboard-table .technical-confirmation-strip {
    justify-content: center;
}

.tradeboard-table .technical-confirmation-heading,
.tradeboard-table .technical-confirmation-cell {
    width: 170px;
    min-width: 0;
}

.tradeboard-journal-heading,
.tradeboard-journal-cell {
    width: 92px;
}

.tradeboard-table .technical-confirmation-strip {
    gap: 3px;
}

.tradeboard-table .technical-confirmation-chip {
    flex: 1 1 0;
    min-width: 0;
    padding: 4px 2px;
    font-size: 10px;
}

.tradeboard-journal-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3px;
}

.tradeboard-journal-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 2px 3px;
    border: 1px solid #2e6785;
    background: rgba(18, 90, 126, .22);
    color: #72d8ff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .25px;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.tradeboard-journal-links a:last-child {
    border-color: #2faf67;
    background: rgba(27, 128, 76, .24);
    color: #90f2b7;
}

.tradeboard-journal-links a:hover,
.tradeboard-journal-links a:focus-visible {
    filter: brightness(1.2);
}

.technical-confirmation-strip,
.technical-hover-strip {
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: nowrap;
}

.technical-confirmation-chip {
    display: inline-flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    min-width: 70px;
    min-height: 35px;
    padding: 4px 7px;
    border: 1px solid #31506b;
    border-radius: 3px;
    background: linear-gradient(180deg, #0C1A29 0%, #07111D 100%);
    box-shadow: inset 0 1px 0 rgb(148 163 184 / 8%);
    font-size: 12px;
    line-height: 1.05;
    text-align: center;
    white-space: nowrap;
}

.technical-chip-timeframe {
    color: #7DD3FC;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .65px;
}

.technical-chip-reading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-family: Consolas, "Courier New", monospace;
    font-size: 13px;
    font-weight: 800;
}

.technical-chip-reading b {
    font-size: 15px;
}

.technical-direction-long span {
    color: #4ADE80;
}

.technical-direction-short span {
    color: #FB7185;
}

.technical-direction-neutral span {
    color: #FACC15;
}

.technical-confirmation-light {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    box-shadow: 0 0 6px currentColor;
}

.technical-light-green {
    color: #22C55E;
    background: #22C55E;
}

.technical-light-amber {
    color: #F59E0B;
    background: #F59E0B;
}

.technical-light-red {
    color: #EF4444;
    background: #EF4444;
}

.technical-confirmation-warming {
    color: #94A3B8;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.technical-hover-strip {
    margin: 7px 0;
}

.technical-hover-summary span {
    color: #94A3B8;
    font-size: 10px;
}

@media(max-width:900px) {
    .technical-confirmation-heading,
    .technical-confirmation-cell {
        min-width: 300px;
    }

    .technical-confirmation-strip {
        flex-wrap: wrap;
    }

    .technical-confirmation-chip {
        min-width: 56px;
        min-height: 34px;
        padding: 4px 5px;
    }
}

.technical-overall-state {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 190px;
    padding: 0.55rem 0.75rem;
    border: 1px solid #274761;
    background: #07131e;
}

.technical-overall-state div {
    display: grid;
    gap: 0.15rem;
}

.technical-overall-state small,
.technical-note {
    color: #8fa9bd;
}

.technical-light {
    display: inline-block;
    width: 0.78rem;
    height: 0.78rem;
    border-radius: 50%;
    box-shadow: 0 0 7px currentColor;
}

.technical-light-green {
    color: #22c55e;
    background: #22c55e;
}

.technical-light-amber {
    color: #eab308;
    background: #eab308;
}

.technical-light-red {
    color: #ef4444;
    background: #ef4444;
}

.technical-light-grey {
    color: #64748b;
    background: #64748b;
}

.technical-light-green-border { border-left: 3px solid #22c55e; }
.technical-light-amber-border { border-left: 3px solid #eab308; }
.technical-light-red-border { border-left: 3px solid #ef4444; }

.technical-load-boundary {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px dashed #31546d;
    background: #07131e;
}

.technical-primary-button,
.technical-timeframes button,
.technical-drawing-tools button {
    border: 1px solid #31546d;
    color: #c9d8e5;
    background: #0a1b29;
    cursor: pointer;
    font: inherit;
}

.technical-primary-button {
    padding: 0.65rem 1rem;
    color: #06121d;
    background: #32b8e6;
    border-color: #58c9ee;
    font-weight: 700;
}

.technical-primary-button:disabled {
    opacity: 0.6;
    cursor: wait;
}

.technical-content {
    margin-top: 1rem;
}

.technical-toolbar-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.technical-timeframes,
.technical-drawing-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.technical-timeframes button,
.technical-drawing-tools button {
    padding: 0.45rem 0.65rem;
}

.technical-timeframes button:hover,
.technical-drawing-tools button:hover,
.technical-timeframes button.active {
    color: #06121d;
    background: #f2c94c;
    border-color: #f2c94c;
}

.technical-chart-shell {
    position: relative;
    min-height: 620px;
    border: 1px solid #284b65;
    background: #050d14;
}

.technical-chart {
    width: 100%;
    height: 620px;
}

.mt5-broker-value-labels {
    position: absolute;
    inset: 0;
    z-index: 8;
    overflow: hidden;
    pointer-events: none;
}

.mt5-broker-value-label {
    position: absolute;
    right: 0;
    min-width: 112px;
    padding: .25rem .5rem;
    transform: translateY(-50%);
    border: 1px solid currentColor;
    border-right: 0;
    border-radius: 3px 0 0 3px;
    color: #f7fbfd;
    font-size: 13px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
    text-align: right;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .28);
}

.mt5-broker-value-label.is-stop {
    border-color: #ef4444;
    background: rgba(127, 29, 29, .96);
}

.mt5-broker-value-label.is-target {
    border-color: #22c55e;
    background: rgba(20, 83, 45, .96);
}

.technical-chart-message {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #eab308;
    background: rgba(5, 13, 20, 0.93);
}

.technical-note {
    padding: 0.55rem 0;
    font-size: 0.78rem;
}

.technical-scorecard {
    min-width: 1500px;
}

.technical-scorecard td,
.technical-scorecard th {
    white-space: nowrap;
}

.technical-explanation-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 0.65rem;
    margin-top: 0.85rem;
}

.technical-explanation {
    padding: 0.75rem;
    background: #07131e;
    border-top: 1px solid #203e55;
    border-right: 1px solid #203e55;
    border-bottom: 1px solid #203e55;
}

.technical-explanation span,
.technical-explanation strong {
    display: block;
}

.technical-explanation span {
    color: #8fa9bd;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.technical-explanation p,
.technical-load-error {
    margin-bottom: 0;
    color: #a9bac8;
    font-size: 0.8rem;
}

.technical-load-error {
    color: #ef7777;
}

@media (max-width: 900px) {
    .technical-overall-state {
        width: 100%;
    }

    .technical-chart-shell,
    .technical-chart {
        min-height: 480px;
        height: 480px;
    }
}

/*==========================================================
    Approved readable typography — Dashboard and Research
==========================================================*/

/* Main Research directory */
.research-home-terminal {
    font-size: 15px;
}

.research-home-terminal .brain-kicker,
.research-home-terminal .research-directory-kicker {
    font-size: 12px;
}

.research-home-terminal .research-home-hero p {
    font-size: 16px;
    line-height: 1.65;
}

.research-home-terminal .research-home-health > span:last-child {
    font-size: 12px;
    line-height: 1.45;
}

.research-home-terminal .research-home-stats > div {
    min-height: 94px;
}

.research-home-terminal .research-home-stats span {
    font-size: 12px;
}

.research-home-terminal .research-home-stats strong {
    font-size: 24px;
}

.research-home-terminal .research-home-stats small {
    overflow: visible;
    font-size: 13px;
    line-height: 1.45;
    text-overflow: clip;
    white-space: normal;
}

.research-home-terminal .research-directory-heading h2 {
    font-size: 23px;
    line-height: 1.25;
}

.research-home-terminal .research-directory-heading > span {
    font-size: 12px;
    line-height: 1.45;
}

.research-home-terminal .research-directory-tile {
    min-height: 112px;
    padding: 14px;
}

.research-home-terminal .research-directory-tile strong {
    font-size: 21px;
}

.research-home-terminal .research-directory-tile span,
.research-home-terminal .research-directory-tile b {
    font-size: 12px;
    line-height: 1.45;
}

.research-home-terminal .research-directory-copy {
    font-size: 16px;
    line-height: 1.65;
}

.research-home-terminal .research-primary-action {
    font-size: 13px;
    line-height: 1.4;
}

.research-home-terminal .research-index-link,
.research-home-terminal .research-asset-link b {
    font-size: 13px;
    line-height: 1.45;
}

.research-home-terminal .research-index-link {
    padding: 13px;
}

.research-home-terminal .research-index-link strong {
    font-size: 16px;
    line-height: 1.45;
}

.research-home-terminal .research-asset-link {
    min-height: 92px;
    padding: 13px;
    align-items: stretch;
}

.research-home-terminal .research-asset-link strong,
.research-home-terminal .research-evidence-route strong {
    font-size: 16px;
    line-height: 1.45;
}

.research-home-terminal .research-asset-link small,
.research-home-terminal .research-evidence-route small {
    font-size: 13px;
    line-height: 1.5;
}

.research-home-terminal .research-index-link .research-tile-content > span,
.research-home-terminal .research-index-link .research-tile-content > b,
.research-home-terminal .research-asset-link .research-tile-content > b {
    font-size: 12px;
    line-height: 1.45;
}

.research-home-terminal .research-index-link .research-tile-content > strong,
.research-home-terminal .research-asset-link .research-tile-content > strong {
    color: #F8FAFC;
}

/* Dashboard: same hierarchy, scoped so other workspaces are unchanged */
.workspace-content-dashboard {
    font-size: 15px;
}

.workspace-content-dashboard .card h2,
.workspace-content-dashboard .card h3 {
    font-size: 23px;
    line-height: 1.25;
}

.workspace-content-dashboard .card p,
.workspace-content-dashboard .card li {
    font-size: 16px;
    line-height: 1.65;
}

.workspace-content-dashboard .executive-subtitle,
.workspace-content-dashboard .rankings-subtitle,
.workspace-content-dashboard .tradeboard-subtitle,
.workspace-content-dashboard .matrix-subtitle,
.workspace-content-dashboard .data-verification-subtitle {
    font-size: 13px;
    line-height: 1.5;
}

.workspace-content-dashboard .summary-label,
.workspace-content-dashboard .layer-eight-header,
.workspace-content-dashboard .geopolitical-brief-heading,
.workspace-content-dashboard .technical-confirmation-heading {
    font-size: 12px;
    line-height: 1.45;
}

.workspace-content-dashboard .summary-detail,
.workspace-content-dashboard .ranking-method-note,
.workspace-content-dashboard .verified-asset-meta,
.workspace-content-dashboard .verified-asset-boundary,
.workspace-content-dashboard .global-index-asof,
.workspace-content-dashboard .cross-asset-brain-use,
.workspace-content-dashboard .calendar-forecast-boundary,
.workspace-content-dashboard .calendar-legend {
    font-size: 14px;
    line-height: 1.55;
}

.workspace-content-dashboard table th {
    font-size: 13px;
    line-height: 1.4;
}

.workspace-content-dashboard table td {
    font-size: 15px;
    line-height: 1.5;
}

.workspace-content-dashboard .rank-position {
    font-size: 18px;
}

.workspace-content-dashboard .ranking-signal,
.workspace-content-dashboard .ranking-delta,
.workspace-content-dashboard .trade-bias,
.workspace-content-dashboard .trade-score,
.workspace-content-dashboard .matrix-key,
.workspace-content-dashboard .research-state {
    font-size: 13px;
}

.workspace-content-dashboard .matrix-cell .bias {
    font-size: 13px;
}

.workspace-content-dashboard .matrix-cell .conviction {
    font-size: 14px;
}

.calibration-review-meter {
    display: grid;
    grid-template-columns: minmax(220px, .8fr) minmax(360px, 2fr) minmax(220px, .8fr);
    align-items: center;
    gap: 22px;
    margin-bottom: 0;
    padding: 13px 18px;
    border-left: 3px solid #60A5FA;
}

.calibration-review-heading,
.calibration-review-status {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.calibration-review-heading > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.calibration-review-heading span {
    color: #60A5FA;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
}

.calibration-review-heading strong,
.calibration-review-status strong {
    color: #F9FAFB;
    font-size: 15px;
    line-height: 1.35;
}

.calibration-review-heading a {
    width: max-content;
    color: #7DD3FC;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.calibration-review-heading a:hover,
.calibration-review-heading a:focus {
    color: #BAE6FD;
    text-decoration: underline;
}

.calibration-review-progress {
    min-width: 0;
}

.calibration-review-track {
    position: relative;
    height: 9px;
    border: 1px solid #475569;
    border-radius: 999px;
    background: #111827;
}

.calibration-review-fill {
    position: absolute;
    inset: 0 auto 0 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #38BDF8, #8FD02B);
}

.calibration-review-marker {
    position: absolute;
    top: 50%;
    width: 3px;
    height: 17px;
    border-radius: 2px;
    background: #F8FAFC;
    transform: translate(-50%, -50%);
}

.calibration-review-marker-full {
    right: -1px;
    transform: translate(0, -50%);
}

.calibration-review-scale {
    position: relative;
    height: 16px;
    margin-top: 5px;
    color: #94A3B8;
    font-size: 10px;
    font-variant-numeric: tabular-nums;
}

.calibration-review-scale span {
    position: absolute;
    transform: translateX(-50%);
}

.calibration-review-scale span:first-child {
    left: 0;
    transform: none;
}

.calibration-review-scale span:last-child {
    right: 0;
    transform: none;
}

.calibration-review-status {
    align-items: flex-end;
    text-align: right;
}

.calibration-review-status span {
    color: #8FD02B;
    font-size: 12px;
    font-weight: 800;
}

.calibration-review-status small {
    color: #94A3B8;
    font-size: 11px;
}

@media (max-width: 900px) {
    .calibration-review-meter {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .calibration-review-status {
        align-items: flex-start;
        text-align: left;
    }
}

.workspace-content-dashboard .exo-kicker,
.workspace-content-dashboard .exo-command-label,
.workspace-content-dashboard .exo-command-state,
.workspace-content-dashboard .exo-factor-heading,
.workspace-content-dashboard .exo-factor-title-row strong {
    font-size: 12px;
    line-height: 1.4;
}

.workspace-content-dashboard .exo-factor-meta {
    font-size: 11px;
    line-height: 1.4;
}

.workspace-content-dashboard .exo-summary-footer {
    font-size: 13px;
    line-height: 1.5;
}

.workspace-content-dashboard .verified-asset-pair,
.workspace-content-dashboard .global-index-name,
.workspace-content-dashboard .cross-asset-name {
    font-size: 15px;
    line-height: 1.4;
}

.workspace-content-dashboard .global-index-direction,
.workspace-content-dashboard .cross-asset-regime,
.workspace-content-dashboard .cross-asset-symbol,
.workspace-content-dashboard .metric-muted,
.workspace-content-dashboard .calendar-alliance-forecast {
    font-size: 13px;
    line-height: 1.45;
}

/* Individual currency and verified-asset Research */
.currency-research-terminal,
.asset-research-page {
    font-size: 15px;
}

.currency-research-terminal .card h2,
.currency-research-terminal .card h3,
.asset-research-page .card h2,
.asset-research-page .card h3 {
    font-size: 23px;
    line-height: 1.25;
}

.currency-research-terminal .card h4,
.asset-research-page .card h4 {
    font-size: 18px;
    line-height: 1.4;
}

.currency-research-terminal .card p,
.currency-research-terminal .card li,
.asset-research-page .card p,
.asset-research-page .card li {
    font-size: 16px;
    line-height: 1.65;
}

.currency-research-terminal .data-verification-subtitle,
.asset-research-page .data-verification-subtitle,
.currency-research-terminal .executive-subtitle,
.asset-research-page .executive-subtitle {
    font-size: 13px;
    line-height: 1.5;
}

.currency-research-terminal table th,
.asset-research-page table th {
    font-size: 13px;
    line-height: 1.4;
}

.currency-research-terminal table td,
.asset-research-page table td {
    font-size: 15px;
    line-height: 1.5;
}

.currency-research-terminal .metric-detail,
.asset-research-page .metric-detail,
.currency-research-terminal .technical-note,
.asset-research-page .technical-note,
.currency-research-terminal .technical-explanation p,
.asset-research-page .technical-explanation p {
    font-size: 14px;
    line-height: 1.55;
}

.currency-research-terminal .research-score-tile span,
.asset-research-page .research-score-tile span,
.currency-research-terminal .research-state,
.asset-research-page .research-state,
.currency-research-terminal .research-macro-link,
.asset-research-page .research-macro-link {
    font-size: 12px;
}

.currency-research-terminal .research-score-tile strong,
.asset-research-page .research-score-tile strong {
    font-size: 24px;
}

.currency-research-terminal .research-score-tile small,
.asset-research-page .research-score-tile small {
    font-size: 13px;
    line-height: 1.5;
}

.currency-research-terminal .brain-kicker,
.asset-research-page .brain-kicker {
    font-size: 12px;
}

.currency-research-hero > :not(.research-tile-visual) {
    position: relative;
    z-index: 2;
}

.currency-research-hero::after {
    background: linear-gradient(
        90deg,
        rgba(3, 10, 18, .96) 0%,
        rgba(8, 19, 32, .78) 54%,
        rgba(8, 19, 32, .56) 100%);
}

.currency-research-hero-flag {
    object-fit: fill;
    object-position: center;
    opacity: .67;
    transform: none;
}

.currency-research-hero:hover .currency-research-hero-flag {
    opacity: .72;
    transform: none;
}

.research-detail-visual-hero > :not(.research-tile-visual),
.research-pair-visual-hero > :not(.research-pair-hero-flag) {
    position: relative;
    z-index: 2;
}

.research-detail-visual-hero::after {
    background: linear-gradient(
        90deg,
        rgba(3, 10, 18, .95) 0%,
        rgba(8, 19, 32, .82) 55%,
        rgba(8, 19, 32, .42) 100%);
}

.research-detail-hero-visual {
    inset: 0 0 auto auto;
    width: 52%;
    height: 122px;
    object-position: right center;
    opacity: .82;
    transform: none;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 28%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 28%);
}

.research-detail-visual-hero:hover .research-detail-hero-visual {
    opacity: .9;
    transform: none;
}

.index-research-hero .research-detail-hero-visual {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
    object-position: center;
    opacity: .76;
    -webkit-mask-image: none;
    mask-image: none;
}

.index-research-hero:hover .research-detail-hero-visual {
    opacity: .82;
}

.research-pair-visual-hero::after {
    background: linear-gradient(
        90deg,
        rgba(3, 10, 18, .86) 0%,
        rgba(8, 19, 32, .78) 50%,
        rgba(3, 10, 18, .86) 100%);
}

.research-pair-hero-flag {
    position: absolute;
    z-index: 0;
    top: 0;
    width: 50%;
    height: 100%;
    object-fit: fill;
    opacity: .54;
}

.research-pair-hero-flag-base {
    left: 0;
    clip-path: none;
}

.research-pair-hero-flag-quote {
    right: 0;
    clip-path: none;
}

.research-pair-visual-hero:hover .research-pair-hero-flag {
    opacity: .6;
}

.currency-research-terminal .brain-hero > div:first-child > p {
    font-size: 16px;
    line-height: 1.65;
}

.currency-research-terminal .brain-hero-status {
    min-width: 230px;
    font-size: 15px;
    line-height: 1.5;
}

.currency-research-terminal .brain-hero-status > strong {
    display: block;
    margin: 8px 0 2px;
    font-size: 28px;
    line-height: 1.15;
}

.currency-research-terminal .data-status,
.currency-research-terminal .data-empty,
.currency-research-terminal .data-coverage {
    font-size: 13px;
    line-height: 1.5;
}

.currency-research-terminal .research-table-note,
.currency-research-terminal .research-layer-tag,
.currency-research-terminal .research-edge {
    font-size: 12px;
}

.currency-research-terminal .research-evidence-strip span,
.currency-research-terminal .research-market-strip span {
    font-size: 12px;
    line-height: 1.4;
}

.currency-research-terminal .research-evidence-strip strong {
    font-size: 15px;
    line-height: 1.4;
}

.currency-research-terminal .research-market-strip strong {
    font-size: 19px;
    line-height: 1.35;
}

.currency-research-terminal .research-market-strip small {
    font-size: 13px;
    line-height: 1.5;
}

.currency-research-terminal .brain-archive-purpose,
.currency-research-terminal .research-terminal-label {
    font-size: 15px;
    line-height: 1.55;
}

.currency-risk-monitor-row .research-audit-table {
    min-width: 620px;
}

.currency-research-terminal .currency-risk-monitor-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.asset-research-page .data-status,
.asset-research-page .data-empty,
.asset-research-page .data-coverage {
    font-size: 13px;
    line-height: 1.5;
}

.asset-research-page .research-table-note,
.asset-research-page .research-layer-tag,
.asset-research-page .research-edge {
    font-size: 12px;
}

.asset-research-page .research-factor-table strong,
.asset-research-page .research-audit-table strong {
    line-height: 1.45;
}

.asset-research-page .pair-stat-guide,
.asset-research-page .pair-warming-message,
.asset-research-page .technical-overall-state small,
.asset-research-page .technical-note,
.asset-research-page .technical-explanation p,
.asset-research-page .technical-load-error {
    font-size: 14px;
    line-height: 1.55;
}

.asset-research-page .technical-explanation span {
    font-size: 12px;
}

.asset-research-page .technical-primary-button,
.asset-research-page .technical-timeframes button,
.asset-research-page .technical-drawing-tools button {
    font-size: 13px;
}

.asset-research-page .asset-risk-monitor-row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.asset-risk-monitor-row .research-audit-table {
    min-width: 620px;
}

/* ATRP / DOR comparison — approved readable typography */
.pair-distribution-workspace {
    font-size: 15px;
}

.pair-distribution-workspace .brain-kicker {
    font-size: 12px;
}

.pair-distribution-workspace .pair-distribution-hero p {
    font-size: 16px;
    line-height: 1.65;
}

.pair-distribution-workspace .brain-health strong {
    font-size: 16px;
    line-height: 1.45;
}

.pair-distribution-workspace .brain-health small {
    font-size: 13px;
    line-height: 1.5;
}

.pair-distribution-workspace .card h2,
.pair-distribution-workspace .card h3 {
    font-size: 23px;
    line-height: 1.25;
}

.pair-distribution-workspace .data-verification-subtitle {
    font-size: 13px;
    line-height: 1.5;
}

.pair-distribution-workspace .pair-filter {
    min-width: 52px;
    padding: 9px 12px;
    font-size: 13px;
    line-height: 1.4;
}

.pair-distribution-workspace .pair-distribution-table {
    margin-inline: auto;
}

.pair-distribution-workspace .pair-distribution-table th {
    padding: 11px 9px;
    font-size: 13px;
    line-height: 1.4;
    text-align: center;
    vertical-align: middle;
}

.pair-distribution-workspace .pair-distribution-table td {
    padding: 12px 9px;
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
    vertical-align: middle;
}

.pair-distribution-workspace .pair-distribution-table thead tr:first-child th,
.pair-distribution-workspace .pair-distribution-table thead tr:first-child th[colspan] {
    text-align: center;
}

.pair-distribution-workspace .metric-status-current,
.pair-distribution-workspace .metric-status-partial {
    font-size: 12px;
}

.pair-distribution-workspace .card p.metric-detail,
.pair-distribution-workspace .pair-warming-message {
    font-size: 14px;
    line-height: 1.55;
}

/* Shared seven-day and thirty-day calendar typography. */
.calendar-page-workspace {
    font-size: 15px;
}

.calendar-page-workspace.card h2,
.calendar-page-workspace.card h3,
.calendar-page-workspace .card h2,
.calendar-page-workspace .card h3 {
    font-size: 23px;
    line-height: 1.25;
}

.calendar-page-workspace .data-verification-subtitle {
    font-size: 13px;
    line-height: 1.5;
}

.calendar-page-workspace .data-coverage {
    font-size: 14px;
    line-height: 1.5;
}

.calendar-page-workspace .calendar-legend {
    font-size: 14px;
    line-height: 1.5;
}

.calendar-page-workspace .calendar-filters label span,
.calendar-page-workspace .calendar-filter-field > span {
    font-size: 12px;
    line-height: 1.4;
}

.calendar-page-workspace .calendar-filters select,
.calendar-page-workspace .calendar-currency-picker > summary,
.calendar-page-workspace .calendar-view-switch button {
    min-height: 40px;
    font-size: 15px;
    line-height: 1.4;
}

.calendar-page-workspace .calendar-filter-count {
    font-size: 14px;
    line-height: 1.5;
}

.calendar-page-workspace .calendar-table th {
    padding: 11px 9px;
    font-size: 13px;
    line-height: 1.4;
    vertical-align: middle;
}

.calendar-page-workspace .calendar-table td {
    padding: 12px 9px;
    font-size: 15px;
    line-height: 1.5;
    vertical-align: middle;
}

.calendar-page-workspace .calendar-unavailable,
.calendar-page-workspace .metric-muted {
    font-size: 13px;
    line-height: 1.5;
}

.calendar-page-workspace .calendar-alliance-forecast,
.calendar-page-workspace .calendar-forecast-up,
.calendar-page-workspace .calendar-forecast-down,
.calendar-page-workspace .calendar-forecast-neutral {
    font-size: 15px;
    line-height: 1.45;
}

.calendar-page-workspace .calendar-forecast-boundary {
    font-size: 14px;
    line-height: 1.55;
}

.calendar-page-workspace .endo-boundary {
    font-size: 13px;
    line-height: 1.5;
}

.calendar-page-workspace .data-empty {
    font-size: 14px;
    line-height: 1.5;
}

/* Shared calendar ledger layout. */
.calendar-page-workspace .metric-evidence-scroll {
    max-width: 100%;
    overflow-x: hidden;
}

.calendar-page-workspace .calendar-table {
    display: table;
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.calendar-page-workspace .calendar-table thead {
    display: table-header-group;
}

.calendar-page-workspace .calendar-table tr[data-calendar-row]:not([hidden]) {
    display: table-row;
}

.calendar-page-workspace .calendar-table tr[data-calendar-row][hidden] {
    display: none;
}

.calendar-page-workspace .calendar-table tr[data-calendar-row] > td {
    min-width: 0;
    padding: 7px 6px;
    overflow: hidden;
    text-align: center;
    text-overflow: clip;
    overflow-wrap: normal;
    white-space: nowrap;
    line-height: 1.25;
}

.calendar-page-workspace .calendar-table th:nth-child(1) { width: 3.5%; }
.calendar-page-workspace .calendar-table th:nth-child(2) { width: 8%; }
.calendar-page-workspace .calendar-table th:nth-child(3) { width: 6.5%; }
.calendar-page-workspace .calendar-table th:nth-child(4) { width: 4.5%; }
.calendar-page-workspace .calendar-table th:nth-child(5) { width: 23%; }
.calendar-page-workspace .calendar-table th:nth-child(6) { width: 5%; }
.calendar-page-workspace .calendar-table th:nth-child(7) { width: 9%; }
.calendar-page-workspace .calendar-table th:nth-child(8) { width: 13%; }
.calendar-page-workspace .calendar-table th:nth-child(9) { width: 7.5%; }
.calendar-page-workspace .calendar-table th:nth-child(10) { width: 20%; }

.calendar-page-workspace .calendar-table th {
    overflow: visible;
    text-align: center;
    text-overflow: clip;
    overflow-wrap: normal;
    word-break: normal;
    white-space: normal;
}

.calendar-page-workspace .calendar-release {
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal !important;
}

.calendar-page-workspace .calendar-reference {
    overflow-wrap: anywhere;
    white-space: normal !important;
}

.calendar-page-workspace .calendar-table td:nth-child(n + 6) {
    padding-right: 3px;
    padding-left: 3px;
    letter-spacing: -0.02em;
}

.calendar-page-workspace .calendar-table td:nth-child(8) {
    white-space: normal;
}

.calendar-page-workspace .calendar-table td:nth-child(10),
.calendar-page-workspace .calendar-table td:nth-child(10) .calendar-inline-detail {
    overflow-wrap: anywhere;
    white-space: normal;
}

.calendar-page-workspace .calendar-inline-detail {
    margin-left: 0.25rem;
    white-space: normal;
}

.calendar-page-workspace .calendar-table a,
.calendar-page-workspace .calendar-table a:visited {
    color: #7DD3FC;
}

.calendar-page-workspace .calendar-table a:hover {
    color: #BAE6FD;
}

.calendar-page-workspace .calendar-filter-empty {
    display: table-row;
}

.calendar-page-workspace .calendar-filter-empty[hidden] {
    display: none;
}

.calendar-page-workspace .calendar-filter-empty td {
    width: 100%;
}

@media (max-width: 900px) {
    .research-home-terminal .research-home-stats,
    .research-home-terminal .research-currency-directory,
    .research-home-terminal .research-index-directory {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .research-feature-visual-card .research-directory-heading,
    .research-feature-visual-card .research-directory-copy {
        max-width: 100%;
    }
}

/* Phase 32: lightweight point-in-time Trade Journal */
.trade-journal-workspace {
    display: grid;
    gap: 18px;
    padding: 20px;
    font-size: 15px;
}

/* Match the approved Dashboard / Research hierarchy on both Journal pages. */
.trade-journal-workspace .card h2,
.trade-journal-workspace .card h3 {
    font-size: 23px;
    line-height: 1.25;
}

.trade-journal-workspace .card h4 {
    font-size: 18px;
    line-height: 1.4;
}

.trade-journal-workspace .card p,
.trade-journal-workspace .card li,
.trade-journal-workspace .trade-journal-message,
.trade-journal-workspace .journal-state-list dt,
.trade-journal-workspace .journal-state-list dd {
    font-size: 16px;
    line-height: 1.65;
}

.trade-journal-workspace .data-verification-subtitle,
.trade-journal-workspace .brain-kicker,
.trade-journal-workspace .data-status,
.trade-journal-workspace .trade-journal-storage span,
.trade-journal-workspace .trade-journal-entry-state span,
.trade-journal-workspace .trade-journal-summary-grid span,
.trade-journal-workspace .trade-journal-alert span,
.trade-journal-workspace .trade-journal-alert small,
.trade-journal-workspace .trade-journal-chart-grid figcaption,
.trade-journal-workspace .technical-journal-toolbar small,
.trade-journal-workspace .technical-journal-toolbar span {
    font-size: 13px;
    line-height: 1.5;
}

.trade-journal-workspace .data-coverage,
.trade-journal-workspace .metric-detail,
.trade-journal-workspace .trade-journal-table td small,
.trade-journal-workspace .trade-rules-review-table td small,
.trade-journal-workspace .trade-journal-storage small,
.trade-journal-workspace .trade-journal-entry-state small {
    font-size: 14px;
    line-height: 1.55;
}

.trade-journal-workspace .trade-rules-principles strong,
.trade-journal-workspace .trade-rules-details summary,
.trade-journal-workspace .trade-journal-empty > strong,
.trade-journal-workspace .trade-journal-alert strong,
.trade-journal-workspace .technical-journal-toolbar strong {
    font-size: 16px;
    line-height: 1.45;
}

/* Keep shared risk and Pulse components on the approved Journal hierarchy
   instead of inheriting their more compact Portfolio/Research typography. */
.trade-journal-workspace .portfolio-risk-badge,
.trade-journal-workspace .portfolio-risk-state,
.trade-journal-workspace .portfolio-risk-summary-grid span,
.trade-journal-workspace .market-reference-state,
.trade-journal-workspace .currency-strength-pulse-status,
.trade-journal-workspace .currency-strength-pulse-rank {
    font-size: 13px;
    line-height: 1.45;
}

.trade-journal-workspace .portfolio-risk-summary-grid small,
.trade-journal-workspace .portfolio-risk-assets span,
.trade-journal-workspace .portfolio-risk-assets small,
.trade-journal-workspace .portfolio-risk-overlap > p,
.trade-journal-workspace .portfolio-risk-overlap-row span,
.trade-journal-workspace .portfolio-risk-overlap-row small,
.trade-journal-workspace .open-risk-context-header p,
.trade-journal-workspace .open-risk-chart-card > p,
.trade-journal-workspace .open-risk-event-row small,
.trade-journal-workspace .open-risk-volatility-row small,
.trade-journal-workspace .currency-strength-pulse-controls small,
.trade-journal-workspace .currency-strength-pulse-boundary {
    font-size: 14px;
    line-height: 1.55;
}

.trade-journal-workspace .portfolio-risk-asset-grid strong,
.trade-journal-workspace .portfolio-risk-overlap-row strong,
.trade-journal-workspace .open-risk-bar-row > span,
.trade-journal-workspace .open-risk-bar-row > strong,
.trade-journal-workspace .open-risk-event-row strong,
.trade-journal-workspace .open-risk-volatility-row strong,
.trade-journal-workspace .currency-strength-pulse-row strong,
.trade-journal-workspace .currency-strength-pulse-row b,
.trade-journal-workspace .currency-strength-pulse-empty {
    font-size: 15px;
    line-height: 1.5;
}

.trade-journal-workspace table th {
    font-size: 13px;
    line-height: 1.4;
}

.trade-journal-workspace table td,
.trade-journal-workspace label,
.trade-journal-workspace input,
.trade-journal-workspace select,
.trade-journal-workspace textarea,
.trade-journal-workspace button,
.trade-journal-workspace .research-macro-link {
    font-size: 15px;
    line-height: 1.5;
}

.trade-journal-hero {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: center;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-top: 3px solid #32b8e6;
    background:
        linear-gradient(90deg,
            rgba(7, 14, 25, .97) 0%,
            rgba(8, 20, 36, .90) 48%,
            rgba(8, 20, 36, .68) 100%),
        url("/images/workspaces/trade-journal-institutional-review.png")
            center / cover no-repeat;
}

.trade-journal-hero > * {
    position: relative;
    z-index: 1;
}

.trade-journal-hero h1 {
    margin: 4px 0 8px;
    color: #f2c94c;
}

.trade-journal-hero p {
    max-width: 920px;
    margin: 0;
}

.trade-journal-storage,
.trade-journal-entry-state {
    min-width: 285px;
    padding: 14px 16px;
    border: 1px solid #315472;
    background: #071521;
    display: grid;
    gap: 5px;
}

.trade-journal-storage span,
.trade-journal-entry-state span,
.trade-journal-summary-grid span {
    color: #8fb3ca;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.trade-journal-storage strong,
.trade-journal-entry-state strong {
    color: #e8f5ff;
    font-size: 1.12rem;
}

.trade-journal-storage.warning {
    border-color: #f2c94c;
}

.trade-journal-table th,
.trade-journal-table td {
    text-align: center;
    vertical-align: middle;
}

.trade-journal-table th:nth-child(2),
.trade-journal-table td:nth-child(2) {
    text-align: left;
}

.trade-journal-table td small {
    display: block;
    color: #7fa4bd;
}

.global-index-header-actions {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.global-index-technical-vintage {
    color: #aebfca;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .45px;
    text-align: right;
    text-transform: uppercase;
}

.global-index-technical-vintage strong {
    color: #f3f7fa;
}

.indices-technical-vintage {
    margin: 0 0 14px;
}

.trade-journal-instrument-link {
    color: #e8f5ff;
    font-weight: 800;
    text-decoration: none;
}

.trade-journal-instrument-link:hover,
.trade-journal-instrument-link:focus-visible {
    color: #39d8ff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.journal-light {
    display: inline-block;
    min-width: 64px;
    padding: 4px 7px;
    border-radius: 2px;
    color: #061018;
    font-weight: 800;
}

.journal-light-green { background: #2fd176; }
.journal-light-amber { background: #f2c94c; }
.journal-light-red { background: #ef5b5b; }
.journal-light-unavailable { background: #8093a1; }

.trade-journal-empty {
    padding: 28px;
    text-align: center;
    border: 1px dashed #315472;
}

.trade-journal-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

.trade-journal-summary-grid .card {
    display: grid;
    gap: 6px;
    text-align: center;
}

.trade-journal-summary-grid strong {
    color: #e8f5ff;
    font-size: 1.1rem;
}

.trade-journal-two-column {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
}

.journal-state-list {
    display: grid;
    grid-template-columns: 145px 1fr;
    gap: 0;
    border-top: 1px solid #203b52;
}

.journal-state-list dt,
.journal-state-list dd {
    margin: 0;
    padding: 10px;
    border-bottom: 1px solid #203b52;
}

.journal-state-list dt { color: #8fb3ca; }
.journal-state-list dd { color: #e5f2fb; }

.trade-journal-form,
.trade-journal-form label {
    display: grid;
    gap: 7px;
}

.trade-journal-form { gap: 13px; }
.trade-journal-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.trade-journal-form input,
.trade-journal-form select,
.trade-journal-form textarea {
    width: 100%;
    padding: 9px 10px;
    color: #e8f5ff;
    border: 1px solid #315472;
    background: #06111b;
}

.trade-journal-chart-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.trade-journal-chart-grid figure { margin: 0; }
.trade-journal-chart-grid img {
    display: block;
    width: 100%;
    border: 1px solid #315472;
}

.trade-journal-chart-grid figcaption {
    padding: 8px;
    color: #8fb3ca;
    text-align: center;
}

.trade-journal-message {
    padding: 10px 14px;
    border: 1px solid #2fd176;
    background: rgba(47, 209, 118, .08);
    color: #7df0aa;
}

.technical-journal-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 18px;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid #315472;
    background: #071521;
}

.technical-journal-toolbar small,
.technical-journal-toolbar span {
    display: block;
    color: #8fb3ca;
}

.technical-journal-toolbar > span {
    grid-column: 1 / -1;
}

.technical-journal-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.technical-trade-button {
    padding: 8px 12px;
    border: 1px solid #43dc88;
    background: #168a51;
    color: #effff6;
    cursor: pointer;
    font: inherit;
    font-weight: 800;
}

.technical-secondary-button {
    padding: 8px 12px;
    border: 1px solid #32b8e6;
    background: transparent;
    color: #9ddff6;
    cursor: pointer;
}

.technical-trade-button:disabled,
.technical-secondary-button:disabled {
    opacity: 0.6;
    cursor: wait;
}

.technical-trade-selector {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px 18px;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid #2f8f62;
    background: rgba(18, 76, 53, .22);
}

.technical-trade-selector[hidden] {
    display: none;
}

.technical-trade-selector small {
    display: block;
    color: #9db7c9;
}

.technical-trade-timeframes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.technical-trade-timeframes label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #d9e8f2;
    font-size: 13px;
}

.trade-journal-watchlist-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.trade-journal-watchlist-actions form,
.trade-journal-table form,
.trade-journal-alert form {
    margin: 0;
}

.trade-journal-remove-button {
    padding: 6px 9px;
    border: 1px solid #9d4650;
    background: rgba(126, 35, 45, .25);
    color: #ffadb5;
    cursor: pointer;
}

.trade-journal-close-form {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-width: 205px;
}

.trade-journal-close-form input[type="number"] {
    width: 70px;
    padding: 6px 7px;
    border: 1px solid #31546d;
    background: #071827;
    color: #e8f5ff;
    text-align: center;
}

.trade-journal-close-button {
    padding: 6px 9px;
    border: 1px solid #2faf67;
    background: rgba(27, 128, 76, .28);
    color: #90f2b7;
    white-space: nowrap;
    cursor: pointer;
}

.trade-journal-close-button:hover,
.trade-journal-close-button:focus-visible {
    border-color: #59dc8f;
    background: rgba(27, 128, 76, .42);
}

.trade-journal-outcome {
    display: block;
    font-weight: 800;
}

.trade-journal-outcome.positive { color: #55e38c; }
.trade-journal-outcome.negative { color: #ff6f7d; }
.trade-journal-outcome.neutral { color: #f2c94c; }

.trade-journal-alert-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 10px;
}

.trade-journal-alert {
    padding: 12px;
    border: 1px solid #d49f31;
    background: rgba(166, 111, 16, .12);
}

.trade-journal-alert.acknowledged {
    border-color: #31546d;
    opacity: .7;
}

.trade-journal-alert span,
.trade-journal-alert small {
    display: block;
    color: #91afc2;
}

.trade-journal-alert strong {
    display: block;
    margin: 4px 0;
    color: #f5ca65;
}

.trade-journal-alert p {
    margin: 6px 0 10px;
    color: #dce8ef;
}

.trade-rules-plan {
    border-top: 3px solid #f2c94c;
}

.trade-rules-principles {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.trade-rules-principles article {
    padding: 12px;
    border: 1px solid #315472;
    background: #071521;
}

.trade-rules-principles strong {
    display: block;
    margin-bottom: 6px;
    color: #f2c94c;
}

.trade-rules-principles p,
.trade-rules-details li,
.trade-rules-boundary {
    color: #dce8ef;
    line-height: 1.55;
}

.trade-rules-principles p {
    margin: 0;
}

.trade-rules-details {
    display: grid;
    gap: 8px;
}

.trade-rules-details details {
    border: 1px solid #29465d;
    background: rgba(6, 20, 31, .7);
}

.trade-rules-details summary {
    padding: 11px 13px;
    color: #9ddff6;
    font-weight: 800;
    cursor: pointer;
}

.trade-rules-details ul,
.trade-rules-details ol {
    margin: 0;
    padding: 2px 34px 14px 42px;
}

.trade-rules-details li + li {
    margin-top: 7px;
}

.trade-rules-details .trade-rules-section-heading {
    margin-top: 14px;
    color: #f2c94c;
    list-style: none;
}

.trade-rules-boundary {
    margin: 14px 0 0;
    padding: 10px 12px;
    border-left: 3px solid #f2c94c;
    background: rgba(242, 201, 76, .06);
}

.trade-rules-review-counts {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.trade-rules-review-counts span,
.trade-rule-state {
    display: inline-block;
    padding: 5px 8px;
    border: 1px solid currentColor;
    border-radius: 2px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
}

.trade-rules-review-counts .aligned,
.trade-rule-state.aligned {
    color: #55e38c;
    background: rgba(47, 209, 118, .08);
}

.trade-rules-review-counts .not-aligned,
.trade-rule-state.not-aligned {
    color: #ff6f7d;
    background: rgba(239, 91, 91, .08);
}

.trade-rules-review-counts .not-verifiable,
.trade-rule-state.not-verifiable {
    color: #f2c94c;
    background: rgba(242, 201, 76, .08);
}

.trade-rules-review-table th,
.trade-rules-review-table td {
    vertical-align: top;
}

.trade-rules-review-table th:nth-child(1),
.trade-rules-review-table td:nth-child(1) {
    width: 22%;
}

.trade-rules-review-table th:nth-child(2),
.trade-rules-review-table td:nth-child(2) {
    width: 130px;
    text-align: center;
}

.trade-rules-review-table th:nth-child(3),
.trade-rules-review-table td:nth-child(3) {
    width: 155px;
    text-align: center;
}

.trade-rules-review-table td small {
    display: block;
    margin-top: 4px;
    color: #abc3d3;
}

.trade-rule-confirmation {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #dce8ef;
    cursor: pointer;
    white-space: nowrap;
}

.trade-rule-confirmation input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #2fd176;
    cursor: pointer;
}

.trade-rule-confirmation:has(input:checked) span {
    color: #55e38c;
    font-weight: 800;
}

.trade-rules-confirmation-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 12px;
}

.trade-rules-confirmation-footer span {
    color: #abc3d3;
    font-size: 14px;
    line-height: 1.55;
}

.trade-factor-name {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    min-width: 210px;
}

.trade-factor-scroll {
    overflow: visible;
}

.trade-factor-evidence summary {
    display: inline-block;
    padding: 3px 6px;
    border: 1px solid #315472;
    border-radius: 2px;
    color: #9ddff6;
    background: rgba(36, 157, 201, .08);
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
}

.trade-factor-evidence {
    position: relative;
}

.trade-factor-evidence[open] summary {
    margin-bottom: 9px;
}

.trade-factor-evidence-empty {
    max-width: 400px;
    padding: 9px 11px;
    color: #abc3d3;
    background: #071521;
    border-left: 3px solid #f2c94c;
}

.trade-factor-input-list {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 30;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    width: min(1040px, 78vw);
    padding: 8px;
    border: 1px solid #315472;
    background: #05111b;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .55);
}

.trade-factor-input-list article {
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid #29465d;
    background: #071521;
    overflow: hidden;
}

.trade-factor-input-list article > strong {
    display: block;
    margin-bottom: 6px;
    color: #f2c94c;
    font-size: 14px;
    overflow-wrap: anywhere;
}

.trade-factor-input-list article > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 12px;
}

.trade-factor-input-list span {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
    color: #dce8ef;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.trade-factor-input-list span b {
    color: #f2f7fa;
    min-width: 0;
    text-align: right;
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
    .trade-journal-summary-grid { grid-template-columns: repeat(3, 1fr); }
    .trade-journal-two-column,
    .trade-journal-hero { grid-template-columns: 1fr; display: grid; }
    .trade-rules-principles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .trade-factor-input-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(620px, 70vw);
    }
}

@media (max-width: 720px) {
    .trade-journal-summary-grid,
    .trade-journal-chart-grid,
    .trade-journal-form-grid { grid-template-columns: 1fr; }
    .technical-journal-toolbar { grid-template-columns: 1fr; }
    .technical-journal-actions { justify-content: flex-start; }
    .technical-trade-selector { grid-template-columns: 1fr; }
    .trade-journal-watchlist-actions {
        align-items: flex-start;
        flex-direction: column;
    }
    .trade-rules-principles { grid-template-columns: 1fr; }
    .trade-rules-confirmation-footer {
        align-items: flex-start;
        flex-direction: column;
    }
    .trade-factor-input-list {
        position: static;
        width: min(330px, 72vw);
        grid-template-columns: 1fr;
    }
    .trade-factor-input-list article > div {
        grid-template-columns: 1fr;
    }
}

/* Phase 36: explanatory discretionary-macro layer. This presentation is
   deliberately isolated from Brain scoring and qualification styles. */
.discretionary-macro-card {
    margin-top: 18px;
}

.discretionary-macro-heading {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    margin-bottom: 14px;
}

.discretionary-macro-heading h2 {
    margin-bottom: 5px;
}

.discretionary-macro-heading p,
.macro-change-table td,
.macro-change-summary-table td,
.macro-pair-summary span,
.macro-change-conclusions span {
    font-size: 15px;
    line-height: 1.5;
}

.macro-change-table th,
.macro-change-summary-table th {
    text-align: center;
    vertical-align: middle;
}

.macro-change-table td,
.macro-change-summary-table td {
    vertical-align: top;
}

.macro-change-table .macro-decision-question strong {
    display: block;
    padding-left: 10px;
    border-left: 3px solid currentColor;
    color: #67D8FF;
}

.macro-change-table tbody tr:nth-child(5n + 2) .macro-decision-question strong {
    color: #FBBF24;
}

.macro-change-table tbody tr:nth-child(5n + 3) .macro-decision-question strong {
    color: #C4B5FD;
}

.macro-change-table tbody tr:nth-child(5n + 4) .macro-decision-question strong {
    color: #86EFAC;
}

.macro-change-table tbody tr:nth-child(5n + 5) .macro-decision-question strong {
    color: #FDA4AF;
}

.macro-change-state {
    border-left: 3px solid #8492a6;
    display: block;
    padding-left: 9px;
}

.macro-change-positive {
    border-color: #35d07f;
    color: #b7f7d2;
}

.macro-change-negative {
    border-color: #ff5e6c;
    color: #ffc0c6;
}

.macro-change-neutral,
.macro-change-mixed {
    border-color: #f6c344;
    color: #ffe49a;
}

.macro-change-collecting,
.macro-change-unavailable {
    border-color: #8e9bae;
    color: #d4dae3;
}

.macro-change-conclusions,
.macro-pair-summary {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
}

.macro-pair-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 14px;
}

.macro-change-conclusions > div,
.macro-pair-summary > div {
    background: rgba(8, 17, 28, 0.72);
    border: 1px solid rgba(73, 108, 139, 0.5);
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    padding: 12px;
}

.macro-change-conclusions strong,
.macro-pair-summary strong {
    color: #67d8ff;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.macro-change-summary-table {
    table-layout: fixed;
    width: 100%;
}

.macro-change-summary-table td {
    overflow-wrap: anywhere;
}

@media (max-width: 980px) {
    .discretionary-macro-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .macro-change-conclusions,
    .macro-pair-summary {
        grid-template-columns: 1fr;
    }
}
/* =========================================================
   SECURE ACCESS WORKSPACE
   ========================================================= */

.alliance-access-page {
    min-height: 100vh;
    margin: 0;
    color: #e8f3ff;
    background:
        radial-gradient(circle at 12% 18%, rgba(0, 180, 216, 0.16), transparent 36%),
        radial-gradient(circle at 84% 82%, rgba(240, 180, 41, 0.12), transparent 34%),
        #030914;
    font-family: "Segoe UI", Arial, sans-serif;
}

.alliance-login-page {
    background:
        linear-gradient(90deg,
            rgba(2, 10, 22, 0.82) 0%,
            rgba(2, 12, 25, 0.52) 42%,
            rgba(2, 11, 22, 0.38) 100%),
        url("/images/alliance-login-market-backdrop.png") center center / cover no-repeat fixed;
}

.alliance-login-page .alliance-access-shell {
    width: min(1180px, calc(100% - 56px));
    grid-template-columns: minmax(0, 1.3fr) minmax(360px, 430px);
    gap: clamp(44px, 7vw, 100px);
}

.alliance-login-page .alliance-access-brand {
    align-self: start;
    margin-top: 15vh;
    transform: translateX(-180px);
}

.alliance-login-page .alliance-access-mark,
.alliance-login-page .alliance-access-card {
    box-shadow: none;
}

.alliance-login-page .alliance-access-card {
    border-color: rgba(74, 214, 226, 0.4);
    background: rgba(3, 14, 27, 0.9);
    backdrop-filter: blur(8px);
}

.alliance-access-tagline {
    display: grid;
    gap: 5px;
    margin: 0;
}

.alliance-access-tagline strong {
    color: #eaf8ff;
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    font-weight: 650;
    letter-spacing: 0.015em;
}

.alliance-access-tagline span {
    color: #8fb8ca;
    font-size: clamp(0.95rem, 1.4vw, 1.1rem);
}

.alliance-desk-coverage {
    display: grid;
    gap: 7px;
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid rgba(86, 214, 224, 0.34);
    color: #b7d6df;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.075em;
}

.alliance-desk-coverage small {
    margin-top: 4px;
    color: #58d4df;
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.14em;
}

.alliance-access-shell {
    width: min(1040px, calc(100% - 40px));
    min-height: 100vh;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr minmax(360px, 460px);
    align-items: center;
    gap: 70px;
}

.alliance-setup-shell {
    grid-template-columns: minmax(260px, 0.65fr) minmax(560px, 1.35fr);
}

.alliance-access-brand {
    display: flex;
    align-items: center;
    gap: 24px;
}

.alliance-access-mark {
    width: 88px;
    height: 88px;
    display: grid;
    place-items: center;
    border: 2px solid #f0b429;
    border-radius: 18px;
    color: #f0b429;
    background: rgba(4, 17, 32, 0.88);
    box-shadow: 0 0 30px rgba(240, 180, 41, 0.15);
    font: 800 46px/1 Georgia, serif;
}

.alliance-access-brand h1 {
    margin: 5px 0 8px;
    color: #f0b429;
    font-size: clamp(2.4rem, 5vw, 4.5rem);
    letter-spacing: 0.08em;
}

.alliance-access-brand p,
.alliance-access-card p {
    color: #9fb3c8;
    line-height: 1.55;
}

.alliance-access-card {
    padding: 34px;
    border: 1px solid #17466b;
    border-radius: 18px;
    background: rgba(6, 19, 34, 0.96);
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
}

.alliance-access-card h2 {
    margin: 14px 0 4px;
    font-size: 2rem;
}

.alliance-access-status {
    display: inline-flex;
    padding: 6px 10px;
    border: 1px solid #16c784;
    border-radius: 999px;
    color: #66e4ae;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.09em;
}

.alliance-access-denied {
    border-color: #f0b429;
    color: #f0b429;
}

.alliance-access-form {
    display: grid;
    gap: 10px;
    margin-top: 26px;
}

.alliance-access-form label {
    color: #bcd0e4;
    font-size: 0.85rem;
    font-weight: 700;
}

.alliance-access-form input {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 13px;
    border: 1px solid #285576;
    border-radius: 8px;
    color: #f4f8fc;
    background: #071525;
    outline: none;
}

.alliance-access-form input:focus {
    border-color: #17b5d1;
    box-shadow: 0 0 0 3px rgba(23, 181, 209, 0.12);
}

.alliance-access-form input:-webkit-autofill,
.alliance-access-form input:-webkit-autofill:hover,
.alliance-access-form input:-webkit-autofill:focus,
.alliance-access-form input:-webkit-autofill:active {
    border-color: #285576 !important;
    -webkit-text-fill-color: #f4f8fc !important;
    caret-color: #f4f8fc;
    box-shadow: 0 0 0 1000px #071525 inset !important;
    transition: background-color 9999s ease-out 0s;
}

.alliance-access-form button,
.alliance-access-return {
    margin-top: 10px;
    padding: 12px 18px;
    border: 1px solid #18bdd7;
    border-radius: 8px;
    color: #03111f;
    background: #18bdd7;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.alliance-access-errors,
.alliance-access-errors ul,
.field-validation-error {
    margin: 0;
    color: #ff7b7b;
}

.validation-summary-valid,
.field-validation-valid {
    display: none;
}

.alliance-access-message {
    margin-top: 18px;
    padding: 11px 13px;
    border-left: 3px solid #16c784;
    color: #8fe4bd;
    background: rgba(22, 199, 132, 0.08);
}

.alliance-access-boundary {
    margin: 14px 0 0;
    font-size: 0.78rem;
}

.alliance-access-registration {
    font-size: 0.92rem;
    font-weight: 650;
}

.alliance-access-registration a {
    color: #72deea;
    font-weight: 800;
    text-decoration-color: rgba(114, 222, 234, 0.65);
    text-underline-offset: 3px;
}

.alliance-access-registration a:hover,
.alliance-access-registration a:focus-visible {
    color: #f2fbff;
    text-decoration-color: #f2fbff;
}

.alliance-setup-card {
    padding: 28px 32px;
}

.alliance-setup-section {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #173852;
}

.alliance-setup-section h3 {
    margin: 0 0 12px;
    color: #f0b429;
}

.alliance-access-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.alliance-access-grid > div {
    display: grid;
    gap: 7px;
}

.workspace-account {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}

.workspace-account-identity {
    display: grid;
    text-align: right;
}

.workspace-account-identity strong {
    color: #dcecff;
}

.workspace-account-identity span {
    color: #7fa4bf;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.workspace-logout-button {
    padding: 6px 9px;
    border: 1px solid #315a77;
    border-radius: 6px;
    color: #b8d0e2;
    background: transparent;
    cursor: pointer;
}

.role-reviewer .workspace-content form[method="post"],
.role-reviewer .technical-journal-toolbar,
.role-reviewer .tradeboard-journal-links {
    display: none !important;
}

@media (max-width: 820px) {
    .alliance-access-shell,
    .alliance-setup-shell,
    .alliance-login-page .alliance-access-shell {
        min-height: auto;
        padding: 36px 0;
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .alliance-login-page .alliance-access-shell {
        width: min(620px, calc(100% - 32px));
    }

    .alliance-login-page .alliance-access-brand {
        margin-top: 0;
        align-self: center;
        transform: none;
    }

    .alliance-access-brand {
        justify-content: center;
    }

    .alliance-access-grid {
        grid-template-columns: 1fr;
    }

    .workspace-header {
        height: auto;
        min-height: 72px;
        padding: 10px 18px;
        flex-wrap: wrap;
        gap: 10px 18px;
    }

    .workspace-status {
        order: 3;
        width: 100%;
        justify-content: space-between;
    }

    .workspace-account-identity {
        text-align: left;
    }
}

/* Shared near-live reference presentation. These values never alter scores. */
.market-reference-state {
    display: inline-block !important;
    width: fit-content;
    margin: 4px auto 0;
    padding: 2px 6px;
    border: 1px solid #52677a;
    border-radius: 3px;
    color: #b5c5d3 !important;
    font-size: 11px !important;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1.25 !important;
    text-transform: uppercase;
}

.market-reference-current {
    border-color: #35c978;
    color: #82f0ad !important;
    background: rgb(34 197 94 / 10%);
}

.market-reference-delayed {
    border-color: #eab308;
    color: #fde36f !important;
    background: rgb(234 179 8 / 10%);
}

.market-reference-marketclosed {
    border-color: #38bdf8;
    color: #9bdfff !important;
    background: rgb(56 189 248 / 10%);
}

.market-reference-stale,
.market-reference-unavailable {
    border-color: #ef6464;
    color: #ff9e9e !important;
    background: rgb(239 68 68 / 9%);
}

.technical-header-signals {
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
    gap: 10px;
}

.technical-live-reference {
    display: grid;
    align-content: center;
    min-width: 190px;
    padding: .5rem .75rem;
    border: 1px solid #2f6782;
    background: #07131e;
    text-align: right;
}

.technical-live-reference > span {
    color: #8fb3ca;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.technical-live-reference > strong {
    color: #e8f5ff;
    font-family: Consolas, "Courier New", monospace;
    font-size: 16px;
}

.technical-live-reference > small:not(.market-reference-state) {
    color: #8fa9bd;
    font-size: 10px;
}

.technical-live-reference .market-reference-state {
    margin-right: 0;
}

@media (max-width: 900px) {
    .technical-header-signals {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .technical-live-reference,
    .technical-overall-state {
        min-width: min(100%, 240px);
    }
}
.technical-confirmation-retained {
    align-items: center;
    border: 1px solid rgba(240, 180, 41, 0.78);
    border-radius: 3px;
    color: #ffd86b;
    display: inline-flex;
    font-size: 0.63rem;
    font-weight: 800;
    justify-content: center;
    letter-spacing: 0.06em;
    min-height: 1.42rem;
    padding: 0 0.32rem;
}

.technical-hover-retained {
    color: #ffd86b;
    font-weight: 700;
}
/* Phase 46 · lightweight external account and entitlement surfaces */
.alliance-registration-shell,
.alliance-status-shell {
    align-items: center;
}

.alliance-access-check {
    display: grid !important;
    grid-template-columns: 1.2rem 1fr;
    gap: .7rem;
    align-items: start;
    line-height: 1.45;
}

.alliance-access-check input {
    width: 1.1rem !important;
    height: 1.1rem;
    margin-top: .15rem;
}

.alliance-status-card {
    max-height: 88vh;
    overflow-y: auto;
}

.alliance-verification-reference,
.alliance-admin-warning {
    border: 1px solid rgba(126, 236, 226, .3);
    background: rgba(14, 29, 38, .82);
    padding: 1rem;
    border-radius: .55rem;
}

.alliance-verification-reference {
    display: grid;
    gap: .3rem;
}

.alliance-verification-reference span,
.alliance-verification-reference small {
    color: var(--muted-text, #aebbc5);
}

.alliance-status-primary {
    display: block;
    padding: .9rem 1rem;
    border-radius: .4rem;
    background: #90df37;
    color: #071008;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
}

.alliance-status-support {
    display: grid;
    gap: .35rem;
    font-size: .9rem;
}

.alliance-status-logout button {
    width: 100%;
}

.alliance-status-resend button {
    width: 100%;
}

.alliance-admin-queue {
    margin-top: 1.25rem;
    padding-top: 1.15rem;
    border-top: 1px solid rgba(126, 236, 226, .2);
}

.alliance-founding-pilot {
    margin-top: 1rem;
    border-color: rgba(144, 223, 55, .48);
    background:
        linear-gradient(135deg, rgba(144, 223, 55, .08), transparent 48%),
        var(--panel-background, #111920);
}

.alliance-whop-activity {
    display: grid;
    gap: .65rem;
}

.alliance-whop-event {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .9rem 1rem;
}

.alliance-whop-event > div,
.alliance-whop-event-state {
    display: grid;
    gap: .3rem;
}

.alliance-whop-event small {
    color: var(--muted-text, #aebbc5);
}

.alliance-whop-event-state {
    justify-items: end;
    text-align: right;
}

@media (max-width: 680px) {
    .alliance-whop-event {
        align-items: flex-start;
        flex-direction: column;
    }

    .alliance-whop-event-state {
        justify-items: start;
        text-align: left;
    }
}

.alliance-presence-panel {
    margin-top: 1rem;
    border-color: rgba(126, 236, 226, .35);
}

.alliance-presence-list {
    display: grid;
    gap: .55rem;
    margin-top: 1rem;
}

.alliance-presence-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .75rem .85rem;
    border: 1px solid rgba(126, 236, 226, .18);
    border-radius: .35rem;
    background: rgba(3, 11, 17, .36);
}

.alliance-presence-identity,
.alliance-presence-reading {
    display: grid;
    gap: .2rem;
}

.alliance-presence-identity span,
.alliance-presence-reading > span:last-child {
    color: var(--muted-text, #aebbc5);
    font-size: .78rem;
}

.alliance-presence-reading {
    justify-items: end;
    text-align: right;
}

.alliance-presence-state {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-size: .75rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.alliance-presence-state::before {
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: #7b8790;
    content: "";
}

.alliance-presence-state.online {
    color: #dfffaa;
}

.alliance-presence-state.online::before {
    background: #90df37;
    box-shadow: 0 0 .6rem rgba(144, 223, 55, .5);
}

.alliance-presence-state.idle {
    color: #ffd970;
}

.alliance-presence-state.idle::before {
    background: #f7c843;
}

.alliance-presence-state.offline {
    color: #aebbc5;
}

.alliance-access-admin .status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: .35rem .6rem;
    border: 1px solid rgba(174, 187, 197, .45);
    border-radius: .3rem;
    color: #dce5eb;
    background: rgba(174, 187, 197, .08);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .045em;
    white-space: nowrap;
}

.alliance-access-admin .status-badge.constructive {
    border-color: rgba(144, 223, 55, .65);
    color: #dfffaa;
    background: rgba(144, 223, 55, .1);
}

.alliance-access-admin .status-badge.bearish {
    border-color: rgba(255, 102, 102, .7);
    color: #ffb0b0;
    background: rgba(255, 102, 102, .1);
}

.alliance-pilot-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
    margin-top: 1rem;
}

.alliance-pilot-metrics div {
    display: grid;
    gap: .25rem;
    padding: .8rem;
    border: 1px solid rgba(126, 236, 226, .2);
    border-radius: .35rem;
    background: rgba(3, 11, 17, .42);
}

.alliance-pilot-metrics span,
.alliance-pilot-steps span,
.alliance-pilot-contacts span {
    color: var(--muted-text, #aebbc5);
}

.alliance-pilot-metrics strong {
    color: #dfffaa;
    font-size: 1.2rem;
}

.alliance-pilot-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
    counter-reset: pilot-step;
}

.alliance-pilot-steps li {
    counter-increment: pilot-step;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .2rem .55rem;
    align-items: start;
    padding: .75rem;
    border-left: 2px solid #90df37;
    background: rgba(3, 11, 17, .32);
}

.alliance-pilot-steps li::before {
    content: counter(pilot-step);
    grid-row: 1 / span 2;
    color: #90df37;
    font-weight: 900;
}

.alliance-pilot-contacts {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1rem;
    align-items: center;
    margin-top: 1rem;
}

.alliance-pilot-contacts a {
    color: #9de9e2;
    font-weight: 750;
}

.alliance-admin-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.alliance-admin-account header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.alliance-admin-account header a {
    color: #9de9e2;
    overflow-wrap: anywhere;
}

.alliance-admin-account dl {
    display: grid;
    gap: .45rem;
}

.alliance-admin-account dl div {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: .7rem;
}

.alliance-admin-account dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.alliance-admin-referral {
    align-items: center;
    background: rgba(18, 73, 97, .18);
    border: 1px solid rgba(73, 175, 215, .24);
    border-radius: 5px;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: .85rem 0;
    padding: .75rem .8rem;
}

.alliance-admin-referral > div {
    display: grid;
    gap: .22rem;
    min-width: 0;
}

.alliance-admin-referral > div > span,
.alliance-admin-referral small {
    color: #86a4b4;
    font-size: .72rem;
}

.alliance-admin-referral > div > span {
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.alliance-admin-referral strong {
    color: #d9f1fa;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: .86rem;
    letter-spacing: .05em;
    overflow-wrap: anywhere;
}

.alliance-admin-actions,
.alliance-admin-approve {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    align-items: end;
}

@media (max-width: 920px) {
    .alliance-admin-grid {
        grid-template-columns: 1fr;
    }

    .alliance-pilot-metrics,
    .alliance-pilot-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 580px) {
    .alliance-pilot-metrics,
    .alliance-pilot-steps {
        grid-template-columns: 1fr;
    }

    .alliance-presence-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .alliance-presence-reading {
        justify-items: start;
        text-align: left;
    }
}

.alliance-referral-recognized {
    background: rgba(26, 104, 137, .16);
    border: 1px solid rgba(73, 175, 215, .28);
    border-left: 3px solid #32b8e6;
    border-radius: 4px;
    color: #afdced;
    font-size: .82rem;
    line-height: 1.5;
    padding: .7rem .8rem;
}

/*==========================================================
    MOBILE WORKSPACE SHELL
    Desktop remains the default. Phone portrait uses the 760px
    boundary; touch landscape extends safely through 920px.
==========================================================*/

@media (max-width: 760px),
(max-width: 920px) and (orientation: landscape) and (pointer: coarse) {
    body {
        overflow-x: hidden;
    }

    .workspace-shell {
        display: block;
        min-height: 100vh;
    }

    .sidebar {
        position: sticky;
        top: 0;
        left: auto;
        z-index: 1000;
        width: 100%;
        height: auto;
        min-height: 0;
        overflow-y: visible;
        border-right: 0;
        border-bottom: 1px solid #374151;
        transition: transform 180ms ease;
    }

    .sidebar.mobile-landscape-header-hidden {
        transform: translateY(calc(-100% - 1px));
        pointer-events: none;
    }

    .sidebar-logo {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 12px 16px;
    }

    .sidebar-logo h2 {
        font-size: 20px;
    }

    .sidebar-version {
        margin-top: 0;
        font-size: 11px;
        text-align: right;
    }

    .sidebar-nav {
        flex-direction: row;
        gap: 6px;
        padding: 8px 10px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scrollbar-width: thin;
    }

    .sidebar-link {
        flex: 0 0 auto;
        margin: 0;
        padding: 10px 12px;
        white-space: nowrap;
    }

    .workspace-main {
        width: 100%;
        min-width: 0;
        margin-left: 0;
    }

    .workspace-header {
        padding: 10px 14px;
    }

    .workspace-content {
        width: 100%;
        min-width: 0;
        padding: 14px;
        box-sizing: border-box;
    }

    .research-home-terminal .research-indices-directory-card {
        grid-column: 1 / -1;
    }

    .portfolio-workspace {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .portfolio-workspace > *,
    .portfolio-workspace .card,
    .portfolio-workspace .portfolio-summary-grid,
    .portfolio-workspace .portfolio-board-grid,
    .portfolio-workspace .portfolio-detail-grid,
    .portfolio-workspace .portfolio-risk-layout,
    .portfolio-workspace .portfolio-risk-table-shell,
    .portfolio-workspace .portfolio-performance-scroll,
    .portfolio-workspace .portfolio-history-scroll {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .portfolio-workspace .portfolio-ranking-panel,
    .portfolio-workspace .portfolio-risk-table-shell,
    .portfolio-workspace .portfolio-performance-scroll,
    .portfolio-workspace .portfolio-history-scroll {
        width: 100%;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .portfolio-workspace .portfolio-ranking-panel > .portfolio-table {
        width: 520px;
        min-width: 520px;
    }

    .portfolio-workspace .portfolio-risk-table {
        width: 760px;
        min-width: 760px;
    }

    .portfolio-workspace .portfolio-performance-table {
        width: 1080px;
        min-width: 1080px;
    }

    .trade-journal-workspace {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding: 0;
        box-sizing: border-box;
    }

    .trade-journal-workspace > *,
    .trade-journal-workspace .card,
    .trade-journal-workspace .metric-evidence-scroll,
    .trade-journal-workspace .portfolio-risk-layout,
    .trade-journal-workspace .portfolio-risk-table-shell {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .trade-journal-workspace .trade-journal-storage,
    .trade-journal-workspace .trade-journal-entry-state {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .trade-journal-workspace .metric-evidence-scroll,
    .trade-journal-workspace .portfolio-risk-table-shell {
        width: 100%;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .trade-journal-workspace .portfolio-risk-table {
        width: 760px;
        min-width: 760px;
    }

    .calendar-page-workspace,
    .calendar-page-workspace > *,
    .calendar-page-workspace .calendar-card,
    .calendar-page-workspace .metric-evidence-scroll {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .calendar-page-workspace .metric-evidence-scroll {
        overflow-x: auto;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .calendar-page-workspace .calendar-table {
        width: 1120px;
        min-width: 1120px;
    }

    .alliance-access-admin,
    .alliance-access-admin > *,
    .alliance-access-admin .alliance-admin-queue,
    .alliance-access-admin .alliance-admin-grid,
    .alliance-access-admin .alliance-admin-account {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .alliance-access-admin .alliance-presence-panel,
    .alliance-access-admin .alliance-presence-row {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .alliance-access-admin .alliance-admin-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .alliance-access-admin .alliance-admin-account header {
        flex-direction: column;
        align-items: flex-start;
        gap: .5rem;
    }

    .alliance-access-admin .alliance-admin-account header > div,
    .alliance-access-admin .alliance-admin-account header h3,
    .alliance-access-admin .alliance-admin-account header p,
    .alliance-access-admin .alliance-admin-account header a {
        min-width: 0;
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .alliance-access-admin .alliance-admin-account dl div {
        grid-template-columns: minmax(0, 1fr);
        gap: .15rem;
    }

    .alliance-access-admin .alliance-admin-referral {
        align-items: flex-start;
        flex-direction: column;
    }

    .alliance-access-admin .alliance-admin-actions,
    .alliance-access-admin .alliance-admin-actions form,
    .alliance-access-admin .alliance-admin-actions button,
    .alliance-access-admin .alliance-admin-approve,
    .alliance-access-admin .alliance-admin-approve label {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .workspace-content-dashboard .matrix-table-wrap,
    .workspace-content-dashboard .global-index-table-wrap {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }

    .workspace-content-dashboard .matrix-table {
        width: 860px;
        min-width: 860px;
    }

    .workspace-content-dashboard .global-index-table {
        width: 1040px;
        min-width: 1040px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sidebar {
        transition: none;
    }
}

/* External client controls and private Journal elements. */
.client-portal-body {
    min-height: 100vh;
    margin: 0;
    background: #07111f;
    color: #dbe8f5;
    font-family: Inter, "Segoe UI", sans-serif;
}

.client-portal-header {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem clamp(1rem, 4vw, 3rem);
    border-bottom: 1px solid #1c3c56;
    background: rgba(7, 17, 31, .96);
    backdrop-filter: blur(12px);
}

.client-portal-header > div,
.client-portal-account {
    display: flex;
    align-items: center;
    gap: .8rem;
}

.client-portal-header strong {
    color: #ffffff;
    font-size: 1.2rem;
    letter-spacing: .12em;
}

.client-portal-header span {
    color: #8eabc1;
}

.client-portal-main {
    width: min(1180px, calc(100% - 2rem));
    margin: 0 auto;
    padding: 2rem 0 3rem;
}

.client-portal-hero {
    padding: clamp(1.5rem, 5vw, 3.5rem);
    margin-bottom: 2rem;
    border: 1px solid #1f4965;
    border-radius: 18px;
    background: linear-gradient(135deg, #0d2538, #091522 68%);
    box-shadow: 0 20px 55px rgba(0, 0, 0, .24);
}

.client-portal-hero h1,
.client-portal-section-heading h2,
.client-signal-card h3,
.client-journal-card h3 {
    margin: 0;
    color: #ffffff;
}

.client-portal-hero > p:last-child {
    max-width: 760px;
    margin-bottom: 0;
    color: #aac0d2;
    line-height: 1.65;
}

.client-portal-kicker {
    margin: 0 0 .45rem;
    color: #58d6ff;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .16em;
}

.client-portal-message,
.client-portal-empty,
.client-portal-boundary {
    padding: 1rem 1.2rem;
    border: 1px solid #24445b;
    border-radius: 12px;
    background: #0b1b2a;
    color: #b9ccda;
}

.client-portal-message {
    margin-bottom: 1.5rem;
    border-color: #237797;
}

.client-portal-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin: 2.2rem 0 1rem;
}

.client-portal-section-heading > span {
    color: #8eabc1;
}

.client-signal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1rem;
}

.client-signal-card,
.client-journal-card {
    min-width: 0;
    padding: 1.2rem;
    border: 1px solid #1d3a51;
    border-radius: 14px;
    background: #0b1927;
}

.client-signal-topline {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.client-status {
    padding: .3rem .55rem;
    border-radius: 999px;
    background: #173247;
    color: #b8d9ed;
    font-size: .76rem;
    font-weight: 700;
}

.client-status-qualified {
    background: rgba(24, 145, 96, .2);
    color: #6ee7b7;
}

.client-status-watch {
    background: rgba(206, 143, 29, .2);
    color: #f4ca72;
}

.client-status-restricted {
    background: rgba(191, 58, 73, .18);
    color: #ff9aa7;
}

.client-signal-direction {
    margin: .6rem 0;
    color: #58d6ff;
    font-size: 1.1rem;
    font-weight: 700;
}

.client-signal-notes {
    margin: 1rem 0;
}

.client-signal-notes dt {
    margin-top: .65rem;
    color: #7898af;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.client-signal-notes dd {
    margin: .2rem 0 0;
    color: #c5d4df;
    line-height: 1.5;
}

.client-signal-time {
    color: #7898af;
    font-size: .78rem;
}

.client-capture-form,
.client-journal-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-top: 1rem;
}

.client-capture-form label,
.client-journal-form label {
    display: grid;
    gap: .35rem;
    min-width: 0;
    color: #92adbf;
    font-size: .8rem;
}

.client-capture-form select,
.client-journal-form select,
.client-journal-form input,
.client-journal-form textarea {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: .62rem;
    border: 1px solid #2a4b62;
    border-radius: 8px;
    background: #07131e;
    color: #e4eef5;
}

.client-capture-form button,
.client-journal-form button {
    grid-column: 1 / -1;
    padding: .72rem 1rem;
    border: 1px solid #42c6ef;
    border-radius: 9px;
    background: #12627f;
    color: #ffffff;
    cursor: pointer;
    font-weight: 700;
}

.client-journal-list {
    display: grid;
    gap: 1rem;
}

.client-journal-card details {
    margin-top: 1rem;
    border-top: 1px solid #1d3a51;
    padding-top: 1rem;
}

.client-journal-card summary {
    color: #58d6ff;
    cursor: pointer;
}

.client-journal-wide {
    grid-column: 1 / -1;
}

.client-journal-form textarea {
    min-height: 84px;
    resize: vertical;
}

.client-portal-boundary {
    margin-top: 2rem;
    text-align: center;
    font-size: .85rem;
}

@media (max-width: 680px) {
    .client-portal-header,
    .client-portal-account {
        align-items: flex-start;
    }

    .client-portal-header {
        flex-direction: column;
    }

    .client-portal-account {
        width: 100%;
        justify-content: space-between;
    }

    .client-signal-grid,
    .client-capture-form,
    .client-journal-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .client-journal-wide,
    .client-capture-form button,
    .client-journal-form button {
        grid-column: 1;
    }
}

/* Institutional workspace hero imagery. */
.indices-workspace .indices-hero,
.workspace-content-scanner .scanner-page-header,
.macro-terminal-hero,
.brain-workspace .brain-hero,
.calendar-page-workspace .calendar-visual-header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-color: #0b1724;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.indices-workspace .indices-hero {
    min-height: 132px;
    padding: 20px;
    border-top: 3px solid #38bdf8;
    background-image:
        linear-gradient(90deg,
            rgba(7, 14, 25, .97) 0%,
            rgba(8, 20, 36, .90) 48%,
            rgba(8, 20, 36, .66) 100%),
        url("/images/workspaces/indices-global-market-intelligence.png");
}

.workspace-content-scanner .scanner-page-header {
    min-height: 120px;
    margin: -20px -20px 0;
    padding: 20px;
    border-top: 3px solid #38bdf8;
    border-bottom-color: #2a3b4e;
    background-image:
        linear-gradient(90deg,
            rgba(7, 14, 25, .97) 0%,
            rgba(8, 20, 36, .90) 48%,
            rgba(8, 20, 36, .66) 100%),
        url("/images/workspaces/scanner-opportunity-intelligence.png");
}

.macro-terminal-hero {
    min-height: 190px;
    border-top: 3px solid #38bdf8;
    background-image:
        linear-gradient(90deg,
            rgba(7, 14, 25, .97) 0%,
            rgba(8, 20, 36, .90) 48%,
            rgba(8, 20, 36, .66) 100%),
        url("/images/workspaces/global-macro-evidence.png");
}

.brain-workspace .brain-hero {
    min-height: 132px;
    border-top: 3px solid #38bdf8;
    background-image:
        linear-gradient(90deg,
            rgba(7, 14, 25, .97) 0%,
            rgba(8, 20, 36, .90) 48%,
            rgba(8, 20, 36, .66) 100%),
        url("/images/workspaces/brain-model-validation.png");
}

.calendar-page-workspace .calendar-visual-header {
    min-height: 94px;
    margin: -18px -20px 16px;
    padding: 18px 20px;
    border-top: 3px solid #38bdf8;
    border-bottom: 1px solid #2a3b4e;
    background-image:
        linear-gradient(90deg,
            rgba(7, 14, 25, .97) 0%,
            rgba(8, 20, 36, .90) 48%,
            rgba(8, 20, 36, .66) 100%),
        url("/images/workspaces/calendar-event-intelligence.png");
}

.indices-workspace .indices-hero > *,
.workspace-content-scanner .scanner-page-header > *,
.macro-terminal-hero > *,
.brain-workspace .brain-hero > *,
.calendar-page-workspace .calendar-visual-header > * {
    position: relative;
    z-index: 1;
}

@media (max-width: 700px) {
    .workspace-content-scanner .scanner-page-header {
        margin: -20px -20px 0;
    }

    .calendar-page-workspace .calendar-visual-header {
        min-height: 0;
    }
}

/* ---------------------------------------------------------
   Brain terminal: approved institutional presentation system
   --------------------------------------------------------- */

.brain-workspace {
    gap: 14px;
    min-width: 0;
    overflow-x: hidden;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 14px;
}

.brain-workspace > .brain-order-header { order: 10; }
.brain-workspace > .brain-order-summary { order: 20; }
.brain-workspace > .brain-order-validation { order: 30; }
.brain-workspace > .brain-order-archive { order: 40; }
.brain-workspace > .brain-order-ranking { order: 50; }
.brain-workspace > .brain-order-canonical { order: 55; }
.brain-workspace > .brain-order-macro-change { order: 60; }
.brain-workspace > .brain-order-central-banks { order: 70; }
.brain-workspace > .brain-order-exogenous { order: 80; }
.brain-workspace > .brain-order-factors { order: 90; }
.brain-workspace > .brain-order-cot { order: 100; }
.brain-workspace > .brain-order-volatility { order: 110; }
.brain-workspace > .brain-order-indices { order: 120; }
.brain-workspace > .brain-order-cross-assets { order: 130; }
.brain-workspace > .brain-order-cross-analysis { order: 140; }
.brain-workspace > .brain-order-relationships { order: 150; }
.brain-workspace > .brain-order-boundary { order: 160; }

.brain-workspace .brain-order-macro-change > .dashboard-full {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.brain-workspace,
.brain-workspace > .dashboard-full,
.brain-workspace .card,
.brain-workspace .data-verification-card,
.brain-workspace .research-two-column > *,
.brain-workspace .brain-factor-details {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.brain-workspace .card {
    margin: 0;
    padding: 18px;
    border-color: #2a4053;
    border-radius: 4px;
    background: #0d1925;
}

.brain-workspace .brain-hero {
    padding: 20px;
    border-color: #356f94;
    background: linear-gradient(135deg, #102536, #0d1925 68%);
}

.brain-workspace .brain-hero > div:first-child {
    min-width: 0;
}

.brain-workspace .brain-kicker {
    color: #65c9f1;
    font-size: 12px;
    letter-spacing: .1em;
    line-height: 1.4;
}

.brain-workspace .brain-hero h1 {
    margin: 4px 0 6px;
    color: #f8fafc;
    font-size: 26px;
    line-height: 1.25;
}

.brain-workspace .brain-hero p {
    max-width: 880px;
    color: #a9bac8;
    font-size: 14px;
    line-height: 1.55;
}

.brain-workspace .brain-health {
    flex: 0 1 320px;
    min-width: 220px;
    color: #dce8ef;
    font-size: 14px;
    line-height: 1.45;
}

.brain-workspace .brain-health small {
    font-size: 13px;
    line-height: 1.45;
}

.brain-workspace .brain-canonical-card {
    border-color: #3f647c;
    background: linear-gradient(145deg, #10202d, #0d1925 72%);
}

.brain-workspace .brain-canonical-boundary {
    margin-bottom: 14px;
    padding: 10px 12px;
    border-left: 3px solid #65c9f1;
    background: #102536;
    color: #b9c9d5;
    line-height: 1.5;
}

.brain-workspace .brain-canonical-table {
    min-width: 1320px;
}

.brain-workspace .brain-canonical-state {
    display: inline-flex;
    padding: 3px 8px;
    border: 1px solid #526675;
    border-radius: 999px;
    color: #c8d5dd;
    font-size: 12px;
}

.brain-workspace .brain-canonical-state-aligned {
    border-color: #2f8b68;
    color: #88ddb8;
}

.brain-workspace .brain-canonical-state-countertrend {
    border-color: #a45757;
    color: #f1a7a7;
}

.brain-workspace .brain-canonical-state-watch {
    border-color: #9b7c3e;
    color: #e5c982;
}

.brain-workspace .brain-canonical-audit {
    min-width: min(980px, 78vw);
    padding: 12px 0 4px;
}

.brain-workspace .brain-canonical-factor {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #293d4d;
}

.brain-workspace .brain-canonical-factor > div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
}

.brain-workspace .brain-canonical-factor p,
.brain-workspace .brain-canonical-limitations {
    color: #a9bac8;
    line-height: 1.5;
}

.brain-workspace .brain-canonical-input-table {
    min-width: 1080px;
    margin-top: 8px;
}

.brain-workspace .brain-canonical-limitations {
    margin: 14px 0 0;
    padding-left: 20px;
}

.brain-workspace .data-verification-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px 20px;
    flex-wrap: wrap;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #293d4d;
}

.brain-workspace .data-verification-header > div {
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.brain-workspace .data-verification-header > div:first-child {
    flex: 1 1 560px;
}

.brain-workspace .data-verification-header h2,
.brain-workspace .card > h2 {
    margin: 0;
    color: #f4f8fb;
    font-size: 20px;
    line-height: 1.3;
}

.brain-workspace .data-verification-subtitle {
    max-width: 1120px;
    margin-top: 5px;
    color: #a6b9c7;
    font-size: 14px;
    line-height: 1.55;
}

.brain-workspace .data-coverage,
.brain-workspace .global-index-header-actions,
.brain-workspace .cross-analysis-coverage-stack {
    flex: 0 1 auto;
    max-width: 100%;
    color: #dbe8f0;
    font-size: 13px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.45;
    text-align: right;
    white-space: normal;
}

.brain-workspace h3 {
    margin: 24px 0 10px;
    color: #eef5f8;
    font-size: 17px;
    line-height: 1.4;
}

.brain-workspace h4 {
    color: #e7f0f5;
    font-size: 15px;
    line-height: 1.4;
}

.brain-workspace p,
.brain-workspace li {
    font-size: 14px;
    line-height: 1.55;
}

.brain-workspace .brain-summary-grid,
.brain-workspace .brain-archive-grid,
.brain-workspace .brain-validation-grid {
    gap: 10px;
}

.brain-workspace .brain-validation-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.brain-workspace .brain-summary-card {
    gap: 5px;
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid #294257;
    border-left: 3px solid #55bde8;
    border-radius: 3px;
    background: #081621;
}

.brain-workspace .brain-summary-card > span {
    color: #7f9bad;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.35;
}

.brain-workspace .brain-summary-card > strong {
    overflow-wrap: anywhere;
    color: #f3f7fa;
    font-size: 16px;
    line-height: 1.4;
}

.brain-workspace .brain-summary-card small {
    color: #a6b9c7;
    font-size: 13px;
    line-height: 1.45;
}

.brain-workspace .brain-archive-purpose,
.brain-workspace .cross-asset-brain-use {
    border-radius: 2px;
    color: #cbd8e1;
    font-size: 13px;
    line-height: 1.55;
}

.brain-workspace .metric-evidence-scroll,
.brain-workspace .global-index-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #263d4f;
    border-radius: 3px;
    scrollbar-gutter: stable;
}

.brain-workspace .metric-evidence-table {
    width: 100%;
    min-width: 840px;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    table-layout: auto;
}

.brain-workspace .metric-evidence-table th {
    padding: 9px 10px;
    color: #8ea7b9;
    background: #07141f;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    line-height: 1.4;
    text-transform: uppercase;
    white-space: normal;
}

.brain-workspace .metric-evidence-table td {
    min-width: 0;
    padding: 10px;
    color: #dce7ee;
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: break-word;
    vertical-align: top;
    white-space: normal;
}

.brain-workspace .metric-evidence-table tbody tr:nth-child(even) td {
    background: rgba(255, 255, 255, .012);
}

.brain-workspace .metric-evidence-table tbody tr:hover td {
    background: rgba(83, 190, 232, .055);
}

.brain-workspace .metric-detail,
.brain-workspace .metric-muted,
.brain-workspace .metric-evidence-table small {
    color: #91a8b8;
    font-size: 12px;
    line-height: 1.45;
}

.brain-workspace .metric-status,
.brain-workspace .data-status {
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
}

.brain-workspace .brain-ranking-table {
    min-width: 1900px;
}

.brain-workspace .cross-analysis-table {
    min-width: 1500px;
}

.brain-workspace .cross-analysis-table th,
.brain-workspace .cross-analysis-table td {
    white-space: normal;
}

.brain-workspace .brain-active-forecast-table {
    min-width: 1080px;
}

.brain-workspace .brain-outcome-table {
    min-width: 820px;
}

.brain-workspace .brain-release-outcome-table {
    min-width: 1120px;
}

.brain-workspace .brain-policy-outcome-table {
    min-width: 760px;
}

.brain-workspace .brain-validation-ledger-scroll {
    max-height: 46rem;
    overflow: auto;
}

.brain-workspace .brain-validation-ledger-scroll .metric-evidence-table thead th {
    position: sticky;
    top: 0;
    z-index: 4;
    background: #07141f;
    box-shadow: 0 1px 0 #314355;
}

.brain-workspace .brain-compact-ledger .brain-ledger-primary-row > td {
    padding-top: 8px;
    padding-bottom: 8px;
    vertical-align: middle;
}

.brain-workspace .brain-compact-ledger .brain-ledger-detail-row > td {
    padding: 0;
    border-bottom-color: #31495b;
    background: #07141e;
}

.brain-workspace .brain-row-audit-details {
    margin: 0;
    border: 0;
    background: transparent;
}

.brain-workspace .brain-row-audit-details > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 10px;
    cursor: pointer;
    color: #86d5f1;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .03em;
    line-height: 1.4;
}

.brain-workspace .brain-row-audit-details > summary > span {
    color: #7896a9;
    font-size: 11px;
    font-weight: 700;
    text-align: right;
}

.brain-workspace .brain-row-audit-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    border-top: 1px solid #294052;
    background: #294052;
}

.brain-workspace .brain-row-audit-grid > article {
    min-width: 0;
    padding: 10px 11px;
    background: #0a1925;
}

.brain-workspace .brain-row-audit-grid > .brain-row-audit-wide {
    grid-column: 1 / -1;
}

.brain-workspace .brain-row-audit-grid span,
.brain-workspace .brain-row-audit-grid strong {
    display: block;
}

.brain-workspace .brain-row-audit-grid span {
    margin-bottom: 4px;
    color: #7693a6;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.35;
    text-transform: uppercase;
}

.brain-workspace .brain-row-audit-grid strong {
    color: #eef5f8;
    font-size: 13px;
    line-height: 1.45;
}

.brain-workspace .brain-row-audit-grid p {
    margin: 3px 0 0;
    color: #afc1cc;
    font-size: 13px;
    line-height: 1.5;
}

.brain-workspace .research-two-column {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.brain-workspace .research-two-column .metric-evidence-scroll {
    margin-top: 0;
}

.brain-workspace .research-two-column .metric-evidence-table {
    min-width: 620px;
}

.brain-workspace .brain-factor-contributions-card > h2 {
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #293d4d;
}

.brain-workspace .brain-factor-grid {
    gap: 8px;
}

.brain-workspace .brain-factor-details {
    overflow: hidden;
    border-color: #294052;
    border-radius: 3px;
    background: #091721;
}

.brain-workspace .brain-factor-details summary {
    align-items: center;
    gap: 16px;
    padding: 10px 12px;
    color: #dce8ef;
    font-size: 14px;
    line-height: 1.45;
}

.brain-workspace .brain-factor-details summary > span {
    color: #70d2ef;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
}

.brain-workspace .brain-factor-table-scroll {
    margin: 0;
    border-right: 0;
    border-bottom: 0;
    border-left: 0;
    border-radius: 0;
}

.brain-workspace .brain-factor-table-scroll .metric-evidence-table {
    min-width: 1080px;
    border-top: 0;
}

.brain-workspace .brain-limitations,
.brain-workspace .brain-boundary-card ul {
    margin-bottom: 0;
    padding-left: 20px;
    color: #a9bac8;
    font-size: 13px;
    line-height: 1.55;
}

.brain-workspace .brain-validation-card {
    overflow: hidden;
}

.brain-workspace .goat-decision-ledger {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid #345166;
}

.brain-workspace .goat-ledger-heading h3 {
    margin: 3px 0 0;
    font-size: 20px;
}

.brain-workspace .goat-ledger-boundary,
.brain-workspace .goat-ledger-empty {
    margin-bottom: 12px;
    padding: 10px 12px;
    border: 1px solid #29475b;
    border-left: 3px solid #56c7ef;
    border-radius: 3px;
    background: #071722;
    color: #b7c7d1;
    font-size: 14px;
    line-height: 1.5;
}

.brain-workspace .goat-ledger-boundary strong {
    color: #edf6fa;
}

.brain-workspace .goat-ledger-tier {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 16px 0 9px;
    padding: 9px 11px;
    border: 1px solid #355166;
    border-left: 3px solid #55c5ed;
    border-radius: 3px;
    background: linear-gradient(100deg, #0b2232, #081722);
}

.brain-workspace .goat-ledger-tier.is-archive {
    margin-top: 20px;
    border-left-color: #839bab;
}

.brain-workspace .goat-ledger-tier > div {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.brain-workspace .goat-ledger-tier strong {
    color: #eff7fa;
    font-size: 15px;
    line-height: 1.4;
}

.brain-workspace .goat-ledger-tier span {
    color: #94abb9;
    font-size: 12px;
    line-height: 1.4;
}

.brain-workspace .goat-ledger-tier > span {
    flex: 0 0 auto;
    color: #87d9f4;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.brain-workspace .goat-decision-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    max-height: 76rem;
    overflow-y: auto;
    padding-right: 4px;
    scrollbar-gutter: stable;
}

.brain-workspace .goat-current-top-grid {
    max-height: none;
    overflow: visible;
    padding-right: 0;
}

.brain-workspace .goat-decision-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #355166;
    border-radius: 3px;
    background: #07141f;
}

.brain-workspace .goat-decision-card[open] {
    grid-column: 1 / -1;
}

.brain-workspace .goat-decision-card > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid #2b4253;
    background: linear-gradient(100deg, #0b2232, #081722);
    cursor: pointer;
    list-style: none;
}

.brain-workspace .goat-decision-card > summary::-webkit-details-marker {
    display: none;
}

.brain-workspace .goat-decision-card > summary::before {
    content: "›";
    flex: 0 0 auto;
    color: #85dcf7;
    font-size: 18px;
    line-height: 1;
    transform: rotate(0deg);
    transition: transform 120ms ease;
}

.brain-workspace .goat-decision-card[open] > summary::before {
    transform: rotate(90deg);
}

.brain-workspace .goat-decision-card > summary > div {
    display: grid;
    flex: 1 1 auto;
    gap: 2px;
    min-width: 0;
}

.brain-workspace .goat-decision-card > summary span,
.brain-workspace .goat-decision-strip span,
.brain-workspace .goat-causal-grid span,
.brain-workspace .goat-attribution > span,
.brain-workspace .goat-evidence-grid > div > span {
    color: #83a0b2;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .045em;
    line-height: 1.35;
    text-transform: uppercase;
}

.brain-workspace .goat-decision-card > summary strong,
.brain-workspace .goat-decision-card > summary a {
    color: #f4f8fb;
    font-size: 16px;
    line-height: 1.35;
    text-decoration: none;
}

.alliance-whop-checkout {
    display: grid;
    gap: .9rem;
    padding: 1rem;
    border: 1px solid rgba(144, 223, 55, .42);
    border-radius: .55rem;
    background: linear-gradient(
        135deg,
        rgba(144, 223, 55, .09),
        rgba(14, 29, 38, .84));
}

.alliance-whop-checkout span {
    color: #90df37;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .09em;
}

.alliance-whop-checkout h3,
.alliance-whop-checkout p {
    margin: .25rem 0 0;
}

.alliance-whop-checkout p {
    color: var(--muted-text, #aebbc5);
    line-height: 1.5;
}

.brain-workspace .goat-decision-card > summary a:hover,
.brain-workspace .goat-decision-card > summary a:focus-visible {
    color: #85dcf7;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.brain-workspace .goat-direction {
    flex: 0 0 auto;
    padding: 3px 7px;
    border: 1px solid currentColor;
    border-radius: 2px;
    font-size: 12px !important;
}

.brain-workspace .goat-decision-summary-status {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 7px;
}

.brain-workspace .goat-inline-rank {
    padding: 3px 7px;
    border: 1px solid #39708d;
    border-radius: 2px;
    color: #8eddf6 !important;
    background: #0a2434;
    font-size: 12px !important;
    font-variant-numeric: tabular-nums;
}

.brain-workspace .goat-direction.is-long,
.brain-workspace .goat-outcome-cell.is-confirmed,
.brain-workspace .goat-decision-strip .is-confirmed {
    color: #80df75;
}

.brain-workspace .goat-direction.is-short,
.brain-workspace .goat-outcome-cell.is-failed,
.brain-workspace .goat-decision-strip .is-failed {
    color: #ff8078;
}

.brain-workspace .goat-direction.is-neutral,
.brain-workspace .goat-outcome-cell.is-pending,
.brain-workspace .goat-decision-strip .is-pending {
    color: #ffc95c;
}

.brain-workspace .goat-decision-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-bottom: 1px solid #293f50;
    background: #091925;
}

.brain-workspace .goat-decision-strip > div {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 9px 10px;
    border-right: 1px solid #293f50;
}

.brain-workspace .goat-decision-strip > div:last-child {
    border-right: 0;
}

.brain-workspace .goat-decision-strip strong {
    overflow-wrap: anywhere;
    color: #edf4f8;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
}

.brain-workspace .goat-thesis {
    margin: 0;
    padding: 11px 12px;
    border-bottom: 1px solid #293f50;
    color: #d9e4ea;
    font-size: 14px;
    line-height: 1.55;
}

.brain-workspace .goat-causal-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    border-bottom: 1px solid #293f50;
    background: #293f50;
}

.brain-workspace .goat-causal-grid > div {
    min-width: 0;
    padding: 9px 10px;
    background: #081722;
}

.brain-workspace .goat-causal-grid p,
.brain-workspace .goat-attribution p,
.brain-workspace .goat-evidence-grid p {
    margin: 4px 0 0;
    color: #b3c4ce;
    font-size: 13px;
    line-height: 1.5;
}

.brain-workspace .goat-outcome-path {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    border-bottom: 1px solid #293f50;
    background: #293f50;
}

.brain-workspace .goat-outcome-cell {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 9px 8px;
    background: #07151f;
}

.brain-workspace .goat-outcome-cell > span {
    color: inherit;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.brain-workspace .goat-outcome-cell > strong {
    color: #f1f6f9;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
}

.brain-workspace .goat-outcome-cell > small {
    color: #8fa7b7;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
}

.brain-workspace .goat-attribution {
    padding: 9px 12px;
    border-bottom: 1px solid #293f50;
    background: #0a1924;
}

.brain-workspace .goat-inline-scenario {
    border: 0;
    border-bottom: 1px solid #293f50;
    background: #06141e;
}

.brain-workspace .goat-inline-scenario > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 12px;
    color: #86d7f4;
    background: #081c29;
    cursor: pointer;
    list-style: none;
}

.brain-workspace .goat-inline-scenario > summary::-webkit-details-marker {
    display: none;
}

.brain-workspace .goat-inline-scenario > summary::before {
    content: "›";
    flex: 0 0 auto;
    color: #85dcf7;
    font-size: 18px;
    line-height: 1;
    transform: rotate(0deg);
    transition: transform 120ms ease;
}

.brain-workspace .goat-inline-scenario[open] > summary::before {
    transform: rotate(90deg);
}

.brain-workspace .goat-inline-scenario > summary > strong {
    margin-right: auto;
    color: #edf6fa;
    font-size: 13px;
}

.brain-workspace .goat-inline-scenario > summary > span {
    color: #8da7b7;
    font-size: 12px;
    line-height: 1.4;
    text-align: right;
}

.brain-workspace .goat-continuation-history {
    border: 0;
    border-bottom: 1px solid #293f50;
    background: #071722;
}

.brain-workspace .goat-continuation-history > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 12px;
    color: #86d7f4;
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
}

.brain-workspace .goat-continuation-history > summary > span {
    color: #809aaa;
    font-size: 12px;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.brain-workspace .goat-continuation-table {
    border-top: 1px solid #294052;
}

.brain-workspace .goat-continuation-row {
    display: grid;
    grid-template-columns: 1.35fr repeat(6, minmax(0, 1fr));
    gap: 1px;
    background: #294052;
}

.brain-workspace .goat-history-observation > summary {
    cursor: pointer;
    list-style: none;
}

.brain-workspace .goat-history-observation > summary::-webkit-details-marker {
    display: none;
}

.brain-workspace .goat-history-observation > summary:hover > span,
.brain-workspace .goat-history-observation > summary:hover > strong,
.brain-workspace .goat-history-observation > summary:focus-visible > span,
.brain-workspace .goat-history-observation > summary:focus-visible > strong {
    background: #0c2231;
}

.brain-workspace .goat-continuation-row > span,
.brain-workspace .goat-continuation-row > strong {
    min-width: 0;
    padding: 7px 8px;
    background: #081722;
    color: #b8c8d1;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
    line-height: 1.35;
}

.brain-workspace .goat-continuation-row > strong {
    color: #edf5f8;
}

.brain-workspace .goat-continuation-row .goat-history-direction.is-long {
    color: #9ce77e;
    font-weight: 800;
}

.brain-workspace .goat-continuation-row .goat-history-direction.is-short {
    color: #ff9d9d;
    font-weight: 800;
}

.brain-workspace .goat-continuation-row.is-heading > span {
    color: #7fa1b5;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.brain-workspace .goat-continuation-outcomes {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    border-bottom: 1px solid #294052;
    background: #294052;
}

.brain-workspace .goat-history-outcome {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 8px 9px;
    border-top: 2px solid #506270;
    background: #06141e;
}

.brain-workspace .goat-history-outcome.is-confirmed {
    border-top-color: #79c96f;
}

.brain-workspace .goat-history-outcome.is-failed {
    border-top-color: #df7777;
}

.brain-workspace .goat-history-outcome.is-pending {
    border-top-color: #d3b55a;
}

.brain-workspace .goat-history-outcome > span,
.brain-workspace .goat-history-outcome > small {
    color: #8fa7b7;
    font-size: 11px;
    font-variant-numeric: tabular-nums;
    line-height: 1.35;
}

.brain-workspace .goat-history-outcome > strong {
    color: #eef5f8;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.brain-workspace .goat-decision-evidence {
    border: 0;
    background: #06121c;
}

.brain-workspace .goat-decision-evidence > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 12px;
    color: #86d7f4;
    cursor: pointer;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
}

.brain-workspace .goat-decision-evidence > summary > span {
    color: #809aaa;
    font-size: 12px;
}

.brain-workspace .goat-evidence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    padding: 1px;
    border-top: 1px solid #294052;
    background: #294052;
}

.brain-workspace .goat-evidence-grid > div {
    min-width: 0;
    padding: 10px 11px;
    background: #081722;
}

.brain-workspace .goat-evidence-grid ul {
    display: grid;
    gap: 5px;
    margin: 7px 0 0;
    padding: 0;
    list-style: none;
}

.brain-workspace .goat-evidence-grid li {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding-bottom: 4px;
    border-bottom: 1px solid rgba(126, 160, 181, .14);
    color: #b8c8d1;
    font-size: 13px;
}

.brain-workspace .goat-evidence-grid li strong {
    flex: 0 0 auto;
    color: #eef5f8;
    font-variant-numeric: tabular-nums;
}

/* Owner-only G.O.A.T. evidence governance. */
.brain-workspace .goat-review-board {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid #345166;
}

.brain-workspace .goat-review-heading h3 {
    margin: 3px 0 0;
    font-size: 20px;
}

.brain-workspace .goat-review-status {
    display: grid;
    gap: 3px;
    min-width: 180px;
    padding: 9px 11px;
    border: 1px solid #35546a;
    border-radius: 3px;
    background: #081b29;
    text-align: right;
}

.brain-workspace .goat-review-status span,
.brain-workspace .goat-review-kpis span,
.brain-workspace .goat-review-cohort span,
.brain-workspace .goat-failure-anatomy summary span,
.brain-workspace .goat-failure-anatomy article > span,
.brain-workspace .goat-scenario-triad article > span,
.brain-workspace .goat-scenario-footer > div > span {
    color: #84a1b2;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.brain-workspace .goat-review-status strong {
    color: #86dcf5;
    font-size: 15px;
}

.brain-workspace .goat-review-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: hidden;
    margin-bottom: 12px;
    border: 1px solid #355166;
    border-radius: 3px;
    background: #071722;
}

.brain-workspace .goat-review-kpis > div {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 10px 12px;
    border-right: 1px solid #2d4658;
}

.brain-workspace .goat-review-kpis > div:last-child {
    border-right: 0;
}

.brain-workspace .goat-review-kpis strong {
    color: #f2f7fa;
    font-size: 20px;
    font-variant-numeric: tabular-nums;
}

.brain-workspace .goat-review-kpis small {
    color: #90a7b6;
    font-size: 12px;
    line-height: 1.4;
}

.brain-workspace .goat-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.brain-workspace .goat-review-panel,
.brain-workspace .goat-failure-anatomy {
    overflow: hidden;
    border: 1px solid #355166;
    border-radius: 3px;
    background: #07141f;
}

.brain-workspace .goat-review-panel[open] {
    grid-column: 1 / -1;
}

.brain-workspace .goat-review-panel > summary,
.brain-workspace .goat-failure-anatomy > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 11px;
    background: linear-gradient(100deg, #0b2232, #081722);
    cursor: pointer;
    list-style: none;
}

.brain-workspace .goat-review-panel > summary::-webkit-details-marker,
.brain-workspace .goat-failure-anatomy > summary::-webkit-details-marker {
    display: none;
}

.brain-workspace .goat-review-panel > summary::before,
.brain-workspace .goat-failure-anatomy > summary::before {
    content: "›";
    flex: 0 0 auto;
    color: #85dcf7;
    font-size: 18px;
    line-height: 1;
    transform: rotate(0deg);
    transition: transform 120ms ease;
}

.brain-workspace .goat-review-panel[open] > summary,
.brain-workspace .goat-failure-anatomy[open] > summary {
    border-bottom: 1px solid #2b4253;
}

.brain-workspace .goat-review-panel[open] > summary::before,
.brain-workspace .goat-failure-anatomy[open] > summary::before {
    transform: rotate(90deg);
}

.brain-workspace .goat-review-panel > summary strong,
.brain-workspace .goat-failure-anatomy > summary strong {
    color: #edf5f9;
    font-size: 15px;
}

.brain-workspace .goat-review-panel > summary span,
.brain-workspace .goat-failure-anatomy > summary span {
    color: #8fa8b7;
    font-size: 12px;
    text-align: right;
}

.brain-workspace .goat-review-cohorts {
    display: grid;
}

.brain-workspace .goat-review-cohort {
    display: grid;
    grid-template-columns: minmax(145px, 1.25fr) repeat(3, minmax(105px, .8fr));
    gap: 1px;
    border-top: 1px solid #263d4d;
    background: #263d4d;
}

.brain-workspace .goat-review-cohort:first-child {
    border-top: 0;
}

.brain-workspace .goat-review-cohort > div {
    display: grid;
    align-content: center;
    gap: 3px;
    min-width: 0;
    padding: 8px 9px;
    background: #081722;
}

.brain-workspace .goat-review-cohort strong {
    color: #e8f0f4;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
}

.brain-workspace .goat-review-segment > strong {
    color: #8edcf5;
    font-size: 14px;
}

.brain-workspace .goat-review-segment small {
    color: #8ba3b3;
    font-size: 12px;
    line-height: 1.35;
}

.brain-workspace .goat-failure-anatomy {
    margin-top: 10px;
}

.brain-workspace .goat-failure-anatomy > div {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    background: #293f50;
}

.brain-workspace .goat-failure-anatomy article {
    min-width: 0;
    padding: 10px 11px;
    background: #081722;
}

.brain-workspace .goat-failure-anatomy article strong {
    display: block;
    margin-top: 4px;
    color: #f1f6f9;
    font-size: 20px;
    font-variant-numeric: tabular-nums;
}

.brain-workspace .goat-failure-anatomy article p {
    margin: 4px 0 0;
    color: #9fb2bf;
    font-size: 13px;
    line-height: 1.45;
}

.brain-workspace .goat-scenario-content {
    display: grid;
    gap: 10px;
    padding: 10px;
}

.brain-workspace .goat-scenario-triad {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.brain-workspace .goat-scenario-triad article {
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid #304b5e;
    border-left: 3px solid #56c7ef;
    border-radius: 3px;
    background: #081722;
}

.brain-workspace .goat-scenario-triad .is-favorable {
    border-left-color: #70d66b;
}

.brain-workspace .goat-scenario-triad .is-adverse {
    border-left-color: #f27870;
}

.brain-workspace .goat-scenario-triad p,
.brain-workspace .goat-scenario-footer p {
    margin: 5px 0 0;
    color: #c4d2d9;
    font-size: 14px;
    line-height: 1.5;
}

.brain-workspace .goat-reaction-map {
    overflow: hidden;
    border: 1px solid #304b5e;
    border-radius: 3px;
}

.brain-workspace .goat-reaction-head,
.brain-workspace .goat-reaction-row {
    display: grid;
    grid-template-columns: .82fr 1.2fr 1fr 1.12fr;
    gap: 1px;
    background: #2b4354;
}

.brain-workspace .goat-reaction-head span {
    padding: 7px 9px;
    color: #8fabbc;
    background: #0a2232;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.brain-workspace .goat-reaction-row {
    border-top: 1px solid #2b4354;
    box-shadow: inset 3px 0 0 #56c7ef;
}

.brain-workspace .goat-reaction-row.is-support {
    box-shadow: inset 3px 0 0 #70d66b;
}

.brain-workspace .goat-reaction-row.is-challenge,
.brain-workspace .goat-reaction-row.is-invalidate {
    box-shadow: inset 3px 0 0 #f27870;
}

.brain-workspace .goat-reaction-row.is-review {
    box-shadow: inset 3px 0 0 #f2bd55;
}

.brain-workspace .goat-reaction-row > * {
    min-width: 0;
    margin: 0;
    padding: 8px 9px;
    color: #b7c7d1;
    background: #081722;
    font-size: 13px;
    line-height: 1.45;
}

.brain-workspace .goat-reaction-row > strong {
    padding-left: 12px;
    color: #edf5f9;
    font-size: 14px;
}

.brain-workspace .goat-scenario-footer {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 8px;
}

.brain-workspace .goat-scenario-footer.goat-scenario-footer-single {
    grid-template-columns: minmax(0, 1fr);
}

.brain-workspace .goat-scenario-footer > div {
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid #304b5e;
    border-radius: 3px;
    background: #081722;
}

.brain-workspace .goat-scenario-footer ul {
    display: grid;
    gap: 5px;
    margin: 7px 0 0;
    padding: 0;
    list-style: none;
}

.brain-workspace .goat-scenario-footer li {
    display: grid;
    grid-template-columns: auto minmax(120px, 1fr) auto;
    gap: 8px;
    padding-top: 5px;
    border-top: 1px solid rgba(126, 160, 181, .16);
    color: #b8c8d1;
    font-size: 13px;
    line-height: 1.4;
}

.brain-workspace .goat-scenario-footer li strong,
.brain-workspace .goat-scenario-footer li small {
    color: #eaf3f7;
    font-variant-numeric: tabular-nums;
}

@media (max-width: 1200px) {
    .brain-workspace .goat-review-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .brain-workspace .goat-review-kpis > div:nth-child(3) {
        border-right: 0;
    }

    .brain-workspace .goat-review-kpis > div:nth-child(-n + 3) {
        border-bottom: 1px solid #2d4658;
    }

    .brain-workspace .goat-review-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .brain-workspace .goat-failure-anatomy > div {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .brain-workspace .goat-review-kpis,
    .brain-workspace .goat-review-cohort,
    .brain-workspace .goat-failure-anatomy > div,
    .brain-workspace .goat-scenario-triad,
    .brain-workspace .goat-scenario-footer {
        grid-template-columns: minmax(0, 1fr);
    }

    .brain-workspace .goat-review-kpis > div {
        border-right: 0;
        border-bottom: 1px solid #2d4658;
    }

    .brain-workspace .goat-review-kpis > div:last-child {
        border-bottom: 0;
    }

    .brain-workspace .goat-review-cohort > div {
        border-top: 1px solid #263d4d;
    }

    .brain-workspace .goat-review-cohort > div:first-child {
        border-top: 0;
    }

    .brain-workspace .goat-review-panel > summary,
    .brain-workspace .goat-failure-anatomy > summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .brain-workspace .goat-review-panel > summary span,
    .brain-workspace .goat-failure-anatomy > summary span {
        text-align: left;
    }

    .brain-workspace .goat-reaction-head {
        display: none;
    }

    .brain-workspace .goat-reaction-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .brain-workspace .goat-reaction-row > * {
        border-top: 1px solid rgba(126, 160, 181, .13);
    }

    .brain-workspace .goat-reaction-row > *:first-child {
        border-top: 0;
    }

    .brain-workspace .goat-scenario-footer li {
        grid-template-columns: minmax(0, 1fr);
    }

    .brain-workspace .goat-ledger-tier,
    .brain-workspace .goat-inline-scenario > summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .brain-workspace .goat-inline-scenario > summary > span {
        text-align: left;
    }
}

.brain-workspace .global-index-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.brain-workspace .global-index-tile {
    padding: 12px;
    border-radius: 3px;
}

.brain-workspace .global-index-tile.asset-signal-strong-bullish,
.indices-workspace .global-index-tile.asset-signal-strong-bullish {
    border-left-color: #34d399;
    background: linear-gradient(135deg, #164e38, #0b211a 72%);
}

.brain-workspace .global-index-tile.asset-signal-bullish,
.indices-workspace .global-index-tile.asset-signal-bullish {
    border-left-color: #22c55e;
    background: linear-gradient(135deg, #14532d, #0a2017 72%);
}

.brain-workspace .global-index-tile.asset-signal-neutral,
.indices-workspace .global-index-tile.asset-signal-neutral {
    border-left-color: #eab308;
    background: linear-gradient(135deg, #4a3510, #211b0c 72%);
}

.brain-workspace .global-index-tile.asset-signal-bearish,
.indices-workspace .global-index-tile.asset-signal-bearish {
    border-left-color: #ef4444;
    background: linear-gradient(135deg, #542024, #251014 72%);
}

.brain-workspace .global-index-tile.asset-signal-strong-bearish,
.indices-workspace .global-index-tile.asset-signal-strong-bearish {
    border-left-color: #f87171;
    background: linear-gradient(135deg, #681c24, #2d0f14 72%);
}

.brain-workspace .global-index-tile.asset-signal-unavailable,
.indices-workspace .global-index-tile.asset-signal-unavailable {
    border-left-color: #64748b;
    background: linear-gradient(135deg, #273548, #121b28 72%);
}

/* Dashboard signal surfaces follow the approved Institutional Indices gradient language. */
.workspace-content-dashboard .verified-asset-signal.asset-signal-strong-bullish,
.workspace-content-dashboard .global-index-table-row.asset-signal-strong-bullish {
    background: linear-gradient(135deg, #164e38, #0b211a 72%);
}

.workspace-content-dashboard .verified-asset-signal.asset-signal-bullish,
.workspace-content-dashboard .global-index-table-row.asset-signal-bullish {
    background: linear-gradient(135deg, #14532d, #0a2017 72%);
}

.workspace-content-dashboard .verified-asset-signal.asset-signal-neutral,
.workspace-content-dashboard .global-index-table-row.asset-signal-neutral {
    background: linear-gradient(135deg, #4a3510, #211b0c 72%);
}

.workspace-content-dashboard .verified-asset-signal.asset-signal-bearish,
.workspace-content-dashboard .global-index-table-row.asset-signal-bearish {
    background: linear-gradient(135deg, #542024, #251014 72%);
}

.workspace-content-dashboard .verified-asset-signal.asset-signal-strong-bearish,
.workspace-content-dashboard .global-index-table-row.asset-signal-strong-bearish {
    background: linear-gradient(135deg, #681c24, #2d0f14 72%);
}

.workspace-content-dashboard .verified-asset-signal.asset-signal-unavailable,
.workspace-content-dashboard .global-index-table-row.asset-signal-unavailable {
    background: linear-gradient(135deg, #273548, #121b28 72%);
}

.workspace-content-dashboard .matrix-cell.green5 {
    background: linear-gradient(135deg, rgba(20, 83, 45, .52), rgba(8, 26, 15, .30) 72%);
}

.workspace-content-dashboard .matrix-cell.green4 {
    background: linear-gradient(135deg, rgba(22, 101, 52, .48), rgba(9, 32, 18, .28) 72%);
}

.workspace-content-dashboard .matrix-cell.green3 {
    background: linear-gradient(135deg, rgba(21, 128, 61, .44), rgba(10, 38, 21, .26) 72%);
}

.workspace-content-dashboard .matrix-cell.green2 {
    background: linear-gradient(135deg, rgba(22, 163, 74, .40), rgba(11, 44, 24, .24) 72%);
}

.workspace-content-dashboard .matrix-cell.green1 {
    background: linear-gradient(135deg, rgba(74, 222, 128, .34), rgba(17, 54, 33, .22) 72%);
    color: #f8fafc;
}

.workspace-content-dashboard .matrix-cell.yellow {
    background: linear-gradient(135deg, rgba(202, 138, 4, .38), rgba(61, 43, 10, .24) 72%);
}

.workspace-content-dashboard .matrix-cell.red1 {
    background: linear-gradient(135deg, rgba(248, 113, 113, .34), rgba(84, 32, 36, .22) 72%);
    color: #f8fafc;
}

.workspace-content-dashboard .matrix-cell.red2 {
    background: linear-gradient(135deg, rgba(220, 38, 38, .40), rgba(74, 18, 22, .24) 72%);
}

.workspace-content-dashboard .matrix-cell.red3 {
    background: linear-gradient(135deg, rgba(185, 28, 28, .44), rgba(66, 16, 18, .26) 72%);
}

.workspace-content-dashboard .matrix-cell.red4 {
    background: linear-gradient(135deg, rgba(153, 27, 27, .48), rgba(54, 16, 19, .28) 72%);
}

.workspace-content-dashboard .matrix-cell.red5 {
    background: linear-gradient(135deg, rgba(127, 29, 29, .52), rgba(45, 15, 20, .30) 72%);
}

/* Keep matrix direction legible without allowing the heat surface to dominate. */
.workspace-content-dashboard .matrix-cell:not(.diagonal) {
    background-color: #1b293b;
    box-shadow:
        inset 0 0 0 999px rgba(7, 14, 24, 0.08),
        inset 0 0 0 1px rgba(226, 232, 240, .08);
}

.workspace-content-dashboard .matrix-cell:not(.diagonal):hover {
    box-shadow:
        inset 0 0 0 999px rgba(7, 14, 24, 0.05),
        inset 0 0 0 1px rgba(241, 245, 249, .14),
        0 0 7px rgba(148, 163, 184, 0.08);
}

.workspace-content-dashboard .matrix-cell .matrix-link,
.workspace-content-dashboard .matrix-cell .matrix-link:link,
.workspace-content-dashboard .matrix-cell .matrix-link:visited,
.workspace-content-dashboard .matrix-cell .matrix-link:hover,
.workspace-content-dashboard .matrix-cell .matrix-link:active,
.workspace-content-dashboard .matrix-cell .matrix-link:focus-visible,
.workspace-content-dashboard a.verified-asset-signal,
.workspace-content-dashboard a.verified-asset-signal:link,
.workspace-content-dashboard a.verified-asset-signal:visited,
.workspace-content-dashboard a.verified-asset-signal:hover,
.workspace-content-dashboard a.verified-asset-signal:active,
.workspace-content-dashboard a.verified-asset-signal:focus-visible,
.workspace-content-dashboard .global-index-table-identity a,
.workspace-content-dashboard .global-index-table-identity a:link,
.workspace-content-dashboard .global-index-table-identity a:visited,
.workspace-content-dashboard .global-index-table-identity a:hover,
.workspace-content-dashboard .global-index-table-identity a:active,
.workspace-content-dashboard .global-index-table-identity a:focus-visible {
    color: #f8fafc;
}

.workspace-content-dashboard .global-index-table th:last-child,
.workspace-content-dashboard .global-index-table-technical {
    padding-right: 36px;
    padding-left: 18px;
}

.brain-workspace .global-index-heading strong,
.brain-workspace .cross-asset-symbol {
    font-size: 15px;
    line-height: 1.4;
}

.brain-workspace .global-index-name,
.brain-workspace .global-index-asof,
.brain-workspace .global-index-direction,
.brain-workspace .global-index-metrics,
.brain-workspace .cross-asset-name,
.brain-workspace .cross-asset-regime,
.brain-workspace .cross-asset-metrics {
    overflow: visible;
    color: #9fb6c7;
    font-size: 12px;
    line-height: 1.45;
    text-overflow: clip;
    white-space: normal;
}

.brain-workspace .signal-tile-thesis > span {
    font-size: 11px;
}

.brain-workspace .signal-tile-thesis > small {
    font-size: 13px;
    line-height: 1.45;
}

.brain-workspace .cross-asset-grid {
    grid-template-columns: repeat(auto-fit, minmax(185px, 1fr));
    gap: 10px;
}

.brain-workspace .cross-asset-tile {
    padding: 11px 12px;
    border-radius: 3px;
}

.brain-workspace .central-bank-monitor-card {
    max-width: 100%;
    min-width: 0;
}

.brain-workspace .central-bank-score-strip span,
.brain-workspace .central-bank-key-facts dt,
.brain-workspace .central-bank-forecast-panel > span,
.brain-workspace .central-bank-component-metrics span {
    font-size: 11px;
}

.brain-workspace .central-bank-key-facts dd,
.brain-workspace .central-bank-component-row > header span,
.brain-workspace .central-bank-component-row > p,
.brain-workspace .central-bank-component-evidence {
    font-size: 13px;
}

.brain-workspace .brain-boundary-card > h2 {
    padding-bottom: 12px;
    border-bottom: 1px solid #293d4d;
}

.brain-workspace .brain-boundary-card ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 28px;
}

@media (max-width: 1200px) {
    .brain-workspace .brain-validation-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brain-workspace .global-index-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .brain-workspace .research-two-column {
        grid-template-columns: minmax(0, 1fr);
    }

    .brain-workspace .brain-row-audit-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brain-workspace .goat-decision-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 700px) {
    .brain-workspace .card,
    .brain-workspace .brain-hero {
        padding: 14px;
    }

    .brain-workspace .brain-hero,
    .brain-workspace .data-verification-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .brain-workspace .brain-health {
        flex-basis: auto;
        min-width: 0;
        align-items: flex-start;
    }

    .brain-workspace .brain-summary-grid,
    .brain-workspace .brain-archive-grid,
    .brain-workspace .brain-validation-grid,
    .brain-workspace .global-index-grid,
    .brain-workspace .brain-boundary-card ul {
        grid-template-columns: minmax(0, 1fr);
    }

    .brain-workspace .data-coverage,
    .brain-workspace .global-index-header-actions,
    .brain-workspace .cross-analysis-coverage-stack {
        text-align: left;
    }

    .brain-workspace .brain-row-audit-details > summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .brain-workspace .brain-row-audit-details > summary > span {
        text-align: left;
    }

    .brain-workspace .brain-row-audit-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .brain-workspace .goat-decision-strip,
    .brain-workspace .goat-causal-grid,
    .brain-workspace .goat-outcome-path,
    .brain-workspace .goat-evidence-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .brain-workspace .goat-decision-strip > div {
        border-right: 0;
        border-bottom: 1px solid #293f50;
    }

    .brain-workspace .goat-decision-card > summary,
    .brain-workspace .goat-continuation-history > summary,
    .brain-workspace .goat-decision-evidence > summary {
        align-items: flex-start;
        flex-direction: column;
    }

    .brain-workspace .goat-continuation-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brain-workspace .goat-continuation-row.is-heading {
        display: none;
    }

    .brain-workspace .goat-continuation-outcomes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ---------------------------------------------------------
   Institutional Opportunity Scanner: compact terminal view
   --------------------------------------------------------- */

.workspace-content-scanner {
    overflow-x: hidden;
}

.workspace-content-scanner .scanner-page-card {
    display: grid;
    gap: 16px;
    min-width: 0;
    padding: 20px;
    background: #111b29;
}

.workspace-content-scanner .scanner-page-header {
    gap: 24px;
    margin-bottom: 0;
    padding-bottom: 14px;
    border-bottom-color: #2a3b4e;
}

.scanner-page-eyebrow {
    color: #64c9f1;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    line-height: 1.4;
    text-transform: uppercase;
}

.workspace-content-scanner .scanner-page-header h2 {
    margin: 3px 0 0;
    color: #f8fafc;
    font-size: 24px;
    line-height: 1.25;
}

.workspace-content-scanner .scanner-page-subtitle {
    color: #a9bac8;
    font-size: 14px;
    line-height: 1.55;
}

.workspace-content-scanner .scanner-summary {
    grid-template-columns: repeat(4, minmax(135px, auto));
    gap: 8px;
}

.workspace-content-scanner .scanner-summary-item {
    padding: 10px 12px;
    border-color: #2c4358;
    border-radius: 3px;
    background: #0a1723;
}

.workspace-content-scanner .scanner-summary-item span {
    margin-bottom: 4px;
    color: #7f98ab;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .07em;
}

.workspace-content-scanner .scanner-summary-item strong {
    color: #f8fafc;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
}

.scanner-command-strip {
    display: grid;
    grid-template-columns: .9fr .8fr 1.35fr;
    border: 1px solid #29455b;
    border-left: 3px solid #50b7e5;
    border-radius: 3px;
    background: #081620;
}

.scanner-command-strip > div {
    min-width: 0;
    padding: 10px 14px;
    border-right: 1px solid #243b4d;
}

.scanner-command-strip > div:last-child {
    border-right: 0;
}

.scanner-command-strip span,
.scanner-command-strip strong {
    display: block;
}

.scanner-command-strip span {
    margin-bottom: 3px;
    color: #6f8ba0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.35;
    text-transform: uppercase;
}

.scanner-command-strip strong {
    color: #dbe8f0;
    font-size: 14px;
    line-height: 1.45;
}

.workspace-content-scanner .scanner-opportunity-grid {
    gap: 12px;
}

.workspace-content-scanner .opportunity-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin-bottom: 0;
    padding: 15px;
    border: 1px solid #2a4053;
    border-top: 2px solid #50b7e5;
    border-radius: 4px;
    background: #091622;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
    transition: border-color .16s ease, transform .16s ease;
}

.workspace-content-scanner .opportunity-header > :not(.scanner-pair-backdrop) {
    position: relative;
    z-index: 2;
}

.scanner-pair-backdrop {
    position: absolute;
    z-index: 0;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    pointer-events: none;
}

.scanner-pair-backdrop::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(5, 14, 24, .48) 0%,
        rgba(9, 22, 34, .76) 48%,
        rgba(9, 22, 34, .94) 100%);
}

.scanner-pair-backdrop img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
    opacity: .42;
}

.workspace-content-scanner .opportunity-card:hover {
    transform: translateY(-1px);
    border-color: #4f7894;
}

.workspace-content-scanner .opportunity-card[data-bias="Long"] {
    border-top-color: #65c86f;
}

.workspace-content-scanner .opportunity-card[data-bias="Short"] {
    border-top-color: #ed6b6b;
}

.workspace-content-scanner .opportunity-header {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 12px;
    padding-bottom: 11px;
    border-bottom: 1px solid #263a4a;
}

.opportunity-identity {
    min-width: 0;
}

.workspace-content-scanner .opportunity-rank {
    margin-bottom: 2px;
    color: #86a1b4;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    line-height: 1.35;
    text-transform: uppercase;
}

.workspace-content-scanner .opportunity-pair {
    margin: 0;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: .02em;
    line-height: 1.2;
}

.workspace-content-scanner .opportunity-pair a,
.workspace-content-scanner .opportunity-pair a:link,
.workspace-content-scanner .opportunity-pair a:visited {
    color: #f8fafc !important;
    text-decoration: none;
}

.workspace-content-scanner .opportunity-pair a:hover,
.workspace-content-scanner .opportunity-pair a:focus-visible {
    color: #fff !important;
    text-decoration: underline;
    text-decoration-color: #7dd3fc;
    text-underline-offset: 3px;
}

.workspace-content-scanner .opportunity-rating {
    flex: 0 0 auto;
    text-align: right;
}

.workspace-content-scanner .opportunity-rating span,
.workspace-content-scanner .opportunity-rating strong {
    display: block;
}

.scanner-portfolio-state {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin-top: 8px;
    padding: 3px 8px;
    border: 1px solid currentColor;
    border-radius: 2px;
    font-size: 11px !important;
    font-weight: 800;
    letter-spacing: .055em !important;
    line-height: 1.35 !important;
    text-transform: uppercase;
}

.scanner-portfolio-state-active {
    color: #75dc84 !important;
    background: rgba(40, 128, 67, .16);
}

.scanner-portfolio-state-pending {
    color: #f2c85b !important;
    background: rgba(155, 112, 21, .16);
}

.scanner-portfolio-state-outside {
    color: #9fb0bc !important;
    background: rgba(93, 110, 124, .13);
}

.workspace-content-scanner .opportunity-card[data-portfolio-state="active"] {
    box-shadow: inset 0 0 0 1px rgba(81, 190, 103, .14),
        0 8px 18px rgba(0, 0, 0, .18);
}

.workspace-content-scanner .opportunity-card[data-portfolio-state="pending"] {
    box-shadow: inset 0 0 0 1px rgba(232, 188, 74, .18),
        0 8px 18px rgba(0, 0, 0, .18);
}

.workspace-content-scanner .opportunity-rating span {
    color: #718da0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1.35;
    text-transform: uppercase;
}

.workspace-content-scanner .opportunity-rating strong {
    margin-top: 3px;
    color: #f6d365;
    font-size: 15px;
    line-height: 1.4;
}

.opportunity-bias {
    display: inline-flex;
    margin-top: 5px;
    padding: 2px 8px;
    border: 1px solid currentColor;
    border-radius: 2px;
    color: #d4dde4;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.45;
    text-transform: uppercase;
}

.opportunity-card[data-bias="Long"] .opportunity-bias {
    color: #77db81;
}

.opportunity-card[data-bias="Short"] .opportunity-bias {
    color: #f07a7a;
}

.scanner-metric-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border: 1px solid #263e50;
    border-radius: 3px;
    background: #07131d;
}

.scanner-metric {
    min-width: 0;
    padding: 9px 10px;
    border-right: 1px solid #263e50;
}

.scanner-metric:last-child {
    border-right: 0;
}

.scanner-metric span,
.scanner-metric strong {
    display: block;
}

.scanner-metric span {
    overflow: hidden;
    margin-bottom: 3px;
    color: #7390a4;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.35;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.scanner-metric strong {
    overflow-wrap: anywhere;
    color: #eaf2f7;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
}

.scanner-metric-primary strong {
    color: #f8fafc;
    font-size: 18px;
}

.scanner-metric strong small {
    color: #7893a7;
    font-size: 10px;
}

.scanner-metric-light strong {
    display: flex;
    align-items: center;
    gap: 6px;
}

.scanner-metric-light i {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #94a3b8;
    box-shadow: 0 0 6px currentColor;
}

.opportunity-card[data-light="Green"] .scanner-metric-light {
    color: #65d16f;
}

.opportunity-card[data-light="Green"] .scanner-metric-light i {
    background-color: #65d16f;
}

.opportunity-card[data-light="Amber"] .scanner-metric-light {
    color: #e8bc4a;
}

.opportunity-card[data-light="Amber"] .scanner-metric-light i {
    background-color: #e8bc4a;
}

.opportunity-card[data-light="Red"] .scanner-metric-light {
    color: #ed6b6b;
}

.opportunity-card[data-light="Red"] .scanner-metric-light i {
    background-color: #ed6b6b;
}

.scanner-research-readout {
    display: grid;
    margin-top: 12px;
    border-top: 1px solid #263a4a;
}

.scanner-readout-row {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid #263a4a;
}

.scanner-readout-row span {
    color: #70c8eb;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1.5;
    text-transform: uppercase;
}

.scanner-readout-row p {
    margin: 0;
    color: #dce7ee;
    font-size: 14px;
    line-height: 1.55;
}

.scanner-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: auto;
    padding-top: 11px;
}

.scanner-card-footer span {
    color: #758fa2;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.4;
    text-transform: uppercase;
}

.workspace-content .scanner-card-footer a,
.workspace-content .scanner-card-footer a:link,
.workspace-content .scanner-card-footer a:visited {
    color: #77d2f4;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
    text-decoration: none;
    white-space: nowrap;
}

.workspace-content .scanner-card-footer a:hover,
.workspace-content .scanner-card-footer a:focus-visible {
    color: #b8eaff;
    text-decoration: underline;
}

@media (max-width: 1100px) {
    .scanner-command-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .workspace-content-scanner .scanner-page-card {
        padding: 14px;
    }

    .workspace-content-scanner .scanner-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .scanner-command-strip,
    .scanner-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .scanner-command-strip > div,
    .scanner-metric {
        border-right: 0;
        border-bottom: 1px solid #263e50;
    }

    .scanner-command-strip > div:last-child,
    .scanner-metric:last-child {
        border-bottom: 0;
    }

    .scanner-readout-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
    }

    .scanner-card-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Macro evidence refinements: compact connections, policy monitor and jumps. */

.workspace-content-macro #currency-data .data-verification-grid,
.workspace-content-macro #exo .data-verification-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.workspace-content-macro #currency-data .data-verification-grid > div:nth-child(2),
.workspace-content-macro #exo .data-verification-grid > div:nth-child(2) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: start;
    gap: 5px 14px;
}

.workspace-content-macro #currency-data .data-verification-grid > div:nth-child(2) > .data-section-label,
.workspace-content-macro #exo .data-verification-grid > div:nth-child(2) > .data-section-label {
    grid-column: 1 / -1;
}

.workspace-content-macro #currency-data .data-verification-grid > div:nth-child(3),
.workspace-content-macro #exo .data-verification-grid > div:nth-child(3) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 18px;
    grid-column: 1 / -1;
}

.workspace-content-macro #currency-data .data-verification-grid > div:nth-child(3) > .data-section-label,
.workspace-content-macro #exo .data-verification-grid > div:nth-child(3) > .data-section-label {
    grid-column: 1 / -1;
}

.central-bank-monitor-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 13px;
}

.central-bank-monitor-card {
    display: grid;
    align-content: start;
    gap: 10px;
    min-width: 0;
    padding: 14px;
    border: 1px solid #294357;
    border-top: 2px solid #4dbce8;
    border-radius: 4px;
    background: #081620;
    scroll-margin-top: 88px;
}

.central-bank-monitor-card:target {
    border-color: #5bcdf4;
    box-shadow: inset 3px 0 #5bcdf4;
}

.central-bank-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #294052;
}

.central-bank-card-header > div:first-child {
    min-width: 0;
}

.central-bank-card-header > div:first-child > span {
    color: #63cef2;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .09em;
    line-height: 1.35;
}

.central-bank-card-header h3 {
    margin: 3px 0 0;
    color: #f5f8fa;
    font-size: 17px;
    line-height: 1.35;
}

.central-bank-tone {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    max-width: 45%;
    color: #dce8ef;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    text-align: right;
}

.central-bank-score-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border: 1px solid #263e50;
    border-radius: 3px;
    background: #06121c;
}

.central-bank-score-strip > div {
    min-width: 0;
    padding: 8px 9px;
    border-right: 1px solid #263e50;
}

.central-bank-score-strip > div:last-child {
    border-right: 0;
}

.central-bank-score-strip span,
.central-bank-score-strip strong {
    display: block;
}

.central-bank-score-strip span {
    margin-bottom: 3px;
    color: #718da0;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.35;
    text-transform: uppercase;
}

.central-bank-score-strip strong {
    overflow-wrap: anywhere;
    color: #f0f5f8;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
}

.central-bank-score-strip > div:first-child strong {
    color: #ffffff;
    font-size: 18px;
}

.central-bank-key-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    overflow: hidden;
    border: 1px solid #263e50;
    border-radius: 3px;
    background: #263e50;
}

.central-bank-key-facts > div {
    min-width: 0;
    padding: 9px 10px;
    background: #0a1925;
}

.central-bank-key-facts dt {
    margin-bottom: 4px;
    color: #6f8ca0;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.35;
    text-transform: uppercase;
}

.central-bank-key-facts dd {
    margin: 0;
    color: #dce7ee;
    font-size: 13px;
    line-height: 1.5;
}

.central-bank-forecast-panel {
    display: grid;
    grid-template-columns: minmax(145px, .8fr) auto minmax(140px, 1fr);
    align-items: center;
    gap: 8px 14px;
    padding: 9px 11px;
    border: 1px solid #31536a;
    border-left: 3px solid #e0b84d;
    border-radius: 3px;
    background: #0b1d2a;
}

.central-bank-forecast-panel > span {
    color: #86a1b3;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.4;
    text-transform: uppercase;
}

.central-bank-forecast-panel > strong {
    color: #f3d36b;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
}

.central-bank-forecast-panel > p {
    margin: 0;
    color: #c8d7e1;
    font-size: 13px;
    line-height: 1.45;
}

.central-bank-probability-strip {
    display: flex;
    grid-column: 1 / -1;
    gap: 6px;
    flex-wrap: wrap;
}

.central-bank-probability-strip span {
    padding: 3px 7px;
    border: 1px solid #34536a;
    border-radius: 2px;
    color: #9fb5c4;
    font-size: 11px;
    line-height: 1.35;
}

.central-bank-probability-strip b {
    color: #f6f8fa;
    font-variant-numeric: tabular-nums;
}

.central-bank-policy-context,
.central-bank-score-construction {
    min-width: 0;
    margin: 0;
    border: 1px solid #294052;
    border-radius: 3px;
    background: #091721;
}

.central-bank-policy-context > summary,
.central-bank-score-construction > summary {
    padding: 8px 10px;
    cursor: pointer;
    color: #dce8ef;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.45;
}

.central-bank-component-list {
    display: grid;
    gap: 8px;
    padding: 9px;
    border-top: 1px solid #294052;
}

.central-bank-component-row {
    display: grid;
    min-width: 0;
    gap: 8px;
    padding: 10px;
    border: 1px solid #294052;
    border-left: 3px solid #4dbce8;
    border-radius: 3px;
    background: #07141e;
}

.central-bank-component-row > header {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.central-bank-component-row > header > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.central-bank-component-row > header strong {
    color: #f2f6f8;
    font-size: 14px;
    line-height: 1.4;
}

.central-bank-component-row > header span,
.central-bank-component-row > p,
.central-bank-component-evidence {
    font-size: 12px;
    line-height: 1.5;
}

.central-bank-component-row > header > div > span {
    color: #7894a6;
}

.central-bank-component-row > p {
    margin: 0;
    color: #c8d7e1;
}

.central-bank-component-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid #263e50;
    border-radius: 2px;
    background: #263e50;
}

.central-bank-component-metrics > div {
    display: grid;
    min-width: 0;
    gap: 2px;
    padding: 6px 8px;
    background: #0a1925;
}

.central-bank-component-metrics span {
    color: #718da0;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.35;
    text-transform: uppercase;
}

.central-bank-component-metrics strong {
    color: #eef4f7;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    line-height: 1.4;
}

.central-bank-component-evidence {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 10px;
    padding-top: 7px;
    border-top: 1px solid #203747;
    color: #8ca4b4;
}

.central-bank-component-evidence a {
    color: #6fd5f7;
    font-weight: 800;
    text-decoration: none;
}

.central-bank-component-evidence a:hover,
.central-bank-component-evidence a:focus-visible {
    color: #bcecff;
    text-decoration: underline;
}

.central-bank-component-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 10px;
    border: 1px solid #3c5d72;
    border-radius: 3px;
    color: #9eb2c0;
    background: #0a1c28;
    font-size: 13px;
    line-height: 1.45;
}

.central-bank-component-total strong {
    color: #f3d36b;
    font-variant-numeric: tabular-nums;
}

.central-bank-context-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    border-top: 1px solid #294052;
    background: #294052;
}

.central-bank-context-grid > div {
    min-width: 0;
    padding: 10px;
    background: #081620;
}

.central-bank-context-grid span {
    color: #68c7ec;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.4;
    text-transform: uppercase;
}

.central-bank-context-grid p,
.central-bank-context-grid small {
    display: block;
    margin: 5px 0 0;
    color: #cbd9e2;
    font-size: 13px;
    line-height: 1.5;
}

.workspace-content .macro-evidence-jump,
.workspace-content .macro-evidence-jump:link,
.workspace-content .macro-evidence-jump:visited {
    color: #6fd5f7;
    font-weight: 900;
    text-decoration: none;
}

.workspace-content .macro-evidence-jump:hover,
.workspace-content .macro-evidence-jump:focus-visible {
    color: #bcecff;
    text-decoration: underline;
}

.volatility-evidence-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    border-top: 1px solid #294052;
    background: #294052;
}

.volatility-evidence-grid > div {
    min-width: 0;
    padding: 10px;
    background: #081620;
}

.volatility-evidence-grid span,
.volatility-evidence-grid strong {
    display: block;
}

.volatility-evidence-grid span {
    margin-bottom: 4px;
    color: #7592a5;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.4;
    text-transform: uppercase;
}

.volatility-evidence-grid strong {
    overflow-wrap: anywhere;
    color: #dce7ee;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

.institutional-input-terminal {
    display: grid;
    min-width: 0;
    margin-top: 13px;
    overflow: hidden;
    border: 1px solid #294052;
    border-radius: 3px;
    background: #07141e;
    font-variant-numeric: tabular-nums;
}

.institutional-input-header,
.institutional-input-row {
    display: grid;
    grid-template-columns: 54px repeat(6, minmax(66px, 1fr)) minmax(86px, .8fr);
    min-width: 0;
    align-items: stretch;
}

.institutional-input-header {
    background: #102433;
}

.institutional-input-header > span {
    min-width: 0;
    padding: 7px 6px;
    overflow: hidden;
    color: #7897aa;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    line-height: 1.3;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.institutional-input-row {
    border-top: 1px solid #203746;
}

.institutional-input-row:nth-child(odd) {
    background: rgba(13, 31, 43, .55);
}

.institutional-input-currency,
.institutional-input-value,
.institutional-input-health {
    min-width: 0;
    padding: 7px 6px;
    border-right: 1px solid #203746;
}

.institutional-input-currency {
    display: flex;
    align-items: center;
    font-size: 13px;
}

.institutional-input-value {
    display: grid;
    align-content: center;
    gap: 1px;
}

.institutional-input-value strong {
    overflow: hidden;
    color: #e7eef2;
    font-size: 13px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.institutional-input-value span {
    overflow: hidden;
    color: #748fa1;
    font-size: 10px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.institutional-input-health {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 5px;
    border-right: 0;
    color: #c9d7df;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
    text-transform: uppercase;
}

.institutional-input-health .endo-light {
    flex: 0 0 auto;
}

@media (max-width: 1250px) {
    .central-bank-monitor-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 800px) {
    .central-bank-score-strip,
    .central-bank-key-facts,
    .central-bank-context-grid,
    .volatility-evidence-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .central-bank-forecast-panel {
        grid-template-columns: minmax(0, 1fr);
    }

    .central-bank-probability-strip {
        grid-column: 1;
    }
}

@media (max-width: 700px) {
    .workspace-content-macro #currency-data .data-verification-grid,
    .workspace-content-macro #exo .data-verification-grid,
    .workspace-content-macro #currency-data .data-verification-grid > div:nth-child(2),
    .workspace-content-macro #exo .data-verification-grid > div:nth-child(2),
    .workspace-content-macro #currency-data .data-verification-grid > div:nth-child(3),
    .workspace-content-macro #exo .data-verification-grid > div:nth-child(3),
    .central-bank-score-strip,
    .central-bank-key-facts,
    .central-bank-context-grid,
    .volatility-evidence-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .workspace-content-macro #currency-data .data-verification-grid > div:nth-child(3),
    .workspace-content-macro #exo .data-verification-grid > div:nth-child(3) {
        grid-column: 1;
    }

    .central-bank-card-header {
        flex-direction: column;
    }

    .central-bank-tone {
        max-width: none;
        text-align: left;
    }

    .central-bank-component-row > header,
    .central-bank-component-total {
        align-items: flex-start;
        flex-direction: column;
    }

    .institutional-input-terminal {
        overflow: visible;
        border: 0;
        background: transparent;
    }

    .institutional-input-header {
        display: none;
    }

    .institutional-input-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1px;
        margin-bottom: 8px;
        overflow: hidden;
        border: 1px solid #294052;
        border-radius: 3px;
        background: #203746;
    }

    .institutional-input-currency,
    .institutional-input-health {
        background: #102433;
    }

    .institutional-input-value {
        background: #07141e;
    }

    .institutional-input-value::before {
        content: attr(data-label);
        overflow: hidden;
        color: #718da0;
        font-size: 9px;
        font-weight: 800;
        letter-spacing: .04em;
        line-height: 1.3;
        text-overflow: ellipsis;
        text-transform: uppercase;
        white-space: nowrap;
    }
}
}

/* ---------------------------------------------------------
   Global Macro Evidence: institutional owner audit desk
   --------------------------------------------------------- */

.workspace-content-macro {
    overflow-x: hidden;
}

.macro-terminal-workspace {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.macro-terminal-hero {
    display: grid;
    gap: 16px;
    padding: 20px;
    border-color: #2a465b;
    border-radius: 4px;
    background: #0e1b28;
}

.macro-terminal-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.macro-terminal-heading > div:first-child {
    min-width: 0;
}

.macro-terminal-eyebrow {
    color: #65c9f1;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .1em;
    line-height: 1.4;
    text-transform: uppercase;
}

.macro-terminal-heading h1 {
    margin: 4px 0 5px;
    color: #f8fafc;
    font-size: 26px;
    line-height: 1.25;
}

.macro-terminal-heading p {
    max-width: 850px;
    margin: 0;
    color: #a9bac8;
    font-size: 14px;
    line-height: 1.55;
}

.macro-terminal-state {
    flex: 0 0 auto;
    padding: 5px 10px;
    border: 1px solid #4d8cab;
    border-radius: 2px;
    color: #84dbfa;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.4;
    text-transform: uppercase;
}

.macro-terminal-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid #294257;
    border-left: 3px solid #55bde8;
    border-radius: 3px;
    background: #081621;
}

.macro-terminal-status-grid > div {
    min-width: 0;
    padding: 10px 13px;
    border-right: 1px solid #243b4d;
}

.macro-terminal-status-grid > div:last-child {
    border-right: 0;
}

.macro-terminal-status-grid span,
.macro-terminal-status-grid strong {
    display: block;
}

.macro-terminal-status-grid span {
    margin-bottom: 3px;
    color: #718da0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1.35;
    text-transform: uppercase;
}

.macro-terminal-status-grid strong {
    overflow-wrap: anywhere;
    color: #e4edf3;
    font-size: 14px;
    line-height: 1.45;
}

.macro-domain-nav {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #294257;
    border-radius: 4px;
    background: #0a1723;
}

.workspace-content .macro-domain-nav a,
.workspace-content .macro-domain-nav a:link,
.workspace-content .macro-domain-nav a:visited {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 9px 11px;
    border-right: 1px solid #243b4d;
    border-bottom: 1px solid #243b4d;
    color: #dce8ef;
    text-decoration: none;
}

.workspace-content .macro-domain-nav a:nth-child(5n) {
    border-right: 0;
}

.workspace-content .macro-domain-nav a:nth-child(n + 6) {
    border-bottom: 0;
}

.macro-domain-nav a span {
    color: #5ec8ee;
    font-size: 11px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    letter-spacing: .06em;
    line-height: 1.4;
}

.macro-domain-nav a strong {
    overflow: hidden;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.workspace-content .macro-domain-nav a:hover,
.workspace-content .macro-domain-nav a:focus-visible {
    color: #ffffff;
    background: #10283a;
    box-shadow: inset 0 -2px #55c7ef;
}

.macro-domain-grid {
    gap: 14px;
}

.macro-domain-grid > .macro-evidence-anchor {
    min-width: 0;
    scroll-margin-top: 88px;
}

.macro-domain-grid > .macro-evidence-anchor:target > .card,
.macro-domain-grid > .macro-evidence-anchor:target > section.card {
    border-color: #55c7ef;
    box-shadow: inset 3px 0 #55c7ef;
}

.macro-domain-grid > section > .card,
.macro-domain-grid > section > section.card {
    margin: 0;
    padding: 18px;
    border-color: #2a4053;
    border-radius: 4px;
    background: #0d1925;
}

.macro-domain-grid > #cot {
    display: grid;
    gap: 14px;
}

.workspace-content-macro .data-verification-header {
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #293d4d;
}

.workspace-content-macro .data-verification-header h2,
.workspace-content-macro .card > h2 {
    margin: 0;
    color: #f4f8fb;
    font-size: 20px;
    line-height: 1.3;
}

.workspace-content-macro .data-verification-subtitle {
    max-width: 1050px;
    margin-top: 5px;
    color: #a6b9c7;
    font-size: 14px;
    line-height: 1.55;
}

.workspace-content-macro .data-coverage {
    flex: 0 0 auto;
    color: #dbe8f0;
    font-size: 13px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.45;
    text-align: right;
}

.workspace-content-macro .data-verification-header-terminal {
    display: grid;
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
    align-items: center;
}

.workspace-content-macro .data-coverage-terminal {
    display: grid;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    gap: 4px;
    min-width: 0;
    text-align: left;
}

.workspace-content-macro .data-coverage-cell {
    display: grid;
    grid-template-columns: auto auto;
    align-items: baseline;
    gap: 0 5px;
    min-width: 0;
    padding: 7px 8px 6px;
    border: 1px solid #294052;
    border-radius: 3px;
    background: #081621;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
}

.workspace-content-macro .data-coverage-cell:hover,
.workspace-content-macro .data-coverage-cell:focus-visible {
    border-color: #55c7ef;
    background: #0c2130;
    box-shadow: inset 0 -2px #55c7ef;
    outline: none;
}

.workspace-content-macro .data-coverage-cell strong {
    color: #72d5f2;
    font-size: 12px;
    letter-spacing: .04em;
}

.workspace-content-macro .data-coverage-cell > span {
    justify-self: end;
    color: #eef5f8;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.workspace-content-macro .data-coverage-cell small {
    grid-column: 1 / -1;
    color: #7f9bad;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.3;
    text-align: right;
}

.workspace-content-macro .verified-connections-list {
    row-gap: 0;
}

.workspace-content-macro .verified-connections-list .data-line {
    margin: 0;
    line-height: 1.35;
}

.workspace-content-macro #exo .boundary-limitations-list {
    row-gap: 0;
}

.workspace-content-macro #exo .boundary-limitations-list .data-line {
    margin: 0;
    line-height: 1.35;
}

.workspace-content-macro .currency-data-evidence-target {
    scroll-margin-top: 88px;
}

.workspace-content-macro .currency-data-evidence-target:target {
    border-color: #55c7ef;
    box-shadow: inset 3px 0 #55c7ef;
}

.workspace-content-macro .data-section-label,
.workspace-content-macro .summary-label,
.workspace-content-macro .endo-legend,
.workspace-content-macro .asset-verification-label {
    color: #7f9bad;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.45;
    text-transform: uppercase;
}

.workspace-content-macro .data-verification-grid,
.workspace-content-macro .asset-verification-grid {
    gap: 10px;
}

.workspace-content-macro .data-verification-grid > div,
.workspace-content-macro .asset-verification-grid > div {
    min-width: 0;
    padding: 13px;
    border-color: #294052;
    border-radius: 3px;
    background: #081621;
}

.workspace-content-macro .metric-detail,
.workspace-content-macro .data-line,
.workspace-content-macro .summary-detail,
.workspace-content-macro .endo-boundary,
.workspace-content-macro .brain-archive-purpose,
.workspace-content-macro .asset-verification-detail,
.workspace-content-macro .cross-asset-brain-use {
    font-size: 13px;
    line-height: 1.55;
}

.workspace-content-macro .metric-evidence-scroll {
    border-color: #263d4f;
    border-radius: 3px;
}

.workspace-content-macro .metric-evidence-table {
    font-variant-numeric: tabular-nums;
}

.workspace-content-macro .metric-evidence-table th,
.workspace-content-macro .endo-terminal-table th {
    padding: 9px 10px;
    color: #8ea7b9;
    background: #07141f;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    line-height: 1.4;
    text-transform: uppercase;
}

.workspace-content-macro .metric-evidence-table td,
.workspace-content-macro .endo-terminal-table td {
    padding: 9px 10px;
    color: #dce7ee;
    font-size: 14px;
    line-height: 1.5;
    vertical-align: top;
}

.workspace-content-macro .metric-evidence-table tbody tr:nth-child(even) td {
    background: rgba(255, 255, 255, .012);
}

.workspace-content-macro .metric-evidence-table tbody tr:hover td {
    background: rgba(83, 190, 232, .055);
}

.workspace-content-macro .metric-evidence-table small,
.workspace-content-macro table .metric-detail {
    font-size: 12px;
    line-height: 1.45;
}

.workspace-content-macro .data-status,
.workspace-content-macro .status-green,
.workspace-content-macro .status-yellow,
.workspace-content-macro .status-red {
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
}

.workspace-content-macro details.metric-evidence,
.workspace-content-macro details.metric-evidence-details {
    border-color: #294052;
    border-radius: 3px;
    background: #091721;
}

.workspace-content-macro details > summary {
    color: #dce8ef;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.5;
}

.workspace-content-macro a {
    font-size: inherit;
}

@media (max-width: 1100px) {
    .macro-terminal-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .macro-terminal-status-grid > div:nth-child(2) {
        border-right: 0;
    }

    .macro-terminal-status-grid > div:nth-child(-n + 2) {
        border-bottom: 1px solid #243b4d;
    }

    .macro-domain-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .workspace-content-macro .data-verification-header-terminal {
        grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
    }

    .workspace-content-macro .data-coverage-terminal {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .workspace-content .macro-domain-nav a,
    .workspace-content .macro-domain-nav a:nth-child(5n),
    .workspace-content .macro-domain-nav a:nth-child(n + 6) {
        border-right: 1px solid #243b4d;
        border-bottom: 1px solid #243b4d;
    }

    .workspace-content .macro-domain-nav a:nth-child(2n) {
        border-right: 0;
    }

    .workspace-content .macro-domain-nav a:nth-last-child(-n + 2) {
        border-bottom: 0;
    }
}

@media (max-width: 700px) {
    .macro-terminal-hero {
        padding: 15px;
    }

    .macro-terminal-heading,
    .workspace-content-macro .data-verification-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .macro-terminal-status-grid,
    .macro-domain-nav {
        grid-template-columns: minmax(0, 1fr);
    }

    .macro-terminal-status-grid > div,
    .macro-terminal-status-grid > div:nth-child(2),
    .workspace-content .macro-domain-nav a,
    .workspace-content .macro-domain-nav a:nth-child(2n),
    .workspace-content .macro-domain-nav a:nth-last-child(-n + 2) {
        border-right: 0;
        border-bottom: 1px solid #243b4d;
    }

    .macro-terminal-status-grid > div:last-child,
    .workspace-content .macro-domain-nav a:last-child {
        border-bottom: 0;
    }

    .workspace-content-macro .data-coverage {
        text-align: left;
    }

    .workspace-content-macro .data-verification-header-terminal {
        grid-template-columns: minmax(0, 1fr);
    }

    .workspace-content-macro .data-coverage-terminal {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }
}

/* Institutional Indices: approved Research typography and evidence rhythm. */
.indices-workspace .indices-workspace-grid .global-index-tile {
    min-height: 270px;
}

.indices-workspace .global-index-heading strong {
    font-size: 15px;
    line-height: 1.4;
}

.indices-workspace .global-index-name,
.indices-workspace .global-index-asof {
    font-size: 13px;
    line-height: 1.5;
}

.indices-workspace .global-index-score {
    font-size: 24px;
    line-height: 1.2;
}

.indices-workspace .global-index-score small,
.indices-workspace .global-index-metrics span,
.indices-workspace .signal-tile-thesis > span,
.indices-workspace .verified-asset-technical > span {
    font-size: 12px;
    line-height: 1.4;
}

.indices-workspace .global-index-direction {
    font-size: 13px;
    line-height: 1.45;
}

.indices-workspace .global-index-metrics strong {
    font-size: 15px;
    line-height: 1.5;
}

.indices-workspace .signal-tile-thesis > small {
    font-size: 14px;
    line-height: 1.55;
}

.indices-workspace .technical-confirmation-warming {
    font-size: 13px;
    line-height: 1.5;
}

.index-evidence-health-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.index-evidence-health-grid > div {
    display: grid;
    align-content: start;
    gap: 6px;
    min-width: 0;
    padding: 14px;
    border: 1px solid #263b4b;
    border-radius: 6px;
    background: #07151f;
}

.index-evidence-health-grid span {
    color: #8ca3b5;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.4;
    text-transform: uppercase;
}

.index-evidence-health-grid strong,
.index-evidence-health-grid a {
    overflow-wrap: anywhere;
    color: #f8fafc;
    font-size: 15px;
    line-height: 1.5;
}

.index-evidence-health-grid a {
    color: #7dd3fc;
    text-decoration: none;
}

@media (max-width: 1100px) {
    .indices-workspace .indices-workspace-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .index-evidence-health-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .indices-workspace .indices-workspace-grid,
    .index-evidence-health-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* ---------------------------------------------------------
   Shared G10 policy expectations
   --------------------------------------------------------- */

.currency-policy-expectations-card {
    padding: 20px;
}

.currency-policy-pricing-availability {
    padding: 20px;
}

.currency-policy-pricing-grid {
    display: grid;
    grid-template-columns: minmax(220px, .75fr) minmax(360px, 1.5fr) minmax(220px, .75fr);
    gap: 12px;
    margin-top: 16px;
}

.currency-policy-pricing-grid > article {
    display: grid;
    align-content: start;
    gap: 8px;
    min-width: 0;
    padding: 16px;
    background: #07151f;
    border: 1px solid #263b4b;
    border-radius: 6px;
}

.currency-policy-pricing-grid > article > span {
    color: #67e8f9;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .055em;
}

.currency-policy-pricing-grid > article > strong {
    color: #f8fafc;
    font-size: 19px;
    line-height: 1.35;
}

.currency-policy-pricing-grid > article > small {
    color: #a9bac8;
    font-size: 14px;
    line-height: 1.55;
}

.currency-next-move-unavailable,
.currency-prediction-unavailable {
    border-left: 4px solid #64748b !important;
}

.currency-policy-path-scale {
    border-left: 4px solid #f4d35e !important;
}

.currency-policy-path-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.currency-policy-path-stats > div {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 10px;
    background: #091923;
    border: 1px solid #263b4b;
    border-radius: 4px;
}

.currency-policy-path-stats span {
    color: #8ca3b5;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.4;
    text-transform: uppercase;
}

.currency-policy-path-stats strong,
.currency-policy-path-stats a {
    color: #f8fafc;
    font-size: 14px;
    line-height: 1.45;
}

.currency-policy-path-stats a {
    color: #7dd3fc;
    text-decoration: none;
}

/* Non-USD policy pricing follows the approved restrained USD workspace. */
.currency-policy-pricing-availability {
    background: linear-gradient(180deg, rgba(9, 25, 35, .96), rgba(7, 21, 31, .98));
    border-color: #314958;
}

.currency-policy-pricing-grid > article {
    background: linear-gradient(180deg, #091923, #07151f);
    border: 1px solid #3d5665;
    border-top: 2px solid #577384;
    border-radius: 4px;
    box-shadow: inset 0 1px rgba(226, 232, 240, .035);
}

.currency-policy-pricing-grid > article > span {
    color: #9eb3c2;
    letter-spacing: .08em;
}

.currency-policy-pricing-grid > article > strong {
    color: #dce7ee;
    font-size: 17px;
    font-variant-numeric: tabular-nums;
}

.currency-next-move-unavailable,
.currency-prediction-unavailable,
.currency-policy-path-scale {
    border-left: 1px solid #3d5665 !important;
}

.currency-policy-path-scale .rates-priced-in-scale-heading {
    align-items: center;
    margin: -16px -16px 4px;
    padding: 10px 14px;
    background: rgba(19, 42, 56, .46);
    border-bottom: 1px solid #314958;
}

.currency-policy-path-scale .rates-priced-in-scale-heading span {
    color: #9eb3c2;
    font-size: 12px;
    letter-spacing: .08em;
}

.currency-policy-path-scale .rates-priced-in-scale-heading strong {
    padding: 3px 7px;
    color: #dce7ee;
    font-size: 17px;
    font-variant-numeric: tabular-nums;
    background: rgba(148, 163, 184, .07);
    border: 1px solid rgba(148, 163, 184, .24);
    border-radius: 3px;
}

.currency-policy-path-scale .rates-near-term-read strong {
    color: #dce7ee;
    font-size: 16px;
}

.currency-policy-path-scale .rates-pricing-track {
    background: linear-gradient(
        90deg,
        #315b68 0%,
        #3b6874 34%,
        #746c4b 50%,
        #765b43 68%,
        #6f4145 100%);
    border-color: #4b6270;
}

.currency-policy-path-scale .rates-pricing-marker {
    width: 15px;
    height: 15px;
    background: #dce7ee;
    border-width: 2px;
    box-shadow: 0 0 0 1px #8ca3b5;
}

.currency-policy-path-stats > div {
    background: rgba(9, 25, 35, .76);
    border-color: #314958;
}

/* Pair-research confirmation presentation; all reads remain zero weight. */
.pair-positioning-read-grid,
.pair-carry-evidence-grid,
.pair-carry-grid,
.pair-research-window-grid {
    display: grid;
    gap: 10px;
    margin-top: 14px;
}

.pair-positioning-read-grid,
.pair-carry-evidence-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pair-carry-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pair-research-window-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pair-momentum-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(220px, .72fr);
    gap: 10px;
    margin-top: 14px;
}

.pair-momentum-grid > article {
    min-width: 0;
    padding: 14px;
    background: #091923;
    border: 1px solid #314958;
    border-radius: 4px;
}

.pair-momentum-grid header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #263b4b;
}

.pair-momentum-grid header strong,
.pair-momentum-grid header span {
    color: #e5edf3;
    font-variant-numeric: tabular-nums;
}

.pair-momentum-grid header span {
    color: #7dd3fc;
    font-size: 13px;
    font-weight: 800;
}

.pair-momentum-grid dl {
    display: grid;
    gap: 7px;
    margin: 10px 0 0;
}

.pair-momentum-grid dl > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.pair-momentum-grid dt,
.pair-momentum-grid dd {
    margin: 0;
    color: #9eb3c2;
    font-size: 13px;
}

.pair-momentum-grid dd {
    color: #e5edf3;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.pair-momentum-differential {
    display: grid;
    align-content: start;
}

.pair-momentum-primary {
    margin-top: 18px;
    color: #f8fafc;
    font-size: 28px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

.pair-momentum-differential small,
.pair-momentum-audit small {
    color: #9db0bf;
    font-size: 12px;
    line-height: 1.5;
}

.pair-momentum-read,
.pair-momentum-audit {
    margin-top: 12px;
}

.pair-momentum-audit {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    gap: 10px;
    padding: 10px 12px;
    background: #07151f;
    border: 1px solid #263b4b;
    border-radius: 4px;
}

.pair-momentum-audit span {
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.pair-momentum-audit strong {
    color: #dce7ee;
    font-size: 12px;
}

.pair-positioning-read-grid > article,
.pair-carry-evidence-grid > article,
.pair-carry-grid > article,
.pair-research-window-grid > p {
    min-width: 0;
    margin: 0;
    padding: 12px 14px;
    background: #091923;
    border: 1px solid #314958;
    border-radius: 4px;
}

.pair-positioning-read-grid span,
.pair-carry-evidence-grid span,
.pair-carry-grid span {
    display: block;
    color: #9eb3c2;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .055em;
}

.pair-positioning-read-grid p,
.pair-carry-evidence-grid small,
.pair-carry-grid small {
    display: block;
    margin: 6px 0 0;
    color: #b7c7d4;
    font-size: 14px;
    line-height: 1.5;
}

.pair-carry-evidence-grid strong,
.pair-carry-grid strong {
    display: block;
    margin-top: 6px;
    color: #e5edf3;
    font-size: 18px;
    font-variant-numeric: tabular-nums;
}

.pair-carry-evidence-grid a {
    display: inline-block;
    margin-top: 7px;
    color: #7dd3fc;
    font-size: 13px;
    text-decoration: none;
}

.pair-positioning-boundary,
.pair-positioning-synthesis,
.pair-carry-read,
.cftc-weekly-change-read {
    margin-top: 12px;
}

.pair-research-window {
    padding: 18px;
}

@media (max-width: 1000px) {
    .pair-carry-grid,
    .pair-research-window-grid,
    .pair-momentum-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pair-momentum-differential {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .pair-positioning-read-grid,
    .pair-carry-evidence-grid,
    .pair-carry-grid,
    .pair-research-window-grid,
    .pair-momentum-grid {
        grid-template-columns: minmax(0, 1fr);
    }


    .pair-momentum-differential {
        grid-column: auto;
    }

    .pair-momentum-audit {
        grid-template-columns: minmax(0, 1fr);
    }
}

.currency-rates-workspace {
    scroll-margin-top: 86px;
}

.currency-rates-boundary {
    margin-top: 18px;
    padding: 14px 16px;
}

.policy-expectations-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}

.policy-expectations-grid > article {
    display: grid;
    align-content: start;
    gap: 6px;
    min-width: 0;
    padding: 14px;
    background: #081821;
    border: 1px solid #263b4b;
    border-radius: 6px;
}

.policy-expectations-grid span,
.policy-expectations-source-row span {
    color: #8ca3b5;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.4;
    text-transform: uppercase;
}

/* Approved research label treatment: match COT and Volatility metric heads. */
.research-currency-page .research-evidence-strip > div > span,
.research-currency-page .research-market-strip > div > span,
.research-currency-page .policy-expectations-grid > article > span,
.research-pair-page .pair-carry-grid > article > span,
.research-pair-page .pair-carry-evidence-grid > article > span {
    color: #7dd3fc;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.policy-expectations-grid strong {
    color: #f8fafc;
    font-size: 19px;
    line-height: 1.35;
}

.policy-expectations-grid small,
.policy-expectations-source-row small {
    color: #9db0bf;
    font-size: 13px;
    line-height: 1.5;
}

.policy-expectations-grid .policy-expectations-next {
    font-size: 15px;
    line-height: 1.45;
}

.policy-direction-hawkish strong,
.g10-policy-direction.policy-direction-hawkish {
    color: #f8c66a;
}

.policy-direction-dovish strong,
.g10-policy-direction.policy-direction-dovish {
    color: #6ee7b7;
}

.policy-direction-balanced strong,
.g10-policy-direction.policy-direction-balanced {
    color: #fde047;
}

.policy-direction-unavailable strong,
.g10-policy-direction.policy-direction-unavailable {
    color: #94a3b8;
}

.policy-expectations-source-row {
    display: grid;
    grid-template-columns: minmax(220px, .8fr) minmax(320px, 1.5fr) auto;
    align-items: center;
    gap: 14px;
    margin-top: 12px;
    padding: 14px;
    background: #07151f;
    border: 1px solid #263b4b;
    border-radius: 6px;
}

.policy-expectations-source-row > div {
    display: grid;
    gap: 5px;
}

.policy-expectations-source-row strong,
.policy-expectations-source-row a {
    font-size: 14px;
    line-height: 1.45;
}

.policy-expectations-source-row p {
    margin: 0;
    color: #d6e1e9;
    font-size: 14px;
    line-height: 1.55;
}

.policy-expectations-source-row a {
    color: #7dd3fc;
    text-decoration: none;
}

.policy-expectations-workspace-link {
    justify-self: end;
    white-space: nowrap;
}

.g10-policy-comparison,
.rates-comparison-ledger {
    position: relative;
    overflow: hidden;
    padding: 20px;
    border: 1px solid #2a4053;
    background: linear-gradient(180deg, #172535 0%, #101c29 100%);
    box-shadow:
        inset 0 1px 0 rgba(125, 211, 252, .06),
        0 12px 28px rgba(0, 0, 0, .16);
}

.g10-policy-comparison::before,
.rates-comparison-ledger::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 2px;
    background: linear-gradient(90deg, #38bdf8, #8fc0cf 58%, transparent);
    content: "";
}

.g10-policy-comparison .data-verification-header,
.rates-comparison-ledger .data-verification-header {
    margin-bottom: 0;
    padding-bottom: 14px;
    border-bottom: 1px solid #2a4053;
}

.g10-policy-table-scroll,
.rates-comparison-table-scroll {
    margin-top: 18px;
    overflow-x: auto;
    border: 1px solid #2a4053;
    border-radius: 7px;
    background: #0a1723;
    box-shadow: inset 0 0 0 1px rgba(143, 192, 207, .03);
}

.rates-institutional-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.g10-policy-table {
    min-width: 1120px;
}

.rates-comparison-table {
    min-width: 780px;
}

.rates-institutional-table th,
.rates-institutional-table td {
    padding: 12px 13px;
    line-height: 1.45;
    text-align: left;
    border-bottom: 1px solid #223847;
}

.rates-institutional-table th:not(:last-child),
.rates-institutional-table td:not(:last-child) {
    border-right: 1px solid rgba(42, 64, 83, .44);
}

.rates-institutional-table th {
    color: #91aabd;
    background: linear-gradient(180deg, #122333, #0d1c29);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.rates-institutional-table tbody tr:last-child td {
    border-bottom: 0;
}

.rates-institutional-table tbody tr:nth-child(even) td {
    background: rgba(18, 37, 53, .34);
}

.rates-institutional-table tbody tr:hover td {
    background: rgba(29, 57, 76, .62);
}

.g10-policy-table td {
    color: #d9e4ea;
    font-size: 13px;
}

.g10-policy-table th:nth-child(n+2):nth-child(-n+5),
.g10-policy-table td:nth-child(n+2):nth-child(-n+5) {
    text-align: right;
}

.g10-policy-table th:last-child,
.g10-policy-table td:last-child {
    text-align: right;
}

.g10-policy-table td:first-child {
    display: grid;
    gap: 2px;
}

.g10-policy-table td:first-child strong {
    color: #67e8f9;
    font-size: 15px;
    font-weight: 700;
}

.g10-policy-table td:first-child span {
    color: #8ca3b5;
    font-size: 12px;
}

.g10-policy-table a {
    color: #7dd3fc;
    text-decoration: none;
}

.g10-policy-currency-link {
    width: fit-content;
}

.g10-policy-currency-link:hover,
.g10-policy-currency-link:focus-visible {
    color: #bae6fd;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.g10-policy-table tr.is-selected td {
    background: rgba(34, 211, 238, .09);
}

.g10-policy-table tr.is-selected td:first-child,
.rates-comparison-table tr.is-selected td:first-child {
    box-shadow: inset 3px 0 0 #38bdf8;
}

.g10-policy-number,
.rates-transmission-number,
.g10-policy-observation,
.rates-transmission-observation {
    font-variant-numeric: tabular-nums;
}

.g10-policy-number,
.rates-transmission-number {
    font-weight: 600;
    white-space: nowrap;
}

.g10-policy-direction {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 3px 8px;
    border: 1px solid currentColor;
    border-radius: 999px;
    background: rgba(8, 24, 33, .76);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.g10-policy-reference-cell a {
    display: inline-flex;
    padding-bottom: 2px;
    border-bottom: 1px solid rgba(125, 211, 252, .34);
    line-height: 1.35;
}

.g10-policy-observation,
.rates-transmission-observation {
    color: #91a4b5;
    white-space: nowrap;
}

.rates-institutional-table .rate-move-positive {
    color: #f8c66a;
}

.rates-institutional-table .rate-move-negative {
    color: #6ee7b7;
}

.rates-institutional-table .rate-move-flat,
.rates-institutional-table .rate-move-unavailable {
    color: #9fb0bd;
}

.rates-comparison-table th:nth-child(2),
.rates-comparison-table th:nth-child(3),
.rates-comparison-table th:nth-child(4),
.rates-comparison-table td:nth-child(2),
.rates-comparison-table td:nth-child(3),
.rates-comparison-table td:nth-child(4),
.rates-comparison-table th:last-child,
.rates-comparison-table td:last-child {
    text-align: right;
}

.rates-comparison-table td {
    color: #d9e4ea;
    font-size: 14px;
    font-weight: 500;
}

.rates-comparison-table td:first-child strong {
    color: #67e8f9;
    font-size: 14px;
    font-weight: 700;
}

.rates-transmission-read {
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 3px 9px;
    border: 1px solid rgba(125, 211, 252, .42);
    border-radius: 999px;
    color: #c6eaff;
    background: rgba(14, 116, 144, .12);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.g10-policy-boundary {
    margin-top: 14px;
    padding: 12px 14px;
    color: #a9bac8;
    font-size: 13px;
    line-height: 1.55;
    background: #081821;
    border-left: 3px solid #38bdf8;
}

.rates-us-workspace-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 20px;
}

.rates-us-workspace-intro h2 {
    margin: 4px 0 7px;
}

.rates-us-workspace-intro p {
    max-width: 820px;
    margin: 0;
    color: #a9bac8;
    font-size: 14px;
    line-height: 1.55;
}

@media (max-width: 920px) {
    .policy-expectations-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .policy-expectations-source-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .currency-policy-pricing-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .policy-expectations-workspace-link {
        justify-self: start;
    }
}

@media (max-width: 680px) {
    .policy-expectations-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .currency-policy-path-stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .rates-us-workspace-intro {
        flex-direction: column;
    }
}

/* External pair factor evidence stays inside its table/card boundary. */
.research-pair-page .external-pair-factor-summary {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
}

.research-pair-page .external-pair-factor-summary th,
.research-pair-page .external-pair-factor-summary td {
    min-width: 0;
    white-space: normal;
    overflow-wrap: break-word;
}

.research-pair-page .external-pair-factor-summary th:first-child {
    width: 31%;
}

.research-pair-page .external-pair-factor-summary th:nth-child(2),
.research-pair-page .external-pair-factor-summary th:nth-child(3) {
    width: 20%;
}

.research-pair-page .external-pair-factor-summary th:last-child {
    width: 29%;
}

.research-pair-page .external-pair-factor-evidence-row > td {
    width: auto;
    max-width: none;
}

.research-pair-page .external-factor-evidence {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
}

.research-pair-page .external-factor-evidence > summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem .4rem;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: break-word;
}

.research-pair-page .external-factor-evidence-grid,
.research-pair-page .external-factor-evidence-grid section {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.research-pair-page .external-factor-evidence-grid section {
    overflow: hidden;
}

.research-pair-page .external-factor-observation-table {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    table-layout: fixed;
}

.research-pair-page .external-factor-observation-table th,
.research-pair-page .external-factor-observation-table td {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}

.research-pair-page .external-factor-observation-table th:first-child {
    width: 48%;
}

.research-pair-page .external-factor-observation-table th:nth-child(2) {
    width: 22%;
}

.research-pair-page .external-factor-observation-table th:last-child {
    width: 30%;
}

/* Owner and External currency factors share one responsive card rhythm. */
.currency-research-terminal .currency-factor-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

/* Compact terminal-style summary shared by Owner and External Client research. */
.institutional-factor-summary {
    margin-top: 14px;
    border: 1px solid #334155;
    border-top: 2px solid #38BDF8;
    border-radius: 8px;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, .96), rgba(8, 15, 28, .94));
}

.institutional-factor-summary-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 10px;
    border-bottom: 1px solid #334155;
}

.institutional-factor-summary-header > span {
    color: #7DD3FC;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.institutional-factor-summary-header > strong {
    color: #FBBF24;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.institutional-factor-monitor-tone {
    flex: 0 0 auto;
    padding: 5px 9px;
    border: 1px solid currentColor;
    border-radius: 4px;
    font-size: 12px;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.institutional-factor-monitor-tone-positive {
    color: #4ADE80;
}

.institutional-factor-monitor-tone-neutral {
    color: #FBBF24;
}

.institutional-factor-monitor-tone-caution {
    color: #F87171;
}

.institutional-factor-summary-table {
    width: 100%;
    min-width: 1120px;
    border-collapse: collapse;
    table-layout: fixed;
    font-variant-numeric: tabular-nums;
}

.institutional-factor-summary-table td {
    width: 14.285%;
    padding: 9px 10px;
    border-right: 1px solid #334155;
    border-top: 1px solid #26384B;
    text-align: left;
    vertical-align: middle;
}

.institutional-factor-summary-table td:last-child {
    border-right: 0;
}

.institutional-factor-summary-cell {
    padding: 0 !important;
    border-bottom: 2px solid #94A3B8;
    background: rgba(15, 23, 42, .74);
}

.institutional-factor-summary-link {
    display: block;
    min-height: 100%;
    padding: 9px 10px;
    color: inherit;
    text-decoration: none;
    transition: background-color .16s ease, box-shadow .16s ease;
}

.institutional-factor-summary-link:hover,
.institutional-factor-summary-link:focus-visible {
    background: rgba(56, 189, 248, .11);
    box-shadow: inset 0 0 0 1px rgba(125, 211, 252, .42);
    outline: none;
}

.institutional-factor-summary-link > span {
    display: block;
    color: #94A3B8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.institutional-factor-summary-cell-positive {
    border-bottom-color: #4ADE80;
}

.institutional-factor-summary-cell-neutral {
    border-bottom-color: #FBBF24;
}

.institutional-factor-summary-cell-caution {
    border-bottom-color: #F87171;
}

.institutional-factor-summary-cell-unavailable {
    border-bottom-color: #94A3B8;
}

.institutional-factor-summary-table strong,
.institutional-factor-summary-table small {
    display: block;
}

.institutional-factor-summary-table strong {
    margin-top: 4px;
    color: #F8FAFC;
    font-size: 15px;
    line-height: 1.35;
}

.institutional-factor-summary-table small {
    margin-top: 3px;
    color: #94A3B8;
    font-size: 12px;
    line-height: 1.35;
    text-transform: uppercase;
}

.institutional-factor-summary-empty {
    background: rgba(15, 23, 42, .32);
}

.factor-evidence-target {
    scroll-margin-top: 18px;
}

.currency-factor-presentation-card.factor-evidence-target:target,
.external-pair-factor-card.factor-evidence-target:target {
    border-color: rgba(56, 189, 248, .82);
    box-shadow: 0 0 0 2px rgba(56, 189, 248, .16);
}

tr.factor-evidence-target:target > td {
    background: rgba(56, 189, 248, .1);
    box-shadow: inset 0 1px rgba(56, 189, 248, .38),
        inset 0 -1px rgba(56, 189, 248, .38);
}

.currency-research-terminal .currency-factor-presentation-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 11px;
    padding: 15px;
    overflow: hidden;
    border: 1px solid #334155;
    border-radius: 10px;
    background: rgba(11, 18, 32, .88);
}

.currency-research-terminal .currency-factor-card-heading {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.currency-research-terminal .currency-factor-card-heading > strong,
.currency-research-terminal .currency-factor-card-heading > div > strong {
    min-width: 0;
    color: #E2E8F0;
    font-size: 15px;
    line-height: 1.4;
}

.currency-research-terminal .currency-factor-card-heading .data-status {
    flex: 0 0 auto;
}

.currency-owner-factor-heading > div {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.currency-owner-factor-metrics,
.currency-owner-factor-reconciliation-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.currency-owner-factor-metrics > div,
.currency-owner-factor-reconciliation-metrics > div {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 3px;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 7px;
    background: rgba(15, 23, 42, .54);
}

.currency-owner-factor-metrics span,
.currency-owner-factor-reconciliation-metrics span {
    color: #94A3B8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1.4;
    text-transform: uppercase;
}

.currency-owner-factor-metrics strong,
.currency-owner-factor-reconciliation-metrics strong {
    color: #F8FAFC;
    font-size: 19px;
    line-height: 1.35;
}

.currency-owner-factor-metrics small {
    color: #94A3B8;
    font-size: 13px;
    line-height: 1.45;
}

.currency-owner-factor-audit-link {
    align-self: flex-start;
    margin-top: auto;
}

.currency-owner-factor-reconciliation {
    display: grid;
    grid-column: 1 / -1;
    gap: 11px;
    min-width: 0;
    padding: 15px;
    border: 1px solid #334155;
    border-top: 2px solid #38BDF8;
    border-radius: 10px;
    background: rgba(8, 21, 31, .94);
}

.currency-owner-factor-reconciliation-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.currency-owner-factor-reconciliation-heading > div {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.currency-owner-factor-reconciliation-heading strong {
    color: #F8FAFC;
    font-size: 18px;
    line-height: 1.4;
}

.currency-research-terminal .currency-factor-presentation-card > .metric-detail {
    margin: 0;
}

.currency-research-terminal .currency-factor-presentation-card .external-factor-evidence {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-top: auto;
    overflow: hidden;
}

.currency-research-terminal .currency-factor-presentation-card .external-factor-evidence-grid,
.currency-research-terminal .currency-factor-presentation-card .external-factor-evidence-grid section {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.currency-research-terminal .currency-factor-presentation-card .external-factor-evidence-grid section {
    overflow: hidden;
}

.currency-research-terminal .currency-factor-presentation-card .external-factor-observation-table {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    table-layout: fixed;
}

.currency-research-terminal .currency-factor-presentation-card .external-factor-observation-table th,
.currency-research-terminal .currency-factor-presentation-card .external-factor-observation-table td {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}

.currency-research-terminal .currency-factor-presentation-card .external-factor-observation-table th:first-child {
    width: 48%;
}

.currency-research-terminal .currency-factor-presentation-card .external-factor-observation-table th:nth-child(2) {
    width: 22%;
}

.currency-research-terminal .currency-factor-presentation-card .external-factor-observation-table th:last-child {
    width: 30%;
}

/* Institutional reads interpret canonical scores after Brain calculation. */
.institutional-factor-read {
    min-width: 0;
    margin-top: 9px;
    padding: 10px 11px;
    border: 1px solid rgba(148, 163, 184, .24);
    border-left-width: 3px;
    border-radius: 7px;
    background: rgba(15, 23, 42, .58);
}

.institutional-factor-read-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.institutional-factor-read-heading > span {
    color: #94A3B8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.institutional-factor-read-heading > strong {
    padding: 3px 7px;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1.35;
    text-align: center;
    text-transform: uppercase;
}

.institutional-factor-condition {
    margin-top: 7px;
    color: #F8FAFC;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
}

.institutional-factor-read > p {
    margin: 5px 0 0;
    color: #CBD5E1;
    font-size: 16px;
    line-height: 1.65;
}

.institutional-factor-read-positive {
    border-left-color: #4ADE80;
    background: rgba(20, 83, 45, .16);
}

.institutional-factor-read-positive .institutional-factor-read-heading > strong {
    color: #4ADE80;
}

.institutional-factor-read-neutral {
    border-left-color: #FBBF24;
    background: rgba(120, 53, 15, .14);
}

.institutional-factor-read-neutral .institutional-factor-read-heading > strong {
    color: #FBBF24;
}

.institutional-factor-read-caution {
    border-left-color: #F87171;
    background: rgba(127, 29, 29, .14);
}

.institutional-factor-read-caution .institutional-factor-read-heading > strong {
    color: #F87171;
}

.institutional-factor-read-unavailable {
    border-left-color: #94A3B8;
}

.institutional-factor-read-unavailable .institutional-factor-read-heading > strong {
    color: #94A3B8;
}

/* Owner and External pair/asset factors share one responsive card rhythm. */
.research-pair-page .pair-factor-card-grid,
.research-pair-page .external-pair-factor-grid,
.asset-research-page .asset-factor-card-grid,
.asset-research-page .external-asset-factor-grid,
.external-research-confirmation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.research-pair-page .pair-factor-presentation-card,
.research-pair-page .external-pair-factor-card,
.asset-research-page .asset-factor-presentation-card,
.asset-research-page .external-asset-factor-card,
.external-research-confirmation-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 11px;
    padding: 15px;
    overflow: hidden;
    border: 1px solid #334155;
    border-radius: 10px;
    background: rgba(11, 18, 32, .88);
}

.research-pair-page .pair-factor-card-heading,
.research-pair-page .external-pair-factor-heading,
.asset-research-page .asset-factor-card-heading,
.asset-research-page .external-asset-factor-heading,
.external-research-confirmation-heading {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.research-pair-page .pair-factor-card-heading > strong,
.research-pair-page .pair-factor-card-heading > div > strong,
.research-pair-page .external-pair-factor-heading > strong,
.asset-research-page .asset-factor-card-heading > strong,
.asset-research-page .external-asset-factor-heading > strong,
.external-research-confirmation-heading > strong {
    min-width: 0;
    color: #E2E8F0;
    font-size: 15px;
    line-height: 1.4;
}

.research-pair-page .external-pair-factor-heading .data-status,
.asset-research-page .asset-factor-card-heading .research-state,
.asset-research-page .external-asset-factor-heading .research-state,
.external-research-confirmation-heading .research-state {
    flex: 0 0 auto;
}

.asset-factor-card-grid > .asset-factor-presentation-card:last-of-type:nth-child(odd) {
    grid-column: 1 / -1;
}

.asset-owner-factor-metrics,
.asset-owner-factor-reconciliation-metrics {
    display: grid;
    gap: 8px;
}

.asset-owner-factor-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.asset-owner-factor-reconciliation-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.asset-owner-factor-metrics > div,
.asset-owner-factor-reconciliation-metrics > div {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 3px;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 7px;
    background: rgba(15, 23, 42, .54);
}

.asset-owner-factor-metrics span,
.asset-owner-factor-reconciliation-metrics span {
    color: #94A3B8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1.4;
    text-transform: uppercase;
}

.asset-owner-factor-metrics strong,
.asset-owner-factor-reconciliation-metrics strong {
    color: #F8FAFC;
    font-size: 19px;
    line-height: 1.35;
}

.asset-owner-factor-audit-link {
    align-self: flex-start;
    margin-top: auto;
}

.asset-owner-factor-reconciliation {
    display: grid;
    grid-column: 1 / -1;
    gap: 11px;
    min-width: 0;
    padding: 15px;
    border: 1px solid #334155;
    border-top: 2px solid #38BDF8;
    border-radius: 10px;
    background: rgba(8, 21, 31, .94);
}

.asset-owner-factor-reconciliation-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.asset-owner-factor-reconciliation-heading > div {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.asset-owner-factor-reconciliation-heading strong {
    color: #F8FAFC;
    font-size: 18px;
    line-height: 1.4;
}

.pair-factor-stack-heading {
    margin-top: 22px;
}

.pair-owner-factor-card .pair-factor-card-heading > div {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.pair-owner-factor-metrics,
.pair-owner-factor-reconciliation-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.pair-owner-factor-metrics > div,
.pair-owner-factor-reconciliation-metrics > div {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 3px;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 7px;
    background: rgba(15, 23, 42, .54);
}

.pair-owner-factor-metrics span,
.pair-owner-factor-reconciliation-metrics span {
    color: #94A3B8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1.4;
    text-transform: uppercase;
}

.pair-owner-factor-metrics strong,
.pair-owner-factor-reconciliation-metrics strong {
    color: #F8FAFC;
    font-size: 19px;
    line-height: 1.35;
}

.pair-owner-factor-macro-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: auto;
}

.pair-compact-evidence {
    position: relative;
    z-index: 1;
    overflow: visible;
    border: 1px solid rgba(71, 85, 105, .72);
    border-radius: 7px;
    background: rgba(3, 10, 19, .62);
}

.pair-compact-evidence[open],
.pair-compact-evidence:focus-within {
    z-index: 12;
}

.pair-compact-evidence > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    color: #CBD5E1;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    line-height: 1.35;
    text-transform: uppercase;
}

.pair-compact-evidence > summary strong {
    color: #7DD3FC;
    font-size: 12px;
    font-weight: 800;
}

.pair-evidence-terminal {
    padding: 0 8px 8px;
    font-variant-numeric: tabular-nums;
}

.pair-evidence-header,
.pair-evidence-row {
    display: grid;
    grid-template-columns: minmax(170px, 1.5fr) repeat(2, minmax(94px, .75fr));
    align-items: stretch;
}

.pair-evidence-terminal.is-shared .pair-evidence-header,
.pair-evidence-terminal.is-shared .pair-evidence-row {
    grid-template-columns: minmax(170px, 1.5fr) minmax(120px, 1fr);
}

.pair-evidence-header {
    border-top: 1px solid rgba(71, 85, 105, .68);
    border-bottom: 1px solid rgba(71, 85, 105, .68);
    background: rgba(15, 23, 42, .78);
}

.pair-evidence-header span {
    padding: 6px 8px;
    color: #7DD3FC;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.35;
    text-transform: uppercase;
}

.pair-evidence-header span:not(:first-child) {
    text-align: right;
}

.pair-evidence-row {
    position: relative;
    border-bottom: 1px solid rgba(51, 65, 85, .62);
}

.pair-evidence-row:last-child {
    border-bottom: 0;
}

.pair-evidence-subfactor,
.pair-evidence-observation {
    min-width: 0;
    padding: 7px 8px;
    font-size: 13px;
    line-height: 1.35;
}

.pair-evidence-subfactor {
    color: #CBD5E1;
    font-weight: 700;
}

.pair-evidence-observation {
    position: relative;
    color: #F8FAFC;
    text-align: right;
    cursor: help;
    outline: none;
}

.pair-evidence-observation::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #38BDF8;
    transform: translateY(-50%);
}

.pair-evidence-observation.is-unavailable {
    color: #64748B;
}

.pair-evidence-observation.is-unavailable::before {
    background: #64748B;
}

.pair-evidence-hovercard {
    position: absolute;
    right: 4px;
    bottom: calc(100% - 2px);
    z-index: 30;
    display: grid;
    min-width: 150px;
    gap: 4px;
    padding: 8px 10px;
    border: 1px solid #475569;
    border-top: 2px solid #38BDF8;
    border-radius: 6px;
    opacity: 0;
    visibility: hidden;
    color: #CBD5E1;
    background: #07111D;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .42);
    text-align: left;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity .12s ease, transform .12s ease;
}

.pair-evidence-hovercard > span {
    color: #94A3B8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.pair-evidence-hovercard > strong,
.pair-evidence-hovercard > a {
    font-size: 13px;
    line-height: 1.35;
}

.pair-evidence-hovercard > a {
    color: #7DD3FC;
    font-weight: 800;
    text-decoration: none;
}

.pair-evidence-hovercard > a:hover,
.pair-evidence-hovercard > a:focus-visible {
    color: #BAE6FD;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.pair-evidence-observation:hover .pair-evidence-hovercard,
.pair-evidence-observation:focus .pair-evidence-hovercard,
.pair-evidence-observation:focus-within .pair-evidence-hovercard {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.research-pair-page .pair-factor-presentation-card:has(.pair-compact-evidence[open]),
.research-pair-page .external-pair-factor-card:has(.pair-compact-evidence[open]),
.asset-research-page .asset-factor-presentation-card:has(.asset-compact-evidence[open]) {
    position: relative;
    z-index: 10;
    overflow: visible;
}

.pair-owner-factor-reconciliation {
    display: grid;
    grid-column: 1 / -1;
    gap: 11px;
    min-width: 0;
    padding: 15px;
    border: 1px solid #334155;
    border-top: 2px solid #38BDF8;
    border-radius: 10px;
    background: rgba(8, 21, 31, .94);
}

.pair-owner-factor-reconciliation-heading {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.pair-owner-factor-reconciliation-heading > div {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.pair-owner-factor-reconciliation-heading strong {
    color: #F8FAFC;
    font-size: 18px;
    line-height: 1.4;
}

.pair-owner-factor-reconciliation .research-total-checks {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.research-pair-page .external-pair-factor-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.research-pair-page .external-pair-factor-comparison > div {
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 7px;
    background: rgba(15, 23, 42, .54);
}

.research-pair-page .external-pair-factor-comparison span,
.external-research-confirmation-signal > span {
    display: block;
    margin-bottom: 4px;
    color: #94A3B8;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.research-pair-page .external-pair-factor-comparison strong {
    color: #E2E8F0;
    font-size: 15px;
}

.external-research-confirmation-signal {
    min-width: 0;
    padding: 9px 10px;
    border-left: 2px solid rgba(96, 165, 250, .56);
    background: rgba(15, 23, 42, .42);
}

.external-research-confirmation-signal > strong {
    color: #E2E8F0;
    font-size: 15px;
    line-height: 1.45;
}

.external-research-confirmation-signal > small {
    margin-left: 7px;
    color: #94A3B8;
}

.external-research-confirmation-analysis {
    margin: 0;
}

.research-pair-page .external-pair-factor-card > .metric-detail,
.asset-research-page .external-asset-factor-card > .metric-detail {
    margin: 0;
}

.research-pair-page .external-pair-factor-card .external-factor-evidence,
.asset-research-page .external-asset-factor-card .external-factor-evidence {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-top: auto;
    overflow: hidden;
}

.research-pair-page .external-pair-factor-card .external-factor-evidence-grid,
.asset-research-page .external-asset-factor-card .external-factor-evidence-grid,
.research-pair-page .external-pair-factor-card .external-factor-evidence-grid section,
.asset-research-page .external-asset-factor-card .external-factor-evidence-grid section {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.research-pair-page .external-pair-factor-card .external-factor-evidence-grid {
    grid-template-columns: minmax(0, 1fr);
}

.research-pair-page .external-pair-factor-card .external-factor-evidence-grid section,
.asset-research-page .external-asset-factor-card .external-factor-evidence-grid section {
    overflow: hidden;
}

.research-pair-page .external-pair-factor-card .external-factor-observation-table,
.asset-research-page .external-asset-factor-card .external-factor-observation-table {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    table-layout: fixed;
}

.research-pair-page .external-pair-factor-card .external-factor-observation-table th,
.research-pair-page .external-pair-factor-card .external-factor-observation-table td,
.asset-research-page .external-asset-factor-card .external-factor-observation-table th,
.asset-research-page .external-asset-factor-card .external-factor-observation-table td {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}

.research-pair-page .external-pair-factor-card .external-factor-observation-table th:first-child,
.asset-research-page .external-asset-factor-card .external-factor-observation-table th:first-child {
    width: 48%;
}

.research-pair-page .external-pair-factor-card .external-factor-observation-table th:nth-child(2),
.asset-research-page .external-asset-factor-card .external-factor-observation-table th:nth-child(2) {
    width: 22%;
}

.research-pair-page .external-pair-factor-card .external-factor-observation-table th:last-child,
.asset-research-page .external-asset-factor-card .external-factor-observation-table th:last-child {
    width: 30%;
}

@media (max-width: 760px),
(max-width: 920px) and (orientation: landscape) and (pointer: coarse) {
    .currency-research-terminal .currency-factor-card-grid,
    .research-pair-page .pair-factor-card-grid,
    .research-pair-page .external-pair-factor-grid,
    .asset-research-page .asset-factor-card-grid,
    .asset-research-page .external-asset-factor-grid,
    .external-research-confirmation-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .currency-research-terminal .currency-factor-presentation-card,
    .research-pair-page .pair-factor-presentation-card,
    .research-pair-page .external-pair-factor-card,
    .asset-research-page .asset-factor-presentation-card,
    .asset-research-page .external-asset-factor-card,
    .external-research-confirmation-card {
        padding: 12px;
    }

    .pair-owner-factor-metrics,
    .pair-owner-factor-reconciliation-metrics,
    .asset-owner-factor-reconciliation-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pair-evidence-header,
    .pair-evidence-row {
        grid-template-columns: minmax(132px, 1.3fr) repeat(2, minmax(82px, .85fr));
    }

    .pair-evidence-subfactor,
    .pair-evidence-observation {
        padding: 7px 6px;
        font-size: 12px;
    }

    .research-pair-page .external-pair-factor-evidence-row > td,
    .research-pair-page .external-factor-evidence-row > td {
        padding: 0 6px 10px;
    }

    .research-pair-page .external-factor-evidence > summary {
        padding: 10px;
        font-size: 12px;
        line-height: 1.4;
    }

    .research-pair-page .external-factor-evidence-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        padding: 0 8px 10px;
    }

    .research-pair-page .external-pair-factor-summary th,
    .research-pair-page .external-pair-factor-summary td {
        padding: 8px 5px;
        font-size: 12px;
        line-height: 1.4;
    }

    .research-pair-page .external-factor-observation-table th,
    .research-pair-page .external-factor-observation-table td {
        padding: 7px 5px;
        font-size: 12px;
        line-height: 1.35;
    }
}

@media (max-width: 520px) {
    .institutional-factor-summary-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .currency-owner-factor-metrics,
    .currency-owner-factor-reconciliation-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .currency-owner-factor-reconciliation-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* External Research: safe EXO outlook and compact currency/pair context. */
.external-exo-outlook {
    min-width: 0;
    border-top: 2px solid #38bdf8;
    background:
        radial-gradient(circle at 92% 4%, rgba(56, 189, 248, .1), transparent 30%),
        #111d2a;
}

.external-exo-heading {
    align-items: flex-start;
}

.external-exo-heading p {
    max-width: 760px;
    margin: .45rem 0 0;
    color: #9bb0c0;
    font-size: 15px;
    line-height: 1.55;
}

.external-exo-overview,
.external-exo-impact-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
}

.external-exo-overview > div,
.external-exo-impact-grid > div {
    display: grid;
    gap: .3rem;
    min-width: 0;
    padding: .85rem;
    border: 1px solid #29475c;
    border-radius: 7px;
    background: #091826;
}

.external-exo-overview span,
.external-exo-impact-grid span {
    color: #7d9bb0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.external-exo-overview strong,
.external-exo-impact-grid strong {
    color: #eef7fb;
    font-size: 16px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.external-exo-family-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
    margin-top: .85rem;
}

.external-exo-family {
    min-width: 0;
    border: 1px solid #29475c;
    border-radius: 8px;
    background: #091826;
}

.external-exo-family:target {
    border-color: #38BDF8;
    box-shadow: 0 0 0 2px rgb(56 189 248 / 18%);
}

.external-exo-family summary {
    display: flex;
    gap: .8rem;
    padding: .9rem;
    align-items: flex-start;
    justify-content: space-between;
    cursor: pointer;
    list-style: none;
}

.external-exo-family summary::-webkit-details-marker {
    display: none;
}

.external-exo-family summary > span:first-child {
    display: grid;
    gap: .3rem;
    min-width: 0;
}

.external-exo-family summary strong {
    color: #f0f7fb;
    font-size: 15px;
    line-height: 1.35;
}

.external-exo-family summary small {
    color: #91aabd;
    font-size: 13px;
    line-height: 1.45;
}

.external-exo-family-evidence {
    max-width: 100%;
    padding: 0 .9rem .9rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
}

.external-exo-family-evidence .external-factor-observation-table {
    min-width: 580px;
}

.external-exo-boundary {
    margin: .9rem 0 0;
    color: #7d9bb0;
    font-size: 13px;
    line-height: 1.5;
}

.external-exo-impact-card {
    min-width: 0;
    border-top: 2px solid #38bdf8;
}

.external-exo-impact-card .external-exo-impact-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: .85rem;
}

.external-exo-impact-card .external-exo-pair-impact-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.external-exo-impact-card > p {
    margin: .85rem 0 0;
    color: #aec0cd;
    font-size: 15px;
    line-height: 1.55;
}

@media (max-width: 900px) {
    .external-exo-overview,
    .external-exo-impact-card .external-exo-impact-grid,
    .external-exo-impact-card .external-exo-pair-impact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .external-exo-family-grid,
    .external-exo-overview,
    .external-exo-impact-card .external-exo-impact-grid,
    .external-exo-impact-card .external-exo-pair-impact-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .external-exo-family summary {
        align-items: flex-start;
        flex-direction: column;
    }
}

.alliance-payment-file-note {
    display: block;
    margin-top: -.35rem;
    color: #7898af;
    line-height: 1.45;
}

.alliance-admin-correction {
    display: grid;
    gap: .55rem;
    width: min(100%, 520px);
}

.alliance-admin-correction label {
    display: grid;
    gap: .35rem;
}

.alliance-admin-correction textarea {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    padding: .7rem;
    border: 1px solid #31546a;
    border-radius: 8px;
    background: #081724;
    color: #e5eef5;
    resize: vertical;
}

.alliance-admin-correction .alliance-admin-correction-confirm {
    display: flex;
    align-items: flex-start;
    grid-template-columns: none;
    gap: .55rem;
    color: #a9bfce;
    font-size: .8rem;
    line-height: 1.4;
}

.alliance-admin-correction-confirm input {
    margin-top: .18rem;
}

.client-outlook-workspace {
    min-width: 0;
}

.client-dashboard-grid,
.client-dashboard-grid > *,
.client-dashboard-grid .dashboard-card {
    min-width: 0;
}

.client-market-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    background: linear-gradient(135deg, #0d2538, #0a1724 72%);
}

.client-market-hero h1 {
    margin: .2rem 0 .55rem;
    color: #fff;
}

.client-market-hero p {
    max-width: 800px;
    margin: 0;
    color: #a9bfce;
    line-height: 1.55;
}

.client-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1rem;
}

.client-overview-grid > div {
    display: grid;
    gap: .3rem;
    padding: 1rem;
    border: 1px solid #24445b;
    border-radius: 10px;
    background: #0a1a28;
}

.client-overview-grid span,
.client-asset-row span {
    color: #7898af;
    font-size: .76rem;
    letter-spacing: .04em;
}

.client-overview-grid strong {
    color: #f3f8fb;
    font-size: 1.05rem;
}

.client-table-scroll {
    width: 100%;
    max-width: 100%;
    margin-top: 1rem;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
}

.client-outlook-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
}

.client-pair-table {
    min-width: 1040px;
}

.client-outlook-table th,
.client-outlook-table td {
    padding: .75rem .8rem;
    border-bottom: 1px solid #1d3a51;
    color: #c5d4df;
    text-align: left;
    vertical-align: top;
}

.client-outlook-table thead th {
    color: #7898af;
    font-size: .74rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.client-outlook-table tbody th {
    color: #f0f7fb;
    white-space: nowrap;
}

.client-outlook-table th span,
.client-outlook-table td small {
    display: block;
    margin-top: .2rem;
    color: #7898af;
    font-weight: 400;
}

.client-outlook-pill {
    display: inline-flex;
    padding: .28rem .55rem;
    border-radius: 999px;
    background: rgba(78, 116, 142, .22);
    color: #c6d8e4;
    font-size: .76rem;
    font-weight: 700;
    white-space: nowrap;
}

.client-outlook-constructive,
.client-state-established {
    background: rgba(24, 145, 96, .2);
    color: #6ee7b7;
}

.client-outlook-cautious,
.client-state-limited {
    background: rgba(191, 58, 73, .18);
    color: #ff9aa7;
}

.client-outlook-balanced,
.client-state-developing {
    background: rgba(206, 143, 29, .2);
    color: #f4ca72;
}

.client-asset-grid {
    display: grid;
    gap: .75rem;
    margin-top: 1rem;
}

.client-asset-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem;
    border: 1px solid #1d3a51;
    border-radius: 9px;
    background: #0a1a28;
}

.client-asset-row > div {
    display: grid;
    gap: .2rem;
}

.client-asset-row > div:last-child {
    text-align: right;
}

.client-journal-create {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: end;
    padding: 1rem;
    border: 1px solid #24445b;
    border-radius: 10px;
    background: #0a1a28;
}

.role-external .sidebar-version {
    color: #58d6ff;
}

@media (max-width: 920px) {
    .client-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .client-journal-create {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 680px) {
    .client-market-hero {
        flex-direction: column;
    }

    .client-overview-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .client-outlook-workspace,
    .client-dashboard-grid,
    .client-dashboard-grid > * {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}

/* Final hero declarations must follow the workspace-specific background resets. */
.workspace-content-macro .macro-terminal-hero {
    background:
        linear-gradient(90deg,
            rgba(7, 14, 25, .96) 0%,
            rgba(8, 20, 36, .82) 46%,
            rgba(8, 20, 36, .44) 100%),
        url("/images/workspaces/global-macro-evidence.png")
            center / cover no-repeat;
}

.brain-workspace .brain-hero {
    background:
        linear-gradient(90deg,
            rgba(7, 14, 25, .96) 0%,
            rgba(8, 20, 36, .82) 46%,
            rgba(8, 20, 36, .44) 100%),
        url("/images/workspaces/brain-model-validation.png")
            center / cover no-repeat;
}

/* Brain 2 final visual and typography alignment. Reuses the approved Brain 1
   image system and the platform's 13px label / 14px body / 15px data scale. */
.brain2-workspace {
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 14px;
}

.brain2-workspace .brain2-hero {
    min-height: 132px;
    border-top: 3px solid #38bdf8;
    background:
        linear-gradient(90deg,
            rgba(7, 14, 25, .96) 0%,
            rgba(8, 20, 36, .82) 46%,
            rgba(8, 20, 36, .44) 100%),
        url("/images/workspaces/brain-model-validation.png")
            center / cover no-repeat;
}

.brain2-visual-heading,
.brain2-methodology-visual {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(56, 189, 248, .24);
    border-left: 3px solid #38bdf8;
    border-radius: 4px;
    padding: 14px 16px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.brain2-visual-heading > *,
.brain2-methodology-visual > * {
    position: relative;
    z-index: 1;
}

.brain2-visual-heading.is-portfolio {
    background-image:
        linear-gradient(90deg,
            rgba(6, 19, 31, .97),
            rgba(7, 25, 40, .85) 54%,
            rgba(7, 25, 40, .58)),
        url("/images/workspaces/portfolio-institutional-performance.png");
}

.brain2-visual-heading.is-alignment,
.brain2-visual-heading.is-matrix {
    background-image:
        linear-gradient(90deg,
            rgba(6, 19, 31, .97),
            rgba(7, 25, 40, .85) 54%,
            rgba(7, 25, 40, .58)),
        url("/images/research/assets/g10-pair-matrix.png");
}

.brain2-visual-heading.is-exo {
    background-image:
        linear-gradient(90deg,
            rgba(6, 19, 31, .97),
            rgba(7, 25, 40, .85) 54%,
            rgba(7, 25, 40, .58)),
        url("/images/workspaces/global-macro-evidence.png");
}

.brain2-visual-heading.is-endo,
.brain2-visual-heading.is-scorecards,
.brain2-visual-heading.is-calibration,
.brain2-methodology-visual {
    background-image:
        linear-gradient(90deg,
            rgba(6, 19, 31, .97),
            rgba(7, 25, 40, .85) 54%,
            rgba(7, 25, 40, .58)),
        url("/images/workspaces/brain-model-validation.png");
}

.brain2-methodology-visual {
    display: grid;
    gap: 8px;
}

.brain2-visual-subheading {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-left: 3px solid rgba(56, 189, 248, .8);
    border-radius: 3px;
    padding: 12px 14px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.brain2-visual-subheading > * {
    position: relative;
    z-index: 1;
}

.brain2-visual-subheading.is-shortlist,
.brain2-visual-subheading.is-consensus {
    background-image:
        linear-gradient(90deg,
            rgba(5, 17, 28, .97),
            rgba(7, 27, 43, .88) 58%,
            rgba(7, 27, 43, .64)),
        url("/images/research/assets/g10-pair-matrix.png");
}

.brain2-visual-subheading.is-avoid {
    background-image:
        linear-gradient(90deg,
            rgba(5, 17, 28, .97),
            rgba(7, 27, 43, .88) 58%,
            rgba(7, 27, 43, .64)),
        url("/images/workspaces/global-risk-transmission.png");
}

.brain2-alignment-record {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.brain2-pair-flag-backdrop {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    left: 0;
    display: flex;
    height: 4.4rem;
    opacity: .27;
    pointer-events: none;
}

.brain2-pair-flag-backdrop::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(90deg,
        rgba(5, 19, 31, .46),
        rgba(5, 19, 31, .68) 48%,
        rgba(5, 19, 31, .46));
}

.brain2-pair-flag-backdrop img {
    width: 50%;
    height: 100%;
    object-fit: fill;
    filter: saturate(.75) contrast(.94);
}

.brain2-alignment-core,
.brain2-confirmation-grid {
    position: relative;
    z-index: 1;
}

.brain2-alignment-core {
    min-height: 4.4rem;
}

.brain2-workspace .workspace-eyebrow,
.brain2-boundary-grid span,
.brain2-order,
.brain2-rule-status,
.brain2-portfolio-strip small,
.brain2-portfolio-section-title strong,
.brain2-calibration-strip small,
.brain2-calibration-gates small,
.brain2-calibration-horizons article > span,
.brain2-calibration-section-title strong,
.brain2-alignment-board-heading,
.brain2-confirmation-grid-heading,
.brain2-divergence-board-heading,
.brain2-factor-heading,
.brain2-rule-heading,
.brain2-strength-heading,
.brain2-composite-heading {
    font-size: 13px;
    line-height: 1.4;
}

.brain2-hero h1 {
    font-size: 26px;
    line-height: 1.25;
}

.brain2-hero h2,
.brain2-section-heading h2,
.brain2-methodology-intro h2,
.brain2-next-gate h2 {
    font-size: 20px;
    line-height: 1.3;
}

.brain2-scorecard h3 {
    font-size: 16px;
    line-height: 1.35;
}

.brain2-hero p,
.brain2-methodology-intro p,
.brain2-section-heading p,
.brain2-next-gate p,
.brain2-scorecard p,
.brain2-pending-note,
.brain2-coverage-gate,
.brain2-snapshot-line,
.brain2-alignment-title-row p,
.brain2-divergence-heading p,
.brain2-divergence-empty,
.brain2-portfolio-empty,
.brain2-confirmation-tooltip p {
    font-size: 14px;
    line-height: 1.55;
}

.brain2-status strong,
.brain2-boundary-grid strong,
.brain2-market-strip strong,
.brain2-alignment-strip strong,
.brain2-alignment-title-row strong,
.brain2-portfolio-strip strong,
.brain2-calibration-strip strong,
.brain2-calibration-gates strong,
.brain2-calibration-horizons article > strong,
.brain2-alignment-pair,
.brain2-model-reading strong,
.brain2-common-gap,
.brain2-divergence-model > b,
.brain2-divergence-gap,
.brain2-portfolio-table a,
.brain2-confirmation-tooltip-metrics strong,
.brain2-technical-detail-metrics strong {
    font-size: 15px;
    line-height: 1.4;
}

.brain2-status span,
.brain2-boundary-grid small,
.brain2-market-strip small,
.brain2-alignment-strip small,
.brain2-model-reading small,
.brain2-divergence-model > small,
.brain2-divergence-gap small,
.brain2-portfolio-section-title span,
.brain2-portfolio-table small,
.brain2-calibration-horizons small,
.brain2-calibration-section-title span,
.brain2-currency-card summary,
.brain2-factor-row small,
.brain2-rule-row,
.brain2-evidence-boundary,
.brain2-confirmation-tooltip header small,
.brain2-confirmation-tooltip-state,
.brain2-confirmation-tooltip-metrics small,
.brain2-technical-detail-metrics small {
    font-size: 13px;
    line-height: 1.45;
}

.brain2-strength-row,
.brain2-composite-row,
.brain2-factor-row,
.brain2-portfolio-table td,
.brain2-calibration-table th,
.brain2-calibration-table td,
.brain2-portfolio-light,
.brain2-alignment-rank,
.brain2-alignment-direction,
.brain2-confirmation-tile > strong,
.brain2-divergence-row {
    font-size: 14px;
    line-height: 1.45;
}

.brain2-confirmation-layer,
.brain2-confirmation-state,
.brain2-final-traffic,
.brain2-divergence-status,
.brain2-portfolio-closed summary,
.brain2-portfolio-reason,
.brain2-pending-baseline,
.brain2-confirmation-tooltip-evidence > small,
.brain2-confirmation-tooltip-breakdown > small,
.brain2-confirmation-tooltip-interpretation > small {
    font-size: 13px !important;
    line-height: 1.4;
}

.brain2-confirmation-layer {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}

.brain2-confirmation-tile {
    align-items: center;
    display: flex;
    gap: 7px;
    justify-content: center;
    min-height: 34px;
    padding: 5px 7px;
    text-align: center;
}

.brain2-confirmation-grid {
    gap: 5px;
    grid-template-columns: repeat(8, minmax(0, 1fr)) 15rem;
    padding-bottom: 7px;
    padding-top: 5px;
}

.brain2-alignment-board-heading,
.brain2-alignment-core {
    grid-template-columns:
        3.2rem minmax(7rem, .75fr) minmax(7rem, .8fr)
        minmax(9rem, 1fr) minmax(12rem, 1.45fr)
        7.5rem;
}

.brain2-alignment-board-heading > :nth-child(6),
.brain2-common-gap {
    justify-self: center;
    text-align: center;
}

.brain2-model-traffic-lights {
    border: 0;
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin: 0;
    padding: 0;
}

.brain2-confirmation-grid > .brain2-model-traffic-lights {
    align-self: center;
    grid-column: 9;
    grid-row: 2;
    justify-self: end;
}

.brain2-final-traffic {
    font-size: 0 !important;
    min-height: 27px;
    padding: 3px 7px;
}

.brain2-final-traffic::after {
    font-size: 13px;
}

.brain2-final-traffic:first-child::after {
    content: "BRAIN 1";
}

.brain2-final-traffic:last-child::after {
    content: "BRAIN 2";
}

/* Compatibility while an already-running server still holds the preceding
   Razor view: place its lights at the same far-right confirmation position. */
.brain2-confirmation-grid-heading .brain2-model-traffic-lights {
    position: absolute;
    z-index: 4;
    right: 12px;
    bottom: 7px;
}

.brain2-confirmation-tile > i {
    display: none;
}

.brain2-confirmation-tile::before {
    background: currentColor;
    border-radius: 2px;
    box-shadow: 0 0 5px currentColor;
    content: "";
    display: block;
    flex: 0 0 7px;
    height: 7px;
    width: 7px;
}

.brain2-confirmation-layer {
    color: #f3f6f8;
    display: block;
    font-size: 0 !important;
    min-width: 0;
    overflow: hidden;
    font-weight: 800;
    letter-spacing: .035em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.brain2-confirmation-layer::after {
    font-size: 13px;
}

.brain2-confirmation-tile[data-layer="Valuation / Flows"]
    .brain2-confirmation-layer::after {
    content: "VAL / FLOWS";
}

.brain2-confirmation-tile[data-layer="Momentum"]
    .brain2-confirmation-layer::after {
    content: "MOMENTUM";
}

.brain2-confirmation-tile[data-layer="COT Positioning"]
    .brain2-confirmation-layer::after {
    content: "COT";
}

.brain2-confirmation-tile[data-layer="Carry"]
    .brain2-confirmation-layer::after {
    content: "CARRY";
}

.brain2-confirmation-tile[data-layer="Volatility / Trend"]
    .brain2-confirmation-layer::after {
    content: "VOL / TREND";
}

.brain2-confirmation-tile[data-layer="ATRP / DOR"]
    .brain2-confirmation-layer::after {
    content: "ATRP / DOR";
}

.brain2-confirmation-tile[data-layer="Multi-Timeframe Technicals"]
    .brain2-confirmation-layer::after {
    content: "TECHNICALS";
}

.brain2-confirmation-tile[data-layer="Cross-Assets / Indices"]
    .brain2-confirmation-layer::after {
    content: "CROSS-ASSET";
}

.brain2-confirmation-state,
.brain2-confirmation-tile > strong {
    display: none;
}

.brain2-confirmation-tooltip header strong {
    font-size: 16px;
}

@media (max-width: 700px) {
    .brain2-visual-heading {
        min-height: 0;
        padding: 12px;
    }

    .brain2-pair-flag-backdrop {
        height: 6.5rem;
    }

    .brain2-confirmation-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        padding-left: 7px;
        padding-right: 7px;
    }

    .brain2-confirmation-grid > .brain2-model-traffic-lights {
        grid-column: 1 / -1;
        grid-row: auto;
        justify-self: end;
        margin-top: 3px;
    }

    .brain2-confirmation-grid-heading .brain2-model-traffic-lights {
        top: auto;
        bottom: 7px;
        right: 7px;
    }
}

@media (max-width: 480px) {
    .brain2-confirmation-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Brain 2 aligned shortlist: two-column desk board. The change is strictly
   presentational; ranking, confirmations and both model lights are unchanged. */
.brain2-alignment-shortlist-grid {
    background: transparent;
    border: 0;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
}

.brain2-alignment-shortlist-grid > .brain2-alignment-board-heading {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.brain2-alignment-shortlist-grid > .brain2-alignment-record {
    border: 1px solid rgba(132, 220, 255, .52);
    border-radius: 5px;
    box-shadow:
        0 0 0 1px rgba(3, 12, 24, .9),
        0 5px 14px rgba(0, 0, 0, .24);
    min-width: 0;
    overflow: hidden;
}

.brain2-alignment-shortlist-grid > .brain2-alignment-record:first-of-type {
    border-top: 1px solid rgba(132, 220, 255, .52);
}

.brain2-alignment-shortlist-grid .brain2-alignment-core {
    align-items: center;
    gap: 6px 12px;
    grid-template-columns:
        minmax(5.5rem, .65fr)
        minmax(8rem, 1.2fr)
        minmax(6.5rem, .85fr);
    padding: 9px 12px;
}

.brain2-alignment-shortlist-grid .brain2-model-reading,
.brain2-alignment-shortlist-grid .brain2-common-gap {
    align-self: stretch;
    background: rgba(2, 11, 19, .38);
    border: 1px solid rgba(142, 174, 197, .14);
    border-radius: 3px;
    display: grid;
    gap: 1px;
    justify-content: start;
    padding: 6px 8px;
}

.brain2-alignment-shortlist-grid .brain2-model-label,
.brain2-alignment-shortlist-grid .brain2-common-gap small {
    color: #91a5b2;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .055em;
    line-height: 1.25;
}

.brain2-alignment-shortlist-grid .brain2-common-gap {
    justify-items: start;
    text-align: left;
}

.brain2-alignment-shortlist-grid .brain2-common-gap strong {
    color: #f2f6f8;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
}

.brain2-alignment-shortlist-grid .brain2-confirmation-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    padding: 5px 7px 7px;
}

.brain2-alignment-shortlist-grid .brain2-confirmation-grid-heading {
    grid-column: 1 / 6;
    grid-row: 1;
}

.brain2-alignment-shortlist-grid
    .brain2-confirmation-grid > .brain2-model-traffic-lights {
    grid-column: 6 / 9;
    grid-row: 1;
    justify-self: end;
}

@media (max-width: 1280px) {
    .brain2-alignment-shortlist-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 700px) {
    .brain2-alignment-shortlist-grid .brain2-alignment-core {
        grid-template-columns: minmax(4.5rem, .6fr) minmax(7rem, 1fr) auto;
    }

    .brain2-alignment-shortlist-grid .brain2-confirmation-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .brain2-alignment-shortlist-grid .brain2-confirmation-grid-heading {
        grid-column: 1 / 3;
    }

    .brain2-alignment-shortlist-grid
        .brain2-confirmation-grid > .brain2-model-traffic-lights {
        grid-column: 3 / 5;
        grid-row: 1;
    }
}

@media (max-width: 480px) {
    .brain2-alignment-shortlist-grid .brain2-confirmation-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brain2-alignment-shortlist-grid .brain2-confirmation-grid-heading {
        grid-column: 1 / -1;
    }

    .brain2-alignment-shortlist-grid
        .brain2-confirmation-grid > .brain2-model-traffic-lights {
        grid-column: 1 / -1;
        grid-row: auto;
    }
}

/* Research terminal presentation reconciliation: cross-pair and currency. */
.research-evidence-panel-grid,
.pair-score-support-grid,
.pair-positioning-panel-grid,
.pair-cross-asset-grid,
.owner-research-confirmation-grid,
.macro-decision-grid,
.research-boundary-grid {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.research-evidence-panel-grid,
.pair-score-support-grid,
.pair-positioning-panel-grid,
.owner-research-confirmation-grid,
.research-boundary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.research-evidence-panel,
.pair-score-support-panel,
.pair-positioning-panel,
.pair-cross-asset-channel,
.owner-research-confirmation-card,
.macro-decision-card,
.research-boundary-grid > section {
    min-width: 0;
    border: 1px solid #2b4659;
    border-radius: 8px;
    background: linear-gradient(155deg, #10202d, #0a1722);
}

.research-evidence-panel {
    padding: 13px;
}

.research-evidence-panel > header,
.pair-score-support-panel > header,
.pair-positioning-panel > header,
.pair-cross-asset-channel > header,
.owner-research-confirmation-card > header {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
}

.research-evidence-panel > header > strong,
.pair-score-support-panel > header > strong,
.pair-positioning-panel > header > strong,
.pair-cross-asset-channel > header > strong,
.owner-research-confirmation-card > header strong {
    color: #f8fafc;
    font-size: 16px;
    line-height: 1.35;
}

.research-evidence-facts,
.pair-score-support-panel dl,
.pair-positioning-facts,
.pair-distribution-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 10px 0 8px;
}

.research-evidence-facts > div,
.pair-score-support-panel dl > div,
.pair-positioning-facts > div,
.pair-distribution-facts > div {
    min-width: 0;
    padding: 8px 9px;
    border-top: 1px solid #263f51;
}

.research-evidence-facts dt,
.pair-score-support-panel dt,
.pair-positioning-facts dt,
.pair-distribution-facts dt {
    margin: 0 0 3px;
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.research-evidence-facts dd,
.pair-score-support-panel dd,
.pair-positioning-facts dd,
.pair-distribution-facts dd {
    min-width: 0;
    margin: 0;
    color: #e2e8f0;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.pair-score-support-panel {
    padding: 12px;
}

.pair-score-support-panel > header > span {
    color: #fbbf24;
    font-size: 19px;
    font-weight: 800;
}

.external-pair-bias-board {
    margin-bottom: 18px;
}

.external-pair-bias-board .research-score-tile {
    min-height: 0;
}

.external-pair-bias-board .research-score-tile strong {
    font-size: 16px;
    line-height: 1.35;
}

.macro-pair-summary {
    gap: 8px;
}

.macro-pair-summary > div,
.macro-change-conclusions > div {
    padding: 10px 11px;
}

.pair-macro-decision-grid,
.currency-macro-decision-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 12px;
}

.macro-decision-card {
    overflow: hidden;
}

.macro-decision-card > header {
    padding: 8px 11px;
    border-bottom: 1px solid #315064;
    background: #132634;
    color: #7dd3fc;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.macro-decision-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.macro-decision-comparison > section,
.currency-macro-decision-body {
    min-width: 0;
    padding: 10px 11px;
}

.macro-decision-comparison > section + section {
    border-left: 1px solid #294457;
}

.macro-decision-comparison span {
    display: block;
    margin-bottom: 4px;
    color: #94a3b8;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .06em;
}

.macro-decision-comparison strong {
    color: #f8fafc;
    font-size: 15px;
}

.macro-decision-comparison p,
.currency-macro-decision-body p {
    margin: 6px 0 0;
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.45;
}

.currency-macro-decision-body .macro-change-state {
    display: inline-flex;
}

.pair-positioning-panel {
    padding: 12px;
}

.pair-positioning-panel > header {
    flex-wrap: wrap;
}

.pair-positioning-panel > header small {
    color: #fbbf24;
    font-size: 13px;
    font-weight: 800;
}

.pair-positioning-wide-fact,
.pair-distribution-wide-fact {
    grid-column: 1 / -1;
}

.pair-positioning-panel > footer {
    padding: 9px 10px;
    border: 1px solid #28465a;
    border-radius: 6px;
    background: #0b1924;
}

.pair-positioning-panel > footer span,
.owner-research-confirmation-signal > span,
.research-boundary-grid > section > span {
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.pair-positioning-panel > footer p {
    margin: 4px 0 0;
    color: #dbe7ef;
    font-size: 15px;
    line-height: 1.45;
}

.pair-distribution-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.pair-distribution-panel {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #2b4659;
    border-radius: 8px;
    background: linear-gradient(155deg, #10202d, #0a1722);
}

.pair-distribution-panel > header {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
    padding: 10px 11px;
    border-bottom: 1px solid #315064;
}

.pair-distribution-panel > header small {
    color: #94a3b8;
    font-size: 13px;
}

.pair-distribution-primary,
.pair-distribution-range {
    display: grid;
    gap: 1px;
    background: #294457;
}

.pair-distribution-primary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pair-distribution-range {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid #294457;
    border-bottom: 1px solid #294457;
}

.pair-distribution-primary > div,
.pair-distribution-range > div {
    min-width: 0;
    padding: 10px;
    background: #0d1b27;
}

.pair-distribution-primary span,
.pair-distribution-range span {
    display: block;
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.pair-distribution-primary strong {
    color: #f8fafc;
    font-size: 19px;
}

.pair-distribution-range strong {
    color: #e2e8f0;
    font-size: 15px;
}

.pair-distribution-facts {
    margin: 0;
}

.pair-cross-asset-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 12px;
}

.pair-cross-asset-channel {
    padding: 12px;
}

.pair-cross-asset-weights {
    display: flex;
    gap: 8px;
    margin: 10px 0;
}

.pair-cross-asset-weights > span {
    flex: 1;
    min-width: 0;
    padding: 7px 8px;
    border: 1px solid #29475c;
    border-radius: 5px;
    color: #94a3b8;
    font-size: 12px;
}

.pair-cross-asset-weights strong {
    display: block;
    color: #f8fafc;
    font-size: 15px;
}

.pair-cross-asset-channel p {
    margin: 0;
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.45;
}

.pair-cross-asset-method {
    margin-top: 10px;
}

.owner-research-confirmation-card {
    padding: 11px;
}

.owner-research-confirmation-card > header > div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.owner-research-confirmation-signal {
    margin-top: 9px;
    padding: 8px 9px;
    border: 1px solid #29475c;
    border-radius: 6px;
    background: #091824;
}

.owner-research-confirmation-signal strong {
    display: block;
    color: #f8fafc;
    font-size: 15px;
    line-height: 1.4;
}

.owner-research-confirmation-signal small {
    color: #fbbf24;
    font-size: 13px;
}

.owner-research-confirmation-card > p {
    margin: 8px 0 0;
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.45;
}

.research-control-list {
    display: grid;
    gap: 7px;
    margin-top: 10px;
}

.research-control-row {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 9px 10px;
    border: 1px solid #29475c;
    border-radius: 6px;
    background: #0b1924;
}

.research-control-row strong {
    color: #f8fafc;
    font-size: 15px;
}

.research-control-row p {
    margin: 3px 0 0;
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.45;
}

.research-boundary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 10px;
}

.research-boundary-grid > section {
    padding: 10px 11px;
}

.research-boundary-grid > section p {
    margin: 5px 0 0;
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.45;
}

.research-boundary-timestamp {
    margin: 9px 0 0;
}

.institutional-metric-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.institutional-metric-grid > div {
    min-width: 0;
    padding: 10px;
    border: 1px solid #29475c;
    border-radius: 6px;
    background: #0b1924;
}

.institutional-metric-grid > div > span {
    display: block;
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.institutional-metric-grid > div > strong {
    display: block;
    margin-top: 4px;
    color: #f8fafc;
    font-size: 19px;
    line-height: 1.3;
}

.institutional-metric-grid > div > small {
    display: block;
    margin-top: 5px;
    color: #94a3b8;
    font-size: 13px;
    line-height: 1.4;
}

/* Compact the factor shells without changing their approved evidence dropdowns. */
.research-pair-page .pair-factor-presentation-card,
.research-currency-page .currency-factor-presentation-card {
    padding: 13px;
}

.research-pair-page .pair-owner-factor-metrics,
.research-currency-page .currency-owner-factor-metrics {
    gap: 6px;
    margin: 9px 0;
}

.research-pair-page .pair-owner-factor-metrics > div,
.research-currency-page .currency-owner-factor-metrics > div {
    padding: 8px;
}

.research-pair-page .institutional-factor-read,
.research-currency-page .institutional-factor-read {
    margin: 9px 0;
    padding: 10px;
}

.research-currency-page .research-evidence-strip {
    gap: 0;
    overflow: hidden;
    border: 1px solid #2b4659;
    border-radius: 8px;
    background: #0b1924;
}

.research-currency-page .research-evidence-strip > div {
    padding: 10px 11px;
    border: 0;
    border-right: 1px solid #29475c;
    border-radius: 0;
    background: transparent;
}

.research-currency-page .research-evidence-strip > div:last-child {
    border-right: 0;
}

.research-currency-page .research-market-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
    border: 0;
    background: transparent;
}

.research-currency-page .research-market-strip > div {
    min-width: 0;
    padding: 10px;
    border: 1px solid #29475c;
    border-radius: 6px;
    background: #0b1924;
}

.research-currency-page .research-market-strip > div > strong {
    margin-top: 4px;
    line-height: 1.3;
}

.research-currency-page .research-market-strip > div > small {
    margin-top: 5px;
    line-height: 1.4;
}

@media (max-width: 1100px) {
    .pair-distribution-grid,
    .pair-cross-asset-grid,
    .institutional-metric-grid,
    .research-currency-page .research-market-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .research-boundary-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 760px),
(max-width: 920px) and (orientation: landscape) and (pointer: coarse) {
    .research-evidence-panel-grid,
    .pair-score-support-grid,
    .pair-positioning-panel-grid,
    .pair-distribution-grid,
    .pair-cross-asset-grid,
    .owner-research-confirmation-grid,
    .pair-macro-decision-grid,
    .currency-macro-decision-grid,
    .institutional-metric-grid,
    .research-currency-page .research-market-strip {
        grid-template-columns: minmax(0, 1fr);
    }

    .research-evidence-facts,
    .pair-score-support-panel dl,
    .pair-positioning-facts,
    .pair-distribution-facts {
        grid-template-columns: minmax(0, 1fr);
    }

    .pair-positioning-wide-fact,
    .pair-distribution-wide-fact {
        grid-column: auto;
    }

    .research-control-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .research-currency-page .research-evidence-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .research-currency-page .research-evidence-strip > div {
        border-right: 0;
        border-bottom: 1px solid #29475c;
    }
}

/* Final Research reconciliation: compact shells, unchanged evidence dropdowns. */
.currency-policy-command-card {
    min-width: 0;
    margin: 16px 0;
}

.policy-command-strip,
.policy-operating-grid,
.policy-assessment-band {
    display: grid;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #2b4659;
    border-radius: 7px;
    background: #0a1722;
}

.policy-command-strip {
    grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr));
}

.policy-command-strip > section,
.policy-operating-grid > section,
.policy-assessment-band > section {
    min-width: 0;
    padding: 10px 11px;
    border-right: 1px solid #294457;
}

.policy-command-strip > section:last-child,
.policy-operating-grid > section:last-child,
.policy-assessment-band > section:last-child {
    border-right: 0;
}

.policy-command-strip span,
.policy-operating-grid span,
.policy-assessment-band span {
    display: block;
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.policy-command-strip strong {
    display: block;
    margin-top: 4px;
    color: #f8fafc;
    font-size: 15px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.policy-command-strip small {
    display: block;
    margin-top: 4px;
    color: #94a3b8;
    font-size: 13px;
    line-height: 1.4;
}

.policy-command-primary {
    box-shadow: inset 3px 0 #38bdf8;
}

.policy-operating-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 8px;
}

.policy-operating-grid p,
.policy-assessment-band p {
    margin: 4px 0 0;
    color: #dbe7ef;
    font-size: 15px;
    line-height: 1.45;
}

.policy-assessment-band {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 8px;
}

.policy-assessment-band > section:first-child {
    box-shadow: inset 3px 0 #38bdf8;
}

.policy-assessment-band > section:last-child {
    box-shadow: inset 3px 0 #fbbf24;
}

.policy-command-audit-link {
    display: inline-flex;
    margin-top: 10px;
}

.central-bank-component-ledger {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #2b4659;
    border-radius: 7px;
    background: #091722;
    font-variant-numeric: tabular-nums;
}

.central-bank-component-ledger-header,
.central-bank-component-ledger-row {
    display: grid;
    min-width: 0;
    align-items: stretch;
}

.central-bank-component-ledger-owner .central-bank-component-ledger-header,
.central-bank-component-ledger-owner .central-bank-component-ledger-row {
    grid-template-columns: minmax(190px, 1.1fr) 72px 72px 96px minmax(240px, 2fr);
}

.central-bank-component-ledger-external .central-bank-component-ledger-header,
.central-bank-component-ledger-external .central-bank-component-ledger-row {
    grid-template-columns: minmax(190px, .8fr) minmax(0, 2.2fr);
}

.central-bank-component-ledger-header {
    background: #132634;
}

.central-bank-component-ledger-header > span {
    padding: 7px 9px;
    border-right: 1px solid #294457;
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.central-bank-component-ledger-header > span:last-child {
    border-right: 0;
}

.central-bank-component-ledger-row {
    border-top: 1px solid #263f51;
}

.central-bank-component-ledger-row:nth-child(odd) {
    background: rgba(18, 38, 52, .34);
}

.central-bank-component-identity,
.central-bank-component-value,
.central-bank-component-ledger-row > p {
    min-width: 0;
    padding: 8px 9px;
    border-right: 1px solid #263f51;
}

.central-bank-component-ledger-row > p {
    margin: 0;
    border-right: 0;
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.4;
}

.central-bank-component-identity {
    display: grid;
    align-content: center;
    gap: 2px;
}

.central-bank-component-identity strong {
    color: #f8fafc;
    font-size: 15px;
    line-height: 1.35;
}

.central-bank-component-identity span,
.central-bank-component-identity small {
    color: #94a3b8;
    font-size: 13px;
    line-height: 1.35;
}

.central-bank-component-value {
    display: grid;
    place-content: center;
    text-align: center;
}

.central-bank-component-value > span {
    display: none;
}

.central-bank-component-value strong {
    color: #f8fafc;
    font-size: 15px;
}

.central-bank-component-ledger-total {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) auto auto minmax(240px, 2fr);
    gap: 12px;
    align-items: center;
    padding: 9px 10px;
    border-top: 2px solid #38bdf8;
    background: #102433;
}

.central-bank-component-ledger-total strong {
    color: #f8fafc;
    font-size: 15px;
}

.central-bank-component-ledger-total span {
    color: #7dd3fc;
    font-size: 13px;
    font-weight: 800;
}

.central-bank-component-ledger-total p {
    margin: 0;
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.4;
}

/* Shrink the factor-card shell only; evidence dropdown presentation is untouched. */
.research-currency-page .currency-factor-presentation-card,
.research-pair-page .pair-factor-presentation-card,
.research-pair-page .external-pair-factor-card {
    gap: 7px;
    padding: 10px;
    border-radius: 7px;
}

.research-currency-page .currency-factor-card-grid,
.research-pair-page .pair-factor-card-grid,
.research-pair-page .external-pair-factor-grid {
    gap: 10px;
    margin-top: 10px;
}

.research-currency-page .currency-owner-factor-metrics,
.research-pair-page .pair-owner-factor-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px;
    margin: 5px 0;
}

.research-currency-page .currency-owner-factor-metrics > div,
.research-pair-page .pair-owner-factor-metrics > div {
    gap: 1px;
    padding: 5px 6px;
    border-radius: 5px;
}

.research-currency-page .currency-owner-factor-metrics strong,
.research-pair-page .pair-owner-factor-metrics strong {
    font-size: 15px;
    line-height: 1.3;
}

.factor-card-interpretation {
    margin: 0;
    color: #aebdca;
    font-size: 15px;
    line-height: 1.4;
}

.research-currency-page .institutional-factor-read,
.research-pair-page .institutional-factor-read {
    margin: 0;
    padding: 7px 8px;
    border-radius: 5px;
}

.research-currency-page .institutional-factor-condition,
.research-pair-page .institutional-factor-condition {
    margin-top: 4px;
    font-size: 15px;
    line-height: 1.35;
}

.research-currency-page .institutional-factor-read > p,
.research-pair-page .institutional-factor-read > p {
    margin-top: 3px;
    font-size: 15px;
    line-height: 1.4;
}

.research-pair-page .external-pair-factor-comparison {
    gap: 4px;
    margin: 0;
}

.research-pair-page .external-pair-factor-comparison > div {
    padding: 6px 7px;
}

.research-pair-page .pair-owner-factor-macro-links,
.research-currency-page .currency-owner-factor-audit-link {
    margin-top: 0;
}

.research-pair-page .pair-owner-factor-reconciliation,
.research-currency-page .currency-owner-factor-reconciliation {
    gap: 7px;
    padding: 10px;
    border-radius: 7px;
}

.research-risk-monitor-row .research-compact-card {
    padding: 12px;
}

.research-risk-monitor-row .research-control-list {
    gap: 5px;
    margin-top: 7px;
}

.research-risk-monitor-row .research-control-row {
    gap: 8px;
    padding: 7px 8px;
}

.pair-distribution-footer {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: 8px;
    margin-top: 10px;
}

.pair-distribution-footer > section {
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #2b4659;
    border-radius: 6px;
    background: #0a1722;
}

.pair-distribution-footer .pair-distribution-audit {
    grid-column: 1 / -1;
}

.pair-distribution-footer > section > span {
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.pair-distribution-footer p {
    margin: 4px 0 0;
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.4;
}

.pair-distribution-footer p strong {
    color: #fbbf24;
}

.pair-distribution-footer .pair-distribution-limitation {
    color: #fcd34d;
    font-size: 13px;
}

.research-confirmation-ledger {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #2b4659;
    border-radius: 7px;
    background: #091722;
}

.research-confirmation-ledger-header,
.research-confirmation-ledger-row {
    display: grid;
    min-width: 0;
    align-items: center;
}

.research-confirmation-ledger-owner .research-confirmation-ledger-header,
.research-confirmation-ledger-owner .research-confirmation-ledger-row {
    grid-template-columns: 84px minmax(130px, .8fr) minmax(150px, 1fr) 116px minmax(220px, 1.7fr);
}

.research-confirmation-ledger-external .research-confirmation-ledger-header,
.research-confirmation-ledger-external .research-confirmation-ledger-row {
    grid-template-columns: minmax(130px, .8fr) minmax(150px, 1fr) 116px minmax(220px, 1.7fr);
}

.research-confirmation-ledger-header {
    background: #132634;
}

.research-confirmation-ledger-header > span {
    padding: 7px 8px;
    border-right: 1px solid #294457;
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.research-confirmation-ledger-header > span:last-child {
    border-right: 0;
}

.research-confirmation-ledger-row {
    border-top: 1px solid #263f51;
}

.research-confirmation-ledger-row:nth-child(odd) {
    background: rgba(18, 38, 52, .3);
}

.research-confirmation-ledger-row > div,
.research-confirmation-ledger-analysis {
    min-width: 0;
    padding: 7px 8px;
    border-right: 1px solid #263f51;
}

.research-confirmation-ledger-analysis {
    margin: 0;
    border-right: 0;
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.4;
}

.research-confirmation-ledger-subject strong,
.research-confirmation-ledger-signal strong {
    color: #f8fafc;
    font-size: 15px;
    line-height: 1.35;
}

.research-confirmation-ledger-signal small {
    display: block;
    margin-top: 2px;
    color: #fbbf24;
    font-size: 13px;
}

@media (max-width: 1100px) {
    .policy-command-strip,
    .policy-operating-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .policy-command-strip > section:nth-child(2n),
    .policy-operating-grid > section:nth-child(2n) {
        border-right: 0;
    }

    .policy-command-strip > section:nth-child(-n + 2),
    .policy-operating-grid > section:nth-child(-n + 2) {
        border-bottom: 1px solid #294457;
    }

    .central-bank-component-ledger-owner .central-bank-component-ledger-header,
    .central-bank-component-ledger-owner .central-bank-component-ledger-row {
        grid-template-columns: minmax(180px, 1fr) 66px 66px 88px minmax(200px, 1.5fr);
    }

    .research-confirmation-ledger-header {
        display: none;
    }

    .research-confirmation-ledger-owner .research-confirmation-ledger-row,
    .research-confirmation-ledger-external .research-confirmation-ledger-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
        padding: 6px;
    }

    .research-confirmation-ledger-row > div,
    .research-confirmation-ledger-analysis {
        padding: 6px;
        border-right: 0;
    }

    .research-confirmation-ledger-analysis {
        grid-column: 1 / -1;
        border-top: 1px solid #263f51;
    }
}

@media (max-width: 760px),
(max-width: 920px) and (orientation: landscape) and (pointer: coarse) {
    .policy-command-strip,
    .policy-operating-grid,
    .policy-assessment-band,
    .pair-distribution-footer {
        grid-template-columns: minmax(0, 1fr);
    }

    .policy-command-strip > section,
    .policy-operating-grid > section,
    .policy-assessment-band > section {
        border-right: 0;
        border-bottom: 1px solid #294457;
    }

    .policy-command-strip > section:last-child,
    .policy-operating-grid > section:last-child,
    .policy-assessment-band > section:last-child {
        border-bottom: 0;
    }

    .central-bank-component-ledger-header {
        display: none;
    }

    .central-bank-component-ledger-owner .central-bank-component-ledger-row,
    .central-bank-component-ledger-external .central-bank-component-ledger-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding: 6px;
    }

    .central-bank-component-ledger-external .central-bank-component-ledger-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .central-bank-component-identity,
    .central-bank-component-ledger-row > p {
        grid-column: 1 / -1;
        border-right: 0;
    }

    .central-bank-component-ledger-row > p {
        border-top: 1px solid #263f51;
    }

    .central-bank-component-value {
        border-right: 0;
    }

    .central-bank-component-value > span {
        display: block;
        color: #7dd3fc;
        font-size: 12px;
        font-weight: 800;
        text-transform: uppercase;
    }

    .central-bank-component-ledger-total {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
    }

    .research-currency-page .currency-owner-factor-metrics,
    .research-pair-page .pair-owner-factor-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .research-confirmation-ledger-owner .research-confirmation-ledger-row,
    .research-confirmation-ledger-external .research-confirmation-ledger-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .research-confirmation-ledger-analysis {
        grid-column: auto;
    }
}

/* Verified asset and institutional index presentation reconciliation */
.market-change-decision-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 12px;
}

.market-change-decision-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #2b4659;
    border-radius: 7px;
    background: #091722;
}

.market-change-decision-card > header {
    display: grid;
    gap: 3px;
    padding: 9px 10px;
    border-bottom: 1px solid #294457;
    background: #112634;
}

.market-change-decision-card > header > span,
.market-change-decision-body section > span,
.index-thesis-command-grid > section > span,
.index-risk-command-grid > section > span {
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.market-change-decision-card > header > strong {
    color: #f8fafc;
    font-size: 15px;
    line-height: 1.35;
}

.market-change-decision-body {
    display: grid;
    grid-template-columns: minmax(155px, .8fr) minmax(0, 1.45fr);
}

.market-change-decision-body section {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 4px;
    padding: 9px 10px;
}

.market-change-decision-body section + section {
    border-left: 1px solid #294457;
}

.market-change-decision-body .macro-change-state,
.market-change-decision-body p {
    margin: 0;
    font-size: 15px;
    line-height: 1.4;
}

.market-change-decision-body p {
    color: #cbd5e1;
}

.asset-research-page .asset-evidence-health-strip,
.index-research-page .index-evidence-health-strip {
    display: grid;
    gap: 0;
    overflow: hidden;
    border: 1px solid #2b4659;
    border-radius: 8px;
    background: #0a1823;
}

.asset-research-page .asset-evidence-health-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.index-research-page .index-evidence-health-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.asset-research-page .asset-evidence-health-strip > div,
.index-research-page .index-evidence-health-strip > div {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 4px;
    padding: 10px 11px;
    border-right: 1px solid #294457;
}

.asset-research-page .asset-evidence-health-strip > div:nth-child(3n),
.index-research-page .index-evidence-health-strip > div:last-child {
    border-right: 0;
}

.asset-research-page .asset-evidence-health-strip > div:nth-child(-n + 3) {
    border-bottom: 1px solid #294457;
}

.asset-research-page .asset-evidence-health-strip span,
.index-research-page .index-evidence-health-strip span {
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.asset-research-page .asset-evidence-health-strip strong,
.asset-research-page .asset-evidence-health-strip a,
.index-research-page .index-evidence-health-strip strong,
.index-research-page .index-evidence-health-strip a {
    overflow-wrap: anywhere;
    color: #f8fafc;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
}

.asset-research-page .research-macro-thesis-grid {
    gap: 8px;
}

.asset-research-page .research-macro-thesis-point {
    padding: 10px 11px;
    border-radius: 7px;
}

.asset-research-page .asset-factor-presentation-card,
.asset-research-page .external-asset-factor-card {
    gap: 8px;
    padding: 13px;
    border-radius: 8px;
}

.asset-research-page .asset-owner-factor-metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
}

.asset-research-page .asset-owner-factor-metrics > div,
.asset-research-page .asset-factor-reconciliation {
    padding: 8px 9px;
    border-radius: 6px;
}

.asset-research-page .asset-owner-factor-metrics strong,
.asset-research-page .asset-factor-reconciliation strong {
    font-size: 15px;
    line-height: 1.35;
}

.asset-metric-ledger,
.index-signal-ledger {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #2b4659;
    border-radius: 8px;
    background: #091722;
}

.asset-metric-ledger-header,
.asset-metric-ledger-row,
.index-signal-ledger-header,
.index-signal-ledger-row {
    display: grid;
    min-width: 0;
    align-items: center;
}

.asset-metric-ledger-header,
.asset-metric-ledger-row {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .8fr) minmax(0, 1.2fr) minmax(150px, .55fr);
}

.index-signal-ledger-header,
.index-signal-ledger-row {
    grid-template-columns: minmax(170px, .85fr) 130px minmax(250px, 1.55fr) 150px;
}

.asset-metric-ledger-header,
.index-signal-ledger-header {
    background: #132634;
}

.asset-metric-ledger-header > span,
.index-signal-ledger-header > span {
    padding: 7px 9px;
    border-right: 1px solid #294457;
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.asset-metric-ledger-header > span:last-child,
.index-signal-ledger-header > span:last-child {
    border-right: 0;
}

.asset-metric-ledger-row,
.index-signal-ledger-row {
    border-top: 1px solid #263f51;
}

.asset-metric-ledger-row:nth-child(odd),
.index-signal-ledger-row:nth-child(odd) {
    background: rgba(18, 38, 52, .3);
}

.asset-metric-ledger-row > div,
.index-signal-ledger-row > strong,
.index-signal-ledger-row > span,
.index-signal-ledger-row > p {
    min-width: 0;
    margin: 0;
    padding: 8px 9px;
    border-right: 1px solid #263f51;
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.35;
}

.asset-metric-ledger-row > div:last-child,
.index-signal-ledger-row > :last-child {
    border-right: 0;
}

.asset-metric-ledger-row > div:last-child {
    display: flex;
    min-width: 150px;
    align-items: center;
    justify-content: center;
}

.asset-metric-ledger-identity,
.asset-metric-ledger-reading,
.asset-metric-ledger-source {
    display: grid;
    gap: 2px;
}

.asset-metric-ledger-row strong,
.index-signal-ledger-row > strong {
    color: #f8fafc;
    font-size: 15px;
}

.asset-metric-ledger-row span,
.asset-metric-ledger-row a {
    overflow-wrap: anywhere;
    font-size: 13px;
    line-height: 1.35;
}

.index-thesis-command-grid,
.index-risk-command-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #2b4659;
    border-radius: 8px;
    background: #091722;
}

.index-thesis-command-grid > section,
.index-risk-command-grid > section {
    display: grid;
    min-width: 0;
    align-content: start;
    gap: 5px;
    padding: 11px 12px;
}

.index-thesis-command-grid > section + section,
.index-risk-command-grid > section + section {
    border-left: 1px solid #294457;
}

.index-thesis-command-grid p,
.index-risk-command-grid p {
    margin: 0;
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.45;
}

.index-thesis-command-grid > section > div {
    display: grid;
    gap: 3px;
    margin-top: 4px;
    padding-top: 8px;
    border-top: 1px solid #294457;
}

.index-thesis-command-grid > section > div > strong {
    color: #fbbf24;
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.asset-research-page .research-control-row,
.index-research-page .research-control-row,
.asset-research-page .research-boundary-grid > section,
.index-research-page .research-boundary-grid > section {
    padding: 10px 11px;
}

.asset-research-page .research-boundary-grid,
.index-research-page .research-boundary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.asset-research-page .research-boundary-grid > section:last-child,
.index-research-page .research-boundary-grid > section:last-child {
    grid-column: 1 / -1;
}

@media (max-width: 1100px) {
    .asset-research-page .asset-owner-factor-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .asset-metric-ledger-header,
    .index-signal-ledger-header {
        display: none;
    }

    .asset-metric-ledger-row,
    .index-signal-ledger-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
        padding: 6px;
    }

    .asset-metric-ledger-row > div,
    .index-signal-ledger-row > strong,
    .index-signal-ledger-row > span,
    .index-signal-ledger-row > p {
        padding: 6px;
        border-right: 0;
    }

    .index-signal-ledger-row > p {
        grid-column: 1 / -1;
        border-top: 1px solid #263f51;
    }
}

@media (max-width: 760px),
(max-width: 920px) and (orientation: landscape) and (pointer: coarse) {
    .market-change-decision-grid,
    .asset-research-page .asset-evidence-health-strip,
    .index-research-page .index-evidence-health-strip,
    .index-thesis-command-grid,
    .index-risk-command-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .market-change-decision-body {
        grid-template-columns: minmax(0, 1fr);
    }

    .market-change-decision-body section + section,
    .index-thesis-command-grid > section + section,
    .index-risk-command-grid > section + section {
        border-top: 1px solid #294457;
        border-left: 0;
    }

    .asset-research-page .asset-evidence-health-strip > div,
    .index-research-page .index-evidence-health-strip > div {
        border-right: 0;
        border-bottom: 1px solid #294457;
    }

    .asset-research-page .asset-evidence-health-strip > div:last-child,
    .index-research-page .index-evidence-health-strip > div:last-child {
        border-bottom: 0;
    }

    .asset-research-page .asset-owner-factor-metrics,
    .asset-metric-ledger-row,
    .index-signal-ledger-row,
    .asset-research-page .research-boundary-grid,
    .index-research-page .research-boundary-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .asset-metric-ledger-row > div:last-child {
        min-width: 0;
        justify-content: flex-start;
    }

    .asset-research-page .research-boundary-grid > section:last-child,
    .index-research-page .research-boundary-grid > section:last-child {
        grid-column: auto;
    }

    .index-signal-ledger-row > p {
        grid-column: auto;
    }
}

/* Calendar terminal cascade lock: keep the approved ledger responsive after
   legacy table-width rules declared earlier in this stylesheet. */
.calendar-page-workspace .calendar-table th:nth-child(1) { width: 6%; }
.calendar-page-workspace .calendar-table th:nth-child(2) { width: 9%; }
.calendar-page-workspace .calendar-table th:nth-child(3) { width: 7%; }
.calendar-page-workspace .calendar-table th:nth-child(4) { width: 6%; }
.calendar-page-workspace .calendar-table th:nth-child(5) { width: 22%; }
.calendar-page-workspace .calendar-table th:nth-child(6) { width: 6%; }
.calendar-page-workspace .calendar-table th:nth-child(7) { width: 8.5%; }
.calendar-page-workspace .calendar-table th:nth-child(8) { width: 13%; }
.calendar-page-workspace .calendar-table th:nth-child(9) { width: 8.5%; }
.calendar-page-workspace .calendar-table th:nth-child(10) { width: 14%; }

.calendar-page-workspace .calendar-table tr[data-calendar-row] > td {
    padding: 9px 7px;
    border-bottom-color: rgba(71, 85, 105, .42);
    letter-spacing: normal;
    line-height: 1.35;
}

@media (max-width: 700px) {
    .calendar-page-workspace .metric-evidence-scroll {
        overflow-x: hidden;
    }

    .calendar-page-workspace .calendar-table,
    .calendar-page-workspace .calendar-table tbody {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .calendar-page-workspace .calendar-table thead {
        display: none;
    }

    .calendar-page-workspace .calendar-table tr[data-calendar-row]:not([hidden]) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: auto;
        min-width: 0;
        margin: 10px;
        overflow: hidden;
        border: 1px solid rgba(100, 116, 139, .48);
        border-radius: 7px;
        background: rgba(10, 20, 32, .74);
    }

    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td {
        display: grid;
        min-width: 0;
        padding: 9px 10px;
        align-content: start;
        gap: 5px;
        border: 0;
        border-bottom: 1px solid rgba(71, 85, 105, .34);
        text-align: left;
        white-space: normal;
    }

    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td::before {
        color: #8295a8;
        font-size: 10px;
        font-weight: 900;
        letter-spacing: .07em;
        text-transform: uppercase;
    }

    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(1)::before { content: "Risk"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(2)::before { content: "Date"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(3)::before { content: "Time"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(4)::before { content: "Currency"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(5)::before { content: "Official release"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(6)::before { content: "Reference"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(7)::before { content: "Last"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(8)::before { content: "ALLIANCE"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(9)::before { content: "Expected"; }
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(10)::before { content: "Actual"; }

    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(5),
    .calendar-page-workspace .calendar-table tr[data-calendar-row] > td:nth-child(8) {
        grid-column: 1 / -1;
    }

    .calendar-page-workspace .calendar-currency-cell {
        justify-content: flex-start;
    }

    .calendar-page-workspace .calendar-expected-column {
        width: auto;
        max-width: none;
    }

    .calendar-page-workspace .calendar-expected-form {
        width: 100%;
        height: 34px;
        grid-template-columns: minmax(0, 1fr) 34px;
    }

    .calendar-page-workspace .calendar-expected-form input,
    .calendar-page-workspace .calendar-expected-form button {
        height: 34px;
        line-height: 32px;
    }

    .calendar-page-workspace .calendar-expected-form button {
        width: 34px;
        min-width: 34px;
    }

    .calendar-page-workspace .calendar-day-group {
        display: table-row;
    }

    .calendar-page-workspace .calendar-day-group td {
        display: block;
        margin: 12px 10px 4px;
        border-radius: 5px;
    }
}

/* ATRP / DOR institutional desk ledger. Presentation only: the shared
   retained snapshot, ranking, calculations and access boundaries are intact. */
.pair-distribution-command-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(132, 220, 255, .3);
    border-radius: 7px;
    background: linear-gradient(115deg, #071725, #0a1d2d);
}

.pair-distribution-command-strip article {
    display: grid;
    min-width: 0;
    gap: 3px;
    padding: 12px 14px;
    border-left: 1px solid rgba(132, 220, 255, .16);
}

.pair-distribution-command-strip article:first-child {
    border-left: 0;
}

.pair-distribution-command-strip span,
.pair-filter-group > span {
    color: #8299aa;
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .065em;
    line-height: 1.35;
}

.pair-distribution-command-strip strong {
    color: #f4f8fa;
    font-size: 16px;
    font-variant-numeric: tabular-nums;
    line-height: 1.35;
}

.pair-distribution-command-strip small {
    color: #a9bac6;
    font-size: 13px;
    line-height: 1.4;
}

.pair-distribution-reading-guide {
    overflow: hidden;
    padding: 0;
    border-color: rgba(132, 220, 255, .3);
    background: rgba(7, 23, 36, .92);
}

.pair-distribution-reading-guide > summary {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 11px 14px;
    cursor: pointer;
    list-style: none;
    background: linear-gradient(100deg, rgba(11, 39, 58, .94), rgba(7, 25, 39, .94));
}

.pair-distribution-reading-guide > summary::-webkit-details-marker {
    display: none;
}

.pair-distribution-reading-guide > summary::after {
    content: "+";
    color: #7dd3fc;
    font-size: 18px;
    font-weight: 900;
}

.pair-distribution-reading-guide[open] > summary::after {
    content: "−";
}

.pair-distribution-reading-guide > summary > span {
    display: grid;
    gap: 2px;
}

.pair-distribution-reading-guide > summary small {
    color: #91a8b8;
    font-size: 13px;
    line-height: 1.4;
}

.pair-distribution-reading-guide > summary > span > small {
    color: #7dd3fc;
    font-weight: 850;
    letter-spacing: .065em;
}

.pair-distribution-reading-guide > summary strong {
    color: #f4f8fa;
    font-size: 17px;
    line-height: 1.35;
}

.pair-distribution-reading-body {
    display: grid;
    gap: 10px;
    padding: 10px 12px 12px;
    border-top: 1px solid rgba(132, 220, 255, .18);
}

.pair-distribution-reading-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
}

.pair-distribution-reading-steps article {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 8px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #29475c;
    border-radius: 4px;
    background: #0b1924;
}

.pair-distribution-reading-steps article > span {
    color: #7dd3fc;
    font-size: 13px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
}

.pair-distribution-reading-steps strong {
    color: #f4f8fa;
    font-size: 14px;
}

.pair-distribution-reading-steps p,
.pair-distribution-reading-example p {
    margin: 4px 0 0;
    color: #b7c7d4;
    font-size: 13px;
    line-height: 1.45;
}

.pair-distribution-reading-bands {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid rgba(100, 116, 139, .38);
    border-radius: 4px;
    background: rgba(5, 17, 28, .68);
}

.pair-distribution-reading-bands > div {
    display: grid;
    grid-template-rows: auto auto auto;
    justify-items: center;
    gap: 4px;
    min-width: 0;
    padding: 7px 8px;
    border-left: 1px solid rgba(100, 116, 139, .28);
    text-align: center;
}

.pair-distribution-reading-bands > div:first-child {
    border-left: 0;
}

.pair-distribution-reading-bands .pair-reading-band-head {
    display: none;
}

.pair-distribution-reading-bands span {
    color: #a9bac6;
    font-size: 13px;
    line-height: 1.35;
}

.pair-distribution-reading-bands span b {
    color: #7dd3fc;
    font-size: 11px;
    letter-spacing: .035em;
}

.pair-distribution-reading-example {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    padding: 8px 10px;
    border-left: 3px solid rgba(251, 191, 36, .62);
    background: rgba(44, 34, 12, .28);
}

.pair-distribution-reading-example > strong {
    color: #f3cb7b;
    font-size: 14px;
}

.pair-distribution-reading-example p {
    margin: 0;
}

.pair-distribution-ledger-card {
    overflow: hidden;
    border-color: rgba(132, 220, 255, .3);
}

.pair-distribution-ledger-card .data-verification-header {
    align-items: end;
    gap: 18px;
}

.pair-distribution-controls,
.pair-filter-group,
.pair-filter-group > div {
    display: flex;
    align-items: center;
}

.pair-distribution-controls {
    flex-wrap: wrap;
    gap: 10px 18px;
    justify-content: flex-end;
}

.pair-filter-group {
    gap: 8px;
}

.pair-filter-group > div {
    overflow: hidden;
    gap: 0;
    border: 1px solid #42586b;
    border-radius: 4px;
}

.pair-distribution-workspace .pair-filter-group .pair-filter {
    min-width: 66px;
    border: 0;
    border-left: 1px solid #42586b;
    border-radius: 0;
    background: #091726;
}

.pair-distribution-workspace .pair-filter-group .pair-filter:first-child {
    border-left: 0;
}

.pair-distribution-workspace .pair-filter-group .pair-filter:hover,
.pair-distribution-workspace .pair-filter-group .pair-filter.active {
    background: rgba(251, 191, 36, .14);
    box-shadow: inset 0 -2px 0 #fbbf24;
}

.pair-distribution-workspace .metric-evidence-scroll {
    overflow-x: auto;
    border: 1px solid rgba(100, 116, 139, .42);
    border-radius: 5px;
}

.pair-distribution-workspace .pair-distribution-table {
    width: 100%;
    min-width: 780px;
    margin: 0;
    table-layout: fixed;
}

.pair-distribution-workspace .pair-distribution-table th {
    position: sticky;
    top: 0;
    z-index: 3;
    border-bottom: 1px solid rgba(132, 220, 255, .3);
    background: #0a2235;
    color: #b9cbd7;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.pair-distribution-workspace .pair-distribution-table th:nth-child(1) { width: 7%; }
.pair-distribution-workspace .pair-distribution-table th:nth-child(2) { width: 19%; }
.pair-distribution-workspace .pair-distribution-table th:nth-child(3) { width: 14%; }
.pair-distribution-workspace .pair-distribution-table th:nth-child(4) { width: 15%; }
.pair-distribution-workspace .pair-distribution-table th:nth-child(5) { width: 15%; }
.pair-distribution-workspace .pair-distribution-table th:nth-child(6) { width: 15%; }
.pair-distribution-workspace .pair-distribution-table th:nth-child(7) { width: 15%; }

.pair-distribution-workspace .pair-distribution-table th.is-selected-metric,
.pair-distribution-workspace .pair-distribution-table td.is-selected-metric {
    background: rgba(251, 191, 36, .075);
    box-shadow: inset 1px 0 rgba(251, 191, 36, .22),
        inset -1px 0 rgba(251, 191, 36, .22);
}

.pair-distribution-primary-row {
    background: rgba(6, 18, 30, .82);
}

.pair-distribution-primary-row:nth-of-type(4n + 1) {
    background: rgba(9, 26, 41, .76);
}

.pair-distribution-primary-row > td {
    border-top: 1px solid rgba(100, 116, 139, .34);
    color: #edf4f7;
}

.pair-distribution-primary-row:hover > td {
    background-color: rgba(0, 190, 255, .045);
}

.pair-distribution-rank {
    color: #a9bac6 !important;
    font-weight: 800;
}

.pair-distribution-pair-cell {
    position: relative;
}

.pair-distribution-pair-cell .trade-pair-link {
    position: relative;
    z-index: 1;
    color: #f8fafc !important;
    font-size: 15px;
    letter-spacing: .045em;
}

.pair-distribution-flags {
    position: absolute;
    inset: 4px 7px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border-radius: 3px;
    opacity: .16;
    pointer-events: none;
}

.pair-distribution-flags img {
    width: 100%;
    height: 100%;
    object-fit: fill;
    filter: saturate(.72) contrast(.9);
}

.pair-percentile-band {
    display: inline-flex;
    min-width: 54px;
    justify-content: center;
    padding: 4px 7px;
    border: 1px solid currentColor;
    border-radius: 3px;
    background: rgba(5, 18, 30, .56);
    font-size: 15px;
    font-variant-numeric: tabular-nums;
    font-weight: 850;
}

.pair-percentile-band.is-upper-extreme { color: #82dcff; }
.pair-percentile-band.is-upper { color: #a9d7ec; }
.pair-percentile-band.is-balanced { color: #c3cbd1; }
.pair-percentile-band.is-lower { color: #e4bd78; }
.pair-percentile-band.is-lower-extreme { color: #d99a68; }
.pair-percentile-band.is-unavailable { color: #7f909c; }

.pair-distribution-workspace .pair-average-range {
    color: #c8dbe6 !important;
}

.pair-distribution-health {
    white-space: nowrap;
}

.pair-health-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    vertical-align: middle;
}

.pair-health-dot.is-current {
    background: #78db6a;
    box-shadow: 0 0 7px rgba(120, 219, 106, .8);
}

.pair-health-dot.is-retained {
    background: #55c7e8;
    box-shadow: 0 0 7px rgba(85, 199, 232, .72);
}

.pair-distribution-hero .data-status-retained {
    border-color: rgba(85, 199, 232, .62);
    background: rgba(85, 199, 232, .12);
    color: #9de7fb;
}

.pair-health-dot.is-partial {
    background: #ffc247;
    box-shadow: 0 0 7px rgba(255, 194, 71, .62);
}

.pair-distribution-health small {
    display: block;
    margin-top: 3px;
    color: #d0b275;
    font-size: 13px;
    white-space: normal;
}

.pair-distribution-evidence-row > td {
    padding: 0 !important;
    border: 0 !important;
    background: #06111c;
}

.pair-distribution-evidence {
    border-top: 1px solid rgba(71, 85, 105, .3);
}

.pair-distribution-evidence > summary,
.pair-distribution-methodology > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
    list-style: none;
}

.pair-distribution-evidence > summary {
    padding: 7px 12px 8px 9%;
    color: #a9bac6;
}

.pair-distribution-evidence > summary::-webkit-details-marker,
.pair-distribution-methodology > summary::-webkit-details-marker {
    display: none;
}

.pair-distribution-evidence > summary::before,
.pair-distribution-methodology > summary::before {
    content: "+";
    color: #82dcff;
    font-size: 16px;
    font-weight: 900;
}

.pair-distribution-evidence[open] > summary::before,
.pair-distribution-methodology[open] > summary::before {
    content: "−";
}

.pair-distribution-evidence > summary span,
.pair-distribution-methodology > summary span {
    color: #e7eff4;
    font-size: 14px;
    font-weight: 850;
    letter-spacing: .03em;
}

.pair-distribution-evidence > summary small,
.pair-distribution-methodology > summary small {
    margin-left: auto;
    color: #8299aa;
    font-size: 13px;
}

.pair-distribution-support-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 4px 12px 12px;
}

.pair-distribution-support-grid article {
    overflow: hidden;
    border: 1px solid rgba(132, 220, 255, .22);
    border-radius: 4px;
    background: rgba(10, 29, 45, .74);
}

.pair-distribution-support-grid header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 10px;
    border-bottom: 1px solid rgba(132, 220, 255, .16);
    background: rgba(10, 34, 53, .72);
}

.pair-distribution-support-grid header strong {
    color: #f4f8fa;
    font-size: 15px;
}

.pair-distribution-support-grid header span {
    color: #91a8b8;
    font-size: 13px;
}

.pair-distribution-support-grid dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.pair-distribution-support-grid dl > div {
    display: grid;
    gap: 2px;
    padding: 8px 10px;
    border-left: 1px solid rgba(100, 116, 139, .24);
    border-top: 1px solid rgba(100, 116, 139, .2);
}

.pair-distribution-support-grid dl > div:nth-child(3n + 1) {
    border-left: 0;
}

.pair-distribution-support-grid dt {
    color: #8299aa;
    font-size: 13px;
}

.pair-distribution-support-grid dd {
    margin: 0;
    color: #edf4f7;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
    font-weight: 750;
}

.pair-distribution-methodology {
    margin-top: 12px;
    overflow: hidden;
    border: 1px solid rgba(100, 116, 139, .42);
    border-radius: 5px;
    background: rgba(8, 21, 33, .72);
}

.pair-distribution-methodology > summary {
    padding: 11px 13px;
}

.pair-distribution-methodology[open] > summary {
    border-bottom: 1px solid rgba(100, 116, 139, .36);
}

.pair-distribution-methodology .pair-stat-guide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.pair-distribution-methodology .pair-stat-guide article {
    padding: 10px 12px;
    border: 1px solid rgba(100, 116, 139, .24);
    border-radius: 4px;
    background: rgba(6, 17, 28, .62);
}

.pair-distribution-methodology .pair-stat-guide strong {
    color: #f3cb7b;
    font-size: 14px;
}

.pair-distribution-methodology .pair-stat-guide p {
    margin: 4px 0 0;
    color: #b8c6cf;
    font-size: 14px;
    line-height: 1.5;
}

.pair-distribution-workspace .pair-distribution-hero p {
    font-size: 14px;
}

.pair-distribution-workspace .card h2,
.pair-distribution-workspace .card h3 {
    font-size: 20px;
}

@media (max-width: 980px) {
    .pair-distribution-command-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pair-distribution-reading-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pair-distribution-command-strip article:nth-child(odd) {
        border-left: 0;
    }

    .pair-distribution-command-strip article:nth-child(n + 3) {
        border-top: 1px solid rgba(132, 220, 255, .16);
    }

    .pair-distribution-ledger-card .data-verification-header {
        align-items: start;
        display: grid;
    }

    .pair-distribution-controls {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .pair-distribution-workspace .metric-evidence-scroll {
        overflow: visible;
        border: 0;
    }

    .pair-distribution-reading-guide > summary,
    .pair-distribution-reading-example {
        align-items: start;
        display: grid;
    }

    .pair-distribution-reading-guide > summary > small {
        padding-right: 24px;
    }

    .pair-distribution-reading-guide > summary::after {
        position: absolute;
        right: 14px;
    }

    .pair-distribution-reading-steps,
    .pair-distribution-reading-bands {
        grid-template-columns: minmax(0, 1fr);
    }

    .pair-distribution-reading-bands > div {
        grid-template-columns: 76px minmax(0, 1fr) minmax(0, 1fr);
        grid-template-rows: auto;
        align-items: center;
        justify-items: start;
        border-top: 1px solid rgba(100, 116, 139, .28);
        border-left: 0;
        text-align: left;
    }

    .pair-distribution-reading-bands > div:first-child {
        border-top: 0;
    }

    .pair-distribution-workspace .pair-distribution-table,
    .pair-distribution-workspace .pair-distribution-table tbody {
        display: block;
        min-width: 0;
    }

    .pair-distribution-workspace .pair-distribution-table thead {
        display: none;
    }

    .pair-distribution-primary-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 10px;
        overflow: hidden;
        border: 1px solid rgba(132, 220, 255, .28);
        border-radius: 5px 5px 0 0;
    }

    .pair-distribution-primary-row > td {
        display: grid;
        min-width: 0;
        gap: 4px;
        padding: 9px 10px !important;
        border: 0;
        border-top: 1px solid rgba(100, 116, 139, .28);
        text-align: left !important;
    }

    .pair-distribution-primary-row > td::before {
        content: attr(data-label);
        color: #8299aa;
        font-size: 12px;
        font-weight: 850;
        letter-spacing: .055em;
        text-transform: uppercase;
    }

    .pair-distribution-primary-row > td:nth-child(-n + 2) {
        border-top: 0;
    }

    .pair-distribution-primary-row > td:nth-child(even) {
        border-left: 1px solid rgba(100, 116, 139, .28);
    }

    .pair-distribution-primary-row > td.is-selected-metric {
        box-shadow: inset 3px 0 #fbbf24;
    }

    .pair-distribution-pair-cell {
        justify-content: center;
    }

    .pair-distribution-evidence-row {
        display: block;
    }

    .pair-distribution-evidence-row > td {
        display: block;
    }

    .pair-distribution-evidence {
        border: 1px solid rgba(132, 220, 255, .24);
        border-top: 0;
        border-radius: 0 0 5px 5px;
    }

    .pair-distribution-evidence > summary {
        padding: 9px 10px;
    }

    .pair-distribution-support-grid,
    .pair-distribution-methodology .pair-stat-guide {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 520px) {
    .pair-distribution-command-strip {
        grid-template-columns: minmax(0, 1fr);
    }

    .pair-distribution-command-strip article,
    .pair-distribution-command-strip article:nth-child(odd) {
        border-left: 0;
        border-top: 1px solid rgba(132, 220, 255, .16);
    }

    .pair-distribution-command-strip article:first-child {
        border-top: 0;
    }

    .pair-distribution-controls,
    .pair-filter-group {
        align-items: stretch;
        display: grid;
        width: 100%;
    }

    .pair-filter-group > div {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pair-filter-group:last-child > div {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pair-distribution-workspace .pair-filter-group .pair-filter {
        min-width: 0;
    }

    .pair-distribution-evidence > summary,
    .pair-distribution-methodology > summary {
        align-items: start;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .pair-distribution-evidence > summary small,
    .pair-distribution-methodology > summary small {
        grid-column: 2;
        margin-left: 0;
    }

    .pair-distribution-support-grid dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pair-distribution-support-grid dl > div:nth-child(3n + 1) {
        border-left: 1px solid rgba(100, 116, 139, .24);
    }

    .pair-distribution-support-grid dl > div:nth-child(odd) {
        border-left: 0;
    }
}

/* Compact two-column ATRP / DOR pair board. */
.pair-distribution-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.pair-distribution-pair-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(132, 220, 255, .42);
    border-radius: 6px;
    background: linear-gradient(135deg, rgba(8, 27, 42, .96), rgba(5, 17, 28, .96));
    box-shadow: 0 5px 14px rgba(0, 0, 0, .22);
}

.pair-distribution-card-header {
    position: relative;
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 4px 9px;
    overflow: hidden;
    border-bottom: 1px solid rgba(132, 220, 255, .2);
    background: rgba(9, 34, 53, .72);
}

.pair-distribution-card-header > :not(.pair-distribution-flags) {
    position: relative;
    z-index: 1;
}

.pair-distribution-card-header .pair-distribution-rank {
    color: #b3c1ca !important;
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.pair-distribution-card-header .trade-pair-link {
    color: #f8fafc !important;
    font-size: 15px;
    letter-spacing: .045em;
}

.pair-distribution-card-header .pair-distribution-health {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    justify-self: end;
}

.pair-distribution-card-header .pair-distribution-health small {
    margin: 0;
    max-width: 7rem;
}

.pair-distribution-card-header .pair-distribution-flags {
    inset: 0;
    opacity: .12;
}

.pair-distribution-card-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pair-distribution-card-metrics > div {
    display: grid;
    min-width: 0;
    gap: 2px;
    align-content: center;
    min-height: 49px;
    padding: 4px 7px;
    border-left: 1px solid rgba(100, 116, 139, .3);
    text-align: center;
}

.pair-distribution-card-metrics > div:first-child {
    border-left: 0;
}

.pair-distribution-card-metrics > div.is-selected-metric {
    background: rgba(251, 191, 36, .08);
    box-shadow: inset 0 -2px rgba(251, 191, 36, .68);
}

.pair-distribution-card-metrics span {
    color: #8299aa;
    font-size: 12px;
    font-weight: 850;
    letter-spacing: .05em;
    line-height: 1.15;
}

.pair-distribution-card-metrics strong {
    color: #edf4f7;
    font-size: 15px;
    font-variant-numeric: tabular-nums;
    line-height: 1.2;
}

.pair-distribution-card-metrics .pair-percentile-band {
    justify-self: center;
}

.pair-distribution-pair-card .pair-distribution-evidence {
    border-top-color: rgba(132, 220, 255, .18);
}

.pair-distribution-pair-card .pair-distribution-evidence > summary {
    padding: 5px 9px;
}

.pair-distribution-pair-card .pair-distribution-support-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 4px 8px 9px;
}

.pair-distribution-pair-card .pair-distribution-support-grid dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pair-distribution-pair-card .pair-distribution-support-grid dl > div:nth-child(3n + 1) {
    border-left: 1px solid rgba(100, 116, 139, .24);
}

.pair-distribution-pair-card .pair-distribution-support-grid dl > div:nth-child(odd) {
    border-left: 0;
}

@media (max-width: 1120px) {
    .pair-distribution-card-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 620px) {
    .pair-distribution-card-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pair-distribution-card-metrics > div:nth-child(3) {
        border-left: 0;
        border-top: 1px solid rgba(100, 116, 139, .3);
    }

    .pair-distribution-card-metrics > div:nth-child(4) {
        border-top: 1px solid rgba(100, 116, 139, .3);
    }

    .pair-distribution-pair-card .pair-distribution-support-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Client account centre uses the shared dashboard shell and keeps account,
   security and private Journal state separate from market calculations. */
.workspace-account-identity {
    color: inherit;
    text-decoration: none;
}

.workspace-account-identity:hover strong {
    color: #c9ecff;
}

.workspace-status a.status-live {
    text-decoration: none;
}

.client-account-workspace {
    font-size: 15px;
    min-width: 0;
}

.client-account-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.client-account-grid > section {
    grid-column: 1 / -1;
}

.client-home-hero-section { order: 1; }
.client-home-message-section { order: 2; }
.client-home-summary-section { order: 3; }
.client-home-referral-section { order: 4; }
.client-account-grid > #guide { order: 5; }
.client-home-launchpad-section { order: 6; }

.client-account-grid > #journal-activity {
    grid-column: 1 / -1;
    order: 7;
}

.client-account-grid > #profile {
    grid-column: 1 / span 6;
    order: 8;
}

.client-account-grid > #security {
    grid-column: 7 / -1;
    order: 8;
}

.client-account-grid > #notifications {
    grid-column: 1 / span 7;
    order: 9;
}

.client-account-grid > #support {
    grid-column: 8 / -1;
    order: 9;
}

.client-account-grid > #billing { order: 10; }

.client-account-grid,
.client-account-grid > *,
.client-account-grid .dashboard-card {
    min-width: 0;
}

.client-account-hero {
    background:
        linear-gradient(90deg, rgba(33, 145, 191, .08) 1px, transparent 1px),
        linear-gradient(rgba(33, 145, 191, .06) 1px, transparent 1px),
        radial-gradient(circle at 82% 10%, rgba(50, 184, 230, .18), transparent 31%),
        linear-gradient(135deg, rgba(6, 22, 36, .99), rgba(10, 37, 55, .97));
    background-size: 42px 42px, 42px 42px, auto, auto;
    border-top: 2px solid #32b8e6;
    display: grid;
    gap: 2.2rem;
    grid-template-columns: minmax(0, 1.45fr) minmax(18rem, .55fr);
    min-height: 224px;
    overflow: hidden;
    padding: 1.7rem 1.75rem;
    position: relative;
}

.client-account-hero::after {
    border: 1px solid rgba(120, 210, 246, .1);
    border-radius: 50%;
    content: "";
    height: 15rem;
    position: absolute;
    right: -5rem;
    top: -8rem;
    width: 15rem;
}

.client-home-hero-copy {
    align-self: center;
    max-width: 52rem;
    position: relative;
    z-index: 1;
}

.client-home-eyebrow {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1rem;
}

.client-home-status {
    background: rgba(43, 137, 184, .16);
    border: 1px solid rgba(95, 191, 232, .3);
    border-radius: 999px;
    color: #bce9fb;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .055em;
    padding: .35rem .58rem;
    text-transform: uppercase;
}

.client-account-hero h1 {
    font-size: clamp(1.75rem, 2vw, 2.15rem);
    letter-spacing: -.025em;
    margin: .55rem 0 .55rem;
}

.client-account-hero p,
.client-account-card .section-heading-row p {
    color: #9db0bd;
    font-size: .88rem;
    line-height: 1.55;
    margin: 0;
    max-width: 52rem;
}

.client-home-signed-in {
    align-items: center;
    color: #849dab;
    display: flex;
    flex-wrap: wrap;
    font-size: .72rem;
    gap: .35rem .55rem;
    margin-top: .85rem;
}

.client-home-signed-in span {
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.client-home-signed-in strong {
    color: #c6dce8;
    font-size: .75rem;
    overflow-wrap: anywhere;
}

.client-account-hero-actions {
    display: flex;
    gap: .65rem;
    margin-top: 1.15rem;
    position: relative;
    z-index: 1;
}

.client-account-hero-actions a,
.client-support-card > a,
.client-account-card .section-heading-row > a {
    border: 1px solid rgba(104, 185, 228, .38);
    border-radius: 4px;
    color: #bce5fb;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .035em;
    padding: .7rem .9rem;
    text-decoration: none;
    text-transform: uppercase;
}

.client-account-hero-actions a.is-primary {
    background: linear-gradient(135deg, #2384b2, #176489);
    border-color: #48a9d4;
    box-shadow: 0 8px 20px rgba(8, 63, 91, .25);
    color: #f6fcff;
}

.client-account-hero-actions a:hover,
.client-support-card > a:hover,
.client-account-card .section-heading-row > a:hover {
    background: rgba(40, 127, 166, .2);
    border-color: rgba(117, 213, 250, .65);
}

.client-home-access-panel {
    align-self: stretch;
    background: rgba(4, 16, 27, .7);
    border: 1px solid rgba(109, 188, 225, .23);
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 0;
    padding: 1rem 1.05rem;
    position: relative;
    z-index: 1;
}

.client-home-access-heading,
.client-home-renewal-state {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.client-home-access-heading span,
.client-home-renewal-state span {
    color: #7892a2;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.client-home-access-heading strong {
    color: #69d39d;
    font-size: .8rem;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.client-home-access-panel dl {
    display: grid;
    gap: .58rem;
    margin: .85rem 0;
}

.client-home-access-panel dl > div {
    align-items: center;
    border-bottom: 1px solid rgba(118, 168, 194, .12);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding-bottom: .52rem;
}

.client-home-access-panel dt {
    color: #8098a7;
    font-size: .78rem;
}

.client-home-access-panel dd {
    color: #e3edf2;
    font-size: .84rem;
    font-weight: 750;
    margin: 0;
    text-align: right;
}

.client-home-renewal-state {
    background: rgba(201, 158, 75, .09);
    border: 1px solid rgba(201, 158, 75, .2);
    border-radius: 4px;
    padding: .55rem .65rem;
}

.client-home-renewal-state strong {
    color: #e0c27e;
    font-size: .78rem;
}

.client-account-summary {
    display: grid;
    gap: .75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.client-account-summary article,
.client-account-journal-summary > div {
    background: rgba(8, 23, 37, .8);
    border: 1px solid rgba(127, 168, 193, .18);
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    gap: .28rem;
    padding: .9rem 1rem;
}

.client-account-summary article {
    border-top: 2px solid rgba(50, 184, 230, .45);
    min-height: 88px;
}

.client-home-launchpad {
    background:
        linear-gradient(135deg, rgba(8, 28, 44, .97), rgba(6, 20, 32, .99));
    border-top: 1px solid rgba(67, 178, 224, .34);
}

.client-home-workspace-count {
    border: 1px solid rgba(92, 178, 219, .23);
    border-radius: 999px;
    color: #83b9d4;
    flex: 0 0 auto;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .08em;
    padding: .45rem .62rem;
}

.client-home-workspace-grid {
    display: grid;
    gap: .7rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1rem;
}

.client-home-workspace-grid a {
    background:
        linear-gradient(145deg, rgba(9, 30, 46, .92), rgba(6, 20, 32, .9));
    border: 1px solid rgba(118, 177, 207, .18);
    border-top: 2px solid rgba(50, 184, 230, .56);
    border-radius: 5px;
    display: grid;
    gap: .22rem;
    min-height: 122px;
    padding: .95rem 1rem;
    position: relative;
    text-decoration: none;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.client-home-workspace-grid a:hover {
    background: rgba(18, 55, 77, .72);
    border-color: rgba(97, 199, 239, .48);
    box-shadow: 0 10px 26px rgba(2, 12, 20, .28);
    transform: translateY(-1px);
}

.client-home-workspace-grid a > span {
    color: #65c8ef;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
}

.client-home-workspace-grid a > strong {
    color: #eef8fc;
    font-size: 1.02rem;
    margin-top: .12rem;
}

.client-home-workspace-grid a > small {
    color: #829baa;
    font-size: .8rem;
    line-height: 1.4;
}

.client-home-workspace-grid a > em {
    align-self: end;
    color: #71bee3;
    font-size: .72rem;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .04em;
    margin-top: .35rem;
    text-transform: uppercase;
}

.client-account-summary a {
    color: #7dc7ea;
    text-decoration: none;
}

.client-account-summary span,
.client-account-journal-summary span {
    color: #8fa7b7;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.client-account-summary strong,
.client-account-journal-summary strong {
    color: #f2f7fa;
    font-size: 1.08rem;
}

.client-account-summary small {
    color: #738b9b;
    font-size: .78rem;
}

.client-referral-card {
    background:
        radial-gradient(circle at 88% 0%, rgba(50, 184, 230, .12), transparent 34%),
        linear-gradient(145deg, rgba(8, 28, 44, .97), rgba(6, 20, 32, .99));
    border-top: 2px solid rgba(50, 184, 230, .72);
}

.client-referral-layout {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.45fr) minmax(20rem, .55fr);
    margin-top: 1rem;
}

.client-referral-share {
    background: rgba(5, 18, 29, .58);
    border: 1px solid rgba(127, 168, 193, .16);
    border-radius: 5px;
    min-width: 0;
    padding: .9rem;
}

.client-referral-share > label,
.client-referral-code-row > span,
.client-referral-metrics span {
    color: #8fa7b7;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.client-referral-copy-row {
    display: grid;
    gap: .65rem;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-top: .48rem;
}

.client-referral-copy-row input {
    background: #061522;
    border: 1px solid rgba(104, 185, 228, .3);
    border-radius: 4px;
    color: #dcebf2;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 14px;
    min-width: 0;
    padding: .72rem .78rem;
}

.client-referral-copy-row button {
    background: linear-gradient(135deg, #2384b2, #176489);
    border: 1px solid #48a9d4;
    border-radius: 4px;
    color: #f6fcff;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    min-width: 7.5rem;
    padding: .72rem .9rem;
}

.client-referral-copy-row button:disabled {
    background: rgba(72, 89, 101, .34);
    border-color: rgba(125, 145, 157, .28);
    color: #748996;
    cursor: not-allowed;
}

.client-referral-code-row {
    align-items: center;
    display: grid;
    gap: .35rem .75rem;
    grid-template-columns: auto auto minmax(0, 1fr);
    margin-top: .75rem;
}

.client-referral-code-row strong {
    color: #cceaf7;
    font-family: "SFMono-Regular", Consolas, monospace;
    font-size: 15px;
    letter-spacing: .06em;
}

.client-referral-code-row small {
    color: #7f95a4;
    font-size: 14px;
    line-height: 1.45;
    text-align: right;
}

.client-referral-metrics {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.client-referral-metrics > div {
    background: rgba(8, 23, 37, .78);
    border: 1px solid rgba(127, 168, 193, .17);
    border-left: 3px solid rgba(50, 184, 230, .56);
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    gap: .2rem;
    justify-content: center;
    min-height: 74px;
    padding: .75rem .8rem;
}

.client-referral-metrics strong {
    color: #eef7fb;
    font-size: 20px;
    line-height: 1.2;
}

.client-account-card {
    height: 100%;
}

.client-account-card .brain-kicker {
    font-size: .72rem;
}

.client-account-card h2 {
    font-size: 1.28rem;
    letter-spacing: -.01em;
}

.client-readiness-overall {
    background: rgba(23, 98, 132, .2);
    border: 1px solid rgba(101, 194, 234, .32);
    border-radius: 999px;
    color: #bdeaff;
    flex: 0 0 auto;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .055em;
    padding: .52rem .75rem;
    text-transform: uppercase;
}

.client-readiness-summary {
    color: #9db5c3;
    font-size: .78rem;
    font-weight: 700;
    margin: .85rem 0;
}

.client-readiness-grid {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.client-readiness-item {
    background: rgba(8, 23, 37, .62);
    border: 1px solid rgba(127, 168, 193, .15);
    border-left: 3px solid #6f8491;
    border-radius: 4px;
    min-width: 0;
    padding: .75rem;
}

.client-readiness-item.is-live {
    border-left-color: #43c78a;
}

.client-readiness-item.is-delayed {
    border-left-color: #e0b55e;
}

.client-readiness-item.is-retained {
    border-left-color: #7ea9c4;
}

.client-readiness-item.is-warming {
    border-left-color: #b995e8;
}

.client-readiness-item.is-unavailable {
    border-left-color: #df6f78;
}

.client-readiness-item > div {
    align-items: flex-start;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
}

.client-readiness-item strong {
    color: #dce9f0;
    font-size: .79rem;
}

.client-readiness-item > div span {
    color: #9fc8dd;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.client-readiness-item p {
    color: #8298a6;
    font-size: .7rem;
    line-height: 1.45;
    margin: .42rem 0;
}

.client-readiness-item small {
    color: #647c8b;
    font-size: .64rem;
}

.client-readiness-key {
    border-top: 1px solid rgba(127, 168, 193, .14);
    display: flex;
    flex-wrap: wrap;
    gap: .55rem 1rem;
    margin-top: .9rem;
    padding-top: .75rem;
}

.client-readiness-key span {
    align-items: center;
    color: #8298a6;
    display: flex;
    font-size: .67rem;
    gap: .35rem;
}

.client-readiness-key b {
    background: #6f8491;
    border-radius: 50%;
    display: inline-block;
    height: .48rem;
    width: .48rem;
}

.client-readiness-key b.is-live { background: #43c78a; }
.client-readiness-key b.is-delayed { background: #e0b55e; }
.client-readiness-key b.is-retained { background: #7ea9c4; }
.client-readiness-key b.is-warming { background: #b995e8; }
.client-readiness-key b.is-unavailable { background: #df6f78; }

.client-account-details {
    display: grid;
    gap: .65rem;
    margin: 1rem 0;
}

.client-account-details > div,
.client-session-list > div {
    align-items: center;
    border-bottom: 1px solid rgba(127, 168, 193, .13);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .55rem 0;
}

.client-account-details dt,
.client-session-list span {
    color: #8fa7b7;
    font-size: .82rem;
}

.client-account-details dd {
    color: #dce8ef;
    font-size: .86rem;
    margin: 0;
    overflow-wrap: anywhere;
    text-align: right;
}

.client-account-form label {
    color: #a9bdca;
    display: block;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    margin-bottom: .4rem;
    text-transform: uppercase;
}

.client-account-inline-form {
    display: grid;
    gap: .6rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.client-account-inline-form input {
    background: #081827;
    border: 1px solid rgba(129, 171, 197, .28);
    border-radius: 4px;
    color: #edf6fa;
    min-width: 0;
    font-size: .86rem;
    padding: .7rem .75rem;
}

.client-account-inline-form button,
.client-account-security-action button,
.client-security-list button,
.client-notification-form button {
    background: #1d688f;
    border: 1px solid #3388b2;
    border-radius: 4px;
    color: #f5fbfe;
    cursor: pointer;
    font-size: .8rem;
    font-weight: 800;
    padding: .68rem .85rem;
}

.client-account-note {
    color: #7f95a4;
    font-size: .8rem;
    line-height: 1.5;
    margin: .8rem 0 0;
}

.client-security-list {
    display: grid;
    gap: .65rem;
    margin-top: 1rem;
}

.client-security-list > div {
    align-items: center;
    background: rgba(8, 23, 37, .62);
    border: 1px solid rgba(127, 168, 193, .14);
    border-radius: 4px;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .75rem;
}

.client-security-list > div > div {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.client-security-list span,
.client-security-state {
    color: #8197a6;
    font-size: .78rem;
}

.client-security-state {
    color: #d8b96e;
    font-weight: 800;
    text-align: right;
}

.client-session-list {
    margin-top: .75rem;
}

.client-session-list strong {
    color: #c8d8e1;
    font-size: .78rem;
    font-weight: 600;
}

.client-account-security-action {
    margin-top: .75rem;
}

.client-account-payment-table {
    min-width: 54rem;
}

.client-account-payment-table a {
    color: #80caef;
}

.client-notification-form {
    display: grid;
    gap: .8rem;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
    margin-top: 1rem;
}

.client-notification-form fieldset {
    background: rgba(6, 20, 32, .58);
    border: 1px solid rgba(127, 168, 193, .16);
    border-radius: 5px;
    display: grid;
    gap: .5rem;
    margin: 0;
    min-width: 0;
    padding: .85rem;
}

.client-notification-form legend {
    color: #9ed7f1;
    font-size: .76rem;
    font-weight: 850;
    letter-spacing: .065em;
    padding: 0 .35rem;
    text-transform: uppercase;
}

.client-notification-form label {
    align-items: flex-start;
    background: rgba(12, 35, 52, .54);
    border: 1px solid rgba(127, 168, 193, .12);
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    gap: .65rem;
    padding: .65rem .7rem;
}

.client-notification-form label span {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.client-notification-form label small {
    color: #7f95a4;
    font-size: .76rem;
}

.client-notification-form label strong {
    font-size: .84rem;
}

.client-notification-actions {
    align-items: center;
    border-top: 1px solid rgba(127, 168, 193, .14);
    display: flex;
    gap: 1rem;
    grid-column: 1 / -1;
    justify-content: space-between;
    padding-top: .8rem;
}

.client-notification-actions span {
    color: #8197a6;
    font-size: .78rem;
    line-height: 1.45;
}

.client-support-card {
    display: block;
}

.client-support-card p {
    color: #93a9b7;
    font-size: .82rem;
    line-height: 1.55;
}

.client-service-grid {
    display: grid;
    gap: .65rem;
    margin-top: 1rem;
}

.client-service-grid > div {
    background: rgba(8, 25, 39, .62);
    border: 1px solid rgba(127, 168, 193, .14);
    border-left: 3px solid rgba(68, 174, 221, .68);
    border-radius: 4px;
    padding: .75rem .8rem;
}

.client-service-grid span {
    color: #dceaf1;
    font-size: .84rem;
    font-weight: 800;
}

.client-service-grid p {
    margin: .25rem 0 0;
}

.client-service-contact {
    align-items: center;
    background: rgba(22, 79, 105, .13);
    border: 1px solid rgba(89, 177, 217, .22);
    border-radius: 5px;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: .8rem;
    padding: .8rem;
}

.client-service-contact > div {
    display: grid;
    gap: .22rem;
    min-width: 0;
}

.client-service-contact span {
    color: #7f98a7;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.client-service-contact strong {
    color: #d6e6ee;
    font-size: .82rem;
    overflow-wrap: anywhere;
}

.client-service-contact > a {
    border: 1px solid rgba(104, 185, 228, .38);
    border-radius: 4px;
    color: #bce5fb;
    flex: 0 0 auto;
    font-size: .78rem;
    font-weight: 800;
    padding: .65rem .78rem;
    text-decoration: none;
}

.client-service-request-guide {
    background: rgba(5, 18, 29, .48);
    border: 1px solid rgba(127, 168, 193, .13);
    border-radius: 5px;
    margin-top: .8rem;
    padding: .85rem;
}

.client-service-request-guide h3 {
    color: #dceaf1;
    font-size: .88rem;
    margin: 0 0 .55rem;
}

.client-service-request-guide ol {
    color: #8da3b1;
    display: grid;
    font-size: .78rem;
    gap: .4rem;
    line-height: 1.45;
    margin: 0;
    padding-left: 1.15rem;
}

.client-service-request-guide dl {
    border-top: 1px solid rgba(127, 168, 193, .13);
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: .75rem 0 0;
    padding-top: .7rem;
}

.client-service-request-guide dl > div {
    display: grid;
    gap: .18rem;
}

.client-service-request-guide dt {
    color: #718a99;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.client-service-request-guide dd {
    color: #d5e5ed;
    font-size: .82rem;
    font-weight: 750;
    margin: 0;
}

.client-workflow-steps {
    counter-reset: client-workflow;
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 1rem 0;
    padding: 0;
}

.client-workflow-steps li {
    background: rgba(8, 23, 37, .58);
    border: 1px solid rgba(127, 168, 193, .14);
    border-radius: 4px;
    display: grid;
    gap: .3rem;
    padding: .8rem .8rem .8rem 2.7rem;
    position: relative;
}

.client-workflow-steps li::before {
    align-items: center;
    background: rgba(43, 137, 184, .2);
    border: 1px solid rgba(83, 176, 220, .3);
    border-radius: 50%;
    color: #a8dcf5;
    content: counter(client-workflow);
    counter-increment: client-workflow;
    display: flex;
    font-size: .7rem;
    font-weight: 800;
    height: 1.45rem;
    justify-content: center;
    left: .75rem;
    position: absolute;
    top: .75rem;
    width: 1.45rem;
}

.client-workflow-steps strong {
    color: #dce9f0;
    font-size: .86rem;
}

.client-workflow-steps span {
    color: #8197a5;
    font-size: .78rem;
    line-height: 1.45;
}

.client-help-grid {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.client-help-grid details {
    background: rgba(8, 23, 37, .58);
    border: 1px solid rgba(127, 168, 193, .14);
    border-radius: 4px;
    min-width: 0;
    padding: .8rem;
}

.client-help-grid summary {
    color: #bfe6f8;
    cursor: pointer;
    font-size: .74rem;
    font-weight: 800;
}

.client-help-grid dl {
    display: grid;
    gap: .55rem;
    margin: .75rem 0 0;
}

.client-help-grid dl > div {
    border-top: 1px solid rgba(127, 168, 193, .11);
    padding-top: .5rem;
}

.client-help-grid dt {
    color: #d4e3eb;
    font-size: .7rem;
    font-weight: 700;
}

.client-help-grid dd,
.client-help-grid p {
    color: #8096a4;
    font-size: .68rem;
    line-height: 1.5;
    margin: .15rem 0 0;
}

.client-help-grid a {
    color: #80caef;
    display: inline-block;
    font-size: .7rem;
    margin-top: .65rem;
}

.client-account-journal-summary {
    display: grid;
    gap: .7rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1rem;
}

.client-account-activity-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
}

.client-account-grid > #journal-activity .client-account-journal-summary,
.client-account-grid > #journal-activity .client-account-activity-grid {
    grid-template-columns: 1fr;
}

.client-account-grid > #journal-activity .client-account-activity-grid > div {
    max-height: 12rem;
    overflow: auto;
}

.client-account-activity-grid > div {
    background: rgba(8, 23, 37, .55);
    border: 1px solid rgba(127, 168, 193, .14);
    border-radius: 4px;
    padding: .85rem;
}

.client-account-activity-grid h3 {
    color: #dce9f0;
    font-size: .94rem;
    margin: 0 0 .5rem;
}

.client-account-activity-grid a {
    border-top: 1px solid rgba(127, 168, 193, .12);
    color: #bcd1dc;
    display: flex;
    flex-direction: column;
    gap: .2rem;
    padding: .55rem 0;
    text-decoration: none;
}

.client-account-activity-grid a:first-of-type {
    border-top: 0;
}

.client-account-activity-grid small {
    color: #758b9a;
    font-size: .76rem;
}

.client-account-module {
    background:
        linear-gradient(145deg, rgba(9, 28, 43, .96), rgba(6, 19, 30, .98));
    border-top: 2px solid rgba(55, 171, 220, .5);
    padding: 1.15rem 1.2rem;
}

.client-account-module > .section-heading-row {
    border-bottom: 1px solid rgba(127, 168, 193, .14);
    padding-bottom: .85rem;
}

@media (max-width: 920px) {
    .client-account-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .client-account-grid > section,
    .client-account-grid > #journal-activity,
    .client-account-grid > #profile,
    .client-account-grid > #security,
    .client-account-grid > #notifications,
    .client-account-grid > #support {
        grid-column: 1 / -1;
    }

    .client-account-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .client-account-hero {
        grid-template-columns: 1fr;
    }

    .client-referral-layout {
        grid-template-columns: 1fr;
    }

    .client-readiness-grid,
    .client-workflow-steps,
    .client-help-grid,
    .client-home-workspace-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .client-notification-form {
        grid-template-columns: 1fr;
    }

    .client-notification-actions {
        grid-column: 1;
    }
}

@media (max-width: 620px) {
    .client-account-summary,
    .client-account-journal-summary,
    .client-account-activity-grid,
    .client-readiness-grid,
    .client-workflow-steps,
    .client-help-grid {
        grid-template-columns: 1fr;
    }

    .client-home-workspace-grid {
        grid-template-columns: 1fr;
    }

    .client-readiness-card .section-heading-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .client-home-access-panel {
        width: 100%;
    }

    .client-home-workspace-count {
        align-self: flex-start;
    }

    .client-account-hero-actions,
    .client-account-inline-form,
    .client-referral-copy-row,
    .client-security-list > div {
        align-items: stretch;
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .client-notification-actions,
    .client-service-contact {
        align-items: stretch;
        flex-direction: column;
    }

    .client-service-contact > a {
        text-align: center;
    }

    .client-account-hero-actions a,
    .client-account-inline-form button,
    .client-security-list button {
        text-align: center;
        width: 100%;
    }

    .client-security-state,
    .client-account-details dd {
        text-align: left;
    }

    .client-referral-code-row {
        align-items: start;
        grid-template-columns: 1fr;
    }

    .client-referral-code-row small {
        text-align: left;
    }

    .client-account-details > div,
    .client-session-list > div {
        align-items: flex-start;
        flex-direction: column;
        gap: .25rem;
    }
}

/* Client workspace typography uses the approved platform scale. */
.client-account-hero h1 {
    font-size: 26px;
}

.client-account-card h2 {
    font-size: 20px;
    line-height: 1.25;
}

.client-service-request-guide h3,
.client-account-activity-grid h3 {
    font-size: 16px;
    line-height: 1.35;
}

.client-account-hero p,
.client-account-card .section-heading-row p,
.client-account-card p,
.client-account-card li,
.client-home-workspace-grid a > small,
.client-account-summary small,
.client-workflow-steps span,
.client-account-note,
.client-security-list span,
.client-notification-form label small,
.client-notification-actions span,
.client-support-card p,
.client-service-grid p,
.client-service-request-guide ol,
.client-account-activity-grid small {
    font-size: 14px;
    line-height: 1.5;
}

.client-home-eyebrow,
.client-home-status,
.client-home-signed-in span,
.client-home-access-heading span,
.client-home-renewal-state span,
.client-home-workspace-count,
.client-home-workspace-grid a > span,
.client-home-workspace-grid a > em,
.client-account-summary span,
.client-account-journal-summary span,
.client-account-card .brain-kicker,
.client-account-details dt,
.client-account-form label,
.client-session-list span,
.client-security-state,
.client-notification-form legend,
.client-service-contact span,
.client-service-request-guide dt,
.client-account-payment-table th {
    font-size: 13px;
    line-height: 1.4;
}

.client-home-signed-in strong,
.client-home-access-heading strong,
.client-home-access-panel dd,
.client-home-renewal-state strong,
.client-account-details dd,
.client-account-inline-form input,
.client-account-inline-form button,
.client-account-security-action button,
.client-security-list button,
.client-session-list strong,
.client-notification-form button,
.client-notification-form label strong,
.client-service-grid span,
.client-service-contact strong,
.client-service-contact > a,
.client-service-request-guide dd,
.client-account-activity-grid a,
.client-account-payment-table td {
    font-size: 15px;
    line-height: 1.4;
}

.client-home-workspace-grid a > strong {
    font-size: 16px;
    line-height: 1.35;
}

.client-account-summary strong,
.client-account-journal-summary strong {
    font-size: 20px;
    line-height: 1.25;
}

.client-workflow-steps strong {
    font-size: 15px;
    line-height: 1.4;
}

.client-workflow-steps li::before {
    font-size: 13px;
}

/* Shared Portfolio / Trade Journal institutional presentation.
   Presentation only: scoring, lifecycle, persistence and role boundaries remain unchanged. */
.portfolio-workspace,
.trade-journal-workspace {
    gap: 16px;
    min-width: 0;
    padding: 0;
    font-size: 15px;
}

.portfolio-workspace .card,
.trade-journal-workspace .card {
    border-color: rgba(132, 220, 255, .34);
}

.portfolio-hero,
.trade-journal-hero {
    min-height: 146px;
    padding: 22px;
    border-top-color: #32b8e6;
}

.portfolio-hero h1,
.trade-journal-hero h1 {
    margin: 4px 0 7px;
    color: #f8fafc;
    font-size: 26px;
    line-height: 1.2;
}

.portfolio-hero p,
.trade-journal-hero p {
    max-width: 900px;
    margin: 0;
    color: #b4c3cd;
    font-size: 14px;
    line-height: 1.55;
}

.portfolio-hero-status,
.trade-journal-storage {
    min-width: 270px;
    padding: 12px 14px;
    border: 1px solid rgba(132, 220, 255, .32);
    border-radius: 6px;
    background: rgba(7, 21, 33, .78);
}

.portfolio-hero-status span,
.portfolio-hero-status small,
.trade-journal-storage span,
.trade-journal-storage small {
    font-size: 13px;
    line-height: 1.45;
}

.portfolio-hero-status strong,
.trade-journal-storage strong {
    color: #f4f8fa;
    font-size: 15px;
    line-height: 1.4;
}

.portfolio-summary-grid,
.trade-journal-operating-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.portfolio-summary-card,
.trade-journal-operating-strip > article {
    display: grid;
    min-width: 0;
    gap: 4px;
    padding: 14px;
    border-left: 3px solid #32b8e6;
    background: linear-gradient(135deg, rgba(9, 29, 45, .95), rgba(6, 18, 29, .96));
}

.portfolio-summary-card > span,
.trade-journal-operating-strip span {
    color: #8fa6b5;
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .055em;
    line-height: 1.35;
    text-transform: uppercase;
}

.portfolio-summary-card strong,
.trade-journal-operating-strip strong {
    color: #f5f8fa;
    font-size: 20px;
    font-variant-numeric: tabular-nums;
    line-height: 1.25;
}

.portfolio-summary-card small,
.trade-journal-operating-strip small {
    color: #b6c4cd;
    font-size: 14px;
    line-height: 1.45;
}

.portfolio-workspace .card h2,
.trade-journal-workspace .card h2 {
    font-size: 20px;
    line-height: 1.25;
}

.portfolio-workspace .card h3,
.trade-journal-workspace .card h3 {
    font-size: 16px;
    line-height: 1.35;
}

.portfolio-workspace .card h4,
.trade-journal-workspace .card h4 {
    font-size: 15px;
    line-height: 1.4;
}

.portfolio-workspace .card p,
.portfolio-workspace .card li,
.trade-journal-workspace .card p,
.trade-journal-workspace .card li,
.trade-journal-workspace .trade-journal-message {
    font-size: 14px;
    line-height: 1.55;
}

.portfolio-workspace .data-verification-subtitle,
.portfolio-workspace .brain-kicker,
.portfolio-workspace .data-status,
.portfolio-workspace .data-coverage,
.trade-journal-workspace .data-verification-subtitle,
.trade-journal-workspace .brain-kicker,
.trade-journal-workspace .data-status,
.trade-journal-workspace .data-coverage {
    font-size: 13px;
    line-height: 1.45;
}

.portfolio-board-card,
.portfolio-boundary-card,
.portfolio-risk-card,
.portfolio-performance-card,
.trade-journal-workspace > .card {
    padding: 18px;
}

.portfolio-ranking-panel,
.portfolio-risk-summary-grid > div,
.portfolio-risk-assets,
.portfolio-risk-table-shell,
.portfolio-risk-overlap,
.portfolio-risk-boundary-grid > div,
.open-risk-chart-card,
.open-risk-detail-grid > article,
.trade-rules-principles article,
.trade-rules-details details,
.trade-journal-alert,
.trade-journal-alert-history {
    border-color: rgba(132, 220, 255, .28);
}

.portfolio-ranking-panel h3 {
    padding: 10px 12px;
    background: #0c2437;
    color: #8fe4ff;
    font-size: 15px !important;
}

.portfolio-table th,
.portfolio-performance-table th,
.portfolio-risk-table th,
.trade-journal-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 8px 9px;
    border-bottom-color: rgba(132, 220, 255, .24);
    background: #0a2235;
    color: #91a8b8;
    font-size: 13px !important;
    letter-spacing: .045em;
    line-height: 1.35;
    text-transform: uppercase;
}

.portfolio-table td,
.portfolio-performance-table td,
.portfolio-risk-table td,
.trade-journal-table td {
    padding: 8px 9px;
    border-bottom-color: rgba(100, 116, 139, .3);
    color: #d9e4ea;
    font-size: 15px !important;
    line-height: 1.4;
}

.portfolio-table td strong,
.portfolio-performance-table td strong,
.portfolio-risk-table td strong,
.trade-journal-table td strong {
    color: #f6f9fa;
    font-size: 15px;
}

.portfolio-table td small,
.portfolio-performance-table td small,
.portfolio-risk-table td small,
.trade-journal-table td small {
    color: #91a8b8;
    font-size: 13px !important;
    line-height: 1.45;
}

.portfolio-table a,
.portfolio-performance-table a,
.trade-journal-instrument-link {
    color: #f8fafc !important;
    font-weight: 800;
}

.portfolio-table a:hover,
.portfolio-table a:focus-visible,
.portfolio-performance-table a:hover,
.portfolio-performance-table a:focus-visible,
.trade-journal-instrument-link:hover,
.trade-journal-instrument-link:focus-visible {
    color: #82dcff !important;
}

.portfolio-risk-card {
    padding: 18px;
}

.portfolio-workspace .portfolio-risk-badge,
.portfolio-workspace .portfolio-risk-state,
.trade-journal-workspace .portfolio-risk-badge,
.trade-journal-workspace .portfolio-risk-state {
    padding: 5px 8px;
    font-size: 13px;
    line-height: 1.35;
}

.portfolio-workspace .portfolio-risk-summary-grid span,
.trade-journal-workspace .portfolio-risk-summary-grid span {
    font-size: 13px;
}

.portfolio-workspace .portfolio-risk-summary-grid small,
.trade-journal-workspace .portfolio-risk-summary-grid small,
.portfolio-workspace .portfolio-risk-assets p,
.portfolio-workspace .portfolio-risk-assets span,
.portfolio-workspace .portfolio-risk-assets small,
.trade-journal-workspace .portfolio-risk-assets p,
.trade-journal-workspace .portfolio-risk-assets span,
.trade-journal-workspace .portfolio-risk-assets small,
.portfolio-workspace .portfolio-risk-overlap > p,
.trade-journal-workspace .portfolio-risk-overlap > p,
.portfolio-workspace .portfolio-risk-overlap-row span,
.portfolio-workspace .portfolio-risk-overlap-row small,
.trade-journal-workspace .portfolio-risk-overlap-row span,
.trade-journal-workspace .portfolio-risk-overlap-row small,
.portfolio-workspace .open-risk-context-header p,
.portfolio-workspace .open-risk-chart-card > p,
.trade-journal-workspace .open-risk-context-header p,
.trade-journal-workspace .open-risk-chart-card > p,
.portfolio-workspace .open-risk-event-row small,
.portfolio-workspace .open-risk-volatility-row small,
.trade-journal-workspace .open-risk-event-row small,
.trade-journal-workspace .open-risk-volatility-row small,
.portfolio-workspace .portfolio-risk-boundary-grid li,
.trade-journal-workspace .portfolio-risk-boundary-grid li {
    font-size: 14px;
    line-height: 1.5;
}

.portfolio-workspace .portfolio-risk-summary-grid strong,
.trade-journal-workspace .portfolio-risk-summary-grid strong {
    font-size: 20px;
}

.portfolio-workspace .portfolio-risk-asset-grid strong,
.portfolio-workspace .portfolio-risk-overlap-row strong,
.portfolio-workspace .open-risk-bar-row > span,
.portfolio-workspace .open-risk-bar-row > strong,
.portfolio-workspace .open-risk-event-row strong,
.portfolio-workspace .open-risk-volatility-row strong,
.trade-journal-workspace .portfolio-risk-asset-grid strong,
.trade-journal-workspace .portfolio-risk-overlap-row strong,
.trade-journal-workspace .open-risk-bar-row > span,
.trade-journal-workspace .open-risk-bar-row > strong,
.trade-journal-workspace .open-risk-event-row strong,
.trade-journal-workspace .open-risk-volatility-row strong {
    font-size: 15px;
    line-height: 1.45;
}

.trade-journal-alert-history {
    overflow: hidden;
    padding: 0 !important;
}

.trade-journal-alert-history > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 16px;
    cursor: pointer;
    list-style: none;
    background: rgba(10, 34, 53, .72);
}

.trade-journal-alert-history > summary::-webkit-details-marker {
    display: none;
}

.trade-journal-alert-history > summary > span:first-child {
    display: grid;
    gap: 3px;
}

.trade-journal-alert-history > summary strong {
    color: #f4f8fa;
    font-size: 16px;
}

.trade-journal-alert-history > summary small {
    color: #91a8b8;
    font-size: 13px;
}

.trade-journal-alert-history > .trade-journal-alert-grid {
    padding: 10px;
    border-top: 1px solid rgba(132, 220, 255, .22);
}

.trade-journal-alert-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.trade-journal-alert {
    padding: 10px 12px;
}

.trade-rules-principles strong,
.trade-rules-details summary {
    font-size: 15px !important;
}

.trade-rules-principles p,
.trade-rules-details li,
.trade-rules-boundary {
    font-size: 14px !important;
}

@media (max-width: 1200px) {
    .trade-journal-operating-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .portfolio-hero,
    .trade-journal-hero {
        display: grid;
        min-height: 0;
        padding: 18px;
    }

    .portfolio-hero-status,
    .trade-journal-storage {
        width: 100%;
        min-width: 0;
        text-align: left;
    }

    .portfolio-summary-grid,
    .trade-journal-operating-strip {
        grid-template-columns: minmax(0, 1fr);
    }

    .trade-journal-alert-history > summary {
        align-items: start;
        display: grid;
    }
}

/* Trade Journal risk refinement and Portfolio opportunity alignment. */
.trade-journal-workspace .open-risk-bar-track {
    height: 7px;
    border-color: rgba(100, 116, 139, .3);
    background: rgba(2, 6, 23, .58);
}

.trade-journal-workspace .open-risk-bar-track i {
    opacity: .84;
    filter: saturate(.84);
    box-shadow: none;
}

.trade-journal-workspace .open-risk-bar-track i.long {
    color: #59b57f;
}

.trade-journal-workspace .open-risk-bar-track i.short,
.trade-journal-workspace .open-risk-bar-track i.event-high {
    color: #cf6b79;
}

.trade-journal-workspace .open-risk-bar-track i.event-medium {
    color: #d0aa55;
}

.trade-journal-workspace .open-risk-detail-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

.trade-journal-workspace .open-risk-detail-grid > article {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 14px;
    padding: 12px 14px;
}

.trade-journal-workspace .open-risk-detail-grid > article > h4,
.trade-journal-workspace .open-risk-detail-grid > article > .portfolio-risk-empty {
    grid-column: 1 / -1;
}

.trade-journal-workspace .open-risk-detail-grid h4 {
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(132, 220, 255, .2);
}

.trade-journal-workspace .open-risk-event-row,
.trade-journal-workspace .open-risk-volatility-row {
    align-items: start;
    min-height: 56px;
    padding: 8px 0;
    border-top: 0;
    border-bottom: 1px solid rgba(100, 116, 139, .24);
}

.trade-journal-workspace .open-risk-event-row:first-of-type,
.trade-journal-workspace .open-risk-volatility-row:first-of-type {
    margin-top: 0;
}

.trade-journal-workspace .open-risk-event-row:nth-last-child(-n + 2),
.trade-journal-workspace .open-risk-volatility-row:nth-last-child(-n + 2) {
    border-bottom-color: transparent;
}

.trade-journal-workspace .open-risk-event-row .portfolio-risk-state,
.trade-journal-workspace .open-risk-volatility-row .portfolio-risk-state {
    flex: 0 0 auto;
    padding: 4px 7px;
}

.trade-journal-workspace .open-risk-event-row {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 68px minmax(240px, 1.45fr) minmax(92px, .48fr) minmax(145px, .72fr) minmax(160px, .78fr) minmax(135px, .65fr);
    align-items: stretch;
    gap: 0;
    min-height: 0;
    padding: 0;
    border-bottom: 1px solid rgba(100, 116, 139, .25);
    background: rgba(7, 18, 29, .38);
}

.trade-journal-workspace .open-risk-events-card {
    grid-template-columns: minmax(0, 1fr) !important;
}

.trade-journal-workspace .open-risk-event-columns {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: 68px minmax(240px, 1.45fr) minmax(92px, .48fr) minmax(145px, .72fr) minmax(160px, .78fr) minmax(135px, .65fr);
    min-width: 0;
    border-top: 1px solid rgba(125, 211, 252, .28);
    border-bottom: 1px solid rgba(125, 211, 252, .24);
    background: linear-gradient(180deg, rgba(18, 42, 61, .94), rgba(12, 30, 45, .94));
}

.trade-journal-workspace .open-risk-event-columns span {
    min-width: 0;
    padding: 7px 9px;
    border-left: 1px solid rgba(100, 116, 139, .24);
    color: #8fa8b9;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .075em;
    line-height: 1.25;
    text-transform: uppercase;
}

.trade-journal-workspace .open-risk-event-columns span:first-child {
    border-left: 0;
}

.trade-journal-workspace .open-risk-event-row:nth-of-type(even) {
    background: rgba(11, 27, 41, .54);
}

.trade-journal-workspace .open-risk-event-row > div {
    display: flex;
    min-width: 0;
    align-items: center;
    padding: 8px 9px;
    border-left: 1px solid rgba(100, 116, 139, .20);
}

.trade-journal-workspace .open-risk-event-row > div:first-child {
    border-left: 0;
}

.trade-journal-workspace .open-risk-event-name strong {
    color: #f1f6f9;
    font-weight: 750;
}

.trade-journal-workspace .open-risk-event-schedule strong,
.trade-journal-workspace .open-risk-event-last strong,
.trade-journal-workspace .open-risk-event-forecast strong,
.trade-journal-workspace .open-risk-event-exposure strong {
    color: #c7d5de;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
}

.trade-journal-workspace .open-risk-event-row strong {
    overflow: hidden;
    font-size: 14px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.trade-journal-workspace .open-risk-event-risk {
    justify-content: center;
}

.trade-journal-workspace .open-risk-event-risk .portfolio-risk-amber {
    color: #d8b83f !important;
}

.portfolio-workspace .portfolio-risk-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

.portfolio-workspace .portfolio-risk-overlap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 14px;
    padding: 13px 15px;
}

.portfolio-workspace .portfolio-risk-overlap > h3,
.portfolio-workspace .portfolio-risk-overlap > p,
.portfolio-workspace .portfolio-risk-overlap > .portfolio-risk-empty {
    grid-column: 1 / -1;
}

.portfolio-workspace .portfolio-risk-overlap > h3 {
    margin-bottom: 5px;
}

.portfolio-workspace .portfolio-risk-overlap > p {
    margin-bottom: 7px;
}

.portfolio-workspace .portfolio-risk-overlap-row {
    align-content: start;
    min-width: 0;
    padding: 9px 0;
    border-top-color: rgba(100, 116, 139, .26);
}

.portfolio-workspace .portfolio-detail-grid {
    gap: 12px;
    align-items: start;
}

.portfolio-workspace .portfolio-list-card {
    overflow: hidden;
    padding: 0;
    border: 1px solid rgba(132, 220, 255, .3);
    border-top-width: 3px;
    background: linear-gradient(180deg, rgba(12, 36, 55, .84), rgba(8, 20, 31, .96));
}

.portfolio-workspace .portfolio-long-card {
    border-top-color: rgba(74, 222, 128, .72);
}

.portfolio-workspace .portfolio-short-card {
    border-top-color: rgba(251, 113, 133, .72);
}

.portfolio-workspace .portfolio-avoid-card {
    border-top-color: rgba(248, 113, 113, .78);
}

.portfolio-workspace .portfolio-list-card h2 {
    margin: 0;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(132, 220, 255, .2);
    background: rgba(10, 34, 53, .68);
    color: #f4f8fa;
    font-size: 17px !important;
    letter-spacing: .02em;
}

.portfolio-workspace .portfolio-list-row {
    grid-template-columns: minmax(0, 1fr) 68px 60px;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 8px 12px;
    border-bottom-color: rgba(100, 116, 139, .28);
}

.portfolio-workspace .portfolio-list-row:last-of-type {
    border-bottom: 0;
}

.portfolio-workspace .portfolio-list-row strong {
    color: #f8fafc;
    font-size: 15px;
}

.portfolio-workspace .portfolio-list-row > span:nth-child(2) {
    justify-self: start;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .035em;
}

.portfolio-workspace .portfolio-list-row > span:last-child {
    justify-self: end;
    color: #d9e4ea;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
}

.portfolio-workspace .portfolio-list-card > .data-empty {
    padding: 14px 12px;
}

/* Portfolio 2 uses the canonical Portfolio workspace shell while preserving
   the isolated Brain 2 lifecycle and validation contracts. */
.portfolio2-workspace > [id^="portfolio2-"] {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.portfolio2-workspace .brain2-portfolio-panel,
.portfolio2-workspace .brain2-calibration-panel {
    margin: 0;
    overflow: hidden;
    border-top: 3px solid #32b8e6;
    border-radius: 6px;
    background: linear-gradient(180deg, rgba(9, 29, 45, .96),
        rgba(6, 18, 29, .98));
}

.portfolio2-workspace .brain2-section-heading {
    margin: 0;
    padding: 0 0 14px;
    border-bottom: 1px solid rgba(132, 220, 255, .22);
}

.portfolio2-workspace .brain2-section-heading h2 {
    margin: 0;
}

.portfolio2-workspace .brain2-section-heading > p {
    max-width: 760px;
    margin: 0;
    color: #b4c3cd;
}

.portfolio2-workspace .brain2-portfolio-strip,
.portfolio2-workspace .brain2-calibration-strip,
.portfolio2-workspace .brain2-calibration-gates {
    margin-top: 14px;
}

.portfolio2-workspace .brain2-portfolio-table-wrap,
.portfolio2-workspace .brain2-calibration-table-wrap {
    margin-top: 10px;
    border-color: rgba(132, 220, 255, .24);
}

.portfolio2-workspace .brain2-portfolio-table,
.portfolio2-workspace .brain2-calibration-table {
    min-width: 920px;
}

.portfolio2-workspace .brain2-portfolio-closed {
    margin-top: 16px;
    border-color: rgba(132, 220, 255, .24);
}

.portfolio2-workspace .brain2-calibration-panel {
    margin-top: 0;
}

@media (max-width: 980px) {
    .portfolio-workspace .portfolio-risk-overlap {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .trade-journal-workspace .open-risk-detail-grid > article,
    .portfolio-workspace .portfolio-risk-overlap {
        grid-template-columns: minmax(0, 1fr);
    }

    .trade-journal-workspace .open-risk-event-row:nth-last-child(-n + 2),
    .trade-journal-workspace .open-risk-volatility-row:nth-last-child(-n + 2) {
        border-bottom-color: rgba(100, 116, 139, .24);
    }

    .trade-journal-workspace .open-risk-event-row:last-child,
    .trade-journal-workspace .open-risk-volatility-row:last-child,
    .portfolio-workspace .portfolio-risk-overlap-row:last-child {
        border-bottom-color: transparent;
    }

    .portfolio-workspace .portfolio-risk-overlap > h3,
    .portfolio-workspace .portfolio-risk-overlap > p,
    .portfolio-workspace .portfolio-risk-overlap > .portfolio-risk-empty {
        grid-column: 1;
    }
}

/* Compact AER range disclosure: preserve the forecast while keeping upcoming
   rows aligned with the released-event ledger. */
.calendar-page-workspace .calendar-table td:nth-child(8) {
    position: relative;
    overflow: visible;
}

.calendar-page-workspace .calendar-forecast-cell {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
}

.calendar-page-workspace .calendar-range-trigger {
    position: relative;
    z-index: 2;
    display: inline;
    min-width: 0;
    height: auto;
    padding: 0;
    border: 0;
    border-bottom: 1px dotted rgba(125, 211, 252, .56);
    border-radius: 0;
    outline: 0;
    color: inherit;
    background: transparent;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    cursor: help;
}

.calendar-page-workspace .calendar-range-trigger:hover,
.calendar-page-workspace .calendar-range-trigger:focus-visible {
    z-index: 40;
    border-bottom-color: rgba(186, 230, 253, .92);
    background: transparent;
    box-shadow: 0 2px 0 rgba(56, 189, 248, .16);
}

.calendar-page-workspace .calendar-range-trigger:hover .calendar-alliance-forecast,
.calendar-page-workspace .calendar-range-trigger:focus-visible .calendar-alliance-forecast {
    color: #d9f2ff;
}

.calendar-page-workspace .calendar-range-popover {
    position: fixed;
    z-index: 2147483000;
    inset: auto;
    display: grid;
    box-sizing: border-box;
    width: 260px;
    max-width: calc(100vw - 24px);
    margin: 0;
    padding: 10px 11px;
    gap: 4px;
    border: 1px solid rgba(125, 211, 252, .46);
    border-radius: 5px;
    visibility: hidden;
    opacity: 0;
    color: #d9e4ea;
    background: #081725;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .48);
    text-align: left;
    white-space: normal;
    transition: opacity .14s ease, visibility .14s ease;
    pointer-events: none;
}

.calendar-page-workspace .calendar-range-popover:popover-open,
.calendar-page-workspace .calendar-range-popover.is-open {
    display: grid;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.calendar-page-workspace .calendar-range-popover > span {
    color: #8299aa;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .055em;
    line-height: 1.3;
    text-transform: uppercase;
}

.calendar-page-workspace .calendar-range-popover > strong {
    color: #f4f8fa;
    font-size: 16px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    line-height: 1.35;
}

.calendar-page-workspace .calendar-range-popover > small {
    color: #9fb0bd;
    font-size: 14px;
    line-height: 1.5;
}

.calendar-page-workspace .calendar-institutional-report {
    width: min(1040px, calc(100vw - 24px));
    max-height: min(88vh, 900px);
    padding: 18px;
    gap: 12px;
    overflow: auto;
    border-color: rgba(125, 211, 252, .6);
    border-radius: 7px;
    background:
        linear-gradient(150deg, rgba(12, 31, 46, .99), rgba(5, 17, 28, .99));
}

.calendar-page-workspace .calendar-institutional-report >
    .calendar-report-kicker {
    color: #7dd3fc;
    font-size: 15px;
}

.calendar-page-workspace .calendar-institutional-report >
    .calendar-report-range {
    font-size: 22px;
    line-height: 1.3;
}

.calendar-page-workspace .calendar-institutional-report >
    .calendar-report-expectation {
    color: #f4f8fa;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.45;
    text-transform: none;
}

.calendar-page-workspace .calendar-institutional-report > small {
    font-size: 16px;
}

.calendar-page-workspace .calendar-probability-bar {
    display: flex;
    height: 8px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .32);
    border-radius: 999px;
    background: #111f2a;
}

.calendar-page-workspace .calendar-report-headline-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: 0;
    line-height: inherit;
    text-transform: none;
}

.calendar-page-workspace .calendar-report-signal-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.calendar-page-workspace .calendar-institutional-report >
    .calendar-report-signal-strip {
    color: inherit;
    font-size: 16px;
    font-weight: normal;
    letter-spacing: 0;
    line-height: 1.35;
    text-transform: none;
}

.calendar-page-workspace .calendar-report-signal-strip > span {
    display: grid;
    gap: 4px;
    padding: 8px 11px;
    border: 1px solid rgba(125, 211, 252, .3);
    border-radius: 4px;
    background: rgba(11, 28, 41, .82);
}

.calendar-page-workspace .calendar-report-signal-strip em {
    color: #7dd3fc;
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
}

.calendar-page-workspace .calendar-report-signal-strip b {
    color: #f4f8fa;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
}

.calendar-page-workspace .calendar-report-headline-tile {
    display: grid;
    gap: 4px;
    padding: 11px 12px;
    border: 1px solid rgba(125, 211, 252, .3);
    border-left: 3px solid rgba(125, 211, 252, .72);
    border-radius: 4px;
    background: rgba(11, 28, 41, .82);
}

.calendar-page-workspace .calendar-report-base-case {
    border-left-color: #d8b64c;
}

.calendar-page-workspace .calendar-report-headline-tile em {
    color: #7dd3fc;
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.calendar-page-workspace .calendar-report-headline-tile strong {
    color: #f4f8fa;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
}

.calendar-page-workspace .calendar-report-headline-tile small {
    color: #9fb0bd;
    font-size: 15px;
    line-height: 1.4;
}

.calendar-page-workspace .calendar-probability-bar i {
    display: block;
    min-width: 2px;
}

.calendar-page-workspace .calendar-probability-above {
    background: #55c884;
}

.calendar-page-workspace .calendar-probability-inside {
    background: #d8b64c;
}

.calendar-page-workspace .calendar-probability-below {
    background: #e27777;
}

.calendar-page-workspace .calendar-probability-labels {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.calendar-page-workspace .calendar-probability-labels b {
    padding: 5px 8px;
    border: 1px solid rgba(125, 211, 252, .22);
    border-radius: 3px;
    color: #d9e4ea;
    background: rgba(15, 36, 52, .72);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
}

.calendar-page-workspace .calendar-report-details {
    border: 1px solid rgba(100, 116, 139, .32);
    border-radius: 4px;
    background: rgba(6, 20, 31, .7);
}

.calendar-page-workspace .calendar-report-details > summary {
    padding: 10px 12px;
    color: #c6eaff;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: .025em;
    cursor: pointer;
}

.calendar-page-workspace .calendar-report-details > span:not(.calendar-scenario-grid) {
    display: block;
    padding: 0 12px 10px;
    color: #bdcbd5;
    font-size: 16px;
    line-height: 1.5;
}

.calendar-page-workspace .calendar-report-details em,
.calendar-page-workspace .calendar-review-grid em,
.calendar-page-workspace .calendar-scenario-card em {
    display: block;
    margin-bottom: 2px;
    color: #79cce8;
    font-size: 15px;
    font-style: normal;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.calendar-page-workspace .calendar-scenario-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 0 10px 10px;
}

.calendar-page-workspace .calendar-scenario-card {
    display: grid;
    align-content: start;
    gap: 9px;
    padding: 13px;
    border: 1px solid rgba(100, 116, 139, .36);
    border-top: 3px solid #d8b64c;
    border-radius: 3px;
    color: #bdcbd5;
    background: rgba(13, 31, 44, .86);
    font-size: 16px;
    line-height: 1.42;
}

.calendar-page-workspace .calendar-scenario-card > b {
    color: #f4f8fa;
    font-size: 17px;
}

.calendar-page-workspace .calendar-scenario-above {
    border-top-color: #55c884;
}

.calendar-page-workspace .calendar-scenario-below {
    border-top-color: #e27777;
}

.calendar-page-workspace .calendar-review-status {
    justify-self: start;
    padding: 4px 8px;
    border: 1px solid rgba(216, 182, 76, .45);
    border-radius: 999px;
    color: #f1d87a;
    background: rgba(216, 182, 76, .1);
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.calendar-page-workspace .calendar-review-complete {
    border-color: rgba(85, 200, 132, .48);
    color: #8ee8ae;
    background: rgba(85, 200, 132, .1);
}

.calendar-page-workspace .calendar-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.calendar-page-workspace .calendar-review-grid > span,
.calendar-page-workspace .calendar-review-stage {
    display: grid;
    gap: 4px;
    padding: 11px;
    border: 1px solid rgba(100, 116, 139, .3);
    border-radius: 3px;
    color: #bdcbd5;
    background: rgba(11, 28, 41, .76);
    font-size: 16px;
    line-height: 1.42;
}

.calendar-page-workspace .calendar-review-stage {
    margin: 0 8px 8px;
}

.calendar-page-workspace .calendar-archive-filter {
    display: none;
}

.calendar-page-workspace .calendar-filters:has(
    [data-calendar-view-button="archive"].is-active) .calendar-archive-filter {
    display: grid;
}

.calendar-page-workspace .calendar-search-field {
    min-width: 190px;
}

.calendar-page-workspace .calendar-search-field input,
.calendar-page-workspace .calendar-archive-filter > input {
    min-height: 34px;
    border: 1px solid rgba(125, 211, 252, .26);
    border-radius: 3px;
    color: #e6edf2;
    background: #0b1d2a;
    font-size: 14px;
}

@media (max-width: 900px) {
    .calendar-page-workspace .calendar-institutional-report {
        padding: 16px;
    }

    .calendar-page-workspace .calendar-scenario-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .trade-journal-workspace .open-risk-event-columns {
        display: none;
    }

    .trade-journal-workspace .open-risk-event-row {
        grid-template-columns: 82px minmax(0, 1fr);
        border: 1px solid rgba(100, 116, 139, .28);
        border-radius: 4px;
    }

    .trade-journal-workspace .open-risk-event-schedule,
    .trade-journal-workspace .open-risk-event-last,
    .trade-journal-workspace .open-risk-event-forecast,
    .trade-journal-workspace .open-risk-event-exposure {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: 108px minmax(0, 1fr);
        gap: 8px;
    }

    .trade-journal-workspace .open-risk-event-schedule::before,
    .trade-journal-workspace .open-risk-event-last::before,
    .trade-journal-workspace .open-risk-event-forecast::before,
    .trade-journal-workspace .open-risk-event-exposure::before {
        content: attr(data-label);
        color: #8299aa;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
}

@media (max-width: 700px) {
    .calendar-page-workspace .calendar-range-popover {
        width: min(1040px, calc(100vw - 24px));
    }

    .calendar-page-workspace .calendar-institutional-report {
        padding: 14px;
    }

    .calendar-page-workspace .calendar-scenario-grid,
    .calendar-page-workspace .calendar-review-grid,
    .calendar-page-workspace .calendar-report-headline-grid,
    .calendar-page-workspace .calendar-report-signal-strip {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Research opening metrics: clearer desk-grade separation without changing
   the approved sizing, colour hierarchy, or underlying content. */
.research-currency-page .research-currency-score-strip > .research-score-tile {
    border-color: rgba(125, 211, 252, .46);
    border-left-color: #38bdf8;
    box-shadow:
        inset 0 1px 0 rgba(186, 230, 253, .08),
        0 3px 10px rgba(0, 0, 0, .2);
}

.research-pair-page .research-pair-command-strip {
    border-color: rgba(125, 211, 252, .46);
    box-shadow:
        inset 0 1px 0 rgba(186, 230, 253, .07),
        0 3px 10px rgba(0, 0, 0, .18);
}

.research-pair-page .research-pair-command-strip > div {
    border-right-color: rgba(125, 211, 252, .32);
    box-shadow: inset 0 1px 0 rgba(186, 230, 253, .05);
}

/* Institutional Indices evidence ledger. The index identity is the research
   route, so the table stays compact without a redundant action column. */
.indices-workspace .indices-evidence-card {
    overflow: hidden;
    border-color: rgba(132, 220, 255, .32);
    background: linear-gradient(155deg, #101f2d, #091622);
}

.indices-workspace .indices-evidence-card .data-verification-header {
    margin: -20px -20px 0;
    padding: 14px 20px;
    border-bottom: 1px solid rgba(132, 220, 255, .24);
    background: linear-gradient(90deg, rgba(8, 36, 55, .9), rgba(8, 24, 38, .72));
}

.indices-workspace .indices-evidence-card .metric-evidence-scroll {
    margin: 0 -20px -20px;
}

.indices-workspace .indices-evidence-table {
    min-width: 940px;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
}

.indices-workspace .indices-evidence-table col.indices-evidence-col-index {
    width: 17%;
}

.indices-workspace .indices-evidence-table col.indices-evidence-col-level {
    width: 12%;
}

.indices-workspace .indices-evidence-table col.indices-evidence-col-change {
    width: 14%;
}

.indices-workspace .indices-evidence-table col.indices-evidence-col-score {
    width: 8%;
}

.indices-workspace .indices-evidence-table col.indices-evidence-col-regime {
    width: 13%;
}

.indices-workspace .indices-evidence-table col.indices-evidence-col-channel {
    width: 22%;
}

.indices-workspace .indices-evidence-table th {
    padding: 9px 12px;
    border-right: 1px solid rgba(132, 220, 255, .12);
    border-bottom: 1px solid rgba(132, 220, 255, .34);
    color: #b7d8e8;
    background: #0a2235;
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .055em;
}

.indices-workspace .indices-evidence-table td {
    padding: 10px 12px;
    border-right: 1px solid rgba(100, 116, 139, .15);
    border-bottom: 1px solid rgba(100, 116, 139, .28);
    color: #dce6ec;
    background: rgba(5, 17, 28, .5);
    font-size: 14px;
    line-height: 1.4;
    vertical-align: middle;
}

.indices-workspace .indices-evidence-table th:last-child,
.indices-workspace .indices-evidence-table td:last-child {
    border-right: 0;
}

.indices-workspace .indices-evidence-table tbody tr:nth-child(even) td {
    background: rgba(10, 31, 46, .62);
}

.indices-workspace .indices-evidence-table tbody tr:hover td {
    background: rgba(16, 52, 74, .7);
}

.indices-workspace .indices-evidence-identity a,
.indices-workspace .indices-evidence-identity a:visited {
    display: block;
    margin-top: 2px;
    color: #9fb4c2;
    text-decoration: none;
}

.indices-workspace .indices-evidence-identity a:hover,
.indices-workspace .indices-evidence-identity a:focus-visible {
    color: #ffffff;
    text-decoration: underline;
    text-decoration-color: #84dcff;
    text-underline-offset: 3px;
}

.indices-workspace .indices-evidence-identity strong {
    display: block;
    color: #f6fafc;
    font-size: 15px;
    letter-spacing: .045em;
}

.indices-workspace .indices-evidence-identity span {
    color: inherit;
    font-size: 13px;
}

/* Top 15 aligned shortlist only: retain the state hierarchy while reducing
   the luminance of supportive and neutral/amber accents. */
.brain2-alignment-shortlist-grid .brain2-alignment-direction.is-long,
.brain2-alignment-shortlist-grid .brain2-confirmation-tile.is-confirming,
.brain2-alignment-shortlist-grid .brain2-final-traffic.is-green {
    color: #6fc77b;
}

.brain2-alignment-shortlist-grid .brain2-alignment-direction.is-flat,
.brain2-alignment-shortlist-grid .brain2-confirmation-tile.is-mixed,
.brain2-alignment-shortlist-grid .brain2-confirmation-tile.is-neutral,
.brain2-alignment-shortlist-grid .brain2-final-traffic.is-amber {
    color: #d9ad55;
}

/* Brain 2 Cross Matrix only: increase signal visibility one controlled step
   while retaining the existing five-level heat hierarchy. */
.brain2-cross-matrix-panel .brain2-cross-link.is-long-1 {
    background: rgba(38, 156, 105, .31);
}

.brain2-cross-matrix-panel .brain2-cross-link.is-long-2 {
    background: rgba(38, 156, 105, .43);
}

.brain2-cross-matrix-panel .brain2-cross-link.is-long-3,
.brain2-cross-matrix-panel .brain2-cross-legend .is-long-3 {
    background: rgba(38, 156, 105, .57);
}

.brain2-cross-matrix-panel .brain2-cross-link.is-long-4 {
    background: rgba(38, 156, 105, .70);
}

.brain2-cross-matrix-panel .brain2-cross-link.is-long-5 {
    background: rgba(38, 156, 105, .84);
}

.brain2-cross-matrix-panel .brain2-cross-link.is-short-1 {
    background: rgba(190, 65, 67, .31);
}

.brain2-cross-matrix-panel .brain2-cross-link.is-short-2 {
    background: rgba(190, 65, 67, .43);
}

.brain2-cross-matrix-panel .brain2-cross-link.is-short-3,
.brain2-cross-matrix-panel .brain2-cross-legend .is-short-3 {
    background: rgba(190, 65, 67, .57);
}

.brain2-cross-matrix-panel .brain2-cross-link.is-short-4 {
    background: rgba(190, 65, 67, .70);
}

.brain2-cross-matrix-panel .brain2-cross-link.is-short-5 {
    background: rgba(190, 65, 67, .84);
}

.brain2-cross-matrix-panel .brain2-cross-link.is-flat,
.brain2-cross-matrix-panel .brain2-cross-legend .is-flat {
    background: rgba(206, 156, 45, .42);
}

/* Trade Journal execution and review workflow.
   Presentation only: capture, lifecycle, audit evidence and pricing logic remain unchanged. */
.trade-journal-ledger-card,
.trade-journal-record-section,
.trade-journal-state-card,
.trade-journal-execution-card {
    overflow: hidden;
    border-color: rgba(132, 220, 255, .34) !important;
    background: linear-gradient(155deg, rgba(15, 32, 47, .98), rgba(8, 22, 34, .98));
    box-shadow: inset 0 1px 0 rgba(186, 230, 253, .04);
}

.trade-journal-ledger-card {
    background: linear-gradient(155deg, #0f202f, #081622) !important;
}

.trade-journal-ledger-card .data-verification-header,
.trade-journal-record-section > .data-verification-header {
    margin: -16px -16px 0;
    padding: 13px 18px;
    border-bottom: 1px solid rgba(132, 220, 255, .24);
    background: linear-gradient(90deg, rgba(8, 39, 59, .92), rgba(8, 25, 39, .76));
}

.trade-journal-ledger-card .metric-evidence-scroll {
    margin: 0 -18px -18px;
    padding-top: 0;
}

.trade-journal-ledger-card .trade-journal-table {
    min-width: 1120px;
}

.trade-journal-ledger-card .trade-journal-table th {
    padding: 9px 10px;
    border-right: 1px solid rgba(100, 116, 139, .16);
    background: #09243a;
}

.trade-journal-ledger-card .trade-journal-table td {
    padding: 10px;
    border-right: 1px solid rgba(100, 116, 139, .12);
    background: #08141f !important;
}

.trade-journal-ledger-card .trade-journal-table th:last-child,
.trade-journal-ledger-card .trade-journal-table td:last-child {
    border-right: 0;
}

.trade-journal-ledger-card .trade-journal-table tbody tr:nth-child(even) td {
    background: #0a1f2e !important;
}

.trade-journal-ledger-card .trade-journal-table tbody tr:hover td {
    background: #10344a !important;
}

.trade-journal-watchlist-card .trade-journal-table {
    min-width: 1180px;
}

.trade-journal-watchlist-card .metric-evidence-scroll,
.trade-journal-watchlist-table,
.trade-journal-watchlist-table tbody,
.trade-journal-watchlist-table tbody tr {
    background: #08141f !important;
}

.trade-journal-watchlist-card .data-verification-header {
    background: linear-gradient(90deg, #08273b, #081927) !important;
}

.trade-journal-watchlist-table th:first-child,
.trade-journal-watchlist-table td:first-child {
    text-align: left;
}

.trade-journal-watchlist-table th:nth-child(2),
.trade-journal-watchlist-table td:nth-child(2) {
    text-align: center;
}

.trade-journal-watchlist-table td:nth-child(2),
.trade-journal-watchlist-table td:nth-child(6),
.trade-journal-watchlist-table td:nth-child(7) {
    font-variant-numeric: tabular-nums;
}

.trade-journal-active-table td[class*="portfolio-performance-"] strong,
.trade-journal-active-table td[class*="portfolio-performance-"] small,
.trade-journal-active-table td[class*="portfolio-performance-"] span {
    color: inherit !important;
}

.trade-journal-active-table td.portfolio-performance-positive,
.trade-journal-active-table td.portfolio-performance-positive strong,
.trade-journal-active-table td.portfolio-performance-positive small,
.trade-journal-active-table td.portfolio-performance-positive span {
    color: var(--signal-green, #2ee59d) !important;
}

.trade-journal-active-table td.portfolio-performance-negative,
.trade-journal-active-table td.portfolio-performance-negative strong,
.trade-journal-active-table td.portfolio-performance-negative small,
.trade-journal-active-table td.portfolio-performance-negative span {
    color: var(--signal-red, #ff5f68) !important;
}

.trade-journal-active-table td.portfolio-performance-flat,
.trade-journal-active-table td.portfolio-performance-flat strong,
.trade-journal-active-table td.portfolio-performance-flat small,
.trade-journal-active-table td.portfolio-performance-flat span {
    color: var(--signal-amber, #f4d35e) !important;
}

.trade-journal-active-table td:first-child,
.trade-journal-closed-table td:first-child,
.trade-journal-active-table td:nth-child(5),
.trade-journal-closed-table td:nth-child(4) {
    font-variant-numeric: tabular-nums;
}

.trade-journal-close-form {
    padding: 4px;
    border: 1px solid rgba(132, 220, 255, .16);
    border-radius: 3px;
    background: rgba(2, 12, 21, .42);
}

.trade-journal-close-form input[type="number"] {
    height: 32px;
    border-color: rgba(132, 220, 255, .3);
}

.trade-journal-close-button,
.trade-journal-remove-button {
    min-height: 32px;
    font-weight: 800;
}

.trade-journal-closed-card {
    border-top: 2px solid rgba(132, 220, 255, .6);
}

.trade-journal-record-workspace {
    gap: 14px;
}

.trade-journal-record-hero {
    min-height: 132px;
}

.trade-journal-record-back {
    display: inline-flex;
    margin-bottom: 9px;
    color: #8fdfff;
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .05em;
    text-decoration: none;
    text-transform: uppercase;
}

.trade-journal-record-back:hover,
.trade-journal-record-back:focus-visible {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.trade-journal-record-open .trade-journal-entry-state {
    border-left: 3px solid #55e38c;
}

.trade-journal-record-closed .trade-journal-entry-state {
    border-left: 3px solid #84dcff;
}

.trade-journal-record-summary {
    gap: 10px;
}

.trade-journal-record-summary .card {
    position: relative;
    min-height: 82px;
    padding: 12px 10px;
    overflow: hidden;
    border-color: rgba(132, 220, 255, .3);
    background: linear-gradient(155deg, rgba(14, 34, 50, .98), rgba(7, 20, 32, .98));
    box-shadow: inset 0 2px 0 rgba(132, 220, 255, .18);
}

.trade-journal-record-summary .card::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 42%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(132, 220, 255, .58));
}

.trade-journal-record-summary .trade-journal-summary-signal {
    box-shadow: inset 0 2px 0 rgba(85, 227, 140, .46);
}

.trade-journal-record-summary .trade-journal-summary-outcome.is-positive {
    box-shadow: inset 0 2px 0 rgba(85, 227, 140, .6);
}

.trade-journal-record-summary .trade-journal-summary-outcome.is-negative {
    box-shadow: inset 0 2px 0 rgba(255, 111, 125, .62);
}

.trade-journal-record-summary .trade-journal-summary-outcome.is-flat {
    box-shadow: inset 0 2px 0 rgba(242, 201, 76, .58);
}

.trade-journal-record-summary .trade-journal-summary-outcome.is-positive strong {
    color: #73e59c;
}

.trade-journal-record-summary .trade-journal-summary-outcome.is-negative strong {
    color: #ff8893;
}

.trade-journal-record-grid {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    align-items: start;
    gap: 14px;
}

.trade-journal-record-grid-owner {
    grid-template-columns: 1fr;
}

.trade-journal-state-card,
.trade-journal-execution-card {
    padding: 16px;
}

.trade-journal-state-card > h2,
.trade-journal-execution-card > h2,
.trade-journal-charts-card > h2,
.trade-journal-boundary-card > h2 {
    margin: -16px -16px 12px;
    padding: 12px 16px;
    border-bottom: 1px solid rgba(132, 220, 255, .22);
    background: linear-gradient(90deg, rgba(8, 39, 59, .88), rgba(8, 25, 39, .64));
    color: #f5f9fb;
}

.trade-journal-audit-card > h2 {
    margin: 18px 0 8px;
    padding-top: 14px;
    border-top: 1px solid rgba(132, 220, 255, .18);
    color: #f5f9fb;
}

.trade-journal-audit-card > h2:first-of-type {
    margin: -16px -16px 12px;
    padding: 12px 16px;
    border-top: 0;
    border-bottom: 1px solid rgba(132, 220, 255, .22);
    background: linear-gradient(90deg, rgba(8, 39, 59, .88), rgba(8, 25, 39, .64));
}

.trade-journal-state-card .journal-state-list {
    grid-template-columns: 132px minmax(0, 1fr);
    border-top: 0;
}

.trade-journal-state-card .journal-state-list dt,
.trade-journal-state-card .journal-state-list dd {
    padding: 8px 9px;
    border-bottom-color: rgba(100, 116, 139, .28);
}

.trade-journal-state-card .journal-state-list dt {
    color: #8fa9b9;
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.trade-journal-state-card .journal-state-list dd {
    color: #edf5f8;
    font-size: 14px;
}

.trade-journal-frozen-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.trade-journal-frozen-evidence-card > .trade-journal-frozen-summary-grid {
    margin-top: 14px;
}

.trade-journal-frozen-summary-grid article {
    min-width: 0;
    padding: 12px 14px;
    border: 1px solid rgba(132, 220, 255, .24);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(14, 38, 55, .88), rgba(7, 22, 34, .94));
    box-shadow: inset 3px 0 0 rgba(132, 220, 255, .58);
}

.trade-journal-frozen-summary-grid span,
.trade-journal-frozen-summary-grid strong,
.trade-journal-frozen-summary-grid small {
    display: block;
    overflow-wrap: anywhere;
}

.trade-journal-frozen-summary-grid span {
    color: #90aebe;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.trade-journal-frozen-summary-grid strong {
    margin-top: 5px;
    color: #f2f9fc;
    font-size: 16px;
}

.trade-journal-frozen-summary-grid small {
    margin-top: 3px;
    color: #8fdfff;
    font-size: 12px;
}

.trade-journal-record-grid-owner .trade-journal-form-grid-prices {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.trade-journal-frozen-heading {
    margin: 0 0 8px;
    color: #dff4ff;
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.trade-journal-frozen-factor-grid {
    overflow: hidden;
    border: 1px solid rgba(132, 220, 255, .24);
    border-radius: 8px;
    background: rgba(5, 18, 29, .54);
}

.trade-journal-frozen-factor-head,
.trade-journal-frozen-factor-row {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) repeat(3, minmax(58px, .7fr));
    align-items: center;
}

.trade-journal-frozen-factor-head {
    background: rgba(28, 86, 116, .28);
    color: #91b9ce;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.trade-journal-frozen-factor-head span,
.trade-journal-frozen-factor-row > * {
    min-width: 0;
    padding: 7px 9px;
}

.trade-journal-frozen-factor-head span:not(:first-child),
.trade-journal-frozen-factor-row > :not(:first-child) {
    text-align: right;
}

.trade-journal-frozen-factor-row {
    border-top: 1px solid rgba(100, 116, 139, .22);
    color: #eaf5fa;
    font-size: 14px;
}

.trade-journal-frozen-factor-row strong {
    color: #8fdfff;
    font-size: 13px;
}

.trade-journal-frozen-factor-total {
    border-top-color: rgba(132, 220, 255, .52);
    background: linear-gradient(90deg, rgba(31, 94, 126, .28), rgba(13, 39, 57, .42));
    box-shadow: inset 3px 0 0 rgba(132, 220, 255, .72);
}

.trade-journal-frozen-factor-total strong,
.trade-journal-frozen-factor-total span {
    color: #f4fbff;
    font-weight: 900;
}

.trade-journal-frozen-evidence-layout {
    display: grid;
    grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr);
    gap: 16px;
    padding-top: 14px;
}

.trade-journal-frozen-evidence-panel {
    min-width: 0;
}

.trade-journal-frozen-confirmation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.trade-journal-frozen-confirmation-grid article {
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid rgba(132, 220, 255, .2);
    border-radius: 8px;
    background: linear-gradient(145deg, rgba(13, 35, 50, .82), rgba(7, 21, 32, .9));
}

.trade-journal-frozen-confirmation-grid span,
.trade-journal-frozen-confirmation-grid strong,
.trade-journal-frozen-confirmation-grid small {
    display: block;
    overflow-wrap: anywhere;
}

.trade-journal-frozen-confirmation-grid span {
    color: #90adbd;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.trade-journal-frozen-confirmation-grid strong {
    margin-top: 4px;
    color: #f1f8fb;
    font-size: 14px;
}

.trade-journal-frozen-confirmation-grid small {
    margin-top: 3px;
    color: #9ed8ef;
    font-size: 12px;
}

@media (max-width: 1080px) {
    .trade-journal-frozen-evidence-layout {
        grid-template-columns: 1fr;
    }

    .trade-journal-record-grid-owner .trade-journal-form-grid-prices {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .trade-journal-frozen-summary-grid {
        grid-template-columns: 1fr;
    }

    .trade-journal-frozen-confirmation-grid {
        grid-template-columns: 1fr;
    }

    .trade-journal-frozen-factor-head,
    .trade-journal-frozen-factor-row {
        grid-template-columns: minmax(112px, 1.35fr) repeat(3, minmax(48px, .7fr));
    }

    .trade-journal-frozen-factor-head span,
    .trade-journal-frozen-factor-row > * {
        padding: 7px 6px;
        font-size: 12px;
    }
}

.trade-journal-form {
    gap: 10px;
}

.trade-journal-form-grid-status {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.trade-journal-form-grid-prices {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trade-journal-form-grid-notes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.trade-journal-form label {
    color: #9fb4c2;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .025em;
}

.trade-journal-form input,
.trade-journal-form select,
.trade-journal-form textarea {
    min-height: 38px;
    padding: 8px 9px;
    border-color: rgba(132, 220, 255, .3);
    background: rgba(3, 15, 25, .9);
    color: #f4f8fa;
    font-variant-numeric: tabular-nums;
}

.trade-journal-form input:focus,
.trade-journal-form select:focus,
.trade-journal-form textarea:focus {
    outline: 2px solid rgba(56, 189, 248, .36);
    outline-offset: 1px;
    border-color: #38bdf8;
}

.trade-journal-form textarea {
    min-height: 86px;
    resize: vertical;
}

.trade-journal-execution-boundary {
    margin: -2px 0 2px !important;
    padding: 8px 10px;
    border-left: 3px solid #38bdf8;
    background: rgba(14, 53, 76, .35);
    color: #b8c8d2;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

.trade-journal-execution-boundary strong {
    color: #f5f9fb;
}

.trade-journal-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 3px;
}

.trade-journal-form-actions > span {
    max-width: 62%;
    color: #8fa6b5;
    font-size: 13px;
    line-height: 1.45;
}

.trade-journal-form-actions .technical-primary-button {
    min-width: 210px;
    padding: 9px 14px;
}

.trade-journal-record-section {
    padding: 16px !important;
}

.trade-journal-record-section .metric-evidence-scroll {
    margin-top: 10px;
}

.trade-journal-record-section .metric-evidence-table thead th {
    background: #09243a;
}

.trade-journal-record-section .metric-evidence-table tbody tr:nth-child(even) td {
    background: rgba(8, 28, 43, .46);
}

.trade-journal-record-section .metric-evidence-table tbody tr:hover td {
    background: rgba(16, 52, 74, .58);
}

.trade-factor-comparison-scroll {
    overflow: visible;
    border-color: rgba(132, 220, 255, .28);
}

.trade-factor-comparison-table {
    width: 100%;
    min-width: 0 !important;
    table-layout: fixed;
    font-variant-numeric: tabular-nums;
}

.trade-factor-comparison-table .trade-factor-comparison-factor-column {
    width: 17%;
}

.trade-factor-comparison-table .trade-factor-comparison-weight-column {
    width: 7%;
}

.trade-factor-comparison-table thead th:nth-child(3),
.trade-factor-comparison-table thead th:nth-child(4) {
    border-left: 1px solid rgba(132, 220, 255, .22);
    color: #dff5ff;
    text-align: center;
}

.trade-factor-comparison-table td {
    vertical-align: middle !important;
}

.trade-factor-comparison-name strong {
    color: #dff4ff;
    font-size: 13px;
    line-height: 1.35;
}

.trade-factor-comparison-weight {
    color: #9eb6c5 !important;
    font-size: 13px;
    text-align: center;
}

.trade-factor-comparison-currency {
    position: relative;
    padding: 7px 9px !important;
    border-left: 1px solid rgba(132, 220, 255, .18);
}

.trade-factor-comparison-currency-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}

.trade-factor-comparison-currency-header > strong {
    color: #82dcff;
    font-size: 12px;
    letter-spacing: .05em;
}

.trade-factor-comparison-currency-header .trade-factor-evidence {
    margin-left: auto;
}

.trade-factor-comparison-currency .trade-factor-evidence {
    position: static;
}

.trade-factor-comparison-currency .trade-factor-input-list {
    top: calc(100% - 1px);
    right: 8px;
    left: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: auto;
    max-height: min(58vh, 620px);
    overflow-x: hidden;
    overflow-y: auto;
    border-color: rgba(132, 220, 255, .44);
    border-radius: 6px;
    box-shadow: 0 18px 36px rgba(0, 0, 0, .68);
}

.trade-factor-comparison-currency .trade-factor-evidence-empty {
    position: absolute;
    top: calc(100% - 1px);
    right: 8px;
    left: 8px;
    z-index: 30;
    max-width: none;
    border: 1px solid rgba(132, 220, 255, .34);
    border-left: 3px solid #f2c94c;
    border-radius: 5px;
    box-shadow: 0 18px 36px rgba(0, 0, 0, .62);
}

.trade-factor-comparison-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 5px;
}

.trade-factor-comparison-metrics > span {
    display: block;
    min-width: 0;
    padding: 5px 6px;
    border: 1px solid rgba(132, 220, 255, .13);
    border-radius: 4px;
    background: rgba(3, 17, 27, .42);
    text-align: right;
}

.trade-factor-comparison-metrics small,
.trade-factor-comparison-metrics b {
    display: block;
    overflow-wrap: anywhere;
}

.trade-factor-comparison-metrics small {
    min-height: 21px;
    color: #809aa9;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .035em;
    line-height: 1.15;
    text-transform: uppercase;
}

.trade-factor-comparison-metrics b {
    margin-top: 2px;
    color: #eff9fd;
    font-size: 13px;
}

.trade-factor-comparison-missing {
    padding: 13px 10px;
    border: 1px dashed rgba(132, 220, 255, .2);
    color: #8199a7;
    font-size: 12px;
    text-align: center;
}

@media (max-width: 1180px) {
    .trade-factor-comparison-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .trade-factor-comparison-currency .trade-factor-input-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .trade-factor-comparison-table,
    .trade-factor-comparison-table tbody,
    .trade-factor-comparison-table tr,
    .trade-factor-comparison-table td {
        display: block;
        width: 100%;
    }

    .trade-factor-comparison-table colgroup,
    .trade-factor-comparison-table thead {
        display: none;
    }

    .trade-factor-comparison-table tr {
        border-top: 1px solid rgba(132, 220, 255, .28);
    }

    .trade-factor-comparison-table tr:first-child {
        border-top: 0;
    }

    .trade-factor-comparison-table td {
        border-left: 0;
    }

    .trade-factor-comparison-name,
    .trade-factor-comparison-weight {
        display: inline-block !important;
        width: auto !important;
    }

    .trade-factor-comparison-name {
        padding-bottom: 3px !important;
    }

    .trade-factor-comparison-weight {
        padding-bottom: 3px !important;
        text-align: left;
    }

    .trade-factor-comparison-currency::before {
        display: block;
        margin-bottom: 6px;
        color: #82dcff;
        content: attr(data-label);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: .05em;
    }

    .trade-factor-comparison-currency-header > strong {
        display: none;
    }

    .trade-factor-comparison-currency .trade-factor-input-list {
        position: static;
        grid-template-columns: 1fr;
        width: 100%;
        max-height: none;
        overflow: visible;
    }

    .trade-factor-comparison-currency .trade-factor-evidence-empty {
        position: static;
        max-width: none;
        box-shadow: none;
    }
}

.trade-journal-charts-card .trade-journal-chart-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(460px, 100%), 1fr));
    gap: 12px;
}

.trade-journal-charts-card .trade-journal-chart-grid figure {
    overflow: hidden;
    border: 1px solid rgba(132, 220, 255, .28);
    background: rgba(3, 14, 24, .68);
}

.trade-journal-charts-card .trade-journal-chart-grid img {
    border: 0;
}

.trade-journal-charts-card .trade-journal-chart-grid figcaption {
    border-top: 1px solid rgba(132, 220, 255, .2);
    color: #9fb4c2;
}

.trade-journal-chart-gallery {
    padding-top: 14px;
}

.trade-journal-chart-viewer {
    overflow: hidden;
    border: 1px solid rgba(132, 220, 255, .34);
    border-radius: 9px;
    background: rgba(2, 10, 17, .78);
    box-shadow: inset 0 1px 0 rgba(186, 230, 253, .04);
}

.trade-journal-chart-primary {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: #020910;
    cursor: zoom-in;
}

.trade-journal-chart-primary img {
    display: block;
    width: 100%;
    max-height: 72vh;
    object-fit: contain;
}

.trade-journal-chart-primary-caption {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 10px 12px;
    border-top: 1px solid rgba(132, 220, 255, .22);
    background: linear-gradient(90deg, rgba(8, 39, 59, .74), rgba(6, 22, 34, .9));
}

.trade-journal-chart-primary-caption > div,
.trade-journal-chart-primary-caption strong,
.trade-journal-chart-primary-caption span {
    display: block;
    min-width: 0;
}

.trade-journal-chart-primary-caption strong {
    color: #eef9ff;
    font-size: 15px;
}

.trade-journal-chart-primary-caption span {
    margin-top: 2px;
    color: #96b0bf;
    font-size: 12px;
}

.trade-journal-chart-thumbnails {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 9px;
    margin-top: 10px;
}

.trade-journal-chart-thumbnail {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 6px;
    border: 1px solid rgba(132, 220, 255, .2);
    border-radius: 8px;
    color: #e8f5fb;
    background: linear-gradient(145deg, rgba(13, 35, 50, .76), rgba(7, 21, 32, .9));
    text-align: left;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

.trade-journal-chart-thumbnail:hover,
.trade-journal-chart-thumbnail:focus-visible,
.trade-journal-chart-thumbnail.is-active {
    border-color: rgba(92, 211, 255, .72);
    background: linear-gradient(145deg, rgba(18, 54, 75, .88), rgba(8, 27, 41, .96));
    box-shadow: inset 3px 0 0 #52cfff;
    outline: none;
}

.trade-journal-chart-thumbnail img {
    display: block;
    width: 112px;
    height: 64px;
    border: 1px solid rgba(132, 220, 255, .18);
    object-fit: cover;
    background: #020910;
}

.trade-journal-chart-thumbnail span,
.trade-journal-chart-thumbnail strong,
.trade-journal-chart-thumbnail small {
    display: block;
    min-width: 0;
}

.trade-journal-chart-thumbnail strong {
    color: #f0f9fd;
    font-size: 14px;
}

.trade-journal-chart-thumbnail small {
    margin-top: 3px;
    color: #91abba;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.trade-journal-chart-lightbox {
    width: min(96vw, 1840px);
    max-width: none;
    max-height: 96vh;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(132, 220, 255, .5);
    border-radius: 10px;
    color: #edf8fc;
    background: #030e17;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .7);
}

.trade-journal-chart-lightbox::backdrop {
    background: rgba(0, 6, 11, .9);
    backdrop-filter: blur(3px);
}

.trade-journal-chart-lightbox-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 14px;
    border-bottom: 1px solid rgba(132, 220, 255, .25);
    background: linear-gradient(90deg, #092a3e, #061722);
}

.trade-journal-chart-lightbox-toolbar strong,
.trade-journal-chart-lightbox-toolbar span {
    display: block;
}

.trade-journal-chart-lightbox-toolbar strong {
    font-size: 15px;
}

.trade-journal-chart-lightbox-toolbar span {
    margin-top: 2px;
    color: #9ab5c4;
    font-size: 12px;
}

.trade-journal-chart-lightbox-close {
    padding: 7px 12px;
    border: 1px solid rgba(132, 220, 255, .44);
    border-radius: 6px;
    color: #eaf8ff;
    background: rgba(14, 55, 77, .72);
    font-weight: 800;
    cursor: pointer;
}

.trade-journal-chart-lightbox-stage {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 220px;
    background: #01070c;
}

.trade-journal-chart-lightbox-stage img {
    display: block;
    width: 100%;
    height: min(82vh, 1040px);
    object-fit: contain;
}

.trade-journal-chart-lightbox-nav {
    position: absolute;
    z-index: 2;
    top: 50%;
    width: 44px;
    height: 64px;
    border: 1px solid rgba(132, 220, 255, .44);
    border-radius: 7px;
    color: #f4fbff;
    background: rgba(3, 20, 31, .82);
    font-size: 25px;
    cursor: pointer;
    transform: translateY(-50%);
}

.trade-journal-chart-lightbox-nav:hover,
.trade-journal-chart-lightbox-nav:focus-visible {
    border-color: #5bd4ff;
    background: rgba(10, 53, 73, .94);
    outline: none;
}

.trade-journal-chart-lightbox-nav.is-previous {
    left: 12px;
}

.trade-journal-chart-lightbox-nav.is-next {
    right: 12px;
}

.trade-journal-chart-lightbox-help {
    margin: 0;
    padding: 7px 14px;
    border-top: 1px solid rgba(132, 220, 255, .18);
    color: #829aa8;
    background: #06131d;
    font-size: 11px;
    text-align: center;
}

@media (max-width: 680px) {
    .trade-journal-chart-primary-caption {
        align-items: stretch;
        flex-direction: column;
    }

    .trade-journal-chart-thumbnail {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .trade-journal-chart-thumbnail img {
        width: 92px;
        height: 54px;
    }

    .trade-journal-chart-lightbox-nav {
        width: 38px;
        height: 54px;
    }
}

/* Research technical workspace: make the Take Trade selector read as a compact
   desk ticket while preserving every existing control and capture boundary. */
.technical-trade-selector {
    grid-template-columns: minmax(220px, .85fr) minmax(340px, 1.25fr) minmax(260px, 1fr) auto;
    gap: 0;
    padding: 0;
    overflow: hidden;
    border-color: rgba(85, 227, 140, .48);
    background: linear-gradient(90deg, rgba(8, 34, 38, .96), rgba(7, 25, 34, .96));
    box-shadow: inset 0 1px 0 rgba(134, 239, 172, .06);
}

.technical-trade-selector > div {
    min-width: 0;
    padding: 11px 13px;
    border-right: 1px solid rgba(100, 116, 139, .28);
}

.technical-trade-selector > div:last-child {
    border-right: 0;
}

.technical-trade-selector-intro,
.technical-trade-direction {
    display: grid;
    gap: 5px;
}

.technical-trade-selector-intro > strong,
.technical-trade-direction > strong {
    color: #f4f8fa;
    font-size: 14px;
}

.technical-trade-timeframes {
    align-content: center;
    justify-content: center;
}

.technical-trade-timeframes label,
.technical-trade-direction label {
    min-height: 30px;
    padding: 5px 8px;
    border: 1px solid rgba(132, 220, 255, .22);
    background: rgba(5, 20, 31, .62);
}

.technical-trade-selector-actions {
    align-content: center;
    flex-direction: column;
    justify-content: center;
}

.technical-client-manual-rules {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(220px, .72fr) minmax(0, 2.28fr);
    gap: 14px;
    border-top: 1px solid rgba(100, 116, 139, .28);
    border-right: 0 !important;
    background: rgba(4, 18, 29, .62);
}

.technical-client-manual-rules > div:first-child {
    display: grid;
    align-content: start;
    gap: 5px;
}

.technical-client-manual-rules > div:first-child > strong {
    color: #f4f8fa;
    font-size: 14px;
}

.technical-client-manual-rule-grid,
.trade-client-manual-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.technical-client-manual-rule-grid label,
.trade-client-manual-card {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid rgba(132, 220, 255, .22);
    border-radius: 6px;
    background: rgba(5, 20, 31, .72);
    color: #cbd5e1;
    font-size: 13px;
    line-height: 1.35;
}

.technical-client-manual-rule-grid input,
.trade-client-manual-card input {
    flex: 0 0 auto;
    margin-top: 3px;
}

.technical-client-manual-rule-grid span,
.trade-client-manual-card span {
    display: grid;
    gap: 2px;
}

.technical-client-manual-rule-grid strong,
.trade-client-manual-card strong {
    color: #f4f8fa;
    font-size: 13px;
}

.trade-client-manual-form {
    display: grid;
    gap: 14px;
}

.trade-client-manual-card small {
    color: #a9b7c5;
    font-size: 13px;
}

@media (max-width: 1380px) {
    .trade-journal-form-grid-prices {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .technical-trade-selector {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .technical-trade-selector > div:nth-child(2) {
        border-right: 0;
    }

    .technical-trade-selector > div:nth-child(-n + 2) {
        border-bottom: 1px solid rgba(100, 116, 139, .28);
    }

    .technical-trade-selector-actions {
        flex-direction: row;
    }

    .technical-client-manual-rules {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 1100px) {
    .trade-journal-record-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .trade-journal-form-grid-prices {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .technical-client-manual-rule-grid,
    .trade-client-manual-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .trade-journal-record-summary,
    .trade-journal-form-grid-status,
    .trade-journal-form-grid-prices,
    .trade-journal-form-grid-notes,
    .technical-trade-selector {
        grid-template-columns: minmax(0, 1fr);
    }

    .trade-journal-state-card .journal-state-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .trade-journal-state-card .journal-state-list dt {
        padding-bottom: 2px;
        border-bottom: 0;
    }

    .trade-journal-state-card .journal-state-list dd {
        padding-top: 2px;
    }

    .trade-journal-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .trade-journal-form-actions > span {
        max-width: none;
    }

    .technical-trade-selector > div {
        border-right: 0;
        border-bottom: 1px solid rgba(100, 116, 139, .28);
    }

    .technical-trade-selector > div:last-child {
        border-bottom: 0;
    }

    .technical-client-manual-rule-grid,
    .trade-client-manual-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* Local MT5 connector: account controls and broker execution remain a private,
   account-scoped workspace. */
.mt5-workspace,
.mt5-grid {
    min-width: 0;
}

.mt5-workspace {
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 14px;
}

.mt5-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.45rem;
    border-top: 2px solid #4cc9f0;
    background:
        radial-gradient(circle at 94% 10%, rgba(76, 201, 240, .14), transparent 34%),
        linear-gradient(145deg, rgba(9, 28, 43, .98), rgba(4, 15, 25, .98));
}

.mt5-hero h1 {
    margin: .25rem 0 .5rem;
    color: #f2f9fc;
    font-size: 26px;
    line-height: 1.25;
}

.mt5-hero p {
    max-width: 72ch;
    margin: 0;
    color: #9cb1bd;
    font-size: 14px;
    line-height: 1.55;
}

.mt5-hero-state {
    display: grid;
    min-width: 180px;
    gap: .25rem;
    padding: .8rem 1rem;
    border: 1px solid rgba(148, 163, 184, .22);
    border-radius: 7px;
    background: rgba(4, 16, 26, .72);
}

.mt5-hero-state > span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.mt5-hero-state.is-online > span { background: #46d58a; box-shadow: 0 0 12px rgba(70, 213, 138, .65); }
.mt5-hero-state.is-warning > span { background: #e6b35a; box-shadow: 0 0 12px rgba(230, 179, 90, .45); }
.mt5-hero-state.is-offline > span { background: #e3727b; }
.mt5-hero-state strong { color: #e6f1f6; font-size: 15px; line-height: 1.4; letter-spacing: .06em; }
.mt5-hero-state small { color: #8095a2; font-size: 13px; line-height: 1.4; }

.mt5-card {
    min-width: 0;
    padding: 1.2rem;
}

.mt5-workspace .brain-kicker {
    font-size: 13px;
    line-height: 1.4;
}

.mt5-card h2 {
    font-size: 20px;
    line-height: 1.3;
}

.mt5-card p,
.mt5-card .client-account-note {
    font-size: 14px;
    line-height: 1.55;
}

.mt5-steps {
    display: grid;
    gap: .5rem;
    margin: 1rem 0;
    padding-left: 1.35rem;
    color: #9cb0bc;
    font-size: 14px;
    line-height: 1.55;
}

.mt5-setup-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.mt5-setup-actions a,
.mt5-setup-actions button {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    text-decoration: none;
}

.mt5-pairing-code {
    display: grid;
    gap: .3rem;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(80, 202, 241, .38);
    border-radius: 7px;
    background: rgba(7, 35, 50, .78);
}

.mt5-pairing-code span { color: #7eb7d2; font-size: 13px; font-weight: 800; letter-spacing: .09em; }
.mt5-pairing-code strong { color: #f1fbff; font: 800 1.7rem/1 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .14em; }
.mt5-pairing-code small { color: #8da4b1; font-size: 13px; line-height: 1.4; }

.mt5-account-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .55rem;
    margin: 1rem 0 0;
}

.mt5-account-grid > div {
    display: grid;
    gap: .18rem;
    padding: .65rem;
    border: 1px solid rgba(127, 168, 193, .14);
    border-radius: 5px;
    background: rgba(5, 20, 31, .62);
}

.mt5-account-grid dt { color: #7d94a2; font-size: 13px; line-height: 1.4; text-transform: uppercase; }
.mt5-account-grid dd { margin: 0; color: #e1edf2; font-size: 15px; line-height: 1.4; overflow-wrap: anywhere; }
.mt5-account-grid dd.warning { color: #efc36f; }

.mt5-execution-warning {
    display: grid;
    gap: .35rem;
    margin-top: .8rem;
    padding: .8rem;
    border: 1px solid rgba(230, 179, 90, .34);
    border-radius: 5px;
    color: #d6b875;
    background: rgba(65, 46, 15, .42);
    font-size: 14px;
    line-height: 1.5;
}

.mt5-execution-warning strong { color: #f2d58c; }

.mt5-position-table th { font-size: 13px; line-height: 1.4; }
.mt5-position-table td { font-size: 15px; line-height: 1.45; }
.mt5-position-table th small { display: block; margin-top: .15rem; color: #718795; font-size: 13px; font-weight: 500; }
.mt5-position-table .positive { color: #72d8a2; }
.mt5-position-table .negative { color: #ed8d94; }

.mt5-inline-ticket {
    display: grid;
    grid-template-columns: minmax(72px, 1fr) minmax(72px, 1fr) auto;
    gap: .35rem;
}

.mt5-inline-ticket-pending {
    grid-template-columns: repeat(3, minmax(72px, 1fr)) auto;
}

.mt5-inline-ticket input,
.mt5-trade-fields input,
.mt5-trade-fields select {
    min-width: 0;
    padding: .42rem .5rem;
    border: 1px solid rgba(132, 220, 255, .22);
    border-radius: 4px;
    color: #eaf5fa;
    background: rgba(3, 14, 23, .82);
    font-size: 15px;
}

.mt5-inline-ticket button,
.mt5-close-button {
    padding: .42rem .65rem;
    border: 1px solid rgba(132, 220, 255, .28);
    border-radius: 4px;
    color: #dceaf0;
    background: rgba(14, 53, 73, .8);
    cursor: pointer;
    font-size: 13px;
    line-height: 1.4;
}

.mt5-close-button {
    border-color: rgba(227, 114, 123, .35);
    background: rgba(92, 31, 39, .62);
}

.mt5-device-list {
    display: grid;
    gap: .55rem;
    margin-top: 1rem;
}

.mt5-device-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .7rem;
    border: 1px solid rgba(127, 168, 193, .14);
    border-radius: 5px;
    background: rgba(5, 20, 31, .58);
}

.mt5-device-list span,
.mt5-device-list strong,
.mt5-device-list small { display: block; }
.mt5-device-list strong { color: #dfeaf0; font-size: 15px; line-height: 1.4; }
.mt5-device-list small { margin-top: .2rem; color: #7d919e; font-size: 13px; line-height: 1.4; }

.mt5-execution-ticket {
    display: grid;
    grid-template-columns: minmax(180px, .8fr) minmax(0, 2.2fr);
    gap: .8rem;
    grid-column: 1 / -1;
    border-top: 1px solid rgba(100, 116, 139, .28);
    border-right: 0 !important;
    background: rgba(5, 25, 34, .74);
}

.mt5-execution-heading {
    display: grid;
    align-content: start;
    gap: .3rem;
}

.mt5-execution-heading strong { color: #e8f7ed; font-size: 15px; line-height: 1.4; }
.mt5-execution-heading small { color: #8fa9a0; font-size: 13px; line-height: 1.4; }
.mt5-execution-heading [hidden],
.mt5-trade-fields [hidden] { display: none !important; }

.mt5-trade-fields {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .55rem;
}

.mt5-trade-fields label {
    display: grid;
    gap: .25rem;
    color: #90a5b1;
    font-size: 13px;
    line-height: 1.4;
}

.mt5-connection-state {
    grid-column: 1 / -1;
    color: #8da4b0;
    font-size: 13px;
    line-height: 1.4;
}

.mt5-connection-state.is-online { color: #72d8a2; }
.mt5-connection-state.is-warning { color: #efc36f; }
.mt5-connection-state.is-offline { color: #ed8d94; }

.mt5-connection-manage {
    grid-column: 1 / -1;
    justify-self: start;
    color: #8ed7ef;
    font-size: 13px;
    line-height: 1.4;
    text-decoration: none;
}

.mt5-connection-manage:hover { color: #c7effb; text-decoration: underline; }

.mt5-chart-orders {
    display: grid;
    gap: .7rem;
    padding: .85rem;
    border: 1px solid rgba(132, 220, 255, .18);
    border-radius: 5px;
    background: rgba(5, 25, 34, .72);
}

.mt5-chart-orders[hidden] { display: none; }

.mt5-chart-orders-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.mt5-chart-orders-heading div,
.mt5-chart-orders-heading strong,
.mt5-chart-orders-heading small { display: grid; gap: .2rem; }
.mt5-chart-orders-heading strong { color: #e8f4f8; font-size: 15px; }
.mt5-chart-orders-heading small { color: #8da4b0; font-size: 13px; line-height: 1.45; }
.mt5-chart-orders-heading > span { color: #8ed7ef; font-size: 13px; text-align: right; }
.mt5-chart-orders-heading > span.is-success { color: #72d8a2; }
.mt5-chart-orders-heading > span.is-error { color: #ed8d94; }

@media (max-width: 820px) {
    .mt5-hero { flex-direction: column; }
    .mt5-hero-state { width: 100%; }
    .mt5-trade-fields,
    .mt5-account-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mt5-execution-ticket { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .mt5-trade-fields,
    .mt5-account-grid,
    .mt5-inline-ticket { grid-template-columns: 1fr; }
    .mt5-device-list > div { align-items: stretch; flex-direction: column; }
}

.dual-scanner-workspace {
    display: grid;
    gap: 1.25rem;
}

.dual-scanner-hero {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    align-items: flex-start;
    padding: 1.5rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 18px;
    background:
        radial-gradient(circle at 92% 15%, rgba(56, 189, 248, 0.13), transparent 32%),
        linear-gradient(145deg, rgba(15, 23, 42, 0.98), rgba(8, 18, 34, 0.98));
}

.dual-scanner-hero h1 {
    margin: 0.25rem 0 0.55rem;
    color: #f8fafc;
}

.dual-scanner-hero p:last-child {
    max-width: 76ch;
    margin: 0;
    color: #aebed1;
    line-height: 1.6;
}

.dual-scanner-state {
    display: grid;
    gap: 0.55rem;
    min-width: 9.5rem;
}

.dual-scanner-state span {
    padding: 0.55rem 0.75rem;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-align: center;
}

.dual-scanner-state .is-ready {
    color: #86efac;
    border-color: rgba(34, 197, 94, 0.34);
    background: rgba(22, 101, 52, 0.22);
}

.dual-scanner-state .is-withheld {
    color: #fda4af;
    border-color: rgba(244, 63, 94, 0.34);
    background: rgba(136, 19, 55, 0.2);
}

.dual-scanner-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.8rem;
}

.dual-scanner-summary article {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.88);
}

.dual-scanner-summary span,
.dual-scanner-summary small {
    color: #8fa2b8;
}

.dual-scanner-summary span {
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.dual-scanner-summary strong {
    color: #f8fafc;
    font-size: 1.45rem;
}

.dual-scanner-summary small {
    font-size: 0.74rem;
}

.dual-scanner-board {
    width: 100%;
}

.dual-scanner-board .tradeboard-table {
    min-width: 1480px;
}

.dual-scanner-board .tradeboard-col-status {
    width: 132px;
}

.dual-scanner-outside-state {
    display: inline-grid;
    min-width: 108px;
    gap: 2px;
    padding: 4px 6px;
    line-height: 1.05;
    text-align: center;
    white-space: normal;
}

.dual-scanner-outside-state small {
    font-size: 9px;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.dual-scanner-ranks,
.dual-scanner-gap small {
    display: block;
    margin-top: 0.25rem;
    color: #8fa2b8;
    font-size: 0.67rem;
    font-weight: 700;
    white-space: nowrap;
}

.dual-scanner-gap strong {
    display: block;
}

.dual-scanner-exceptions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.dual-scanner-exception {
    min-width: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(132, 220, 255, 0.2);
    border-top: 3px solid rgba(148, 163, 184, 0.45);
    background:
        linear-gradient(180deg, rgba(13, 31, 48, 0.72), rgba(10, 22, 37, 0.9));
}

.dual-scanner-exception.is-avoid {
    border-top-color: #fb7185;
}

.dual-scanner-exception.is-monitor {
    border-top-color: #fbbf24;
}

.dual-scanner-exception header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    margin: 0;
    padding: 1rem 1.1rem 0.9rem;
    border-bottom: 1px solid rgba(132, 220, 255, 0.14);
    background: rgba(9, 25, 40, 0.62);
}

.dual-scanner-exception h2 {
    margin: 0.1rem 0 0;
}

.dual-scanner-exception header > strong {
    min-width: 2.35rem;
    padding: 0.38rem 0.62rem;
    border-radius: 999px;
    color: #f8fafc;
    border: 1px solid rgba(132, 220, 255, 0.22);
    background: rgba(8, 25, 40, 0.9);
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.dual-scanner-exception-summary {
    margin: 0.3rem 0 0;
    color: #91a8b8;
    font-size: 0.76rem;
    line-height: 1.4;
}

.dual-scanner-exception-table-wrap {
    width: 100%;
    overflow-x: auto;
}

.dual-scanner-avoid-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: rgba(132, 220, 255, 0.18);
}

.dual-scanner-avoid-grid .dual-scanner-exception-table-wrap {
    background: #0b1625;
}

.dual-scanner-exception-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.dual-scanner-exception-table th,
.dual-scanner-exception-table td {
    padding: 0.68rem 0.8rem;
    border-bottom: 1px solid rgba(100, 116, 139, 0.22);
    text-align: left;
    vertical-align: middle;
}

.dual-scanner-exception-table th {
    color: #91a8b8;
    background: rgba(5, 18, 31, 0.82);
    font-size: 0.68rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.dual-scanner-exception-table td {
    color: #d9e4ea;
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
}

.dual-scanner-exception-table tbody tr:nth-child(even) {
    background: rgba(15, 29, 48, 0.42);
}

.dual-scanner-exception-table tbody tr:hover {
    background: rgba(30, 58, 82, 0.42);
}

.dual-scanner-exception-table tbody tr:last-child td {
    border-bottom: 0;
}

.dual-scanner-exception-table th:first-child,
.dual-scanner-exception-table td:first-child {
    width: 24%;
}

.dual-scanner-exception-table th:last-child,
.dual-scanner-exception-table td:last-child {
    width: 23%;
}

.dual-scanner-exception-table a,
.dual-scanner-exception-table a:visited {
    color: #f8fafc;
    font-size: 0.84rem;
    font-weight: 800;
    text-decoration-color: rgba(132, 220, 255, 0.45);
    text-underline-offset: 0.16rem;
}

.dual-scanner-exception-table a:hover,
.dual-scanner-exception-table a:focus-visible {
    color: #82dcff;
}

.dual-scanner-model-bias,
.dual-scanner-exception-state {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.9rem;
    padding: 0.24rem 0.42rem;
    border: 1px solid currentColor;
    border-radius: 4px;
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
}

.dual-scanner-exception-state.is-opposed {
    color: #fb7185;
    background: rgba(190, 24, 93, 0.1);
}

.dual-scanner-exception-state.is-unresolved {
    color: #fbbf24;
    background: rgba(217, 119, 6, 0.1);
}

.dual-scanner-exception .data-empty {
    margin: 0;
    padding: 1rem 1.1rem;
}

@media (max-width: 1100px) {
    .dual-scanner-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .dual-scanner-hero {
        flex-direction: column;
    }

    .dual-scanner-state {
        width: 100%;
    }

    .dual-scanner-summary,
    .dual-scanner-exceptions {
        grid-template-columns: minmax(0, 1fr);
    }

    .dual-scanner-exception-table {
        min-width: 430px;
    }
}
.brain2-analyst {
    margin: 1.1rem 0 1.4rem;
    padding: 1.35rem;
    border: 1px solid rgba(116, 151, 178, .24);
    border-radius: 18px;
    background:
        radial-gradient(circle at 92% 0%, rgba(32, 166, 151, .12), transparent 30%),
        linear-gradient(145deg, rgba(12, 23, 35, .98), rgba(8, 17, 27, .98));
    box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
}

.brain2-analyst__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
}

.brain2-analyst__header h2 {
    margin: .15rem 0 .45rem;
    color: #f3f7fa;
    font-size: clamp(1.35rem, 2.1vw, 1.9rem);
}

.brain2-analyst__header p:last-child {
    max-width: 780px;
    margin: 0;
    color: #9fb0bf;
    line-height: 1.55;
}

.brain2-analyst__actions {
    display: flex;
    align-items: center;
    gap: .7rem;
    flex-shrink: 0;
}

.brain2-analyst__state {
    padding: .42rem .65rem;
    border: 1px solid rgba(215, 169, 76, .35);
    border-radius: 999px;
    color: #ddb76d;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .11em;
}

.brain2-analyst__state.is-current {
    border-color: rgba(72, 199, 169, .38);
    color: #69d4b9;
}

.brain2-analyst__refresh {
    padding: .58rem .85rem;
    border: 1px solid rgba(72, 199, 169, .42);
    border-radius: 9px;
    background: rgba(38, 151, 133, .14);
    color: #a6ead9;
    cursor: pointer;
    font: inherit;
    font-size: .78rem;
    font-weight: 750;
}

.brain2-analyst__refresh:hover {
    background: rgba(38, 151, 133, .23);
}

.brain2-analyst__boundary,
.brain2-analyst__notice {
    display: flex;
    gap: .7rem;
    margin-top: 1rem;
    padding: .72rem .85rem;
    border: 1px solid rgba(116, 151, 178, .18);
    border-radius: 10px;
    background: rgba(4, 12, 19, .42);
    color: #a9b8c4;
    font-size: .8rem;
}

.brain2-analyst__boundary strong {
    color: #e4ebf0;
}

.brain2-analyst__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1rem;
    margin-top: 1rem;
    color: #718695;
    font-size: .7rem;
    letter-spacing: .04em;
}

.brain2-analyst__meta strong {
    color: #e0a968;
}

.brain2-analyst__brief {
    display: grid;
    grid-template-columns: minmax(180px, .35fr) minmax(0, 1fr);
    gap: 1.2rem;
    margin-top: 1rem;
    padding: 1rem;
    border-left: 3px solid #31a691;
    background: rgba(15, 37, 48, .62);
}

.brain2-analyst__brief small,
.brain2-analyst__leaders small,
.brain2-analyst__interpretations small {
    display: block;
    margin-bottom: .32rem;
    color: #718795;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.brain2-analyst__brief strong {
    color: #e6eef3;
}

.brain2-analyst__brief p {
    margin: 0;
    color: #c2ced7;
    line-height: 1.58;
}

.brain2-analyst__leaders {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.brain2-analyst__leaders > div {
    padding: .85rem;
    border: 1px solid rgba(116, 151, 178, .16);
    border-radius: 10px;
    background: rgba(4, 12, 19, .32);
}

.brain2-analyst__chips {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.brain2-analyst__chips span {
    padding: .25rem .5rem;
    border-radius: 6px;
    font-size: .77rem;
    font-weight: 800;
}

.brain2-analyst .is-bullish {
    color: #67d5b6;
}

.brain2-analyst__chips .is-bullish {
    background: rgba(53, 180, 145, .13);
}

.brain2-analyst .is-bearish {
    color: #ef8d8d;
}

.brain2-analyst__chips .is-bearish {
    background: rgba(210, 83, 91, .13);
}

.brain2-analyst .is-neutral {
    color: #d9bd78;
}

.brain2-analyst__disagreements {
    margin-top: 1rem;
    padding: .8rem 1rem;
    border: 1px solid rgba(202, 162, 84, .18);
    border-radius: 10px;
    color: #bbc7cf;
}

.brain2-analyst__disagreements summary {
    color: #d8c28e;
    cursor: pointer;
    font-weight: 700;
}

.brain2-analyst__currencies {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
    margin-top: 1rem;
}

.brain2-analyst__currency {
    border: 1px solid rgba(116, 151, 178, .18);
    border-radius: 11px;
    background: rgba(3, 10, 17, .38);
    overflow: hidden;
}

.brain2-analyst__currency[open] {
    grid-column: 1 / -1;
    border-color: rgba(116, 151, 178, .34);
}

.brain2-analyst__currency summary {
    display: grid;
    grid-template-columns: 52px 78px 1fr auto;
    align-items: center;
    gap: .65rem;
    padding: .8rem .9rem;
    cursor: pointer;
    list-style: none;
}

.brain2-analyst__currency summary::-webkit-details-marker {
    display: none;
}

.brain2-analyst__currency summary strong {
    color: #f0f5f8;
}

.brain2-analyst__currency summary span {
    font-size: .77rem;
    font-weight: 800;
}

.brain2-analyst__currency summary small {
    color: #8497a4;
}

.brain2-analyst__currency summary em {
    color: #79909f;
    font-size: .7rem;
    font-style: normal;
}

.brain2-analyst__currency-body {
    padding: .25rem 1rem 1rem;
    border-top: 1px solid rgba(116, 151, 178, .13);
}

.brain2-analyst__thesis {
    color: #d7e0e6;
    line-height: 1.6;
}

.brain2-analyst__interpretations,
.brain2-analyst__lists {
    display: grid;
    gap: .8rem;
}

.brain2-analyst__interpretations {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.brain2-analyst__interpretations > div,
.brain2-analyst__lists > div {
    padding: .75rem;
    border-radius: 9px;
    background: rgba(18, 34, 45, .54);
}

.brain2-analyst__interpretations p {
    margin: 0;
    color: #b4c2cb;
    font-size: .8rem;
    line-height: 1.5;
}

.brain2-analyst__lists {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: .8rem;
}

.brain2-analyst__lists h4 {
    margin: 0 0 .45rem;
    color: #dce5ea;
    font-size: .77rem;
}

.brain2-analyst__lists ul,
.brain2-analyst__disagreements ul {
    margin: 0;
    padding-left: 1rem;
    color: #9faeba;
    font-size: .76rem;
    line-height: 1.5;
}

@media (max-width: 900px) {
    .brain2-analyst__header,
    .brain2-analyst__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .brain2-analyst__brief,
    .brain2-analyst__currencies,
    .brain2-analyst__interpretations,
    .brain2-analyst__lists {
        grid-template-columns: 1fr;
    }

    .brain2-analyst__currency[open] {
        grid-column: auto;
    }
}

@media (max-width: 620px) {
    .brain2-analyst {
        padding: 1rem;
    }

    .brain2-analyst__leaders {
        grid-template-columns: 1fr;
    }

    .brain2-analyst__currency summary {
        grid-template-columns: 45px 70px 1fr;
    }

    .brain2-analyst__currency summary em {
        display: none;
    }
}
.brain2-analyst__compact-list {
    margin: 0;
    padding-left: 1rem;
    color: #aebdc7;
    font-size: .76rem;
    line-height: 1.5;
}

.brain2-analyst__validation-line {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .7rem;
    margin-top: .45rem;
    color: #8296a4;
    font-size: .7rem;
}

.brain2-analyst__confidence {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .45rem;
    margin: .8rem 0;
}

.brain2-analyst__confidence span {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    padding: .55rem;
    border: 1px solid rgba(116, 151, 178, .15);
    border-radius: 8px;
    background: rgba(5, 15, 23, .45);
    color: #788e9d;
    font-size: .65rem;
}

.brain2-analyst__confidence strong {
    color: #dce7ed;
    font-size: .85rem;
}

.brain2-analyst__scenarios {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
    margin-top: .8rem;
}

.brain2-analyst__scenarios > div {
    padding: .75rem;
    border-left: 2px solid rgba(70, 174, 154, .5);
    background: rgba(18, 34, 45, .44);
}

.brain2-analyst__scenarios small {
    color: #79909f;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .08em;
}

.brain2-analyst__scenarios p {
    margin: .3rem 0 0;
    color: #b5c3cc;
    font-size: .76rem;
    line-height: 1.48;
}

.brain2-analyst__audit {
    margin-top: .8rem;
    padding: .75rem;
    border: 1px solid rgba(116, 151, 178, .17);
    border-radius: 9px;
}

.brain2-analyst__audit > summary {
    color: #a9becb;
    cursor: pointer;
    font-size: .75rem;
    font-weight: 750;
}

.brain2-analyst__table-wrap {
    margin-top: .7rem;
    overflow-x: auto;
}

.brain2-analyst__table-wrap table {
    width: 100%;
    border-collapse: collapse;
    white-space: nowrap;
}

.brain2-analyst__table-wrap th,
.brain2-analyst__table-wrap td {
    padding: .48rem .55rem;
    border-bottom: 1px solid rgba(116, 151, 178, .12);
    color: #aab8c1;
    font-size: .69rem;
    text-align: left;
}

.brain2-analyst__table-wrap th {
    color: #708897;
    font-size: .61rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.brain2-analyst__market-view {
    margin-top: 1.2rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(116, 151, 178, .16);
}

.brain2-analyst__market-view header h3,
.brain2-analyst__candidate-portfolio header h3,
.brain2-analyst__matrix-block header h3 {
    margin: .15rem 0 .25rem;
    color: #e5edf2;
}

.brain2-analyst__market-view header small,
.brain2-analyst__candidate-portfolio header small,
.brain2-analyst__matrix-block header small {
    color: #5fc8ad;
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.brain2-analyst__market-view header p,
.brain2-analyst__candidate-portfolio header p,
.brain2-analyst__matrix-block header p {
    max-width: 880px;
    margin: 0;
    color: #8296a3;
    font-size: .78rem;
    line-height: 1.5;
}

.brain2-analyst__strength-table {
    margin-top: .8rem;
    border: 1px solid rgba(116, 151, 178, .15);
    border-radius: 10px;
    background: rgba(4, 12, 19, .34);
}

.brain2-analyst__strength-table strong,
.brain2-analyst__candidate-portfolio strong {
    color: #e5edf2;
}

.brain2-analyst__matrix-block,
.brain2-analyst__candidate-portfolio {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(116, 151, 178, .15);
    border-radius: 12px;
    background: rgba(4, 12, 19, .3);
}

.brain2-analyst__matrix-wrap {
    margin-top: .8rem;
    overflow-x: auto;
}

.brain2-analyst__matrix-wrap table {
    width: 100%;
    min-width: 760px;
    border-collapse: separate;
    border-spacing: 3px;
}

.brain2-analyst__matrix-wrap th,
.brain2-analyst__matrix-wrap td {
    min-width: 58px;
    padding: .48rem .38rem;
    border-radius: 6px;
    background: rgba(14, 29, 40, .68);
    color: #9fb1bd;
    font-size: .68rem;
    text-align: center;
}

.brain2-analyst__matrix-wrap th {
    color: #dbe6ec;
    font-size: .62rem;
    letter-spacing: .05em;
}

.brain2-analyst__matrix-wrap td.is-bullish {
    background: rgba(53, 180, 145, .14);
}

.brain2-analyst__matrix-wrap td.is-bearish {
    background: rgba(210, 83, 91, .14);
}

.brain2-analyst__matrix-wrap td.is-neutral,
.brain2-analyst__matrix-wrap td.is-diagonal {
    background: rgba(202, 162, 84, .08);
    color: #9d916f;
}

.brain2-analyst__portfolio-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    gap: .8rem;
    margin-top: .8rem;
}

.brain2-analyst__portfolio-grid > div {
    min-width: 0;
    padding: .8rem;
    border: 1px solid rgba(116, 151, 178, .13);
    border-radius: 9px;
    background: rgba(12, 26, 36, .52);
}

.brain2-analyst__portfolio-grid h4 {
    margin: 0 0 .35rem;
    color: #dce7ed;
    font-size: .78rem;
}

.brain2-analyst__pairs {
    margin-top: 1.2rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(116, 151, 178, .16);
}

.brain2-analyst__pairs header h3 {
    margin: .15rem 0 .25rem;
    color: #e5edf2;
}

.brain2-analyst__pairs header p {
    margin: 0;
    color: #8296a3;
    font-size: .78rem;
}

.brain2-analyst__pair-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .6rem;
    margin-top: .8rem;
}

.brain2-analyst__pair {
    border: 1px solid rgba(116, 151, 178, .17);
    border-radius: 9px;
    background: rgba(5, 14, 22, .4);
}

.brain2-analyst__pair[open] {
    grid-column: 1 / -1;
}

.brain2-analyst__pair summary {
    display: grid;
    grid-template-columns: 72px 60px 1fr auto;
    gap: .5rem;
    align-items: center;
    padding: .7rem .8rem;
    cursor: pointer;
    list-style: none;
    color: #9fb1bd;
    font-size: .72rem;
}

.brain2-analyst__pair summary::-webkit-details-marker {
    display: none;
}

.brain2-analyst__pair summary strong {
    color: #e2ebf0;
}

.brain2-analyst__pair > div {
    padding: 0 .9rem .9rem;
    border-top: 1px solid rgba(116, 151, 178, .11);
    color: #9eafba;
    font-size: .75rem;
}

.brain2-analyst__pair h4 {
    margin: .7rem 0 .3rem;
    color: #c8d5dc;
    font-size: .73rem;
}

.brain2-analyst__pair ul {
    margin: 0;
    padding-left: 1rem;
    line-height: 1.5;
}

.brain3-workspace {
    display: grid;
    gap: 1.2rem;
}

.brain3-hero {
    margin-bottom: 0;
}

.brain3-validation {
    padding: 1.35rem;
    border: 1px solid rgba(116, 151, 178, .24);
    border-radius: 18px;
    background:
        radial-gradient(circle at 8% 0%, rgba(73, 125, 173, .14), transparent 32%),
        linear-gradient(145deg, rgba(12, 23, 35, .98), rgba(8, 17, 27, .98));
    box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
}

.brain3-validation-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
    margin: 1rem 0;
}

.brain3-validation-summary article {
    min-width: 0;
    padding: .9rem 1rem;
    border: 1px solid rgba(116, 151, 178, .18);
    border-radius: 12px;
    background: rgba(5, 14, 22, .58);
}

.brain3-validation-summary span,
.brain3-validation-summary small {
    display: block;
    color: #8fa3b3;
}

.brain3-validation-summary span {
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .11em;
}

.brain3-validation-summary strong {
    display: block;
    margin: .3rem 0 .15rem;
    color: #f0f5f8;
    font-size: 1.35rem;
}

.brain3-validation-summary small {
    font-size: .72rem;
}

.brain3-shortlist-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
    margin: 1rem 0;
}

.brain3-shortlist {
    min-width: 0;
    border: 1px solid rgba(116, 151, 178, .18);
    border-radius: 12px;
    overflow: hidden;
    background: rgba(4, 12, 19, .42);
}

.brain3-shortlist > summary {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    padding: .8rem .9rem;
    cursor: pointer;
    color: #e7edf2;
    list-style: none;
}

.brain3-shortlist > summary::-webkit-details-marker {
    display: none;
}

.brain3-shortlist > summary span {
    color: #8fa3b3;
    font-size: .72rem;
}

.brain3-shortlist .brain2-analyst__table-wrap {
    margin: 0;
    border: 0;
    border-top: 1px solid rgba(116, 151, 178, .14);
    border-radius: 0;
    max-height: 390px;
    overflow: auto;
}

.brain3-shortlist table {
    min-width: 360px;
}

.brain3-alignment-table-wrap {
    overflow-x: auto;
    border: 1px solid rgba(116, 151, 178, .18);
    border-radius: 12px;
}

.brain3-alignment-table {
    width: 100%;
    min-width: 1040px;
    border-collapse: collapse;
}

.brain3-alignment-table th,
.brain3-alignment-table td {
    padding: .75rem .8rem;
    border-bottom: 1px solid rgba(116, 151, 178, .12);
    text-align: left;
    vertical-align: top;
}

.brain3-alignment-table th {
    color: #8fa3b3;
    background: rgba(4, 12, 19, .68);
    font-size: .65rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.brain3-alignment-table td {
    color: #d8e1e8;
    font-size: .78rem;
}

.brain3-alignment-table td > span,
.brain3-alignment-table td > small,
.brain3-alignment-table td > a {
    display: block;
    margin-top: .18rem;
}

.brain3-alignment-table td > small {
    color: #879aaa;
    line-height: 1.35;
}

.brain3-validation-state {
    width: fit-content;
    padding: .3rem .5rem;
    border: 1px solid rgba(116, 151, 178, .25);
    border-radius: 999px;
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-decoration: none;
}

.brain3-validation-state.is-displayed {
    border-color: rgba(72, 199, 169, .38);
    background: rgba(38, 151, 133, .12);
    color: #79d8c0;
}

.brain3-validation-state.is-conflict,
.brain3-validation-state.is-missing {
    border-color: rgba(214, 116, 101, .35);
    background: rgba(169, 72, 60, .12);
    color: #e1a39a;
}

.brain3-validation-state.is-context {
    border-color: rgba(196, 159, 93, .34);
    background: rgba(154, 116, 48, .12);
    color: #d9bd82;
}

.brain3-broader-alignment {
    display: grid;
    gap: 1rem;
    margin-top: 1.15rem;
    padding-top: 1.15rem;
    border-top: 1px solid rgba(116, 151, 178, .2);
}

.brain3-broader-alignment > header {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(320px, 1.2fr);
    gap: 1.25rem;
    align-items: end;
    padding: .95rem 1rem;
    border: 1px solid rgba(116, 151, 178, .18);
    border-left: 3px solid rgba(72, 199, 169, .72);
    border-radius: 12px;
    background: rgba(6, 16, 25, .62);
}

.brain3-broader-alignment > header h3,
.brain3-broader-alignment > header p {
    margin: 0;
}

.brain3-broader-alignment > header h3 {
    color: #edf3f6;
    font-size: 1rem;
}

.brain3-broader-alignment > header > p {
    color: #9eafba;
    font-size: .75rem;
    line-height: 1.55;
}

.brain3-validation-summary.is-broader {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
}

.brain3-broader-alignment-table {
    min-width: 1320px;
}

.brain3-cross-analysis {
    display: grid;
    gap: 1rem;
}

.brain3-alignment-group {
    overflow: hidden;
    border: 1px solid rgba(116, 151, 178, .2);
    border-radius: 14px;
    background: rgba(5, 14, 22, .5);
}

.brain3-alignment-group > header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    padding: .95rem 1rem;
    border-left: 3px solid rgba(72, 199, 169, .72);
    background: rgba(8, 20, 30, .74);
}

.brain3-alignment-group > header h3,
.brain3-alignment-group > header p {
    margin: 0;
}

.brain3-alignment-group > header > strong {
    flex: 0 0 auto;
    color: #79d8c0;
    font-size: 15px;
}

.brain3-alignment-group.is-neutral-group > header {
    border-left-color: rgba(196, 159, 93, .78);
}

.brain3-alignment-group.is-neutral-group > header > strong {
    color: #dfc27e;
}

.brain3-alignment-group.is-conflict-group > header {
    border-left-color: rgba(214, 116, 101, .78);
}

.brain3-alignment-group.is-conflict-group > header > strong {
    color: #ee9898;
}

.brain3-alignment-group .brain3-alignment-table-wrap {
    border: 0;
    border-top: 1px solid rgba(116, 151, 178, .16);
    border-radius: 0;
}

.brain3-consensus-table {
    min-width: 1080px;
}

.brain3-consensus-table th:nth-child(1) {
    width: 11%;
}

.brain3-consensus-table th:nth-child(2),
.brain3-consensus-table th:nth-child(3),
.brain3-consensus-table th:nth-child(4) {
    width: 15%;
}

.brain3-consensus-table th:nth-child(5) {
    width: 17%;
}

.brain3-consensus-table th:nth-child(6) {
    width: 27%;
}

.brain3-consensus-table tbody tr {
    transition: background-color .16s ease;
}

.brain3-consensus-table tbody tr:hover {
    background: rgba(74, 144, 180, .09);
}

.brain3-consensus-table tr.is-displayed {
    box-shadow: inset 3px 0 0 rgba(72, 199, 169, .72);
}

.brain3-consensus-table tr.is-context {
    background: rgba(154, 116, 48, .055);
    box-shadow: inset 3px 0 0 rgba(196, 159, 93, .68);
}

.brain3-consensus-table tr.is-conflict {
    background: rgba(169, 72, 60, .055);
    box-shadow: inset 3px 0 0 rgba(214, 116, 101, .68);
}

.brain3-direction {
    display: inline-flex !important;
    align-items: center;
    width: fit-content;
    padding: .3rem .55rem;
    border: 1px solid currentColor;
    border-radius: 999px;
    font-weight: 800;
}

.brain3-direction.is-bullish,
.brain3-gap.is-bullish {
    color: #69d9b8;
}

.brain3-direction.is-bullish {
    border-color: rgba(72, 199, 169, .52);
    background: rgba(38, 151, 133, .13);
}

.brain3-direction.is-bearish,
.brain3-gap.is-bearish {
    color: #ee9898;
}

.brain3-direction.is-bearish {
    border-color: rgba(214, 116, 101, .52);
    background: rgba(169, 72, 60, .13);
}

.brain3-direction.is-neutral,
.brain3-gap.is-neutral {
    color: #dfc27e;
}

.brain3-direction.is-neutral {
    border-color: rgba(196, 159, 93, .48);
    background: rgba(154, 116, 48, .13);
}

.brain3-gap {
    display: block;
    margin-top: .45rem;
    font-size: 15px;
    line-height: 1.2;
}

.brain3-confirmations > summary {
    display: flex;
    align-items: center;
    gap: .55rem;
    width: 100%;
    min-height: 2rem;
    cursor: pointer;
    color: #dbe6ec;
    list-style: none;
}

.brain3-confirmations > summary .cross-traffic-light {
    flex: 0 0 auto;
    width: .68rem;
    height: .68rem;
}

.brain3-confirmation-count {
    color: #edf3f6;
    font-size: 15px;
    font-weight: 800;
}

.brain3-confirmation-light {
    color: #9eb1bd;
    font-size: 13px;
    font-weight: 700;
}

.brain3-confirmations > summary::-webkit-details-marker {
    display: none;
}

.brain3-confirmations > summary::after {
    content: "+";
    color: #79d8c0;
    font-weight: 800;
}

.brain3-confirmations[open] > summary::after {
    content: "−";
}

.brain3-confirmation-summary {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    align-items: center;
    margin: .75rem 0;
    color: #9eb1bd;
    font-size: 13px;
}

.brain3-confirmation-summary a {
    color: #72c7ff;
    font-weight: 700;
    text-decoration: none;
}

.brain3-confirmation-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
}

.brain3-consensus-table .brain3-confirmation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.brain3-confirmation-grid article {
    min-width: 0;
    padding: .65rem .7rem;
    border: 1px solid rgba(116, 151, 178, .18);
    border-radius: 9px;
    background: rgba(3, 11, 18, .7);
}

.brain3-confirmation-grid article > span,
.brain3-confirmation-grid article > strong,
.brain3-confirmation-grid article > small {
    display: block;
}

.brain3-confirmation-grid article > span {
    color: #a9bbc6;
    font-size: 13px;
    font-weight: 700;
}

.brain3-confirmation-grid article > strong {
    margin: .22rem 0;
    font-size: 13px;
}

.brain3-confirmation-grid article > small,
.brain3-confirmation-grid article > p {
    margin: 0;
    color: #8fa3b3;
    font-size: 13px !important;
    line-height: 1.4 !important;
    overflow-wrap: anywhere;
}

.brain3-confirmation-grid article > p {
    margin-top: .35rem;
}

.brain3-confirmation-grid .is-confirming {
    border-color: rgba(72, 199, 169, .36);
}

.brain3-confirmation-grid .is-confirming > strong {
    color: #79d8c0;
}

.brain3-confirmation-grid .is-contradicting {
    border-color: rgba(214, 116, 101, .36);
}

.brain3-confirmation-grid .is-contradicting > strong {
    color: #e1a39a;
}

.brain3-confirmation-grid .is-mixed {
    border-color: rgba(196, 159, 93, .34);
}

.brain3-confirmation-grid .is-mixed > strong {
    color: #d9bd82;
}

.brain3-confirmation-grid .is-unavailable > strong {
    color: #8fa3b3;
}

@media (max-width: 1100px) {
    .brain3-shortlist-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .brain3-shortlist .brain2-analyst__table-wrap {
        max-height: 320px;
    }

    .brain3-validation-summary.is-broader {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .brain3-confirmation-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .brain3-validation-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .brain3-validation {
        padding: 1rem;
    }

    .brain3-broader-alignment > header,
    .brain3-validation-summary.is-broader {
        grid-template-columns: minmax(0, 1fr);
    }

    .brain3-alignment-group > header {
        align-items: flex-start;
        flex-direction: column;
    }

    .brain3-confirmation-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 900px) {
    .brain2-analyst__confidence {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .brain2-analyst__pair-grid {
        grid-template-columns: 1fr;
    }

    .brain2-analyst__portfolio-grid {
        grid-template-columns: 1fr;
    }

    .brain2-analyst__pair[open] {
        grid-column: auto;
    }
}

@media (max-width: 620px) {
    .brain2-analyst__confidence,
    .brain2-analyst__scenarios {
        grid-template-columns: 1fr;
    }
}

/* Brain 2 and Brain 3 share the approved platform type scale in both Owner
   and External Client views: 13px labels, 14px body copy, 15px data values,
   16px card headings, 20px section headings and 26px page headings. */
.brain2-workspace,
.brain3-workspace {
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 14px;
}

.brain2-workspace h1,
.brain3-workspace h1 {
    font-size: 26px;
    line-height: 1.25;
}

.brain2-workspace h2,
.brain3-workspace h2 {
    font-size: 20px;
    line-height: 1.3;
}

.brain2-workspace h3,
.brain3-workspace h3 {
    font-size: 16px;
    line-height: 1.35;
}

.brain2-workspace h4,
.brain3-workspace h4 {
    font-size: 15px;
    line-height: 1.4;
}

.brain2-workspace p,
.brain3-workspace p,
.brain2-workspace li,
.brain3-workspace li {
    font-size: 14px;
    line-height: 1.55;
}

.brain2-workspace small,
.brain3-workspace small {
    font-size: 13px !important;
    line-height: 1.4 !important;
}

.brain2-workspace table th,
.brain3-workspace table th {
    font-size: 13px !important;
    line-height: 1.4;
}

.brain2-workspace table td,
.brain3-workspace table td {
    font-size: 14px !important;
    line-height: 1.45;
}

.brain2-workspace table td > span,
.brain2-workspace table td > strong,
.brain2-workspace table td > a,
.brain3-workspace table td > span,
.brain3-workspace table td > strong,
.brain3-workspace table td > a {
    font-size: 13px !important;
    line-height: 1.4;
}

.brain2-workspace button,
.brain3-workspace button,
.brain2-workspace details > summary,
.brain3-workspace details > summary {
    font-size: 14px;
    line-height: 1.4;
}

.brain2-workspace .brain2-status strong,
.brain3-workspace .brain2-status strong,
.brain2-workspace .brain2-methodology-contract strong,
.brain2-workspace .brain2-methodology-weights strong,
.brain2-workspace .brain2-methodology-family-heading > strong,
.brain2-workspace .brain2-methodology-factor-name strong,
.brain2-workspace .brain2-methodology-factor-range strong,
.brain2-workspace .brain2-methodology-calculation strong,
.brain2-workspace .brain2-score-metric > strong,
.brain2-workspace .brain2-factor-calculation strong,
.brain2-workspace .brain2-factor-calculation a,
.brain2-workspace .brain2-analyst__confidence strong {
    font-size: 15px;
    line-height: 1.4;
}

.brain2-workspace .brain2-boundary-grid span,
.brain2-workspace .brain2-order,
.brain2-workspace .brain2-rule-status,
.brain2-workspace .brain2-methodology-inputs > span,
.brain2-workspace .brain2-methodology-factor-order,
.brain2-workspace .brain2-methodology-family-heading > div > span,
.brain2-workspace .brain2-score-metric > span,
.brain2-workspace .brain2-cross-link > strong,
.brain2-workspace .brain2-cross-link > span,
.brain2-workspace .brain2-cross-legend > span,
.brain2-workspace .brain2-cross-legend > strong,
.brain2-workspace .brain2-family-grid article > span,
.brain2-workspace .tradeboard-method-line,
.brain2-workspace .tradeboard-method-line > strong,
.brain2-workspace .tradeboard-heading-primary,
.brain2-workspace .tradeboard-heading-context,
.brain2-workspace .carry-confirmation-detail,
.brain2-workspace .trade-bias,
.brain2-workspace .research-state,
.brain2-workspace .technical-confirmation-chip,
.brain2-workspace .technical-chip-timeframe,
.brain2-workspace .market-confirmation-block strong,
.brain2-workspace .brain2-analyst__state,
.brain2-workspace .brain2-analyst__meta,
.brain2-workspace .brain2-analyst__currency summary span,
.brain2-workspace .brain2-analyst__currency summary em,
.brain2-workspace .brain2-analyst__validation-line,
.brain2-workspace .brain2-analyst__confidence span,
.brain3-workspace .brain2-analyst__state,
.brain3-workspace .brain2-analyst__meta,
.brain3-workspace .brain2-analyst__currency summary span,
.brain3-workspace .brain2-analyst__currency summary em,
.brain3-workspace .brain2-analyst__validation-line,
.brain3-workspace .brain2-analyst__confidence span,
.brain3-workspace .brain2-analyst__chips span,
.brain3-workspace .brain3-shortlist > summary span,
.brain3-workspace .brain3-validation-summary span,
.brain3-workspace .brain3-validation-state {
    font-size: 13px !important;
    line-height: 1.4;
}

.brain2-workspace .brain2-analyst__notice,
.brain2-workspace .brain2-analyst__boundary,
.brain2-workspace .brain2-analyst__interpretations p,
.brain2-workspace .brain2-analyst__lists ul,
.brain2-workspace .brain2-analyst__disagreements ul,
.brain2-workspace .brain2-analyst__compact-list,
.brain2-workspace .brain2-analyst__scenarios p,
.brain2-workspace .brain2-analyst__audit > summary,
.brain2-workspace .brain2-analyst__pair summary,
.brain2-workspace .brain2-analyst__pair > div,
.brain3-workspace .brain2-analyst__notice,
.brain3-workspace .brain2-analyst__boundary,
.brain3-workspace .brain2-analyst__interpretations p,
.brain3-workspace .brain2-analyst__lists ul,
.brain3-workspace .brain2-analyst__disagreements ul,
.brain3-workspace .brain2-analyst__compact-list,
.brain3-workspace .brain2-analyst__scenarios p,
.brain3-workspace .brain2-analyst__audit > summary,
.brain3-workspace .brain2-analyst__pair summary,
.brain3-workspace .brain2-analyst__pair > div,
.brain2-workspace .brain2-analyst__market-view header p,
.brain2-workspace .brain2-analyst__candidate-portfolio header p,
.brain2-workspace .brain2-analyst__matrix-block header p,
.brain2-workspace .brain2-analyst__pairs header p,
.brain3-workspace .brain2-analyst__market-view header p,
.brain3-workspace .brain2-analyst__candidate-portfolio header p,
.brain3-workspace .brain2-analyst__matrix-block header p,
.brain3-workspace .brain2-analyst__pairs header p {
    font-size: 14px;
    line-height: 1.5;
}

.brain2-workspace .brain2-analyst__refresh,
.brain3-workspace .brain2-analyst__refresh,
.brain2-workspace .tradeboard-journal-links a {
    font-size: 13px;
    line-height: 1.4;
}

.brain2-workspace .tradeboard-table {
    min-width: 1450px;
}

.brain2-workspace .tradeboard-table .tradeboard-col-market {
    width: 210px;
}

.brain2-workspace .market-confirmation-block strong {
    overflow: visible;
    text-overflow: clip;
}

.brain2-workspace .market-confirmation-block.market-confirmation-unavailable strong {
    font-size: 13px !important;
    position: relative;
    text-indent: -9999px;
    width: 100%;
}

.brain2-workspace .market-confirmation-block.market-confirmation-unavailable strong::after {
    content: "N/A";
    font-size: 13px;
    inset: 0;
    position: absolute;
    text-indent: 0;
}

/* Restore the approved compact Brain 2 Trade Board contract. The shared
   Brain 2 type scale is intended for the research workspace, while this
   fixed-column execution board has its own established 9–11px labels. */
.brain2-workspace .brain2-tradeboard .tradeboard-table {
    min-width: 1400px;
}

.brain2-workspace .brain2-tradeboard .tradeboard-table .tradeboard-col-market {
    width: 160px;
}

.brain2-workspace .brain2-tradeboard .tradeboard-method-line,
.brain2-workspace .brain2-tradeboard .tradeboard-method-line > strong {
    font-size: 11px !important;
    line-height: 1.35;
}

.brain2-workspace .brain2-tradeboard .tradeboard-table thead th {
    font-size: 11px !important;
    line-height: 1.1;
}

.brain2-workspace .brain2-tradeboard .tradeboard-table tbody td {
    font-size: 12px !important;
    line-height: 1.25;
}

.brain2-workspace .brain2-tradeboard .tradeboard-heading-primary {
    font-size: 11px !important;
    line-height: 1.1;
}

.brain2-workspace .brain2-tradeboard .tradeboard-heading-context {
    font-size: 9px !important;
    line-height: 1.15;
}

.brain2-workspace .brain2-tradeboard .tradeboard-section-row td {
    font-size: 11px !important;
}

.brain2-workspace .brain2-tradeboard .tradeboard-section-row span {
    font-size: 9px !important;
}

.brain2-workspace .brain2-tradeboard .trade-rank {
    font-size: 15px !important;
}

.brain2-workspace .brain2-tradeboard .trade-pair .trade-pair-link {
    font-size: 16px !important;
}

.brain2-workspace .brain2-tradeboard .trade-bias {
    font-size: 11px !important;
    line-height: 1.2;
}

.brain2-workspace .brain2-tradeboard .research-state {
    font-size: 10px !important;
    line-height: 1.2;
}

.brain2-workspace .brain2-tradeboard .tradeboard-table td > strong,
.brain2-workspace .brain2-tradeboard .momentum-confirmation-cell > strong,
.brain2-workspace .brain2-tradeboard .structure-confirmation-cell > strong {
    font-size: 11px !important;
    line-height: 1.2;
}

.brain2-workspace .brain2-tradeboard .carry-confirmation-detail {
    font-size: 11px !important;
    line-height: 1.2;
}

.brain2-workspace .brain2-tradeboard .carry-confirmation-cell .carry-confirmation-detail {
    overflow-wrap: anywhere;
    white-space: normal;
}

.brain2-workspace .brain2-tradeboard .market-confirmation-block strong,
.brain2-workspace .brain2-tradeboard .market-confirmation-block.market-confirmation-unavailable strong,
.brain2-workspace .brain2-tradeboard .market-confirmation-block.market-confirmation-unavailable strong::after {
    font-size: 10px !important;
    line-height: 1.05;
}

.brain2-workspace .brain2-tradeboard .technical-confirmation-chip {
    font-size: 10px !important;
    line-height: 1.05;
}

.brain2-workspace .brain2-tradeboard .technical-chip-timeframe {
    font-size: 9px !important;
    line-height: 1.05;
}

.brain2-workspace .brain2-tradeboard .tradeboard-journal-links a {
    font-size: 9px !important;
    line-height: 1.2;
}

.brain3-workspace .brain3-validation-summary strong {
    font-size: 20px;
    line-height: 1.25;
}

.brain3-workspace .brain3-broader-alignment > header h3 {
    font-size: 16px;
}

.brain3-workspace .brain3-broader-alignment > header > p {
    font-size: 14px;
    line-height: 1.55;
}
.currency-factor-observation-table .currency-factor-previous-date {
    color: var(--text-muted);
    display: block;
    font-size: 0.72rem;
    margin-top: 0.18rem;
    white-space: nowrap;
}

.currency-research-terminal .currency-factor-presentation-card .currency-factor-observation-table th:first-child {
    width: 33%;
}

.currency-research-terminal .currency-factor-presentation-card .currency-factor-observation-table th:nth-child(2) {
    width: 22%;
}

.currency-research-terminal .currency-factor-presentation-card .currency-factor-observation-table th:nth-child(3) {
    width: 23%;
}

.currency-research-terminal .currency-factor-presentation-card .currency-factor-observation-table th:nth-child(4) {
    width: 22%;
}

.currency-research-terminal .currency-factor-presentation-card .currency-factor-observation-table th {
    overflow-wrap: normal;
    word-break: normal;
}

.currency-research-terminal .currency-factor-presentation-card .currency-factor-observation-table th:nth-child(4),
.currency-research-terminal .currency-factor-presentation-card .currency-factor-observation-table td:nth-child(4) {
    white-space: nowrap;
}

/* Brain 2 client disclosure view keeps the Owner visual language while using
   fewer, qualitative columns. Scope every override to the client workspace. */
.external-brain2-workspace .brain2-composite-row {
    grid-template-columns: .45fr .65fr 1fr .9fr .9fr .75fr;
    min-width: 44rem;
}

.external-brain2-workspace .brain2-endo-table {
    border: 1px solid rgba(142, 174, 197, .20);
    border-radius: 4px;
    overflow-x: auto;
}

.external-brain2-workspace .brain2-endo-row {
    align-items: center;
    border-top: 1px solid rgba(142, 174, 197, .13);
    display: grid;
    font-size: 14px;
    font-variant-numeric: tabular-nums;
    gap: .55rem;
    grid-template-columns: .42fr .55fr .8fr repeat(6, .82fr) .68fr;
    min-height: 2.15rem;
    min-width: 68rem;
    padding: .38rem .7rem;
}

.external-brain2-workspace .brain2-endo-row:first-child {
    border-top: 0;
}

.external-brain2-workspace .brain2-endo-row:nth-child(odd):not(.brain2-endo-heading) {
    background: rgba(93, 128, 151, .035);
}

.external-brain2-workspace .brain2-endo-heading {
    background: #0a2235;
    color: #a9c7da;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.external-brain2-workspace .brain2-currency-card .brain2-factor-row {
    grid-template-columns: minmax(11rem, 1.25fr) minmax(7rem, .75fr) minmax(7rem, .75fr) minmax(9rem, 1fr) minmax(9rem, .9fr);
    min-width: 56rem;
}

.external-brain2-workspace .brain2-methodology-factor .brain2-factor-row {
    align-items: center;
    grid-template-columns: 2.2rem minmax(12rem, 1fr) auto;
    min-width: 0;
}

@media (max-width: 620px) {
    .external-brain2-workspace .brain2-methodology-factor .brain2-factor-row {
        grid-template-columns: 2rem minmax(0, 1fr);
    }

    .external-brain2-workspace .brain2-methodology-factor .brain2-rule-status {
        grid-column: 2;
    }
}
.brain3-mt5-automation {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.25rem;
    align-items: center;
    margin: 1rem 0;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(106, 150, 184, 0.22);
    border-radius: 0.8rem;
    background: linear-gradient(135deg, rgba(15, 35, 52, 0.88), rgba(11, 27, 42, 0.78));
}

.brain3-mt5-automation h3,
.brain3-mt5-automation p {
    margin: 0;
}

.brain3-mt5-automation p {
    color: var(--text-muted);
}

.brain3-mt5-actions,
.brain3-mt5-actions form {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
}

.brain3-mt5-actions select {
    min-width: 18rem;
    max-width: 28rem;
}

@media (max-width: 900px) {
    .brain3-mt5-automation {
        grid-template-columns: 1fr;
    }

    .brain3-mt5-actions,
    .brain3-mt5-actions form {
        align-items: stretch;
        flex-direction: column;
    }

    .brain3-mt5-actions select {
        min-width: 0;
        width: 100%;
    }
}
