.finance-workspace {
    display: grid;
    gap: 1.25rem;
    width: min(100%, 76rem);
    margin: 0 auto;
    color: var(--jarvis-text);
}

.finance-header,
.finance-section-header,
.finance-header-actions,
.finance-toolbar-actions,
.finance-account-card-top,
.finance-allocation-copy,
.finance-allocation-legend,
.finance-panel-header,
.finance-ledger-toolbar,
.finance-ledger-secondary-filters,
.finance-entity-actions {
    display: flex;
    align-items: center;
}

.finance-header,
.finance-section-header,
.finance-panel-header {
    justify-content: space-between;
}

.finance-header {
    gap: 1.5rem;
    min-width: 0;
}

.finance-heading {
    min-width: 0;
}

.finance-product-line {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--jarvis-text-soft);
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-product-mark,
.finance-bank-mark,
.finance-file-icon,
.finance-empty-icon,
.finance-attention-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
}

.finance-product-mark {
    width: 1.9rem;
    height: 1.9rem;
    border: 1px solid var(--jarvis-blue-border);
    border-radius: var(--jarvis-radius-sm);
    color: var(--jarvis-blue);
    background: var(--jarvis-blue-dim);
}

.finance-agent-name {
    border-left: 1px solid var(--jarvis-border-strong);
    padding-left: 0.5rem;
    color: var(--jarvis-muted);
    font-weight: 700;
    text-transform: none;
}

.finance-heading h1 {
    margin: 0.35rem 0 0.2rem;
    color: var(--jarvis-heading);
    font-size: 2.1rem;
    line-height: 1.08;
    letter-spacing: 0;
}

.finance-heading p,
.finance-section-header p,
.finance-panel-header p,
.finance-muted-copy {
    margin: 0;
    color: var(--jarvis-muted);
}

.finance-header-actions,
.finance-toolbar-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
}

.finance-hidden-files-switch {
    margin: 0;
}

.finance-hidden-files-switch .mud-switch-label {
    font-size: 0.85rem;
    white-space: nowrap;
}

.finance-entity-select {
    width: 15rem;
}

.finance-button,
.finance-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    color: var(--jarvis-text-soft);
    background: var(--jarvis-surface);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    transition: border-color 140ms ease, color 140ms ease, background 140ms ease;
}

.finance-button {
    min-height: 2.4rem;
    gap: 0.45rem;
    padding: 0 0.8rem;
    font-size: 0.82rem;
}

.finance-icon-button {
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
}

.finance-button:hover:not(:disabled),
.finance-icon-button:hover:not(:disabled),
.finance-button:focus-visible,
.finance-icon-button:focus-visible {
    border-color: var(--jarvis-blue-border);
    color: var(--jarvis-blue);
    outline: none;
    box-shadow: var(--jarvis-focus-ring);
}

.finance-button-primary {
    border-color: var(--jarvis-blue);
    color: #fff;
    background: var(--jarvis-blue);
}

.finance-button-primary:hover:not(:disabled),
.finance-button-primary:focus-visible {
    color: #fff;
    background: color-mix(in srgb, var(--jarvis-blue) 86%, white);
}

.finance-button:disabled,
.finance-icon-button:disabled {
    color: var(--jarvis-disabled);
    cursor: default;
    opacity: 0.65;
}

.finance-icon-button.is-danger {
    color: var(--jarvis-red);
}

.finance-view-switcher {
    display: flex;
    gap: 1.25rem;
    min-height: 2.8rem;
    border-bottom: 1px solid var(--jarvis-border);
}

.finance-view-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.2rem 0.15rem 0.8rem;
    color: var(--jarvis-muted);
    font-size: 0.84rem;
    font-weight: 850;
    text-decoration: none;
}

.finance-view-link::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    background: transparent;
}

.finance-view-link.active {
    color: var(--jarvis-heading);
}

.finance-view-link.active::after {
    background: var(--jarvis-blue);
}

.finance-view-link > span {
    min-width: 1.35rem;
    border-radius: 1rem;
    padding: 0.05rem 0.35rem;
    color: var(--jarvis-muted);
    background: var(--jarvis-panel-strong);
    font-size: 0.7rem;
    text-align: center;
}

.finance-sim-workspace {
    display: grid;
    gap: 1rem;
    min-width: 0;
    max-width: 100%;
}

.finance-sim-heading {
    align-items: flex-end;
    gap: 1rem;
}

.finance-sim-kicker {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.35rem;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.finance-sim-paper-flag {
    border: 1px solid color-mix(in srgb, var(--jarvis-green) 45%, transparent);
    border-radius: var(--jarvis-radius-sm);
    padding: 0.15rem 0.42rem;
    color: var(--jarvis-green);
    background: color-mix(in srgb, var(--jarvis-green) 10%, transparent);
    letter-spacing: 0.04em;
}

.finance-sim-onboarding {
    border-top: 1px solid var(--jarvis-border);
    border-bottom: 1px solid var(--jarvis-border);
}

.finance-sim-policy-preview,
.finance-sim-ops-band,
.finance-sim-policy-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.finance-sim-policy-preview > div,
.finance-sim-ops-band > div,
.finance-sim-policy-grid > div {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
    border-right: 1px solid var(--jarvis-border);
    padding: 1rem;
}

.finance-sim-policy-preview > div:last-child,
.finance-sim-ops-band > div:last-child,
.finance-sim-policy-grid > div:nth-child(4n) {
    border-right: 0;
}

.finance-sim-policy-preview span,
.finance-sim-ops-band span,
.finance-sim-policy-grid span,
.finance-sim-chart-copy > span,
.finance-sim-selector label > span {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-sim-policy-preview strong,
.finance-sim-ops-band strong,
.finance-sim-policy-grid strong {
    overflow-wrap: anywhere;
    color: var(--jarvis-heading);
    font-size: 1.05rem;
}

.finance-sim-policy-preview small,
.finance-sim-ops-band small,
.finance-sim-policy-grid small,
.finance-sim-create-line small,
.finance-sim-event small,
.finance-sim-controls small {
    color: var(--jarvis-muted);
}

.finance-sim-create-line {
    display: grid;
    grid-template-columns: auto minmax(14rem, 1fr) minmax(13rem, 17rem) auto;
    align-items: center;
    gap: 1rem;
    border-top: 1px solid var(--jarvis-border);
    padding: 1rem;
}

.finance-sim-create-line > span,
.finance-sim-create-line label {
    display: grid;
    gap: 0.25rem;
}

.finance-sim-create-line label > span {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.finance-sim-create-form {
    display: grid;
    border-top: 1px solid var(--jarvis-border);
}

.finance-sim-create-intro {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.9rem 1rem;
}

.finance-sim-create-intro > span:last-child {
    display: grid;
    gap: 0.2rem;
}

.finance-sim-create-intro small,
.finance-sim-create-fields small {
    color: var(--jarvis-muted);
}

.finance-sim-create-fields,
.finance-sim-custom-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    border-top: 1px solid var(--jarvis-border);
    padding: 0.9rem 1rem;
}

.finance-sim-create-fields label,
.finance-sim-custom-grid label {
    display: grid;
    align-content: center;
    gap: 0.3rem;
    min-width: 0;
}

.finance-sim-create-fields label > span,
.finance-sim-custom-grid label > span {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.finance-sim-custom-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    background: var(--jarvis-panel);
}

.finance-sim-custom-grid input {
    width: 100%;
    min-height: 2.5rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0.45rem 0.65rem;
    color: var(--jarvis-heading);
    background: var(--jarvis-surface);
}

.finance-sim-custom-grid .finance-sim-toggle {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    justify-content: start;
}

.finance-sim-custom-grid .finance-sim-toggle input {
    width: 1rem;
    min-height: 1rem;
}

.finance-sim-create-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.55rem;
    border-top: 1px solid var(--jarvis-border);
    padding: 0.8rem 1rem;
}

.finance-sim-inline-warning {
    margin: 0;
    border-top: 1px solid var(--jarvis-border);
    padding: 0.8rem 1rem;
    color: var(--jarvis-amber);
}

.finance-sim-selector {
    display: flex;
    justify-content: flex-end;
}

.finance-sim-selector label {
    display: grid;
    gap: 0.3rem;
    width: min(100%, 22rem);
}

.finance-sim-comparison {
    min-width: 0;
    max-width: 100%;
    border-top: 1px solid var(--jarvis-border);
    border-bottom: 1px solid var(--jarvis-border);
    background: var(--jarvis-surface);
    overflow: hidden;
}

.finance-sim-comparison-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0.9rem 0;
}

.finance-sim-comparison-heading > span {
    display: grid;
    gap: 0.15rem;
}

.finance-sim-comparison-heading small,
.finance-sim-comparison-legend {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-sim-comparison-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem 0.8rem;
}

.finance-sim-comparison-legend span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.finance-sim-comparison-legend i {
    width: 0.65rem;
    height: 0.18rem;
    background: currentColor;
}

.finance-sim-comparison svg {
    display: block;
    width: 100%;
    height: 7rem;
    padding: 0 0.7rem;
}

.finance-sim-comparison-line {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.5;
}

.finance-sim-comparison .tone-1 { color: var(--jarvis-blue); stroke: var(--jarvis-blue); }
.finance-sim-comparison .tone-2 { color: var(--jarvis-green); stroke: var(--jarvis-green); }
.finance-sim-comparison .tone-3 { color: var(--jarvis-amber); stroke: var(--jarvis-amber); }
.finance-sim-comparison .tone-4 { color: var(--jarvis-red); stroke: var(--jarvis-red); }
.finance-sim-comparison .tone-5 { color: var(--jarvis-text-soft); stroke: var(--jarvis-text-soft); }

.finance-sim-comparison-table {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
}

.finance-sim-comparison-row {
    display: grid;
    grid-template-columns: minmax(12rem, 1.6fr) minmax(8rem, 1fr) repeat(8, minmax(6.5rem, 0.8fr));
    align-items: center;
    width: 100%;
    min-width: 78rem;
    min-height: 3.2rem;
    border: 0;
    border-top: 1px solid var(--jarvis-border);
    padding: 0.45rem 0.8rem;
    color: var(--jarvis-text-soft);
    background: transparent;
    font: inherit;
    font-size: 0.78rem;
    text-align: left;
}

button.finance-sim-comparison-row {
    cursor: pointer;
}

button.finance-sim-comparison-row:hover,
.finance-sim-comparison-row.selected {
    background: color-mix(in srgb, var(--jarvis-blue) 7%, transparent);
}

.finance-sim-comparison-row.header {
    min-height: 2.2rem;
    color: var(--jarvis-muted);
    background: var(--jarvis-panel);
    font-size: 0.66rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-sim-comparison-row > span:first-child {
    display: grid;
    gap: 0.1rem;
}

.finance-sim-comparison-row small {
    color: var(--jarvis-muted);
}

.finance-sim-ops-band {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border-top: 1px solid var(--jarvis-border);
    border-bottom: 1px solid var(--jarvis-border);
    background: var(--jarvis-panel);
}

.finance-sim-ops-band > div {
    padding: 0.9rem;
}

.finance-sim-ops-band strong {
    font-size: 1rem;
}

.finance-sim-quality-strip {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    border-left: 3px solid var(--jarvis-amber);
    padding: 0.7rem 0.9rem;
    color: var(--jarvis-amber);
    background: color-mix(in srgb, var(--jarvis-amber) 7%, transparent);
}

.finance-sim-quality-strip > span {
    display: grid;
    gap: 0.1rem;
}

.finance-sim-quality-strip small {
    color: var(--jarvis-muted);
}

.finance-sim-signal-strip,
.finance-sim-policy-note {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    border-left: 3px solid var(--jarvis-blue);
    padding: 0.7rem 0.9rem;
    color: var(--jarvis-blue);
    background: color-mix(in srgb, var(--jarvis-blue) 7%, transparent);
}

.finance-sim-signal-strip.has-signal {
    border-left-color: var(--jarvis-green);
    color: var(--jarvis-green);
    background: color-mix(in srgb, var(--jarvis-green) 7%, transparent);
}

.finance-sim-signal-strip > span,
.finance-sim-policy-note > span {
    display: grid;
    gap: 0.1rem;
}

.finance-sim-signal-strip small,
.finance-sim-policy-note small {
    color: var(--jarvis-muted);
}

.finance-sim-signal-strip a {
    color: var(--jarvis-blue);
}

/* C8: Paper Lab activity funnel */
.finance-sim-funnel {
    display: grid;
    gap: 0.6rem;
    padding: 0.75rem 0.9rem;
    border: 1px solid color-mix(in srgb, var(--jarvis-blue) 18%, transparent);
    border-radius: 0.6rem;
    background: color-mix(in srgb, var(--jarvis-blue) 4%, transparent);
}

.finance-sim-funnel > header {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--jarvis-blue);
}

.finance-sim-funnel > header span {
    display: grid;
    gap: 0.1rem;
}

.finance-sim-funnel > header small {
    color: var(--jarvis-muted);
}

