/* FinOS v3.0.1 corrective layer.
 * Historical Dashboard geometry remains in style.css; this file only skins
 * new modules and fixes runtime containment introduced after v2.19.4.
 */

/* A footer label must not create a second viewport-height row. */
.app-footer {
    position: fixed;
    z-index: 80;
    right: 22px;
    bottom: 7px;
    width: auto;
    margin: 0;
    padding: 0;
    pointer-events: none;
    color: var(--text-muted);
    font-size: 10px;
    line-height: 1;
    opacity: .72;
}
.app-footer p { margin: 0; }

/* Next Reader v5.9.1 is the interaction/layout benchmark for settings. FinOS
 * keeps its own blue glass palette and its own six project-specific sections. */
.finos-settings-backdrop {
    --ai-settings-bg: rgba(13, 17, 24, .985);
    --ai-settings-border: 1px solid rgba(255, 255, 255, .09);
    --ai-settings-input-bg: rgba(255, 255, 255, .045);
    --ai-settings-input-border: rgba(255, 255, 255, .09);
    --ai-input-color: var(--text-main, #eef2f7);
    --ai-text-muted: var(--text-muted, #94a3b8);
    --ai-accent: var(--accent-blue, #3b82f6);
    padding: 32px;
    background: rgba(2, 6, 12, .62);
    backdrop-filter: blur(16px) saturate(118%);
    -webkit-backdrop-filter: blur(16px) saturate(118%);
}
.finos-settings-backdrop.is-open { animation: finosSettingsFadeIn 160ms ease-out both; }
.finos-settings-dialog.glass-panel {
    /* style.css makes every .glass-panel 100% wide below 1100px.  The
     * settings shell is a dialog, not a dashboard grid card.  Its desktop
     * measure supports two-column controls while keeping line lengths calm. */
    width: min(640px, calc(100vw - 48px)) !important;
    max-height: calc(100dvh - 64px);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
    border: var(--ai-settings-border);
    border-radius: 14px;
    color: var(--ai-input-color);
    background: var(--ai-settings-bg);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .54), 0 1px 0 rgba(255, 255, 255, .05) inset;
    animation: finosSettingsLiftIn 220ms cubic-bezier(.22, 1, .36, 1) both;
}
.finos-settings-header {
    min-height: 0;
    padding: 18px 20px 14px;
    border-bottom: 0;
}
.finos-settings-title {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
}
.finos-settings-title > i {
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    flex: 0 0 32px;
    border: 1px solid color-mix(in srgb, var(--ai-accent) 22%, transparent);
    border-radius: 9px;
    color: var(--ai-accent);
    background: color-mix(in srgb, var(--ai-accent) 10%, transparent);
    font-size: 13px;
}
.finos-settings-title .finos-settings-kicker {
    margin-bottom: 4px;
    color: var(--ai-accent);
    font-size: 9px;
    line-height: 1;
}
.finos-settings-header h2 {
    margin: 0;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: -.015em;
}
.finos-settings-body {
    min-height: 0;
    max-height: none;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
}
.finos-settings-tabs {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 5px;
    padding: 0 20px 14px;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--ai-settings-input-border);
}
.finos-settings-tabs button {
    min-width: 0;
    min-height: 36px;
    justify-content: center;
    gap: 5px;
    padding: 0 5px;
    border-radius: 8px;
    font-size: 10px;
    line-height: 1;
    white-space: nowrap;
}
.finos-settings-tabs button i { width: auto; font-size: 10px; }
.finos-settings-tabs button.active {
    color: var(--ai-accent);
    border-color: color-mix(in srgb, var(--ai-accent) 20%, transparent);
    background: color-mix(in srgb, var(--ai-accent) 11%, transparent);
}
.finos-settings-panels {
    min-height: 0;
    padding: 18px 20px 24px;
    overflow: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--ai-text-muted) 28%, transparent) transparent;
}
.finos-settings-panels > section { display: grid; align-content: start; gap: 15px; }
.finos-settings-panels > section[hidden] { display: none; }
.finos-settings-section-head { margin-bottom: 0; }
.finos-settings-section-head h3 { font-size: 14px; }
.finos-settings-section-head p { font-size: 10px; }
.finos-settings-card,
.finos-provider-card { padding: 12px; border-radius: 10px; }
.finos-settings-dialog .finos-callout {
    width: fit-content;
    max-width: 100%;
    justify-self: start;
    margin: 0;
    padding: 10px 12px;
    font-size: 10px;
    line-height: 1.45;
}
.finos-settings-dialog .finos-field input,
.finos-settings-dialog .finos-field select {
    font-size: 11px;
}
.finos-settings-dialog .finos-switch-row {
    padding: 10px 0;
}
.finos-settings-dialog .finos-switch-row strong {
    font-size: 11px;
    line-height: 1.35;
}
.finos-settings-dialog .finos-switch-row small {
    font-size: 9px;
    line-height: 1.4;
}
.finos-settings-dialog .finos-status-badge {
    font-size: 9px;
}
.finos-settings-dialog .finos-inline-actions .btn {
    min-height: 34px;
    padding: 0 11px;
    font-size: 10px;
}
.finos-settings-compact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.finos-settings-compact-grid .finos-field { margin: 0; }
.finos-settings-compact-grid .finos-switch-row,
.finos-settings-compact-grid .finos-inline-actions { grid-column: 1 / -1; }
.finos-field { margin: 10px 0; font-size: 11px; }
.finos-field input,
.finos-field select { min-height: 38px; border-color: var(--ai-settings-input-border); background: var(--ai-settings-input-bg); }
#finos-settings-ai-runtime { display: grid; gap: 12px; }
.finos-ai-view-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 3px;
    border: 1px solid var(--ai-settings-input-border);
    border-radius: 9px;
    background: rgba(255, 255, 255, .025);
}
.finos-ai-view-nav button {
    min-height: 31px;
    border: 0;
    border-radius: 6px;
    color: var(--ai-text-muted);
    background: transparent;
    font-size: 10px;
    font-weight: 650;
    cursor: pointer;
}
.finos-ai-view-nav button.active {
    color: var(--ai-accent);
    background: color-mix(in srgb, var(--ai-accent) 12%, transparent);
}
.finos-settings-subhead { display: grid; gap: 4px; }
.finos-settings-subhead .finos-muted { font-size: 10px; }
.finos-ai-route-card {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0;
    border: 0;
    background: transparent;
}
.finos-ai-route-card .finos-settings-subhead,
.finos-ai-route-card .finos-ai-route-status { grid-column: 1 / -1; }
.finos-ai-route-card .finos-field { margin: 0; }
.finos-ai-route-status {
    margin-top: 10px;
    padding: 8px 10px;
    border: 1px solid color-mix(in srgb, var(--ai-accent) 18%, transparent);
    border-radius: 8px;
    color: #bfdbfe;
    background: color-mix(in srgb, var(--ai-accent) 8%, transparent);
    font-size: 10px;
    line-height: 1.45;
}
.finos-provider-list { grid-template-columns: 1fr; gap: 10px; }
.finos-provider-list { margin-top: 0; }
.finos-provider-card .finos-panel-heading { gap: 10px; }
.finos-provider-card .finos-inline-actions { flex-wrap: wrap; }
.finos-provider-card .btn { min-height: 34px; font-size: 10px; }
.finos-source-toolbar {
    min-width: 0;
    display: grid;
    grid-template-columns: auto minmax(128px, 1fr);
    align-items: center;
    gap: 10px;
}
.finos-market-credentials {
    min-width: 0;
    display: grid;
    gap: 9px;
    padding: 11px;
    border: 1px solid var(--ai-settings-input-border);
    border-radius: 10px;
    background: rgba(255, 255, 255, .022);
}
#finos-market-credential-hub { display: grid; gap: 8px; }
.finos-market-provider-grid { display: grid; gap: 7px; }
.finos-market-provider-card {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px 10px;
    align-items: center;
    padding: 9px 10px;
    border: 1px solid var(--ai-settings-input-border);
    border-radius: 9px;
    background: var(--ai-settings-input-bg);
}
.finos-market-provider-head {
    min-width: 0;
    display: contents;
}
.finos-market-provider-head .finos-doc-main { min-width: 0; }
.finos-market-provider-head strong { font-size: 11px; }
.finos-market-provider-head .finos-muted {
    overflow: hidden;
    font-size: 9px;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.finos-market-provider-policy {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--ai-text-muted);
    font-size: 9px;
    line-height: 1.45;
}
.finos-market-provider-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.finos-market-provider-actions .btn {
    min-height: 29px;
    padding: 0 9px;
    font-size: 9px;
    text-decoration: none;
}
.finos-market-provider-actions button:disabled {
    opacity: .45;
    cursor: not-allowed;
}
.finos-market-credential-panel {
    grid-column: 1 / -1;
    min-width: 0;
    padding-top: 8px;
    border-top: 1px solid var(--ai-settings-input-border);
}
.finos-market-credential-panel[hidden] { display: none; }
.finos-market-credential-form { display: grid; gap: 8px; }
.finos-market-credential-form .finos-field { margin: 0; }
.finos-market-credential-form .finos-field input { min-height: 34px; font-size: 10px; }
.finos-market-condition-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 8px;
}
.finos-market-condition {
    min-width: 0;
    display: grid;
    grid-template-columns: 14px minmax(0, 1fr);
    align-items: start;
    gap: 6px;
    color: var(--ai-text-muted);
    font-size: 9px;
    line-height: 1.35;
}
.finos-market-condition input { margin: 1px 0 0; accent-color: var(--ai-accent); }
.finos-market-credential-message {
    min-height: 13px;
    color: var(--ai-text-muted);
    font-size: 9px;
}
.finos-market-provider-advanced {
    border-top: 1px solid var(--ai-settings-input-border);
    padding-top: 7px;
}
.finos-market-provider-advanced > summary {
    color: var(--ai-text-muted);
    font-size: 10px;
    font-weight: 650;
    cursor: pointer;
}
.finos-market-provider-advanced[open] > summary { margin-bottom: 7px; }
.finos-source-scopes {
    display: inline-flex;
    gap: 4px;
    padding: 3px;
    border: 1px solid var(--ai-settings-input-border);
    border-radius: 9px;
    background: rgba(255, 255, 255, .025);
}
.finos-source-scopes button {
    min-height: 28px;
    padding: 0 9px;
    border: 0;
    border-radius: 6px;
    color: var(--ai-text-muted);
    background: transparent;
    font-size: 10px;
    cursor: pointer;
}
.finos-source-scopes button.active {
    color: var(--ai-accent);
    background: color-mix(in srgb, var(--ai-accent) 12%, transparent);
}
.finos-source-search {
    min-width: 0;
    height: 36px;
    display: grid;
    grid-template-columns: 14px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    padding: 0 10px;
    border: 1px solid var(--ai-settings-input-border);
    border-radius: 9px;
    color: var(--ai-text-muted);
    background: var(--ai-settings-input-bg);
}
.finos-source-search input {
    min-width: 0;
    border: 0;
    outline: 0;
    color: var(--ai-input-color);
    background: transparent;
    font-size: 10px;
}
.finos-source-list {
    max-height: 330px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-block: 6px;
}
.finos-settings-source-row {
    min-width: 0;
    min-height: 52px;
    gap: 10px;
    padding: 8px 4px;
}
.finos-settings-source-row .finos-doc-main { min-width: 0; }
.finos-settings-source-row .finos-doc-main strong,
.finos-settings-source-row .finos-doc-main span {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.finos-settings-source-row .finos-doc-main strong { font-size: 11px; }
.finos-settings-source-row .finos-doc-main span { font-size: 9px; }
.finos-source-side { max-width: none; flex: 0 0 auto; }
.finos-privacy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.finos-privacy-grid .finos-settings-card { min-width: 0; padding: 12px; }
.finos-privacy-grid .finos-settings-card:nth-child(n + 3) { grid-column: 1 / -1; }
.finos-privacy-grid h4 { font-size: 12px; }
.finos-privacy-grid p { margin-bottom: 10px; font-size: 9px; line-height: 1.5; }
.finos-privacy-grid .btn { min-height: 32px; padding: 7px 10px; font-size: 9px; }
.finos-privacy-actions { gap: 6px; }
.finos-document-preview { max-height: 420px; overflow: auto; font-size: 9px; }

.finos-settings-actions {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 20px;
    border-top: 1px solid var(--ai-settings-input-border);
}
.finos-settings-actions > div { display: flex; gap: 8px; }
.finos-settings-actions button {
    min-height: 32px;
    padding: 0 11px;
    border: 1px solid var(--ai-settings-input-border);
    border-radius: 8px;
    color: var(--ai-text-muted);
    background: transparent;
    font: 600 10px/1 var(--font-main, inherit);
    cursor: pointer;
}
.finos-settings-actions button:hover,
.finos-settings-actions button:focus-visible {
    color: var(--ai-input-color);
    border-color: color-mix(in srgb, var(--ai-accent) 32%, transparent);
    outline: none;
}
#finos-settings-feedback {
    min-height: 1em;
    color: var(--ai-text-muted);
    font-size: 10px;
    line-height: 1.4;
}
#finos-settings-apply {
    min-width: 104px;
    color: #fff;
    border-color: transparent;
    background: var(--ai-accent);
}
#finos-settings-apply:hover,
#finos-settings-apply:focus-visible {
    color: #fff;
    border-color: transparent;
    filter: brightness(1.05);
}
body.finos-settings-open { overflow: hidden; }

