.holdings-account-filter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--advisor-space-5);
}

.holdings-account-filter > div {
    display: grid;
    gap: 2px;
}

.holdings-account-filter > div > strong {
    font-family: var(--advisor-font-display);
    font-size: 19px;
    font-weight: 500;
}

.holdings-account-filter > div > span,
.holdings-account-filter label {
    color: var(--advisor-color-muted);
    font-size: 11px;
}

.holdings-account-filter label {
    display: grid;
    gap: 4px;
    min-width: 220px;
}

.holdings-account-filter select {
    min-height: 38px;
    border: 1px solid var(--advisor-color-border-strong);
    border-radius: var(--advisor-radius-control);
    background: var(--advisor-color-surface);
    color: var(--advisor-color-ink);
    padding: 0 12px;
}

.holdings-analysis-grid,
.balance-sheet-analysis-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--advisor-space-4);
}

.holdings-top-position-list {
    display: grid;
    gap: 11px;
}

.holdings-top-position {
    display: grid;
    grid-template-columns: minmax(150px, 0.8fr) minmax(150px, 1fr) 54px;
    align-items: center;
    gap: 12px;
}

.holdings-top-position > div:first-child {
    display: grid;
    min-width: 0;
}

.holdings-top-position > div:first-child strong,
.holdings-top-position > div:first-child span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.holdings-top-position > div:first-child strong {
    font-size: 12px;
}

.holdings-top-position > div:first-child span {
    color: var(--advisor-color-subtle);
    font-size: 10px;
}

.holdings-top-position-track {
    position: relative;
    height: 7px;
    border-radius: var(--advisor-radius-pill);
    background: var(--advisor-color-surface-muted);
}

.holdings-top-position-track i {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--advisor-color-positive);
}

.holdings-top-position-track b {
    position: absolute;
    top: -3px;
    right: 0;
    bottom: -3px;
    width: 2px;
    background: var(--advisor-color-negative);
}

.holdings-top-position > em {
    color: var(--advisor-color-muted);
    font-size: 11px;
    font-style: normal;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.holdings-top-position.is-over .holdings-top-position-track i {
    background: var(--advisor-color-negative);
}

.holdings-top-position.is-over > em {
    color: var(--advisor-color-negative);
}

.advisor-data-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--advisor-space-5);
    padding: var(--advisor-space-4) var(--advisor-space-5);
    border: 1px solid var(--advisor-color-border-strong);
    border-radius: var(--advisor-radius-panel);
    background: var(--advisor-color-surface);
}

.advisor-data-banner > div {
    display: grid;
    gap: 3px;
}

.advisor-data-banner > div > span {
    color: var(--advisor-color-muted);
    font-size: 11px;
}

.advisor-data-banner--critical {
    border-color: color-mix(in srgb, var(--advisor-color-negative) 46%, var(--advisor-color-border));
    background: var(--advisor-color-surface-negative);
}

.advisor-data-banner--critical .eyebrow,
.advisor-data-banner--critical strong {
    color: var(--advisor-color-negative);
}

.balance-sheet-workspace .account-value-chart {
    min-height: 220px;
}

.folio .balance-sheet-workspace {
    display: grid;
    gap: 24px;
}

.folio .balance-sheet-workspace > .advisor-planning-hero {
    margin-bottom: -8px;
}

.folio .balance-sheet-workspace > .advisor-metric-band {
    margin-top: -8px;
}

.folio .balance-sheet-conflict {
    border-radius: 4px;
    box-shadow: none;
}

.folio .balance-sheet-statement {
    min-width: 0;
    padding: 28px 0 8px;
    border-top: 1px solid var(--f-line-strong);
}

.folio .balance-sheet-statement__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 16px;
}

.folio .balance-sheet-statement__head h2 {
    margin: 4px 0 0;
    color: var(--f-ink);
    font: 500 clamp(27px, 3.2vw, 42px)/1.04 var(--f-font-display);
    letter-spacing: -.025em;
}

.folio .balance-sheet-statement__head > div > p:last-child {
    margin: 8px 0 0;
    color: var(--f-muted);
    font-size: 11px;
    line-height: 1.5;
}

.folio .balance-sheet-statement__head .folio-button {
    flex: 0 0 auto;
}

.folio .balance-sheet-statement__status {
    min-height: 0;
    margin: -5px 0 10px;
    color: var(--f-muted);
    font-size: 10px;
}

.folio .balance-sheet-statement__status:empty {
    display: none;
}