.finance-sim-funnel-stages {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.finance-sim-funnel-stages li {
    flex: 1 1 5.5rem;
    display: grid;
    gap: 0.05rem;
    padding: 0.45rem 0.5rem;
    border-radius: 0.5rem;
    background: color-mix(in srgb, var(--jarvis-blue) 6%, transparent);
    text-align: center;
}

.finance-sim-funnel-stages li span {
    font-size: 1.15rem;
    font-weight: 700;
}

.finance-sim-funnel-stages li small {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-sim-funnel-stages li.is-good {
    background: color-mix(in srgb, var(--jarvis-green) 12%, transparent);
    color: var(--jarvis-green);
}

.finance-sim-funnel-stages li.is-bad {
    background: color-mix(in srgb, var(--jarvis-red, #c0392b) 12%, transparent);
    color: var(--jarvis-red, #c0392b);
}

.finance-sim-funnel-reasons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.finance-sim-funnel-reason {
    font-size: 0.75rem;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--jarvis-muted) 12%, transparent);
    color: var(--jarvis-muted);
}

.finance-sim-chart-band {
    position: relative;
    min-height: 14rem;
    border-bottom: 1px solid var(--jarvis-border);
    padding: 0.75rem 1rem 0.35rem;
    overflow: hidden;
    background: var(--jarvis-surface);
}

.finance-sim-chart-copy {
    position: absolute;
    z-index: 1;
    top: 1rem;
    left: 1rem;
    display: grid;
    gap: 0.15rem;
}

.finance-sim-chart-copy strong {
    color: var(--jarvis-heading);
}

.finance-sim-chart-copy small {
    color: var(--jarvis-muted);
}

.finance-sim-chart-band svg {
    display: block;
    width: 100%;
    height: 11rem;
    margin-top: 1.8rem;
}

.finance-sim-grid-line {
    stroke: var(--jarvis-border);
    stroke-width: 1;
}

.finance-sim-nav-line {
    fill: none;
    stroke: var(--jarvis-blue);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3;
}

.finance-sim-chart-range {
    display: flex;
    justify-content: space-between;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

/* NAV chart: portfolio line + benchmark overlay + area fill + axis + endpoint. */
.finance-sim-chart-header {
    position: absolute;
    z-index: 1;
    top: 1rem;
    left: 1rem;
    right: 1rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    pointer-events: none;
}

.finance-sim-chart-header .finance-sim-chart-copy {
    position: static;
    top: auto;
    left: auto;
}

.finance-sim-chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    font-size: 0.68rem;
    color: var(--jarvis-muted);
    text-align: right;
}

.finance-sim-chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    white-space: nowrap;
}

.finance-sim-chart-legend i {
    width: 0.9rem;
    height: 0.2rem;
    border-radius: 1rem;
}

.finance-sim-chart-legend i.is-portfolio {
    background: var(--jarvis-blue);
}

.finance-sim-chart-legend i.is-benchmark {
    background: var(--jarvis-muted);
}

.finance-sim-nav-area {
    stroke: none;
}

.finance-sim-nav-fill-top {
    stop-color: var(--jarvis-blue);
    stop-opacity: 0.26;
}

.finance-sim-nav-fill-bottom {
    stop-color: var(--jarvis-blue);
    stop-opacity: 0;
}

.finance-sim-bench-line {
    fill: none;
    stroke: var(--jarvis-muted);
    stroke-width: 2;
    stroke-dasharray: 5 4;
    stroke-linecap: round;
    opacity: 0.85;
}

.finance-sim-nav-endpoint {
    fill: var(--jarvis-blue);
    stroke: var(--jarvis-surface);
    stroke-width: 2;
}

.finance-sim-axis-label {
    fill: var(--jarvis-muted);
    font-size: 9px;
    font-variant-numeric: tabular-nums;
}

/* Order fill-progress + position weight bars. */
.finance-sim-order-life {
    display: grid;
    gap: 0.2rem;
    align-content: center;
}

.finance-sim-progress {
    display: block;
    width: 100%;
    max-width: 6rem;
    height: 0.35rem;
    border-radius: 1rem;
    background: var(--jarvis-border);
    overflow: hidden;
}

.finance-sim-progress-fill {
    display: block;
    height: 100%;
    border-radius: 1rem;
    background: var(--jarvis-blue);
}

.finance-sim-weight {
    display: grid;
    gap: 0.2rem;
    justify-items: start;
}

.finance-sim-weight-bar {
    display: block;
    width: 100%;
    max-width: 5.5rem;
    height: 0.35rem;
    border-radius: 1rem;
    background: var(--jarvis-border);
    overflow: hidden;
}

.finance-sim-weight-fill {
    display: block;
    height: 100%;
    border-radius: 1rem;
    background: var(--jarvis-green);
}

.finance-sim-weight-bar.is-short .finance-sim-weight-fill {
    background: var(--jarvis-amber);
}

.finance-sim-table {
    overflow-x: auto;
}

.finance-sim-row {
    display: grid;
    align-items: center;
    min-width: 52rem;
    min-height: 3.5rem;
    border-bottom: 1px solid var(--jarvis-border);
    padding: 0.55rem 0.8rem;
    color: var(--jarvis-text-soft);
    font-size: 0.82rem;
}

.finance-sim-table.positions .finance-sim-row {
    grid-template-columns: minmax(15rem, 2fr) repeat(5, minmax(7rem, 1fr));
}

.finance-sim-table.orders .finance-sim-row,
.finance-sim-table.fills .finance-sim-row {
    grid-template-columns: 7rem minmax(13rem, 1.7fr) repeat(5, minmax(6.5rem, 1fr));
}

.finance-sim-row.header {
    min-height: 2.5rem;
    color: var(--jarvis-muted);
    background: var(--jarvis-panel);
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-sim-row > span {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
    padding-right: 0.6rem;
}

.finance-sim-row strong {
    overflow-wrap: anywhere;
    color: var(--jarvis-heading);
}

.finance-sim-row small {
    color: var(--jarvis-muted);
    line-height: 1.25;
}

.finance-sim-policy-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-bottom: 1px solid var(--jarvis-border);
}

.finance-sim-policy-grid > div {
    border-bottom: 1px solid var(--jarvis-border);
}

.finance-sim-policy-note {
    border-left-color: var(--jarvis-muted);
    color: var(--jarvis-text-soft);
    background: var(--jarvis-panel);
}

.finance-sim-timeline {
    display: grid;
}

.finance-sim-event {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    min-height: 3.3rem;
    border-bottom: 1px solid var(--jarvis-border);
    padding: 0.55rem 0.8rem;
}

.finance-sim-event > span:nth-child(2) {
    display: grid;
    gap: 0.1rem;
}

.finance-sim-event time {
    color: var(--jarvis-muted);
    font-size: 0.75rem;
}

.finance-sim-event-dot {
    width: 0.55rem;
    height: 0.55rem;
    border: 2px solid var(--jarvis-blue);
    border-radius: 50%;
}

.finance-sim-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    border-top: 1px solid var(--jarvis-border);
    padding: 0.8rem 0;
}

.finance-sim-controls > span {
    display: grid;
    gap: 0.1rem;
    margin-right: auto;
}

.finance-button-danger {
    border-color: var(--jarvis-red);
    color: white;
    background: var(--jarvis-red);
}

.is-warning-text {
    color: var(--jarvis-amber) !important;
}

@media (max-width: 900px) {
    .finance-sim-policy-preview,
    .finance-sim-policy-grid,
    .finance-sim-ops-band {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-sim-policy-preview > div:nth-child(2n),
    .finance-sim-policy-grid > div:nth-child(2n),
    .finance-sim-ops-band > div:nth-child(2n) {
        border-right: 0;
    }

    .finance-sim-create-line {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .finance-sim-create-line label,
    .finance-sim-create-line .finance-button {
        grid-column: 2;
    }

    .finance-sim-create-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-sim-custom-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-sim-comparison-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .finance-sim-comparison-legend {
        justify-content: flex-start;
    }
}

@media (max-width: 600px) {
    .finance-sim-heading {
        align-items: flex-start;
    }

    .finance-sim-kicker {
        flex-wrap: wrap;
    }

    .finance-sim-policy-preview,
    .finance-sim-policy-grid,
    .finance-sim-ops-band {
        grid-template-columns: 1fr;
    }

    .finance-sim-policy-preview > div,
    .finance-sim-policy-grid > div,
    .finance-sim-ops-band > div {
        border-right: 0;
        border-bottom: 1px solid var(--jarvis-border);
    }

    .finance-sim-create-line {
        grid-template-columns: 1fr;
    }

    .finance-sim-create-line > .finance-control-icon {
        display: none;
    }

    .finance-sim-create-line label,
    .finance-sim-create-line .finance-button {
        grid-column: auto;
    }

    .finance-sim-create-fields,
    .finance-sim-custom-grid {
        grid-template-columns: 1fr;
    }

    .finance-sim-create-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .finance-sim-create-actions .finance-button {
        width: 100%;
    }

    .finance-sim-controls {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .finance-sim-controls > span {
        flex: 1 0 100%;
    }
}

.finance-loading-state,
.finance-empty-state {
    display: grid;
    place-items: center;
    gap: 0.75rem;
    min-height: 15rem;
    border: 1px dashed var(--jarvis-border-strong);
    border-radius: var(--jarvis-radius);
    padding: 2rem;
    color: var(--jarvis-muted);
    text-align: center;
}

.finance-loading-state {
    min-height: 8rem;
}

.finance-panel-error {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    margin: 1rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid color-mix(in srgb, var(--jarvis-red) 30%, transparent);
    border-radius: 6px;
    background: color-mix(in srgb, var(--jarvis-red) 7%, var(--jarvis-panel));
    color: var(--jarvis-text);
}

.finance-panel-error button {
    border: 0;
    background: transparent;
    color: var(--jarvis-red);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.finance-empty-state h2,
.finance-empty-state p {
    margin: 0;
}

.finance-empty-state h2 {
    color: var(--jarvis-heading);
    font-size: 1.05rem;
}

.finance-empty-state p {
    max-width: 32rem;
}

.finance-empty-state-compact {
    min-height: 10rem;
    padding: 1.5rem;
}

.finance-empty-icon {
    width: 2.8rem;
    height: 2.8rem;
    border-radius: var(--jarvis-radius);
    color: var(--jarvis-blue);
    background: var(--jarvis-blue-dim);
}

.finance-overview,
.finance-documents-view,
.finance-area-view {
    display: grid;
    gap: 1.5rem;
    min-width: 0;
}

.finance-metric-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-block: 1px solid var(--jarvis-border);
}

.finance-metric-row > div {
    display: grid;
    min-width: 0;
    gap: 0.2rem;
    border-right: 1px solid var(--jarvis-border-muted);
    padding: 1rem;
}

.finance-metric-row > div:first-child {
    padding-left: 0;
}

.finance-metric-row > div:last-child {
    border-right: 0;
}

.finance-metric-row span {
    color: var(--jarvis-muted);
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-metric-row strong {
    overflow: hidden;
    color: var(--jarvis-heading);
    font-size: 1.3rem;
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-metric-row small {
    color: var(--jarvis-muted);
}

.finance-performance-header {
    margin-bottom: 0;
}

.finance-period-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    min-height: 3rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border-block: 1px solid var(--jarvis-border);
    padding: 0.35rem 0;
}

.finance-segmented-control {
    display: inline-flex;
    align-items: stretch;
    min-height: 2.2rem;
    max-width: 100%;
    min-width: 0;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    overflow: hidden;
    background: var(--jarvis-input-bg);
}

.finance-segmented-control button {
    min-width: 4.5rem;
    border: 0;
    border-right: 1px solid var(--jarvis-border);
    padding: 0 0.65rem;
    color: var(--jarvis-muted);
    background: transparent;
    font: inherit;
    font-size: 0.74rem;
    font-weight: 800;
    cursor: pointer;
}

.finance-segmented-control button:last-child {
    border-right: 0;
}

.finance-segmented-control button:hover,
.finance-segmented-control button:focus-visible,
.finance-segmented-control button.active {
    color: var(--jarvis-blue);
    background: var(--jarvis-blue-dim);
    outline: none;
}

.finance-performance-dates {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.finance-performance-dates label {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.finance-performance-dates input {
    min-height: 2.2rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0 0.55rem;
    color: var(--jarvis-text);
    background: var(--jarvis-input-bg);
    color-scheme: dark;
    font: inherit;
}

.finance-performance-version {
    margin-left: auto;
    color: var(--jarvis-muted);
    font-family: var(--font-mono);
    font-size: 0.7rem;
}

.finance-performance-message {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.7rem;
    border-left: 3px solid var(--jarvis-amber);
    padding: 0.75rem 0.9rem;
    color: var(--jarvis-amber);
    background: var(--jarvis-amber-dim);
}

.finance-performance-message.is-danger {
    border-left-color: var(--jarvis-red);
    color: var(--jarvis-red);
    background: var(--jarvis-red-dim);
}

.finance-performance-message > div {
    display: grid;
    gap: 0.12rem;
}

.finance-performance-message strong {
    color: var(--jarvis-heading);
}

.finance-performance-message span {
    color: var(--jarvis-text-soft);
    font-size: 0.78rem;
}

.finance-performance-metrics {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.finance-performance-metrics > div {
    padding-inline: 0.8rem;
}

.finance-performance-metrics strong.is-positive,
.finance-performance-table-row .is-positive {
    color: var(--jarvis-green);
}

.finance-performance-metrics strong.is-negative,
.finance-performance-table-row .is-negative {
    color: var(--jarvis-red);
}

.finance-performance-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.3fr);
    gap: 1.5rem;
    border-bottom: 1px solid var(--jarvis-border);
    padding-bottom: 1.5rem;
}

.finance-performance-chart {
    min-width: 0;
}

.finance-chart-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.85rem;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-chart-legend span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.finance-chart-legend i {
    width: 1.1rem;
    height: 2px;
    background: var(--jarvis-cyan);
}

.finance-chart-legend i.is-benchmark {
    background: var(--jarvis-muted);
}

.finance-chart-legend i.is-shadow {
    background: var(--jarvis-amber);
}

.finance-chart-frame {
    min-width: 0;
    border-block: 1px solid var(--jarvis-border-muted);
    padding: 0.65rem 0 0.35rem;
}

.finance-chart-frame svg {
    display: block;
    width: 100%;
    aspect-ratio: 800 / 260;
    min-height: 11rem;
    max-height: 18rem;
    overflow: visible;
}

/* The per-label overlay draws only lines (no endpoint markers), so clip it to the frame -- it must never
   bleed outside its box the way the main chart's decorated endpoints are allowed to. */
.finance-label-twr .finance-chart-frame svg {
    overflow: hidden;
}

.finance-chart-gridline {
    stroke: var(--jarvis-border-muted);
    stroke-width: 1;
}

.finance-chart-ylabel {
    fill: var(--jarvis-muted);
    font-family: var(--font-mono);
    font-size: 11px;
    opacity: 0.8;
}

.finance-chart-gridline-v {
    opacity: 0.45;
}

.finance-chart-xlabel {
    fill: var(--jarvis-muted);
    font-family: var(--font-mono);
    font-size: 11px;
    opacity: 0.8;
    text-anchor: middle;
}

.finance-chart-line {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.finance-chart-line.is-portfolio {
    stroke: var(--jarvis-cyan);
    stroke-width: 2.5;
}

.finance-chart-line.is-benchmark {
    stroke: var(--jarvis-muted);
    stroke-width: 1.5;
    stroke-dasharray: 6 5;
}

.finance-chart-line.is-shadow {
    stroke: var(--jarvis-amber);
    stroke-width: 2;
}

.finance-chart-axis {
    display: flex;
    justify-content: space-between;
    color: var(--jarvis-muted);
    font-family: var(--font-mono);
    font-size: 0.68rem;
}

.finance-performance-summary {
    border-left: 1px solid var(--jarvis-border);
    padding-left: 1.25rem;
}

.finance-performance-summary h2 {
    margin: 0 0 0.7rem;
    color: var(--jarvis-heading);
    font-size: 0.9rem;
}

.finance-performance-summary dl {
    display: grid;
    gap: 0;
    margin: 0;
}

.finance-performance-summary dl > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    min-height: 2.55rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
}

.finance-performance-summary dt {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-performance-summary dd {
    margin: 0;
    color: var(--jarvis-heading);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.finance-performance-table {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    border-top: 1px solid var(--jarvis-border);
}

.finance-performance-scopes {
    width: 100%;
    max-width: 100%;
    min-width: 0;
}

.finance-performance-table-header,
.finance-performance-table-row {
    display: grid;
    grid-template-columns: minmax(12rem, 1.5fr) minmax(8rem, 0.8fr) repeat(4, minmax(6rem, 0.65fr));
    align-items: center;
    gap: 0.8rem;
}

.finance-performance-table-header {
    min-height: 2.3rem;
    color: var(--jarvis-muted);
    font-size: 0.66rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-performance-table-header > span:nth-child(n+3),
.finance-performance-table-row > :nth-child(n+3) {
    text-align: right;
}

.finance-performance-table-row {
    min-height: 3.75rem;
    border-top: 1px solid var(--jarvis-border-muted);
    color: var(--jarvis-text-soft);
    font-size: 0.78rem;
    font-variant-numeric: tabular-nums;
}

.finance-performance-table-row > span:first-child {
    display: grid;
    min-width: 0;
}

.finance-performance-table-row strong {
    color: var(--jarvis-heading);
}

.finance-performance-table-row small {
    color: var(--jarvis-muted);
}

.finance-mobile-scope-return {
    display: none;
}

/* "Som banken" afkast table: label + Køb&salg | Udbytte | Ultimo | Afkast. */
.finance-grouped-table .finance-performance-table-header,
.finance-grouped-table .finance-performance-table-row {
    grid-template-columns: minmax(10rem, 1.5fr) repeat(4, minmax(6rem, 0.85fr));
}

/* Period view adds a Primo kursværdi column between Udbytte and Ultimo. */
.finance-grouped-table.has-primo .finance-performance-table-header,
.finance-grouped-table.has-primo .finance-performance-table-row {
    grid-template-columns: minmax(10rem, 1.5fr) repeat(5, minmax(6rem, 0.85fr));
}

/* Small inline info affordance next to a heading; the explanation shows as a native hover tooltip. */
.finance-info-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    margin-left: 0.35rem;
    color: var(--jarvis-muted);
    cursor: help;
}

.finance-info-badge:hover,
.finance-info-badge:focus-visible {
    color: var(--jarvis-blue);
}

.finance-info-badge svg {
    width: 1rem;
    height: 1rem;
}

.finance-grouped-total {
    border-top: 2px solid var(--jarvis-border);
}

.finance-grouped-total > strong,
.finance-grouped-total > span:first-child strong {
    color: var(--jarvis-heading);
    font-weight: 850;
}

.finance-grouped-table .finance-performance-table-row strong small {
    display: block;
    font-weight: 700;
    color: var(--jarvis-muted);
}

/* Expandable group row: click to reconcile the group total against its securities. */
.finance-grouped-grouprow {
    cursor: pointer;
}

.finance-grouped-grouprow:hover {
    background: var(--jarvis-surface-hover, rgba(127, 127, 127, 0.06));
}

.finance-grouped-grouprow:focus-visible {
    outline: 2px solid var(--jarvis-accent, #4c6ef5);
    outline-offset: -2px;
}

.finance-grouped-caret {
    display: inline-block;
    width: 0.9rem;
    color: var(--jarvis-muted);
    font-size: 0.7rem;
}

.finance-grouped-detail {
    border-top: 1px solid var(--jarvis-border-muted);
    background: var(--jarvis-surface-sunken, rgba(127, 127, 127, 0.04));
    padding: 0.25rem 0 0.5rem;
}

.finance-grouped-detail-row {
    display: grid;
    grid-template-columns: minmax(11rem, 1.9fr) repeat(4, minmax(5rem, 0.7fr));
    align-items: center;
}

.finance-grouped-detail.has-primo .finance-grouped-detail-row {
    grid-template-columns: minmax(11rem, 1.9fr) repeat(5, minmax(5rem, 0.7fr));
}

.finance-grouped-detail-row {
    gap: 0.8rem;
    padding: 0.35rem 0.9rem;
    font-size: 0.75rem;
    font-variant-numeric: tabular-nums;
    color: var(--jarvis-text-soft);
}

.finance-grouped-detail-row > span:nth-child(n+2) {
    text-align: right;
}

.finance-grouped-detail-head {
    color: var(--jarvis-muted);
    font-size: 0.63rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-grouped-detail-name {
    display: grid;
    min-width: 0;
}

.finance-grouped-detail-name strong {
    color: var(--jarvis-heading);
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-grouped-detail-name small {
    color: var(--jarvis-muted);
    font-size: 0.66rem;
}

/* Per-stock kontokort (bank Afkastdetaljer): expands under a paper row. */
.finance-grouped-paperrow {
    cursor: pointer;
}

.finance-grouped-paperrow:hover {
    background: var(--jarvis-surface-hover, rgba(127, 127, 127, 0.05));
}

.finance-grouped-paperrow:focus-visible {
    outline: 2px solid var(--jarvis-accent, #4c6ef5);
    outline-offset: -2px;
}

.finance-kontokort {
    padding: 0.25rem 0.9rem 0.6rem 1.8rem;
    background: var(--jarvis-surface-sunken, rgba(127, 127, 127, 0.06));
    border-bottom: 1px solid var(--jarvis-border-muted);
}

.finance-kontokort-loading {
    padding: 0.5rem 0;
    color: var(--jarvis-muted);
    font-size: 0.74rem;
}

.finance-kontokort-row {
    display: grid;
    grid-template-columns: minmax(5.5rem, 0.9fr) minmax(4.5rem, 0.8fr) minmax(4rem, 0.6fr) minmax(4rem, 0.6fr) minmax(6rem, 0.9fr);
    gap: 0.7rem;
    align-items: center;
    padding: 0.28rem 0;
    font-size: 0.73rem;
    font-variant-numeric: tabular-nums;
    color: var(--jarvis-text-soft);
    border-top: 1px solid var(--jarvis-border-muted);
}

.finance-kontokort-row > span:nth-child(n+3) {
    text-align: right;
}

.finance-kontokort-head {
    color: var(--jarvis-muted);
    font-size: 0.62rem;
    font-weight: 850;
    text-transform: uppercase;
    border-top: none;
}

.finance-kontokort-primo,
.finance-kontokort-ultimo,
.finance-kontokort-afkast {
    font-weight: 700;
}

.finance-kontokort-afkast {
    border-top: 2px solid var(--jarvis-border);
}

.finance-kontokort-afkast span:first-child,
.finance-kontokort-ultimo span:first-child,
.finance-kontokort-primo span:first-child {
    color: var(--jarvis-heading);
}

.finance-manager-comparison,
.finance-manager-score {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border-bottom: 1px solid var(--jarvis-border);
    padding-bottom: 1.25rem;
}

.finance-manager-comparison-table {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    border-top: 1px solid var(--jarvis-border);
}

.finance-manager-comparison-header,
.finance-manager-comparison-row {
    display: grid;
    grid-template-columns: minmax(14rem, 1.7fr) repeat(5, minmax(6.5rem, 0.7fr));
    align-items: center;
    gap: 0.8rem;
}

.finance-manager-comparison-header {
    min-height: 2.3rem;
    color: var(--jarvis-muted);
    font-size: 0.66rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-manager-comparison-header > span:not(:first-child),
.finance-manager-comparison-row > :not(:first-child) {
    text-align: right;
}

.finance-manager-comparison-row {
    min-height: 4rem;
    border-top: 1px solid var(--jarvis-border-muted);
    color: var(--jarvis-text-soft);
    font-size: 0.76rem;
    font-variant-numeric: tabular-nums;
}

.finance-manager-comparison-row > span:first-child {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.finance-manager-comparison-row strong {
    color: var(--jarvis-heading);
}

.finance-manager-comparison-row small,
.finance-evidence-note {
    color: var(--jarvis-muted);
    font-size: 0.68rem;
}

.finance-manager-comparison-row small {
    max-width: 38rem;
    overflow-wrap: anywhere;
}

.finance-evidence-note {
    margin: 0.7rem 0 0;
}

.finance-manager-score-band {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border-block: 1px solid var(--jarvis-border);
}

.finance-manager-score-band > div {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    border-right: 1px solid var(--jarvis-border-muted);
    padding: 0.75rem 0.8rem;
}

.finance-manager-score-band > div:last-child {
    border-right: 0;
}

.finance-manager-score-band span,
.finance-manager-score-meta {
    color: var(--jarvis-muted);
    font-size: 0.68rem;
}

.finance-manager-score-band strong {
    color: var(--jarvis-heading);
    font-family: var(--font-mono);
    font-size: 0.9rem;
    font-variant-numeric: tabular-nums;
}

.finance-manager-score-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
    padding-top: 0.65rem;
}

.finance-manager-horizon-table {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    border-bottom: 1px solid var(--jarvis-border);
}

.finance-manager-horizon-header,
.finance-manager-horizon-row {
    display: grid;
    grid-template-columns: minmax(8.5rem, 1.2fr) minmax(7.5rem, 1fr) repeat(6, minmax(5.25rem, 0.75fr));
    align-items: center;
    gap: 0.7rem;
}

.finance-manager-horizon-header {
    min-height: 2.25rem;
    color: var(--jarvis-muted);
    font-size: 0.62rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-manager-horizon-row {
    min-height: 3.25rem;
    border-top: 1px solid var(--jarvis-border-muted);
    color: var(--jarvis-text-soft);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
}

.finance-manager-horizon-header > :nth-child(n + 3),
.finance-manager-horizon-row > :nth-child(n + 3) {
    text-align: right;
}

.finance-manager-horizon-row > strong {
    color: var(--jarvis-heading);
}

.finance-data-quality {
    border-block: 1px solid var(--jarvis-border);
    padding-block: 1rem;
}

.finance-data-quality-status {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-block: 0.85rem;
    border-block: 1px solid var(--jarvis-border-muted);
}

.finance-data-quality-status > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.12rem 0.75rem;
    min-width: 0;
    border-right: 1px solid var(--jarvis-border-muted);
    padding: 0.75rem 1rem;
}

.finance-data-quality-status > div:first-child {
    padding-left: 0;
}

.finance-data-quality-status > div:last-child {
    border-right: 0;
}

.finance-data-quality-status span {
    color: var(--jarvis-muted);
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-data-quality-status strong {
    grid-row: 1 / span 2;
    grid-column: 2;
    align-self: center;
    color: var(--jarvis-heading);
    font-size: 1.2rem;
    font-variant-numeric: tabular-nums;
}

.finance-data-quality-status strong.is-good {
    color: var(--jarvis-green);
}

.finance-data-quality-status strong.is-warning {
    color: var(--jarvis-amber);
}

.finance-data-quality-status small {
    color: var(--jarvis-text-soft);
    font-size: 0.72rem;
}

.finance-review-ready {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    min-height: 3.75rem;
    color: var(--jarvis-green);
}

.finance-review-ready > span,
.finance-reconciliation-route > span:last-child,
.finance-data-quality-secondary > div > span:nth-child(2) {
    display: grid;
    min-width: 0;
}

.finance-review-ready strong,
.finance-reconciliation-route strong,
.finance-data-quality-secondary strong {
    color: var(--jarvis-heading);
    font-size: 0.78rem;
}

.finance-review-ready small,
.finance-reconciliation-route small,
.finance-data-quality-secondary small {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
}

.finance-reconciliation-list {
    border-block: 1px solid var(--jarvis-border);
}

.finance-reconciliation-header,
.finance-reconciliation-row {
    display: grid;
    grid-template-columns: minmax(18rem, 1.6fr) minmax(11rem, 0.8fr) minmax(8rem, 0.55fr) minmax(7rem, 0.5fr) 1.5rem;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
}

.finance-reconciliation-header {
    min-height: 2.5rem;
    color: var(--jarvis-muted);
    background: var(--jarvis-panel);
    font-size: 0.66rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-reconciliation-header > span,
.finance-reconciliation-row > span,
.finance-reconciliation-row > strong {
    min-width: 0;
}

.finance-reconciliation-header > :first-child,
.finance-reconciliation-row > :first-child {
    padding-left: 0.8rem;
}

.finance-reconciliation-row {
    min-height: 4rem;
    border: 0;
    border-bottom: 1px solid var(--jarvis-border-muted);
    padding: 0;
    color: var(--jarvis-text);
    background: transparent;
    font: inherit;
    font-size: 0.76rem;
    text-align: left;
    cursor: pointer;
}

.finance-reconciliation-row:last-child {
    border-bottom: 0;
}

.finance-reconciliation-row:hover,
.finance-reconciliation-row:focus-visible {
    color: var(--jarvis-heading);
    background: var(--jarvis-row-hover);
    outline: none;
}

.finance-reconciliation-row > strong {
    color: var(--jarvis-heading);
    font-variant-numeric: tabular-nums;
}

.finance-reconciliation-row > svg {
    color: var(--jarvis-muted);
}

.finance-reconciliation-route {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.7rem;
}

.finance-data-quality-secondary {
    border-bottom: 1px solid var(--jarvis-border);
}

.finance-data-quality-secondary > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    min-height: 3.75rem;
    border-top: 1px solid var(--jarvis-border-muted);
}

.finance-reconciliation-panel {
    width: min(62rem, calc(100vw - 3rem));
}

.finance-reconciliation-safety {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex: 0 0 auto;
    border-bottom: 1px solid var(--jarvis-border);
    padding: 0.7rem 1.25rem;
    color: var(--jarvis-text-soft);
    background: var(--jarvis-panel);
    font-size: 0.75rem;
}

.finance-reconciliation-safety svg {
    color: var(--jarvis-blue);
}

.finance-reconciliation-panel-body {
    display: grid;
    align-content: start;
    gap: 1.25rem;
}

.finance-reconciliation-options {
    display: grid;
    gap: 0.45rem;
}

.finance-reconciliation-option {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    min-height: 3.4rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0.65rem 0.8rem;
    color: var(--jarvis-text);
    background: var(--jarvis-panel);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.finance-reconciliation-option > span {
    display: grid;
}

.finance-reconciliation-option strong {
    color: var(--jarvis-heading);
    font-size: 0.8rem;
}

.finance-reconciliation-option small {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
}

.finance-reconciliation-option.active {
    border-color: var(--jarvis-blue-border);
    background: var(--jarvis-blue-dim);
}

.finance-reconciliation-option.active > svg {
    color: var(--jarvis-blue);
}

/* Fee review: classify or reject the bank postings the rule could not place with confidence. */
.finance-fee-review {
    display: grid;
    gap: 0.6rem;
    padding-top: 0.85rem;
}

.finance-fee-list {
    display: grid;
    gap: 0.4rem;
}

.finance-fee-item {
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    background: var(--jarvis-panel);
    overflow: hidden;
}

.finance-fee-item.is-expanded {
    border-color: var(--jarvis-blue-border);
}

.finance-fee-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    min-height: 3.4rem;
    padding: 0.6rem 0.8rem;
    border: 0;
    background: transparent;
    color: var(--jarvis-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.finance-fee-summary:hover,
.finance-fee-summary:focus-visible {
    background: var(--jarvis-panel-strong);
}

.finance-fee-main {
    display: grid;
    min-width: 0;
}

.finance-fee-main strong {
    color: var(--jarvis-heading);
    font-size: 0.8rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-fee-main small {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
}

.finance-fee-amount {
    color: var(--jarvis-heading);
    font-size: 0.82rem;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.finance-fee-editor {
    display: grid;
    gap: 0.55rem;
    padding: 0.35rem 0.8rem 0.8rem;
    border-top: 1px solid var(--jarvis-border-muted);
}

.finance-fee-editor-label {
    color: var(--jarvis-text-soft);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.finance-fee-category-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.finance-fee-chip {
    border: 1px solid var(--jarvis-border);
    border-radius: 1rem;
    padding: 0.3rem 0.7rem;
    color: var(--jarvis-text);
    background: var(--jarvis-panel);
    font: inherit;
    font-size: 0.72rem;
    cursor: pointer;
}

.finance-fee-chip:hover:not(:disabled),
.finance-fee-chip:focus-visible {
    border-color: var(--jarvis-blue-border);
}

.finance-fee-chip.active {
    border-color: var(--jarvis-blue);
    color: var(--jarvis-blue);
    background: var(--jarvis-blue-dim);
    font-weight: 750;
}

.finance-fee-chip:disabled {
    opacity: 0.6;
    cursor: default;
}

.finance-fee-editor-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.finance-fee-editor-spacer {
    flex: 1 1 auto;
}

.finance-reconciliation-pair {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 0.8rem;
}

.finance-reconciliation-pair article {
    min-width: 0;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    background: var(--jarvis-panel);
}

.finance-reconciliation-pair article > header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.7rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
    padding: 0.8rem;
}

.finance-reconciliation-pair article > header > div {
    display: grid;
    min-width: 0;
}

.finance-reconciliation-pair article > header span:not(.finance-transaction-direction) {
    color: var(--jarvis-muted);
    font-size: 0.65rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-reconciliation-pair article > header strong {
    overflow: hidden;
    color: var(--jarvis-heading);
    font-size: 0.84rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-transaction-direction {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: var(--jarvis-radius-sm);
}

.finance-transaction-direction.is-out {
    color: var(--jarvis-red);
    background: color-mix(in srgb, var(--jarvis-red) 12%, transparent);
}

.finance-transaction-direction.is-in {
    color: var(--jarvis-green);
    background: color-mix(in srgb, var(--jarvis-green) 12%, transparent);
}

.finance-reconciliation-pair dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    border-bottom: 1px solid var(--jarvis-border-muted);
}

.finance-reconciliation-pair dl > div {
    display: grid;
    gap: 0.1rem;
    border-right: 1px solid var(--jarvis-border-muted);
    padding: 0.65rem 0.8rem;
}

.finance-reconciliation-pair dl > div:last-child {
    border-right: 0;
}

.finance-reconciliation-pair dt {
    color: var(--jarvis-muted);
    font-size: 0.62rem;
    font-weight: 800;
    text-transform: uppercase;
}

.finance-reconciliation-pair dd {
    min-width: 0;
    margin: 0;
    color: var(--jarvis-heading);
    font-size: 0.76rem;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
    white-space: normal;
}

.finance-reconciliation-pair dd.is-negative {
    color: var(--jarvis-red);
}

.finance-reconciliation-pair dd.is-positive {
    color: var(--jarvis-green);
}

.finance-reconciliation-pair article > p {
    min-height: 3.3rem;
    margin: 0;
    padding: 0.75rem 0.8rem;
    color: var(--jarvis-text-soft);
    font-size: 0.75rem;
    line-height: 1.45;
}

.finance-external-side-action {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
    min-height: 2.5rem;
    border: 0;
    border-top: 1px solid var(--jarvis-border-muted);
    padding: 0.55rem 0.75rem;
    color: var(--jarvis-blue);
    background: transparent;
    font: inherit;
    font-size: 0.72rem;
    font-weight: 800;
    cursor: pointer;
}

.finance-external-side-action:hover,
.finance-external-side-action:focus-visible {
    background: var(--jarvis-blue-dim);
    outline: none;
}

.finance-external-side-action:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.finance-reconciliation-link {
    display: grid;
    place-items: center;
    color: var(--jarvis-blue);
}

.finance-reconciliation-evidence {
    border-top: 1px solid var(--jarvis-border);
    padding-top: 1rem;
}

.finance-reconciliation-evidence h3 {
    margin: 0 0 0.65rem;
    color: var(--jarvis-heading);
    font-size: 0.84rem;
}

.finance-reconciliation-evidence ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.finance-reconciliation-evidence li {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--jarvis-text-soft);
    font-size: 0.72rem;
}

.finance-reconciliation-evidence li svg {
    color: var(--jarvis-green);
}

.finance-reconciliation-evidence p {
    margin: 0.7rem 0 0;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-reconciliation-actions {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex: 0 0 auto;
    border-top: 1px solid var(--jarvis-border);
    padding: 0.75rem 1.25rem;
    background: var(--jarvis-panel);
}

.finance-reconciliation-action-spacer {
    flex: 1;
}

.finance-review-ready > span,
.finance-review-row > span:nth-child(2) {
    display: grid;
    min-width: 0;
}

.finance-review-ready strong,
.finance-review-row strong {
    color: var(--jarvis-heading);
}

.finance-review-ready small,
.finance-review-row small {
    color: var(--jarvis-muted);
}

.finance-review-row {
    border-top: 1px solid var(--jarvis-border-muted);
}

.finance-review-row:first-child {
    border-top: 0;
}

.finance-settings-list {
    border-block: 1px solid var(--jarvis-border);
}

.finance-settings-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    min-height: 4rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
}

.finance-settings-row:last-child {
    border-bottom: 0;
}

.finance-settings-row > span:first-child {
    display: grid;
    min-width: 0;
    gap: 0.15rem;
}

.finance-settings-row strong {
    color: var(--jarvis-heading);
}

.finance-settings-row small {
    color: var(--jarvis-muted);
}

.finance-settings-row code {
    color: var(--jarvis-text-soft);
}

.finance-balance-band {
    display: grid;
    grid-template-columns: minmax(16rem, 1.25fr) minmax(0, 2fr);
    width: 100%;
    min-width: 0;
    min-height: 9.5rem;
    border-block: 1px solid var(--jarvis-border);
    background: color-mix(in srgb, var(--jarvis-panel) 55%, transparent);
}

.finance-total-value {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid var(--jarvis-border);
    padding: 1.25rem 1.5rem 1.25rem 0;
    min-width: 0;
}

.finance-total-value > span,
.finance-balance-metrics span,
.finance-panel-summary span,
.finance-detail-grid dt {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.finance-total-value > strong {
    max-width: 100%;
    margin: 0.25rem 0;
    color: var(--jarvis-heading);
    font-size: 2.25rem;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.finance-total-value small,
.finance-balance-metrics small,
.finance-account-card small,
.finance-compact-row small,
.finance-document-row small,
.finance-action-list small,
.finance-entity-row small,
.finance-holding-row small {
    color: var(--jarvis-muted);
}

.finance-balance-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.finance-balance-metrics > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    border-right: 1px solid var(--jarvis-border-muted);
    padding: 1.25rem;
}

.finance-balance-metrics > div:last-child {
    border-right: 0;
}

/* The "Samlede omkostninger" card doubles as a button that opens the cost detail panel. */
.finance-balance-metrics > .finance-cost-trigger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 1.25rem;
    border: 0;
    background: transparent;
    text-align: left;
    font: inherit;
    color: inherit;
    cursor: pointer;
    transition: background-color 120ms ease;
}

.finance-cost-trigger small::after {
    content: " ›";
    color: var(--jarvis-blue);
    font-weight: 800;
}

.finance-cost-trigger:hover:not(:disabled),
.finance-cost-trigger:focus-visible {
    background: var(--jarvis-row-hover);
    outline: none;
}

.finance-cost-trigger:focus-visible {
    box-shadow: inset 0 0 0 2px var(--jarvis-focus-ring);
}

.finance-cost-trigger:disabled {
    cursor: default;
}

.finance-cost-trigger:disabled small::after {
    content: "";
}

.finance-balance-metrics strong {
    overflow: hidden;
    margin: 0.25rem 0;
    color: var(--jarvis-heading);
    font-size: 1.15rem;
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-control-strip {
    display: grid;
    grid-template-columns: minmax(10rem, 1.1fr) repeat(3, minmax(9rem, 1fr)) auto;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    border-block: 1px solid var(--jarvis-border);
}

.finance-control-heading,
.finance-control-item,
.finance-control-actions {
    min-width: 0;
    padding: 0.85rem 1rem;
}

.finance-control-heading {
    display: grid;
    align-content: center;
    gap: 0.1rem;
    padding-left: 0;
}

.finance-control-heading span,
.finance-control-item small {
    color: var(--jarvis-muted);
    font-size: 0.66rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-control-heading strong,
.finance-control-item strong {
    color: var(--jarvis-heading);
}

.finance-control-heading small,
.finance-control-item em {
    overflow: hidden;
    color: var(--jarvis-muted);
    font-size: 0.7rem;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-control-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.65rem;
    border-left: 1px solid var(--jarvis-border-muted);
}

.finance-control-item > span:last-child {
    display: grid;
    gap: 0.08rem;
    min-width: 0;
}

.finance-control-icon {
    display: grid;
    place-items: center;
    width: 1.8rem;
    height: 1.8rem;
    border-radius: var(--jarvis-radius-sm);
    color: var(--jarvis-muted);
    background: var(--jarvis-panel-strong);
}

.finance-control-icon.is-good {
    color: var(--jarvis-green);
    background: var(--jarvis-green-dim);
}

.finance-control-icon.is-warning {
    color: var(--jarvis-amber);
    background: var(--jarvis-amber-dim);
}

.finance-control-icon.is-danger {
    color: var(--jarvis-red);
    background: var(--jarvis-red-dim);
}

.finance-control-icon.is-processing {
    color: var(--jarvis-blue);
    background: var(--jarvis-blue-dim);
}

.finance-control-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    border-left: 1px solid var(--jarvis-border-muted);
    padding-right: 0;
}

.finance-control-actions .finance-button {
    min-height: 2.15rem;
    padding: 0 0.65rem;
    font-size: 0.72rem;
    text-decoration: none;
}

.finance-allocation {
    display: grid;
    grid-template-columns: 11rem minmax(10rem, 1fr) auto;
    align-items: center;
    gap: 1rem;
}

.finance-allocation-copy {
    justify-content: space-between;
}

.finance-allocation-copy span {
    color: var(--jarvis-muted);
}

.finance-allocation-copy strong {
    color: var(--jarvis-heading);
}

.finance-allocation-track {
    display: flex;
    height: 0.5rem;
    overflow: hidden;
    border-radius: 0.25rem;
    background: var(--jarvis-panel-strong);
}

.finance-allocation-cash {
    flex: 0 0 auto;
    background: var(--jarvis-blue);
}

.finance-allocation-holdings {
    flex: 1;
    background: var(--jarvis-cyan);
}

.finance-allocation-legend {
    gap: 0.75rem;
    color: var(--jarvis-muted);
    font-size: 0.75rem;
}

.finance-allocation-legend span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}

.finance-allocation-legend i {
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
}

.finance-allocation-legend .is-cash {
    background: var(--jarvis-blue);
}

.finance-allocation-legend .is-holdings {
    background: var(--jarvis-cyan);
}

.finance-attention {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    border: 1px solid color-mix(in srgb, var(--jarvis-amber) 30%, transparent);
    border-radius: var(--jarvis-radius);
    padding: 0.9rem 1rem;
    background: var(--jarvis-amber-dim);
}

.finance-attention-icon {
    width: 2rem;
    height: 2rem;
    color: var(--jarvis-amber);
}

.finance-attention strong,
.finance-attention p,
.finance-attention small {
    display: block;
    margin: 0;
}

.finance-attention p,
.finance-attention small {
    color: var(--jarvis-muted);
}

.finance-section {
    min-width: 0;
}

.finance-section-header {
    gap: 1rem;
    margin-bottom: 0.8rem;
}

.finance-section-header h2 {
    margin: 0 0 0.15rem;
    color: var(--jarvis-heading);
    font-size: 1.02rem;
}

.finance-text-link {
    color: var(--jarvis-blue);
    font-size: 0.8rem;
    font-weight: 850;
    text-decoration: none;
}

.finance-account-list {
    display: grid;
    width: 100%;
    min-width: 0;
    border-top: 1px solid var(--jarvis-border);
}

.finance-account-list-header,
.finance-account-row {
    display: grid;
    grid-template-columns: minmax(16rem, 1.35fr) minmax(8rem, 0.7fr) minmax(7rem, 0.6fr) minmax(10rem, 0.8fr) minmax(7rem, 0.55fr) 1.5rem;
    align-items: center;
    gap: 1rem;
}

.finance-account-list-header {
    min-height: 2.2rem;
    padding: 0 0.65rem;
    color: var(--jarvis-muted);
    font-size: 0.66rem;
    font-weight: 800;
    text-transform: uppercase;
}

.finance-account-list-header > :nth-child(4) {
    text-align: right;
}

.finance-account-row {
    width: 100%;
    min-height: 4.25rem;
    border: 0;
    border-bottom: 1px solid var(--jarvis-border);
    padding: 0.55rem 0.65rem;
    color: var(--jarvis-text);
    background: transparent;
    text-align: left;
    cursor: pointer;
    transition: background 140ms ease, box-shadow 140ms ease;
}

.finance-account-row:hover,
.finance-account-row:focus-visible {
    background: color-mix(in srgb, var(--jarvis-blue) 6%, transparent);
    outline: none;
    box-shadow: inset 3px 0 0 var(--jarvis-blue), var(--jarvis-focus-ring);
}

.finance-account-row.active {
    background: var(--jarvis-blue-dim);
    box-shadow: inset 3px 0 0 var(--jarvis-blue);
}

.finance-account-identity {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.finance-account-identity > span:last-child {
    display: grid;
    min-width: 0;
}

.finance-account-identity strong,
.finance-account-identity small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-account-identity strong {
    color: var(--jarvis-heading);
    font-size: 0.9rem;
}

.finance-account-identity small {
    color: var(--jarvis-muted);
    font-family: var(--font-mono);
    font-size: 0.7rem;
}

.finance-account-row-bank,
.finance-account-row-type,
.finance-account-row-date {
    overflow: hidden;
    color: var(--jarvis-muted);
    font-size: 0.78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-account-row-balance {
    color: var(--jarvis-heading);
    font-size: 0.88rem;
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}

.finance-account-row > .mud-icon-root {
    color: var(--jarvis-muted);
}

.finance-bank-mark,
.finance-file-icon {
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    color: var(--jarvis-blue);
    background: var(--jarvis-blue-dim);
}

.finance-account-type {
    margin-right: auto;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.finance-document-identity > span:last-child,
.finance-compact-row > span:nth-child(2),
.finance-action-list button > span,
.finance-entity-select-button > span:last-child {
    display: grid;
    min-width: 0;
}

.finance-overview-lower {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(17rem, 0.65fr);
    gap: 1.75rem;
    border-top: 1px solid var(--jarvis-border);
    padding-top: 1.5rem;
}

.finance-compact-list,
.finance-action-list,
.finance-entity-list {
    display: grid;
}

.finance-compact-row,
.finance-action-list button {
    display: grid;
    align-items: center;
    width: 100%;
    border: 0;
    border-bottom: 1px solid var(--jarvis-border-muted);
    padding: 0.7rem 0;
    color: var(--jarvis-text);
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.finance-compact-row {
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    gap: 0.7rem;
}

.finance-action-list button {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.75rem;
}

.finance-compact-row:hover,
.finance-action-list button:hover:not(:disabled),
.finance-compact-row:focus-visible,
.finance-action-list button:focus-visible {
    color: var(--jarvis-blue);
    outline: none;
}

.finance-action-list button:disabled {
    cursor: default;
    opacity: 0.55;
}

.finance-compact-row strong,
.finance-action-list strong {
    overflow: hidden;
    color: var(--jarvis-heading);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-status {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 1rem;
    padding: 0.18rem 0.48rem;
    font-size: 0.7rem;
    font-weight: 850;
    white-space: nowrap;
}

.finance-status.is-good {
    color: var(--jarvis-green);
    background: var(--jarvis-green-dim);
}

.finance-status.is-warning {
    color: var(--jarvis-amber);
    background: var(--jarvis-amber-dim);
}

.finance-status.is-danger {
    color: var(--jarvis-red);
    background: var(--jarvis-red-dim);
}

.finance-status.is-neutral {
    color: var(--jarvis-muted);
    background: var(--jarvis-panel-strong);
}

.finance-status.is-processing {
    gap: 0.35rem;
    color: var(--jarvis-blue);
    background: var(--jarvis-blue-dim);
}

.finance-inline-spinner {
    width: 0.78rem;
    height: 0.78rem;
    flex: 0 0 auto;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: finance-spin 700ms linear infinite;
}

.finance-documents-toolbar {
    margin-bottom: 0;
}

.finance-filter-bar {
    display: grid;
    grid-template-columns: minmax(15rem, 1fr) 12rem;
    gap: 0.65rem;
}

.finance-search-field {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
    min-height: 2.5rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0 0.7rem;
    color: var(--jarvis-muted);
    background: var(--jarvis-input-bg);
}

.finance-search-field:focus-within {
    border-color: var(--jarvis-blue-border);
    box-shadow: var(--jarvis-focus-ring);
}

.finance-search-field input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    color: var(--jarvis-text);
    background: transparent;
    font: inherit;
}

.finance-native-select,
.finance-ledger-secondary-filters input,
.finance-ledger-secondary-filters select {
    min-height: 2.5rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0 0.65rem;
    color: var(--jarvis-text);
    background: var(--jarvis-input-bg);
    font: inherit;
}

.finance-document-list {
    min-width: 0;
    border-top: 1px solid var(--jarvis-border);
}

.finance-document-list-header,
.finance-document-row {
    display: grid;
    grid-template-columns: 2.25rem minmax(14rem, 2.1fr) minmax(9rem, 1.1fr) minmax(7rem, 0.85fr) minmax(5.5rem, 0.6fr) minmax(7.5rem, 0.75fr) 1.5rem;
    align-items: center;
    gap: 0.8rem;
}

.finance-document-list-header {
    min-height: 2.5rem;
    color: var(--jarvis-muted);
    font-size: 0.7rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-document-row {
    width: 100%;
    min-height: 3.8rem;
    border: 0;
    border-top: 1px solid var(--jarvis-border-muted);
    padding: 0.45rem 0;
    color: var(--jarvis-text-soft);
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.finance-document-row.is-extracting {
    background: color-mix(in srgb, var(--jarvis-blue) 6%, transparent);
    box-shadow: inset 3px 0 0 var(--jarvis-blue);
}

.finance-document-row:hover,
.finance-document-row:focus-visible {
    color: var(--jarvis-heading);
    background: color-mix(in srgb, var(--jarvis-blue) 4%, transparent);
    outline: none;
}

.finance-document-identity {
    display: grid;
    min-width: 0;
}

.finance-document-identity strong,
.finance-document-row > span > strong {
    overflow: hidden;
    color: var(--jarvis-heading);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-document-row > span {
    display: grid;
    min-width: 0;
}

.finance-document-extraction-state {
    gap: 0.15rem;
}

.finance-document-row-activity {
    display: grid;
    place-items: center;
    color: var(--jarvis-blue);
}

.finance-file-icon.is-pdf {
    border-color: color-mix(in srgb, var(--jarvis-red) 35%, var(--jarvis-border));
    color: var(--jarvis-red);
    background: var(--jarvis-red-dim);
}

.finance-file-icon.is-pdf img {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
}

.finance-file-icon.is-generic {
    color: var(--jarvis-muted);
    background: var(--jarvis-panel-strong);
}

.finance-panel-scrim {
    position: fixed;
    z-index: 450;
    inset: 0;
    display: flex;
    justify-content: flex-end;
    background: rgba(0, 0, 0, 0.58);
    backdrop-filter: blur(2px);
}

.finance-side-panel {
    display: flex;
    flex-direction: column;
    width: min(48rem, calc(100vw - 4rem));
    height: 100dvh;
    border-left: 1px solid var(--jarvis-border-strong);
    color: var(--jarvis-text);
    background: var(--jarvis-bg);
    box-shadow: var(--jarvis-shadow-strong);
}

.finance-document-panel,
.finance-entity-panel {
    width: min(34rem, calc(100vw - 4rem));
}

.finance-panel-header {
    flex: 0 0 auto;
    gap: 1rem;
    min-height: 5.5rem;
    border-bottom: 1px solid var(--jarvis-border);
    padding: 1rem 1.25rem;
    background: var(--jarvis-panel);
}

.finance-panel-header > div {
    min-width: 0;
}

.finance-panel-header span {
    color: var(--jarvis-blue);
    font-size: 0.72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-panel-header h2 {
    overflow: hidden;
    margin: 0.12rem 0;
    color: var(--jarvis-heading);
    font-size: 1.15rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-panel-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    flex: 0 0 auto;
    border-bottom: 1px solid var(--jarvis-border);
}

.finance-panel-summary > div {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
    border-right: 1px solid var(--jarvis-border-muted);
    padding: 0.8rem 1rem;
}

.finance-panel-summary > div:last-child {
    border-right: 0;
}

.finance-panel-summary strong {
    overflow: hidden;
    color: var(--jarvis-heading);
    font-size: 0.95rem;
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-panel-tabs {
    display: flex;
    gap: 1rem;
    flex: 0 0 auto;
    min-height: 3rem;
    border-bottom: 1px solid var(--jarvis-border);
    padding: 0 1.25rem;
}

.finance-panel-tabs button {
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 0 0.1rem;
    color: var(--jarvis-muted);
    background: transparent;
    font: inherit;
    font-size: 0.8rem;
    font-weight: 850;
    cursor: pointer;
}

.finance-panel-tabs button.active {
    border-bottom-color: var(--jarvis-blue);
    color: var(--jarvis-heading);
}

.finance-panel-tabs button span {
    margin-left: 0.3rem;
    color: var(--jarvis-muted);
}

.finance-panel-body {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 1.25rem;
}

/* Cost detail side panel: the individual fee postings behind "Samlede omkostninger". */
.finance-cost-summary-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.1rem;
}

.finance-cost-summary-strip > div {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
    padding: 0.75rem;
    border: 1px solid var(--jarvis-border-muted);
    border-radius: var(--jarvis-radius-sm);
    background: var(--jarvis-panel);
}

.finance-cost-summary-strip span {
    color: var(--jarvis-muted);
    font-size: 0.66rem;
    font-weight: 800;
    text-transform: uppercase;
}

.finance-cost-summary-strip strong {
    overflow: hidden;
    color: var(--jarvis-heading);
    font-size: 1.05rem;
    font-variant-numeric: tabular-nums;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-cost-list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
}

.finance-cost-year {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 0.9rem;
    padding: 0.35rem 0;
    border-bottom: 1px solid var(--jarvis-border);
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.finance-cost-year:first-child {
    margin-top: 0;
}

.finance-cost-year strong {
    color: var(--jarvis-text);
    font-variant-numeric: tabular-nums;
}

.finance-cost-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.6rem 0;
    border-bottom: 1px solid var(--jarvis-border-muted);
}

.finance-cost-row-main {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.finance-cost-date {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
}

.finance-cost-type {
    overflow: hidden;
    color: var(--jarvis-heading);
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-cost-account {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-cost-row-meta {
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.3rem;
    text-align: right;
}

.finance-cost-amount {
    color: var(--jarvis-text);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.finance-cost-nota {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    white-space: nowrap;
}

.finance-cost-nota:hover {
    text-decoration: underline;
}

.finance-cost-loading {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: var(--jarvis-muted);
}

.finance-cost-detail .finance-empty-hint {
    padding: 1.5rem 0;
    color: var(--jarvis-muted);
    text-align: center;
}

/* "Mine forslag til Andy": the seed-a-name panel in the Paper Lab. */
.finance-seed-panel {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--jarvis-border-muted);
    border-radius: var(--jarvis-radius-md);
    background: var(--jarvis-panel);
}

.finance-seed-panel h3 {
    margin: 0;
    color: var(--jarvis-heading);
    font-size: 1rem;
}

.finance-seed-panel p {
    margin: 0.2rem 0 0;
    color: var(--jarvis-muted);
    font-size: 0.8rem;
}

.finance-seed-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
}

.finance-seed-form input[type="text"] {
    flex: 1 1 8rem;
    min-width: 0;
    padding: 0.5rem 0.65rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    background: var(--jarvis-input-bg);
    color: var(--jarvis-text);
    font: inherit;
}

.finance-seed-form .finance-native-select {
    flex: 0 1 12rem;
}

.finance-seed-form .finance-button {
    flex: 0 0 auto;
}

.finance-seed-error {
    margin: 0;
    color: var(--jarvis-red);
    font-size: 0.8rem;
}

.finance-seed-empty {
    margin: 0;
    color: var(--jarvis-muted);
    font-size: 0.8rem;
}

.finance-seed-list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.finance-seed-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0.65rem;
    border: 1px solid var(--jarvis-border-muted);
    border-radius: var(--jarvis-radius-sm);
    background: var(--jarvis-surface);
}

.finance-seed-item-main {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.finance-seed-item-main strong {
    color: var(--jarvis-heading);
    font-variant-numeric: tabular-nums;
}

.finance-seed-item-main small {
    overflow: hidden;
    color: var(--jarvis-muted);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-panel-loading {
    flex: 1;
    border: 0;
}

.finance-ledger-toolbar {
    flex-wrap: wrap;
    gap: 0.65rem;
    flex: 0 0 auto;
    padding: 0.85rem 1.25rem 0.55rem;
}

.finance-ledger-toolbar .finance-search-field {
    flex: 1 1 16rem;
}

.finance-filter-chips {
    display: flex;
    gap: 0.3rem;
}

.finance-filter-chips button,
.finance-clear-filter {
    min-height: 2.25rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0 0.65rem;
    color: var(--jarvis-muted);
    background: var(--jarvis-surface);
    font: inherit;
    font-size: 0.75rem;
    font-weight: 800;
    cursor: pointer;
}

.finance-filter-chips button.active {
    border-color: var(--jarvis-blue-border);
    color: var(--jarvis-blue);
    background: var(--jarvis-blue-dim);
}

.finance-ledger-secondary-filters {
    flex-wrap: wrap;
    gap: 0.55rem;
    flex: 0 0 auto;
    padding: 0 1.25rem 0.7rem;
}

.finance-ledger-secondary-filters label {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    font-weight: 800;
}

.finance-ledger-secondary-filters input,
.finance-ledger-secondary-filters select {
    min-height: 2.15rem;
    font-size: 0.75rem;
}

.finance-ledger-scroll {
    flex: 1;
    min-height: 0;
    overflow: auto;
    border-block: 1px solid var(--jarvis-border-muted);
}

.finance-ledger-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.78rem;
}

.finance-ledger-table th {
    position: sticky;
    z-index: 2;
    top: 0;
    height: 2.4rem;
    padding: 0 0.75rem;
    color: var(--jarvis-muted);
    background: var(--jarvis-panel);
    font-size: 0.68rem;
    text-align: left;
    text-transform: uppercase;
}

.finance-ledger-table td {
    height: 3.15rem;
    border-top: 1px solid var(--jarvis-border-muted);
    padding: 0.45rem 0.75rem;
    color: var(--jarvis-text-soft);
    vertical-align: middle;
}

/* Match the 1.25rem horizontal padding finance-ledger-toolbar/-secondary-filters
   use above the table, so the first/last column edges line up with the toolbar. */
.finance-ledger-table th:first-child,
.finance-ledger-table td:first-child {
    padding-left: 1.25rem;
}

.finance-ledger-table th:last-child,
.finance-ledger-table td:last-child {
    padding-right: 1.25rem;
}

.finance-ledger-table tr.is-checkpoint td {
    background: color-mix(in srgb, var(--jarvis-blue) 5%, transparent);
}

.finance-ledger-table .numeric {
    text-align: right;
    font-family: var(--font-mono);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.finance-ledger-table .is-positive {
    color: var(--jarvis-green);
}

.finance-ledger-detail-trigger {
    display: grid;
    justify-content: flex-start;
    width: 100%;
    border: 0;
    padding: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.finance-ledger-detail-trigger:hover strong,
.finance-ledger-detail-trigger:focus-visible strong {
    color: var(--jarvis-blue);
}

.finance-ledger-detail-trigger:focus-visible {
    outline: none;
}

.finance-discrepancy,
.finance-needs-document,
.finance-fee-note-badge,
.finance-external-flow-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 0.3rem;
    border-radius: 1rem;
    padding: 0.16rem 0.5rem;
    color: var(--jarvis-amber);
    background: var(--jarvis-amber-dim);
    font-size: 0.68rem;
    font-weight: 850;
}

.finance-external-flow-badge {
    color: var(--jarvis-green);
    background: color-mix(in srgb, var(--jarvis-green) 12%, transparent);
}

/* A Gebyrnota is informational, not a warning -- a matched fee simply has its
   specification available for drill-down, so it reads calm (cyan), not amber. */
.finance-fee-note-badge {
    color: var(--jarvis-cyan, #38bdf8);
    background: color-mix(in srgb, var(--jarvis-cyan, #38bdf8) 12%, transparent);
    margin-left: 0.4rem;
}

.finance-inline-note {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0.5rem;
    flex: 0 0 auto;
    margin: 0 1.25rem 1rem;
    border: 1px solid var(--jarvis-blue-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0.65rem 0.75rem;
    color: var(--jarvis-muted);
    background: var(--jarvis-blue-dim);
    font-size: 0.75rem;
}

.finance-inline-note span {
    flex: 1 1 auto;
}

.finance-inline-note-warning {
    border: 1px solid color-mix(in srgb, var(--jarvis-amber) 30%, transparent);
    background: var(--jarvis-amber-dim);
    color: var(--jarvis-amber);
}

.finance-inline-note button {
    flex: 0 0 auto;
}

.finance-entry-detail {
    position: absolute;
    z-index: 3;
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
    border: 1px solid var(--jarvis-border-strong);
    border-radius: var(--jarvis-radius);
    max-height: calc(100dvh - 8rem);
    overflow: auto;
    padding: 1rem;
    background: var(--jarvis-panel-raised);
    box-shadow: var(--jarvis-shadow-strong);
}

.finance-account-panel {
    position: relative;
    width: min(72rem, calc(100vw - 22rem));
}

.finance-account-panel-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 1rem;
    min-height: 3.5rem;
    padding: 0.5rem 1rem;
}

.finance-account-panel-heading {
    min-width: 0;
}

.finance-account-panel-header h2 {
    margin-top: 0.08rem;
}

.finance-account-panel-meta {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 0.45rem;
    min-width: 0;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.finance-account-panel-meta strong {
    color: var(--jarvis-heading);
    font-family: var(--font-mono);
    font-size: 0.82rem;
}

.finance-panel-header .finance-account-panel-meta span {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    font-weight: 800;
}

aside.finance-account-panel .data-pager {
    flex: 0 0 auto;
    padding: 0.7rem 1.25rem;
}

.finance-entry-detail header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.8rem;
}

.finance-entry-detail header span {
    color: var(--jarvis-blue);
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-entry-detail h3 {
    margin: 0.15rem 0 0;
    color: var(--jarvis-heading);
    font-size: 1rem;
}

.finance-entry-cash-flow {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 0.8fr) auto;
    align-items: end;
    gap: 0.75rem;
    margin-top: 0.9rem;
    border-top: 1px solid var(--jarvis-border-muted);
    padding-top: 0.85rem;
}

.finance-entry-cash-flow > div,
.finance-entry-cash-flow > label {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.finance-entry-cash-flow > div > span,
.finance-entry-cash-flow > label {
    color: var(--jarvis-muted);
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-entry-cash-flow > div > strong {
    color: var(--jarvis-heading);
    font-size: 0.8rem;
}

.finance-entry-cash-flow > div > small,
.finance-entry-cash-flow > label span {
    color: var(--jarvis-text-soft);
    font-size: 0.7rem;
    font-weight: 500;
    text-transform: none;
}

.finance-entry-cash-flow input {
    min-width: 0;
    height: 2.35rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0 0.65rem;
    color: var(--jarvis-text);
    background: var(--jarvis-surface);
    font: inherit;
    font-size: 0.75rem;
}

.finance-entry-cash-flow input:focus {
    border-color: var(--jarvis-blue-border);
    outline: 2px solid var(--jarvis-blue-dim);
}

.finance-entry-cash-flow .finance-field-error,
.finance-entry-cash-flow .finance-field-success {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 0.72rem;
}

.finance-entry-cash-flow .finance-field-error {
    color: var(--jarvis-red);
}

.finance-entry-cash-flow .finance-field-success {
    color: var(--jarvis-green);
}

.finance-document-detail {
    display: grid;
    align-content: start;
    gap: 1.25rem;
}

.finance-document-preview {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius);
    padding: 0.85rem;
    color: var(--jarvis-text);
    background: var(--jarvis-surface);
    text-decoration: none;
}

.finance-document-preview span:nth-child(2) {
    display: grid;
}

.finance-document-preview:hover,
.finance-document-preview:focus-visible {
    border-color: var(--jarvis-blue-border);
    color: var(--jarvis-blue);
    outline: none;
}

.finance-extraction-progress {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    border: 1px solid var(--jarvis-blue-border);
    border-radius: var(--jarvis-radius);
    padding: 0.9rem 0.9rem 1.05rem;
    background: var(--jarvis-blue-dim);
}

.finance-extraction-progress-icon {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: var(--jarvis-radius-sm);
    color: var(--jarvis-blue);
    background: color-mix(in srgb, var(--jarvis-blue) 14%, transparent);
}

.finance-extraction-progress > div {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.finance-extraction-progress strong {
    color: var(--jarvis-heading);
    font-size: 0.88rem;
}

.finance-extraction-progress > div > span {
    color: var(--jarvis-text-soft);
    font-size: 0.76rem;
}

.finance-extraction-progress-track {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    overflow: hidden;
    border-radius: 0 0 var(--jarvis-radius) var(--jarvis-radius);
    background: color-mix(in srgb, var(--jarvis-blue) 18%, transparent);
}

.finance-extraction-progress-track > span {
    display: block;
    width: 38%;
    height: 100%;
    background: var(--jarvis-blue);
    animation: finance-progress 1.25s ease-in-out infinite;
}

.finance-job-message {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.7rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0.8rem;
}

.finance-job-message > div {
    display: grid;
    gap: 0.2rem;
}

.finance-job-message strong {
    color: var(--jarvis-heading);
}

.finance-job-message span {
    color: var(--jarvis-muted);
    font-size: 0.78rem;
    line-height: 1.4;
}

.finance-job-message.is-danger {
    border-color: color-mix(in srgb, var(--jarvis-red) 35%, var(--jarvis-border));
    color: var(--jarvis-red);
    background: var(--jarvis-red-dim);
}

.finance-job-message.is-neutral {
    color: var(--jarvis-muted);
    background: var(--jarvis-panel-strong);
}

.finance-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem 1rem;
    margin: 0;
}

.finance-detail-grid > div {
    min-width: 0;
    border-bottom: 1px solid var(--jarvis-border-muted);
    padding-bottom: 0.55rem;
}

.finance-detail-grid dd {
    overflow-wrap: anywhere;
    margin: 0.15rem 0 0;
    color: var(--jarvis-heading);
}

.finance-mono {
    font-family: var(--font-mono);
    font-size: 0.7rem;
}

.finance-field-group {
    display: grid;
    gap: 0.4rem;
}

.finance-field-group label {
    color: var(--jarvis-heading);
    font-weight: 800;
}

.finance-field-group small {
    color: var(--jarvis-muted);
}

.finance-panel-action {
    width: fit-content;
}

.finance-danger-zone {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    border-top: 1px solid var(--jarvis-border);
    padding-top: 1rem;
}

.finance-form-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.finance-account-edit {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.finance-field-guidance {
    margin: -0.4rem 0 0;
    color: var(--jarvis-muted);
    font-size: 0.78rem;
    line-height: 1.4;
}

.finance-inline-create {
    display: grid;
    gap: 0.8rem;
    padding: 0.9rem 0;
    border-block: 1px solid var(--jarvis-border);
}

.finance-danger-zone strong,
.finance-danger-zone p {
    display: block;
    margin: 0;
}

.finance-danger-zone strong {
    color: var(--jarvis-heading);
}

.finance-danger-zone p {
    color: var(--jarvis-muted);
}

.finance-entity-list {
    gap: 0.5rem;
    margin-top: 1rem;
}

.finance-entity-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius);
    padding: 0.45rem;
    background: var(--jarvis-surface);
}

.finance-entity-row.selected {
    border-color: var(--jarvis-blue-border);
}

.finance-entity-select-button {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
    border: 0;
    padding: 0.25rem;
    color: var(--jarvis-text);
    background: transparent;
    text-align: left;
    cursor: pointer;
}

.finance-entity-actions {
    gap: 0.3rem;
}

.finance-holdings-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
}

.finance-holdings-table th {
    height: 2.2rem;
    padding: 0 0.6rem;
    color: var(--jarvis-muted);
    background: var(--jarvis-panel);
    font-size: 0.68rem;
    text-align: left;
    text-transform: uppercase;
}

.finance-holdings-table td {
    height: 3.5rem;
    border-top: 1px solid var(--jarvis-border-muted);
    padding: 0.5rem 0.6rem;
    color: var(--jarvis-text-soft);
    text-align: left;
    vertical-align: middle;
}

.finance-holdings-table td strong {
    display: block;
    color: var(--jarvis-heading);
}

.finance-holdings-table td small {
    display: block;
    color: var(--jarvis-muted);
}

.finance-holdings-table th:first-child,
.finance-holdings-table td:first-child {
    padding-left: 1.25rem;
}

.finance-holdings-table th:last-child,
.finance-holdings-table td:last-child {
    padding-right: 1.25rem;
}

.finance-holding-row {
    cursor: pointer;
    transition: background 140ms ease;
}

.finance-holding-row:hover,
.finance-holding-row:focus-visible {
    background: color-mix(in srgb, var(--jarvis-blue) 4%, transparent);
    outline: none;
}

.finance-holding-row.is-closed {
    opacity: 0.6;
}

.finance-bank-mark-cell {
    width: 2.5rem;
}

.finance-holding-row .finance-bank-mark {
    color: var(--jarvis-cyan);
    background: var(--jarvis-cyan-dim);
}

.finance-holding-chevron-cell {
    width: 1.5rem;
    color: var(--jarvis-muted);
}

.finance-holding-closed-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 0.15rem;
    border-radius: 1rem;
    padding: 0.1rem 0.45rem;
    color: var(--jarvis-muted);
    background: var(--jarvis-border-muted);
    font-size: 0.66rem;
    font-weight: 800;
}

.finance-gain-positive {
    color: var(--jarvis-green) !important;
}

.finance-gain-negative {
    color: var(--jarvis-red) !important;
}

.finance-back-button {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    gap: 0.4rem;
    margin: 1rem 1.25rem 0;
    border: 0;
    padding: 0;
    color: var(--jarvis-muted);
    background: transparent;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.finance-back-button:hover {
    color: var(--jarvis-blue);
}

.finance-instrument-heading {
    margin: 0.75rem 1.25rem 0;
}

.finance-instrument-heading h3 {
    margin: 0;
    color: var(--jarvis-heading);
    font-size: 1.15rem;
}

.finance-instrument-transactions-title {
    margin: 1.25rem 1.25rem 0.5rem;
    color: var(--jarvis-heading);
    font-size: 0.9rem;
}

.finance-closed-holdings-title {
    margin: 1.25rem 1.25rem 0.5rem;
    color: var(--jarvis-heading);
    font-size: 0.9rem;
}

.finance-mandates-view {
    display: grid;
    gap: 1rem;
}

.finance-mandate-operations {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-block: 1px solid var(--jarvis-border);
    background: var(--jarvis-panel);
}

.finance-mandate-operations > div {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
    padding: 0.9rem 1rem;
}

.finance-mandate-operations > div + div {
    border-left: 1px solid var(--jarvis-border);
}

.finance-mandate-operations span,
.finance-mandate-section-heading > div > span,
.finance-mandate-rule-columns > div > span {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-mandate-operations strong {
    color: var(--jarvis-heading);
    font-size: 1.45rem;
    line-height: 1;
}

.finance-mandate-operations small {
    color: var(--jarvis-muted);
}

.finance-mandate-list {
    display: grid;
}

.finance-mandate-list-header,
.finance-mandate-row {
    display: grid;
    grid-template-columns: minmax(14rem, 1.5fr) minmax(7rem, 0.7fr) minmax(14rem, 1.45fr) minmax(7rem, 0.7fr) minmax(9rem, 0.9fr) 1.25rem;
    align-items: center;
    gap: 0.9rem;
}

.finance-mandate-list-header {
    min-height: 2.35rem;
    border-bottom: 1px solid var(--jarvis-border);
    padding: 0 0.8rem;
    color: var(--jarvis-muted);
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-mandate-row {
    width: 100%;
    min-height: 4.6rem;
    border: 0;
    border-bottom: 1px solid var(--jarvis-border-muted);
    padding: 0.65rem 0.8rem;
    color: var(--jarvis-text-soft);
    background: transparent;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.finance-mandate-row:hover,
.finance-mandate-row:focus-visible,
.finance-mandate-row.active {
    background: var(--jarvis-panel);
    outline: none;
}

.finance-mandate-row:focus-visible {
    box-shadow: inset 3px 0 0 var(--jarvis-blue), var(--jarvis-focus-ring);
}

.finance-mandate-row > span,
.finance-mandate-identity > span:last-child {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.finance-mandate-row strong,
.finance-mandate-row small,
.finance-mandate-row code {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-mandate-row strong {
    color: var(--jarvis-heading);
    font-size: 0.86rem;
}

.finance-mandate-row small {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-mandate-row code {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
}

.finance-mandate-identity {
    display: flex !important;
    align-items: center;
    gap: 0.7rem;
}

.finance-mandate-panel {
    width: min(56rem, calc(100vw - 3rem));
}

.finance-mandate-panel .finance-panel-header h2 {
    overflow: visible;
    overflow-wrap: anywhere;
    text-overflow: clip;
    white-space: normal;
}

.finance-mandate-panel-toolbar,
.finance-mandate-editor-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
}

.finance-mandate-panel-toolbar {
    flex: 0 0 auto;
    min-height: 3.65rem;
    border-bottom: 1px solid var(--jarvis-border);
    padding: 0.55rem 1.25rem;
    background: var(--jarvis-bg);
}

.finance-mandate-panel-body {
    display: grid;
    align-content: start;
    gap: 1rem;
    overflow-y: auto;
    padding: 1.25rem;
}

.finance-mandate-actionability,
.finance-mandate-locked-policy,
.finance-mandate-draft-row,
.finance-mandate-activation-confirm {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    border-block: 1px solid var(--jarvis-border);
    padding: 0.9rem 0;
}

.finance-mandate-actionability.is-ready {
    border-color: color-mix(in srgb, var(--jarvis-green) 32%, var(--jarvis-border));
}

.finance-mandate-actionability.is-blocked,
.finance-mandate-activation-confirm {
    border-color: color-mix(in srgb, var(--jarvis-amber) 34%, var(--jarvis-border));
}

.finance-mandate-actionability > div,
.finance-mandate-locked-policy > div,
.finance-mandate-activation-confirm > div:first-child {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.finance-mandate-actionability strong,
.finance-mandate-locked-policy strong,
.finance-mandate-activation-confirm strong {
    color: var(--jarvis-heading);
}

.finance-mandate-actionability p,
.finance-mandate-locked-policy p,
.finance-mandate-activation-confirm p {
    margin: 0;
    color: var(--jarvis-muted);
}

.finance-mandate-detail,
.finance-mandate-history,
.finance-mandate-editor {
    display: grid;
    gap: 1rem;
}

.finance-mandate-detail,
.finance-mandate-history {
    border-top: 1px solid var(--jarvis-border);
    padding-top: 1rem;
}

.finance-mandate-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.finance-mandate-section-heading > div {
    min-width: 0;
}

.finance-mandate-section-heading h3 {
    margin: 0.1rem 0 0;
    color: var(--jarvis-heading);
    font-size: 1rem;
}

.finance-mandate-objective {
    margin: 0;
    color: var(--jarvis-text-soft);
    line-height: 1.55;
}

.finance-mandate-definition-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    border-block: 1px solid var(--jarvis-border);
}

.finance-mandate-definition-list > div {
    display: grid;
    gap: 0.22rem;
    padding: 0.75rem;
}

.finance-mandate-definition-list > div:not(:nth-child(3n + 1)) {
    border-left: 1px solid var(--jarvis-border);
}

.finance-mandate-definition-list > div:nth-child(n + 4) {
    border-top: 1px solid var(--jarvis-border);
}

.finance-mandate-definition-list > div.wide {
    grid-column: span 3;
    border-left: 0;
}

.finance-mandate-definition-list dt {
    color: var(--jarvis-muted);
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-mandate-definition-list dd {
    margin: 0;
    color: var(--jarvis-heading);
    font-weight: 750;
}

.finance-mandate-rule-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

.finance-mandate-rule-columns > div {
    min-width: 0;
}

.finance-mandate-rule-columns ul {
    display: grid;
    gap: 0.35rem;
    margin: 0.55rem 0 0;
    padding-left: 1.1rem;
    color: var(--jarvis-text-soft);
}

.finance-mandate-draft-row {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.finance-mandate-draft-row > span:nth-child(2) {
    display: grid;
    gap: 0.18rem;
}

.finance-mandate-draft-row strong {
    color: var(--jarvis-heading);
}

.finance-mandate-draft-row small {
    color: var(--jarvis-muted);
}

.finance-mandate-activation-confirm {
    align-items: flex-start;
    justify-content: space-between;
}

.finance-mandate-activation-confirm > div:last-child {
    display: flex;
    flex: 0 0 auto;
    gap: 0.5rem;
}

.finance-mandate-version-list {
    display: grid;
}

.finance-mandate-version-list > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.8rem;
    min-height: 3.6rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
}

.finance-mandate-version-list > div > span:first-child {
    display: grid;
    gap: 0.16rem;
    min-width: 0;
}

.finance-mandate-version-list strong {
    color: var(--jarvis-heading);
    overflow-wrap: anywhere;
    white-space: normal;
}

.finance-mandate-version-list small {
    color: var(--jarvis-muted);
}

.finance-mandate-editor > label,
.finance-mandate-form-grid > label {
    display: grid;
    gap: 0.35rem;
    color: var(--jarvis-muted);
    font-size: 0.74rem;
    font-weight: 750;
}

.finance-mandate-editor input[type="text"],
.finance-mandate-editor input[type="number"],
.finance-mandate-editor input[type="date"],
.finance-mandate-editor textarea {
    width: 100%;
    min-height: 2.5rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0.55rem 0.65rem;
    color: var(--jarvis-text);
    background: var(--jarvis-input-bg);
    font: inherit;
}

.finance-mandate-editor textarea {
    min-height: 6.5rem;
    resize: vertical;
}

.finance-mandate-editor input:focus,
.finance-mandate-editor textarea:focus {
    border-color: var(--jarvis-blue);
    outline: none;
    box-shadow: var(--jarvis-focus-ring);
}

.finance-mandate-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
}

.finance-mandate-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.35rem;
}

.finance-mandate-tags span {
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0.18rem 0.4rem;
    color: var(--jarvis-text-soft);
    background: var(--jarvis-panel);
    font-size: 0.68rem;
}

.finance-mandate-fieldset {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    margin: 0;
    border: 1px solid var(--jarvis-border);
    padding: 0.8rem;
}

.finance-mandate-fieldset legend {
    padding-inline: 0.3rem;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-mandate-fieldset label,
.finance-mandate-checkbox-line {
    display: flex !important;
    align-items: center;
    gap: 0.45rem !important;
    color: var(--jarvis-text-soft) !important;
    font-size: 0.78rem !important;
}

.finance-mandate-risk-limits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.finance-mandate-risk-limits label {
    display: grid !important;
    align-items: initial;
    gap: 0.35rem !important;
    color: var(--jarvis-muted) !important;
    font-size: 0.72rem !important;
    font-weight: 750;
}

.finance-mandate-risk-summary {
    display: grid;
    gap: 0.45rem;
    border-block: 1px solid var(--jarvis-border);
    padding-block: 0.8rem;
}

.finance-mandate-risk-summary > span {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-mandate-risk-summary dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0;
}

.finance-mandate-risk-summary dl > div {
    min-width: 0;
}

.finance-mandate-risk-summary dt,
.finance-mandate-risk-summary dd {
    margin: 0;
}

.finance-mandate-risk-summary dt {
    color: var(--jarvis-text-soft);
    font-size: 0.76rem;
    font-weight: 800;
}

.finance-mandate-risk-summary dd {
    margin-top: 0.15rem;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    line-height: 1.45;
}

.finance-mandate-fieldset input[type="checkbox"],
.finance-mandate-checkbox-line input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    accent-color: var(--jarvis-blue);
}

.finance-mandate-suffixed-input {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.finance-mandate-suffixed-input span {
    margin-left: -2rem;
    color: var(--jarvis-muted);
    pointer-events: none;
}

.finance-mandate-editor-actions {
    border-top: 1px solid var(--jarvis-border);
    padding-top: 1rem;
}

.finance-risk-view {
    display: grid;
    gap: 1rem;
}

.finance-risk-operations {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-block: 1px solid var(--jarvis-border);
    background: var(--jarvis-panel);
}

.finance-risk-operations > div {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
    padding: 0.85rem 1rem;
}

.finance-risk-operations > div + div {
    border-left: 1px solid var(--jarvis-border);
}

.finance-risk-operations span,
.finance-risk-section-heading > div > span {
    color: var(--jarvis-muted);
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-risk-operations strong {
    color: var(--jarvis-heading);
    font-size: 1.4rem;
    line-height: 1;
}

.finance-risk-operations small {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
}

.finance-risk-list {
    display: grid;
}

.finance-risk-list-header,
.finance-risk-row {
    display: grid;
    grid-template-columns: minmax(14rem, 1.5fr) minmax(8rem, 0.7fr) minmax(8rem, 0.75fr) minmax(12rem, 1.15fr) minmax(9rem, 0.8fr) minmax(6rem, 0.55fr) 1.25rem;
    align-items: center;
    gap: 0.8rem;
}

.finance-risk-list-header {
    min-height: 2.35rem;
    border-bottom: 1px solid var(--jarvis-border);
    padding: 0 0.8rem;
    color: var(--jarvis-muted);
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-risk-row {
    width: 100%;
    min-height: 4.5rem;
    border: 0;
    border-bottom: 1px solid var(--jarvis-border-muted);
    padding: 0.65rem 0.8rem;
    color: var(--jarvis-text-soft);
    background: transparent;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.finance-risk-row:hover,
.finance-risk-row:focus-visible,
.finance-risk-row.active {
    background: var(--jarvis-panel);
    outline: none;
}

.finance-risk-row:focus-visible {
    box-shadow: inset 3px 0 0 var(--jarvis-blue), var(--jarvis-focus-ring);
}

.finance-risk-row > span,
.finance-risk-identity > span:last-child {
    display: grid;
    gap: 0.16rem;
    min-width: 0;
}

.finance-risk-row strong,
.finance-risk-row small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-risk-row strong {
    color: var(--jarvis-heading);
    font-size: 0.83rem;
}

.finance-risk-row small {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
}

.finance-risk-identity {
    display: flex !important;
    align-items: center;
    gap: 0.7rem;
}

.finance-risk-panel {
    width: min(62rem, calc(100vw - 3rem));
}

.finance-risk-panel .finance-panel-header h2 {
    overflow: visible;
    overflow-wrap: anywhere;
    text-overflow: clip;
    white-space: normal;
}

.finance-risk-panel-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    min-height: 3.65rem;
    border-bottom: 1px solid var(--jarvis-border);
    padding: 0.55rem 1.25rem;
    background: var(--jarvis-bg);
}

.finance-risk-panel-body {
    display: grid;
    align-content: start;
    gap: 1.15rem;
    overflow-y: auto;
    padding: 1.25rem;
}

.finance-risk-guard {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    border-block: 1px solid var(--jarvis-border);
    padding: 0.9rem 0;
}

.finance-risk-guard.is-good {
    border-color: color-mix(in srgb, var(--jarvis-green) 35%, var(--jarvis-border));
}

.finance-risk-guard.is-warning {
    border-color: color-mix(in srgb, var(--jarvis-amber) 38%, var(--jarvis-border));
}

.finance-risk-guard.is-danger {
    border-color: color-mix(in srgb, var(--jarvis-red) 38%, var(--jarvis-border));
}

.finance-risk-guard > div {
    display: grid;
    gap: 0.2rem;
}

.finance-risk-guard strong {
    color: var(--jarvis-heading);
}

.finance-risk-guard p {
    margin: 0;
    color: var(--jarvis-muted);
    line-height: 1.45;
}

.finance-risk-summary {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    border-block: 1px solid var(--jarvis-border);
}

.finance-risk-summary > div {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    padding: 0.75rem;
}

.finance-risk-summary > div + div {
    border-left: 1px solid var(--jarvis-border-muted);
}

.finance-risk-summary span,
.finance-risk-threshold-grid span,
.finance-risk-definition-list dt {
    color: var(--jarvis-muted);
    font-size: 0.66rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-risk-summary strong,
.finance-risk-threshold-grid strong {
    color: var(--jarvis-heading);
    overflow-wrap: anywhere;
}

.finance-risk-summary small,
.finance-risk-threshold-grid small {
    color: var(--jarvis-muted);
    font-size: 0.68rem;
}

.finance-risk-thresholds,
.finance-risk-positions,
.finance-risk-position-detail,
.finance-risk-exposure-list,
.finance-risk-data-quality {
    display: grid;
    gap: 0.8rem;
    border-top: 1px solid var(--jarvis-border);
    padding-top: 1rem;
}

.finance-risk-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.finance-risk-section-heading h3 {
    margin: 0.1rem 0 0;
    color: var(--jarvis-heading);
    font-size: 1rem;
}

.finance-risk-section-heading code,
.finance-risk-section-heading > span {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
}

.finance-risk-threshold-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-block: 1px solid var(--jarvis-border-muted);
}

.finance-risk-threshold-grid > div {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
    padding: 0.7rem;
}

.finance-risk-threshold-grid > div + div {
    border-left: 1px solid var(--jarvis-border-muted);
}

.finance-risk-position-list {
    display: grid;
    min-width: 0;
    overflow: hidden;
}

.finance-risk-position-row {
    display: grid;
    grid-template-columns: minmax(14rem, 1.5fr) minmax(4rem, 0.4fr) minmax(7rem, 0.7fr) minmax(7rem, 0.7fr) minmax(7rem, 0.65fr) 1.25rem;
    align-items: center;
    gap: 0.7rem;
    width: 100%;
    min-height: 3.75rem;
    border: 0;
    border-bottom: 1px solid var(--jarvis-border-muted);
    padding: 0.5rem 0;
    color: var(--jarvis-text-soft);
    background: transparent;
    font: inherit;
    text-align: left;
    cursor: pointer;
    min-width: 0;
    overflow: hidden;
}

.finance-risk-position-row > * {
    min-width: 0;
}

.finance-risk-position-row:hover,
.finance-risk-position-row:focus-visible,
.finance-risk-position-row.active {
    background: var(--jarvis-panel);
    outline: none;
}

.finance-risk-position-row:focus-visible {
    box-shadow: inset 3px 0 0 var(--jarvis-blue), var(--jarvis-focus-ring);
}

.finance-risk-position-row > span:first-child,
.finance-risk-position-row > span:nth-child(3),
.finance-risk-position-row > span:nth-child(4) {
    display: grid;
    gap: 0.14rem;
    min-width: 0;
}

.finance-risk-position-row strong {
    color: var(--jarvis-heading);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-risk-position-row small {
    color: var(--jarvis-muted);
    font-size: 0.68rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-risk-position-row .finance-status {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.finance-risk-definition-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
    border-block: 1px solid var(--jarvis-border-muted);
}

.finance-risk-definition-list > div {
    display: grid;
    gap: 0.2rem;
    padding: 0.7rem;
}

.finance-risk-definition-list > div:not(:nth-child(3n + 1)) {
    border-left: 1px solid var(--jarvis-border-muted);
}

.finance-risk-definition-list > div:nth-child(n + 4) {
    border-top: 1px solid var(--jarvis-border-muted);
}

.finance-risk-definition-list dd {
    margin: 0;
    color: var(--jarvis-heading);
    font-weight: 750;
}

.finance-risk-rule-list {
    display: grid;
}

.finance-risk-rule-list > div {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.7rem;
    min-height: 3.6rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
}

.finance-risk-rule-list > div > span:nth-child(2) {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.finance-risk-rule-list strong {
    color: var(--jarvis-heading);
}

.finance-risk-rule-list small {
    color: var(--jarvis-muted);
    overflow-wrap: anywhere;
}

.finance-risk-rule-list code {
    color: var(--jarvis-muted);
    font-size: 0.64rem;
}

.finance-compliance-position {
    display: grid;
    gap: 0.8rem;
    border-top: 1px solid var(--jarvis-border);
    padding-top: 1rem;
}

.finance-compliance-rule-list a {
    width: fit-content;
    color: var(--jarvis-blue);
    font-size: 0.68rem;
    text-decoration: none;
}

.finance-compliance-rule-list a:hover,
.finance-compliance-rule-list a:focus-visible {
    text-decoration: underline;
}

.finance-compliance-matches {
    display: grid;
    border-block: 1px solid color-mix(in srgb, var(--jarvis-red) 38%, var(--jarvis-border));
}

.finance-compliance-matches > div {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(9rem, auto) auto;
    align-items: center;
    gap: 0.8rem;
    min-height: 3.6rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
    padding: 0.55rem 0;
}

.finance-compliance-matches > div:last-child {
    border-bottom: 0;
}

.finance-compliance-matches span {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.finance-compliance-matches strong {
    color: var(--jarvis-heading);
    overflow-wrap: anywhere;
}

.finance-compliance-matches small,
.finance-compliance-matches code {
    color: var(--jarvis-muted);
    font-size: 0.68rem;
    overflow-wrap: anywhere;
    white-space: normal;
}

.finance-compliance-matches a {
    color: var(--jarvis-blue);
    font-size: 0.72rem;
}

.finance-risk-action-box,
.finance-risk-review-form {
    display: grid;
    gap: 0.75rem;
    border-block: 1px solid var(--jarvis-border);
    padding: 0.9rem 0;
}

.finance-risk-action-box.is-exception {
    border-color: color-mix(in srgb, var(--jarvis-red) 36%, var(--jarvis-border));
}

.finance-risk-action-box.is-documented {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    border-color: color-mix(in srgb, var(--jarvis-green) 34%, var(--jarvis-border));
}

.finance-risk-action-box > div,
.finance-risk-review-form > div:first-child,
.finance-risk-action-box > span {
    display: grid;
    gap: 0.18rem;
}

.finance-risk-action-box strong,
.finance-risk-review-form strong {
    color: var(--jarvis-heading);
}

.finance-risk-action-box p,
.finance-risk-review-form p {
    margin: 0;
    color: var(--jarvis-muted);
}

.finance-risk-action-box label,
.finance-risk-review-form label {
    display: grid;
    gap: 0.32rem;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    font-weight: 750;
}

.finance-risk-action-box input,
.finance-risk-action-box textarea,
.finance-risk-review-form select,
.finance-risk-review-form textarea {
    width: 100%;
    min-height: 2.45rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0.52rem 0.62rem;
    color: var(--jarvis-text);
    background: var(--jarvis-input-bg);
    font: inherit;
}

.finance-risk-action-box textarea,
.finance-risk-review-form textarea {
    resize: vertical;
}

.finance-risk-action-box input:focus,
.finance-risk-action-box textarea:focus,
.finance-risk-review-form select:focus,
.finance-risk-review-form textarea:focus {
    border-color: var(--jarvis-blue);
    outline: none;
    box-shadow: var(--jarvis-focus-ring);
}

.finance-risk-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.finance-risk-exposure-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}

.finance-risk-exposure-row {
    display: grid;
    grid-template-columns: minmax(9rem, 1fr) minmax(6rem, 1fr) 3.5rem;
    align-items: center;
    gap: 0.7rem;
    min-height: 2.8rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
}

.finance-risk-exposure-row > span {
    display: grid;
    gap: 0.12rem;
    min-width: 0;
}

.finance-risk-exposure-row strong {
    color: var(--jarvis-heading);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-risk-exposure-row small {
    color: var(--jarvis-muted);
    font-size: 0.66rem;
}

.finance-risk-exposure-row > div {
    height: 0.34rem;
    overflow: hidden;
    border-radius: 2px;
    background: var(--jarvis-border-muted);
}

.finance-risk-exposure-row i {
    display: block;
    height: 100%;
    background: var(--jarvis-blue);
}

.finance-compliance-source {
    display: grid;
    gap: 0.8rem;
    border-top: 1px solid var(--jarvis-border);
    padding-top: 1rem;
}

.finance-compliance-source-meta {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0;
    border-block: 1px solid var(--jarvis-border-muted);
}

.finance-compliance-source-meta > div {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    padding: 0.7rem;
}

.finance-compliance-source-meta > div + div {
    border-left: 1px solid var(--jarvis-border-muted);
}

.finance-compliance-source-meta dt {
    color: var(--jarvis-muted);
    font-size: 0.66rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-compliance-source-meta dd {
    margin: 0;
    color: var(--jarvis-heading);
    font-size: 0.75rem;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.finance-compliance-source-message {
    margin: 0;
    color: var(--jarvis-muted);
    font-size: 0.74rem;
}

.finance-compliance-source-links {
    display: grid;
}

.finance-compliance-source-links > a {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.7rem;
    min-height: 3rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
    color: var(--jarvis-text-soft);
    text-decoration: none;
}

.finance-compliance-source-links > a:hover,
.finance-compliance-source-links > a:focus-visible {
    color: var(--jarvis-blue);
    background: var(--jarvis-panel);
    outline: none;
}

.finance-compliance-source-links span {
    display: grid;
    gap: 0.12rem;
    min-width: 0;
}

.finance-compliance-source-links strong {
    color: var(--jarvis-heading);
    font-size: 0.76rem;
}

.finance-compliance-source-links small {
    color: var(--jarvis-muted);
    font-size: 0.66rem;
}

.finance-compliance-authority {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.55rem;
    margin: 0;
    border-block: 1px solid color-mix(in srgb, var(--jarvis-blue) 34%, var(--jarvis-border));
    padding: 0.75rem 0;
    color: var(--jarvis-muted);
    font-size: 0.74rem;
    line-height: 1.45;
}

.finance-risk-data-quality summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--jarvis-heading);
    font-weight: 800;
    cursor: pointer;
}

.finance-risk-data-quality ul {
    display: grid;
    gap: 0.35rem;
    margin: 0;
    padding-left: 1.2rem;
    color: var(--jarvis-muted);
}

.finance-risk-data-quality code {
    overflow-wrap: anywhere;
    white-space: normal;
}

@media (max-width: 900px) {
    .finance-view-switcher {
        overflow-x: auto;
        scrollbar-width: thin;
    }

    .finance-view-link {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .finance-reconciliation-header,
    .finance-reconciliation-row {
        grid-template-columns: minmax(0, 1fr) minmax(8rem, auto) minmax(7rem, auto) 1.5rem;
    }

    .finance-reconciliation-header > :nth-child(2),
    .finance-reconciliation-row > :nth-child(2) {
        display: none;
    }

    .finance-mandate-list-header {
        display: none;
    }

    .finance-mandate-row {
        grid-template-columns: minmax(0, 1fr) minmax(10rem, 0.8fr) auto 1.25rem;
    }

    .finance-mandate-row > :nth-child(2),
    .finance-mandate-row > :nth-child(5) {
        display: none;
    }

    .finance-mandate-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-risk-list-header {
        display: none;
    }

    .finance-risk-row {
        grid-template-columns: minmax(14rem, 1.4fr) minmax(8rem, 0.7fr) minmax(7rem, 0.6fr) minmax(5rem, 0.45fr) 1.25rem;
    }

    .finance-risk-row > :nth-child(3),
    .finance-risk-row > :nth-child(5) {
        display: none;
    }

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

    .finance-risk-summary > div:nth-child(4) {
        border-left: 0;
    }

    .finance-risk-summary > div:nth-child(n + 4) {
        border-top: 1px solid var(--jarvis-border-muted);
    }

    .finance-compliance-source-meta {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .finance-compliance-source-meta > div:nth-child(4) {
        border-left: 0;
    }

    .finance-compliance-source-meta > div:nth-child(n + 4) {
        border-top: 1px solid var(--jarvis-border-muted);
    }

    .finance-risk-threshold-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-risk-threshold-grid > div:nth-child(3) {
        border-left: 0;
    }

    .finance-risk-threshold-grid > div:nth-child(n + 3) {
        border-top: 1px solid var(--jarvis-border-muted);
    }

    .finance-risk-position-row {
        grid-template-columns: minmax(12rem, 1.3fr) minmax(4rem, 0.4fr) minmax(7rem, 0.7fr) minmax(7rem, 0.65fr) 1.25rem;
    }

    .finance-risk-position-row > span:nth-child(4) {
        display: none;
    }

    .finance-risk-position-row > span:first-child strong {
        overflow: visible;
        overflow-wrap: anywhere;
        text-overflow: clip;
        white-space: normal;
    }

    .finance-risk-review-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-metric-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-metric-row > div:nth-child(2) {
        border-right: 0;
    }

    .finance-metric-row > div:nth-child(n+3) {
        border-top: 1px solid var(--jarvis-border-muted);
    }

    .finance-performance-metrics > div:nth-child(even) {
        border-right: 0;
    }

    .finance-performance-main {
        grid-template-columns: 1fr;
    }

    .finance-performance-summary {
        border-top: 1px solid var(--jarvis-border);
        border-left: 0;
        padding-top: 1rem;
        padding-left: 0;
    }

    .finance-performance-table {
        overflow-x: auto;
    }

    .finance-performance-table-header,
    .finance-performance-table-row {
        min-width: 48rem;
    }

    .finance-manager-comparison-table {
        overflow-x: visible;
    }

    .finance-manager-comparison-header {
        display: none;
    }

    .finance-manager-comparison-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem 1rem;
        min-width: 0;
        padding: 0.8rem 0;
    }

    .finance-manager-comparison-row > span:first-child {
        grid-column: 1 / -1;
    }

    .finance-manager-comparison-row > :not(:first-child) {
        display: grid;
        gap: 0.12rem;
        text-align: left;
    }

    .finance-manager-comparison-row > [data-label]::before {
        content: attr(data-label);
        color: var(--jarvis-muted);
        font-size: 0.62rem;
        font-weight: 750;
        text-transform: uppercase;
    }

    .finance-manager-score-band {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .finance-manager-score-band > div:nth-child(3) {
        border-right: 0;
    }

    .finance-manager-score-band > div:nth-child(n + 4) {
        border-top: 1px solid var(--jarvis-border-muted);
    }

    .finance-manager-horizon-header {
        display: none;
    }

    .finance-manager-horizon-row {
        grid-template-columns: minmax(8.5rem, 1fr) repeat(3, minmax(5rem, 0.7fr));
        padding-block: 0.65rem;
    }

    .finance-manager-horizon-row > :nth-child(n + 5) {
        display: none;
    }

    .finance-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .finance-header-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .finance-balance-band {
        grid-template-columns: 1fr;
    }

    .finance-total-value {
        border-right: 0;
        border-bottom: 1px solid var(--jarvis-border);
        padding: 1.25rem;
    }

    .finance-allocation {
        grid-template-columns: 1fr;
    }

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

    .finance-control-heading {
        padding-left: 1rem;
    }

    .finance-control-heading,
    .finance-control-actions {
        grid-column: 1 / -1;
    }

    .finance-control-item:nth-of-type(2) {
        border-left: 0;
    }

    .finance-control-actions {
        justify-content: flex-start;
        border-top: 1px solid var(--jarvis-border-muted);
        padding-right: 1rem;
    }

    .finance-overview-lower {
        grid-template-columns: 1fr;
    }

    .finance-account-list-header,
    .finance-account-row {
        grid-template-columns: minmax(14rem, 1.4fr) minmax(7rem, 0.65fr) minmax(9rem, 0.8fr) 1.5rem;
    }

    .finance-account-list-header > :nth-child(2),
    .finance-account-list-header > :nth-child(5),
    .finance-account-row-bank,
    .finance-account-row-date {
        display: none;
    }

    .finance-account-panel {
        width: min(48rem, 100vw);
    }

    .finance-document-list-header,
    .finance-document-row {
        grid-template-columns: 2.25rem minmax(14rem, 2fr) minmax(8rem, 1fr) minmax(7.5rem, 0.8fr) 1.5rem;
    }

    .finance-document-list-header > :nth-child(4),
    .finance-document-row > :nth-child(4),
    .finance-document-list-header > :nth-child(5),
    .finance-document-row > :nth-child(5) {
        display: none;
    }
}

@media (max-width: 640px) {
    .finance-workspace {
        gap: 1rem;
    }

    .finance-heading h1 {
        font-size: 1.55rem;
    }

    .finance-total-value {
        padding-inline: 0;
    }

    .finance-total-value > strong {
        font-size: 1.65rem;
    }

    .finance-view-switcher {
        gap: 1rem;
    }

    .finance-view-link {
        min-height: 2.75rem;
        padding-bottom: 0.65rem;
    }

    .finance-mandate-operations > div {
        padding: 0.7rem 0.55rem;
    }

    .finance-mandate-operations strong {
        font-size: 1.2rem;
    }

    .finance-mandate-operations small {
        font-size: 0.64rem;
        line-height: 1.25;
    }

    .finance-risk-operations {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-risk-operations > div:nth-child(3),
    .finance-risk-operations > div:nth-child(5) {
        border-left: 0;
    }

    .finance-risk-operations > div:nth-child(n + 3) {
        border-top: 1px solid var(--jarvis-border);
    }

    .finance-risk-operations > div {
        padding: 0.7rem 0.55rem;
    }

    .finance-risk-row {
        grid-template-columns: minmax(0, 1fr) auto 1.25rem;
        min-height: 4.2rem;
        padding-inline: 0;
    }

    .finance-risk-row > :nth-child(4),
    .finance-risk-row > :nth-child(6) {
        display: none;
    }

    .finance-risk-panel {
        width: 100vw;
    }

    .finance-risk-panel-toolbar {
        padding-inline: 0.75rem;
    }

    .finance-risk-panel-body {
        padding: 0.9rem 0.75rem 1.5rem;
    }

    .finance-risk-summary,
    .finance-risk-threshold-grid,
    .finance-risk-definition-list,
    .finance-risk-review-grid,
    .finance-risk-exposure-columns,
    .finance-compliance-source-meta {
        grid-template-columns: 1fr;
    }

    .finance-risk-summary > div,
    .finance-risk-summary > div + div,
    .finance-risk-threshold-grid > div,
    .finance-risk-threshold-grid > div + div,
    .finance-risk-definition-list > div,
    .finance-risk-definition-list > div:not(:nth-child(3n + 1)),
    .finance-compliance-source-meta > div,
    .finance-compliance-source-meta > div + div {
        border-top: 1px solid var(--jarvis-border-muted);
        border-left: 0;
    }

    .finance-risk-summary > div:first-child,
    .finance-risk-threshold-grid > div:first-child,
    .finance-risk-definition-list > div:first-child,
    .finance-compliance-source-meta > div:first-child {
        border-top: 0;
    }

    .finance-risk-position-row {
        grid-template-columns: minmax(0, 1fr) auto auto 1.25rem;
        min-height: 4rem;
    }

    .finance-risk-position-row > span:nth-child(3),
    .finance-risk-position-row > span:nth-child(4) {
        display: none;
    }

    .finance-risk-rule-list > div {
        grid-template-columns: auto minmax(0, 1fr);
        padding-block: 0.55rem;
    }

    .finance-risk-rule-list code {
        grid-column: 2;
    }

    .finance-compliance-matches > div {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .finance-compliance-matches a {
        grid-column: 1 / -1;
    }

    .finance-risk-exposure-row {
        grid-template-columns: minmax(0, 1fr) 5rem 3.25rem;
    }

    .finance-mandate-row {
        grid-template-columns: minmax(0, 1fr) auto 1.25rem;
        min-height: 4.25rem;
        padding-inline: 0;
    }

    .finance-mandate-row > :nth-child(3) {
        display: none;
    }

    .finance-mandate-panel {
        width: 100vw;
    }

    .finance-mandate-panel-toolbar {
        padding-inline: 0.75rem;
    }

    .finance-mandate-panel-body {
        padding: 0.9rem 0.75rem 1.5rem;
    }

    .finance-mandate-actionability,
    .finance-mandate-locked-policy {
        align-items: flex-start;
    }

    .finance-mandate-activation-confirm {
        align-items: stretch;
        flex-direction: column;
    }

    .finance-mandate-activation-confirm > div:last-child,
    .finance-mandate-editor-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .finance-mandate-form-grid,
    .finance-mandate-fieldset,
    .finance-mandate-rule-columns,
    .finance-mandate-risk-summary dl {
        grid-template-columns: 1fr;
    }

    .finance-mandate-definition-list {
        grid-template-columns: 1fr;
    }

    .finance-mandate-definition-list > div,
    .finance-mandate-definition-list > div:not(:nth-child(3n + 1)),
    .finance-mandate-definition-list > div.wide {
        grid-column: auto;
        border-top: 1px solid var(--jarvis-border);
        border-left: 0;
    }

    .finance-mandate-definition-list > div:first-child {
        border-top: 0;
    }

    .finance-mandate-draft-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .finance-mandate-draft-row .finance-button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .finance-metric-row {
        grid-template-columns: 1fr;
    }

    .finance-metric-row > div,
    .finance-metric-row > div:first-child {
        border-top: 1px solid var(--jarvis-border-muted);
        border-right: 0;
        padding-inline: 0;
    }

    .finance-metric-row > div:first-child {
        border-top: 0;
    }

    .finance-period-toolbar,
    .finance-performance-dates {
        align-items: stretch;
        flex-direction: column;
    }

    .finance-segmented-control {
        width: 100%;
        overflow-x: auto;
    }

    .finance-segmented-control button {
        flex: 1 0 auto;
    }

    .finance-performance-dates label {
        align-items: stretch;
        flex-direction: column;
    }

    .finance-performance-version {
        margin-left: 0;
    }

    .finance-performance-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .finance-performance-main {
        gap: 1rem;
    }

    .finance-performance-table {
        overflow-x: visible;
    }

    .finance-performance-table-header,
    .finance-performance-table-row,
    .finance-grouped-table .finance-performance-table-header,
    .finance-grouped-table .finance-performance-table-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.55rem;
        min-width: 0;
    }

    .finance-performance-table-header > :nth-child(n+3),
    .finance-performance-table-row > :nth-child(n+3) {
        display: none;
    }

    .finance-performance-table-row > :nth-child(2) {
        justify-self: end;
    }

    .finance-grouped-detail-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .finance-grouped-detail-row > :nth-child(n+3) {
        display: none;
    }

    .finance-grouped-detail-row > :nth-child(2) {
        justify-self: end;
    }

    .finance-kontokort-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.5rem;
    }

    .finance-kontokort-row > :nth-child(2),
    .finance-kontokort-row > :nth-child(3),
    .finance-kontokort-row > :nth-child(4) {
        display: none;
    }

    .finance-manager-comparison-table {
        overflow-x: visible;
    }

    .finance-manager-comparison-header {
        display: none;
    }

    .finance-manager-comparison-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.65rem 1rem;
        min-width: 0;
        padding: 0.8rem 0;
    }

    .finance-manager-comparison-row > span:first-child {
        grid-column: 1 / -1;
    }

    .finance-manager-comparison-row > :not(:first-child) {
        display: grid;
        gap: 0.12rem;
        text-align: left;
    }

    .finance-manager-comparison-row > [data-label]::before {
        content: attr(data-label);
        color: var(--jarvis-muted);
        font-size: 0.62rem;
        font-weight: 750;
        text-transform: uppercase;
    }

    .finance-manager-score-band {
        grid-template-columns: 1fr;
    }

    .finance-manager-score-band > div,
    .finance-manager-score-band > div:nth-child(3) {
        border-top: 1px solid var(--jarvis-border-muted);
        border-right: 0;
        padding-inline: 0;
    }

    .finance-manager-score-band > div:first-child {
        border-top: 0;
    }

    .finance-manager-horizon-row {
        grid-template-columns: 1fr 1fr;
        gap: 0.55rem 0.8rem;
    }

    .finance-manager-horizon-row > :nth-child(n) {
        display: grid;
        gap: 0.1rem;
        text-align: left;
    }

    .finance-manager-horizon-row > [data-label]::before {
        content: attr(data-label);
        color: var(--jarvis-muted);
        font-size: 0.6rem;
        font-weight: 750;
        text-transform: uppercase;
    }

    .finance-mobile-scope-return {
        display: inline;
    }

    .finance-chart-frame svg {
        min-height: 9rem;
    }

    .finance-data-quality-status {
        grid-template-columns: 1fr;
    }

    .finance-data-quality-status > div {
        border-right: 0;
        border-bottom: 1px solid var(--jarvis-border-muted);
        padding-inline: 0;
    }

    .finance-data-quality-status > div:last-child {
        border-bottom: 0;
    }

    .finance-reconciliation-header {
        display: none;
    }

    .finance-reconciliation-row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.4rem 0.75rem;
        padding: 0.7rem 0;
    }

    .finance-reconciliation-row > :first-child {
        padding-left: 0;
    }

    .finance-reconciliation-row > :nth-child(2) {
        display: none;
    }

    .finance-reconciliation-row > :nth-child(3),
    .finance-reconciliation-row > :nth-child(4) {
        grid-column: 1;
        margin-left: 2.7rem;
    }

    .finance-reconciliation-row > svg {
        grid-row: 1 / span 3;
        grid-column: 2;
    }

    .finance-data-quality-secondary > div {
        grid-template-columns: auto minmax(0, 1fr);
        padding-block: 0.6rem;
    }

    .finance-data-quality-secondary .finance-status {
        grid-column: 2;
        justify-self: start;
    }

    .finance-reconciliation-panel {
        width: 100vw;
    }

    .finance-reconciliation-pair {
        grid-template-columns: 1fr;
    }

    .finance-reconciliation-pair dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-reconciliation-pair dl > div {
        padding-inline: 0.55rem;
    }

    .finance-reconciliation-pair dl > div:nth-child(2) {
        border-right: 0;
    }

    .finance-reconciliation-pair dl > div:nth-child(3) {
        grid-column: 1 / -1;
        border-top: 1px solid var(--jarvis-border-muted);
        border-right: 0;
    }

    .finance-reconciliation-pair dd {
        overflow-wrap: normal;
        white-space: nowrap;
    }

    .finance-reconciliation-link {
        transform: rotate(90deg);
    }

    .finance-reconciliation-actions {
        flex-wrap: wrap;
        padding-inline: 0.75rem;
    }

    .finance-reconciliation-action-spacer {
        display: none;
    }

    .finance-reconciliation-actions .finance-button-danger {
        width: 100%;
    }

    .finance-reconciliation-actions .finance-button-secondary,
    .finance-reconciliation-actions .finance-button-primary {
        flex: 1;
    }

    .finance-settings-row {
        align-items: start;
        grid-template-columns: 1fr;
        gap: 0.55rem;
        padding-block: 0.85rem;
    }

    .finance-agent-name {
        display: none;
    }

    .finance-header-actions .finance-button-secondary {
        width: 2.4rem;
        overflow: hidden;
        padding: 0;
        font-size: 0;
    }

    .finance-header-actions .finance-button-secondary .mud-icon-root {
        font-size: 1.25rem;
    }

    .finance-balance-metrics {
        grid-template-columns: 1fr 1fr;
    }

    .finance-control-strip {
        grid-template-columns: 1fr;
    }

    .finance-control-heading,
    .finance-control-actions {
        grid-column: auto;
    }

    .finance-control-item {
        border-top: 1px solid var(--jarvis-border-muted);
        border-left: 0;
    }

    .finance-control-actions {
        display: grid;
        border-left: 0;
    }

    .finance-control-actions .finance-button {
        width: 100%;
    }

    .finance-balance-metrics > div:last-child {
        grid-column: 1 / -1;
        border-top: 1px solid var(--jarvis-border-muted);
    }

    .finance-account-list-header {
        display: none;
    }

    .finance-account-row {
        grid-template-columns: minmax(0, 1fr) auto 1.25rem;
        gap: 0.65rem;
        min-height: 4.5rem;
    }

    .finance-account-row-balance {
        max-width: 8.5rem;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .finance-account-row-bank,
    .finance-account-row-type,
    .finance-account-row-date {
        display: none;
    }

    .finance-attention {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .finance-attention .finance-button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .finance-filter-bar {
        grid-template-columns: 1fr;
    }

    .finance-toolbar-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .finance-documents-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .finance-document-list-header {
        display: none;
    }

    .finance-document-row {
        grid-template-columns: 2.25rem minmax(0, 1fr) auto;
        gap: 0.55rem;
        min-height: 4rem;
        border-top: 1px solid var(--jarvis-border-muted);
        border-radius: 0;
        padding: 0.55rem 0;
        margin: 0;
    }

    .finance-document-row > :nth-child(3),
    .finance-document-row > :nth-child(4),
    .finance-document-row > :nth-child(5),
    .finance-document-row > :nth-child(6) {
        display: none;
    }

    .finance-side-panel,
    .finance-document-panel,
    .finance-entity-panel {
        width: 100vw;
    }

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

    .finance-panel-summary > div:nth-child(2) {
        border-right: 0;
    }

    .finance-panel-summary > div:nth-child(n+3) {
        border-top: 1px solid var(--jarvis-border-muted);
    }

    .finance-ledger-toolbar,
    .finance-ledger-secondary-filters {
        padding-inline: 0.75rem;
    }

    .finance-filter-chips {
        width: 100%;
        overflow-x: auto;
    }

    .finance-ledger-secondary-filters label {
        flex: 1 1 8rem;
        align-items: flex-start;
        flex-direction: column;
    }

    .finance-ledger-secondary-filters input,
    .finance-ledger-secondary-filters select {
        width: 100%;
    }

    .finance-ledger-table th,
    .finance-ledger-table td {
        padding-inline: 0.5rem;
    }

    .finance-ledger-table th:first-child,
    .finance-ledger-table td:first-child {
        padding-left: 0.75rem;
    }

    .finance-ledger-table th:last-child,
    .finance-ledger-table td:last-child {
        padding-right: 0.75rem;
    }

    .finance-detail-grid {
        grid-template-columns: 1fr;
    }

    .finance-entry-detail {
        right: 0.5rem;
        bottom: 0.5rem;
        left: 0.5rem;
        max-height: calc(100dvh - 7rem);
        overflow: auto;
    }

    .finance-entry-cash-flow {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .finance-entry-cash-flow .finance-button {
        width: 100%;
    }

    .finance-holdings-table th,
    .finance-holdings-table td {
        padding-inline: 0.5rem;
    }

    .finance-holdings-table th:first-child,
    .finance-holdings-table td:first-child {
        padding-left: 0.75rem;
    }

    .finance-holdings-table th:last-child,
    .finance-holdings-table td:last-child {
        padding-right: 0.75rem;
    }
}

/* R5 capital gates */
.finance-capital-gate {
    display: grid;
    gap: 1rem;
}

.finance-capital-header {
    display: grid;
    grid-template-columns: minmax(10rem, auto) minmax(20rem, 1fr) auto;
    align-items: center;
    gap: 1.25rem;
    min-height: 5.5rem;
    padding: 0.7rem 0.25rem;
    border-block: 1px solid var(--jarvis-border);
}

.finance-capital-header > div:first-child {
    display: grid;
    gap: 0.1rem;
}

.finance-capital-header h3,
.finance-capital-header p {
    margin: 0;
}

.finance-capital-header h3 {
    font-size: 1.35rem;
}

.finance-capital-header p,
.finance-capital-header small {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-capital-stage-track {
    display: grid;
    grid-template-columns: repeat(5, minmax(3.5rem, 1fr));
    min-width: 0;
}

.finance-capital-stage-track > span {
    position: relative;
    display: grid;
    justify-items: center;
    gap: 0.35rem;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-capital-stage-track > span::before {
    position: absolute;
    top: 0.3rem;
    right: 50%;
    left: -50%;
    height: 1px;
    content: "";
    background: var(--jarvis-border);
}

.finance-capital-stage-track > span:first-child::before {
    display: none;
}

.finance-capital-stage-track i {
    z-index: 1;
    width: 0.7rem;
    height: 0.7rem;
    border: 2px solid var(--jarvis-border);
    border-radius: 50%;
    background: var(--jarvis-surface);
}

.finance-capital-stage-track .complete,
.finance-capital-stage-track .current {
    color: var(--jarvis-text);
}

.finance-capital-stage-track .complete::before,
.finance-capital-stage-track .current::before {
    background: var(--jarvis-green);
}

.finance-capital-stage-track .complete i {
    border-color: var(--jarvis-green);
    background: var(--jarvis-green);
}

.finance-capital-stage-track .current i {
    border-color: var(--jarvis-blue);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--jarvis-blue) 18%, transparent);
}

.finance-capital-policy-lock,
.finance-capital-recorded-decision {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.8rem;
    border-left: 3px solid var(--jarvis-blue);
    background: color-mix(in srgb, var(--jarvis-blue) 7%, transparent);
}

.finance-capital-policy-lock > span,
.finance-capital-recorded-decision > span {
    display: grid;
    gap: 0.1rem;
}

.finance-capital-policy-lock small,
.finance-capital-recorded-decision small {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-capital-report {
    display: grid;
    gap: 0;
    border-block: 1px solid var(--jarvis-border);
}

.finance-capital-report-heading {
    display: grid;
    grid-template-columns: auto minmax(14rem, 1fr) auto minmax(7rem, auto);
    align-items: center;
    gap: 0.8rem;
    min-height: 4.6rem;
    padding: 0.6rem 0.25rem;
}

.finance-capital-report-heading > span:nth-child(2),
.finance-capital-report-alpha {
    display: grid;
    gap: 0.1rem;
}

.finance-capital-report-heading small,
.finance-capital-check-row small {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-capital-report-alpha {
    justify-items: end;
}

.finance-capital-recommendation {
    margin: 0;
    padding: 0.7rem 0.25rem;
    border-top: 1px solid var(--jarvis-border-muted);
    color: var(--jarvis-text);
    font-size: 0.8rem;
}

.finance-capital-check-list {
    display: grid;
    border-top: 1px solid var(--jarvis-border);
}

.finance-capital-check-row {
    display: grid;
    grid-template-columns: 1.5rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    min-height: 3.5rem;
    padding: 0.5rem 0.25rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
}

.finance-capital-check-row > span:nth-child(2) {
    display: grid;
    min-width: 0;
    gap: 0.1rem;
}

.finance-capital-decision {
    display: grid;
    grid-template-columns: minmax(14rem, 1fr) minmax(12rem, 0.65fr);
    gap: 0.75rem;
    padding: 0.9rem 0.25rem;
    border-top: 1px solid var(--jarvis-blue-border);
}

.finance-capital-decision label,
.finance-capital-control-form label {
    display: grid;
    gap: 0.35rem;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    font-weight: 700;
}

.finance-capital-decision input,
.finance-capital-decision textarea,
.finance-capital-control-form input,
.finance-capital-control-form textarea,
.finance-capital-control-form select {
    width: 100%;
    min-width: 0;
    min-height: 2.5rem;
    border: 1px solid var(--jarvis-border);
    border-radius: 6px;
    padding: 0.55rem 0.7rem;
    color: var(--jarvis-text);
    background: var(--jarvis-panel);
    font: inherit;
    font-weight: 500;
}

.finance-capital-decision textarea,
.finance-capital-control-form textarea {
    min-height: 4.8rem;
    resize: vertical;
}

.finance-capital-decision-actions {
    display: flex;
    grid-column: 1 / -1;
    justify-content: flex-end;
    gap: 0.5rem;
}

.finance-capital-recorded-decision {
    margin-top: 0.8rem;
    border-left-color: var(--jarvis-green);
}

.finance-capital-controls {
    border-block: 1px solid var(--jarvis-border);
}

.finance-capital-controls > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 4rem;
    padding: 0.6rem 0.25rem;
    cursor: pointer;
    list-style: none;
}

.finance-capital-controls > summary::-webkit-details-marker {
    display: none;
}

.finance-capital-controls > summary > span {
    display: grid;
    gap: 0.1rem;
}

.finance-capital-controls > summary small {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-capital-controls[open] > summary svg {
    transform: rotate(180deg);
}

.finance-capital-control-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
    padding: 0.9rem 0.25rem;
    border-top: 1px solid var(--jarvis-border-muted);
}

.finance-capital-wide-field,
.finance-capital-form-actions {
    grid-column: 1 / -1;
}

.finance-capital-check-control {
    display: flex !important;
    align-items: center;
    min-height: 2.5rem;
    gap: 0.55rem !important;
    padding-top: 1rem;
}

.finance-capital-check-control input {
    width: 1rem;
    min-height: 1rem;
}

.finance-capital-form-actions {
    display: flex;
    justify-content: flex-end;
}

.finance-capital-history {
    display: grid;
}

.finance-capital-history-list {
    display: grid;
    border-top: 1px solid var(--jarvis-border);
}

.finance-capital-history-list > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    min-height: 3.5rem;
    padding: 0.5rem 0.25rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
}

.finance-capital-history-list > div > span:first-child {
    display: grid;
    gap: 0.1rem;
}

.finance-capital-history-list small {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

@media (max-width: 900px) {
    .finance-capital-header {
        grid-template-columns: minmax(8rem, auto) minmax(0, 1fr);
    }

    .finance-capital-header > .finance-button,
    .finance-capital-header > .finance-status {
        grid-column: 1 / -1;
        justify-self: end;
    }

    .finance-capital-control-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .finance-capital-header,
    .finance-capital-report-heading,
    .finance-capital-decision,
    .finance-capital-control-form {
        grid-template-columns: 1fr;
    }

    .finance-capital-header > .finance-button,
    .finance-capital-header > .finance-status,
    .finance-capital-wide-field,
    .finance-capital-form-actions,
    .finance-capital-decision-actions {
        grid-column: auto;
        width: 100%;
    }

    .finance-capital-stage-track {
        grid-column: 1;
        grid-template-columns: repeat(5, minmax(2.8rem, 1fr));
    }

    .finance-capital-report-heading > .finance-control-icon {
        display: none;
    }

    .finance-capital-report-alpha {
        justify-items: start;
    }

    .finance-capital-decision-actions,
    .finance-capital-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .finance-capital-decision-actions .finance-button,
    .finance-capital-form-actions .finance-button {
        width: 100%;
    }

    .finance-capital-check-row {
        grid-template-columns: 1.25rem minmax(0, 1fr);
    }

    .finance-capital-check-row > .finance-status {
        grid-column: 2;
        justify-self: start;
    }
}

@keyframes finance-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes finance-progress {
    from {
        transform: translateX(-110%);
    }

    to {
        transform: translateX(290%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .finance-inline-spinner,
    .finance-extraction-progress-track > span {
        animation-duration: 2.5s;
    }
}

.finance-match-candidate {
    display: flex;
    flex-direction: column;
    padding: 0.4rem 0;
}

.finance-match-candidate small {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-debug-pre {
    max-height: 22rem;
    margin: 0;
    overflow: auto;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0.75rem;
    color: var(--jarvis-text-soft);
    background: var(--jarvis-input-bg);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    white-space: pre-wrap;
    word-break: break-word;
}

/* Andy decision workspace */
.finance-decisions-view {
    gap: 1.4rem;
}

.finance-advisor-run {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-md);
    background: color-mix(in srgb, var(--jarvis-surface) 94%, var(--jarvis-blue) 6%);
}

.finance-advisor-run-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 5.25rem;
    padding: 0.9rem 1rem;
}

.finance-advisor-run-title,
.finance-advisor-run-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.finance-advisor-run-title > div {
    min-width: 0;
}

.finance-advisor-run-title h3 {
    overflow: hidden;
    margin: 0.15rem 0 0;
    color: var(--jarvis-heading);
    font-size: 1rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-advisor-run-title p {
    margin: 0.2rem 0 0;
    color: var(--jarvis-muted);
    font-size: 0.74rem;
}

.finance-advisor-progress {
    height: 3px;
    background: var(--jarvis-border-muted);
}

.finance-advisor-progress span {
    display: block;
    height: 100%;
    background: var(--jarvis-blue);
    transition: width 220ms ease;
}

.finance-advisor-metrics,
.finance-advisor-audit {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--jarvis-border-muted);
}

.finance-advisor-metrics > div,
.finance-advisor-audit > div {
    display: grid;
    gap: 0.12rem;
    min-width: 0;
    border-right: 1px solid var(--jarvis-border-muted);
    padding: 0.72rem 1rem;
}

.finance-advisor-metrics > div:last-child,
.finance-advisor-audit > div:last-child {
    border-right: 0;
}

.finance-advisor-metrics span,
.finance-advisor-audit span {
    color: var(--jarvis-muted);
    font-size: 0.64rem;
    font-weight: 800;
    text-transform: uppercase;
}

.finance-advisor-metrics strong,
.finance-advisor-audit strong {
    overflow: hidden;
    color: var(--jarvis-heading);
    font-size: 0.86rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-advisor-metrics small {
    overflow: hidden;
    color: var(--jarvis-muted);
    font-size: 0.67rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-advisor-audit {
    background: var(--jarvis-background);
}

.finance-advisor-audit-wide {
    grid-column: 1 / -1;
    border-top: 1px solid var(--jarvis-border-muted);
}

.finance-advisor-audit-wide strong {
    white-space: normal;
}

.finance-decision-operations {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-block: 1px solid var(--jarvis-border);
}

.finance-decision-operations > div {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
    border-right: 1px solid var(--jarvis-border-muted);
    padding: 0.8rem 1rem;
}

.finance-decision-operations > div:last-child {
    border-right: 0;
}

.finance-decision-operations span,
.finance-decision-panel-summary span,
.finance-proposal-editor label > span {
    color: var(--jarvis-muted);
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
}

.finance-decision-operations strong {
    color: var(--jarvis-heading);
    font-size: 1.2rem;
    font-variant-numeric: tabular-nums;
}

.finance-decision-operations small {
    overflow: hidden;
    color: var(--jarvis-muted);
    font-size: 0.68rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-decision-run-section,
.finance-decision-list-section {
    min-width: 0;
}

.finance-subsection-heading,
.finance-decision-list-toolbar,
.finance-audit-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.finance-subsection-heading,
.finance-decision-list-toolbar {
    min-height: 3rem;
    border-bottom: 1px solid var(--jarvis-border);
}

.finance-subsection-heading h3,
.finance-decision-list-toolbar h3,
.finance-decision-section h3,
.finance-audit-section h3,
.finance-decision-evidence-grid h3 {
    margin: 0;
    color: var(--jarvis-heading);
    font-size: 0.86rem;
}

.finance-subsection-heading p,
.finance-decision-list-toolbar p {
    margin: 0.12rem 0 0;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-decision-portfolio-list {
    display: grid;
}

.finance-decision-portfolio-row {
    display: grid;
    grid-template-columns: auto minmax(12rem, 1fr) auto auto;
    align-items: center;
    gap: 0.8rem;
    min-height: 4.25rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
    padding: 0.5rem 0.25rem;
}

.finance-decision-portfolio-row > span:nth-child(2) {
    display: grid;
    min-width: 0;
}

.finance-decision-portfolio-row strong {
    overflow: hidden;
    color: var(--jarvis-heading);
    font-size: 0.84rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-decision-portfolio-row small {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
}

.finance-proposal-editor {
    display: grid;
    grid-template-columns: minmax(14rem, 1.35fr) minmax(7rem, 0.55fr) minmax(7rem, 0.55fr) minmax(9rem, 0.7fr);
    gap: 0.8rem;
    border-bottom: 1px solid var(--jarvis-blue-border);
    padding: 0.85rem 0.25rem 1rem 2.9rem;
    background: color-mix(in srgb, var(--jarvis-blue) 4%, transparent);
}

.finance-proposal-editor label {
    display: grid;
    align-content: start;
    gap: 0.35rem;
    min-width: 0;
}

.finance-proposal-editor input,
.finance-proposal-editor select,
.finance-decision-confirm input {
    width: 100%;
    min-width: 0;
    height: 2.35rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0 0.65rem;
    color: var(--jarvis-text);
    background: var(--jarvis-input-bg);
    font: inherit;
    font-size: 0.76rem;
}

.finance-proposal-editor input:focus,
.finance-proposal-editor select:focus,
.finance-decision-confirm input:focus {
    border-color: var(--jarvis-blue);
    outline: none;
    box-shadow: var(--jarvis-focus-ring);
}

.finance-input-suffix {
    position: relative;
}

.finance-input-suffix input {
    padding-right: 2.6rem;
}

.finance-input-suffix span {
    position: absolute;
    top: 50%;
    right: 0.65rem;
    color: var(--jarvis-muted);
    font-size: 0.7rem;
    transform: translateY(-50%);
}

.finance-proposal-limit,
.finance-proposal-actions,
.finance-proposal-safety {
    grid-column: 1 / -1;
}

.finance-proposal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.55rem;
}

.finance-proposal-safety {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: var(--jarvis-muted);
    font-size: 0.7rem;
}

.finance-decision-list-toolbar {
    align-items: flex-end;
    padding-bottom: 0.65rem;
}

.finance-decision-advisor-status {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    border-bottom: 1px solid var(--jarvis-blue-border);
    padding: 0.65rem 1rem;
    color: var(--jarvis-blue);
    background: var(--jarvis-blue-dim);
}

.finance-decision-advisor-status > span {
    display: grid;
    gap: 0.1rem;
    min-width: 0;
}

.finance-decision-advisor-status strong {
    color: var(--jarvis-heading);
    font-size: 0.78rem;
}

.finance-decision-advisor-status small {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
}

.finance-decision-table {
    display: grid;
    min-width: 0;
}

.finance-decision-table-header,
.finance-decision-row {
    display: grid;
    grid-template-columns: 6.5rem minmax(16rem, 1.6fr) minmax(9rem, 0.7fr) 5rem 6.5rem 1.5rem;
    align-items: center;
    gap: 0.8rem;
}

.finance-decision-table-header {
    min-height: 2.2rem;
    padding: 0 0.6rem;
    color: var(--jarvis-muted);
    font-size: 0.64rem;
    font-weight: 800;
    text-transform: uppercase;
}

.finance-decision-row {
    width: 100%;
    min-height: 4.3rem;
    border: 0;
    border-bottom: 1px solid var(--jarvis-border-muted);
    padding: 0.55rem 0.6rem;
    color: var(--jarvis-text-soft);
    background: transparent;
    font: inherit;
    font-size: 0.74rem;
    text-align: left;
    cursor: pointer;
}

.finance-decision-row:hover,
.finance-decision-row:focus-visible,
.finance-decision-row.active {
    background: var(--jarvis-blue-dim);
    outline: none;
    box-shadow: inset 3px 0 0 var(--jarvis-blue);
}

.finance-decision-main {
    display: grid;
    min-width: 0;
}

.finance-decision-main strong,
.finance-decision-main small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-decision-main strong {
    color: var(--jarvis-heading);
    font-size: 0.82rem;
}

.finance-decision-main small {
    color: var(--jarvis-muted);
    font-size: 0.69rem;
}

.finance-decision-panel {
    width: min(76rem, calc(100vw - 4rem));
}

.finance-decision-panel-header {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    min-height: 6rem;
    border-bottom: 1px solid var(--jarvis-border);
    padding: 1rem 1.25rem;
    background: var(--jarvis-panel);
}

.finance-decision-panel-header > div {
    min-width: 0;
}

.finance-eyebrow {
    color: var(--jarvis-blue);
    font-size: 0.68rem;
    font-weight: 850;
}

.finance-decision-panel-header h2 {
    overflow: hidden;
    margin: 0.25rem 0 0.15rem;
    color: var(--jarvis-heading);
    font-size: 1.15rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-decision-panel-header p {
    margin: 0;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-decision-panel-summary {
    display: grid;
    flex: 0 0 auto;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-bottom: 1px solid var(--jarvis-border);
}

.finance-decision-panel-summary > div {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    border-right: 1px solid var(--jarvis-border-muted);
    padding: 0.75rem 1rem;
}

.finance-decision-panel-summary > div:last-child {
    border-right: 0;
}

.finance-decision-panel-summary strong {
    overflow: hidden;
    color: var(--jarvis-heading);
    font-size: 0.78rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-panel-tabs {
    display: flex;
    flex: 0 0 auto;
    min-height: 2.8rem;
    border-bottom: 1px solid var(--jarvis-border);
    padding: 0 1.25rem;
}

.finance-panel-tabs button {
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 0 0.8rem;
    color: var(--jarvis-muted);
    background: transparent;
    font: inherit;
    font-size: 0.76rem;
    font-weight: 800;
    cursor: pointer;
}

.finance-panel-tabs button:hover,
.finance-panel-tabs button:focus-visible,
.finance-panel-tabs button.active {
    border-bottom-color: var(--jarvis-blue);
    color: var(--jarvis-heading);
    outline: none;
}

.finance-decision-panel-body {
    display: grid;
    flex: 1 1 auto;
    align-content: start;
    gap: 1.1rem;
    min-height: 0;
    overflow: auto;
    padding: 1rem 1.25rem 1.5rem;
}

.finance-decision-panel-footer {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
    min-height: 4.25rem;
    border-top: 1px solid var(--jarvis-border);
    padding: 0.65rem 1.25rem;
    background: var(--jarvis-panel);
}

.finance-button-danger {
    border-color: var(--jarvis-red);
    color: #fff;
    background: var(--jarvis-red);
}

.finance-decision-veto,
.finance-decision-disagreement,
.finance-audit-safety {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    border-block: 1px solid var(--jarvis-border);
    padding: 0.75rem 0.2rem;
}

.finance-decision-veto {
    color: var(--jarvis-red);
}

.finance-decision-disagreement {
    color: var(--jarvis-amber);
}

.finance-decision-veto span,
.finance-decision-disagreement span {
    display: grid;
}

.finance-decision-veto small,
.finance-decision-disagreement small {
    color: var(--jarvis-muted);
}

.finance-decision-section {
    display: grid;
    gap: 0.55rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
    padding-bottom: 1rem;
}

.finance-decision-section p,
.finance-decision-section ul,
.finance-decision-evidence-grid ul,
.finance-audit-section p,
.finance-audit-section ul {
    margin: 0;
    color: var(--jarvis-text-soft);
    font-size: 0.78rem;
    line-height: 1.55;
}

.finance-next-action {
    color: var(--jarvis-blue);
    font-size: 0.8rem;
}

.finance-decision-evidence-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-block: 1px solid var(--jarvis-border);
}

.finance-decision-evidence-grid section {
    min-width: 0;
    border-right: 1px solid var(--jarvis-border-muted);
    padding: 0.9rem;
}

.finance-decision-evidence-grid section:last-child {
    border-right: 0;
}

.finance-decision-evidence-grid ul {
    margin-top: 0.5rem;
    padding-left: 1rem;
}

.finance-trade-intention dl {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0;
}

.finance-trade-intention dl > div {
    min-width: 0;
    border-right: 1px solid var(--jarvis-border-muted);
    padding: 0.4rem 0.75rem;
}

.finance-trade-intention dl > div:last-child {
    border-right: 0;
}

.finance-trade-intention dt {
    color: var(--jarvis-muted);
    font-size: 0.66rem;
}

.finance-trade-intention dd {
    overflow-wrap: anywhere;
    margin: 0.15rem 0 0;
    color: var(--jarvis-heading);
    font-size: 0.76rem;
    font-weight: 750;
}

.finance-trade-intention > small {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    color: var(--jarvis-muted);
}

.finance-evidence-id-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.finance-evidence-id-list code,
.finance-audit-toolbar code {
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    padding: 0.18rem 0.35rem;
    color: var(--jarvis-text-soft);
    background: var(--jarvis-input-bg);
    font-size: 0.66rem;
}

.finance-audit-toolbar > span {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.finance-audit-section {
    display: grid;
    gap: 0.6rem;
    border-bottom: 1px solid var(--jarvis-border);
    padding-bottom: 1rem;
}

.finance-audit-step-list,
.finance-audit-control-list,
.finance-role-assessment-list {
    display: grid;
    border-top: 1px solid var(--jarvis-border-muted);
}

.finance-audit-step-list > div {
    display: grid;
    grid-template-columns: 6rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    min-height: 3rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
    font-size: 0.74rem;
}

.finance-audit-step-list small,
.finance-audit-control-list small,
.finance-role-assessment-list summary small {
    color: var(--jarvis-muted);
    font-size: 0.66rem;
}

.finance-audit-control-list > div {
    display: grid;
    grid-template-columns: minmax(8rem, 0.6fr) auto minmax(10rem, 0.8fr) minmax(12rem, 1.3fr);
    align-items: center;
    gap: 0.7rem;
    min-height: 3.2rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
    font-size: 0.72rem;
}

.finance-role-assessment-list details {
    border-bottom: 1px solid var(--jarvis-border-muted);
    padding: 0.2rem 0;
}

.finance-role-assessment-list summary {
    display: grid;
    grid-template-columns: minmax(10rem, 1fr) auto auto;
    align-items: center;
    gap: 0.7rem;
    min-height: 2.8rem;
    cursor: pointer;
}

.finance-role-assessment-list details > :not(summary) {
    margin: 0.5rem 0 0.75rem 1.2rem;
}

.finance-audit-timeline {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.finance-audit-timeline li {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    gap: 0.75rem;
    border-left: 2px solid var(--jarvis-border-strong);
    padding: 0.55rem 0 0.55rem 0.8rem;
}

.finance-audit-timeline time,
.finance-audit-timeline small {
    color: var(--jarvis-muted);
    font-size: 0.66rem;
}

.finance-audit-timeline span {
    display: grid;
}

.finance-audit-timeline strong {
    color: var(--jarvis-text-soft);
    font-size: 0.74rem;
}

.finance-audit-safety {
    color: var(--jarvis-green);
    font-size: 0.72rem;
}

.finance-decision-confirm {
    display: grid;
    grid-template-columns: auto minmax(12rem, 1fr) auto auto;
    align-items: center;
    gap: 0.55rem;
    width: 100%;
}

.finance-decision-confirm strong {
    color: var(--jarvis-heading);
    font-size: 0.76rem;
}

@media (max-width: 900px) {
    .finance-advisor-run-header {
        align-items: flex-start;
    }

    .finance-advisor-metrics,
    .finance-advisor-audit {
        grid-template-columns: 1fr 1fr;
    }

    .finance-advisor-metrics > div:nth-child(2),
    .finance-advisor-audit > div:nth-child(2) {
        border-right: 0;
    }

    .finance-advisor-metrics > div:nth-child(n+3),
    .finance-advisor-audit > div:nth-child(n+3) {
        border-top: 1px solid var(--jarvis-border-muted);
    }

    .finance-decision-operations {
        grid-template-columns: 1fr 1fr;
    }

    .finance-decision-operations > div:nth-child(2) {
        border-right: 0;
    }

    .finance-decision-operations > div:nth-child(n+3) {
        border-top: 1px solid var(--jarvis-border-muted);
    }

    .finance-decision-portfolio-row {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .finance-decision-portfolio-row > .finance-status {
        display: none;
    }

    .finance-proposal-editor {
        grid-template-columns: 1fr 1fr;
        padding-left: 0.25rem;
    }

    .finance-decision-list-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .finance-decision-list-toolbar .finance-segmented-control {
        width: 100%;
        overflow-x: auto;
    }

    .finance-decision-table-header {
        display: none;
    }

    .finance-decision-row {
        grid-template-columns: minmax(0, 1fr) auto 1.25rem;
        min-height: 4.6rem;
    }

    .finance-decision-row > :first-child,
    .finance-decision-row > :nth-child(3),
    .finance-decision-row > :nth-child(4) {
        display: none;
    }

    .finance-decision-panel {
        width: 100vw;
    }

    .finance-decision-panel-summary {
        grid-template-columns: 1fr 1fr;
    }

    .finance-decision-panel-summary > div:nth-child(2) {
        border-right: 0;
    }

    .finance-decision-panel-summary > div:nth-child(n+3) {
        border-top: 1px solid var(--jarvis-border-muted);
    }

    .finance-decision-evidence-grid,
    .finance-trade-intention dl {
        grid-template-columns: 1fr;
    }

    .finance-decision-evidence-grid section,
    .finance-trade-intention dl > div {
        border-right: 0;
        border-bottom: 1px solid var(--jarvis-border-muted);
    }

    .finance-audit-control-list > div,
    .finance-audit-step-list > div {
        grid-template-columns: 1fr auto;
        padding-block: 0.55rem;
    }

    .finance-audit-control-list > div > :nth-child(n+3),
    .finance-audit-step-list > div > :nth-child(3) {
        grid-column: 1 / -1;
    }

    .finance-decision-confirm {
        grid-template-columns: 1fr 1fr;
    }

    .finance-decision-confirm strong,
    .finance-decision-confirm input {
        grid-column: 1 / -1;
    }
}

@media (max-width: 520px) {
    .finance-advisor-run-header {
        align-items: stretch;
        flex-direction: column;
    }

    .finance-advisor-run-title,
    .finance-advisor-run-actions {
        align-items: center;
        flex-direction: row;
    }

    .finance-advisor-run-actions .finance-button {
        flex: 1;
    }

    .finance-advisor-run-title h3,
    .finance-advisor-run-title p {
        overflow: visible;
        white-space: normal;
    }

    .finance-advisor-metrics,
    .finance-advisor-audit {
        grid-template-columns: 1fr 1fr;
    }

    .finance-decision-operations {
        grid-template-columns: 1fr 1fr;
    }

    .finance-decision-list-toolbar .finance-segmented-control {
        display: grid;
        grid-template-columns: 1fr 1fr;
        overflow: hidden;
    }

    .finance-decision-list-toolbar .finance-segmented-control button {
        min-width: 0;
        min-height: 2.2rem;
        border-right: 1px solid var(--jarvis-border);
        border-bottom: 1px solid var(--jarvis-border);
    }

    .finance-decision-list-toolbar .finance-segmented-control button:nth-child(2n) {
        border-right: 0;
    }

    .finance-decision-list-toolbar .finance-segmented-control button:nth-last-child(-n+2) {
        border-bottom: 0;
    }

    .finance-decision-portfolio-row {
        grid-template-columns: auto minmax(0, 1fr);
        padding-block: 0.75rem;
    }

    .finance-decision-portfolio-row .finance-button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .finance-proposal-editor {
        grid-template-columns: 1fr;
    }

    .finance-decision-panel-header h2 {
        white-space: normal;
    }

    .finance-decision-panel-footer {
        flex-wrap: wrap;
    }

    .finance-decision-panel-footer > .finance-button,
    .finance-decision-panel-footer > a.finance-button {
        flex: 1 1 9rem;
    }

    .finance-audit-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .finance-audit-toolbar .finance-button {
        width: 100%;
    }
}

.finance-briefing-summary {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    min-height: 4.5rem;
    padding: 0.75rem 1rem;
    border: 1px solid var(--jarvis-border-muted);
    border-left: 3px solid var(--jarvis-border-strong);
    border-radius: var(--jarvis-radius-sm);
    color: inherit;
    background: var(--jarvis-surface);
    text-decoration: none;
}

.finance-briefing-summary:hover {
    border-color: var(--jarvis-border-strong);
    background: color-mix(in srgb, var(--jarvis-blue) 5%, var(--jarvis-surface));
}

.finance-briefing-summary.is-blocked {
    border-left-color: var(--jarvis-red);
}

.finance-briefing-summary.is-action,
.finance-briefing-summary.is-review {
    border-left-color: var(--jarvis-amber);
}

.finance-briefing-summary.is-clear {
    border-left-color: var(--jarvis-green);
}

.finance-briefing-summary-icon,
.finance-briefing-section-icon {
    display: grid;
    place-items: center;
    color: var(--jarvis-blue);
}

.finance-briefing-summary-copy {
    display: grid;
    min-width: 0;
    gap: 0.12rem;
}

.finance-briefing-summary-copy small,
.finance-briefing-summary-meta small,
.finance-briefing-section header small,
.finance-briefing-delivery small,
.finance-settings-value small {
    color: var(--jarvis-muted);
    font-size: 0.75rem;
}

.finance-briefing-summary-copy strong {
    color: var(--jarvis-heading);
    font-size: 0.98rem;
}

.finance-briefing-summary-copy em {
    overflow: hidden;
    color: var(--jarvis-text-soft);
    font-size: 0.82rem;
    font-style: normal;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-briefing-summary-meta {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.finance-briefing {
    display: grid;
    gap: 1rem;
}

.finance-briefing-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
}

.finance-briefing-eyebrow {
    color: var(--jarvis-blue);
    font-size: 0.76rem;
    font-weight: 850;
    text-transform: uppercase;
}

.finance-briefing-header h2 {
    margin: 0.25rem 0;
    color: var(--jarvis-heading);
    font-size: 1.55rem;
}

.finance-briefing-header p {
    max-width: 46rem;
    margin: 0;
    color: var(--jarvis-text-soft);
}

.finance-briefing-actions {
    display: flex;
    flex: 0 0 auto;
    gap: 0.5rem;
}

.finance-briefing-meta {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-block: 1px solid var(--jarvis-border-muted);
}

.finance-briefing-meta > span {
    display: grid;
    gap: 0.3rem;
    padding: 0.75rem 1rem;
    border-right: 1px solid var(--jarvis-border-muted);
}

.finance-briefing-meta > span:last-child {
    border-right: 0;
}

.finance-briefing-meta small {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    font-weight: 750;
    text-transform: uppercase;
}

.finance-briefing-section {
    border-top: 2px solid var(--jarvis-border-strong);
}

.finance-briefing-section.is-blocked {
    border-top-color: var(--jarvis-red);
}

.finance-briefing-section.is-action,
.finance-briefing-section.is-review {
    border-top-color: var(--jarvis-amber);
}

.finance-briefing-section.is-info {
    border-top-color: var(--jarvis-blue);
}

.finance-briefing-section > header {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    min-height: 3.75rem;
    padding: 0.55rem 0.75rem;
    background: var(--jarvis-surface);
}

.finance-briefing-section > header > span:nth-child(2) {
    display: grid;
    gap: 0.1rem;
}

.finance-briefing-section > header em {
    min-width: 1.6rem;
    color: var(--jarvis-muted);
    font-size: 0.78rem;
    font-style: normal;
    text-align: center;
}

.finance-briefing-rows {
    border-bottom: 1px solid var(--jarvis-border-muted);
}

.finance-briefing-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 1.5rem;
    align-items: center;
    gap: 1rem;
    min-height: 4.25rem;
    padding: 0.65rem 0.8rem;
    border-top: 1px solid var(--jarvis-border-muted);
    color: inherit;
    text-decoration: none;
}

.finance-briefing-row:hover {
    background: color-mix(in srgb, var(--jarvis-blue) 5%, var(--jarvis-surface));
}

.finance-briefing-row > span {
    display: grid;
    min-width: 0;
    gap: 0.15rem;
}

.finance-briefing-row strong {
    color: var(--jarvis-heading);
    font-size: 0.9rem;
}

.finance-briefing-row small {
    color: var(--jarvis-text-soft);
    font-size: 0.8rem;
    line-height: 1.35;
}

.finance-briefing-row em {
    color: var(--jarvis-blue);
    font-size: 0.78rem;
    font-style: normal;
    font-weight: 700;
}

.finance-briefing-collapsed {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-height: 2.8rem;
    padding: 0.55rem 0.8rem;
    border-block: 1px solid var(--jarvis-border-muted);
    color: var(--jarvis-text-soft);
    font-size: 0.82rem;
}

.finance-briefing-collapsed .mud-icon-root {
    color: var(--jarvis-green);
}

.finance-briefing-delivery {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: 3.75rem;
    padding: 0.65rem 0.8rem;
    border-block: 1px solid var(--jarvis-border-muted);
}

.finance-briefing-delivery > div {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.finance-briefing-delivery > div > span:last-child {
    display: grid;
}

.finance-delivery-status {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--jarvis-text-soft);
    font-size: 0.8rem;
}

.finance-briefing-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem 1rem;
    color: var(--jarvis-muted);
    font-family: var(--font-mono);
    font-size: 0.68rem;
}

.finance-briefing-empty {
    display: grid;
    justify-items: center;
    gap: 0.65rem;
    min-height: 18rem;
    padding: 3rem 1rem;
    border-block: 1px solid var(--jarvis-border-muted);
    text-align: center;
}

.finance-briefing-empty > .mud-icon-root {
    color: var(--jarvis-blue);
    font-size: 2rem;
}

.finance-briefing-empty span {
    max-width: 32rem;
    color: var(--jarvis-text-soft);
}

.finance-settings-value {
    display: grid;
    justify-items: end;
    gap: 0.1rem;
}

.finance-settings-row-action {
    gap: 1rem;
}

.finance-telegram-link-code {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 1rem;
    min-height: 3.5rem;
    padding: 0.6rem 0.9rem;
    border-left: 3px solid var(--jarvis-blue);
    background: var(--jarvis-blue-dim);
}

.finance-telegram-link-code strong {
    color: var(--jarvis-heading);
    font-family: var(--font-mono);
    font-size: 1.2rem;
    letter-spacing: 0;
}

.finance-telegram-link-code small {
    color: var(--jarvis-muted);
}

@media (max-width: 760px) {
    .finance-briefing-summary {
        grid-template-columns: 2rem minmax(0, 1fr);
    }

    .finance-briefing-summary-meta,
    .finance-briefing-summary > .finance-button {
        grid-column: 1 / -1;
        justify-content: space-between;
        width: 100%;
    }

    .finance-briefing-summary-copy em {
        white-space: normal;
    }

    .finance-briefing-header,
    .finance-briefing-delivery {
        align-items: stretch;
        flex-direction: column;
    }

    .finance-briefing-actions {
        width: 100%;
    }

    .finance-briefing-actions .finance-button {
        flex: 1 1 0;
    }

    .finance-briefing-meta {
        grid-template-columns: 1fr 1fr;
    }

    .finance-briefing-meta > span:nth-child(2) {
        border-right: 0;
    }

    .finance-briefing-meta > span:nth-child(n+3) {
        border-top: 1px solid var(--jarvis-border-muted);
    }

    .finance-telegram-link-code {
        grid-template-columns: 1fr auto;
    }

    .finance-telegram-link-code span {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .finance-briefing-meta {
        grid-template-columns: 1fr;
    }

    .finance-briefing-meta > span {
        border-top: 1px solid var(--jarvis-border-muted);
        border-right: 0;
    }

    .finance-briefing-section > header {
        grid-template-columns: 1.5rem minmax(0, 1fr) auto;
        padding-inline: 0.35rem;
    }

    .finance-briefing-row {
        padding-inline: 0.35rem;
    }

    .finance-settings-row-action {
        align-items: stretch;
        flex-direction: column;
    }

    .finance-settings-row-action .finance-button {
        width: 100%;
    }
}

/* Guarded Saxo SIM order gateway */
.finance-order-safety {
    display: grid;
    gap: 0;
    margin-top: 1rem;
    border-top: 1px solid var(--jarvis-border);
}

.finance-order-safety > .finance-section-header {
    min-height: 4rem;
    padding-inline: 0.25rem;
}

.finance-order-switch-list {
    display: grid;
    border-top: 1px solid var(--jarvis-border-muted);
}

.finance-order-switch-row {
    display: grid;
    grid-template-columns: auto minmax(12rem, 1fr) auto auto;
    align-items: center;
    gap: 0.8rem;
    min-height: 4rem;
    padding: 0.55rem 0.25rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
}

.finance-order-switch-row > span:nth-child(2),
.finance-order-switch-confirm > span {
    display: grid;
    min-width: 0;
    gap: 0.15rem;
}

.finance-order-switch-row small,
.finance-order-switch-confirm small {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
}

.finance-order-switch-confirm {
    display: grid;
    grid-template-columns: minmax(14rem, 1fr) minmax(16rem, 1fr) auto auto;
    align-items: center;
    gap: 0.7rem;
    padding: 0.8rem 0.25rem;
    border-bottom: 1px solid var(--jarvis-blue-border);
    background: color-mix(in srgb, var(--jarvis-blue) 5%, transparent);
}

.finance-order-switch-confirm input,
.finance-order-approval input {
    min-width: 0;
    height: 2.5rem;
    border: 1px solid var(--jarvis-border);
    border-radius: 6px;
    padding: 0 0.75rem;
    color: var(--jarvis-text);
    background: var(--jarvis-panel);
    font: inherit;
}

.finance-order-workflow {
    display: grid;
    gap: 0.9rem;
    margin-top: 1.1rem;
    border-block: 1px solid var(--jarvis-blue-border);
    padding: 0.9rem 0;
}

.finance-order-workflow > .finance-section-header {
    padding-inline: 0;
}

.finance-order-empty,
.finance-order-start,
.finance-order-submission,
.finance-order-preview {
    display: grid;
    gap: 0.8rem;
    min-width: 0;
}

.finance-order-empty {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    padding: 0.75rem 0;
}

.finance-order-empty > span {
    display: grid;
    gap: 0.15rem;
}

.finance-order-empty small,
.finance-order-start label > span,
.finance-order-ticket span,
.finance-order-ticket small,
.finance-order-identity small,
.finance-order-check small,
.finance-order-approval small,
.finance-order-submit small {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
}

.finance-order-start {
    grid-template-columns: minmax(14rem, 1fr) auto;
    align-items: end;
}

.finance-order-start label {
    display: grid;
    gap: 0.35rem;
}

.finance-order-ticket {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-block: 1px solid var(--jarvis-border);
}

.finance-order-ticket > div {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
    padding: 0.75rem;
    border-right: 1px solid var(--jarvis-border-muted);
}

.finance-order-ticket > div:last-child {
    border-right: 0;
}

.finance-order-ticket strong,
.finance-order-identity strong {
    color: var(--jarvis-heading);
    font-variant-numeric: tabular-nums;
}

.finance-order-checks {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.finance-order-check {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.55rem;
    min-height: 3.5rem;
    padding: 0.6rem 0.75rem;
    border-bottom: 1px solid var(--jarvis-border-muted);
}

.finance-order-check:nth-child(odd) {
    border-right: 1px solid var(--jarvis-border-muted);
}

.finance-order-check > span {
    display: grid;
    gap: 0.12rem;
}

.finance-order-check.is-passed > svg {
    color: var(--jarvis-green);
}

.finance-order-check.is-blocked > svg {
    color: var(--jarvis-red);
}

.finance-order-approval,
.finance-order-submit,
.finance-order-blocked {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(11rem, 0.55fr) auto;
    align-items: center;
    gap: 0.7rem;
    padding: 0.75rem;
    border-left: 3px solid var(--jarvis-blue);
    background: var(--jarvis-blue-dim);
}

.finance-order-submit {
    grid-template-columns: minmax(0, 1fr) auto;
}

.finance-order-blocked {
    grid-template-columns: auto minmax(0, 1fr);
    border-left-color: var(--jarvis-red);
    background: var(--jarvis-red-dim);
}

.finance-order-approval > span,
.finance-order-submit > span,
.finance-order-blocked > span {
    display: grid;
    gap: 0.15rem;
}

.finance-order-identity {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.8rem;
    padding-block: 0.65rem;
    border-block: 1px solid var(--jarvis-border);
}

.finance-order-identity > span:nth-child(2),
.finance-order-identity > span:nth-child(n+3) {
    display: grid;
    gap: 0.1rem;
}

.finance-order-cancel-warning,
.finance-order-error {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin: 0;
    color: var(--jarvis-amber);
    font-size: 0.75rem;
}

.finance-order-error {
    color: var(--jarvis-red);
}

.finance-order-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
}

@media (max-width: 900px) {
    .finance-order-switch-row {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .finance-order-switch-row > .finance-button {
        grid-column: 2 / -1;
        justify-self: start;
    }

    .finance-order-switch-confirm,
    .finance-order-ticket,
    .finance-order-checks {
        grid-template-columns: 1fr 1fr;
    }

    .finance-order-switch-confirm > span,
    .finance-order-approval > span,
    .finance-order-submit > span {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .finance-order-switch-row,
    .finance-order-switch-confirm,
    .finance-order-start,
    .finance-order-ticket,
    .finance-order-checks,
    .finance-order-approval,
    .finance-order-submit,
    .finance-order-identity,
    .finance-order-empty {
        grid-template-columns: 1fr;
    }

    .finance-order-switch-row > .finance-control-icon,
    .finance-order-empty > svg {
        display: none;
    }

    .finance-order-switch-row > .finance-button,
    .finance-order-switch-confirm > span,
    .finance-order-approval > span,
    .finance-order-submit > span {
        grid-column: auto;
        width: 100%;
    }

    .finance-order-ticket > div,
    .finance-order-check:nth-child(odd) {
        border-right: 0;
    }

    .finance-order-ticket > div {
        border-bottom: 1px solid var(--jarvis-border-muted);
    }

    .finance-order-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .finance-order-actions .finance-button,
    .finance-order-empty .finance-button {
        width: 100%;
    }
}

/* Inline text-button used inside the holdings table to set/edit a manual kurs. */
.finance-linklike {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    font-size: 0.78rem;
    line-height: 1.2;
    color: var(--jarvis-blue);
    cursor: pointer;
    text-align: left;
    display: block;
}

.finance-linklike:hover:not(:disabled) {
    text-decoration: underline;
}

.finance-linklike:disabled {
    color: var(--jarvis-disabled);
    cursor: default;
}

.finance-linklike-muted {
    color: var(--jarvis-muted);
}

.finance-linklike-muted:hover:not(:disabled) {
    color: var(--jarvis-blue);
    text-decoration: underline;
}

.finance-webquote {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.75rem;
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    background: var(--jarvis-panel-strong);
}

.finance-webquote-help {
    color: var(--jarvis-muted);
}

.finance-webquote-row {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.finance-webquote-url {
    flex: 1 1 auto;
    min-width: 0;
}

.finance-webquote-ok {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: var(--jarvis-green);
}

/* Performance labels: user-defined "Selv-håndteret" vs "bank" groupings with per-label afkast. */
.finance-labels {
    display: grid;
    gap: 0.75rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--jarvis-border);
    margin-top: 1.25rem;
}

.finance-label-create {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    padding: 0.75rem;
    border: 1px solid var(--jarvis-blue-border);
    border-radius: var(--jarvis-radius-sm);
    background: var(--jarvis-blue-dim);
}

.finance-label-create .finance-input {
    flex: 1 1 14rem;
}

.finance-label-create-actions {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
}

.finance-label-colors {
    display: inline-flex;
    gap: 0.3rem;
    flex-wrap: wrap;
}

.finance-label-swatch {
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    border: 2px solid transparent;
    background: var(--swatch);
    cursor: pointer;
    padding: 0;
}

.finance-label-swatch.active {
    border-color: var(--jarvis-heading);
    box-shadow: 0 0 0 2px var(--jarvis-panel);
}

.finance-label-swatch:disabled {
    cursor: default;
    opacity: 0.6;
}

.finance-label-list {
    display: grid;
    gap: 0.5rem;
}

.finance-label-card {
    border: 1px solid var(--jarvis-border);
    border-radius: var(--jarvis-radius-sm);
    background: var(--jarvis-panel);
    overflow: hidden;
}

.finance-label-card.is-expanded {
    border-color: var(--jarvis-blue-border);
}

.finance-label-summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto auto;
    align-items: center;
    gap: 0.85rem;
    width: 100%;
    min-height: 3.5rem;
    padding: 0.6rem 0.85rem;
    border: 0;
    background: transparent;
    color: var(--jarvis-text);
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.finance-label-summary:hover,
.finance-label-summary:focus-visible {
    background: var(--jarvis-panel-strong);
}

.finance-label-dot {
    width: 0.85rem;
    height: 0.85rem;
    border-radius: 50%;
    background: var(--swatch);
}

.finance-label-main {
    display: grid;
    min-width: 0;
}

.finance-label-main strong {
    color: var(--jarvis-heading);
    font-size: 0.85rem;
}

.finance-label-main small {
    color: var(--jarvis-muted);
    font-size: 0.7rem;
}

.finance-label-figure {
    display: grid;
    justify-items: end;
    text-align: right;
}

.finance-label-figure small {
    color: var(--jarvis-muted);
    font-size: 0.62rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.finance-label-figure strong {
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
    color: var(--jarvis-heading);
}

.finance-label-detail {
    display: grid;
    gap: 0.85rem;
    padding: 0.35rem 0.85rem 0.9rem;
    border-top: 1px solid var(--jarvis-border-muted);
}

.finance-label-totals {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.5rem;
}

.finance-label-totals > div {
    display: grid;
    gap: 0.1rem;
}

.finance-label-totals span {
    color: var(--jarvis-muted);
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.finance-label-totals strong {
    font-size: 0.82rem;
    font-variant-numeric: tabular-nums;
    color: var(--jarvis-heading);
}

.finance-label-subhead {
    color: var(--jarvis-text-soft);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.finance-label-members {
    display: grid;
    gap: 0.5rem;
}

.finance-label-empty-note {
    color: var(--jarvis-muted);
    font-size: 0.72rem;
}

.finance-label-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.finance-label-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.22rem 0.5rem;
    border: 1px solid var(--jarvis-border);
    border-radius: 1rem;
    background: var(--jarvis-panel-strong);
    color: var(--jarvis-text);
    font-size: 0.72rem;
}

.finance-label-chip.is-depot {
    border-color: var(--jarvis-blue-border);
    color: var(--jarvis-blue);
}

.finance-label-chip svg {
    width: 0.85rem;
    height: 0.85rem;
}

.finance-label-chip-remove {
    border: 0;
    background: transparent;
    color: var(--jarvis-muted);
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1;
    padding: 0 0.1rem;
}

.finance-label-chip-remove:hover:not(:disabled) {
    color: var(--jarvis-red);
}

.finance-label-add {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
}

.finance-label-add .finance-input {
    flex: 1 1 16rem;
}

.finance-label-composition {
    display: grid;
    gap: 0.15rem;
    border-top: 1px solid var(--jarvis-border-muted);
    padding-top: 0.6rem;
}

.finance-label-comp-row {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) repeat(4, minmax(4.5rem, 0.8fr));
    align-items: center;
    gap: 0.6rem;
    padding: 0.25rem 0.1rem;
    font-size: 0.76rem;
    font-variant-numeric: tabular-nums;
}

.finance-label-comp-row > span:not(:first-child) {
    text-align: right;
}

.finance-label-comp-head {
    color: var(--jarvis-muted);
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.finance-label-comp-name {
    color: var(--jarvis-heading);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.finance-label-actions {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    border-top: 1px solid var(--jarvis-border-muted);
    padding-top: 0.7rem;
}

.finance-label-actions-spacer {
    flex: 1 1 auto;
}

@media (max-width: 720px) {
    .finance-label-summary {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .finance-label-summary > .finance-label-figure:first-of-type {
        display: none;
    }

    .finance-label-totals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .finance-label-comp-row {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .finance-label-comp-row > span:nth-child(2),
    .finance-label-comp-row > span:nth-child(3),
    .finance-label-comp-row > :nth-child(4) {
        display: none;
    }
}

.finance-label-chart {
    display: grid;
    gap: 0.35rem;
    padding: 0.55rem 0.1rem 0.15rem;
    border-top: 1px solid var(--jarvis-border-muted);
}

.finance-label-chart-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.5rem;
}

.finance-label-chart-head span {
    color: var(--jarvis-muted);
    font-size: 0.66rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.finance-label-chart-head strong {
    font-size: 0.85rem;
    font-variant-numeric: tabular-nums;
}

.finance-label-chart svg {
    width: 100%;
    height: 88px;
    display: block;
}

.finance-label-chart-line {
    fill: none;
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
    stroke-linejoin: round;
    stroke-linecap: round;
}

.finance-label-chart-foot {
    display: flex;
    justify-content: space-between;
    color: var(--jarvis-muted);
    font-size: 0.64rem;
}

.finance-label-chart-empty {
    padding: 0.55rem 0.1rem;
    color: var(--jarvis-muted);
    font-size: 0.72rem;
    border-top: 1px solid var(--jarvis-border-muted);
}