.btn-mobile-settings { display: none; }

@keyframes finosSettingsFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes finosSettingsLiftIn {
    from { opacity: 0; transform: translateY(10px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

body.light-theme .finos-settings-backdrop {
    --ai-settings-bg: rgba(255, 255, 255, .985);
    --ai-settings-border: 1px solid rgba(26, 42, 58, .10);
    --ai-settings-input-bg: rgba(22, 38, 54, .035);
    --ai-settings-input-border: rgba(22, 38, 54, .10);
    --ai-input-color: #1e2936;
    --ai-text-muted: #667384;
    background: rgba(24, 38, 52, .34);
}
body.light-theme .finos-ai-route-status { color: #1d4ed8; }

/* The Registry selector represents platform identities and remains bounded. */
.news-filter-menu {
    max-height: min(62vh, 460px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}
.news-filter-option {
    min-height: 34px;
    gap: 9px;
}
.news-filter-option > span:nth-child(2) {
    min-width: 0;
    flex: 1;
    overflow-wrap: anywhere;
}
.news-filter-option.is-disabled {
    opacity: .52;
    cursor: not-allowed;
}
.news-filter-option.is-disabled input {
    accent-color: var(--text-muted);
    cursor: not-allowed;
}

/* Keep the v2.19.4 seven-card news hierarchy intact. Runtime status lives in
 * attributes/title and therefore cannot change card proportions. */
.news-item[data-finos-status="stale"] {
    border-color: color-mix(in srgb, var(--accent-yellow, #fbbf24) 24%, var(--panel-border));
}

/* Reviewable local Agent output. */
.finos-analysis-draft {
    margin-top: 6px;
    color: var(--text-muted);
    font-size: 11px;
}
.finos-analysis-draft summary {
    width: max-content;
    color: var(--accent-blue);
    cursor: pointer;
}
.finos-analysis-draft-body {
    max-width: 720px;
    margin-top: 7px;
    padding: 9px 11px;
    border: 1px solid var(--panel-border);
    border-radius: 8px;
    background: rgba(255, 255, 255, .025);
    line-height: 1.6;
    white-space: pre-wrap;
}

.nbs-housing-index-list {
    padding: 9px 11px;
    display: grid;
    gap: 7px;
}

.nbs-housing-index-row {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 3px 12px;
    padding: 8px 9px;
    border: 1px solid rgba(148, 163, 184, .12);
    border-radius: 9px;
    background: rgba(15, 23, 42, .28);
}

.nbs-housing-index-identity,
.nbs-housing-index-reading {
    display: flex;
    align-items: baseline;
    gap: 7px;
}

.nbs-housing-index-identity strong,
.nbs-housing-index-reading strong {
    color: var(--text-primary);
    font-size: 12px;
}

.nbs-housing-index-identity span,
.nbs-housing-index-period,
.nbs-housing-index-note,
.nbs-housing-index-empty span {
    color: var(--text-secondary);
    font-size: 9px;
}

.nbs-housing-index-reading span {
    font-size: 9px;
    font-weight: 700;
}

.nbs-housing-index-reading .up { color: var(--accent-green); }
.nbs-housing-index-reading .down { color: var(--accent-red); }
.nbs-housing-index-reading .flat { color: var(--text-secondary); }

.nbs-housing-index-period { grid-column: 1 / -1; }

.nbs-housing-index-note {
    margin: 1px 2px 0;
    line-height: 1.5;
}

.nbs-housing-index-empty {
    display: grid;
    gap: 3px;
    padding: 9px;
}

.nbs-housing-index-empty strong {
    color: var(--text-primary);
    font-size: 11px;
}

/* FinOS AI skin: restore the earlier violet-blue glass identity while keeping
 * the newer full-module behavior, evidence controls and external settings. */
:root {
    --ai-fab-bg: linear-gradient(135deg, rgba(139, 92, 246, .96), rgba(59, 130, 246, .94));
    --ai-fab-shadow: 0 8px 26px rgba(139, 92, 246, .34), 0 0 0 1px rgba(167, 139, 250, .22);
    --ai-modal-bg: rgba(13, 17, 23, .94);
    --ai-modal-border: 1px solid rgba(167, 139, 250, .18);
    --ai-modal-shadow: 0 20px 56px rgba(0, 0, 0, .52), 0 0 0 1px rgba(59, 130, 246, .08);
    --ai-header-bg: rgba(255, 255, 255, .035);
    --ai-header-border: rgba(167, 139, 250, .12);
    --ai-bubble-user-bg: rgba(139, 92, 246, .20);
    --ai-bubble-user-border: 1px solid rgba(139, 92, 246, .42);
    --ai-bubble-assistant-bg: rgba(255, 255, 255, .04);
    --ai-bubble-assistant-border: 1px solid rgba(148, 163, 184, .12);
    --ai-input-bg: rgba(255, 255, 255, .045);
    --ai-input-border: rgba(255, 255, 255, .09);
    --ai-input-focus-border: rgba(139, 92, 246, .58);
    --ai-accent: #8b5cf6;
    --ai-accent-hover: #7c3aed;
}

.ai-assistant-fab:hover {
    box-shadow: 0 10px 32px rgba(139, 92, 246, .46), 0 0 0 1px rgba(167, 139, 250, .32);
}

.ai-session-tab.active {
    color: #fff;
    border-color: color-mix(in srgb, var(--ai-accent) 38%, transparent);
    background: color-mix(in srgb, var(--ai-accent) 14%, transparent);
    box-shadow: 0 0 10px color-mix(in srgb, var(--ai-accent) 14%, transparent);
    font-weight: 600;
}

.ai-assistant-modal-backdrop,
.ai-assistant-modal-backdrop.floating {
    align-items: flex-start;
    justify-content: center;
    padding: 64px 24px 24px;
    background: rgba(0, 0, 0, .45);
    pointer-events: auto;
}

.ai-assistant-modal,
.ai-assistant-modal.floating-mode,
.ai-assistant-modal-backdrop.floating .ai-assistant-modal {
    border-radius: 16px;
    backdrop-filter: blur(18px) saturate(125%);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
}

body.light-theme {
    --ai-fab-bg: linear-gradient(135deg, #8b5cf6, #3b82f6);
    --ai-modal-bg: rgba(255, 255, 255, .96);
    --ai-modal-border: 1px solid rgba(124, 58, 237, .16);
    --ai-header-bg: rgba(248, 249, 250, .94);
    --ai-bubble-user-bg: rgba(139, 92, 246, .12);
    --ai-bubble-user-border: 1px solid rgba(139, 92, 246, .30);
    --ai-bubble-assistant-bg: rgba(245, 246, 248, .88);
    --ai-input-bg: rgba(255, 255, 255, .9);
    --ai-accent: #7c3aed;
    --ai-accent-hover: #6d28d9;
}

@media (max-width: 1100px) {
    .app-footer { right: 10px; bottom: 5px; }
    .btn-mobile-settings {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .ai-assistant-modal-backdrop,
    .ai-assistant-modal-backdrop.floating { padding: 12px; align-items: center; }
}

@media (max-width: 520px) {
    .finos-settings-backdrop {
        padding: max(12px, env(safe-area-inset-top, 0px)) 12px max(16px, env(safe-area-inset-bottom, 0px));
    }
    .finos-settings-dialog.glass-panel {
        width: calc(100vw - 24px) !important;
        max-height: calc(100dvh - 28px);
    }
    .finos-settings-header { padding: 14px 14px 11px; }
    .finos-settings-tabs {
        grid-template-columns: repeat(6, minmax(74px, 1fr));
        gap: 4px;
        padding: 0 14px 11px;
        scrollbar-width: thin;
    }
    .finos-settings-tabs button { min-height: 38px; }
    .finos-settings-panels { padding: 15px 14px 20px; }
    .finos-settings-compact-grid,
    .finos-ai-route-card { grid-template-columns: 1fr; }
    .finos-settings-compact-grid .finos-switch-row,
    .finos-settings-compact-grid .finos-inline-actions,
    .finos-ai-route-card .finos-settings-subhead,
    .finos-ai-route-card .finos-ai-route-status { grid-column: auto; }
    .finos-settings-section-head { align-items: flex-start; }
    .finos-source-toolbar { grid-template-columns: 1fr; }
    .finos-market-condition-list { grid-template-columns: 1fr; }
    .finos-source-scopes { justify-self: start; }
    .finos-privacy-grid { grid-template-columns: 1fr; }
    .finos-privacy-grid .finos-settings-card:nth-child(n + 3) { grid-column: auto; }
    .finos-settings-actions {
        min-height: 0;
        align-items: stretch;
        flex-direction: column;
        padding: 10px 14px max(12px, env(safe-area-inset-bottom, 0px));
    }
    .finos-settings-actions > div { width: 100%; }
    .finos-settings-actions button { flex: 1; min-height: 40px; }
}

@media (min-width: 1101px) and (max-height: 720px) {
    .sidebar-utility { display: none !important; }
    .btn-mobile-settings {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

.sidebar.collapsed .btn-mobile-settings { display: none !important; }

@media (prefers-reduced-motion: reduce) {
    .finos-settings-backdrop,
    .finos-settings-dialog { animation: none; }
}
