.pf-page {
    min-height: calc(100vh - 80px);
    min-height: calc(100dvh - 80px);
    color: var(--text-primary);
    overflow-x: hidden;
    --pf-surface: var(--app-surface-section, #101010);
    --pf-card: var(--app-surface-card, #0d0d0d);
    --pf-card-hover: var(--app-surface-card-hover, #111111);
    --pf-control: var(--app-surface-control, #151515);
    --pf-border: rgba(255, 255, 255, 0.09);
    --pf-border-strong: rgba(255, 255, 255, 0.13);
    --pf-border-hover: rgba(255, 255, 255, 0.16);
    --pf-radius: 12px;
    --pf-control-radius: 10px;
    --pf-fs-kicker: 12px;
    --pf-fs-meta: 13px;
    --pf-fs-body: 15px;
    --pf-fs-body-sm: 14px;
    --pf-fs-title: 24px;
    --pf-fs-card-title: 19px;
    --pf-fs-metric: 18px;
    --pf-fs-chip: 11px;
    --pf-fs-support: 14px;
    --pf-text-support: rgba(214, 223, 232, 0.74);
}

/* Account workspace: current TSB surfaces, type scale, and state hierarchy. */
body.pf-page {
    --pf-surface: var(--app-surface-section);
    --pf-card: var(--app-surface-card);
    --pf-card-hover: var(--app-surface-card-hover);
    --pf-control: var(--app-surface-control);
    --pf-border: var(--app-border-muted);
    --pf-border-strong: var(--app-border-default);
    --pf-border-hover: var(--app-border-hover);
    --pf-fs-kicker: 12px;
    --pf-fs-meta: 13px;
    --pf-fs-body: 15px;
    --pf-fs-body-sm: 14px;
    --pf-fs-card-title: 18px;
    --pf-fs-chip: 12px;
    --pf-fs-support: 14px;
    --pf-text-support: var(--text-secondary);
}

body.pf-page .pf-mode-switch {
    min-height: 42px;
    padding: 3px;
    border-color: var(--app-segmented-border);
    background: var(--app-segmented-bg);
}

body.pf-page .pf-mode-tab {
    min-height: 34px;
    padding-inline: 14px;
    color: var(--app-segmented-item-color);
    font-size: 14px;
    font-weight: 650;
}

body.pf-page .pf-mode-tab:hover {
    color: var(--app-segmented-item-color-hover);
    background: var(--app-segmented-item-bg-hover);
}

body.pf-page .pf-mode-tab.is-active {
    color: var(--app-segmented-active-color);
    background: var(--app-segmented-active-bg);
    box-shadow: var(--app-segmented-active-shadow);
}

body.pf-page .pf-account-workspace {
    border-color: var(--app-border-muted);
    background: var(--app-surface-section);
}

body.pf-page .pf-account-rail {
    padding: 20px 14px;
    border-color: var(--app-border-muted);
    background: var(--app-surface-section-alt);
}

body.pf-page .pf-account-rail-head {
    padding: 0 7px 12px;
    color: var(--text-tertiary);
    font-size: 11px;
    letter-spacing: 0.08em;
}

body.pf-page .pf-account-rail-head strong {
    min-width: 22px;
    height: 22px;
    border-color: var(--app-border-default);
    color: var(--text-secondary);
    font-size: 11px;
}

body.pf-page .pf-account-rail-item {
    min-height: 58px;
    border-radius: var(--app-radius-control);
    color: var(--text-secondary);
}

body.pf-page .pf-account-rail-item:hover {
    background: var(--app-surface-card-hover);
    color: var(--text-primary);
}

body.pf-page .pf-account-rail-item.is-active {
    border-color: var(--app-action-primary-border);
    background: var(--accent-subtle);
    color: var(--text-primary);
}

body.pf-page .pf-account-rail-logo {
    border-color: var(--app-border-default);
    background: var(--app-surface-control);
}

body.pf-page .pf-account-rail-copy strong {
    font-size: 14px;
    font-weight: 650;
}

body.pf-page .pf-account-rail-copy small {
    color: var(--text-tertiary);
    font-size: 12px;
}

body.pf-page .pf-account-rail-state {
    background: var(--accent-secondary);
    box-shadow: 0 0 0 3px var(--accent-subtle);
}

body.pf-page .pf-account-rail-add {
    min-height: 42px;
    border-color: var(--app-border-default);
    border-radius: var(--app-radius-control);
    color: var(--text-tertiary);
    font-size: 13px;
    font-weight: 650;
}

body.pf-page .pf-account-rail-add:hover {
    border-color: var(--app-action-primary-border-hover);
    background: var(--accent-subtle);
    color: var(--app-action-primary-color);
}

.pf-account-mobile-picker {
    display: none;
}

body.pf-page .pf-account-main {
    padding: 20px;
}

body.pf-page .pf-account-identity-bar {
    gap: 20px;
    padding-bottom: 18px;
}

body.pf-page .pf-account-logo {
    border-color: var(--app-border-default);
    border-radius: var(--app-radius-card);
    background: var(--app-surface-control);
}

body.pf-page .pf-account-title-row h2 {
    color: var(--text-primary);
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 650;
}

body.pf-page .pf-account-phase-badge,
body.pf-page .pf-account-status {
    min-height: 26px;
    font-size: var(--pf-fs-chip);
    font-weight: 650;
}

body.pf-page .pf-account-phase-badge {
    padding-inline: 9px;
    border-color: var(--app-border-default);
    background: var(--app-surface-control);
    color: var(--text-secondary);
}

body.pf-page .pf-account-status {
    color: var(--text-secondary);
}

body.pf-page .pf-account-fit-summary {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 28px;
    padding: 0 8px;
    border: 1px solid var(--app-action-primary-border);
    border-radius: 999px;
    background: var(--accent-subtle);
    color: var(--app-action-primary-color);
    font-size: var(--pf-fs-chip);
    font-weight: 650;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}

body.pf-page .pf-account-fit-summary[hidden] {
    display: none;
}

body.pf-page .pf-account-fit-summary strong {
    color: inherit;
    font-family: 'JetBrains Mono', 'DM Mono', monospace;
    font-size: 12px;
    font-weight: 750;
}

body.pf-page .pf-account-fit-summary small {
    color: var(--text-tertiary);
    font-size: 9px;
    font-weight: 650;
}

body.pf-page .pf-account-fit-summary svg {
    width: 12px;
    height: 12px;
    margin-left: 2px;
}

body.pf-page .pf-account-fit-summary:hover,
body.pf-page .pf-account-fit-summary:focus-visible {
    border-color: var(--app-action-primary-border-hover);
    background: var(--app-action-primary-bg-hover);
    color: var(--app-action-primary-color);
    outline: none;
}

body.pf-page .pf-account-fit-summary:focus-visible {
    box-shadow: 0 0 0 3px var(--accent-subtle);
}

body.pf-page .pf-account-fit-summary[data-state="fail"] {
    border-color: rgba(239, 119, 119, 0.34);
    background: rgba(239, 119, 119, 0.08);
    color: var(--red-light);
}

body.pf-page .pf-account-status > span,
body.pf-page .pf-account-flow-state > span {
    background: var(--accent-secondary);
}

body.pf-page .pf-account-status[data-state="breached"] {
    color: var(--red-light);
}

body.pf-page .pf-account-status[data-state="breached"] > span {
    background: var(--red-light);
}

body.pf-page .pf-account-status[data-state="paused"] {
    color: var(--warn-light);
}

body.pf-page .pf-account-status[data-state="paused"] > span {
    background: var(--warn);
}

body.pf-page .pf-account-source {
    color: var(--text-tertiary);
    font-size: var(--pf-fs-meta);
}

body.pf-page .pf-account-source strong {
    color: var(--text-secondary);
    font-weight: 650;
}

body.pf-page .pf-account-source-divider {
    background: var(--app-border-hover);
}

body.pf-page .pf-account-source[data-state="working"] #pfAccountSyncState,
body.pf-page .pf-account-flow-state[data-state="working"],
body.pf-page .pf-account-flow-state[data-state="waiting"] {
    color: var(--accent-secondary);
}

body.pf-page .pf-account-flow-state[data-state="working"] > span,
body.pf-page .pf-account-flow-state[data-state="waiting"] > span {
    background: var(--accent-secondary);
}

body.pf-page .pf-account-actions .app-action-btn {
    min-height: 42px;
}

body.pf-page .pf-account-next-action {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
    padding: 16px;
    border: 1px solid var(--app-action-primary-border);
    border-radius: var(--app-radius-section);
    background: var(--app-surface-card);
}

body.pf-page .pf-account-next-action[hidden] {
    display: none;
}

body.pf-page .pf-account-next-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--app-action-primary-border);
    border-radius: var(--app-radius-control);
    background: var(--accent-subtle);
    color: var(--accent-secondary);
}

body.pf-page .pf-account-next-action-icon svg {
    width: 18px;
    height: 18px;
}

body.pf-page .pf-account-next-action-copy {
    min-width: 0;
}

body.pf-page .pf-account-next-action-copy h3 {
    margin: 0;
    color: var(--text-primary);
    font-size: 17px;
    font-weight: 650;
    letter-spacing: -0.02em;
}

body.pf-page .pf-account-next-action-copy p {
    margin: 5px 0 0;
    color: var(--text-secondary);
    font-size: 14px;
    line-height: 1.5;
}

body.pf-page .pf-account-next-action-buttons {
    display: flex;
    align-items: center;
    gap: 8px;
}

body.pf-page .pf-account-section-kicker {
    margin-bottom: 5px;
    color: var(--text-tertiary);
    font-size: var(--pf-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.08em;
}

body.pf-page .pf-account-section-head h3,
body.pf-page .pf-account-card-head h3,
body.pf-page .pf-account-activity-head h3 {
    color: var(--text-primary);
    font-size: var(--pf-fs-card-title);
    font-weight: 650;
}

body.pf-page .pf-account-rules-trust {
    color: var(--accent-secondary);
    font-size: 12px;
    font-weight: 650;
}

body.pf-page .pf-phase-journey,
body.pf-page .pf-account-progress-card,
body.pf-page .pf-account-risk-card,
body.pf-page .pf-account-activity,
body.pf-page .pf-account-snapshot-bar {
    border-color: var(--app-border-muted);
    border-radius: var(--app-radius-section);
    background: var(--app-surface-card);
}

body.pf-page .pf-phase-journey {
    padding: 16px 18px;
}

body.pf-page .pf-phase-journey-track {
    margin-top: 13px;
}

body.pf-page .pf-phase-step {
    min-height: 58px;
}

body.pf-page .pf-phase-step::before {
    background: var(--app-border-default);
}

body.pf-page .pf-phase-step.is-active {
    border-color: var(--app-action-primary-border);
    background: var(--accent-subtle);
}

body.pf-page .pf-phase-step-index {
    border-color: var(--app-border-default);
    color: var(--text-tertiary);
}

body.pf-page .pf-phase-step.is-completed .pf-phase-step-index,
body.pf-page .pf-phase-step.is-active .pf-phase-step-index {
    border-color: var(--app-action-primary-border-hover);
    color: var(--accent-secondary);
}

body.pf-page .pf-phase-step-copy strong {
    color: var(--text-secondary);
    font-size: 14px;
    font-weight: 650;
}

body.pf-page .pf-phase-step.is-active .pf-phase-step-copy strong {
    color: var(--text-primary);
}

body.pf-page .pf-phase-step-copy small {
    color: var(--text-tertiary);
    font-size: 12px;
}

body.pf-page .pf-account-progress-card,
body.pf-page .pf-account-risk-card {
    padding: 18px;
}

body.pf-page .pf-account-target-chip,
body.pf-page .pf-account-risk-state {
    min-height: 28px;
    border-color: var(--app-border-default);
    color: var(--text-secondary);
    font-size: 12px;
    font-weight: 650;
}

body.pf-page .pf-account-risk-state {
    border-color: var(--app-action-primary-border);
    color: var(--accent-secondary);
}

body.pf-page .pf-account-pnl {
    color: var(--accent-secondary);
}

body.pf-page .pf-account-progress-copy {
    color: var(--text-secondary);
    font-size: 13px;
}

body.pf-page .pf-account-progress-copy strong {
    color: var(--text-secondary);
    font-size: 12px;
}

body.pf-page .pf-account-progress-bar,
body.pf-page .pf-account-risk-meter {
    background: var(--app-border-default);
}

body.pf-page .pf-account-progress-bar > span,
body.pf-page .pf-account-risk-meter > span {
    background: var(--accent-secondary);
}

body.pf-page .pf-account-balance-row,
body.pf-page .pf-account-risk-grid,
body.pf-page .pf-account-risk-footer,
body.pf-page .pf-account-activity-grid,
body.pf-page .pf-account-risk-card > p {
    border-color: var(--app-border-muted);
}

body.pf-page .pf-account-balance-row small,
body.pf-page .pf-account-risk-footer small,
body.pf-page .pf-account-activity-grid small,
body.pf-page .pf-account-risk-grid span {
    color: var(--text-tertiary);
    font-size: 12px;
    font-weight: 650;
}

body.pf-page .pf-account-balance-row strong,
body.pf-page .pf-account-risk-footer strong,
body.pf-page .pf-account-activity-grid strong {
    color: var(--text-secondary);
    font-size: 13px;
}

body.pf-page .pf-account-risk-grid strong {
    color: var(--text-primary);
}

body.pf-page .pf-account-risk-grid small {
    color: var(--accent-secondary);
    font-size: 12px;
}

body.pf-page .pf-account-risk-card > p {
    color: var(--text-tertiary);
    font-size: 13px;
}

body.pf-page .pf-account-flow-state {
    color: var(--accent-secondary);
    font-size: 12px;
    font-weight: 650;
}

body.pf-page .pf-account-snapshot-bar strong {
    color: var(--text-secondary);
    font-size: 13px;
}

body.pf-page .pf-account-snapshot-bar small {
    color: var(--text-tertiary);
    font-size: 12px;
}

body.pf-page .pf-account-snapshot-bar > a {
    color: var(--accent-secondary);
    font-size: 13px;
    font-weight: 650;
}

html.light body.pf-page .pf-account-workspace,
html[data-theme="light"] body.pf-page .pf-account-workspace {
    border-color: var(--app-border-muted);
    background: var(--app-surface-section);
}

html.light body.pf-page .pf-account-rail,
html[data-theme="light"] body.pf-page .pf-account-rail,
html.light body.pf-page .pf-phase-journey,
html[data-theme="light"] body.pf-page .pf-phase-journey,
html.light body.pf-page .pf-account-progress-card,
html[data-theme="light"] body.pf-page .pf-account-progress-card,
html.light body.pf-page .pf-account-risk-card,
html[data-theme="light"] body.pf-page .pf-account-risk-card,
html.light body.pf-page .pf-account-activity,
html[data-theme="light"] body.pf-page .pf-account-activity,
html.light body.pf-page .pf-account-snapshot-bar,
html[data-theme="light"] body.pf-page .pf-account-snapshot-bar,
html.light body.pf-page .pf-account-next-action,
html[data-theme="light"] body.pf-page .pf-account-next-action {
    border-color: var(--app-border-muted);
    background: var(--app-surface-card);
}

@media (max-width: 1040px) {
    body.pf-page .pf-account-layout.has-account-rail .pf-account-rail {
        border-color: var(--app-border-muted);
        background: var(--app-surface-section-alt);
    }
}

@media (max-width: 900px) {
    body.pf-page .pf-account-layout.has-account-rail .pf-account-rail {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: 10px;
        overflow: visible;
        padding: 12px;
    }

    body.pf-page .pf-account-layout.has-account-rail .pf-account-rail-list {
        display: none;
    }

    body.pf-page .pf-account-mobile-picker:not([hidden]) {
        display: grid;
        min-width: 0;
        gap: 6px;
        color: var(--text-tertiary);
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    body.pf-page .pf-account-mobile-select-shell {
        position: relative;
        display: block;
        min-width: 0;
    }

    body.pf-page #pfAccountMobileSelect {
        width: 100%;
        min-width: 0;
        height: 46px;
        appearance: none;
        padding: 0 42px 0 13px;
        border: 1px solid var(--app-border-default);
        border-radius: var(--app-radius-control);
        background: var(--app-surface-control);
        color: var(--text-primary);
        font: inherit;
        font-size: 14px;
        font-weight: 600;
        letter-spacing: 0;
        text-transform: none;
    }

    body.pf-page #pfAccountMobileSelect:focus-visible {
        border-color: var(--app-action-primary-border-hover);
        outline: 3px solid var(--accent-subtle);
        outline-offset: 1px;
    }

    body.pf-page .pf-account-mobile-select-shell > svg {
        position: absolute;
        top: 50%;
        right: 13px;
        width: 16px;
        height: 16px;
        color: var(--text-secondary);
        pointer-events: none;
        transform: translateY(-50%);
    }

    body.pf-page .pf-account-layout.has-account-rail .pf-account-rail-add {
        min-width: 82px;
        min-height: 46px;
        margin: 0;
        padding-inline: 12px;
    }

    body.pf-page .pf-account-main {
        padding: 14px;
    }

    body.pf-page .pf-account-title-row h2 {
        font-size: 22px;
    }

    body.pf-page .pf-account-next-action {
        grid-template-columns: 38px minmax(0, 1fr);
        align-items: start;
        gap: 12px;
        padding: 14px;
    }

    body.pf-page .pf-account-next-action-icon {
        width: 38px;
        height: 38px;
    }

    body.pf-page .pf-account-next-action-copy h3 {
        font-size: 16px;
    }

    body.pf-page .pf-account-next-action-buttons {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    body.pf-page .pf-account-next-action-buttons .app-action-btn {
        width: 100%;
        min-width: 0;
        justify-content: center;
    }

    body.pf-page .pf-account-section-head,
    body.pf-page .pf-account-card-head,
    body.pf-page .pf-account-activity-head {
        gap: 10px;
    }

    body.pf-page .pf-account-section-kicker {
        font-size: 11px;
    }

    body.pf-page .pf-account-section-head h3,
    body.pf-page .pf-account-card-head h3,
    body.pf-page .pf-account-activity-head h3 {
        font-size: 17px;
    }

    body.pf-page #support-contact-fab {
        right: calc(12px + env(safe-area-inset-right));
        bottom: calc(12px + env(safe-area-inset-bottom));
        width: 44px;
        height: 44px;
        padding: 0;
        border-radius: var(--app-radius-control);
    }

    body.pf-page #support-contact-fab span {
        display: none;
    }
}

@media (max-width: 420px) {
    body.pf-page .pf-account-next-action-buttons {
        grid-template-columns: 1fr;
    }
}

/* Account-first Prop Tracker workspace */
.pf-mode-switch {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 3px;
    border: 1px solid var(--pf-border);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.025);
}

.pf-mode-tab {
    min-height: 30px;
    padding: 0 13px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #777781;
    font: inherit;
    font-size: 12px;
    font-weight: 720;
    cursor: pointer;
    transition: color 150ms ease, background-color 150ms ease;
}

.pf-mode-tab:hover {
    color: #c9c9cf;
}

.pf-mode-tab.is-active {
    background: rgba(91, 196, 176, 0.12);
    color: #d8f5f0;
    box-shadow: inset 0 0 0 1px rgba(91, 196, 176, 0.26);
}

.pf-mode-lock {
    display: inline-flex;
    margin-left: 6px;
    padding: 2px 5px;
    border: 1px solid rgba(242, 197, 93, 0.2);
    border-radius: 999px;
    color: #d8b866;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.pf-mode-tab:disabled .pf-mode-lock {
    opacity: 0.8;
}

.pf-preview-value-card {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(420px, 1.2fr) minmax(230px, 0.38fr);
    align-items: center;
    gap: 24px;
    margin-bottom: 18px;
    padding: 20px 22px;
    overflow: hidden;
    border-color: rgba(91, 196, 176, 0.16);
    background: linear-gradient(90deg, rgba(91, 196, 176, 0.035), rgba(255, 255, 255, 0.008) 66%);
    box-shadow: none;
}

.pf-preview-value-lead {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.pf-preview-value-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border: 1px solid rgba(91, 196, 176, 0.24);
    border-radius: 11px;
    background: rgba(91, 196, 176, 0.08);
    color: #70d2c0;
}

.pf-preview-value-icon svg {
    width: 18px;
    height: 18px;
}

.pf-preview-value-copy h2 {
    margin: 5px 0 4px;
    color: #f1f3f2;
    font-size: clamp(17px, 1.5vw, 21px);
    font-weight: 740;
    letter-spacing: -0.025em;
}

.pf-preview-value-copy > p {
    max-width: 560px;
    margin: 0;
    color: #797b82;
    font-size: 12px;
    line-height: 1.5;
}

.pf-preview-value-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    min-width: 0;
}

.pf-preview-value-points > span {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: start;
    column-gap: 9px;
    min-width: 0;
    padding: 2px 14px;
    border-left: 1px solid rgba(255, 255, 255, 0.075);
}

.pf-preview-value-points svg {
    width: 16px;
    height: 16px;
    margin-top: 1px;
    color: #62cbb7;
}

.pf-preview-value-points > span > span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.pf-preview-value-points strong {
    color: #d9dddc;
    font-size: 11.5px;
    font-weight: 740;
    line-height: 1.3;
}

.pf-preview-value-points small {
    color: #696973;
    font-size: 11px;
    line-height: 1.35;
}

.pf-preview-value-action {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    padding-left: 22px;
    border-left: 1px solid rgba(255, 255, 255, 0.075);
}

.pf-preview-value-firm {
    overflow: hidden;
    color: #8aaaa4;
    font-size: 10px;
    font-weight: 680;
    line-height: 1.35;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pf-preview-value-action .app-action-btn {
    justify-content: center;
    width: 100%;
    min-height: 42px;
}

.pf-preview-value-action small {
    color: #62646b;
    font-size: 10.5px;
    line-height: 1.35;
    text-align: left;
}

html.light body.pf-page .pf-preview-value-card {
    border-color: rgba(13, 148, 136, 0.16);
    background: linear-gradient(90deg, rgba(13, 148, 136, 0.035), rgba(255, 255, 255, 0.72) 66%);
}

html.light body.pf-page .pf-preview-value-copy h2,
html.light body.pf-page .pf-preview-value-points strong {
    color: #172321;
}

html.light body.pf-page .pf-preview-value-copy > p,
html.light body.pf-page .pf-preview-value-points small,
html.light body.pf-page .pf-preview-value-action small {
    color: #60706d;
}

html.light body.pf-page .pf-preview-value-icon {
    border-color: rgba(13, 148, 136, 0.18);
    background: rgba(13, 148, 136, 0.065);
    color: #0f766e;
}

html.light body.pf-page .pf-preview-value-points > span,
html.light body.pf-page .pf-preview-value-action {
    border-color: rgba(15, 23, 42, 0.09);
}

html.light body.pf-page .pf-preview-value-firm {
    color: #52736d;
}

@media (max-width: 1280px) {
    .pf-preview-value-card {
        grid-template-columns: minmax(0, 1fr) minmax(230px, auto);
    }

    .pf-preview-value-points {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .pf-preview-value-action {
        grid-column: 2;
        grid-row: 1;
    }
}

@media (max-width: 760px) {
    .pf-preview-value-card {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 18px;
    }

    .pf-preview-value-points,
    .pf-preview-value-action {
        grid-column: auto;
        grid-row: auto;
        grid-template-columns: 1fr;
    }

    .pf-preview-value-points {
        gap: 12px;
    }

    .pf-preview-value-points > span {
        padding: 0 0 0 12px;
    }

    .pf-preview-value-action {
        padding: 16px 0 0;
        border-top: 1px solid rgba(255, 255, 255, 0.075);
        border-left: 0;
    }

    html.light body.pf-page .pf-preview-value-action {
        border-top-color: rgba(15, 23, 42, 0.09);
    }
}

.pf-mode-tab:focus-visible,
.pf-account-rail-item:focus-visible,
.pf-account-rail-add:focus-visible {
    outline: 2px solid #6fd6c6;
    outline-offset: 2px;
}

.pf-account-workspace {
    margin-bottom: 18px;
    padding: 0;
    overflow: hidden;
    border-color: rgba(255, 255, 255, 0.1);
    background: #0c0d0d;
}

.pf-account-workspace[hidden],
.pf-intro-band[hidden] {
    display: none !important;
}

.pf-account-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
}

.pf-account-layout.has-account-rail {
    grid-template-columns: 220px minmax(0, 1fr);
}

.pf-account-rail {
    min-width: 0;
    padding: 20px 14px;
    border-right: 1px solid var(--pf-border);
    background: #090a0a;
}

.pf-account-rail[hidden] {
    display: none;
}

.pf-account-rail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 0 7px 11px;
    color: #696973;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.pf-account-rail-head strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    border: 1px solid var(--pf-border);
    border-radius: 999px;
    color: #92929b;
    font-size: 10px;
}