.folio .balance-sheet-statement__scroll {
    max-width: 100%;
    overflow-x: auto;
    border-top: 1px solid var(--f-ink);
    outline-offset: 3px;
}

.folio .balance-sheet-statement table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    table-layout: fixed;
}

.folio .balance-sheet-statement :is(th, td) {
    padding: 10px 13px;
    border-bottom: 1px solid var(--f-line);
    color: var(--f-ink);
    font-size: 10.5px;
    line-height: 1.35;
    text-align: left;
    vertical-align: middle;
}

.folio .balance-sheet-statement thead th {
    color: var(--f-dim);
    font: 600 8px/1.2 var(--f-font-mono);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.folio .balance-sheet-statement thead th:first-child {
    width: 48%;
}

.folio .balance-sheet-statement thead th:nth-child(2) {
    width: 17%;
}

.folio .balance-sheet-statement thead th:nth-child(3) {
    width: 21%;
}

.folio .balance-sheet-statement thead th:nth-child(4) {
    width: 14%;
}

.folio .balance-sheet-statement .is-number {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.folio .balance-sheet-statement__chapter th {
    padding-block: 12px;
    background: var(--f-band);
    color: var(--f-sage);
    font: 600 8px/1.2 var(--f-font-mono);
    letter-spacing: .11em;
    text-transform: uppercase;
}

.folio .balance-sheet-statement__chapter.is-liability th {
    color: var(--f-clay);
}

.folio .balance-sheet-statement__category th {
    font-weight: 650;
}

.folio .balance-sheet-statement__category th span,
.folio .balance-sheet-statement__category th small,
.folio .balance-sheet-statement__account th span,
.folio .balance-sheet-statement__account th small {
    display: block;
}

.folio .balance-sheet-statement__category th small,
.folio .balance-sheet-statement__account th small {
    margin-top: 3px;
    color: var(--f-dim);
    font-size: 8.5px;
    font-weight: 450;
}

.folio .balance-sheet-statement__category .is-number {
    color: var(--f-sage);
    font: 600 10px/1.2 var(--f-font-mono);
}

.folio .balance-sheet-statement__category.is-liability .is-number {
    color: var(--f-clay);
}

.folio .balance-sheet-statement__account th {
    padding-left: 29px;
    font-weight: 500;
}

.folio .balance-sheet-statement__account td {
    color: var(--f-muted);
}

.folio .balance-sheet-statement__account.is-liability td:nth-last-child(2) {
    color: var(--f-clay);
}

.folio .balance-sheet-statement__empty td {
    color: var(--f-muted);
    font-style: italic;
}

.folio .balance-sheet-statement tfoot th,
.folio .balance-sheet-statement tfoot td {
    font-weight: 650;
}

.folio .balance-sheet-statement tfoot tr:first-child > * {
    border-top: 1px solid var(--f-ink);
}

.folio .balance-sheet-statement__net > * {
    padding-block: 14px;
    border-top: 1px solid var(--f-ink);
    border-bottom: 3px double var(--f-ink) !important;
    color: var(--f-green) !important;
    font: 500 17px/1 var(--f-font-display) !important;
}

.folio .balance-sheet-statement__net td:nth-child(2) {
    color: var(--f-muted) !important;
    font: 500 9px/1.3 var(--f-font-mono) !important;
}

.folio .balance-sheet-statement__notes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 13px;
}

.folio .balance-sheet-statement__notes p {
    margin: 0;
    color: var(--f-muted);
    font-size: 9px;
    line-height: 1.5;
}

.folio .balance-sheet-statement__notes strong {
    color: var(--f-ink);
    font-weight: 650;
}

.account-chart-zoom-label {
    margin: 0 0 4px 76px;
    color: var(--advisor-color-accent-strong);
    font-size: 9.5px;
    font-weight: 750;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    .holdings-analysis-grid,
    .balance-sheet-analysis-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .holdings-account-filter,
    .advisor-data-banner {
        align-items: stretch;
        flex-direction: column;
    }

    .holdings-account-filter label {
        min-width: 0;
    }

    .holdings-top-position {
        grid-template-columns: minmax(110px, 0.8fr) minmax(100px, 1fr) 46px;
    }

    .folio .balance-sheet-workspace {
        gap: 18px;
    }

    .folio .balance-sheet-statement__head {
        align-items: stretch;
        flex-direction: column;
    }

    .folio .balance-sheet-statement__head .folio-button {
        align-self: flex-start;
    }

    .folio .balance-sheet-statement__notes {
        grid-template-columns: minmax(0, 1fr);
        gap: 7px;
    }
}
