.fcfi-root,
.fcfi-root * ,
.fcfi-root *::before,
.fcfi-root *::after { box-sizing: border-box; }

.fcfi-root {
    --fcfi-ink: #172033;
    --fcfi-muted: #5b6577;
    --fcfi-border: #d9dee8;
    --fcfi-border-strong: #bcc5d3;
    --fcfi-paper: #ffffff;
    --fcfi-soft: #f5f7fa;
    --fcfi-soft-blue: #eef3f8;
    --fcfi-navy: #19324d;
    --fcfi-navy-2: #274b70;
    --fcfi-accent: #8a3141;
    --fcfi-positive: #176743;
    --fcfi-negative: #9a2d34;
    --fcfi-warn: #7a5710;
    --fcfi-shadow: 0 18px 45px rgba(23, 32, 51, .08);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    color: var(--fcfi-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.55;
    background: transparent;
    overflow-wrap: normal;
    word-break: normal;
}

.fcfi-root [hidden] { display: none !important; }
.fcfi-root button,
.fcfi-root input,
.fcfi-root select { font: inherit; }
.fcfi-root button { cursor: pointer; }
.fcfi-root button:disabled { cursor: not-allowed; opacity: .5; }
.fcfi-root a { color: var(--fcfi-navy-2); }
.fcfi-root :focus-visible { outline: 3px solid #9bb7d2; outline-offset: 3px; }

.fcfi-root .fcfi-intro {
    position: relative;
    padding: clamp(22px, 4vw, 44px);
    border: 1px solid var(--fcfi-border);
    border-radius: 20px 20px 0 0;
    background: linear-gradient(145deg, #fbfcfe 0%, #f2f5f9 100%);
    overflow: hidden;
}
.fcfi-root .fcfi-intro::before {
    content: "";
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #243e5c 0 33%, #e8e8e8 33% 66%, #8a3141 66% 100%);
}
.fcfi-root .fcfi-eyebrow,
.fcfi-root .fcfi-kicker {
    display: block;
    color: var(--fcfi-accent);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.fcfi-root .fcfi-intro h2,
.fcfi-root .fcfi-research-header h3,
.fcfi-root .fcfi-panel-head h4,
.fcfi-root .fcfi-section-head h3 { margin: .25rem 0 .65rem; color: var(--fcfi-ink); line-height: 1.15; }
.fcfi-root .fcfi-intro h2 { font-size: clamp(1.65rem, 4vw, 2.55rem); letter-spacing: -.03em; }
.fcfi-root .fcfi-intro p { max-width: 850px; margin: .5rem 0; color: #3e4b5d; }
.fcfi-root .fcfi-intro-note { padding-left: 14px; border-left: 3px solid var(--fcfi-border-strong); font-size: .94rem; }

.fcfi-root .fcfi-app {
    width: 100%;
    min-width: 0;
    padding: clamp(16px, 3vw, 28px);
    border: 1px solid var(--fcfi-border);
    border-top: 0;
    border-radius: 0 0 20px 20px;
    background: var(--fcfi-paper);
    box-shadow: var(--fcfi-shadow);
}

.fcfi-root .fcfi-search { width: 100%; min-width: 0; }
.fcfi-root .fcfi-label { display: block; margin-bottom: 8px; color: var(--fcfi-ink); font-size: .92rem; font-weight: 800; }
.fcfi-root .fcfi-search-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; width: 100%; min-width: 0; }
.fcfi-root .fcfi-search-input,
.fcfi-root .fcfi-filter-grid input,
.fcfi-root .fcfi-filter-grid select {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 10px 13px;
    border: 1px solid var(--fcfi-border-strong);
    border-radius: 10px;
    color: var(--fcfi-ink);
    background: #fff;
    box-shadow: none;
}
.fcfi-root .fcfi-search-input { min-height: 52px; font-size: 1.02rem; }
.fcfi-root .fcfi-search-input::placeholder,
.fcfi-root .fcfi-filter-grid input::placeholder { color: #768194; opacity: 1; }
.fcfi-root .fcfi-search-tools { display: flex; gap: 14px; justify-content: space-between; align-items: center; margin-top: 8px; }
.fcfi-root .fcfi-help { color: var(--fcfi-muted); font-size: .84rem; line-height: 1.45; }

.fcfi-root .fcfi-btn,
.fcfi-root .fcfi-link-btn,
.fcfi-root .fcfi-icon-btn,
.fcfi-root .fcfi-tab,
.fcfi-root .fcfi-local-chip,
.fcfi-root .fcfi-company-card-main {
    -webkit-appearance: none;
    appearance: none;
    border: 0;
    text-decoration: none;
}
.fcfi-root .fcfi-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 15px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-weight: 760;
    line-height: 1.2;
}
.fcfi-root .fcfi-btn-primary { color: #fff; background: var(--fcfi-navy); border-color: var(--fcfi-navy); }
.fcfi-root .fcfi-btn-primary:hover { background: #0f263d; }
.fcfi-root .fcfi-btn-quiet { color: var(--fcfi-navy); background: var(--fcfi-paper); border-color: var(--fcfi-border-strong); }
.fcfi-root .fcfi-btn-quiet:hover { background: var(--fcfi-soft); border-color: #9eabba; }
.fcfi-root .fcfi-link-btn { padding: 3px 0; color: var(--fcfi-navy-2); background: transparent; font-size: .9rem; font-weight: 760; border-bottom: 1px solid transparent; }
.fcfi-root .fcfi-link-btn:hover { border-bottom-color: currentColor; }
.fcfi-root .fcfi-icon-btn { width: 38px; height: 38px; border-radius: 50%; color: var(--fcfi-ink); background: var(--fcfi-soft); font-size: 1.45rem; }

.fcfi-root .fcfi-explorer {
    margin-top: 18px;
    padding: clamp(16px, 3vw, 24px);
    border: 1px solid var(--fcfi-border);
    border-radius: 14px;
    background: var(--fcfi-soft);
}
.fcfi-root .fcfi-section-head,
.fcfi-root .fcfi-panel-head,
.fcfi-root .fcfi-results-head {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    justify-content: space-between;
}
.fcfi-root .fcfi-section-head h3,
.fcfi-root .fcfi-panel-head h4 { font-size: 1.35rem; }
.fcfi-root .fcfi-results-head { align-items: center; margin: 24px 0 12px; }
.fcfi-root .fcfi-results-head h3 { margin: 0; font-size: 1.15rem; }
.fcfi-root .fcfi-results-head span { color: var(--fcfi-muted); font-size: .82rem; }
.fcfi-root .fcfi-results-subline { margin: -4px 0 12px; color: var(--fcfi-muted); font-size: .84rem; }
.fcfi-root .fcfi-filter-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; margin-top: 12px; }
.fcfi-root .fcfi-filter-grid label { min-width: 0; color: #3e4b5d; font-size: .83rem; font-weight: 720; }
.fcfi-root .fcfi-filter-grid label input,
.fcfi-root .fcfi-filter-grid label select { display: block; margin-top: 5px; font-size: .92rem; font-weight: 500; }
.fcfi-root .fcfi-filter-actions { display: flex; gap: 8px; align-items: end; }

.fcfi-root .fcfi-advanced-filters { grid-column: 1 / -1; min-width: 0; padding: 10px 12px; border: 1px solid var(--fcfi-border); border-radius: 11px; background: #fff; }
.fcfi-root .fcfi-advanced-filters summary { cursor: pointer; color: var(--fcfi-navy); font-size: .86rem; font-weight: 800; }
.fcfi-root .fcfi-advanced-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.fcfi-root .fcfi-advanced-grid label { min-width: 0; color: #3e4b5d; font-size: .83rem; font-weight: 720; }
.fcfi-root .fcfi-advanced-grid input,
.fcfi-root .fcfi-advanced-grid select { display: block; width: 100%; min-width: 0; min-height: 46px; margin-top: 5px; padding: 9px 12px; border: 1px solid var(--fcfi-border-strong); border-radius: 9px; color: var(--fcfi-ink); background: #fff; box-shadow: none; }

.fcfi-root .fcfi-status { min-height: 22px; margin: 13px 0 0; padding: 0; font-size: .88rem; color: var(--fcfi-muted); }
.fcfi-root .fcfi-status-error,
.fcfi-root .fcfi-status-info,
.fcfi-root .fcfi-status-success,
.fcfi-root .fcfi-status-busy { margin-top: 15px; padding: 10px 12px; border-radius: 9px; border: 1px solid var(--fcfi-border); }
.fcfi-root .fcfi-status-error { color: #74252b; background: #fff4f5; border-color: #ecc4c8; }
.fcfi-root .fcfi-status-success { color: #17543a; background: #f2fbf6; border-color: #c8e7d5; }
.fcfi-root .fcfi-status-info { color: #3b536d; background: #f4f8fc; border-color: #cedbe7; }
.fcfi-root .fcfi-status-busy { color: #4f5e70; background: var(--fcfi-soft); }

.fcfi-root .fcfi-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.fcfi-root .fcfi-company-card { min-width: 0; border: 1px solid var(--fcfi-border); border-radius: 13px; background: #fff; overflow: hidden; transition: box-shadow .15s ease, border-color .15s ease; }
.fcfi-root .fcfi-company-card:hover { border-color: #aeb9c8; box-shadow: 0 9px 24px rgba(26, 42, 62, .07); }
.fcfi-root .fcfi-company-card-body { display: grid; gap: 12px; min-width: 0; padding: 16px; color: var(--fcfi-ink); background: #fff; }
.fcfi-root .fcfi-company-card-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: start; }
.fcfi-root .fcfi-company-name { min-width: 0; margin: 0; font-size: 1.03rem; line-height: 1.3; font-weight: 780; overflow-wrap: anywhere; }
.fcfi-root .fcfi-company-id { display: block; margin-top: 5px; color: var(--fcfi-muted); font-size: .8rem; font-variant-numeric: tabular-nums; }
.fcfi-root .fcfi-company-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
.fcfi-root .fcfi-keyfact { min-width: 0; }
.fcfi-root .fcfi-keyfact-label { display: block; margin-bottom: 2px; color: var(--fcfi-muted); font-size: .72rem; font-weight: 760; letter-spacing: .03em; text-transform: uppercase; }
.fcfi-root .fcfi-keyfact-value { display: block; color: var(--fcfi-ink); font-size: .87rem; line-height: 1.4; overflow-wrap: anywhere; }
.fcfi-root .fcfi-card-actions { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 16px; border-top: 1px solid #edf0f4; background: #fcfdfe; }
.fcfi-root .fcfi-card-actions .fcfi-btn,
.fcfi-root .fcfi-card-actions .fcfi-link-btn { margin: 0; }
.fcfi-root .fcfi-card-actions .fcfi-link-btn { padding: 10px 12px; border: 1px solid var(--fcfi-border-strong); border-radius: 10px; background: #fff; font-size: .86rem; line-height: 1.2; }
.fcfi-root .fcfi-card-actions .fcfi-link-btn:hover { background: var(--fcfi-soft); border-bottom-color: transparent; }

.fcfi-root .fcfi-pill,
.fcfi-root .fcfi-source-chip {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-height: 25px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: .73rem;
    font-weight: 800;
    line-height: 1.15;
}
.fcfi-root .fcfi-pill-active { color: #155236; background: #e9f7ef; border: 1px solid #bfe3ce; }
.fcfi-root .fcfi-pill-muted { color: #5f6570; background: #f1f2f4; border: 1px solid #d5d8dd; }
.fcfi-root .fcfi-source-chip { color: #3f5872; background: var(--fcfi-soft-blue); border: 1px solid #d0dde9; }

.fcfi-root .fcfi-pager { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 18px 0 0; font-size: .88rem; }
.fcfi-root .fcfi-page-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.fcfi-root .fcfi-page-indicator { padding: 0 3px; color: var(--fcfi-muted); }
.fcfi-root .fcfi-page-btn { min-width: 40px; }
.fcfi-root .fcfi-empty { margin-top: 18px; padding: 22px; border: 1px dashed var(--fcfi-border-strong); border-radius: 12px; color: var(--fcfi-muted); background: #fcfdfe; }
.fcfi-root .fcfi-empty strong { display: block; color: var(--fcfi-ink); }
.fcfi-root .fcfi-empty p { margin: 5px 0 0; }
.fcfi-root .fcfi-empty-compact { margin-top: 10px; padding: 15px; }

.fcfi-root .fcfi-local-shelf { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin: 16px 0 0; padding: 14px; border: 1px solid var(--fcfi-border); border-radius: 12px; background: #fbfcfd; }
.fcfi-root .fcfi-local-shelf h3 { margin: 0 0 7px; font-size: .8rem; color: var(--fcfi-muted); text-transform: uppercase; letter-spacing: .06em; }
.fcfi-root .fcfi-chip-list { display: flex; flex-wrap: wrap; gap: 6px; }
.fcfi-root .fcfi-local-chip { max-width: 100%; padding: 6px 9px; border: 1px solid var(--fcfi-border); border-radius: 9px; text-align: left; color: var(--fcfi-ink); background: #fff; }
.fcfi-root .fcfi-local-chip strong,
.fcfi-root .fcfi-local-chip span { display: block; max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fcfi-root .fcfi-local-chip strong { font-size: .78rem; }
.fcfi-root .fcfi-local-chip span { color: var(--fcfi-muted); font-size: .68rem; }

.fcfi-root .fcfi-workspace { min-width: 0; margin-top: 18px; }
.fcfi-root .fcfi-research-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 15px 20px; padding: clamp(18px, 3vw, 26px); border: 1px solid var(--fcfi-border); border-radius: 16px 16px 0 0; background: linear-gradient(135deg, #f8fafc, #f1f4f8); }
.fcfi-root .fcfi-company-heading { min-width: 0; }
.fcfi-root .fcfi-company-heading h3 { font-size: clamp(1.45rem, 3vw, 2rem); overflow-wrap: anywhere; }
.fcfi-root .fcfi-heading-meta { display: flex; flex-wrap: wrap; gap: 5px 15px; color: #536074; font-size: .85rem; }
.fcfi-root .fcfi-heading-meta strong { color: var(--fcfi-ink); font-variant-numeric: tabular-nums; }
.fcfi-root .fcfi-header-status { display: flex; flex-wrap: wrap; gap: 7px; align-content: flex-start; justify-content: flex-end; }
.fcfi-root .fcfi-research-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 7px; }

.fcfi-root .fcfi-tabs { display: flex; width: 100%; max-width: 100%; min-width: 0; gap: 2px; padding: 6px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; border: 1px solid var(--fcfi-border); border-top: 0; background: #fff; }
.fcfi-root .fcfi-tab { flex: 0 0 auto; min-height: 40px; padding: 8px 11px; border-radius: 8px; color: #526074; background: transparent; font-size: .84rem; font-weight: 760; white-space: nowrap; }
.fcfi-root .fcfi-tab:hover { background: var(--fcfi-soft); }
.fcfi-root .fcfi-tab[aria-selected="true"] { color: #fff; background: var(--fcfi-navy); }
.fcfi-root .fcfi-tab-panel { min-width: 0; padding: clamp(17px, 3vw, 27px); border: 1px solid var(--fcfi-border); border-top: 0; border-radius: 0 0 16px 16px; background: #fff; }
.fcfi-root .fcfi-panel-head { align-items: center; margin-bottom: 16px; }
.fcfi-root .fcfi-panel-head h4 { margin-bottom: 0; }
.fcfi-root .fcfi-panel-tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.fcfi-root .fcfi-lede { max-width: 850px; margin: -4px 0 18px; color: #536074; }

.fcfi-root .fcfi-snapshot-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.fcfi-root .fcfi-metric { min-width: 0; padding: 14px; border: 1px solid var(--fcfi-border); border-radius: 11px; background: #fbfcfd; }
.fcfi-root .fcfi-metric > span { display: block; color: var(--fcfi-muted); font-size: .75rem; font-weight: 760; text-transform: uppercase; letter-spacing: .04em; }
.fcfi-root .fcfi-metric > strong { display: block; margin-top: 5px; color: var(--fcfi-ink); font-size: 1.02rem; line-height: 1.3; overflow-wrap: anywhere; }
.fcfi-root .fcfi-metric > small { display: block; margin-top: 4px; color: #667286; font-size: .75rem; }
.fcfi-root .fcfi-two-col,
.fcfi-root .fcfi-chart-grid,
.fcfi-root .fcfi-method-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.fcfi-root .fcfi-block { min-width: 0; padding: 16px; border: 1px solid var(--fcfi-border); border-radius: 12px; background: #fff; }
.fcfi-root .fcfi-block h5,
.fcfi-root .fcfi-method-note h5,
.fcfi-root .fcfi-signal h5,
.fcfi-root .fcfi-person h5,
.fcfi-root .fcfi-event h5 { margin: 0 0 8px; color: var(--fcfi-ink); font-size: .95rem; line-height: 1.35; }
.fcfi-root .fcfi-block p { color: #536074; }
.fcfi-root .fcfi-dl { margin: 0; }
.fcfi-root .fcfi-dl > div,
.fcfi-root .fcfi-establishment dl > div { display: grid; grid-template-columns: minmax(100px, .7fr) minmax(0, 1.3fr); gap: 12px; padding: 8px 0; border-bottom: 1px solid #edf0f4; }
.fcfi-root .fcfi-dl > div:last-child,
.fcfi-root .fcfi-establishment dl > div:last-child { border-bottom: 0; }
.fcfi-root .fcfi-dl dt,
.fcfi-root .fcfi-establishment dt { color: var(--fcfi-muted); font-size: .8rem; }
.fcfi-root .fcfi-dl dd,
.fcfi-root .fcfi-establishment dd { min-width: 0; margin: 0; color: var(--fcfi-ink); font-size: .88rem; text-align: right; overflow-wrap: anywhere; }
.fcfi-root .fcfi-fin-snapshot > strong { display: inline-block; margin-bottom: 9px; color: var(--fcfi-navy); }
.fcfi-root .fcfi-fin-snapshot > div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-top: 1px solid #edf0f4; }
.fcfi-root .fcfi-fin-snapshot span { color: var(--fcfi-muted); font-size: .84rem; }
.fcfi-root .fcfi-inline-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

.fcfi-root .fcfi-value-positive { color: var(--fcfi-positive); }
.fcfi-root .fcfi-value-negative { color: var(--fcfi-negative); }
.fcfi-root .fcfi-value-neutral { color: var(--fcfi-ink); }

.fcfi-root .fcfi-table-wrap { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.fcfi-root .fcfi-table { width: 100%; min-width: 650px; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: .85rem; }
.fcfi-root .fcfi-table caption { padding: 0 0 10px; color: var(--fcfi-muted); text-align: left; font-size: .76rem; }
.fcfi-root .fcfi-table th,
.fcfi-root .fcfi-table td { padding: 10px 11px; border-bottom: 1px solid #e7ebf0; text-align: right; vertical-align: top; white-space: nowrap; }
.fcfi-root .fcfi-table th:first-child,
.fcfi-root .fcfi-table td:first-child { text-align: left; }
.fcfi-root .fcfi-table thead th { color: #4e5a6d; background: #f5f7fa; font-size: .75rem; text-transform: uppercase; letter-spacing: .035em; }
.fcfi-root .fcfi-compare-table { min-width: 780px; }
.fcfi-root .fcfi-compare-table thead th:not(:first-child) { min-width: 180px; text-transform: none; letter-spacing: 0; }
.fcfi-root .fcfi-compare-table thead strong,
.fcfi-root .fcfi-compare-table thead span { display: block; white-space: normal; }
.fcfi-root .fcfi-compare-table thead span { margin-top: 3px; color: var(--fcfi-muted); font-size: .7rem; font-weight: 500; }

.fcfi-root .fcfi-chart-grid { margin-bottom: 12px; }
.fcfi-root .fcfi-chart { width: 100%; min-width: 0; overflow: hidden; }
.fcfi-root .fcfi-chart svg { display: block; width: 100%; height: auto; min-height: 180px; color: var(--fcfi-navy); }
.fcfi-root .fcfi-chart-line { fill: none; stroke: currentColor; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.fcfi-root .fcfi-chart circle { fill: #fff; stroke: currentColor; stroke-width: 3; }
.fcfi-root .fcfi-chart-zero { stroke: #c9d0da; stroke-width: 1; stroke-dasharray: 4 4; }
.fcfi-root .fcfi-chart text { fill: #687487; font-size: 12px; }

.fcfi-root .fcfi-analytics-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 12px 0; }
.fcfi-root .fcfi-analytics-grid > .fcfi-block { min-width: 0; }
.fcfi-root .fcfi-chart-note { margin: -2px 0 9px; color: var(--fcfi-muted); font-size: .78rem; line-height: 1.4; }
.fcfi-root .fcfi-chart-bar { fill: #42647f; }
.fcfi-root .fcfi-chart-bar.is-negative { fill: #8a4a50; }
.fcfi-root .fcfi-chart-bar.is-positive { fill: #42647f; }
.fcfi-root .fcfi-stats-table { min-width: 760px; }
.fcfi-root .fcfi-peer-analytics { margin: 12px 0; background: #fbfcfd; }
.fcfi-root .fcfi-peer-analytics h6 { margin: 0 0 7px; color: var(--fcfi-ink); font-size: .83rem; }
.fcfi-root .fcfi-analytics-metrics .fcfi-metric > strong { font-variant-numeric: tabular-nums; }

.fcfi-root .fcfi-method-note,
.fcfi-root .fcfi-cache-note { margin-top: 14px; padding: 14px 16px; border-radius: 11px; }
.fcfi-root .fcfi-method-note { border: 1px solid #d9e2ec; background: #f7fafc; }
.fcfi-root .fcfi-method-note p { margin: 0; color: #536074; font-size: .85rem; }
.fcfi-root .fcfi-cache-note { color: #614b18; border: 1px solid #e5d49e; background: #fffaf0; font-size: .84rem; }

.fcfi-root .fcfi-signal-list { display: grid; gap: 9px; }
.fcfi-root .fcfi-signal { display: grid; grid-template-columns: 6px minmax(0, 1fr); gap: 13px; padding: 14px; border: 1px solid var(--fcfi-border); border-radius: 11px; background: #fff; }
.fcfi-root .fcfi-signal-mark { width: 6px; min-height: 100%; border-radius: 999px; background: #758399; }
.fcfi-root .fcfi-signal-positive .fcfi-signal-mark { background: var(--fcfi-positive); }
.fcfi-root .fcfi-signal-negative .fcfi-signal-mark { background: var(--fcfi-negative); }
.fcfi-root .fcfi-signal-neutral .fcfi-signal-mark { background: #6e7887; }
.fcfi-root .fcfi-signal-context .fcfi-signal-mark { background: var(--fcfi-warn); }
.fcfi-root .fcfi-signal h5 { margin-bottom: 3px; }
.fcfi-root .fcfi-signal p { margin: 0; color: #566276; font-size: .87rem; }

.fcfi-root .fcfi-person-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.fcfi-root .fcfi-person { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 11px; padding: 14px; border: 1px solid var(--fcfi-border); border-radius: 11px; }
.fcfi-root .fcfi-person-icon { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; color: var(--fcfi-navy); background: var(--fcfi-soft-blue); font-size: .7rem; font-weight: 850; }
.fcfi-root .fcfi-person p { margin: 0; color: var(--fcfi-muted); font-size: .82rem; }
.fcfi-root .fcfi-person-action { margin-top: 8px; }

.fcfi-root .fcfi-establishment-list { display: grid; gap: 9px; margin-top: 10px; }
.fcfi-root .fcfi-establishment { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .7fr); gap: 16px; padding: 13px; border: 1px solid #e5e9ef; border-radius: 10px; background: #fcfdfe; }
.fcfi-root .fcfi-establishment > div > strong,
.fcfi-root .fcfi-establishment > div > span { display: block; }
.fcfi-root .fcfi-establishment > div > span { margin-top: 4px; color: var(--fcfi-muted); font-size: .83rem; }
.fcfi-root .fcfi-establishment dl { margin: 0; }

.fcfi-root .fcfi-establishment-identifiers { display: grid; gap: 5px; margin-top: 10px; padding-top: 9px; border-top: 1px solid #e7ebf0; }
.fcfi-root .fcfi-establishment-identifiers > div { display: grid; grid-template-columns: minmax(88px, auto) minmax(0, 1fr); gap: 8px; align-items: baseline; }
.fcfi-root .fcfi-establishment-identifiers span { color: var(--fcfi-muted); font-size: .71rem; font-weight: 760; text-transform: uppercase; letter-spacing: .03em; }
.fcfi-root .fcfi-establishment-identifiers strong { min-width: 0; color: var(--fcfi-ink); font-size: .76rem; font-weight: 650; overflow-wrap: anywhere; }

.fcfi-root .fcfi-timeline { position: relative; display: grid; gap: 0; }
.fcfi-root .fcfi-event { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 18px; padding: 17px 0; border-bottom: 1px solid #e7ebf0; }
.fcfi-root .fcfi-event:first-child { border-top: 1px solid #e7ebf0; }
.fcfi-root .fcfi-event-date strong,
.fcfi-root .fcfi-event-date span { display: block; }
.fcfi-root .fcfi-event-date strong { font-size: .84rem; }
.fcfi-root .fcfi-event-date span { color: var(--fcfi-muted); font-size: .73rem; }
.fcfi-root .fcfi-event-body p { margin: 7px 0; color: #536074; font-size: .85rem; }
.fcfi-root .fcfi-event-meta { color: #6a7484; font-size: .76rem; }
.fcfi-root .fcfi-source-link { display: inline-flex; margin-top: 3px; font-size: .82rem; font-weight: 760; }


.fcfi-root .fcfi-event-filters { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 14px; }
.fcfi-root .fcfi-event-filter { min-height: 38px; padding: 7px 10px; border: 1px solid var(--fcfi-border-strong); border-radius: 999px; color: #415064; background: #fff; font: inherit; font-size: .78rem; font-weight: 760; }
.fcfi-root .fcfi-event-filter:hover { background: var(--fcfi-soft); }
.fcfi-root .fcfi-event-filter.is-active { color: #fff; border-color: var(--fcfi-navy); background: var(--fcfi-navy); }
.fcfi-root .fcfi-event-filter span { display: inline-flex; min-width: 20px; justify-content: center; margin-left: 4px; padding: 1px 5px; border-radius: 999px; background: rgba(255,255,255,.16); }
.fcfi-root .fcfi-event-filter:not(.is-active) span { background: var(--fcfi-soft); }
.fcfi-root .fcfi-event-titleline { display: flex; flex-wrap: wrap; gap: 7px 10px; align-items: flex-start; justify-content: space-between; }
.fcfi-root .fcfi-event-titleline h5 { flex: 1 1 260px; margin-bottom: 0; }
.fcfi-root .fcfi-event-category { display: inline-flex; flex: 0 0 auto; padding: 3px 7px; border: 1px solid #d4dde7; border-radius: 999px; color: #465a70; background: #f4f7fa; font-size: .68rem; font-weight: 780; }

.fcfi-root .fcfi-compare-shelf { display: flex; flex-wrap: wrap; gap: 7px; margin: 10px 0 16px; padding: 10px; border: 1px solid var(--fcfi-border); border-radius: 11px; background: var(--fcfi-soft); color: var(--fcfi-muted); font-size: .83rem; }
.fcfi-root .fcfi-compare-token { display: inline-flex; align-items: center; gap: 7px; max-width: 100%; padding: 5px 7px 5px 10px; border: 1px solid #ccd4de; border-radius: 999px; color: var(--fcfi-ink); background: #fff; }
.fcfi-root .fcfi-compare-token button { display: grid; place-items: center; width: 23px; height: 23px; padding: 0; border: 0; border-radius: 50%; color: #5d6879; background: #edf0f4; }


.fcfi-root .fcfi-result-finance {
    display: grid;
    gap: 6px;
    padding: 10px 12px;
    border: 1px solid #dfe5ec;
    border-radius: 10px;
    background: #f8fafc;
}
.fcfi-root .fcfi-result-finance > span { color: var(--fcfi-muted); font-size: .72rem; font-weight: 760; text-transform: uppercase; letter-spacing: .035em; }
.fcfi-root .fcfi-result-finance > div { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.fcfi-root .fcfi-result-finance b { font-size: .82rem; font-weight: 760; }
.fcfi-root .fcfi-result-finance-empty strong { color: var(--fcfi-muted); font-size: .82rem; font-weight: 650; }

.fcfi-root .fcfi-research-brief {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    margin: 0 0 18px;
    padding: 16px;
    border: 1px solid #d2dce7;
    border-radius: 13px;
    background: linear-gradient(135deg, #f7fafc, #eef3f8);
}
.fcfi-root .fcfi-research-brief p { margin: 6px 0 0; color: #3f4d61; font-size: .9rem; }

.fcfi-root .fcfi-registry-block { margin: 12px 0; }
.fcfi-root .fcfi-badge-list { display: flex; flex-wrap: wrap; gap: 8px; }
.fcfi-root .fcfi-data-badge {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    max-width: 100%;
    padding: 6px 10px;
    border: 1px solid #cdd9e5;
    border-radius: 999px;
    color: #29445e;
    background: #f2f7fb;
    font-size: .78rem;
    font-weight: 720;
    line-height: 1.25;
}

.fcfi-root .fcfi-identifier-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 10px; }
.fcfi-root .fcfi-identifier-group { min-width: 0; padding: 10px 11px; border: 1px solid #e0e6ed; border-radius: 9px; background: #fbfcfd; }
.fcfi-root .fcfi-identifier-group span,
.fcfi-root .fcfi-identifier-group strong { display: block; }
.fcfi-root .fcfi-identifier-group span { color: var(--fcfi-muted); font-size: .7rem; font-weight: 760; text-transform: uppercase; letter-spacing: .035em; }
.fcfi-root .fcfi-identifier-group strong { margin-top: 3px; color: var(--fcfi-ink); font-size: .82rem; line-height: 1.38; overflow-wrap: anywhere; }
.fcfi-root .fcfi-official-record { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; margin: 12px 0; padding: 14px 16px; border: 1px solid #cfdbe6; border-radius: 12px; background: #f5f9fc; }
.fcfi-root .fcfi-official-record strong,
.fcfi-root .fcfi-official-record span { display: block; }
.fcfi-root .fcfi-official-record strong { color: var(--fcfi-ink); }
.fcfi-root .fcfi-official-record span { margin-top: 3px; color: var(--fcfi-muted); font-size: .82rem; }
.fcfi-root .fcfi-subhead { margin-bottom: 12px; }
.fcfi-root .fcfi-subhead h5 { margin: 0; }

.fcfi-root .fcfi-peer-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    align-items: end;
    margin: 0 0 16px;
    padding: 12px;
    border: 1px solid var(--fcfi-border);
    border-radius: 11px;
    background: var(--fcfi-soft);
}
.fcfi-root .fcfi-peer-controls label { min-width: 130px; color: var(--fcfi-muted); font-size: .78rem; font-weight: 760; }
.fcfi-root .fcfi-peer-controls select {
    display: block;
    width: 100%;
    min-height: 42px;
    margin-top: 4px;
    padding: 7px 30px 7px 10px;
    border: 1px solid var(--fcfi-border-strong);
    border-radius: 9px;
    color: var(--fcfi-ink);
    background: #fff;
}
.fcfi-root .fcfi-peer-context {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 6px 12px;
    margin: 0 0 12px;
    color: var(--fcfi-muted);
    font-size: .82rem;
}
.fcfi-root .fcfi-peer-context strong { color: var(--fcfi-ink); }

.fcfi-root .fcfi-loading-card { display: flex; gap: 10px; align-items: center; justify-content: center; min-height: 150px; padding: 20px; color: var(--fcfi-muted); border: 1px solid var(--fcfi-border); border-radius: 12px; background: #fbfcfd; }
.fcfi-root .fcfi-spinner { width: 20px; height: 20px; border: 2px solid #ccd4df; border-top-color: var(--fcfi-navy); border-radius: 50%; animation: fcfi-spin .8s linear infinite; }
@keyframes fcfi-spin { to { transform: rotate(360deg); } }

.fcfi-root .fcfi-noscript { padding: 12px; color: #6a501b; border: 1px solid #e4d4a4; border-radius: 9px; background: #fffaf0; }

/* v0.5.0 theme-isolation and research-interface design system */
.fcfi-root[data-rest-base] button,
.fcfi-root[data-rest-base] select,
.fcfi-root[data-rest-base] input,
.fcfi-root[data-rest-base] a.fcfi-btn,
.fcfi-root[data-rest-base] summary {
    font-family: inherit !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-shadow: none !important;
}
.fcfi-root[data-rest-base] .fcfi-search-input,
.fcfi-root[data-rest-base] .fcfi-filter-grid input,
.fcfi-root[data-rest-base] .fcfi-filter-grid select,
.fcfi-root[data-rest-base] .fcfi-advanced-grid input,
.fcfi-root[data-rest-base] .fcfi-advanced-grid select,
.fcfi-root[data-rest-base] .fcfi-peer-controls select {
    color: var(--fcfi-ink) !important;
    background: #fff !important;
    border-color: var(--fcfi-border-strong) !important;
    box-shadow: none !important;
}

.fcfi-root button.fcfi-btn,
.fcfi-root a.fcfi-btn {
    border-radius: 10px !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
.fcfi-root .fcfi-btn.fcfi-btn-primary,
.fcfi-root a.fcfi-btn.fcfi-btn-primary {
    color: #fff !important;
    background: #244b67 !important;
    border-color: #244b67 !important;
}
.fcfi-root .fcfi-btn.fcfi-btn-primary:hover,
.fcfi-root a.fcfi-btn.fcfi-btn-primary:hover { background: #193b55 !important; }
.fcfi-root .fcfi-btn.fcfi-btn-quiet,
.fcfi-root a.fcfi-btn.fcfi-btn-quiet {
    color: #203b51 !important;
    background: #fff !important;
    border: 1px solid #b8c7d3 !important;
}
.fcfi-root .fcfi-btn.fcfi-btn-quiet:hover,
.fcfi-root a.fcfi-btn.fcfi-btn-quiet:hover { background: #f3f7fa !important; border-color: #8fa4b5 !important; }
.fcfi-root[data-rest-base] button.fcfi-link-btn {
    color: #234b67 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.fcfi-root[data-rest-base] .fcfi-search-tools button.fcfi-link-btn {
    min-height: 40px;
    padding: 8px 12px !important;
    border: 1px solid #c7d3dc !important;
    border-radius: 9px !important;
    background: #f7fafc !important;
}
.fcfi-root[data-rest-base] .fcfi-search-tools button.fcfi-link-btn:hover { background: #edf3f7 !important; }

.fcfi-root .fcfi-chip-list button.fcfi-local-chip {
    display: inline-grid !important;
    gap: 2px;
    flex: 0 0 auto;
    min-width: 150px;
    max-width: 220px;
    min-height: 54px;
    padding: 8px 11px !important;
    border: 1px solid #d2dce4 !important;
    border-radius: 10px !important;
    color: var(--fcfi-ink) !important;
    background: #fff !important;
    box-shadow: none !important;
    text-align: left !important;
}
.fcfi-root .fcfi-chip-list button.fcfi-local-chip:hover { background: #f5f8fa !important; border-color: #a9bac7 !important; }
.fcfi-root .fcfi-local-chip strong { color: #1c2b3a !important; font-size: .8rem; font-weight: 760; }
.fcfi-root .fcfi-local-chip span { color: #6a7787 !important; font-size: .7rem; font-weight: 550; }
.fcfi-root .fcfi-chip-list { overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; padding: 1px 1px 5px; }

 .fcfi-root[data-rest-base] button.fcfi-icon-btn {
    border: 0 !important;
    color: #294155 !important;
    background: #edf2f5 !important;
    box-shadow: none !important;
}
.fcfi-root[data-rest-base] .fcfi-event-filters button.fcfi-event-filter {
    border: 1px solid #b9c8d3 !important;
    color: #415064 !important;
    background: #fff !important;
    box-shadow: none !important;
}
.fcfi-root[data-rest-base] .fcfi-event-filters button.fcfi-event-filter.is-active {
    color: #fff !important;
    border-color: #365e79 !important;
    background: #365e79 !important;
}
.fcfi-root[data-rest-base] .fcfi-compare-token button {
    border: 0 !important;
    color: #516170 !important;
    background: #e9eef2 !important;
    box-shadow: none !important;
}

.fcfi-root .fcfi-research-header {
    border-color: #d3dde6;
    background: linear-gradient(145deg, #fbfcfd, #f3f6f8);
}
.fcfi-root .fcfi-research-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 8px;
    align-items: stretch;
}
.fcfi-root .fcfi-action-main {
    display: grid !important;
    align-content: center;
    justify-items: start;
    min-width: 0;
    min-height: 58px;
    padding: 9px 11px !important;
    text-align: left !important;
}
.fcfi-root .fcfi-action-main > span { color: #1d374b !important; font-size: .84rem; font-weight: 790; line-height: 1.2; }
.fcfi-root .fcfi-action-main > small { display: block; margin-top: 3px; color: #6b7785 !important; font-size: .68rem; font-weight: 540; line-height: 1.2; }
.fcfi-root .fcfi-action-menu { position: relative; min-width: 0; margin: 0; }
.fcfi-root .fcfi-action-menu > summary {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    height: 100%;
    padding: 9px 11px;
    border: 1px solid #b8c7d3 !important;
    border-radius: 10px !important;
    color: #203b51 !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: .84rem;
    font-weight: 790;
    cursor: pointer;
    list-style: none;
}
.fcfi-root .fcfi-action-menu > summary::-webkit-details-marker { display: none; }
.fcfi-root .fcfi-action-menu > summary::after { content: "⋯"; margin-left: 7px; color: #718091; font-size: 1.05rem; }
.fcfi-root .fcfi-action-menu[open] > summary { background: #eef4f7 !important; border-color: #91a8b8 !important; }
.fcfi-root .fcfi-action-menu-panel {
    position: absolute;
    z-index: 20;
    top: calc(100% + 7px);
    right: 0;
    width: min(280px, 82vw);
    padding: 7px;
    border: 1px solid #cad5de;
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(23,32,51,.14);
}
.fcfi-root .fcfi-action-menu-panel button.fcfi-action-menu-item {
    display: block !important;
    width: 100% !important;
    min-height: 42px;
    padding: 9px 10px !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: #263c4d !important;
    background: #fff !important;
    box-shadow: none !important;
    text-align: left !important;
    font-size: .84rem !important;
    font-weight: 650 !important;
}
.fcfi-root .fcfi-action-menu-panel button.fcfi-action-menu-item:hover { background: #f1f5f8 !important; }

.fcfi-root .fcfi-section-picker { display: none; }
.fcfi-root .fcfi-tabs {
    gap: 4px;
    padding: 7px 7px 6px;
    border-color: #d6e0e7;
    background: #f8fafb;
}
.fcfi-root .fcfi-tabs button.fcfi-tab {
    min-height: 40px !important;
    padding: 8px 11px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    color: #526273 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
}
.fcfi-root .fcfi-tabs button.fcfi-tab:hover { color: #213c51 !important; background: #eef3f6 !important; }
.fcfi-root .fcfi-tabs button.fcfi-tab[aria-selected="true"] {
    color: #203d54 !important;
    background: #fff !important;
    border-color: #c8d5de !important;
    box-shadow: inset 0 -3px 0 #8a3141 !important;
}

.fcfi-root .fcfi-coverage-card {
    margin: 0 0 18px;
    padding: 15px 16px;
    border: 1px solid #d3dee7;
    border-radius: 13px;
    background: #fbfcfd;
}
.fcfi-root .fcfi-coverage-head { display: flex; align-items: end; justify-content: space-between; gap: 14px; }
.fcfi-root .fcfi-coverage-head h5 { margin: 2px 0 0; color: var(--fcfi-ink); font-size: 1rem; }
.fcfi-root .fcfi-coverage-head > strong { color: #234b67; font-size: 1.35rem; line-height: 1; }
.fcfi-root .fcfi-coverage-progress { display: block; width: 100%; height: 10px; margin: 10px 0 9px; accent-color: #476f89; }
.fcfi-root .fcfi-coverage-card > p { margin: 0 0 11px; color: #5f6c7b; font-size: .8rem; }
.fcfi-root .fcfi-coverage-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 7px; }
.fcfi-root .fcfi-coverage-grid > div { display: flex; justify-content: space-between; gap: 7px; padding: 7px 9px; border: 1px solid #e1e7ec; border-radius: 8px; background: #fff; font-size: .75rem; }
.fcfi-root .fcfi-coverage-grid span { min-width: 0; color: #657282; }
.fcfi-root .fcfi-coverage-grid strong { flex: 0 0 auto; color: #2a4255; font-size: .72rem; }

.fcfi-root .fcfi-research-shortcuts { margin-top: 16px; padding: 15px; border: 1px solid #d8e1e8; border-radius: 12px; background: #fafcfd; }
.fcfi-root .fcfi-research-shortcuts > h5 { margin: 0 0 10px; color: var(--fcfi-ink); font-size: .93rem; }
.fcfi-root .fcfi-shortcut-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.fcfi-root .fcfi-shortcut-grid button.fcfi-shortcut {
    display: block !important;
    min-width: 0;
    min-height: 68px;
    padding: 10px 11px !important;
    border: 1px solid #d1dce4 !important;
    border-radius: 10px !important;
    color: #1f3547 !important;
    background: #fff !important;
    box-shadow: none !important;
    text-align: left !important;
}
.fcfi-root .fcfi-shortcut-grid button.fcfi-shortcut:hover { background: #f1f6f9 !important; border-color: #9eb3c2 !important; }
.fcfi-root .fcfi-shortcut strong,
.fcfi-root .fcfi-shortcut span { display: block; }
.fcfi-root .fcfi-shortcut strong { color: #213d53 !important; font-size: .83rem; font-weight: 780; }
.fcfi-root .fcfi-shortcut span { margin-top: 3px; color: #687686 !important; font-size: .7rem; line-height: 1.28; }
.fcfi-root .fcfi-similar-link { margin-top: 10px; }

.fcfi-root .fcfi-event-summary { margin-bottom: 14px; }



.fcfi-root .fcfi-results-head > div:first-child { min-width: 0; }
.fcfi-root .fcfi-result-sort { display: grid; grid-template-columns: auto minmax(170px, 230px); gap: 8px; align-items: center; color: var(--fcfi-muted); font-size: .76rem; font-weight: 700; }
.fcfi-root[data-rest-base] .fcfi-result-sort select { min-height: 38px !important; padding: 6px 32px 6px 9px !important; border: 1px solid #b7c5d0 !important; border-radius: 8px !important; color: #263e51 !important; background: #fff !important; box-shadow: none !important; font-size: .78rem !important; font-weight: 650 !important; text-transform: none !important; }

.fcfi-root .fcfi-back-results { border-color: #9eb5c5 !important; background: #f4f8fa !important; }
.fcfi-root .fcfi-back-results > span { color: #1d455f !important; }

.fcfi-root .fcfi-chart-legend { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 7px; color: var(--fcfi-muted); font-size: .72rem; }
.fcfi-root .fcfi-chart-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.fcfi-root .fcfi-legend-line { display: inline-block; width: 24px; height: 0; border-top: 3px solid #294f6b; }
.fcfi-root .fcfi-legend-line.is-secondary { border-top-style: dashed; border-top-color: #8a5962; }
.fcfi-root .fcfi-chart-line-secondary { stroke: #8a5962; stroke-dasharray: 8 6; stroke-width: 2.5; }

.fcfi-root .fcfi-research-timeline { position: relative; display: grid; gap: 0; margin-top: 10px; }
.fcfi-root .fcfi-timeline-item { position: relative; display: grid; grid-template-columns: 14px 115px minmax(0, 1fr); gap: 12px; padding: 14px 0; border-bottom: 1px solid #e4e9ee; }
.fcfi-root .fcfi-timeline-item:first-child { border-top: 1px solid #e4e9ee; }
.fcfi-root .fcfi-timeline-marker { width: 10px; height: 10px; margin-top: 6px; border: 2px solid #fff; border-radius: 50%; background: #476f89; box-shadow: 0 0 0 2px #b8c8d3; }
.fcfi-root .fcfi-timeline-date { color: #556579; font-size: .8rem; font-weight: 760; line-height: 1.4; }
.fcfi-root .fcfi-timeline-content { min-width: 0; }
.fcfi-root .fcfi-timeline-kind { display: inline-flex; margin-bottom: 3px; padding: 2px 7px; border: 1px solid #d3dde5; border-radius: 999px; color: #5b6878; background: #f8fafb; font-size: .68rem; font-weight: 760; }
.fcfi-root .fcfi-timeline-content h5 { margin: 2px 0 4px; color: var(--fcfi-ink); font-size: .92rem; line-height: 1.35; }
.fcfi-root .fcfi-timeline-content p { margin: 0; color: #59677a; font-size: .82rem; line-height: 1.5; }
.fcfi-root .fcfi-timeline-filters { margin-bottom: 10px; }

.fcfi-root .fcfi-note-editor label { display: block; margin-bottom: 8px; color: var(--fcfi-ink); font-size: .88rem; font-weight: 780; }
.fcfi-root[data-rest-base] .fcfi-note-editor textarea {
    display: block !important;
    width: 100% !important;
    min-height: 230px !important;
    max-width: 100% !important;
    padding: 13px 14px !important;
    border: 1px solid #adbdc9 !important;
    border-radius: 10px !important;
    color: #1d2f3d !important;
    background: #fff !important;
    box-shadow: inset 0 1px 2px rgba(23,32,51,.03) !important;
    resize: vertical !important;
    font: inherit !important;
    line-height: 1.55 !important;
}
.fcfi-root[data-rest-base] .fcfi-note-editor textarea:focus { border-color: #6f91aa !important; outline: 3px solid #d9e6ef !important; outline-offset: 1px; }
.fcfi-root .fcfi-note-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 14px; margin-top: 7px; color: #6b7785; font-size: .74rem; }

.fcfi-root .fcfi-search-hint { margin-top: 5px; color: #718091; font-size: .72rem; }

@media (max-width: 900px) {
    .fcfi-root .fcfi-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fcfi-root .fcfi-snapshot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fcfi-root .fcfi-establishment { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .fcfi-root { font-size: 15px; }
    .fcfi-root .fcfi-intro { border-radius: 15px 15px 0 0; }
    .fcfi-root .fcfi-app { padding: 13px; border-radius: 0 0 15px 15px; }
    .fcfi-root .fcfi-search-line { grid-template-columns: minmax(0, 1fr); }
    .fcfi-root .fcfi-search-line .fcfi-btn { width: 100%; }
    .fcfi-root .fcfi-search-tools { align-items: flex-start; flex-direction: column; gap: 7px; }
    .fcfi-root .fcfi-filter-grid,
    .fcfi-root .fcfi-result-grid,
    .fcfi-root .fcfi-local-shelf,
    .fcfi-root .fcfi-two-col,
    .fcfi-root .fcfi-chart-grid,
    .fcfi-root .fcfi-analytics-grid,
    .fcfi-root .fcfi-method-grid,
    .fcfi-root .fcfi-person-grid { grid-template-columns: minmax(0, 1fr); }
    .fcfi-root .fcfi-filter-actions { grid-column: 1 / -1; }
    .fcfi-root .fcfi-research-header { grid-template-columns: minmax(0, 1fr); }
    .fcfi-root .fcfi-header-status { justify-content: flex-start; }
    .fcfi-root .fcfi-snapshot-grid { grid-template-columns: minmax(0, 1fr); }
    .fcfi-root .fcfi-company-grid { grid-template-columns: minmax(0, 1fr); }
    .fcfi-root .fcfi-company-card-top { gap: 7px; }
    .fcfi-root .fcfi-event { grid-template-columns: minmax(0,1fr); gap: 7px; }
    .fcfi-root .fcfi-dl > div,
    .fcfi-root .fcfi-establishment dl > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
    .fcfi-root .fcfi-dl dd,
    .fcfi-root .fcfi-establishment dd { text-align: left; }
    .fcfi-root .fcfi-tab-panel { padding: 15px 12px; }
    .fcfi-root .fcfi-panel-head { align-items: flex-start; flex-direction: column; }
    .fcfi-root .fcfi-panel-tools { width: 100%; justify-content: flex-start; }
    .fcfi-root .fcfi-panel-tools .fcfi-btn { width: 100%; }
    .fcfi-root .fcfi-pager { flex-wrap: wrap; }
    .fcfi-root .fcfi-research-brief { grid-template-columns: minmax(0, 1fr); }
    .fcfi-root .fcfi-research-brief .fcfi-btn { width: 100%; }
    .fcfi-root .fcfi-peer-controls { align-items: stretch; flex-direction: column; }
    .fcfi-root .fcfi-peer-controls .fcfi-btn { width: 100%; }
    .fcfi-root .fcfi-result-finance > div { flex-direction: column; gap: 2px; }
    .fcfi-root .fcfi-advanced-grid,
    .fcfi-root .fcfi-identifier-grid { grid-template-columns: minmax(0, 1fr); }
    .fcfi-root .fcfi-official-record { grid-template-columns: minmax(0, 1fr); }
    .fcfi-root .fcfi-official-record .fcfi-btn { width: 100%; }
    .fcfi-root .fcfi-event-titleline { display: block; }
    .fcfi-root .fcfi-event-category { margin-top: 6px; }
}


@media (max-width: 760px) {
    .fcfi-root { font-size: 16px; }
    .fcfi-root .fcfi-search-tools { gap: 9px; }
    .fcfi-root .fcfi-local-shelf { padding: 12px; gap: 12px; }
    .fcfi-root .fcfi-chip-list { display: flex !important; flex-wrap: nowrap !important; gap: 7px !important; }
    .fcfi-root .fcfi-chip-list button.fcfi-local-chip { flex-basis: 170px; min-width: 170px; }
    .fcfi-root .fcfi-research-header { gap: 12px; padding: 16px 14px; }
    .fcfi-root .fcfi-company-heading h3 { margin-top: 3px; font-size: 1.55rem; }
    .fcfi-root .fcfi-heading-meta { display: grid; gap: 3px; font-size: .83rem; }
    .fcfi-root .fcfi-research-actions { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
    .fcfi-root .fcfi-action-main,
    .fcfi-root .fcfi-action-menu > summary { min-height: 56px; }
    .fcfi-root .fcfi-action-menu-panel { right: 0; width: min(280px, calc(100vw - 54px)); }
    .fcfi-root .fcfi-tabs { display: none !important; }
    .fcfi-root .fcfi-section-picker { display: block; padding: 10px 12px; border: 1px solid #d6e0e7; border-top: 0; background: #f8fafb; }
    .fcfi-root .fcfi-section-picker label > span { display: block; margin-bottom: 5px; color: #5d6b7a; font-size: .72rem; font-weight: 780; text-transform: uppercase; letter-spacing: .04em; }
    .fcfi-root .fcfi-section-picker select { display: block !important; width: 100% !important; min-height: 46px !important; padding: 8px 38px 8px 11px !important; border: 1px solid #aebfcb !important; border-radius: 9px !important; color: #203b50 !important; background: #fff !important; box-shadow: none !important; font-size: .94rem !important; font-weight: 700 !important; }
    .fcfi-root .fcfi-tab-panel { border-top: 0; padding: 16px 13px; }
    .fcfi-root .fcfi-coverage-grid { grid-template-columns: minmax(0,1fr); }
    .fcfi-root .fcfi-shortcut-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .fcfi-root .fcfi-shortcut-grid button.fcfi-shortcut { min-height: 72px; }
    .fcfi-root .fcfi-snapshot-grid.fcfi-event-summary { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .fcfi-root .fcfi-results-head { align-items: stretch; flex-direction: column; }
    .fcfi-root .fcfi-result-sort { grid-template-columns: minmax(0,1fr); gap: 4px; }
    .fcfi-root[data-rest-base] .fcfi-result-sort select { width: 100% !important; }
    .fcfi-root .fcfi-back-results { grid-column: 1 / -1; }
    .fcfi-root .fcfi-timeline-item { grid-template-columns: 12px minmax(0, 1fr); gap: 9px 10px; }
    .fcfi-root .fcfi-timeline-date { grid-column: 2; font-size: .75rem; }
    .fcfi-root .fcfi-timeline-content { grid-column: 2; }
    .fcfi-root .fcfi-timeline-marker { grid-row: 1 / span 2; }
}



@media (max-width: 360px) {
    .fcfi-root .fcfi-intro { padding: 19px 15px; }
    .fcfi-root .fcfi-app { padding: 10px; }
    .fcfi-root .fcfi-research-header { padding: 15px 12px; }
    .fcfi-root .fcfi-card-actions .fcfi-btn,
    .fcfi-root .fcfi-card-actions .fcfi-link-btn { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
    .fcfi-root .fcfi-spinner { animation: none; }
    .fcfi-root .fcfi-company-card { transition: none; }
}

@media print {
    .fcfi-root .fcfi-search,
    .fcfi-root .fcfi-local-shelf,
    .fcfi-root .fcfi-explorer,
    .fcfi-root .fcfi-status,
    .fcfi-root .fcfi-tabs,
    .fcfi-root .fcfi-section-picker,
    .fcfi-root .fcfi-research-actions,
    .fcfi-root .fcfi-link-btn,
    .fcfi-root .fcfi-btn { display: none !important; }
    .fcfi-root .fcfi-app,
    .fcfi-root .fcfi-intro,
    .fcfi-root .fcfi-research-header,
    .fcfi-root .fcfi-tab-panel { border: 0; box-shadow: none; }
    .fcfi-root .fcfi-tab-panel { padding: 12px 0; }
    .fcfi-root .fcfi-table-wrap { overflow: visible; }
}