.pf-account-rail-list {
    display: grid;
    gap: 7px;
}

.pf-account-rail-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-height: 54px;
    padding: 8px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: #9b9ba3;
    text-align: left;
    cursor: pointer;
}

.pf-account-rail-item:hover {
    background: rgba(255, 255, 255, 0.025);
    color: #d4d4d8;
}

.pf-account-rail-item.is-active {
    border-color: rgba(91, 196, 176, 0.32);
    background: rgba(91, 196, 176, 0.08);
    color: #f1f3f2;
}

.pf-account-rail-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    overflow: hidden;
    border: 1px solid var(--pf-border);
    border-radius: 9px;
    background: #121313;
}

.pf-account-rail-logo img {
    display: block;
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.pf-account-rail-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.pf-account-rail-copy strong,
.pf-account-rail-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pf-account-rail-copy strong {
    color: inherit;
    font-size: 12px;
    font-weight: 740;
}

.pf-account-rail-copy small {
    color: #696973;
    font-size: 10.5px;
}

.pf-account-rail-state {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #65c9b6;
    box-shadow: 0 0 0 3px rgba(101, 201, 182, 0.09);
}

.pf-account-rail-add {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    margin-top: 10px;
    border: 1px dashed rgba(255, 255, 255, 0.13);
    border-radius: 9px;
    color: #7f7f88;
    font-size: 11.5px;
    font-weight: 700;
    text-decoration: none;
}

.pf-account-rail-add:hover {
    border-color: rgba(91, 196, 176, 0.3);
    color: #b9e4dc;
}

.pf-account-rail-add svg {
    width: 14px;
    height: 14px;
}

.pf-account-main {
    min-width: 0;
    padding: 22px;
}

.pf-account-identity-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 20px;
}

.pf-account-identity {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 14px;
}

.pf-account-logo {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 14px;
    background: #131414;
}

.pf-account-logo img {
    display: block;
    width: 38px;
    height: 38px;
    object-fit: contain;
}

.pf-account-identity-copy {
    display: grid;
    min-width: 0;
    gap: 8px;
}

.pf-account-title-row {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}

.pf-account-title-row h2 {
    overflow: hidden;
    margin: 0;
    color: #f2f2f3;
    font-size: clamp(20px, 2vw, 27px);
    font-weight: 760;
    letter-spacing: -0.035em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pf-account-phase-badge,
.pf-account-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 720;
    white-space: nowrap;
}

.pf-account-phase-badge {
    padding: 0 9px;
    border: 1px solid rgba(162, 129, 233, 0.26);
    background: rgba(162, 129, 233, 0.09);
    color: #bda9ed;
}

.pf-account-status {
    gap: 6px;
    color: #b8d9d3;
}

.pf-account-status > span,
.pf-account-flow-state > span {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #65c9b6;
}

.pf-account-status[data-state="breached"] {
    color: #ff9a9a;
}

.pf-account-status[data-state="breached"] > span {
    background: #ff7b7b;
}

.pf-account-status[data-state="passed"],
.pf-account-status[data-state="completed"] {
    color: #72cdbd;
}

.pf-account-status[data-state="paused"] {
    color: #d9b45c;
}

.pf-account-status[data-state="paused"] > span {
    background: #d9b45c;
}

.pf-account-status[data-state="archived"] {
    color: #85858f;
}

.pf-account-status[data-state="archived"] > span {
    background: #686872;
}

.pf-account-source {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
    color: #777781;
    font-size: 11.5px;
    white-space: nowrap;
}

.pf-account-source strong {
    overflow: hidden;
    max-width: 190px;
    color: #a7a7ae;
    font-weight: 700;
    text-overflow: ellipsis;
}

.pf-account-source-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
}

.pf-account-source-logo img {
    display: block;
    width: 17px;
    height: 17px;
    object-fit: contain;
}

.pf-account-source-divider {
    width: 3px;
    height: 3px;
    margin: 0 2px;
    border-radius: 999px;
    background: #4d4d55;
}

.pf-account-source[data-state="stale"] #pfAccountSyncState,
.pf-account-flow-state[data-state="stale"] {
    color: #d9b45c;
}

.pf-account-source[data-state="error"] #pfAccountSyncState,
.pf-account-flow-state[data-state="error"] {
    color: #f17e7e;
}

.pf-account-source[data-state="working"] #pfAccountSyncState,
.pf-account-flow-state[data-state="working"] {
    color: #bda9ed;
}

.pf-account-flow-state[data-state="stale"] > span {
    background: #d9b45c;
}

.pf-account-flow-state[data-state="error"] > span {
    background: #f17e7e;
}

.pf-account-flow-state[data-state="working"] > span,
.pf-account-flow-state[data-state="waiting"] > span {
    background: #a28be8;
}

.pf-account-actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
}

.pf-account-actions .app-action-btn {
    min-height: 38px;
}

.pf-account-section-head,
.pf-account-card-head,
.pf-account-activity-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.pf-account-section-kicker {
    display: block;
    margin-bottom: 5px;
    color: #666670;
    font-size: 9.5px;
    font-weight: 820;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.pf-account-section-head h3,
.pf-account-card-head h3,
.pf-account-activity-head h3 {
    margin: 0;
    color: #e5e5e7;
    font-size: 15px;
    font-weight: 740;
    letter-spacing: -0.015em;
}

.pf-account-rules-trust {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #8bcfc3;
    font-size: 10.5px;
    font-weight: 700;
    white-space: nowrap;
}

.pf-account-rules-trust svg {
    width: 14px;
    height: 14px;
}

.pf-phase-journey,
.pf-account-progress-card,
.pf-account-risk-card,
.pf-account-activity,
.pf-account-snapshot-bar {
    border: 1px solid var(--pf-border);
    border-radius: 12px;
    background: #101111;
}

.pf-phase-journey {
    padding: 17px 18px 19px;
}

.pf-phase-journey-track {
    --pf-phase-gap: 12px;
    display: grid;
    grid-template-columns: repeat(var(--pf-phase-count, 3), minmax(0, 1fr));
    align-items: stretch;
    gap: var(--pf-phase-gap);
    margin-top: 18px;
}

.pf-phase-step {
    position: relative;
    display: grid;
    grid-template-columns: 37px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-width: 0;
    min-height: 62px;
    padding: 10px 14px;
    border: 1px solid var(--app-border-muted);
    border-radius: 10px;
    background: var(--app-surface-control);
}

.pf-phase-step::before {
    position: absolute;
    top: 50%;
    right: 100%;
    width: var(--pf-phase-gap);
    height: 1px;
    background: var(--app-border-default);
    content: "";
}

.pf-phase-step:first-child::before {
    display: none;
}

.pf-phase-step.is-active {
    border-color: rgba(91, 196, 176, 0.36);
    background: rgba(91, 196, 176, 0.055);
}

.pf-phase-step-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 37px;
    height: 37px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    color: #73737c;
    font-family: "JetBrains Mono", monospace;
    font-size: 13px;
    font-weight: 700;
}

.pf-phase-step.is-completed .pf-phase-step-index,
.pf-phase-step.is-active .pf-phase-step-index {
    border-color: rgba(91, 196, 176, 0.55);
    color: #86ddd0;
}

.pf-phase-step-index svg {
    width: 17px;
    height: 17px;
}

.pf-phase-step-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.pf-phase-step-copy strong,
.pf-phase-step-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pf-phase-step-copy strong {
    color: #b8b8be;
    font-size: 12px;
    font-weight: 740;
}

.pf-phase-step.is-active .pf-phase-step-copy strong {
    color: #f1f1f2;
}

.pf-phase-step-copy small {
    color: #666670;
    font-size: 10.5px;
}

.pf-account-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 12px;
    margin-top: 12px;
}

.pf-account-progress-card,
.pf-account-risk-card {
    min-width: 0;
    padding: 18px;
}

.pf-account-target-chip,
.pf-account-risk-state {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 27px;
    padding: 0 9px;
    border: 1px solid var(--pf-border);
    border-radius: 8px;
    color: #8f8f98;
    font-size: 10.5px;
    font-weight: 680;
    white-space: nowrap;
}

.pf-account-risk-state {
    border-color: rgba(91, 196, 176, 0.2);
    color: #7dd4c5;
}

.pf-account-risk-state svg {
    width: 14px;
    height: 14px;
}

.pf-account-risk-card[data-state="watch"] .pf-account-risk-state {
    border-color: rgba(242, 197, 93, 0.22);
    color: #e7c36e;
}

.pf-account-risk-card[data-state="critical"] .pf-account-risk-state,
.pf-account-risk-card[data-state="breach"] .pf-account-risk-state {
    border-color: rgba(255, 123, 123, 0.23);
    color: #ff9393;
}

.pf-account-pnl {
    display: block;
    margin-top: 18px;
    color: #6fd6c6;
    font-family: "JetBrains Mono", monospace;
    font-size: clamp(26px, 3.1vw, 38px);
    font-weight: 650;
    letter-spacing: -0.045em;
}

.pf-account-pnl.is-negative {
    color: #ff8585;
}

.pf-account-progress-copy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 8px;
    color: #86868f;
    font-size: 11.5px;
}

.pf-account-progress-copy strong {
    color: #b9b9bf;
    font-family: "JetBrains Mono", monospace;
    font-size: 11px;
}

.pf-account-progress-bar,
.pf-account-risk-meter {
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.075);
}

.pf-account-progress-bar {
    height: 7px;
    margin-top: 9px;
}

.pf-account-progress-bar > span,
.pf-account-risk-meter > span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #67cbbb;
    transition: width 220ms ease;
}

.pf-account-balance-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid var(--pf-border);
}

.pf-account-balance-row > span,
.pf-account-risk-footer > span,
.pf-account-activity-grid > span {
    display: grid;
    min-width: 0;
    gap: 5px;
}

.pf-account-balance-row > span {
    padding: 0 12px;
    border-left: 1px solid var(--pf-border);
}

.pf-account-balance-row > span:first-child {
    padding-left: 0;
    border-left: 0;
}

.pf-account-balance-row small,
.pf-account-risk-footer small,
.pf-account-activity-grid small {
    color: #676771;
    font-size: 9.5px;
    font-weight: 760;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.pf-account-balance-row strong,
.pf-account-risk-footer strong,
.pf-account-activity-grid strong {
    overflow: hidden;
    color: #c8c8cd;
    font-family: "JetBrains Mono", monospace;
    font-size: 11.5px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pf-account-risk-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 19px;
    overflow: hidden;
    border: 1px solid var(--pf-border);
    border-radius: 10px;
}

.pf-account-risk-grid > div {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 14px;
}

.pf-account-risk-grid > div + div {
    border-left: 1px solid var(--pf-border);
}

.pf-account-risk-grid span {
    color: #74747d;
    font-size: 10px;
    font-weight: 740;
    text-transform: uppercase;
}

.pf-account-risk-grid strong {
    color: #e7e7e9;
    font-family: "JetBrains Mono", monospace;
    font-size: 18px;
    font-weight: 650;
}

.pf-account-risk-grid small {
    color: #72cdbd;
    font-size: 10.5px;
}

.pf-account-risk-meter {
    height: 5px;
    margin-top: 3px;
}

.pf-account-risk-card[data-state="watch"] .pf-account-risk-meter > span {
    background: #d9b45c;
}

.pf-account-risk-card[data-state="critical"] .pf-account-risk-meter > span,
.pf-account-risk-card[data-state="breach"] .pf-account-risk-meter > span {
    background: #f17e7e;
}

.pf-account-risk-footer {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 14px;
}

.pf-account-risk-footer > span {
    padding: 0 12px;
    border-left: 1px solid var(--pf-border);
}

.pf-account-risk-footer > span:first-child {
    padding-left: 0;
    border-left: 0;
}

.pf-account-risk-card > p {
    margin: 14px 0 0;
    padding-top: 12px;
    border-top: 1px solid var(--pf-border);
    color: #65656e;
    font-size: 10.5px;
    line-height: 1.5;
}

.pf-account-activity {
    margin-top: 12px;
    padding: 16px 18px;
}

.pf-account-flow-state {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #78cbbb;
    font-size: 10.5px;
    font-weight: 700;
    white-space: nowrap;
}

.pf-account-activity-grid {
    display: grid;
    grid-template-columns: 1.05fr repeat(4, minmax(0, 0.8fr)) 1.25fr;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--pf-border);
}

.pf-account-activity-grid > span {
    padding: 0 13px;
    border-left: 1px solid var(--pf-border);
}

.pf-account-activity-grid > span:first-child {
    padding-left: 0;
    border-left: 0;
}

.pf-account-snapshot-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 12px;
    padding: 13px 16px;
}

.pf-account-snapshot-bar > span {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: 2px 8px;
    min-width: 0;
}

.pf-account-snapshot-bar > span svg {
    grid-row: 1 / 3;
    width: 17px;
    height: 17px;
    color: #70d0c0;
}

.pf-account-snapshot-bar strong {
    color: #cfcfd3;
    font-size: 11.5px;
}

.pf-account-snapshot-bar small {
    color: #65656e;
    font-size: 10px;
}

.pf-account-snapshot-bar > a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #8bcfc3;
    font-size: 10.5px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.pf-account-snapshot-bar > a:hover {
    color: #bce9e1;
}

.pf-account-snapshot-bar > a svg {
    width: 13px;
    height: 13px;
}

@media (max-width: 1280px) {
    .pf-account-layout.has-account-rail {
        grid-template-columns: 185px minmax(0, 1fr);
    }

    .pf-account-rail {
        padding-inline: 10px;
    }

    .pf-account-main {
        padding: 18px;
    }

    .pf-account-balance-row strong,
    .pf-account-activity-grid strong {
        font-size: 10.5px;
    }
}

@media (max-width: 1040px) {
    .pf-account-layout.has-account-rail {
        grid-template-columns: minmax(0, 1fr);
    }

    .pf-account-layout.has-account-rail .pf-account-rail {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding: 12px;
        border-right: 0;
        border-bottom: 1px solid var(--pf-border);
        scroll-padding-inline: 12px;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
    }

    .pf-account-layout.has-account-rail .pf-account-rail::-webkit-scrollbar {
        display: none;
    }

    .pf-account-layout.has-account-rail .pf-account-rail-head {
        display: none;
    }

    .pf-account-layout.has-account-rail .pf-account-rail-list {
        display: flex;
        gap: 7px;
    }

    .pf-account-layout.has-account-rail .pf-account-rail-item {
        width: 176px;
        flex: 0 0 auto;
        scroll-snap-align: center;
    }

    .pf-account-layout.has-account-rail .pf-account-rail-add {
        flex: 0 0 auto;
        min-width: 112px;
        margin: 0;
        padding: 0 12px;
    }

    .pf-account-overview-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .pf-mode-switch {
        width: 100%;
    }

    .pf-mode-tab {
        flex: 1;
    }

    .pf-account-main {
        padding: 14px;
    }

    .pf-account-identity-bar {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .pf-account-logo {
        width: 48px;
        height: 48px;
        border-radius: 12px;
    }

    .pf-account-logo img {
        width: 31px;
        height: 31px;
    }

    .pf-account-actions {
        width: 100%;
    }

    .pf-account-actions .app-action-btn {
        flex: 1;
    }

    .pf-account-source {
        flex-wrap: wrap;
        white-space: normal;
    }

    .pf-account-source-divider {
        display: none;
    }

    .pf-phase-journey-track {
        --pf-phase-gap: 10px;
        grid-template-columns: 1fr;
    }

    .pf-phase-step::before {
        top: auto;
        right: auto;
        bottom: 100%;
        left: 32px;
        width: 1px;
        height: var(--pf-phase-gap);
    }

    .pf-account-balance-row,
    .pf-account-activity-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px 0;
    }

    .pf-account-balance-row > span:nth-child(odd),
    .pf-account-activity-grid > span:nth-child(odd) {
        padding-left: 0;
        border-left: 0;
    }

    .pf-account-risk-grid {
        grid-template-columns: 1fr;
    }

    .pf-account-risk-grid > div + div {
        border-top: 1px solid var(--pf-border);
        border-left: 0;
    }

    .pf-account-section-head,
    .pf-account-card-head,
    .pf-account-activity-head,
    .pf-account-snapshot-bar {
        align-items: flex-start;
        flex-direction: column;
    }

    .pf-account-snapshot-bar {
        gap: 10px;
    }
}

.pf-linked-account {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 11px;
    margin: 0 0 18px;
    padding: 11px 12px;
    border: 1px solid rgba(91, 196, 176, 0.24);
    border-radius: 12px;
    background: linear-gradient(110deg, rgba(77, 171, 154, 0.1), rgba(77, 171, 154, 0.025));
}

.pf-linked-account[hidden] {
    display: none;
}

.pf-linked-account-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 31px;
    border-radius: 9px;
    background: rgba(91, 196, 176, 0.12);
    color: #6fd6c6;
}

.pf-linked-account-icon svg {
    width: 15px;
    height: 15px;
}

.pf-linked-account-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.pf-linked-account-copy strong {
    overflow: hidden;
    color: #dcf8f3;
    font-size: 13px;
    font-weight: 720;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pf-linked-account-copy small {
    overflow: hidden;
    color: #83aaa4;
    font-size: 11.5px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pf-linked-account-version {
    padding: 5px 8px;
    border: 1px solid rgba(91, 196, 176, 0.18);
    border-radius: 999px;
    color: #8bbfb6;
    font-size: 10.5px;
    font-weight: 700;
    white-space: nowrap;
}

.pf-linked-account-edit {
    color: #a8ded5;
    font-size: 11.5px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.pf-linked-account-edit:hover {
    color: #d5f7f1;
}

.pf-today-guard {
    margin-top: 14px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.018);
}

.pf-today-guard-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.055);
}

.pf-today-guard-head > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #b5b5bc;
    font-size: 11px;
    font-weight: 760;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.pf-today-guard-head svg {
    width: 14px;
    height: 14px;
    color: #6fd6c6;
}

.pf-today-guard-head strong {
    color: #80daca;
    font-size: 11.5px;
    font-weight: 720;
}

.pf-today-guard[data-state="watch"] .pf-today-guard-head strong {
    color: #f2c55d;
}

.pf-today-guard[data-state="critical"] .pf-today-guard-head strong,
.pf-today-guard[data-state="breach"] .pf-today-guard-head strong {
    color: #ff8e8e;
}

.pf-today-guard-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 12px;
}

.pf-today-guard-grid > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
    padding: 0 9px;
    border-left: 1px solid rgba(255, 255, 255, 0.055);
}

.pf-today-guard-grid > span:first-child {
    padding-left: 0;
    border-left: 0;
}

.pf-today-guard-grid small {
    color: #777781;
    font-size: 9.5px;
    font-weight: 720;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pf-today-guard-grid strong {
    overflow: hidden;
    color: #dfdfdc;
    font-family: "JetBrains Mono", monospace;
    font-size: 11.5px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pf-today-guard > p {
    margin: 0;
    padding: 9px 12px 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.045);
    color: #7f7f88;
    font-size: 12px;
    line-height: 1.45;
}

.pf-manual-rules-notice {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin-bottom: 10px;
    padding: 10px 11px;
    border: 1px solid rgba(242, 197, 93, 0.2);
    border-radius: 10px;
    background: rgba(242, 197, 93, 0.055);
    color: #e7c87b;
}

.pf-manual-rules-notice[hidden] {
    display: none;
}

.pf-manual-rules-notice > svg {
    width: 16px;
    height: 16px;
}

.pf-manual-rules-notice > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.pf-manual-rules-notice strong {
    font-size: 11.5px;
}

.pf-manual-rules-notice small {
    color: #988967;
    font-size: 10.5px;
    line-height: 1.4;
}

.pf-manual-rules-notice a {
    color: #efd593;
    font-size: 11px;
    font-weight: 720;
    text-decoration: none;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .pf-linked-account {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .pf-linked-account-version,
    .pf-linked-account-edit {
        grid-column: 2;
        justify-self: start;
    }

    .pf-today-guard-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 0;
    }

    .pf-today-guard-grid > span:nth-child(3) {
        padding-left: 0;
        border-left: 0;
    }
}

html.light body.pf-page {
    --pf-surface: var(--app-surface-section, #ffffff);
    --pf-card: var(--app-surface-card, #ffffff);
    --pf-card-hover: var(--app-surface-card-hover, #f8fafc);
    --pf-control: var(--app-surface-control, #ffffff);
    --pf-border: rgba(15, 23, 42, 0.13);
    --pf-border-strong: rgba(15, 23, 42, 0.18);
    --pf-border-hover: rgba(15, 23, 42, 0.28);
    --pf-text-support: #475569;
}

html.light body.pf-page .pf-linked-account {
    border-color: rgba(15, 118, 110, 0.22);
    background: linear-gradient(110deg, rgba(15, 118, 110, 0.08), rgba(15, 118, 110, 0.025));
}

html.light body.pf-page .pf-linked-account-icon {
    background: rgba(15, 118, 110, 0.1);
    color: #0f766e;
}

html.light body.pf-page .pf-linked-account-copy strong {
    color: #0f172a;
}

html.light body.pf-page .pf-linked-account-copy small,
html.light body.pf-page .pf-linked-account-version,
html.light body.pf-page .pf-linked-account-edit {
    color: #0f766e;
}

html.light body.pf-page .pf-today-guard {
    border-color: var(--pf-border);
    background: #ffffff;
}

html.light body.pf-page .pf-today-guard-head,
html.light body.pf-page .pf-today-guard-grid > span,
html.light body.pf-page .pf-today-guard > p {
    border-color: #e2e8f0;
}

html.light body.pf-page .pf-today-guard-head > span,
html.light body.pf-page .pf-today-guard > p {
    color: #475569;
}

html.light body.pf-page .pf-today-guard-head strong,
html.light body.pf-page .pf-today-guard-head svg {
    color: #0f766e;
}

html.light body.pf-page .pf-today-guard-grid small {
    color: #64748b;
}

html.light body.pf-page .pf-today-guard-grid strong {
    color: #0f172a;
}

html.light body.pf-page .pf-manual-rules-notice {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}

html.light body.pf-page .pf-manual-rules-notice small,
html.light body.pf-page .pf-manual-rules-notice a {
    color: #854d0e;
}

.pf-page-header:not(.app-page-header--workspace) {
    align-items: flex-end;
    margin-bottom: 18px;
}

.pf-page-header:not(.app-page-header--workspace) .pf-title-group {
    gap: 10px;
    max-width: min(760px, 54vw);
}

.pf-status-bar {
    --app-status-fade-size: 44px;
    width: 100%;
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - var(--app-status-fade-size)), transparent 100%);
    mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - var(--app-status-fade-size)), transparent 100%);
}

.pf-status-bar::-webkit-scrollbar {
    display: none;
}

.pf-title-group .app-status-meta {
    flex-wrap: nowrap;
    width: max-content;
    min-width: 100%;
    max-width: none;
    padding-right: var(--app-status-fade-size) !important;
    white-space: nowrap;
}

.pf-title-group .app-status-copy {
    flex: 0 0 auto;
    flex-wrap: nowrap;
}

.pf-page-header:not(.app-page-header--workspace) .pf-page-toolbar.app-toolbar {
    flex: 0 0 auto;
    align-self: flex-end;
    margin-left: auto;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.pf-page-header:not(.app-page-header--workspace) .pf-page-toolbar .app-action-btn,
.pf-affiliate-link.app-action-btn,
.pf-run-btn.app-action-btn {
    min-height: 42px;
    padding: 0 16px;
    border-radius: var(--pf-control-radius);
    font-size: 14px;
    font-weight: 650;
}

.pf-page-header:not(.app-page-header--workspace) .pf-page-toolbar .app-action-btn svg,
.pf-page-header:not(.app-page-header--workspace) .pf-page-toolbar .app-action-btn i,
.pf-affiliate-link.app-action-btn svg,
.pf-affiliate-link.app-action-btn i,
.pf-run-btn.app-action-btn svg,
.pf-run-btn.app-action-btn i,
.pf-btn-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

.pf-page-header.app-page-header--workspace .pf-page-toolbar .app-action-btn {
    min-height: 46px;
    padding: 0 16px;
}

.pf-results-grid,
.pf-charts-grid {
    display: grid;
    gap: 16px;
}

.pf-intro-card,
.pf-empty-state {
    background: var(--pf-surface);
    border-color: var(--pf-border);
    box-shadow: none;
}

.pf-intro-card {
    padding: 0;
}

.pf-workbench-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(400px, 0.92fr);
    gap: 0;
    align-items: stretch;
}

.pf-workbench-panel,
.pf-snapshot-panel {
    min-width: 0;
    padding: 24px;
}

.pf-selection-panel {
    position: relative;
    display: grid;
    align-content: start;
    gap: 18px;
    border: 0;
    border-right: 1px solid var(--pf-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pf-workbench-head {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: 0;
}

.pf-workbench-eyebrow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.pf-workbench-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    border: 1px solid rgba(77, 171, 154, 0.18);
    background: rgba(77, 171, 154, 0.08);
    color: #8de6d7;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
}

.pf-selection-panel::before {
    display: none;
}

.pf-snapshot-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--pf-border);
}

.pf-snapshot-copy {
    min-width: 0;
}

.pf-snapshot-summary {
    display: grid;
    align-items: start;
    justify-items: start;
    gap: 10px;
    padding: 14px 16px;
    border-radius: var(--pf-control-radius);
    margin-bottom: 16px;
    border: 1px solid var(--pf-border-strong);
    background: rgba(var(--app-white-rgb), 0.028);
}

.pf-selection-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    width: 100%;
}

.pf-selection-metric {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(120px, 0.22fr) minmax(0, 1fr);
    align-items: baseline;
    gap: 18px;
    padding: 0 0 10px;
}

.pf-selection-metric + .pf-selection-metric {
    padding-top: 10px;
    border-top: 1px solid rgba(var(--app-white-rgb), 0.06);
}

.pf-selection-label {
    color: var(--text-muted);
    font-size: var(--pf-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pf-selection-metric strong {
    min-width: 0;
    color: var(--text-primary);
    font-size: var(--pf-fs-body-sm);
    font-weight: 650;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.pf-selection-metric:not(.pf-selection-metric--challenge) strong {
    color: var(--text-secondary);
    font-family: 'JetBrains Mono', 'DM Mono', monospace;
    font-size: var(--pf-fs-meta);
    font-weight: 600;
}

.pf-builder-grid--top {
    padding-top: 0;
    border-top: 0;
}

.pf-summary-label {
    margin-bottom: 8px;
    font-size: var(--pf-fs-kicker);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    font-weight: 700;
}

.pf-selection-note {
    width: 100%;
    padding-top: 2px;
    color: var(--text-secondary);
    font-size: var(--pf-fs-meta);
    line-height: 1.5;
    overflow-wrap: anywhere;
    text-wrap: pretty;
}

.pf-snapshot-section + .pf-snapshot-section {
    margin-top: 16px;
}

.pf-overview-grid {
    display: grid;
    gap: 12px;
}

.pf-overview-grid--rules {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.pf-action-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.pf-action-bar--selection {
    margin-top: 2px;
    padding: 14px 0 0;
    border: 0;
    border-top: 1px solid var(--pf-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pf-snapshot-top .pf-affiliate-link {
    width: auto;
    margin-top: 0;
    white-space: nowrap;
    flex-shrink: 0;
    border-color: rgba(77, 171, 154, 0.28);
    background: rgba(77, 171, 154, 0.08);
    color: #b7f5ec;
}

.pf-snapshot-top .pf-affiliate-link:hover {
    border-color: rgba(77, 171, 154, 0.42);
    background: rgba(77, 171, 154, 0.12);
}

.pf-snapshot-actions {
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--pf-border);
}

.pf-snapshot-actions .pf-run-btn {
    width: 100%;
}

.pf-snapshot-actions .pf-source-note {
    margin-top: 0;
}

.pf-results-shell {
    padding: 24px;
    scroll-margin-top: 96px;
    border-color: var(--pf-border);
    background: #0d0d0d;
    box-shadow: none;
}

.pf-shell-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.pf-shell-head--subsection {
    margin-bottom: 16px;
}

.pf-shell-title {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--pf-fs-title);
    line-height: 1.08;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.pf-report-section + .pf-report-section {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid var(--pf-border);
}

.pf-report-section.pf-report-section--flush {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.pf-report-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(340px, 0.95fr);
    gap: 0;
    align-items: start;
    margin-bottom: 0;
    padding: 0;
}

.pf-report-stack {
    display: grid;
    gap: 22px;
    align-content: start;
    min-width: 0;
}

.pf-report-stack--main {
    padding-right: 20px;
}

.pf-report-stack--side {
    border-left: 1px solid var(--pf-border);
    padding-left: 22px;
}

.pf-results-grid {
    grid-template-columns: minmax(0, 1.55fr) minmax(340px, 0.95fr);
    column-gap: 24px;
    row-gap: 18px;
}

.pf-results-grid.bottom {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pf-charts-grid {
    grid-template-columns: minmax(0, 1.55fr) minmax(340px, 0.95fr);
    column-gap: 24px;
    row-gap: 18px;
}

.pf-setup-card,
.pf-spotlight-card,
.pf-verdict-card,
.pf-checks-card,
.pf-chart-card,
.pf-list-card,
.pf-empty-state {
    border-radius: var(--radius-lg);
}

.pf-setup-card,
.pf-spotlight-card,
.pf-verdict-card,
.pf-checks-card,
.pf-chart-card,
.pf-list-card {
    padding: 20px;
}

.pf-report-block {
    min-width: 0;
    display: flex;
    flex-direction: column;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pf-list-card.pf-report-block {
    padding: 0;
}

.pf-report-stack .pf-report-block + .pf-report-block {
    border-top: 1px solid var(--pf-border);
}

.pf-report-stack .pf-report-block + .pf-report-block,
.pf-report-layout--primary .pf-stress-card,
.pf-report-layout--primary .pf-scenario-card {
    border: none;
}

.pf-results-grid > .pf-report-block:nth-child(2),
.pf-charts-grid > .pf-report-block:nth-child(2) {
    border-left: 1px solid var(--pf-border);
    padding-left: 24px;
}

.pf-report-block .pf-card-head {
    margin-bottom: 16px;
    padding-bottom: 0;
    border-bottom: 0;
}

.pf-panel {
    min-width: 0;
    background: var(--pf-card);
    padding: 18px;
    box-shadow: none;
    transition: background 0.18s ease, border-color 0.18s ease;
}

.pf-verdict-card.pf-panel {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

.pf-verdict-card {
    gap: 0;
}

.pf-section-kicker {
    font-size: var(--pf-fs-kicker);
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 10px;
    font-weight: 700;
}

.pf-section-title {
    font-size: var(--pf-fs-title);
    line-height: 1.12;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    letter-spacing: -0.04em;
}

.pf-section-title.compact {
    font-size: 22px;
}

.pf-section-copy {
    margin: 10px 0 0;
    color: rgba(214, 223, 232, 0.72);
    line-height: 1.66;
    font-size: var(--pf-fs-body);
    max-width: 60ch;
}

.pf-section-copy.compact {
    margin-top: 8px;
    max-width: none;
}

.pf-builder-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    margin-top: 0;
    align-items: end;
}

.pf-builder-row {
    padding-top: 0;
    border-top: 0;
}

.pf-field label {
    display: block;
    margin-bottom: 8px;
    font-size: var(--pf-fs-kicker);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--text-muted);
    font-weight: 700;
}

.pf-choice-label {
    margin-bottom: 8px;
    font-size: var(--pf-fs-kicker);
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--text-muted);
    font-weight: 700;
}

.pf-choice-group {
    min-width: 0;
    display: grid;
    gap: 8px;
    padding-bottom: 0;
}

body.pf-page,
#pfResultsWrap,
.pf-intro-card,
.pf-results-shell {
    max-width: 100%;
    overflow-x: clip;
}

.pf-choice-group--region-inline {
    min-width: 170px;
}

.pf-control-native {
    position: absolute;
    inset: 0 auto auto 0;
    width: 1px;
    max-width: 1px;
    height: 1px;
    max-height: 1px;
    opacity: 0;
    overflow: hidden;
    clip-path: inset(50%);
    pointer-events: none;
}

.pf-select-shell {
    position: relative;
    margin-bottom: 0;
}

.pf-select-shell--firm {
    z-index: 20;
}

.pf-select-shell--firm::after {
    display: none;
}

.pf-select-shell::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    width: 14px;
    height: 14px;
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239898a0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px 14px;
    pointer-events: none;
    opacity: 0.72;
    transition: opacity 0.18s ease;
}

.pf-select-shell:hover::after,
.pf-select-shell:focus-within::after {
    opacity: 1;
}

.pf-select-logo {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border: 1px solid var(--pf-border-strong);
    background: rgba(var(--app-white-rgb), 0.03);
    box-shadow: none;
    overflow: hidden;
    pointer-events: none;
}

.pf-firm-select-trigger {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 56px;
    padding: 0 46px 0 60px;
    border-radius: var(--pf-control-radius);
    border: 1px solid var(--pf-border-strong);
    background: rgba(var(--app-white-rgb), 0.025);
    color: var(--text-primary);
    outline: none;
    cursor: pointer;
    text-align: left;
    transition: border-color 0.18s ease, background 0.18s ease;
}

.pf-firm-select-trigger:hover,
.pf-firm-select-trigger:focus-visible,
.pf-select-shell--firm.is-open .pf-firm-select-trigger {
    border-color: rgba(77, 171, 154, 0.42);
    background: rgba(var(--app-white-rgb), 0.035);
}

.pf-firm-select-name {
    min-width: 0;
    overflow: hidden;
    color: var(--text-primary);
    font-size: var(--pf-fs-body);
    font-weight: 650;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pf-firm-select-chevron {
    position: absolute;
    right: 16px;
    top: 50%;
    width: 15px;
    height: 15px;
    transform: translateY(-50%);
    color: var(--text-muted);
    pointer-events: none;
    transition: transform 0.18s ease, color 0.18s ease;
}

.pf-select-shell--firm.is-open .pf-firm-select-chevron {
    transform: translateY(-50%) rotate(180deg);
    color: var(--text-secondary);
}

.pf-firm-select-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 70;
    display: grid;
    gap: 4px;
    max-height: min(420px, 58vh);
    padding: 6px;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid var(--pf-border-strong);
    background: #080909;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.42);
}

.pf-firm-menu-search {
    position: relative;
    display: flex;
    align-items: center;
    margin: 2px 2px 5px;
}

.pf-firm-menu-search svg {
    position: absolute;
    left: 11px;
    width: 14px;
    height: 14px;
    color: var(--text-muted);
    pointer-events: none;
}

.pf-firm-menu-search input {
    width: 100%;
    min-height: 38px;
    padding: 0 11px 0 33px;
    border: 1px solid var(--pf-border);
    border-radius: 8px;
    outline: none;
    background: rgba(255, 255, 255, 0.035);
    color: var(--text-primary);
    font-size: 13px;
}

.pf-firm-menu-search input:focus {
    border-color: rgba(77, 171, 154, 0.34);
}

.pf-firm-menu-list {
    display: grid;
    gap: 4px;
    max-height: min(350px, 48vh);
    overflow-y: auto;
}

.pf-firm-menu-empty {
    padding: 20px 12px;
    color: var(--text-muted);
    font-size: 12px;
    text-align: center;
}

.pf-firm-select-menu[hidden] {
    display: none;
}

.pf-firm-option {
    display: flex;
    align-items: center;
    gap: 11px;
    width: 100%;
    min-height: 46px;
    padding: 7px 10px;
    border: 1px solid transparent;
    border-radius: 8px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    text-align: left;
}

.pf-firm-option[hidden] {
    display: none;
}

.pf-firm-option:hover,
.pf-firm-option:focus-visible {
    border-color: rgba(255, 255, 255, 0.08);
    background: rgba(var(--app-white-rgb), 0.035);
    outline: none;
}

.pf-firm-option.is-selected {
    border-color: rgba(77, 171, 154, 0.26);
    background: rgba(77, 171, 154, 0.07);
    color: var(--text-primary);
}

.pf-firm-option-logo {
    position: static;
    transform: none;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
}

.pf-firm-option-name {
    min-width: 0;
    color: inherit;
    font-size: var(--pf-fs-body-sm);
    font-weight: 700;
    line-height: 1.2;
}

.pf-firm-option-coverage {
    margin-left: auto;
    color: #76c9ba;
    font-size: 9.5px;
    font-weight: 720;
    letter-spacing: 0.025em;
    white-space: nowrap;
}

.pf-firm-option-coverage.is-manual {
    color: var(--text-muted);
}

.pf-select-logo--currency {
    color: var(--text-secondary);
}

.pf-select-logo--currency svg,
.pf-select-logo--currency i {
    width: 16px;
    height: 16px;
    stroke-width: 1.9;
}

.pf-field select {
    width: 100%;
    height: 56px;
    border-radius: var(--pf-control-radius);
    border: 1px solid var(--pf-border-strong);
    background: rgba(var(--app-white-rgb), 0.025);
    color: var(--text-primary);
    padding: 0 46px 0 16px;
    outline: none;
    transition: border-color 0.18s ease, background 0.18s ease;
    font-size: var(--pf-fs-body);
    font-weight: 650;
    line-height: 1.1;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
}

.pf-size-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
    gap: 8px;
}

.pf-size-chip {
    width: 100%;
    appearance: none;
    border: 1px solid var(--pf-border-strong);
    border-radius: var(--pf-control-radius);
    background: rgba(var(--app-white-rgb), 0.03);
    box-shadow: none;
    min-height: 58px;
    padding: 14px;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.18s ease, background 0.18s ease;
}

.pf-size-chip:hover {
    border-color: var(--pf-border-hover);
    background: var(--pf-card-hover);
}

.pf-size-chip.active {
    border-color: rgba(77, 171, 154, 0.38);
    background: rgba(77, 171, 154, 0.10);
    color: #a9eee2;
}

.pf-size-chip-value {
    display: block;
    color: var(--text-primary);
    font-family: 'JetBrains Mono', 'DM Mono', monospace;
    font-size: var(--pf-fs-body-sm);
    font-weight: 700;
}

.pf-size-chip-meta {
    display: block;
    margin-top: 4px;
    color: var(--text-muted);
    font-size: var(--pf-fs-meta);
    line-height: 1.4;
}

.pf-select-shell--firm select,
.pf-select-shell--currency select {
    padding-left: 60px;
    padding-right: 48px;
}

.pf-field select:focus {
    border-color: rgba(77, 171, 154, 0.42);
    box-shadow: none;
}

.pf-field select:hover {
    border-color: var(--pf-border-hover);
    background: var(--pf-control);
}

.pf-field select option {
    background: var(--pf-control);
    color: var(--text-primary);
}

.pf-rule-grid,
.pf-facts-grid,
.pf-stat-grid,
.pf-monte-grid {
    display: grid;
    gap: 12px;
}

.pf-rule-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
}

.pf-rule-card,
.pf-fact {
    position: relative;
    overflow: hidden;
    border-radius: var(--pf-control-radius);
    border: 1px solid var(--pf-border);
    background: var(--pf-card);
    padding: 14px;
    box-shadow: none;
    transition: background 0.18s ease, border-color 0.18s ease;
}

.pf-overview-grid--rules .pf-rule-card,
.pf-meta-strip--snapshot .pf-meta-pill {
    border-radius: var(--pf-control-radius);
    border: 1px solid var(--pf-border-strong);
    background: rgba(var(--app-white-rgb), 0.026);
    box-shadow: none;
}
.pf-overview-grid--rules .pf-rule-card{
    border: 1px solid var(--pf-border);
}

.pf-stat-card,
.pf-monte-card,
.pf-review-stat,
.pf-check-item,
.pf-violation-item,
.pf-pressure-row,
.pf-replay-row {
    border-radius: var(--pf-control-radius);
    border: 1px solid var(--pf-border);
    background: var(--pf-card);
    box-shadow: none;
    transition: border-color 0.18s ease, background 0.18s ease;
}

.pf-rule-label,
.pf-fact-label,
.pf-stat-label {
    font-size: var(--pf-fs-kicker);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    font-weight: 700;
}

.pf-rule-value,
.pf-fact-value,
.pf-stat-value {
    margin-top: 7px;
    color: #f4f4f6;
    font-weight: 700;
    font-size: var(--pf-fs-metric);
    line-height: 1.25;
}

.pf-rule-value {
    font-size: var(--pf-fs-body);
    line-height: 1.45;
}

.pf-fact-value {
    font-size: var(--pf-fs-body-sm);
    line-height: 1.55;
}

.pf-stat-value {
    font-family: 'JetBrains Mono', 'DM Mono', monospace;
}

.pf-stat-value.positive {
    color: #4ee38a;
}

.pf-stat-value.negative {
    color: #ff7b7b;
}

.pf-stat-value.warning {
    color: #f2c55d;
}

.pf-stat-value.neutral {
    color: #f4f4f6;
}

.pf-stat-sub {
    margin-top: 7px;
    font-size: var(--pf-fs-support);
    color: var(--pf-text-support);
    line-height: 1.5;
}

.pf-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 14px;
    flex-wrap: wrap;
    padding-top: 14px;
    border-top: 1px solid var(--pf-border);
}

.pf-run-btn,
.pf-affiliate-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    border-radius: 10px;
    padding: 0 18px;
    font-weight: 700;
    text-decoration: none;
}

.pf-run-btn.app-action-btn-primary:disabled {
    cursor: wait;
    opacity: 0.92;
    transform: none;
    filter: none;
}

.pf-source-note {
    color: var(--pf-text-support);
    font-size: var(--pf-fs-support);
    line-height: 1.6;
    margin-top: 4px;
}

.pf-action-bar .pf-run-btn,
.pf-action-bar .pf-affiliate-link {
    flex-shrink: 0;
}

.pf-action-bar .pf-affiliate-link {
    width: auto;
    margin-top: 0;
    white-space: nowrap;
}

.pf-action-bar .pf-source-note {
    flex: 1 1 auto;
    text-align: left;
}

.pf-spotlight-top {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.pf-firm-badge {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #141817;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: none;
    color: var(--text-primary);
    overflow: hidden;
}

.pf-select-logo--firm {
    border-radius: 8px;
}

.pf-firm-badge--ftmo {
    background: #0d0f10;
    border-color: rgba(255, 255, 255, 0.1);
}

.pf-firm-badge--fundednext {
    background: #f5f6ff;
    border-color: rgba(100, 91, 254, 0.26);
}

.pf-firm-badge--the5ers {
    background: #fff0e9;
    border-color: rgba(255, 99, 76, 0.28);
}

.pf-firm-badge--topstep {
    background: #086a82;
    border-color: rgba(110, 220, 238, 0.22);
}

.pf-firm-badge--fxify {
    background: #071311;
    border-color: rgba(27, 170, 145, 0.26);
}

.pf-firm-badge--e8,
.pf-firm-badge--e8-markets {
    background: #050505;
    border-color: rgba(255, 255, 255, 0.1);
}

.pf-firm-logo-img {
    width: 30px;
    height: 30px;
    object-fit: contain;
    display: block;
}

.pf-firm-logo-img--ftmo {
    width: 31px;
    height: 31px;
}

.pf-firm-logo-img--the5ers,
.pf-firm-logo-img--topstep {
    width: 35px;
    height: 35px;
}

.pf-firm-logo-img--fundednext {
    width: 39px;
    height: 39px;
}

.pf-firm-logo-img--fxify {
    width: 35px;
    height: 35px;
}

.pf-firm-logo-img--e8 {
    width: 34px;
    height: 34px;
    border-radius: 7px;
}

.pf-firm-logo-img--select {
    width: 19px;
    height: 19px;
}

.pf-firm-logo-img--select.pf-firm-logo-img--the5ers,
.pf-firm-logo-img--select.pf-firm-logo-img--topstep {
    width: 21px;
    height: 21px;
}

.pf-firm-logo-img--select.pf-firm-logo-img--fundednext {
    width: 23px;
    height: 23px;
}

.pf-firm-logo-img--select.pf-firm-logo-img--fxify {
    width: 22px;
    height: 22px;
}

.pf-firm-logo-img--select.pf-firm-logo-img--e8 {
    width: 21px;
    height: 21px;
    border-radius: 5px;
}

.pf-fit-logo-img {
    width: 24px;
    height: 24px;
}

.pf-fit-logo-img.pf-firm-logo-img--ftmo {
    width: 26px;
    height: 26px;
}

.pf-fit-logo-img.pf-firm-logo-img--the5ers,
.pf-fit-logo-img.pf-firm-logo-img--topstep {
    width: 27px;
    height: 27px;
}

.pf-fit-logo-img.pf-firm-logo-img--fundednext {
    width: 30px;
    height: 30px;
}

.pf-fit-logo-img.pf-firm-logo-img--fxify {
    width: 28px;
    height: 28px;
}

.pf-fit-logo-img.pf-firm-logo-img--e8 {
    width: 27px;
    height: 27px;
    border-radius: 6px;
}

.pf-firm-logo-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-family: 'JetBrains Mono', 'DM Mono', monospace;
    font-size: var(--pf-fs-body);
    font-weight: 700;
    letter-spacing: -0.03em;
}

.pf-select-logo .pf-firm-logo-fallback {
    font-size: var(--pf-fs-kicker);
}

.pf-facts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 14px;
}

.pf-meta-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
    margin-top: 10px;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius);
    overflow: hidden;
    background: var(--pf-border);
    box-shadow: none;
}

.pf-meta-pill {
    min-width: 0;
    border-radius: 0;
    border: 0;
    background: var(--pf-card);
    padding: 12px 14px;
    transition: background 0.18s ease;
}

.pf-meta-pill-label {
    font-size: var(--pf-fs-kicker);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    font-weight: 700;
}

.pf-meta-pill-value {
    margin-top: 6px;
    color: var(--text-primary);
    font-size: var(--pf-fs-body-sm);
    line-height: 1.45;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.pf-meta-strip--snapshot {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 0;
    border: 0;
    border-radius: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
}

.pf-meta-strip--snapshot .pf-meta-pill {
    padding: 13px 14px;
}

.pf-region-list,
.pf-program-list,
.pf-phase-list {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    flex-wrap: wrap;
}

.pf-phase-list-wrap {
    margin-top: 0;
}

.pf-phase-list-title {
    margin-bottom: 8px;
    font-size: var(--pf-fs-kicker);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-muted);
    font-weight: 700;
}

.pf-region-item,
.pf-program-item,
.pf-phase-item {
    width: auto;
    max-width: 100%;
    appearance: none;
    text-align: left;
    cursor: pointer;
    border-radius: var(--pf-control-radius);
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid var(--pf-border-strong);
    background: rgba(var(--app-white-rgb), 0.03);
    box-shadow: none;
    transition: border-color 0.18s ease, background 0.18s ease;
}

.pf-region-item {
    min-height: 38px;
    padding: 8px 12px;
}

.pf-region-list .pf-region-item {
    flex: 0 0 auto;
}

.pf-region-item:hover,
.pf-program-item:hover,
.pf-phase-item:hover {
    border-color: var(--pf-border-hover);
    background: var(--pf-card-hover);
}

.pf-region-item.active,
.pf-program-item.active,
.pf-phase-item.active {
    border-color: rgba(77, 171, 154, 0.38);
    background: rgba(77, 171, 154, 0.10);
    color: #a9eee2;
}

.pf-region-name,
.pf-program-name,
.pf-phase-name {
    color: #f4f4f6;
    font-weight: 600;
    font-size: var(--pf-fs-body-sm);
    line-height: 1.2;
}

.pf-region-meta,
.pf-program-meta,
.pf-phase-meta {
    display: none;
}

.pf-affiliate-link {
    width: 100%;
    margin-top: 14px;
}

.pf-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--pf-border);
}

.pf-card-head--verdict {
    margin-bottom: 16px;
}

.pf-card-title {
    margin: 0;
    color: var(--text-primary);
    font-size: var(--pf-fs-card-title);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.18;
}

.pf-verdict-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: var(--pf-fs-chip);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 800;
    border: 1px solid transparent;
    margin-bottom: 14px;
}

.pf-verdict-pill.pass {
    color: #4ee38a;
    background: rgba(34, 197, 94, 0.12);
    border-color: rgba(34, 197, 94, 0.26);
}

.pf-verdict-pill.fail {
    color: #ff7b7b;
    background: rgba(239, 68, 68, 0.12);
    border-color: rgba(239, 68, 68, 0.28);
}

.pf-verdict-pill.tracking {
    color: #f2c55d;
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.24);
}

.pf-verdict-pill.clean {
    color: #c9c9d1;
    background: var(--pf-card);
    border-color: var(--pf-border);
}

.pf-verdict-card p {
    margin: 0;
    color: var(--pf-text-support);
    font-size: var(--pf-fs-body);
    line-height: 1.6;
    max-width: 70ch;
}

.pf-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 16px;
    gap: 0;
    border: 0;
    border-top: 1px solid var(--pf-border);
    border-bottom: 1px solid var(--pf-border);
    border-radius: 0;
    background: transparent;
    overflow: visible;
    box-shadow: none;
}

.pf-stat-card,
.pf-monte-card {
    padding: 14px 16px 13px;
    min-height: 88px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pf-stat-card {
    border-right: 1px solid var(--pf-border);
    border-bottom: 1px solid var(--pf-border);
}

.pf-stat-card:nth-child(3n + 1) {
    padding-left: 0;
}

.pf-stat-card:nth-child(3n) {
    border-right: 0;
}

.pf-stat-card:nth-last-child(-n + 3) {
    border-bottom: 0;
}

.pf-stat-grid .pf-stat-label {
    color: var(--text-muted);
}

.pf-stat-grid .pf-stat-value {
    margin-top: 8px;
    color: var(--text-primary);
    font-size: 18px;
    letter-spacing: -0.035em;
}

.pf-stat-grid .pf-stat-value.positive {
    color: #6fd6c6;
}

.pf-stat-grid .pf-stat-value.negative {
    color: var(--red-light);
}

.pf-stat-grid .pf-stat-value.warning {
    color: var(--warn-light);
}

.pf-stat-grid .pf-stat-sub {
    margin-top: 6px;
    color: var(--text-secondary);
}

.pf-monte-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding: 0;
    border: 0;
    border-top: 1px solid var(--pf-border);
    border-bottom: 1px solid var(--pf-border);
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

.pf-monte-strip .pf-monte-card {
    min-height: 0;
    padding: 12px 14px 11px;
    border-right: 1px solid var(--pf-border);
}

.pf-monte-strip .pf-monte-card:first-child {
    padding-left: 0;
}

.pf-monte-strip .pf-monte-card:last-child {
    border-right: 0;
}

.pf-monte-strip .pf-stat-label {
    margin-bottom: 8px;
}

.pf-monte-strip .pf-stat-value {
    margin-top: 0;
}

.pf-monte-strip .pf-stat-sub {
    margin-top: 6px;
}

.pf-forecast-strip {
    margin: 0 0 6px;
    border-top: 1px solid var(--pf-border);
}

.pf-forecast-strip .pf-monte-card {
    padding: 10px 16px 9px;
}

.pf-forecast-strip .pf-monte-card:first-child {
    padding-left: 0;
}

.pf-forecast-strip .pf-stat-label {
    margin-bottom: 5px;
}

.pf-forecast-strip .pf-stat-sub {
    margin-top: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    line-height: 16px;
}

.pf-check-list,
.pf-violation-list,
.pf-fit-list {
    display: grid;
    gap: 0;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius);
    overflow: hidden;
    background: var(--pf-card);
    box-shadow: none;
}

.pf-fit-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    border: 0;
    border-radius: 0;
    overflow: visible;
    background: transparent;
}

.pf-check-item,
.pf-violation-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 14px;
    min-height: 56px;
    border: 0;
    border-bottom: 1px solid var(--pf-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pf-check-item:last-child,
.pf-violation-item:last-child,
.pf-fit-item:last-child,
.pf-action-item:last-child,
.pf-pressure-row:last-child {
    border-bottom: 0;
}

.pf-check-item.pass {
    background: transparent;
}

.pf-check-item.fail {
    background: transparent;
}

.pf-violation-item.pass {
    background: transparent;
}

.pf-violation-item.fail {
    background: transparent;
}

.pf-violation-item.warning {
    background: transparent;
}

.pf-check-left,
.pf-violation-left {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.pf-check-icon,
.pf-violation-icon {
    width: 24px;
    height: 24px;
    border-radius: var(--pf-control-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--pf-fs-body-sm);
    font-weight: 800;
    flex-shrink: 0;
    margin-top: 1px;
}

.pf-check-icon.pass,
.pf-violation-icon.pass {
    color: var(--green-light);
    background: rgba(34, 197, 94, 0.09);
    border: 1px solid rgba(34, 197, 94, 0.18);
}

.pf-check-icon.fail,
.pf-violation-icon.fail {
    color: var(--red-light);
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.18);
}

.pf-check-icon.tracking,
.pf-violation-icon.warning {
    color: var(--warn-light);
    background: rgba(245, 158, 11, 0.09);
    border: 1px solid rgba(245, 158, 11, 0.18);
}

.pf-check-title,
.pf-violation-title {
    color: #f4f4f6;
    font-weight: 600;
    font-size: var(--pf-fs-body-sm);
}

.pf-check-detail,
.pf-violation-detail {
    margin-top: 3px;
    color: var(--pf-text-support);
    font-size: var(--pf-fs-support);
    line-height: 1.45;
}

.pf-check-value,
.pf-violation-value {
    color: var(--text-primary);
    font-family: 'JetBrains Mono', 'DM Mono', monospace;
    font-size: var(--pf-fs-body-sm);
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.pf-chart {
    min-height: 320px;
}

.pf-chart-fallback {
    min-height: inherit;
    height: 100%;
    display: grid;
    place-items: center;
    border: 1px dashed rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    color: var(--text-muted);
    font-size: var(--pf-fs-support);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.pf-chart--curve {
    min-height: 340px;
    margin-top: -4px;
    margin-inline: -8px;
}

.pf-chart--forecast {
    min-height: 340px;
    margin-top: -4px;
    margin-inline: -8px;
}

.pf-forecast-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin: 20px 0 10px;
    color: var(--text-secondary);
    font-size: var(--pf-fs-support);
    pointer-events: none;
}

.pf-forecast-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1.2;
}

.pf-forecast-legend i {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: var(--legend-color);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.26);
}

.pf-forecast-dot--top {
    --legend-color: rgba(111, 214, 198, 0.24);
}

.pf-forecast-dot--upper {
    --legend-color: rgba(111, 214, 198, 0.42);
}

.pf-forecast-dot--typical {
    --legend-color: #6fd6c6;
}

.pf-forecast-dot--lower {
    --legend-color: rgba(242, 197, 93, 0.44);
}

.pf-forecast-dot--bottom {
    --legend-color: rgba(255, 123, 123, 0.38);
}

#pfEquityChart {
    width: auto;
}

.pf-chart.small {
    min-height: 260px;
}

.pf-curve-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0 0 6px;
    padding: 0;
    border: 0;
    border-top: 1px solid var(--pf-border);
    border-bottom: 1px solid var(--pf-border);
    border-radius: 0;
    background: transparent;
    overflow: visible;
    box-shadow: none;
}

.pf-curve-meta-item {
    min-width: 0;
    display: grid;
    gap: 6px;
    padding: 15px 16px 14px;
    border-right: 1px solid var(--pf-border);
    background: transparent;
}

.pf-curve-meta-item:first-child {
    padding-left: 0;
}

.pf-curve-meta-label {
    color: var(--text-muted);
    font-size: var(--pf-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pf-curve-meta-value {
    color: #f4f4f6;
    font-family: 'JetBrains Mono', 'DM Mono', monospace;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.15;
}

.pf-curve-meta-value.positive {
    color: #6ee7d3;
}

.pf-curve-meta-value.warning {
    color: #f2c55d;
}

.pf-curve-meta-value.negative {
    color: #ff8d8d;
}

.pf-curve-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 15px 16px 14px;
    border-radius: 0;
    border: 0;
    background: transparent;
    color: var(--text-secondary);
    font-size: var(--pf-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.pf-curve-status.pass {
    background: transparent;
    color: var(--green-light);
}

.pf-curve-status.fail {
    background: transparent;
    color: var(--red-light);
}

.pf-curve-status.tracking {
    background: transparent;
    color: var(--warn-light);
}

.pf-page .apexcharts-tooltip,
.pf-page .apexcharts-tooltip.apexcharts-theme-dark,
.pf-page .apexcharts-tooltip.apexcharts-theme-light {
    padding: 0 !important;
    border: 0 !important;
    border-radius: var(--pf-control-radius) !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

.pf-page .apexcharts-tooltip-title {
    display: none !important;
}

.pf-chart-tooltip {
    min-width: 210px;
    padding: 12px 13px;
    border-radius: var(--pf-control-radius);
    border: 1px solid var(--app-border-default);
    background: rgba(13, 13, 13, 0.98);
    box-shadow: none;
}

.pf-chart-tooltip-date {
    margin-bottom: 8px;
    color: #f4f4f6;
    font-size: var(--pf-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.04em;
}

.pf-chart-tooltip-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--text-secondary);
    font-size: var(--pf-fs-kicker);
    line-height: 1.5;
}

.pf-chart-tooltip-row + .pf-chart-tooltip-row {
    margin-top: 6px;
}

.pf-chart-tooltip-row strong {
    color: #f4f4f6;
    font-family: 'JetBrains Mono', 'DM Mono', monospace;
    font-size: var(--pf-fs-kicker);
    font-weight: 700;
}

.pf-review-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-bottom: 16px;
    padding: 0;
    border: 0;
    border-top: 1px solid var(--pf-border);
    border-bottom: 1px solid var(--pf-border);
    border-radius: 0;
    background: transparent;
    overflow: visible;
}

.pf-review-stat {
    padding: 14px 16px;
    border: 0;
    border-right: 1px solid var(--pf-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pf-review-stat:last-child {
    border-right: 0;
}

.pf-review-stat-label {
    color: var(--text-muted);
    font-size: var(--pf-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pf-review-stat-value {
    margin-top: 8px;
    color: var(--text-primary);
    font-family: 'JetBrains Mono', 'DM Mono', monospace;
    font-size: var(--pf-fs-metric);
    font-weight: 700;
}

.pf-violation-list.clean {
    border-color: rgba(34, 197, 94, 0.12);
    background: rgba(34, 197, 94, 0.025);
}

.pf-violation-list.clean .pf-violation-item {
    background: transparent;
}

.pf-pressure-note {
    margin-top: 14px;
    color: var(--pf-text-support);
    font-size: var(--pf-fs-support);
    line-height: 1.6;
}

.pf-pressure-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 0;
    border: 0;
    border-top: 0;
    border-bottom: 1px solid var(--pf-border);
    border-radius: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
}

.pf-pressure-row {
    min-width: 0;
    display: grid;
    align-content: start;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 14px;
    row-gap: 6px;
    padding: 13px 16px 12px;
    border: 0;
    border-right: 1px solid var(--pf-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pf-pressure-row:first-child {
    padding-left: 0;
}

.pf-pressure-row:last-child {
    border-right: 0;
}

.pf-pressure-row-label {
    color: var(--text-primary);
    font-size: var(--pf-fs-body-sm);
    font-weight: 700;
}

.pf-pressure-row-meta {
    margin-top: 4px;
    color: var(--pf-text-support);
    font-size: var(--pf-fs-support);
    line-height: 1.45;
}

.pf-pressure-row-value {
    color: #f4f4f6;
    font-family: 'JetBrains Mono', 'DM Mono', monospace;
    font-size: var(--pf-fs-body-sm);
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.pf-scenario-list,
.pf-stress-list {
    display: grid;
    gap: 0;
}

.pf-scenario-row,
.pf-stress-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 64px;
    padding: 14px 0;
    border-bottom: 1px solid var(--pf-border);
}

.pf-scenario-row:last-child,
.pf-stress-row:last-child {
    border-bottom: 0;
}

.pf-scenario-title,
.pf-stress-title {
    color: var(--text-primary);
    font-size: var(--pf-fs-body-sm);
    font-weight: 700;
    line-height: 1.25;
}

.pf-scenario-meta,
.pf-scenario-detail,
.pf-stress-meta {
    margin-top: 4px;
    color: var(--pf-text-support);
    font-size: var(--pf-fs-support);
    line-height: 1.55;
}

.pf-scenario-detail {
    color: var(--text-muted);
}

.pf-scenario-value,
.pf-stress-value {
    color: #f4f4f6;
    font-family: 'JetBrains Mono', 'DM Mono', monospace;
    font-size: var(--pf-fs-body-sm);
    font-weight: 750;
    text-align: right;
    white-space: nowrap;
}

.pf-scenario-row.pass .pf-scenario-value,
.pf-stress-row.pass .pf-stress-value {
    color: #6fd6c6;
}

.pf-scenario-row.fail .pf-scenario-value,
.pf-stress-row.fail .pf-stress-value {
    color: var(--red-light);
}

.pf-scenario-row.tracking .pf-scenario-value,
.pf-stress-row.tracking .pf-stress-value {
    color: var(--warn-light);
}

.pf-ai-coach-card {
    padding: 14px 0;
    border-top: 1px solid var(--pf-border);
    border-bottom: 1px solid var(--pf-border);
}

.pf-ai-coach-shell {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 12px;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pf-ai-coach-eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 0;
    color: rgba(212, 198, 255, 0.82);
    font-size: var(--pf-fs-kicker);
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.pf-ai-coach-mark {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 20px;
    border: 1px solid rgba(154, 130, 255, 0.22);
    border-radius: 6px;
    background: rgba(154, 130, 255, 0.08);
    color: rgba(212, 198, 255, 0.88);
}

.pf-ai-coach-mark svg,
.pf-ai-coach-mark i {
    width: 13px;
    height: 13px;
}

.pf-ai-coach-copy {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: 10px;
    row-gap: 4px;
}

.pf-ai-coach-copy .pf-card-title {
    min-width: 0;
    font-size: 15px;
    letter-spacing: -0.02em;
}

.pf-ai-coach-copy p {
    grid-column: 1 / -1;
    margin: 0;
    max-width: none;
    color: var(--pf-text-support);
    font-size: var(--pf-fs-support);
    line-height: 1.4;
}

.pf-ai-coach-btn {
    width: 100%;
    min-height: 36px;
    padding-inline: 12px;
    justify-content: center;
    white-space: nowrap;
}

.pf-replay-card {
    margin-top: 0;
}

.pf-replay-note {
    margin-top: -2px;
    margin-bottom: 18px;
    color: var(--pf-text-support);
    font-size: var(--pf-fs-support);
    line-height: 1.65;
}

.pf-replay-table {
    display: block;
    max-height: 650px;
    overflow: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 34px), rgba(0, 0, 0, 0.55) calc(100% - 12px), transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0, #000 calc(100% - 34px), rgba(0, 0, 0, 0.55) calc(100% - 12px), transparent 100%);
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: var(--pf-border-hover) transparent;
}

.pf-replay-table::-webkit-scrollbar {
    width: 8px;
}

.pf-replay-table::-webkit-scrollbar-thumb {
    background: var(--pf-border-hover);
    border-radius: 999px;
}

.pf-replay-row {
    display: grid;
    grid-template-columns: minmax(180px, 1.2fr) minmax(110px, 0.8fr) minmax(110px, 0.8fr) minmax(110px, 0.8fr) minmax(220px, 1.3fr);
    gap: 16px;
    align-items: center;
    min-height: 60px;
    padding: 10px 0;
    border: 0;
    border-bottom: 1px solid var(--pf-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pf-replay-row.warning {
    background: transparent;
    box-shadow: none;
}

.pf-replay-row.breach {
    background: transparent;
    box-shadow: none;
}

.pf-replay-row.target {
    background: transparent;
    box-shadow: none;
}

.pf-replay-row.pf-replay-head {
    position: sticky;
    top: 0;
    z-index: 2;
    min-height: 44px;
    background: #0d0d0d;
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--pf-border);
    padding: 10px 0;
    color: var(--text-muted);
    font-size: var(--pf-fs-kicker);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pf-replay-row:first-child {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.pf-replay-row:last-child {
    border-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.pf-replay-date-main {
    color: #f4f4f6;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.pf-replay-date-sub,
.pf-replay-status-sub {
    margin-top: 3px;
    color: var(--pf-text-support);
    font-size: 12px;
    line-height: 1.45;
}

.pf-replay-value {
    color: #f4f4f6;
    font-family: 'JetBrains Mono', 'DM Mono', monospace;
    font-size: var(--pf-fs-body-sm);
    font-weight: 700;
    line-height: 1.4;
}

.pf-replay-value.positive {
    color: #4ee38a;
}

.pf-replay-value.negative {
    color: #ff7b7b;
}

.pf-replay-status {
    display: grid;
    align-content: center;
    justify-items: start;
    min-width: 0;
}

.pf-replay-status-sub {
    max-width: 34ch;
}

.pf-fit-card {
    margin-top: 0;
    scroll-margin-top: 92px;
}

.pf-fit-note {
    margin-top: -2px;
    margin-bottom: 18px;
    color: var(--text-secondary);
    font-size: var(--pf-fs-body);
    line-height: 1.68;
}

.pf-fit-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 12px;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius);
    background: rgba(255, 255, 255, 0.012);
    box-shadow: none;
    transition: background 0.18s ease, border-color 0.18s ease;
}

.pf-fit-item:last-child {
    border-bottom: 1px solid var(--pf-border);
}

.pf-fit-item.selected {
    border-color: rgba(91, 196, 176, 0.30);
    background: rgba(91, 196, 176, 0.035);
    box-shadow: none;
}

.pf-fit-manual-coverage {
    grid-column: 1 / -1;
    min-width: 0;
    margin-top: 6px;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-radius);
    background: rgba(255, 255, 255, 0.012);
    overflow: hidden;
}

.pf-fit-manual-coverage > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 68px;
    padding: 14px 16px;
    cursor: pointer;
    list-style: none;
}

.pf-fit-manual-coverage > summary::-webkit-details-marker {
    display: none;
}

.pf-fit-manual-coverage > summary > span:first-child {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.pf-fit-manual-coverage > summary strong {
    color: var(--text-primary);
    font-size: 14px;
    line-height: 1.25;
}

.pf-fit-manual-coverage > summary small {
    color: var(--pf-text-support);
    font-size: 12px;
    line-height: 1.45;
}

.pf-fit-manual-summary-action {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    color: #8de6d7;
    font-size: 12px;
    font-weight: 750;
}

.pf-fit-manual-summary-action svg {
    width: 15px;
    height: 15px;
    transition: transform 0.18s ease;
}

.pf-fit-manual-coverage[open] .pf-fit-manual-summary-action svg {
    transform: rotate(180deg);
}

.pf-fit-manual-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-top: 1px solid var(--pf-border);
    background: rgba(255, 255, 255, 0.01);
}

.pf-fit-manual-search {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 320px;
    min-width: 0;
    max-width: 440px;
    min-height: 38px;
    padding: 0 11px;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-control-radius);
    background: rgba(255, 255, 255, 0.018);
    color: var(--pf-text-support);
}

.pf-fit-manual-search svg {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
}

.pf-fit-manual-search input {
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-primary);
    font: inherit;
    font-size: 12px;
}

.pf-fit-manual-search input::placeholder {
    color: var(--pf-text-support);
}

.pf-fit-manual-toolbar > span {
    flex: 0 0 auto;
    color: var(--pf-text-support);
    font-size: 11px;
}

.pf-fit-manual-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    max-height: 430px;
    padding: 14px;
    overflow-y: auto;
}

.pf-fit-manual-empty {
    padding: 18px 14px;
    border-top: 1px solid var(--pf-border);
    color: var(--pf-text-support);
    font-size: 12px;
}

.pf-fit-manual-empty[hidden] {
    display: none;
}

.pf-fit-manual-item {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr) auto 14px;
    align-items: center;
    gap: 10px;
    min-width: 0;
    min-height: 58px;
    padding: 10px;
    border: 1px solid var(--pf-border);
    border-radius: var(--pf-control-radius);
    background: rgba(255, 255, 255, 0.018);
    color: var(--text-primary);
    text-align: left;
    transition: border-color 0.18s ease, background 0.18s ease;
}

.pf-fit-manual-item[hidden] {
    display: none;
}

.pf-fit-manual-item:hover,
.pf-fit-manual-item.is-selected {
    border-color: rgba(91, 196, 176, 0.34);
    background: rgba(91, 196, 176, 0.06);
}

.pf-fit-manual-copy {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.pf-fit-manual-copy strong,
.pf-fit-manual-copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pf-fit-manual-copy strong {
    font-size: 13px;
}

.pf-fit-manual-copy small {
    color: var(--pf-text-support);
    font-size: 11px;
}

.pf-fit-manual-status {
    min-height: 22px;
    padding: 3px 7px;
    border: 1px solid var(--pf-border);
    border-radius: 999px;
    color: var(--text-secondary);
    font-size: 9px;
    font-weight: 750;
    line-height: 14px;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.pf-fit-manual-item > svg {
    width: 14px;
    height: 14px;
    color: var(--pf-text-support);
}

.pf-fit-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 14px;
    min-width: 0;
}

.pf-fit-top {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.pf-fit-logo {
    width: 36px;
    height: 36px;
    border-radius: var(--pf-control-radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: var(--pf-card);
    border: 1px solid var(--pf-border);
    overflow: hidden;
}

.pf-fit-logo.pf-firm-badge--ftmo {
    background: #0d0f10;
    border-color: rgba(255, 255, 255, 0.1);
}

.pf-fit-logo.pf-firm-badge--fundednext {
    background: #f5f6ff;
    border-color: rgba(100, 91, 254, 0.26);
}

.pf-fit-logo.pf-firm-badge--the5ers {
    background: #fff0e9;
    border-color: rgba(255, 99, 76, 0.28);
}

.pf-fit-logo.pf-firm-badge--topstep {
    background: #086a82;
    border-color: rgba(110, 220, 238, 0.22);
}

.pf-fit-logo.pf-firm-badge--fxify {
    background: #071311;
    border-color: rgba(27, 170, 145, 0.26);
}

.pf-fit-logo.pf-firm-badge--e8 {
    background: #050505;
    border-color: rgba(255, 255, 255, 0.1);
}

.pf-fit-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pf-fit-title {
    color: var(--text-primary);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
}

.pf-fit-phase {
    color: var(--pf-text-support);
    font-size: var(--pf-fs-support);
    line-height: 1.45;
}

.pf-fit-selected-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(77, 171, 154, 0.08);
    border: 1px solid rgba(77, 171, 154, 0.22);
    color: #8de6d7;
    font-size: var(--pf-fs-chip);
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pf-fit-summary {
    margin-top: 0;
    color: var(--pf-text-support);
    font-size: var(--pf-fs-support);
    line-height: 1.45;
}

.pf-fit-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 0;
}

.pf-fit-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid var(--pf-border);
    background: transparent;
    color: var(--text-secondary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.pf-fit-score-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
}

.pf-fit-score-block {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.pf-fit-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: auto;
    min-height: 36px;
    padding: 0 11px;
    border-radius: var(--pf-control-radius);
    border: 1px solid rgba(111, 214, 198, 0.34);
    background: rgba(77, 171, 154, 0.08);
    color: #c9fff7;
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
    white-space: nowrap;
    transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.pf-fit-cta:hover {
    border-color: rgba(141, 230, 215, 0.56);
    background: rgba(77, 171, 154, 0.2);
    color: #ffffff;
}

.pf-fit-cta svg,
.pf-fit-cta i {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
}

.pf-fit-score {
    color: var(--text-primary);
    font-family: 'JetBrains Mono', 'DM Mono', monospace;
    font-size: 20px;
    line-height: 1;
    font-weight: 700;
}

.pf-fit-score-label {
    color: #8f8f97;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pf-fit-score-row .pf-verdict-pill {
    flex: 0 0 auto;
}

.pf-verdict-pill.mini {
    min-height: 26px;
    margin-bottom: 0;
    font-size: var(--pf-fs-chip);
}

@media (max-width: 1100px) {
    .pf-fit-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .pf-fit-manual-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .pf-fit-head {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .pf-fit-score-row {
        justify-content: space-between;
    }

    .pf-fit-manual-coverage > summary {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .pf-fit-manual-grid {
        grid-template-columns: minmax(0, 1fr);
        max-height: 520px;
    }

    .pf-fit-manual-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .pf-fit-manual-search {
        flex-basis: auto;
        max-width: none;
    }

    .pf-fit-manual-item {
        grid-template-columns: 36px minmax(0, 1fr) 14px;
    }

    .pf-fit-manual-status {
        display: none;
    }
}

.pf-insight {
    padding: 0 0 16px;
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid var(--pf-border);
    background: transparent;
    color: var(--text-primary);
    line-height: 1.7;
    font-size: var(--pf-fs-body-sm);
}

.pf-action-list {
    margin: 0;
    display: grid;
    gap: 0;
    border: 0;
    border-radius: 0;
    overflow: visible;
    background: transparent;
    box-shadow: none;
}

.pf-action-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px 0;
    border: 0;
    border-bottom: 1px solid var(--pf-border);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pf-action-step {
    flex-shrink: 0;
    min-width: 34px;
    height: 34px;
    border-radius: var(--pf-control-radius);
    border: 1px solid var(--pf-border);
    background: var(--pf-card);
    color: var(--text-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'JetBrains Mono', 'DM Mono', monospace;
    font-size: var(--pf-fs-kicker);
    font-weight: 700;
}

.pf-action-copy-wrap {
    min-width: 0;
}

.pf-action-item-title {
    color: var(--text-primary);
    font-size: var(--pf-fs-body-sm);
    font-weight: 700;
}

.pf-action-item-copy {
    margin-top: 4px;
    color: var(--pf-text-support);
    line-height: 1.65;
    font-size: var(--pf-fs-support);
}

.pf-empty-state {
    text-align: center;
    padding: 72px 28px;
}

.pf-empty-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    border: 1px solid rgba(77, 171, 154, 0.18);
    background: rgba(77, 171, 154, 0.06);
    color: var(--accent);
}

.pf-empty-state-icon {
    width: 28px;
    height: 28px;
}

.pf-empty-state h3 {
    margin: 0;
    color: var(--text-primary);
    font-size: 22px;
}

.pf-empty-state p {
    margin: 12px auto 0;
    max-width: 56ch;
    color: var(--text-secondary);
    line-height: 1.68;
}

.pf-empty-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 22px;
    flex-wrap: wrap;
}

.pf-empty-actions .app-action-btn {
    min-height: 40px;
}

.pf-toolbar-meta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0;
    border-radius: 0;
    border: 0;
    background: transparent;
    color: rgba(214, 223, 232, 0.72);
    font-family: 'DM Mono', monospace;
    font-size: var(--pf-fs-meta);
    font-weight: 500;
    white-space: nowrap;
}

@media (min-width: 1200px) {
    .pf-page .app-page-title-group {
        max-width: none;
        flex: 1 1 auto;
    }
}

@media (max-width: 1390px) {
    body.pf-page.has-sidebar main.app-page-layout {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .pf-page-header:not(.app-page-header--workspace) {
        align-items: stretch;
        flex-wrap: wrap;
        gap: 16px;
    }

    .pf-page-header:not(.app-page-header--workspace) .pf-title-group {
        flex: 1 1 100%;
        width: 100%;
        max-width: none;
    }

    .pf-page-header:not(.app-page-header--workspace) .pf-page-toolbar.app-toolbar {
        width: 100%;
        justify-content: flex-start;
        align-self: stretch;
        margin-left: 0;
        overflow: visible;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .pf-page-header:not(.app-page-header--workspace) .pf-page-toolbar .app-action-btn {
        width: 100%;
        min-height: 46px;
    }

    .pf-workbench-grid,
    .pf-report-layout,
    .pf-results-grid,
    .pf-charts-grid,
    .pf-results-grid.bottom {
        grid-template-columns: 1fr;
    }

    .pf-selection-panel {
        border-right: 0;
        border-bottom: 1px solid var(--pf-border);
    }

    .pf-report-stack--main {
        padding-right: 0;
    }

    .pf-report-stack--side {
        border-left: 0;
        padding-left: 0;
        border-top: 1px solid var(--pf-border);
        padding-top: 22px;
    }

    .pf-results-grid > .pf-report-block:nth-child(2),
    .pf-charts-grid > .pf-report-block:nth-child(2) {
        border-left: 0;
        padding-left: 0;
    }

    .pf-builder-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1360px) {
    .pf-report-layout {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .pf-report-stack--main {
        padding-right: 0;
    }

    .pf-report-stack--side {
        border-left: 0;
        padding-left: 0;
        border-top: 1px solid var(--pf-border);
        padding-top: 22px;
    }

    .pf-workbench-grid,
    .pf-results-grid,
    .pf-charts-grid,
    .pf-results-grid.bottom {
        grid-template-columns: 1fr;
    }

    .pf-results-grid > .pf-report-block:nth-child(2),
    .pf-charts-grid > .pf-report-block:nth-child(2) {
        border-left: 0;
        padding-left: 0;
    }

    .pf-builder-grid {
        grid-template-columns: 1fr;
    }

    .pf-overview-grid--rules {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pf-meta-strip,
    .pf-meta-strip--snapshot {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 960px) {
    .pf-page .app-page-header:not(.app-page-header--workspace) {
        align-items: flex-start;
        flex-direction: column;
    }

    .pf-page-header:not(.app-page-header--workspace) .pf-page-toolbar.app-toolbar {
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .pf-page-header:not(.app-page-header--workspace) .pf-page-toolbar.app-toolbar::-webkit-scrollbar {
        display: none;
    }

    .pf-stat-grid,
    .pf-monte-grid {
        grid-template-columns: 1fr 1fr;
    }

    .pf-monte-strip .pf-monte-card:nth-child(2n) {
        border-right: 0;
    }

    .pf-monte-strip .pf-monte-card:last-child {
        border-right: 1px solid var(--pf-border);
    }

    .pf-stat-card {
        border-right: 1px solid var(--pf-border);
        border-bottom: 1px solid var(--pf-border);
    }

    .pf-stat-card:nth-child(3n) {
        border-right: 1px solid var(--pf-border);
    }

    .pf-stat-card:nth-child(2n) {
        border-right: 0;
    }

    .pf-stat-card:nth-last-child(-n + 3) {
        border-bottom: 1px solid var(--pf-border);
    }

    .pf-stat-card:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .pf-stat-card:nth-child(3n + 1) {
        padding-left: 18px;
    }

    .pf-stat-card:nth-child(2n + 1) {
        padding-left: 0;
    }

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

    .pf-review-stat {
        border-right: 0;
        border-bottom: 1px solid var(--pf-border);
    }

    .pf-review-stat:last-child {
        border-bottom: 0;
    }

    .pf-snapshot-top {
        flex-direction: column;
        align-items: stretch;
    }

    .pf-curve-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pf-curve-status {
        justify-self: start;
    }
}

@media (min-width: 721px) and (max-width: 960px) {
    .pf-monte-grid.pf-monte-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pf-review-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pf-review-stat {
        border-right: 1px solid var(--pf-border);
        border-bottom: 0;
    }

    .pf-review-stat:last-child {
        border-right: 0;
    }

    .pf-monte-strip .pf-monte-card,
    .pf-monte-strip .pf-monte-card:nth-child(2n),
    .pf-monte-strip .pf-monte-card:last-child {
        border-right: 1px solid var(--pf-border);
        border-bottom: 0;
    }

    .pf-monte-strip .pf-monte-card:last-child {
        border-right: 0;
    }

    .pf-pressure-list {
        border-bottom: 0;
    }

    .pf-pressure-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
    }

    .pf-pressure-row-value,
    .pf-scenario-value,
    .pf-stress-value {
        max-width: 18ch;
        overflow-wrap: anywhere;
        white-space: normal;
    }
}

@media (max-width: 720px) {
    .pf-stat-grid,
    .pf-monte-grid,
    .pf-overview-grid,
    .pf-replay-row,
    .pf-replay-row.pf-replay-head {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .pf-replay-row.pf-replay-head {
        display: none;
    }

    .pf-scenario-row,
    .pf-stress-row {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 8px;
    }

    .pf-scenario-value,
    .pf-stress-value {
        text-align: left;
        white-space: normal;
    }

    .pf-ai-coach-shell {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 12px;
        padding: 14px;
    }

    .pf-ai-coach-btn {
        width: 100%;
    }

    .pf-overview-grid--rules,
    .pf-meta-strip,
    .pf-meta-strip--snapshot {
        grid-template-columns: 1fr;
    }

    .pf-size-list,
    .pf-review-summary {
        grid-template-columns: 1fr;
    }

    .pf-workbench-panel,
    .pf-snapshot-panel,
    .pf-results-shell,
    .pf-verdict-card,
    .pf-checks-card,
    .pf-chart-card,
    .pf-list-card {
        padding: 18px;
    }

    .pf-workbench-grid {
        gap: 16px;
    }

    .pf-stat-card,
    .pf-stat-card:nth-child(2n),
    .pf-stat-card:nth-child(3n),
    .pf-stat-card:nth-last-child(-n + 2),
    .pf-stat-card:nth-last-child(-n + 3) {
        padding-left: 18px;
        border-right: 0;
        border-bottom: 1px solid var(--pf-border);
    }

    .pf-stat-card:last-child {
        border-bottom: 0;
    }

    .pf-section-title {
        font-size: 20px;
    }

    .pf-shell-title {
        font-size: 22px;
    }

    .pf-check-item,
    .pf-violation-item,
    .pf-pressure-row,
    .pf-action-item,
    .pf-replay-row,
    .pf-card-head,
    .pf-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .pf-fit-item {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .pf-check-value,
    .pf-violation-value,
    .pf-pressure-row-value,
    .pf-replay-row {
        text-align: left;
        align-items: flex-start;
    }

    .pf-fit-side {
        text-align: left;
        align-items: stretch;
        padding-left: 0;
        padding-top: 0;
        border-left: 0;
        border-top: 0;
    }

    .pf-fit-score,
    .pf-fit-score-label,
    .pf-fit-side .pf-verdict-pill {
        justify-self: auto;
    }

    .pf-source-note {
        flex: 0 0 auto;
        text-align: left;
    }

    .pf-snapshot-top .pf-affiliate-link {
        width: 100%;
    }

    .pf-curve-meta {
        grid-template-columns: 1fr;
    }

    .pf-curve-meta-item,
    .pf-monte-strip .pf-monte-card,
    .pf-monte-strip .pf-monte-card:last-child {
        padding-left: 16px;
        border-right: 0;
        border-bottom: 1px solid var(--pf-border);
    }

    .pf-curve-status {
        width: auto;
        justify-content: center;
        justify-self: start;
    }

    .pf-monte-strip .pf-monte-card:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 767px) {
    html,
    body.pf-page {
        min-height: 100dvh;
        overflow-x: hidden;
        background: var(--app-bg-page, #050505);
    }

    body.pf-page.has-sidebar main.app-page-layout,
    body.pf-page main.app-page-layout {
        width: 100%;
        max-width: none;
        min-height: 100dvh;
        min-width: 0;
        margin: 0;
        padding: calc(14px + env(safe-area-inset-top)) 10px calc(24px + env(safe-area-inset-bottom)) !important;
        overflow-x: hidden;
    }

    body.pf-page main.app-page-layout > * {
        min-width: 0;
        max-width: 100%;
    }

    .pf-page-header:not(.app-page-header--workspace) {
        flex-direction: column;
        gap: 9px;
        margin-bottom: 0;
        overflow: hidden;
    }

    .pf-page-header:not(.app-page-header--workspace) .pf-title-group {
        box-sizing: border-box;
        width: 100%;
        min-height: 42px;
        justify-content: center;
        gap: 7px;
        padding-left: 0;
        margin-bottom: 0;
    }

    body.pf-page.has-sidebar .pf-page-header:not(.app-page-header--workspace) .pf-title-group {
        padding-left: 54px;
    }

    .pf-page-header:not(.app-page-header--workspace) .app-page-title {
        max-width: none;
        font-size: clamp(23px, 6.5vw, 28px);
        line-height: 0.98;
        letter-spacing: -0.055em;
    }

    body.pf-page.has-sidebar .pf-page-header:not(.app-page-header--workspace) .app-page-title {
        margin-left: 0;
    }

    .pf-status-bar {
        --app-status-fade-size: 34px;
        margin-top: 2px;
    }

    .pf-title-group .app-status-meta {
        display: flex;
        flex-wrap: nowrap !important;
        gap: 8px;
        width: max-content;
        min-width: 100%;
        max-width: none;
        overflow: visible;
        padding: 0 var(--app-status-fade-size) 1px 0 !important;
        white-space: nowrap;
    }

    .pf-title-group .app-status-copy {
        flex: 0 0 auto;
        flex-wrap: nowrap;
        width: max-content;
        max-width: none;
        gap: 6px;
    }

    .pf-title-group .app-status-kicker {
        flex: 0 0 auto;
        font-size: 10px;
    }

    .pf-title-group .app-status-chip {
        flex: 0 0 auto;
        max-width: 72vw;
        min-height: 23px;
        padding-inline: 8px;
        font-size: 10.5px;
    }

    .pf-page-header:not(.app-page-header--workspace) .pf-page-toolbar.app-toolbar {
        width: 100%;
        margin-top: 0;
        align-self: stretch;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .pf-intro-card,
    .pf-results-shell,
    .pf-empty-state,
    .pf-check-list,
    .pf-violation-list {
        border-radius: 12px;
    }

    .pf-workbench-grid {
        gap: 0;
    }

    .pf-workbench-panel,
    .pf-snapshot-panel,
    .pf-results-shell,
    .pf-setup-card,
    .pf-spotlight-card,
    .pf-verdict-card,
    .pf-checks-card,
    .pf-chart-card,
    .pf-list-card {
        padding: 18px 16px;
    }

    .pf-selection-panel {
        gap: 16px;
    }

    .pf-snapshot-top,
    .pf-shell-head,
    .pf-card-head {
        gap: 12px;
        margin-bottom: 16px;
        padding-bottom: 14px;
    }

    .pf-workbench-eyebrow,
    .pf-snapshot-top,
    .pf-shell-head,
    .pf-card-head {
        align-items: stretch;
    }

    .pf-workbench-eyebrow {
        flex-direction: column;
    }

    .pf-workbench-badge {
        width: fit-content;
    }

    .pf-section-title,
    .pf-shell-title {
        font-size: 20px;
        letter-spacing: -0.035em;
    }

    .pf-section-title.compact {
        font-size: 19px;
    }

    .pf-section-copy,
    .pf-source-note,
    .pf-empty-state p {
        font-size: 13px;
        line-height: 1.55;
    }

    .pf-builder-grid,
    .pf-builder-row,
    .pf-choice-group,
    .pf-snapshot-actions,
    .pf-report-stack {
        gap: 12px;
    }

    .pf-field select {
        height: 48px;
        font-size: 14px;
    }

    .pf-size-chip {
        min-height: 48px;
        padding: 12px;
    }

    .pf-region-list,
    .pf-program-list,
    .pf-phase-list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .pf-region-item,
    .pf-program-item,
    .pf-phase-item {
        width: 100%;
        min-height: 42px;
        padding: 10px 12px;
    }

    .pf-selection-row,
    .pf-overview-grid--rules,
    .pf-meta-strip,
    .pf-meta-strip--snapshot {
        grid-template-columns: 1fr;
    }

    .pf-snapshot-summary,
    .pf-rule-card,
    .pf-meta-strip--snapshot .pf-meta-pill {
        padding: 13px;
    }

    .pf-stat-card,
    .pf-stat-card:nth-child(3n + 1),
    .pf-stat-card:nth-child(2n),
    .pf-stat-card:nth-child(3n),
    .pf-stat-card:nth-last-child(-n + 2),
    .pf-stat-card:nth-last-child(-n + 3),
    .pf-review-stat,
    .pf-review-stat:last-child,
    .pf-curve-meta-item,
    .pf-monte-strip .pf-monte-card,
    .pf-monte-strip .pf-monte-card:first-child,
    .pf-monte-strip .pf-monte-card:last-child {
        padding-left: 0;
        padding-right: 0;
    }

    .pf-chart {
        min-height: 260px;
    }

    .pf-chart--curve {
        height: 264px;
        min-height: 264px;
        margin-top: -4px;
        margin-inline: -14px -10px;
    }

    .pf-chart--curve .apexcharts-canvas,
    .pf-chart--curve .apexcharts-svg {
        max-width: 100%;
    }

    @media (min-width: 721px) {
        .pf-stat-card,
        .pf-stat-card:nth-child(3n + 1),
        .pf-stat-card:nth-child(2n),
        .pf-stat-card:nth-child(3n),
        .pf-stat-card:nth-last-child(-n + 2),
        .pf-stat-card:nth-last-child(-n + 3) {
            padding-left: 16px;
            padding-right: 16px;
        }

        .pf-review-stat,
        .pf-review-stat:last-child,
        .pf-curve-meta-item,
        .pf-monte-strip .pf-monte-card,
        .pf-monte-strip .pf-monte-card:first-child,
        .pf-monte-strip .pf-monte-card:last-child {
            padding-left: 14px;
            padding-right: 14px;
        }

        .pf-curve-meta {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .pf-curve-meta-item,
        .pf-curve-status {
            min-height: 96px;
            padding: 14px;
            border-right: 1px solid var(--pf-border);
            border-bottom: 1px solid var(--pf-border);
            align-content: center;
        }

        .pf-curve-meta-item:nth-child(2),
        .pf-curve-status {
            border-right: 0;
        }

        .pf-curve-meta-item:nth-child(3),
        .pf-curve-status {
            border-bottom: 0;
        }

        .pf-curve-status {
            width: 100%;
            justify-self: stretch;
            justify-content: flex-start;
        }
    }

    .pf-chart.small {
        min-height: 220px;
    }

    .pf-replay-table {
        max-height: 650px;
        overflow-x: hidden;
    }

    .pf-replay-row {
        gap: 8px;
        min-height: 0;
        padding: 14px;
    }

    .pf-fit-top,
    .pf-fit-title-row {
        align-items: flex-start;
    }

    .pf-fit-title-row {
        flex-direction: column;
        gap: 8px;
    }

    .pf-run-btn,
    .pf-affiliate-link,
    .pf-snapshot-top .pf-affiliate-link,
    .pf-fit-cta {
        width: 100%;
    }
}

@media (max-width: 420px) {
    body.pf-page.has-sidebar main.app-page-layout,
    body.pf-page main.app-page-layout {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .pf-workbench-panel,
    .pf-snapshot-panel,
    .pf-results-shell,
    .pf-setup-card,
    .pf-spotlight-card,
    .pf-verdict-card,
    .pf-checks-card,
    .pf-chart-card,
    .pf-list-card {
        padding: 16px 14px;
    }
}

/* Command-center pass: align Prop Tracker with the shared app page rhythm. */
body.pf-page main.app-page-layout {
    box-sizing: border-box;
    display: block;
    width: min(100%, 1800px);
    max-width: 1800px;
    margin-right: auto;
    margin-left: auto;
    overflow-x: visible;
}

body.pf-page .app-page-header--workspace {
    margin-bottom: 0;
}

@media (min-width: 1101px) {
    body.pf-page .pf-page-header.app-page-header--workspace {
        gap: 28px;
    }

    body.pf-page .pf-page-header.app-page-header--workspace .app-page-title-group {
        flex: 0 1 auto;
    }

    body.pf-page .pf-page-header.app-page-header--workspace > .pf-mode-switch {
        flex: 0 0 auto;
    }
}

body.pf-page .pf-page-header.app-page-header--workspace .creator-mode-toggle {
    width: 46px;
    min-width: 46px;
    padding: 0;
    flex: 0 0 46px;
}

body.pf-page .pf-page-header.app-page-header--workspace .creator-mode-toggle svg,
body.pf-page .pf-page-header.app-page-header--workspace .creator-mode-toggle i {
    width: 18px;
    height: 18px;
}

@media (min-width: 768px) and (max-width: 1500px) {
    body.pf-page .pf-page-header.app-page-header--workspace {
        align-items: center;
        flex-wrap: nowrap;
        gap: 24px;
    }

    body.pf-page .pf-page-header.app-page-header--workspace .app-page-title-group {
        flex: 1 1 auto;
    }

    body.pf-page .pf-page-header.app-page-header--workspace .pf-page-toolbar.app-toolbar {
        display: flex;
        width: auto;
        margin-left: auto;
        justify-content: flex-end;
    }

    body.pf-page .pf-page-header.app-page-header--workspace .pf-page-toolbar .app-action-btn {
        width: auto;
        min-width: 0;
    }
}

.pf-intro-band.app-page-command-band {
    --app-page-command-band-bg: var(--app-surface-page-soft, rgba(255, 255, 255, 0.008));
}

body.pf-page .pf-intro-band.app-page-command-band::before,
body.pf-page .pf-intro-band.app-page-command-band::after {
    left: calc(50% - 50vw + (var(--app-sidebar-offset, 0px) / 2)) !important;
    right: calc(50% - 50vw + (var(--app-sidebar-offset, 0px) / 2)) !important;
}

.pf-intro-card.app-page-command-content {
    padding-top: 28px !important;
    padding-bottom: 22px !important;
}

.pf-intro-card .pf-workbench-grid {
    grid-template-columns: minmax(0, 1fr) minmax(430px, 0.82fr);
    gap: 34px;
    align-items: start;
}

.pf-intro-card .pf-selection-panel,
.pf-intro-card .pf-snapshot-panel {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.pf-intro-card .pf-selection-panel {
    gap: 16px;
}

.pf-intro-card .pf-selection-panel {
    border-right: 0;
}

.pf-intro-card .pf-snapshot-panel {
    padding-left: 30px;
    border-left: 1px solid var(--pf-border);
}

.pf-intro-card .pf-snapshot-summary {
    margin-bottom: 16px;
    padding: 14px 0;
    border-width: 1px 0;
    border-radius: 0;
    background: transparent;
}

.pf-intro-card .pf-overview-grid--rules,
.pf-intro-card .pf-meta-strip--snapshot {
    gap: 0;
}

.pf-intro-card .pf-overview-grid--rules .pf-rule-card,
.pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill {
    padding: 12px 14px 12px 0;
    border-width: 1px 0 0;
    border-radius: 0;
    background: transparent;
}

.pf-intro-card .pf-overview-grid--rules .pf-rule-card:nth-child(-n + 2),
.pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:nth-child(-n + 2) {
    border-top: 0;
}

#pfResultsWrap,
.pf-empty-state {
    margin-top: 18px;
}

.pf-results-shell {
    padding: 0;
    overflow: hidden;
    background: #0d0d0d;
}

.pf-results-shell > .pf-report-section {
    padding: 20px;
}

.pf-results-shell > .pf-report-section + .pf-report-section {
    margin-top: 0;
}

.pf-report-layout--primary {
    grid-template-columns: minmax(0, 1.06fr) minmax(380px, 0.94fr);
    gap: 18px 38px;
}

.pf-report-layout--primary > .pf-report-stack {
    display: contents;
}

.pf-report-layout--primary .pf-report-stack--main,
.pf-report-layout--primary .pf-report-stack--side {
    padding: 0;
    border: 0;
}

.pf-report-layout--primary .pf-verdict-card {
    grid-column: 1;
    grid-row: 1;
}

.pf-report-layout--primary .pf-checks-card {
    grid-column: 2;
    grid-row: 1;
}

.pf-report-layout--primary .pf-report-stack--main > .pf-chart-card:not(.pf-forecast-card) {
    grid-column: 1 / -1;
    grid-row: 2;
}

.pf-report-layout--primary .pf-forecast-card {
    grid-column: 1 / -1;
    grid-row: 3;
}

.pf-report-layout--primary .pf-report-stack--main > .pf-chart-card:not(.pf-forecast-card),
.pf-report-layout--primary .pf-forecast-card {
    display: grid;
    grid-template-columns: minmax(360px, 0.32fr) minmax(0, 1fr);
    column-gap: 0;
    align-items: stretch;
    padding-top: 0;
    border-top: 1px solid var(--pf-border);
}

#pfForecastBlock.pf-forecast-card {
    border-top: 1px solid var(--pf-border);
}

.pf-report-layout--primary .pf-report-stack--main > .pf-chart-card:not(.pf-forecast-card) > .pf-card-head,
.pf-report-layout--primary .pf-forecast-card > .pf-card-head {
    min-width: 0;
    align-items: center;
    margin-bottom: 0;
    padding: 16px 18px 14px 0;
    border-bottom: 1px solid var(--pf-border);
}

.pf-report-layout--primary .pf-report-stack--main > .pf-chart-card:not(.pf-forecast-card) > .pf-card-head .pf-card-title,
.pf-report-layout--primary .pf-forecast-card > .pf-card-head .pf-card-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pf-report-layout--primary .pf-report-stack--main > .pf-chart-card:not(.pf-forecast-card) > .pf-curve-meta,
.pf-report-layout--primary .pf-forecast-card > .pf-forecast-strip {
    min-width: 0;
    margin: 0;
    border-top: 0;
    border-bottom: 1px solid var(--pf-border);
}

.pf-report-layout--primary .pf-report-stack--main > .pf-chart-card:not(.pf-forecast-card) > .pf-chart,
.pf-report-layout--primary .pf-forecast-card > .pf-forecast-legend,
.pf-report-layout--primary .pf-forecast-card > .pf-chart {
    grid-column: 1 / -1;
}

.pf-report-layout--primary .pf-ai-coach-card {
    grid-column: 1 / -1;
    grid-row: auto;
}

.pf-report-layout--primary .pf-report-stack--side > .pf-chart-card {
    grid-column: 1 / -1;
    grid-row: 4;
    padding-top: 18px;
    border-top: 0;
}

.pf-report-layout--primary .pf-scenario-card {
    grid-column: 1;
    grid-row: 5;
    padding-top: 22px;
    border-top: 0;
}

.pf-report-layout--primary .pf-stress-card {
    grid-column: 2;
    grid-row: 5;
    padding-top: 22px;
    border-top: 0;
}

.pf-report-layout--primary .pf-chart-card .pf-card-head {
    align-items: center;
}

.pf-report-layout--primary .pf-check-list {
    height: auto;
}

.pf-report-layout--primary .pf-check-item {
    min-height: 56px;
}

.pf-report-layout--primary .pf-chart--curve,
.pf-report-layout--primary .pf-chart--forecast {
    min-height: 360px;
    height: 360px;
}

.pf-report-layout--primary .pf-monte-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pf-report-layout--primary .pf-pressure-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(130px, auto);
}

@media (max-width: 1280px) {
    .pf-intro-card .pf-workbench-grid,
    .pf-report-layout--primary {
        grid-template-columns: 1fr;
    }

    .pf-intro-card .pf-workbench-grid {
        gap: 22px;
    }

    .pf-report-layout--primary .pf-verdict-card,
    .pf-report-layout--primary .pf-checks-card,
    .pf-report-layout--primary .pf-report-stack--main > .pf-chart-card,
    .pf-report-layout--primary .pf-ai-coach-card,
    .pf-report-layout--primary .pf-report-stack--side > .pf-chart-card,
    .pf-report-layout--primary .pf-scenario-card,
    .pf-report-layout--primary .pf-stress-card {
        grid-column: 1;
    }

    .pf-report-layout--primary .pf-verdict-card {
        grid-row: 1;
    }

    .pf-report-layout--primary .pf-checks-card {
        grid-row: 2;
    }

    .pf-report-layout--primary .pf-report-stack--main > .pf-chart-card:not(.pf-forecast-card) {
        grid-row: 3;
    }

    .pf-report-layout--primary .pf-forecast-card {
        grid-row: 4;
    }

    .pf-report-layout--primary .pf-report-stack--side > .pf-chart-card {
        grid-row: 5;
    }

    .pf-report-layout--primary .pf-scenario-card {
        grid-row: 6;
    }

    .pf-report-layout--primary .pf-stress-card {
        grid-row: 7;
    }

    .pf-report-layout--primary .pf-report-stack--side {
        border-top: 0;
        padding-top: 0;
    }

    .pf-intro-card .pf-selection-panel {
        border-right: 0;
    }

    .pf-intro-card .pf-snapshot-panel {
        padding-left: 0;
        padding-top: 22px;
        border-left: 0;
        border-top: 1px solid var(--pf-border);
    }
}

@media (max-width: 767px) {
    body.pf-page .pf-intro-band.app-page-command-band::before,
    body.pf-page .pf-intro-band.app-page-command-band::after {
        display: none !important;
        content: none !important;
    }

    .pf-intro-card.app-page-command-content {
        padding-top: 20px !important;
        padding-bottom: 18px !important;
    }

    .pf-intro-card .pf-workbench-grid {
        gap: 18px;
    }

    .pf-intro-card .pf-selection-panel,
    .pf-intro-card .pf-snapshot-panel {
        padding: 0;
    }

    .pf-results-shell > .pf-report-section {
        padding: 16px;
    }

    .pf-intro-card .pf-snapshot-panel {
        padding-top: 18px;
    }

    .pf-intro-card .pf-overview-grid--rules .pf-rule-card:nth-child(-n + 2),
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:nth-child(-n + 2) {
        border-top: 1px solid var(--pf-border);
    }

    .pf-intro-card .pf-overview-grid--rules .pf-rule-card:first-child,
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:first-child {
        border-top: 0;
    }

    .pf-results-shell {
        border-radius: 12px;
    }

    .pf-report-layout--primary {
        gap: 18px;
    }

    .pf-report-layout--primary .pf-report-stack--main > .pf-chart-card,
    .pf-report-layout--primary .pf-report-stack--side > .pf-chart-card {
        padding-top: 18px;
    }

    .pf-report-layout--primary .pf-chart--curve,
    .pf-report-layout--primary .pf-chart--forecast {
        min-height: 280px;
        height: 280px;
    }

    .pf-report-layout--primary .pf-pressure-row {
        grid-template-columns: 1fr;
    }
}

/* Prop Tracker should read top-to-bottom: choose the challenge, then inspect the selected ruleset. */
.pf-intro-card .pf-workbench-grid {
    grid-template-columns: 1fr;
    gap: 22px;
}

.pf-intro-card .pf-selection-panel {
    padding-bottom: 22px;
    border-bottom: 1px solid var(--pf-border);
}

.pf-intro-card .pf-snapshot-panel {
    padding-left: 0;
    padding-top: 0;
    border-left: 0;
}

.pf-intro-card .pf-workbench-head {
    display: block;
}

.pf-intro-card .pf-workbench-eyebrow {
    display: block;
    margin-bottom: 10px;
}

.pf-intro-card .pf-workbench-badge {
    display: none;
}

.pf-intro-card .pf-section-copy {
    max-width: 72ch;
}

.pf-intro-card .pf-builder-grid--top {
    grid-template-columns: minmax(300px, 1fr) minmax(150px, auto);
    align-items: end;
}

.pf-intro-card .pf-snapshot-top {
    align-items: flex-start;
    margin-bottom: 16px;
    padding-bottom: 16px;
}

.pf-intro-card .pf-snapshot-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 18px;
}

.pf-intro-card .pf-selection-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
}

.pf-intro-card .pf-selection-metric {
    grid-template-columns: minmax(90px, auto) minmax(0, 1fr);
    padding: 0 18px 0 0;
}

.pf-intro-card .pf-selection-metric + .pf-selection-metric {
    padding-top: 0;
    padding-left: 18px;
    border-top: 0;
    border-left: 1px solid var(--pf-border);
}

.pf-intro-card .pf-overview-grid--rules {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pf-intro-card .pf-meta-strip--snapshot {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pf-intro-card .pf-overview-grid--rules .pf-rule-card:nth-child(-n + 3),
.pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:nth-child(-n + 4) {
    border-top: 0;
}

.pf-intro-card .pf-snapshot-actions {
    margin-top: 18px;
    padding-top: 16px;
}

@media (max-width: 1120px) {
    .pf-intro-card .pf-selection-row,
    .pf-intro-card .pf-overview-grid--rules,
    .pf-intro-card .pf-meta-strip--snapshot {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pf-intro-card .pf-overview-grid--rules .pf-rule-card:nth-child(-n + 3),
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:nth-child(-n + 4) {
        border-top: 1px solid var(--pf-border);
    }

    .pf-intro-card .pf-overview-grid--rules .pf-rule-card:nth-child(-n + 2),
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:nth-child(-n + 2) {
        border-top: 0;
    }
}

@media (max-width: 767px) {
    .pf-intro-card .pf-workbench-head,
    .pf-intro-card .pf-builder-grid--top,
    .pf-intro-card .pf-selection-row,
    .pf-intro-card .pf-overview-grid--rules,
    .pf-intro-card .pf-meta-strip--snapshot {
        grid-template-columns: 1fr;
    }

    .pf-intro-card .pf-workbench-head {
        display: block;
    }

    .pf-intro-card .pf-workbench-eyebrow {
        display: block;
    }

    .pf-intro-card .pf-selection-metric,
    .pf-intro-card .pf-selection-metric + .pf-selection-metric {
        padding: 0;
        border-left: 0;
    }

    .pf-intro-card .pf-selection-metric + .pf-selection-metric {
        padding-top: 10px;
        border-top: 1px solid var(--pf-border);
    }

    .pf-intro-card .pf-overview-grid--rules .pf-rule-card:nth-child(-n + 3),
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:nth-child(-n + 4),
    .pf-intro-card .pf-overview-grid--rules .pf-rule-card:nth-child(-n + 2),
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:nth-child(-n + 2) {
        border-top: 1px solid var(--pf-border);
    }

    .pf-intro-card .pf-overview-grid--rules .pf-rule-card:first-child,
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:first-child {
        border-top: 0;
    }
}

/* Compact control/readout pass for the vertical Prop Tracker setup. */
.pf-intro-card.app-page-command-content {
    padding-top: 26px !important;
    padding-bottom: 26px !important;
}

.pf-intro-card .pf-workbench-grid {
    gap: 16px;
}

.pf-intro-card .pf-selection-panel {
    grid-template-columns: max-content max-content minmax(320px, 1fr);
    align-items: start;
    column-gap: 26px;
    row-gap: 14px;
    padding-bottom: 18px;
}

.pf-intro-card .pf-selection-panel > .pf-workbench-head,
.pf-intro-card .pf-selection-panel > .pf-builder-grid--top {
    grid-column: 1 / -1;
}

.pf-intro-card .pf-selection-panel > .pf-workbench-head {
    grid-row: 1;
}

.pf-intro-card .pf-selection-panel > .pf-builder-grid--top {
    grid-row: 2;
}

.pf-intro-card .pf-selection-panel > .pf-builder-row--program {
    grid-column: 1;
    grid-row: 3;
}

.pf-intro-card .pf-selection-panel > .pf-builder-row--phase {
    grid-column: 2;
    grid-row: 3;
}

.pf-intro-card .pf-selection-panel > .pf-builder-row--currency {
    grid-column: 3;
    grid-row: 3;
}

.pf-intro-card .pf-selection-panel > .pf-builder-row--sizes {
    grid-column: 1 / -1;
    grid-row: 4;
}

.pf-intro-card .pf-selection-panel > .pf-linked-account {
    grid-column: 1 / -1;
    grid-row: 5;
}

.pf-intro-card .pf-workbench-eyebrow {
    margin-bottom: 6px;
}

.pf-intro-card .pf-section-title {
    font-size: 22px;
    line-height: 1.08;
}

.pf-intro-card .pf-section-copy {
    max-width: 92ch;
    margin-top: 7px;
    font-size: 14px;
    line-height: 1.5;
}

.pf-intro-card .pf-field label,
.pf-intro-card .pf-choice-label,
.pf-intro-card .pf-summary-label,
.pf-intro-card .pf-section-kicker,
.pf-intro-card .pf-rule-label,
.pf-intro-card .pf-meta-pill-label,
.pf-intro-card .pf-selection-label {
    font-size: 11px;
}

.pf-intro-card .pf-builder-grid--top {
    grid-template-columns: minmax(300px, 1fr) minmax(132px, auto);
    gap: 16px;
}

.pf-intro-card .pf-field select,
.pf-intro-card .pf-firm-select-trigger {
    height: 46px;
}

.pf-intro-card .pf-select-logo,
.pf-intro-card .pf-firm-option-logo {
    width: 26px;
    height: 26px;
    border-radius: 4px;
}

.pf-intro-card .pf-select-logo--firm,
.pf-intro-card .pf-firm-option-logo {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    border-radius: 4px;
    border-color: transparent;
    background: transparent;
}

.pf-intro-card .pf-select-logo--firm,
.pf-intro-card .pf-firm-select-menu .pf-firm-option-logo {
    border: 1px solid rgba(255, 255, 255, 0.09);
    background: #141817;
}

.pf-intro-card .pf-select-logo--firm.pf-firm-badge--ftmo,
.pf-intro-card .pf-firm-select-menu .pf-firm-option-logo.pf-firm-badge--ftmo {
    background: #0d0f10;
    border-color: rgba(255, 255, 255, 0.1);
}

.pf-intro-card .pf-select-logo--firm.pf-firm-badge--fundednext,
.pf-intro-card .pf-firm-select-menu .pf-firm-option-logo.pf-firm-badge--fundednext {
    background: #f5f6ff;
    border-color: rgba(100, 91, 254, 0.26);
}

.pf-intro-card .pf-select-logo--firm.pf-firm-badge--the5ers,
.pf-intro-card .pf-firm-select-menu .pf-firm-option-logo.pf-firm-badge--the5ers {
    background: #fff0e9;
    border-color: rgba(255, 99, 76, 0.28);
}

.pf-intro-card .pf-select-logo--firm.pf-firm-badge--topstep,
.pf-intro-card .pf-firm-select-menu .pf-firm-option-logo.pf-firm-badge--topstep {
    background: #086a82;
    border-color: rgba(110, 220, 238, 0.22);
}

.pf-intro-card .pf-select-logo--firm.pf-firm-badge--fxify,
.pf-intro-card .pf-firm-select-menu .pf-firm-option-logo.pf-firm-badge--fxify {
    background: #071311;
    border-color: rgba(27, 170, 145, 0.26);
}

.pf-intro-card .pf-select-logo--firm.pf-firm-badge--e8,
.pf-intro-card .pf-firm-select-menu .pf-firm-option-logo.pf-firm-badge--e8 {
    background: #050505;
    border-color: rgba(255, 255, 255, 0.12);
}

.pf-intro-card .pf-select-shell--firm select,
.pf-intro-card .pf-select-shell--currency select,
.pf-intro-card .pf-firm-select-trigger {
    padding-left: 48px;
}

.pf-intro-card .pf-region-item,
.pf-intro-card .pf-program-item,
.pf-intro-card .pf-phase-item {
    min-height: 36px;
    padding: 8px 12px;
}

.pf-intro-card .pf-region-name,
.pf-intro-card .pf-program-name,
.pf-intro-card .pf-phase-name,
.pf-intro-card .pf-firm-select-name {
    font-size: 14px;
}

.pf-intro-card .pf-size-list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.pf-intro-card .pf-size-chip {
    min-height: 46px;
    padding: 10px 12px;
}

.pf-intro-card .pf-size-chip-value {
    font-size: 13px;
}

.pf-intro-card .pf-size-chip-meta {
    margin-top: 2px;
    font-size: 12px;
}

.pf-intro-card .pf-select-shell--currency {
    max-width: none;
}

.pf-intro-card .pf-snapshot-top {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px 14px;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: none;
}

.pf-intro-card .pf-spotlight-top {
    display: contents;
}

.pf-intro-card .pf-firm-badge {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
}

.pf-intro-card .pf-firm-logo-img {
    width: 25px;
    height: 25px;
}

.pf-intro-card .pf-select-logo .pf-firm-logo-img,
.pf-intro-card .pf-firm-option-logo .pf-firm-logo-img {
    width: 18px;
    height: 18px;
    max-width: 18px;
    max-height: 18px;
    object-fit: contain;
}

.pf-intro-card .pf-select-logo .pf-firm-logo-img--fundednext,
.pf-intro-card .pf-firm-option-logo .pf-firm-logo-img--fundednext,
.pf-intro-card .pf-select-logo .pf-firm-logo-img--fxify,
.pf-intro-card .pf-firm-option-logo .pf-firm-logo-img--fxify {
    width: 17px;
    height: 17px;
}

.pf-intro-card .pf-section-title.compact {
    font-size: 20px;
}

.pf-intro-card .pf-section-copy.compact {
    margin-top: 5px;
    font-size: 13px;
    line-height: 1.45;
}

.pf-intro-card .pf-snapshot-top .pf-affiliate-link {
    min-height: 40px;
    padding-inline: 14px;
}

.pf-intro-card .pf-snapshot-summary {
    display: grid;
    gap: 0;
    margin-bottom: 0;
    padding: 16px 0 0;
    border: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.065) !important;
    border-bottom: 0 !important;
    border-radius: 0;
    background: transparent;
}

.pf-intro-card .pf-today-guard {
    width: 100%;
    justify-self: stretch;
}

.pf-intro-card .pf-snapshot-overview-grid {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
}

.pf-intro-card .pf-snapshot-overview-card {
    display: grid;
    align-content: start;
    gap: 8px;
    min-width: 0;
    padding: 0 24px;
}

.pf-intro-card .pf-snapshot-overview-card:first-child {
    padding-left: 0;
}

.pf-intro-card .pf-snapshot-overview-card:last-child {
    padding-right: 0;
}

.pf-intro-card .pf-snapshot-overview-card:not(:last-child) {
    border-right: 1px solid var(--app-border-muted);
}

.pf-intro-card .pf-snapshot-overview-value {
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: break-word;
}

.pf-intro-card .pf-snapshot-selection-line {
    display: grid;
    width: 100%;
    grid-template-columns: 128px minmax(0, 1fr);
    align-items: baseline;
    gap: 22px;
    margin-top: 16px;
    padding: 14px 0;
    border-top: 1px solid var(--app-border-muted);
    border-bottom: 1px solid var(--app-border-muted);
}

.pf-intro-card .pf-snapshot-selection-line strong {
    min-width: 0;
    color: var(--text-primary);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.pf-intro-card .pf-selection-row {
    grid-template-columns: minmax(260px, 0.36fr) minmax(420px, 1fr);
    gap: 20px;
}

.pf-intro-card .pf-selection-metric + .pf-selection-metric {
    padding-left: 0;
    border-left: 0;
}

.pf-intro-card .pf-selection-note {
    margin-top: 2px;
    padding-top: 0;
    font-size: 12px;
    line-height: 1.45;
}

.pf-intro-card .pf-snapshot-section + .pf-snapshot-section {
    margin-top: 0;
}

.pf-intro-card .pf-snapshot-section {
    display: block;
    padding: 0;
    border-top: 0;
}

.pf-intro-card .pf-snapshot-section + .pf-snapshot-section {
    margin-top: 0;
}

.pf-intro-card .pf-snapshot-section--details {
    padding-top: 0;
}

.pf-intro-card .pf-snapshot-detail-grid {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0;
    border-bottom: 0;
}

.pf-intro-card .pf-snapshot-detail-grid .pf-rule-card,
.pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill {
    display: grid;
    align-content: start;
    gap: 7px;
    min-height: 82px;
    padding: 18px 18px 16px;
    overflow: visible;
    border: 0 !important;
    border-right: 1px solid var(--app-border-muted) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: none;
}

.pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:first-child,
.pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:first-child {
    padding-left: 0;
}

.pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:nth-child(7n),
.pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:nth-child(7n) {
    padding-right: 0;
    border-right: 0 !important;
}

.pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:nth-child(n + 5),
.pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:nth-child(n + 5) {
    border-top: 0 !important;
}

.pf-intro-card .pf-summary-label {
    margin: 0 0 10px;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: 0.09em;
}

.pf-intro-card .pf-overview-grid--rules {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pf-intro-card .pf-meta-strip--snapshot {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pf-intro-card .pf-overview-grid--rules,
.pf-intro-card .pf-meta-strip--snapshot {
    border-top: 0;
    gap: 0;
}

.pf-intro-card .pf-overview-grid--rules .pf-rule-card,
.pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill {
    min-height: 0;
    padding: 0 18px;
    border-top: 0 !important;
    border-right: 1px solid var(--app-border-muted);
}

.pf-intro-card .pf-overview-grid--rules .pf-rule-card:first-child,
.pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:first-child {
    padding-left: 0;
}

.pf-intro-card .pf-overview-grid--rules .pf-rule-card:last-child,
.pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:last-child {
    padding-right: 0;
    border-right: 0;
}

.pf-intro-card .pf-rule-value,
.pf-intro-card .pf-meta-pill-value {
    margin-top: 4px;
    font-size: 13px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.pf-intro-card .pf-snapshot-actions {
    margin-top: 2px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.065);
}

.pf-intro-card .pf-snapshot-actions .pf-run-btn {
    min-height: 40px;
}

html.light body.pf-page .pf-intro-card,
html.light body.pf-page .pf-empty-state,
html.light body.pf-page .pf-results-shell {
    border-color: var(--pf-border);
    background: var(--pf-surface);
    color: var(--text-primary);
    box-shadow: none;
}

html.light body.pf-page .pf-results-shell {
    background: #ffffff;
}

html.light body.pf-page .pf-report-section + .pf-report-section,
html.light body.pf-page .pf-report-stack--side,
html.light body.pf-page .pf-report-stack .pf-report-block + .pf-report-block,
html.light body.pf-page .pf-results-grid > .pf-report-block:nth-child(2),
html.light body.pf-page .pf-charts-grid > .pf-report-block:nth-child(2),
html.light body.pf-page .pf-report-layout--primary .pf-report-stack--main > .pf-chart-card:not(.pf-forecast-card),
html.light body.pf-page .pf-report-layout--primary .pf-forecast-card,
html.light body.pf-page #pfForecastBlock.pf-forecast-card,
html.light body.pf-page .pf-report-layout--primary .pf-report-stack--main > .pf-chart-card:not(.pf-forecast-card) > .pf-card-head,
html.light body.pf-page .pf-report-layout--primary .pf-forecast-card > .pf-card-head,
html.light body.pf-page .pf-report-layout--primary .pf-report-stack--main > .pf-chart-card:not(.pf-forecast-card) > .pf-curve-meta,
html.light body.pf-page .pf-report-layout--primary .pf-forecast-card > .pf-forecast-strip,
html.light body.pf-page .pf-card-head,
html.light body.pf-page .pf-stat-grid,
html.light body.pf-page .pf-monte-strip,
html.light body.pf-page .pf-forecast-strip,
html.light body.pf-page .pf-curve-meta,
html.light body.pf-page .pf-review-summary,
html.light body.pf-page .pf-pressure-list,
html.light body.pf-page .pf-ai-coach-card,
html.light body.pf-page .pf-insight,
html.light body.pf-page .pf-action-item,
html.light body.pf-page .pf-fit-item,
html.light body.pf-page .pf-replay-row,
html.light body.pf-page .pf-scenario-row,
html.light body.pf-page .pf-stress-row,
html.light body.pf-page .pf-intro-card .pf-snapshot-selection-line,
html.light body.pf-page .pf-intro-card .pf-snapshot-summary,
html.light body.pf-page .pf-intro-card .pf-snapshot-actions {
    border-color: var(--pf-border);
}

html.light body.pf-page .pf-report-block,
html.light body.pf-page .pf-ai-coach-shell,
html.light body.pf-page .pf-action-list,
html.light body.pf-page .pf-replay-table,
html.light body.pf-page .pf-fit-list,
html.light body.pf-page .pf-scenario-list,
html.light body.pf-page .pf-stress-list {
    background: transparent;
    box-shadow: none;
}

html.light body.pf-page .pf-shell-title,
html.light body.pf-page .pf-section-title,
html.light body.pf-page .pf-card-title,
html.light body.pf-page .pf-region-name,
html.light body.pf-page .pf-program-name,
html.light body.pf-page .pf-phase-name,
html.light body.pf-page .pf-firm-select-name,
html.light body.pf-page .pf-rule-value,
html.light body.pf-page .pf-fact-value,
html.light body.pf-page .pf-stat-value,
html.light body.pf-page .pf-stat-value.neutral,
html.light body.pf-page .pf-check-title,
html.light body.pf-page .pf-violation-title,
html.light body.pf-page .pf-check-value,
html.light body.pf-page .pf-violation-value,
html.light body.pf-page .pf-curve-meta-value,
html.light body.pf-page .pf-pressure-row-label,
html.light body.pf-page .pf-pressure-row-value,
html.light body.pf-page .pf-scenario-title,
html.light body.pf-page .pf-scenario-value,
html.light body.pf-page .pf-stress-title,
html.light body.pf-page .pf-stress-value,
html.light body.pf-page .pf-replay-date-main,
html.light body.pf-page .pf-replay-value,
html.light body.pf-page .pf-fit-title,
html.light body.pf-page .pf-fit-score,
html.light body.pf-page .pf-action-item-title,
html.light body.pf-page .pf-insight {
    color: var(--text-primary);
}

html.light body.pf-page .pf-section-copy,
html.light body.pf-page .pf-verdict-card p,
html.light body.pf-page .pf-stat-sub,
html.light body.pf-page .pf-check-detail,
html.light body.pf-page .pf-violation-detail,
html.light body.pf-page .pf-curve-status,
html.light body.pf-page .pf-forecast-legend,
html.light body.pf-page .pf-pressure-row-meta,
html.light body.pf-page .pf-scenario-meta,
html.light body.pf-page .pf-stress-meta,
html.light body.pf-page .pf-replay-note,
html.light body.pf-page .pf-replay-date-sub,
html.light body.pf-page .pf-replay-status-sub,
html.light body.pf-page .pf-fit-phase,
html.light body.pf-page .pf-fit-summary,
html.light body.pf-page .pf-fit-note,
html.light body.pf-page .pf-action-item-copy,
html.light body.pf-page .pf-ai-coach-copy p,
html.light body.pf-page .pf-source-note {
    color: var(--pf-text-support);
}

html.light body.pf-page .pf-section-kicker,
html.light body.pf-page .pf-field label,
html.light body.pf-page .pf-choice-label,
html.light body.pf-page .pf-selection-label,
html.light body.pf-page .pf-summary-label,
html.light body.pf-page .pf-rule-label,
html.light body.pf-page .pf-fact-label,
html.light body.pf-page .pf-stat-label,
html.light body.pf-page .pf-curve-meta-label,
html.light body.pf-page .pf-review-stat-label,
html.light body.pf-page .pf-fit-score-label {
    color: var(--text-secondary);
}

html.light body.pf-page .pf-firm-select-trigger,
html.light body.pf-page .pf-field select,
html.light body.pf-page .pf-size-chip,
html.light body.pf-page .pf-region-item,
html.light body.pf-page .pf-program-item,
html.light body.pf-page .pf-phase-item,
html.light body.pf-page .pf-rule-card,
html.light body.pf-page .pf-fact,
html.light body.pf-page .pf-stat-card,
html.light body.pf-page .pf-monte-card,
html.light body.pf-page .pf-review-stat,
html.light body.pf-page .pf-check-list,
html.light body.pf-page .pf-violation-list,
html.light body.pf-page .pf-fit-logo,
html.light body.pf-page .pf-action-step,
html.light body.pf-page .pf-fit-chip {
    border-color: var(--pf-border);
    background: var(--pf-card);
    color: var(--text-primary);
}

html.light body.pf-page .pf-affiliate-link.app-action-btn {
    border-color: rgba(15, 118, 110, 0.38);
    background: rgba(15, 118, 110, 0.08);
    color: #0f766e;
    box-shadow: inset 0 0 0 1px rgba(15, 118, 110, 0.04);
}

html.light body.pf-page .pf-affiliate-link.app-action-btn:hover {
    border-color: rgba(15, 118, 110, 0.52);
    background: rgba(15, 118, 110, 0.13);
    color: #0b766e;
}

html.light body.pf-page .pf-fit-logo.pf-firm-badge--ftmo {
    border-color: rgba(15, 23, 42, 0.16);
    background: #0d0f10;
}

html.light body.pf-page .pf-fit-logo.pf-firm-badge--fundednext {
    border-color: rgba(100, 91, 254, 0.26);
    background: #f5f6ff;
}

html.light body.pf-page .pf-fit-logo.pf-firm-badge--the5ers {
    border-color: rgba(15, 23, 42, 0.14);
    background: #ffffff;
}

html.light body.pf-page .pf-fit-logo.pf-firm-badge--topstep {
    border-color: rgba(15, 23, 42, 0.16);
    background: #075a70;
}

html.light body.pf-page .pf-fit-logo.pf-firm-badge--fxify {
    border-color: rgba(15, 118, 110, 0.24);
    background: #071311;
}

html.light body.pf-page .pf-fit-logo.pf-firm-badge--e8,
html.light body.pf-page .pf-fit-logo.pf-firm-badge--e8-markets {
    border-color: rgba(15, 23, 42, 0.14);
    background: #050505;
}

html.light body.pf-page .pf-firm-select-menu {
    border-color: var(--pf-border-strong);
    background: #ffffff;
    box-shadow: 0 20px 44px rgba(15, 23, 42, 0.14);
}

html.light body.pf-page .pf-firm-option {
    color: var(--text-secondary);
}

html.light body.pf-page .pf-firm-option:hover,
html.light body.pf-page .pf-firm-option:focus-visible,
html.light body.pf-page .pf-size-chip:hover,
html.light body.pf-page .pf-region-item:hover,
html.light body.pf-page .pf-program-item:hover,
html.light body.pf-page .pf-phase-item:hover {
    border-color: var(--pf-border-hover);
    background: var(--pf-card-hover);
}

html.light body.pf-page .pf-firm-option.is-selected,
html.light body.pf-page .pf-size-chip.active,
html.light body.pf-page .pf-region-item.active,
html.light body.pf-page .pf-program-item.active,
html.light body.pf-page .pf-phase-item.active {
    border-color: rgba(15, 118, 110, 0.34);
    background: rgba(77, 171, 154, 0.10);
    color: #0f766e;
}

html.light body.pf-page .pf-select-logo:not(.pf-select-logo--firm) {
    border-color: var(--pf-border);
    background: #f8fafc;
    color: var(--text-secondary);
}

html.light body.pf-page .pf-field select option {
    background: #ffffff;
    color: var(--text-primary);
}

html.light body.pf-page .pf-overview-grid--rules .pf-rule-card,
html.light body.pf-page .pf-meta-strip--snapshot .pf-meta-pill,
html.light body.pf-page .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card,
html.light body.pf-page .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill {
    border-color: var(--pf-border) !important;
    background: transparent !important;
}

html.light body.pf-page .pf-stat-card,
html.light body.pf-page .pf-monte-strip .pf-monte-card,
html.light body.pf-page .pf-review-stat,
html.light body.pf-page .pf-curve-meta-item,
html.light body.pf-page .pf-pressure-row {
    border-color: var(--pf-border);
    background: transparent;
}

html.light body.pf-page .pf-stat-value.positive,
html.light body.pf-page .pf-stat-grid .pf-stat-value.positive,
html.light body.pf-page .pf-curve-meta-value.positive,
html.light body.pf-page .pf-replay-value.positive,
html.light body.pf-page .pf-scenario-row.pass .pf-scenario-value,
html.light body.pf-page .pf-stress-row.pass .pf-stress-value {
    color: var(--green);
}

html.light body.pf-page .pf-stat-value.negative,
html.light body.pf-page .pf-stat-grid .pf-stat-value.negative,
html.light body.pf-page .pf-curve-meta-value.negative,
html.light body.pf-page .pf-replay-value.negative,
html.light body.pf-page .pf-scenario-row.fail .pf-scenario-value,
html.light body.pf-page .pf-stress-row.fail .pf-stress-value {
    color: var(--red);
}

html.light body.pf-page .pf-stat-value.warning,
html.light body.pf-page .pf-stat-grid .pf-stat-value.warning,
html.light body.pf-page .pf-curve-meta-value.warning,
html.light body.pf-page .pf-curve-status.tracking {
    color: var(--warn);
}

html.light body.pf-page .pf-verdict-pill.pass,
html.light body.pf-page .pf-check-icon.pass,
html.light body.pf-page .pf-violation-icon.pass {
    color: #15803d;
    background: rgba(34, 197, 94, 0.10);
    border-color: rgba(34, 197, 94, 0.24);
}

html.light body.pf-page .pf-verdict-pill.fail,
html.light body.pf-page .pf-check-icon.fail,
html.light body.pf-page .pf-violation-icon.fail {
    color: #dc2626;
    background: rgba(239, 68, 68, 0.10);
    border-color: rgba(239, 68, 68, 0.24);
}

html.light body.pf-page .pf-verdict-pill.tracking,
html.light body.pf-page .pf-check-icon.tracking,
html.light body.pf-page .pf-violation-icon.warning {
    color: #b45309;
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.26);
}

html.light body.pf-page .pf-verdict-pill.clean {
    border-color: var(--pf-border);
    background: #f8fafc;
    color: var(--text-secondary);
}

html.light body.pf-page .pf-chart-fallback {
    border-color: rgba(15, 23, 42, 0.16);
    color: var(--text-secondary);
}

html.light body.pf-page .pf-chart-tooltip {
    border-color: var(--pf-border-strong);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.14);
}

html.light body.pf-page .pf-chart-tooltip-date,
html.light body.pf-page .pf-chart-tooltip-row strong {
    color: var(--text-primary);
}

html.light body.pf-page .pf-chart-tooltip-row {
    color: var(--text-secondary);
}

html.light body.pf-page .pf-replay-row.pf-replay-head {
    background: rgba(255, 255, 255, 0.94);
    color: var(--text-secondary);
}

html.light body.pf-page .pf-replay-value {
    border-top-color: var(--pf-border);
}

html.light body.pf-page .pf-forecast-legend i {
    box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.18);
}

html.light body.pf-page .pf-forecast-dot--top {
    --legend-color: rgba(20, 184, 166, 0.38);
}

html.light body.pf-page .pf-forecast-dot--upper {
    --legend-color: rgba(13, 148, 136, 0.58);
}

html.light body.pf-page .pf-forecast-dot--typical {
    --legend-color: #0b766e;
}

html.light body.pf-page .pf-forecast-dot--lower {
    --legend-color: rgba(180, 83, 9, 0.60);
}

html.light body.pf-page .pf-forecast-dot--bottom {
    --legend-color: rgba(220, 38, 38, 0.52);
}

html.light body.pf-page .pf-ai-coach-eyebrow {
    color: #5b42b7;
}

html.light body.pf-page .pf-ai-coach-mark {
    border-color: rgba(91, 66, 183, 0.22);
    background: rgba(124, 58, 237, 0.08);
    color: #6d55c7;
}

html.light body.pf-page .pf-ai-coach-btn {
    border-color: rgba(91, 66, 183, 0.22);
    background: rgba(124, 58, 237, 0.08);
    color: #5b42b7;
}

html.light body.pf-page .pf-fit-selected-pill {
    border-color: rgba(15, 118, 110, 0.24);
    background: rgba(77, 171, 154, 0.10);
    color: #0f766e;
}

html.light body.pf-page .pf-fit-cta {
    border-color: rgba(15, 118, 110, 0.44);
    background: rgba(15, 118, 110, 0.13);
    color: #0b766e;
}

html.light body.pf-page .pf-fit-cta:hover {
    border-color: rgba(15, 118, 110, 0.58);
    background: rgba(15, 118, 110, 0.18);
    color: #075f59;
}

html.light body.pf-page .pf-violation-list.clean {
    border-color: rgba(34, 197, 94, 0.22);
    background: rgba(34, 197, 94, 0.06);
}

html.light body.pf-page .pf-action-step {
    color: var(--text-secondary);
}

@media (max-width: 1280px) {
    .pf-intro-card .pf-size-list {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }

    .pf-intro-card .pf-selection-panel {
        grid-template-columns: 1fr;
        padding-bottom: 12px;
        border-bottom: 0 !important;
    }

    .pf-intro-card .pf-snapshot-panel {
        padding-top: 0;
        border-top: 0 !important;
    }

    .pf-intro-card .pf-selection-panel > .pf-builder-row--program,
    .pf-intro-card .pf-selection-panel > .pf-builder-row--phase,
    .pf-intro-card .pf-selection-panel > .pf-builder-row--currency,
    .pf-intro-card .pf-selection-panel > .pf-builder-row--sizes,
    .pf-intro-card .pf-selection-panel > .pf-linked-account {
        grid-column: 1 / -1;
    }

    .pf-intro-card .pf-selection-panel > .pf-builder-row--program {
        grid-row: 3;
    }

    .pf-intro-card .pf-selection-panel > .pf-builder-row--phase {
        grid-row: 4;
    }

    .pf-intro-card .pf-selection-panel > .pf-builder-row--sizes {
        grid-row: 5;
    }

    .pf-intro-card .pf-selection-panel > .pf-builder-row--currency {
        grid-row: 6;
    }

    .pf-intro-card .pf-selection-panel > .pf-linked-account {
        grid-row: 7;
    }

    .pf-intro-card .pf-select-shell--currency {
        max-width: none;
    }

    .pf-intro-card .pf-overview-grid--rules,
    .pf-intro-card .pf-meta-strip--snapshot {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 16px;
    }

    .pf-intro-card .pf-overview-grid--rules .pf-rule-card:nth-child(2n),
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:nth-child(2n) {
        padding-right: 0;
        border-right: 0;
    }

    .pf-intro-card .pf-overview-grid--rules .pf-rule-card:nth-child(2n + 1),
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:nth-child(2n + 1) {
        padding-left: 0;
    }

    .pf-intro-card .pf-overview-grid--rules .pf-rule-card:nth-child(3n),
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:nth-child(4n) {
        border-right: 0;
    }

    .pf-intro-card .pf-snapshot-detail-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card,
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill,
    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:nth-child(7n),
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:nth-child(7n) {
        padding-right: 18px;
        border-right: 1px solid var(--app-border-muted) !important;
    }

    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:nth-child(4n),
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:nth-child(4n) {
        padding-right: 0;
        border-right: 0 !important;
    }

    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:nth-child(5),
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:nth-child(5) {
        padding-left: 0;
    }

    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:nth-child(n + 5),
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:nth-child(n + 5) {
        border-top: 1px solid var(--app-border-muted) !important;
    }
}

@media (max-width: 960px) {
    .pf-intro-card .pf-snapshot-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card,
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill,
    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:nth-child(4n),
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:nth-child(4n),
    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:nth-child(7n),
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:nth-child(7n) {
        padding-right: 18px;
        border-right: 1px solid var(--app-border-muted) !important;
    }

    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:nth-child(2n),
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:nth-child(2n) {
        padding-right: 0;
        border-right: 0 !important;
    }

    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:nth-child(n + 3),
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:nth-child(n + 3) {
        border-top: 1px solid var(--app-border-muted) !important;
    }
}

@media (max-width: 767px) {
    body.pf-page .pf-page-header.app-page-header--workspace {
        align-items: stretch;
        flex-direction: column;
        gap: 9px;
        width: 100%;
        overflow: hidden;
        padding: 4px 0 13px;
    }

    body.pf-page.has-sidebar .pf-page-header.app-page-header--workspace .app-page-title-group {
        box-sizing: border-box;
        width: 100%;
        max-width: none;
        min-width: 0;
        min-height: 46px;
        justify-content: center;
        gap: 7px;
        padding-left: 54px;
        margin-bottom: 10px;
    }

    body.pf-page.has-sidebar .pf-page-header.app-page-header--workspace .app-page-title {
        margin-left: 0;
        font-size: clamp(23px, 6.5vw, 28px);
        line-height: 0.98;
        letter-spacing: -0.055em;
    }

    body.pf-page .pf-page-header.app-page-header--workspace .pf-page-toolbar.app-toolbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 52px;
        align-items: stretch;
        width: 100%;
        gap: 8px;
        margin: 0;
        padding-bottom: 0;
    }

    body.pf-page .pf-page-header.app-page-header--workspace .pf-page-toolbar .app-action-btn {
        width: 100%;
        min-width: 0;
        min-height: 44px;
        justify-content: center;
        padding-inline: 10px;
        border-radius: 10px;
        font-size: 13px;
    }

    body.pf-page .pf-page-header.app-page-header--workspace .pf-page-toolbar .app-action-btn:not(.creator-mode-toggle) {
        grid-column: 1;
    }

    body.pf-page .pf-page-header.app-page-header--workspace .pf-page-toolbar .creator-mode-toggle {
        grid-column: 2;
        width: 52px;
        min-width: 52px;
        max-width: 52px;
        min-height: 44px;
        justify-self: end;
        padding: 0;
    }

    .pf-intro-card.app-page-command-content {
        padding-top: 20px !important;
        padding-bottom: 18px !important;
    }

    .pf-intro-card .pf-section-title {
        font-size: 20px;
    }

    .pf-intro-card .pf-builder-grid--top {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .pf-intro-card .pf-choice-group--region-inline {
        width: 100%;
    }

    .pf-intro-card .pf-region-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .pf-intro-card .pf-region-item {
        width: 100%;
        justify-content: center;
    }

    .pf-intro-card .pf-selection-panel {
        padding-bottom: 8px;
        border-bottom: 0 !important;
    }

    .pf-intro-card .pf-snapshot-panel {
        margin-top: 8px;
        padding-top: 0;
        border-top: 0 !important;
    }

    .pf-intro-card .pf-snapshot-top,
    .pf-intro-card .pf-snapshot-section,
    .pf-intro-card .pf-snapshot-overview-grid,
    .pf-intro-card .pf-selection-row,
    .pf-intro-card .pf-overview-grid--rules,
    .pf-intro-card .pf-meta-strip--snapshot {
        grid-template-columns: 1fr;
    }

    .pf-intro-card .pf-snapshot-section {
        gap: 8px;
        padding: 10px 0;
    }

    .pf-intro-card .pf-snapshot-overview-card,
    .pf-intro-card .pf-snapshot-overview-card:nth-child(2n),
    .pf-intro-card .pf-snapshot-overview-card:nth-child(2n + 1),
    .pf-intro-card .pf-overview-grid--rules .pf-rule-card,
    .pf-intro-card .pf-overview-grid--rules .pf-rule-card:nth-child(2n),
    .pf-intro-card .pf-overview-grid--rules .pf-rule-card:nth-child(2n + 1),
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill,
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:nth-child(2n),
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:nth-child(2n + 1) {
        padding: 0;
        border-right: 0;
    }

    .pf-intro-card .pf-snapshot-overview-card + .pf-snapshot-overview-card,
    .pf-intro-card .pf-overview-grid--rules .pf-rule-card + .pf-rule-card,
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill + .pf-meta-pill {
        padding-top: 14px;
        border-top: 1px solid var(--app-border-muted) !important;
    }

    .pf-intro-card .pf-snapshot-detail-grid {
        grid-template-columns: 1fr;
    }

    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card,
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill,
    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:nth-child(4n),
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:nth-child(4n),
    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:nth-child(3n),
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:nth-child(3n),
    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:nth-child(2n),
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:nth-child(2n),
    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:nth-child(7n),
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:nth-child(7n) {
        min-height: 0;
        padding: 13px 0;
        border-right: 0;
    }

    .pf-intro-card .pf-snapshot-detail-grid .pf-rule-card:first-child,
    .pf-intro-card .pf-snapshot-detail-grid .pf-meta-pill:first-child {
        border-top: 0 !important;
    }

    .pf-intro-card .pf-snapshot-detail-grid.pf-snapshot-detail-grid .pf-rule-card,
    .pf-intro-card .pf-snapshot-detail-grid.pf-snapshot-detail-grid .pf-meta-pill {
        border-right: 0 !important;
    }

    .pf-intro-card .pf-snapshot-detail-grid.pf-snapshot-detail-grid .pf-rule-card:not(:first-child),
    .pf-intro-card .pf-snapshot-detail-grid.pf-snapshot-detail-grid .pf-meta-pill:not(:first-child) {
        border-top: 1px solid var(--app-border-muted) !important;
    }

    .pf-intro-card .pf-snapshot-selection-line {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .pf-intro-card .pf-snapshot-selection-line strong {
        font-size: 13px;
    }

    .pf-intro-card .pf-snapshot-top {
        gap: 12px;
        margin-bottom: 12px;
        padding-bottom: 12px;
        border-bottom: 0;
    }

    .pf-intro-card .pf-spotlight-top {
        display: flex;
        align-items: center;
        gap: 12px;
        min-width: 0;
    }

    .pf-intro-card .pf-firm-badge {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
    }

    .pf-intro-card .pf-firm-logo-img {
        width: 23px;
        height: 23px;
    }

    .pf-intro-card .pf-snapshot-copy {
        min-width: 0;
    }

    .pf-intro-card .pf-snapshot-top .pf-affiliate-link {
        width: 100%;
    }

    .pf-intro-card .pf-overview-grid--rules .pf-rule-card,
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill,
    .pf-intro-card .pf-overview-grid--rules .pf-rule-card:nth-child(3n),
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:nth-child(4n) {
        border-right: 0;
        border-top: 0 !important;
    }

    .pf-intro-card .pf-overview-grid--rules .pf-rule-card:first-child,
    .pf-intro-card .pf-meta-strip--snapshot .pf-meta-pill:first-child {
        border-top: 0 !important;
    }
}

@media (max-width: 900px) {
    .pf-report-layout--primary .pf-report-stack--main > .pf-chart-card:not(.pf-forecast-card),
    .pf-report-layout--primary .pf-forecast-card {
        display: grid;
        grid-template-columns: 1fr;
        padding-top: 18px;
    }

    .pf-report-layout--primary .pf-report-stack--main > .pf-chart-card:not(.pf-forecast-card) > .pf-card-head,
    .pf-report-layout--primary .pf-forecast-card > .pf-card-head,
    .pf-report-layout--primary .pf-report-stack--side > .pf-chart-card > .pf-card-head {
        align-items: flex-start;
        margin-bottom: 0;
        padding: 0 0 13px;
        text-align: left;
        border-bottom: 0;
    }

    .pf-report-layout--primary .pf-report-stack--main > .pf-chart-card:not(.pf-forecast-card) > .pf-card-head .pf-card-title,
    .pf-report-layout--primary .pf-forecast-card > .pf-card-head .pf-card-title {
        white-space: normal;
    }

    .pf-report-layout--primary .pf-report-stack--main > .pf-chart-card:not(.pf-forecast-card) > .pf-curve-meta,
    .pf-report-layout--primary .pf-forecast-card > .pf-forecast-strip {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 0 0 12px;
        border-top: 1px solid var(--pf-border);
        border-bottom: 1px solid var(--pf-border);
    }

    .pf-report-layout--primary .pf-forecast-card > .pf-forecast-strip {
        margin-top: 0;
    }

    .pf-curve-meta-item,
    .pf-curve-status,
    .pf-forecast-strip .pf-monte-card {
        min-height: 0;
        padding: 12px 0;
        border-right: 0;
        border-bottom: 0;
    }

    .pf-curve-meta-item:nth-child(odd),
    .pf-forecast-strip .pf-monte-card:nth-child(odd) {
        padding-right: 12px;
        border-right: 1px solid var(--pf-border);
    }

    .pf-curve-meta-item:nth-child(even),
    .pf-curve-status,
    .pf-forecast-strip .pf-monte-card:nth-child(even) {
        padding-left: 12px;
    }

    .pf-curve-meta-item:nth-child(n + 3),
    .pf-curve-status,
    .pf-forecast-strip .pf-monte-card:nth-child(n + 3) {
        border-top: 1px solid var(--pf-border);
    }

    .pf-curve-status {
        align-items: center;
        justify-content: flex-start;
        justify-self: stretch;
        width: 100%;
        white-space: normal;
    }

    .pf-forecast-strip .pf-stat-sub {
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }

    .pf-report-layout--primary .pf-chart--curve {
        min-height: 264px;
        height: 264px;
    }

    .pf-report-layout--primary .pf-chart--forecast {
        min-height: 250px;
        height: 250px;
    }

    .pf-report-layout--primary .pf-report-stack--side > .pf-chart-card {
        padding-top: 18px;
    }

    .pf-report-layout--primary .pf-monte-strip {
        grid-template-columns: 1fr;
        border-top: 1px solid var(--pf-border);
        border-bottom: 0;
    }

    .pf-monte-strip .pf-monte-card,
    .pf-monte-strip .pf-monte-card:first-child,
    .pf-monte-strip .pf-monte-card:last-child {
        padding: 12px 0;
        border-right: 0;
        border-bottom: 1px solid var(--pf-border);
    }

    .pf-pressure-list {
        grid-template-columns: 1fr;
        border-bottom: 0;
    }

    .pf-pressure-row,
    .pf-report-layout--primary .pf-pressure-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px 14px;
        padding: 14px 0;
        border-right: 0;
        border-bottom: 1px solid var(--pf-border);
    }

    .pf-pressure-row-value {
        max-width: none;
        text-align: right;
        white-space: nowrap;
    }

    .pf-replay-table {
        max-height: 650px;
        overflow-x: hidden;
    }

    .pf-replay-row,
    .pf-replay-row.pf-replay-head {
        grid-template-columns: 1fr;
    }

    .pf-replay-row.pf-replay-head {
        display: none;
    }

    .pf-replay-row {
        gap: 12px 14px;
        align-items: start;
        min-height: 0;
        padding: 16px 0;
        border: 0;
        border-bottom: 1px solid var(--pf-border);
        border-radius: 0;
        background: transparent;
    }

    .pf-replay-date,
    .pf-replay-status {
        grid-column: auto;
    }

    .pf-replay-row > [data-label]::before {
        content: attr(data-label);
        display: inline-flex;
        margin: 0;
        color: var(--text-muted);
        font-family: var(--font-ui, inherit);
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.1em;
        line-height: 1.2;
        text-transform: uppercase;
    }

    .pf-replay-date[data-label]::before {
        display: none;
    }

    .pf-replay-date {
        grid-column: 1 / 3;
        padding-bottom: 12px;
    }

    .pf-replay-value {
        display: grid;
        align-content: start;
        justify-content: start;
        gap: 5px;
        min-height: 0;
        padding: 11px 0 0;
        border-top: 1px solid var(--pf-border);
        text-align: left;
    }

    .pf-replay-value::before {
        display: block;
    }

    .pf-replay-status {
        grid-column: 3;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 8px;
        min-height: 0;
        padding: 2px 0 0;
        border-top: 0;
        text-align: right;
        flex-wrap: wrap;
    }

    .pf-replay-status::before {
        display: none !important;
    }

    .pf-replay-status-sub {
        flex-basis: 100%;
        margin-top: 0;
        text-align: left;
    }

    .pf-replay-status-sub:empty {
        display: none;
    }

    .pf-ai-coach-card {
        padding: 16px 0 18px;
    }

    .pf-ai-coach-shell {
        padding: 0;
        gap: 14px;
    }

    .pf-ai-coach-copy {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .pf-ai-coach-eyebrow {
        margin-bottom: 0;
    }

    .pf-ai-coach-copy .pf-card-title,
    .pf-ai-coach-copy p {
        grid-column: 1;
    }

    .pf-ai-coach-btn {
        min-height: 42px;
    }
}

/* Account workspace hierarchy: one outer shell, quiet grouping surfaces, and a
 * single horizontal rhythm. Kept at the end so legacy report styles cannot
 * reintroduce equal-weight nested cards. */
body.pf-page .pf-account-main {
    padding: 20px;
}

body.pf-page .pf-account-identity-bar {
    padding-bottom: 18px;
}

body.pf-page .pf-phase-journey,
body.pf-page .pf-account-progress-card,
body.pf-page .pf-account-risk-card,
body.pf-page .pf-account-activity {
    border-radius: var(--app-radius-card);
}

body.pf-page .pf-phase-journey,
body.pf-page .pf-account-progress-card,
body.pf-page .pf-account-risk-card {
    padding: 18px;
}

body.pf-page .pf-account-activity {
    padding: 16px 18px;
}

html.light body.pf-page .pf-account-workspace,
html[data-theme="light"] body.pf-page .pf-account-workspace {
    border-color: var(--app-border-soft);
    background: var(--app-surface-section-alt);
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.025);
}

html.light body.pf-page .pf-account-rail,
html[data-theme="light"] body.pf-page .pf-account-rail {
    border-color: var(--app-border-soft);
    background: var(--app-surface-section-alt);
}

html.light body.pf-page .pf-account-main,
html[data-theme="light"] body.pf-page .pf-account-main {
    background: var(--app-surface-section);
}

html.light body.pf-page .pf-account-rail-item:hover,
html[data-theme="light"] body.pf-page .pf-account-rail-item:hover {
    background: rgba(15, 23, 42, 0.035);
}

html.light body.pf-page .pf-account-rail-item.is-active,
html[data-theme="light"] body.pf-page .pf-account-rail-item.is-active {
    border-color: rgba(15, 118, 110, 0.44);
    background: rgba(15, 118, 110, 0.07);
}

html.light body.pf-page .pf-account-next-action,
html[data-theme="light"] body.pf-page .pf-account-next-action {
    border-color: rgba(15, 118, 110, 0.32);
    background: rgba(15, 118, 110, 0.045);
}

html.light body.pf-page .pf-phase-journey,
html[data-theme="light"] body.pf-page .pf-phase-journey {
    border-color: var(--app-border-muted);
    background: var(--app-surface-section-alt);
}

html.light body.pf-page .pf-phase-step,
html[data-theme="light"] body.pf-page .pf-phase-step {
    border-color: var(--app-border-muted);
    background: var(--app-surface-section);
}

html.light body.pf-page .pf-phase-step.is-active,
html[data-theme="light"] body.pf-page .pf-phase-step.is-active {
    border-color: rgba(15, 118, 110, 0.36);
    background: rgba(15, 118, 110, 0.06);
}

html.light body.pf-page .pf-account-progress-card,
html[data-theme="light"] body.pf-page .pf-account-progress-card,
html.light body.pf-page .pf-account-risk-card,
html[data-theme="light"] body.pf-page .pf-account-risk-card,
html.light body.pf-page .pf-account-activity,
html[data-theme="light"] body.pf-page .pf-account-activity {
    border-color: var(--app-border-soft);
    background: var(--app-surface-section);
}

html.light body.pf-page .pf-account-risk-grid,
html[data-theme="light"] body.pf-page .pf-account-risk-grid {
    border-color: var(--app-border-muted);
    background: var(--app-surface-section-alt);
}

html.light body.pf-page .pf-account-progress-bar,
html[data-theme="light"] body.pf-page .pf-account-progress-bar,
html.light body.pf-page .pf-account-risk-meter,
html[data-theme="light"] body.pf-page .pf-account-risk-meter {
    background: rgba(15, 23, 42, 0.10);
}

html.light body.pf-page .pf-account-snapshot-bar,
html[data-theme="light"] body.pf-page .pf-account-snapshot-bar {
    margin-top: 12px;
    padding: 15px 2px 0;
    border: 0;
    border-top: 1px solid var(--app-border-muted);
    border-radius: 0;
    background: transparent;
}

@media (max-width: 1280px) {
    body.pf-page .pf-account-main {
        padding: 18px;
    }
}

@media (max-width: 767px) {
    body.pf-page .pf-account-main {
        padding: 14px;
    }

    body.pf-page .pf-phase-journey,
    body.pf-page .pf-account-progress-card,
    body.pf-page .pf-account-risk-card,
    body.pf-page .pf-account-activity {
        padding: 14px;
    }
}

/* Prop account workspace polish: give account identity enough room, keep the
 * analytical canvas compact, and make the lower readout one coherent flow. */
@media (min-width: 1281px) {
    body.pf-page .pf-account-layout.has-account-rail {
        grid-template-columns: 252px minmax(0, 1fr);
    }
}

@media (min-width: 1041px) and (max-width: 1280px) {
    body.pf-page .pf-account-layout.has-account-rail {
        grid-template-columns: 220px minmax(0, 1fr);
    }
}

@media (min-width: 1041px) and (max-width: 1400px) {
    body.pf-page .pf-account-overview-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (min-width: 768px) {
    body.pf-page .pf-account-main {
        padding: 18px;
    }

    body.pf-page .pf-account-identity-bar {
        padding-bottom: 16px;
    }

    body.pf-page .pf-phase-journey,
    body.pf-page .pf-account-progress-card,
    body.pf-page .pf-account-risk-card {
        padding: 16px;
    }

    body.pf-page .pf-account-activity {
        padding: 14px 16px;
    }

    body.pf-page .pf-phase-journey-track {
        margin-top: 14px;
    }

    body.pf-page .pf-account-overview-grid {
        gap: 10px;
        margin-top: 10px;
    }

    body.pf-page .pf-account-activity,
    body.pf-page .pf-account-snapshot-bar {
        margin-top: 10px;
    }

    body.pf-page .pf-account-snapshot-bar {
        gap: 14px;
        padding: 12px 14px;
    }

    html.light body.pf-page .pf-account-snapshot-bar,
    html[data-theme="light"] body.pf-page .pf-account-snapshot-bar {
        margin-top: 10px;
        padding: 12px 2px 0;
    }
}

.pf-report-stack--readout {
    gap: 0;
}

.pf-report-stack--readout > .pf-report-block + .pf-report-block {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--pf-border);
}

.pf-report-stack--readout .pf-violation-list.clean {
    border: 0;
    border-top: 1px solid var(--pf-border);
    border-radius: 0;
    background: transparent;
}

.pf-report-stack--readout .pf-violation-list.clean .pf-violation-item {
    min-height: 48px;
    padding: 12px 0;
}

.pf-report-stack--readout .pf-violation-list.clean .pf-violation-icon {
    width: 20px;
    height: 20px;
    border-radius: 6px;
    font-size: 11px;
}

.pf-report-stack--readout .pf-violation-list.clean .pf-violation-left {
    align-items: center;
    gap: 10px;
}

.pf-report-stack--readout .pf-violation-value:empty {
    display: none;
}

.pf-report-stack--readout > .pf-ai-coach-card {
    padding: 18px 0 0;
    border-bottom: 0;
}

.pf-report-stack--readout .pf-ai-coach-shell {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
}

.pf-report-stack--readout .pf-ai-coach-eyebrow {
    color: var(--app-action-primary-color);
}

.pf-report-stack--readout .pf-ai-coach-mark {
    border-color: var(--app-action-primary-border);
    background: var(--accent-subtle);
    color: var(--app-action-primary-color);
}

.pf-report-stack--readout .pf-ai-coach-btn {
    width: auto;
    min-width: 148px;
    min-height: 42px;
}

:is(html.light, html[data-theme="light"]) body.pf-page .pf-report-stack--readout .pf-ai-coach-eyebrow {
    color: var(--app-action-primary-color);
}

:is(html.light, html[data-theme="light"]) body.pf-page .pf-report-stack--readout .pf-ai-coach-mark,
:is(html.light, html[data-theme="light"]) body.pf-page .pf-report-stack--readout .pf-ai-coach-btn {
    border-color: var(--app-action-primary-border);
    background: var(--accent-subtle);
    color: var(--app-action-primary-color);
}

@media (max-width: 767px) {
    .pf-report-stack--readout > .pf-report-block + .pf-report-block {
        margin-top: 16px;
        padding-top: 16px;
    }

    .pf-report-stack--readout .pf-ai-coach-shell {
        grid-template-columns: minmax(0, 1fr);
        align-items: stretch;
        gap: 12px;
    }

    .pf-report-stack--readout .pf-ai-coach-btn {
        width: 100%;
        min-height: 44px;
    }
}

/* The global app sidebar is still visible on tablet widths, so Prop Tracker's
 * usable canvas is much narrower than the viewport. Switch the page chrome to
 * the same two-row hierarchy before labels and account identity start clipping. */
@media (min-width: 768px) and (max-width: 1100px) {
    body.pf-page .pf-page-header.app-page-header--workspace {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }

    body.pf-page .pf-page-header.app-page-header--workspace .app-page-title-group {
        flex: 0 0 auto;
        width: 100%;
        max-width: none;
        min-width: 0;
    }

    body.pf-page .pf-page-header.app-page-header--workspace .app-page-title {
        white-space: nowrap;
    }

    body.pf-page .pf-page-header.app-page-header--workspace .pf-page-toolbar.app-toolbar {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 46px;
        align-items: stretch;
        width: 100%;
        gap: 8px;
        margin-left: 0;
    }

    body.pf-page .pf-page-header.app-page-header--workspace > .pf-mode-switch {
        width: 100%;
    }

    body.pf-page .pf-page-header.app-page-header--workspace .pf-mode-tab {
        flex: 1 1 0;
    }

    body.pf-page .pf-page-header.app-page-header--workspace #syncBtn {
        grid-column: 1;
        width: 100%;
        justify-content: center;
    }

    body.pf-page .pf-page-header.app-page-header--workspace .creator-mode-toggle {
        grid-column: 2;
        width: 100%;
        min-width: 46px;
        max-width: none;
        justify-self: stretch;
    }
}

/* Keep the desktop replay readable inside the two-column analysis layout.
 * The previous 220px status minimum forced a hidden horizontal pan at common
 * laptop widths even though the visible values themselves are compact. */
@media (min-width: 901px) and (max-width: 1600px) {
    body.pf-page .pf-replay-table {
        overflow-x: hidden;
    }

    body.pf-page .pf-replay-row {
        grid-template-columns:
            minmax(140px, 1.2fr)
            repeat(3, minmax(90px, 0.8fr))
            minmax(130px, 1.1fr);
        gap: 12px;
    }

    body.pf-page .pf-replay-status-sub {
        max-width: 22ch;
        overflow-wrap: anywhere;
    }
}

/* Keep My Account as a distinct workspace instead of visually welding its
 * rail/main canvas to the page header. */
body.pf-page .pf-account-workspace:not([hidden]) {
    margin-top: 16px;
}

/* Mobile results already have one 16px inset on the outer report section.
 * Nested report blocks were adding another 14px, producing a 30px gutter and
 * noticeably narrowing metrics, rule checks, and pressure cards. */
@media (max-width: 767px) {
    body.pf-page .pf-account-workspace:not([hidden]) {
        margin-top: 12px;
    }

    body.pf-page .pf-results-shell .pf-report-block {
        padding-right: 0;
        padding-left: 0;
    }

    /* These values include explanatory copy, so three equal mobile columns
     * become unreadably narrow. Present them as compact label/value rows while
     * keeping the three-column comparison on wider screens. */
    body.pf-page .pf-pressure-summary {
        grid-template-columns: 1fr !important;
    }

    body.pf-page .pf-pressure-summary .pf-monte-card,
    body.pf-page .pf-pressure-summary .pf-monte-card:first-child,
    body.pf-page .pf-pressure-summary .pf-monte-card:last-child {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 5px 16px;
        min-height: 0;
        padding: 13px 0;
        border-right: 0;
        border-bottom: 1px solid var(--pf-border);
    }

    body.pf-page .pf-pressure-summary .pf-stat-label {
        grid-column: 1;
        margin: 0;
    }

    body.pf-page .pf-pressure-summary .pf-stat-value {
        grid-column: 2;
        grid-row: 1;
        margin: 0;
        text-align: right;
        white-space: nowrap;
    }

    body.pf-page .pf-pressure-summary .pf-stat-sub {
        grid-column: 1 / -1;
        margin: 0;
        overflow-wrap: anywhere;
    }

}

/* Replay rows are ordered date, P/L, balance, drawdown, status in the DOM.
 * Auto-placement put P/L beside the date and pushed the status pill down.
 * Keep one explicit card map through the tablet breakpoint, then return to
 * the labelled desktop table. */
@media (max-width: 900px) {
    body.pf-page .pf-replay-row:not(.pf-replay-head) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        grid-template-areas:
            "date date status"
            "pnl balance drawdown"
            "detail detail detail";
        column-gap: 14px;
        row-gap: 0;
    }

    body.pf-page .pf-replay-row:not(.pf-replay-head) > .pf-replay-date {
        grid-area: date;
    }

    body.pf-page .pf-replay-row:not(.pf-replay-head) > [data-label]::before {
        content: attr(data-label);
        display: block;
        margin: 0;
        color: var(--text-muted);
        font-family: var(--font-ui, inherit);
        font-size: 10px;
        font-weight: 800;
        letter-spacing: 0.1em;
        line-height: 1.2;
        text-transform: uppercase;
    }

    body.pf-page .pf-replay-row:not(.pf-replay-head) > .pf-replay-date::before {
        display: none;
    }

    body.pf-page .pf-replay-row:not(.pf-replay-head) > .pf-replay-value {
        display: grid;
        align-content: start;
        justify-content: start;
        gap: 5px;
        min-width: 0;
        min-height: 0;
        padding: 11px 0 0;
        border-top: 1px solid var(--pf-border);
        text-align: left;
    }

    body.pf-page .pf-replay-row:not(.pf-replay-head) > .pf-replay-value:nth-child(2) {
        grid-area: pnl;
    }

    body.pf-page .pf-replay-row:not(.pf-replay-head) > .pf-replay-value:nth-child(3) {
        grid-area: balance;
    }

    body.pf-page .pf-replay-row:not(.pf-replay-head) > .pf-replay-value:nth-child(4) {
        grid-area: drawdown;
    }

    body.pf-page .pf-replay-row:not(.pf-replay-head) > .pf-replay-status {
        display: contents;
    }

    body.pf-page .pf-replay-row:not(.pf-replay-head) > .pf-replay-status::before {
        display: none !important;
    }

    body.pf-page .pf-replay-row:not(.pf-replay-head) > .pf-replay-status .pf-verdict-pill {
        grid-area: status;
        align-self: start;
        justify-self: end;
        margin-top: 2px;
    }

    body.pf-page .pf-replay-row:not(.pf-replay-head) > .pf-replay-status .pf-replay-status-sub {
        grid-area: detail;
        width: 100%;
        max-width: none;
        margin-top: 10px;
        text-align: left;
    }

    body.pf-page .pf-replay-row:not(.pf-replay-head) > .pf-replay-status .pf-replay-status-sub:empty {
        display: none;
    }
}

/* Light mode needs a darker semantic accent than the mint used on dark
 * surfaces. Keep fills subtle, but use the product's accessible teal for
 * status text, links, metrics, and small icons. */
html.light body.pf-page .pf-account-next-action-icon,
html[data-theme="light"] body.pf-page .pf-account-next-action-icon,
html.light body.pf-page .pf-account-rules-trust,
html[data-theme="light"] body.pf-page .pf-account-rules-trust,
html.light body.pf-page .pf-phase-step.is-completed .pf-phase-step-index,
html[data-theme="light"] body.pf-page .pf-phase-step.is-completed .pf-phase-step-index,
html.light body.pf-page .pf-phase-step.is-active .pf-phase-step-index,
html[data-theme="light"] body.pf-page .pf-phase-step.is-active .pf-phase-step-index,
html.light body.pf-page .pf-account-pnl:not(.is-negative),
html[data-theme="light"] body.pf-page .pf-account-pnl:not(.is-negative),
html.light body.pf-page .pf-account-risk-grid small,
html[data-theme="light"] body.pf-page .pf-account-risk-grid small,
html.light body.pf-page .pf-account-snapshot-bar > a,
html[data-theme="light"] body.pf-page .pf-account-snapshot-bar > a,
html.light body.pf-page .pf-account-source[data-state="healthy"] #pfAccountSyncState,
html[data-theme="light"] body.pf-page .pf-account-source[data-state="healthy"] #pfAccountSyncState,
html.light body.pf-page .pf-account-flow-state[data-state="healthy"],
html[data-theme="light"] body.pf-page .pf-account-flow-state[data-state="healthy"],
html.light body.pf-page .pf-account-flow-state[data-state="waiting"],
html[data-theme="light"] body.pf-page .pf-account-flow-state[data-state="waiting"] {
    color: var(--app-action-primary-color, #0f766e);
}

html.light body.pf-page .pf-account-risk-card[data-state="healthy"] .pf-account-risk-state,
html[data-theme="light"] body.pf-page .pf-account-risk-card[data-state="healthy"] .pf-account-risk-state,
html.light body.pf-page .pf-account-risk-card[data-state="waiting"] .pf-account-risk-state,
html[data-theme="light"] body.pf-page .pf-account-risk-card[data-state="waiting"] .pf-account-risk-state {
    border-color: rgba(15, 118, 110, 0.42);
    background: rgba(15, 118, 110, 0.055);
    color: var(--app-action-primary-color, #0f766e);
}

html.light body.pf-page .pf-account-rail-state,
html[data-theme="light"] body.pf-page .pf-account-rail-state,
html.light body.pf-page .pf-account-status > span,
html[data-theme="light"] body.pf-page .pf-account-status > span,
html.light body.pf-page .pf-account-flow-state[data-state="healthy"] > span,
html[data-theme="light"] body.pf-page .pf-account-flow-state[data-state="healthy"] > span,
html.light body.pf-page .pf-account-flow-state[data-state="waiting"] > span,
html[data-theme="light"] body.pf-page .pf-account-flow-state[data-state="waiting"] > span,
html.light body.pf-page .pf-account-progress-bar > span,
html[data-theme="light"] body.pf-page .pf-account-progress-bar > span,
html.light body.pf-page .pf-account-risk-meter > span,
html[data-theme="light"] body.pf-page .pf-account-risk-meter > span {
    background: var(--app-action-primary-color, #0f766e);
}

html.light body.pf-page .pf-linked-account,
html[data-theme="light"] body.pf-page .pf-linked-account {
    border-color: rgba(15, 118, 110, 0.30);
    background: linear-gradient(110deg, rgba(15, 118, 110, 0.09), rgba(15, 118, 110, 0.035));
}

html.light body.pf-page .pf-linked-account-version,
html[data-theme="light"] body.pf-page .pf-linked-account-version {
    border-color: rgba(15, 118, 110, 0.24);
    background: rgba(15, 118, 110, 0.035);
}

/* Keep the success surface around its icon instead of starting directly at
 * the icon edge. This also aligns the row with the surrounding readout copy. */
.pf-report-stack--readout .pf-violation-list.clean {
    padding-right: 12px;
    padding-left: 12px;
}

html.light body.pf-page .pf-report-stack--readout .pf-violation-list.clean,
html[data-theme="light"] body.pf-page .pf-report-stack--readout .pf-violation-list.clean {
    border-color: rgba(22, 163, 74, 0.24);
    background: rgba(22, 163, 74, 0.07);
}
