/*
 * Ethesia Design System — Filament bridge layer
 * --------------------------------------------------------------------------
 * The Nuxt EDS workbench (/internal/design-system) is the visual contract;
 * this file is the sanctioned Laravel/Filament *bridge* (docs/design-system.md
 * § "Laravel/Filament EDS bridge"): it maps the EDS tokens into reusable,
 * clearly-named `fi-eds-*` classes for admin Blade/Filament surfaces. It is NOT
 * a copy of any Vue component's scoped CSS, and individual Filament pages must
 * consume these classes instead of pasting one-off <style> blocks.
 *
 * Loaded panel-wide via a render hook in EthesiaPanelProvider. Tokens are
 * declared on :root (harmless, global); every visual rule is namespaced under
 * `.fi-eds` so it is strictly opt-in and never restyles the rest of the panel.
 */

/* Fraunces + Inter are loaded as real <link> tags in EthesiaPanelProvider's
   render hook, alongside JetBrains Mono — a nested @import here would block
   CSSOM parsing panel-wide until this file finishes downloading. */

:root {
    /* Warm canvas + card surfaces (verbatim EDS values) */
    --cream: #faf9f5;
    --paper: #fffefb;
    --ink: #1a1714;
    --ink2: #524d44;
    --ink3: #847d70;
    --ink3-aa: #6f685d;
    --line: #e8e2d5;
    --lineS: #d8d0bf;
    --purple: #6a34f5;
    --purple7: #5826d1;
    --psoft: #f1ecff;
    --cream2: #f2eee4;
    --dark: #18140f; /* near-black warm accent (map ink markers, TSH chrome) */
    --code-ink: #efe9dd; /* warm off-white — code text on the dark (--ink) code block */

    /* Warm elevation shadows shared by page bridge layers */
    --shadow: 0 1px 3px rgba(40, 33, 20, .06), 0 1px 2px rgba(40, 33, 20, .04);
    --shadowL: 0 12px 32px -16px rgba(40, 33, 20, .22);
    --ser: 'Fraunces', Georgia, 'Times New Roman', serif;
    --sans: 'Inter', system-ui, sans-serif;

    /* Semantic state surfaces for soft pills/badges */
    --ok-surface: #e7f4ed;
    --ok-ink: #0f6e56;
    --warn-surface: #fbf0dc;
    --warn-ink: #854f0b;
    --err-surface: #fbe9e7;
    --err-ink: #b4453a;

    /* EDS ramp rungs — the in-between steps of the four EDS families above.
       They exist because Filament's colour engine draws every surface, ring
       tint, fill and hover step from a full 50→950 scale per family, and the
       named tokens only cover a few of those rungs. Every rung is derived —
       a color-mix() between the two SANCTIONED tokens that bracket it — so no
       literal colour is introduced anywhere: change a named token and the
       whole ramp follows. Nothing but the Filament token remap in
       eds-filament-theme.css § 0 should consume them.

       Warm neutral: --cream 50 · --cream2 100 · --line 200 · --lineS 300 ·
       400 · --ink3 500 · --ink3-aa 600 · --ink2 700 · 800 · 900 · --ink 950 */
    --eds-warm-400: color-mix(in oklab, var(--lineS), var(--ink3));
    --eds-warm-800: color-mix(in oklab, var(--ink2) 66%, var(--ink));
    --eds-warm-900: color-mix(in oklab, var(--ink2) 30%, var(--ink));

    /* Iris: --psoft 50 · 100–500 · --purple 600 · --purple7 700 · 800–950 */
    --eds-iris-100: color-mix(in oklab, var(--psoft) 94%, var(--purple));
    --eds-iris-200: color-mix(in oklab, var(--psoft) 84%, var(--purple));
    --eds-iris-300: color-mix(in oklab, var(--psoft) 65%, var(--purple));
    --eds-iris-400: color-mix(in oklab, var(--psoft) 47%, var(--purple));
    --eds-iris-500: color-mix(in oklab, var(--psoft) 24%, var(--purple));
    --eds-iris-800: color-mix(in oklab, var(--purple7) 72%, var(--ink));
    --eds-iris-900: color-mix(in oklab, var(--purple7) 56%, var(--ink));
    --eds-iris-950: color-mix(in oklab, var(--purple7) 28%, var(--ink));

    /* Err: --err-surface 50 · 100–500 · --err-ink 600 · 700–950 */
    --eds-err-100: color-mix(in oklab, var(--err-surface) 94%, var(--err-ink));
    --eds-err-200: color-mix(in oklab, var(--err-surface) 83%, var(--err-ink));
    --eds-err-300: color-mix(in oklab, var(--err-surface) 66%, var(--err-ink));
    --eds-err-400: color-mix(in oklab, var(--err-surface) 42%, var(--err-ink));
    --eds-err-500: color-mix(in oklab, var(--err-surface) 20%, var(--err-ink));
    --eds-err-700: color-mix(in oklab, var(--err-ink) 88%, var(--ink));
    --eds-err-800: color-mix(in oklab, var(--err-ink) 76%, var(--ink));
    --eds-err-900: color-mix(in oklab, var(--err-ink) 58%, var(--ink));
    --eds-err-950: color-mix(in oklab, var(--err-ink) 24%, var(--ink));

    /* Ok: --ok-surface 50 · 100–500 · --ok-ink 600 · 700–950 */
    --eds-ok-100: color-mix(in oklab, var(--ok-surface) 91%, var(--ok-ink));
    --eds-ok-200: color-mix(in oklab, var(--ok-surface) 71%, var(--ok-ink));
    --eds-ok-300: color-mix(in oklab, var(--ok-surface) 47%, var(--ok-ink));
    --eds-ok-400: color-mix(in oklab, var(--ok-surface) 24%, var(--ok-ink));
    --eds-ok-500: color-mix(in oklab, var(--ok-surface) 12%, var(--ok-ink));
    --eds-ok-700: color-mix(in oklab, var(--ok-ink) 86%, var(--ink));
    --eds-ok-800: color-mix(in oklab, var(--ok-ink) 72%, var(--ink));
    --eds-ok-900: color-mix(in oklab, var(--ok-ink) 53%, var(--ink));
    --eds-ok-950: color-mix(in oklab, var(--ok-ink) 15%, var(--ink));

    /* Warn: --warn-surface 50 · 100–500 · --warn-ink 600 · 700–950 */
    --eds-warn-100: color-mix(in oklab, var(--warn-surface) 94%, var(--warn-ink));
    --eds-warn-200: color-mix(in oklab, var(--warn-surface) 78%, var(--warn-ink));
    --eds-warn-300: color-mix(in oklab, var(--warn-surface) 60%, var(--warn-ink));
    --eds-warn-400: color-mix(in oklab, var(--warn-surface) 42%, var(--warn-ink));
    --eds-warn-500: color-mix(in oklab, var(--warn-surface) 22%, var(--warn-ink));
    --eds-warn-700: color-mix(in oklab, var(--warn-ink) 89%, var(--ink));
    --eds-warn-800: color-mix(in oklab, var(--warn-ink) 77%, var(--ink));
    --eds-warn-900: color-mix(in oklab, var(--warn-ink) 57%, var(--ink));
    --eds-warn-950: color-mix(in oklab, var(--warn-ink) 19%, var(--ink));

    /* Depth — warm-tinted, low opacity */
    --fi-eds-shadow: 0 1px 3px rgba(40, 33, 20, 0.05), 0 1px 2px rgba(40, 33, 20, 0.03);
    --fi-eds-shadow-h: 0 10px 26px rgba(40, 33, 20, 0.10);
    --fi-eds-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

    /* On-ink palette — text/hairlines/accent/status for content sitting ON
       the dark --ink canvas (the pipeline section). Same warm family as
       --code-ink; status pairs are the on-ink mirrors of --ok/--warn. */
    --onink-text: #efe9dd;
    --onink-muted: rgba(239, 233, 221, 0.62);
    --onink-line: rgba(239, 233, 221, 0.14);
    --onink-accent: #b7a4f7;
    --onink-accent-surface: rgba(183, 164, 247, 0.16);
    --onink-warn: #f3ce93;
    --onink-warn-surface: rgba(251, 240, 220, 0.12);
    --onink-ok: #8fd7bd;
    --onink-ok-surface: rgba(122, 210, 180, 0.14);
    --onink-accent-glow: rgba(183, 164, 247, 0.20);
}

/* ── Opt-in board ───────────────────────────────────────────────────── */
.fi-eds {
    font-family: var(--sans);
    color: var(--ink);
    background: var(--cream);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-feature-settings: 'ss01' on, 'cv01' on, 'cv11' on;
}

/* ── EDS page header (replaces Filament's default dark title bar) ────── */
.fi-eds-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.fi-eds-header__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.fi-eds-header__title { margin: 0; font: 430 28px/1.15 var(--ser); letter-spacing: -.01em; color: var(--ink); }
.fi-eds-header__sub { margin: 0; font: 400 13.5px/1.5 var(--sans); color: var(--ink3); max-width: 64ch; }
.fi-eds [x-cloak] { display: none !important; }
.fi-eds *, .fi-eds *::before, .fi-eds *::after { box-sizing: border-box; }

/* ── Toolbar ────────────────────────────────────────────────────────── */
.fi-eds-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: var(--fi-eds-shadow);
}
.fi-eds-toolbar__group { display: inline-flex; align-items: center; gap: 6px; }
.fi-eds-seg { display: inline-flex; background: var(--cream); border: 1px solid var(--line); border-radius: 10px; padding: 3px; }
.fi-eds-seg button {
    border: 0; background: transparent; cursor: pointer;
    font: 500 13px var(--sans); color: var(--ink2);
    padding: 6px 14px; border-radius: 6px; display: inline-flex; align-items: center; gap: 6px;
    transition: color var(--fi-eds-ease) 150ms;
}
.fi-eds-seg button:hover { color: var(--ink); }
.fi-eds-seg button.is-active { background: var(--paper); color: var(--purple7); box-shadow: var(--fi-eds-shadow); }
.fi-eds-chip {
    border: 1px solid var(--line); background: var(--paper); cursor: pointer;
    font: 500 12.5px var(--sans); color: var(--ink2);
    padding: 6px 13px; border-radius: 6px;
    transition: border-color var(--fi-eds-ease) 150ms, color var(--fi-eds-ease) 150ms;
}
.fi-eds-chip:hover { border-color: var(--lineS); color: var(--ink); }
.fi-eds-chip.is-active { background: var(--psoft); border-color: transparent; color: var(--purple7); }
.fi-eds-input, .fi-eds-select {
    border: 1px solid var(--line); background: var(--paper); border-radius: 10px;
    font: 400 13px var(--sans); color: var(--ink); padding: 8px 11px; min-height: 38px;
}
.fi-eds-input::placeholder { color: var(--ink3); }
/* De-materialized select: the native chrome replaced by the EDS field shape +
   a warm inline chevron (stroke mirrors --ink2 — data URIs can't read vars). */
.fi-eds-select {
    appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 34px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m5 6.5 3 3 3-3' stroke='%23524d44' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 11px center; background-size: 15px;
    transition: border-color 150ms var(--fi-eds-ease);
}
.fi-eds-select:hover { border-color: var(--lineS); }
.fi-eds-input:focus, .fi-eds-select:focus {
    outline: none; border-color: var(--purple);
    box-shadow: 0 0 0 3px rgba(106, 52, 245, 0.16);
}
.fi-eds-search { min-width: 240px; flex: 1 1 240px; }
.fi-eds-sep { font: 500 11px var(--sans); letter-spacing: .04em; text-transform: uppercase; color: var(--ink3); }
.fi-eds-reset {
    margin-left: auto; border: 0; background: transparent; cursor: pointer;
    color: var(--purple); font: 500 13px var(--sans); padding: 6px 8px; border-radius: 10px;
    transition: background var(--fi-eds-ease) 150ms;
}
.fi-eds-reset:hover { background: var(--psoft); }
.fi-eds-count { font: 450 13px var(--sans); color: var(--ink3); padding: 0 2px; }
.fi-eds-count b { color: var(--ink2); font-weight: 600; }

/* ── Day grouping + grid ────────────────────────────────────────────── */
.fi-eds-day { display: flex; flex-direction: column; gap: 12px; }
.fi-eds-day__head {
    display: flex; align-items: center; gap: 10px; margin: 0;
    font: 430 17px/1.2 var(--ser); color: var(--ink); letter-spacing: -.01em;
}
.fi-eds-day__head::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.fi-eds-day__count {
    font: 600 11px var(--sans); color: var(--purple7); background: var(--psoft);
    border-radius: 6px; padding: 2px 9px;
}
.fi-eds-grid {
    display: grid; gap: 14px;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

/* ── Badge — bridge of the EDS `eds-badge` filled status pill ────────── */
.fi-eds-badge {
    display: inline-flex; align-items: center; gap: 6px;
    font: 500 12px var(--sans); line-height: 1; border-radius: 6px;
    padding: 4px 11px; white-space: nowrap; background: var(--cream2); color: var(--ink2);
}
.fi-eds-badge__dot { width: 6px; height: 6px; border-radius: 50%; flex: none; background: currentColor; opacity: .9; }
.fi-eds-badge--neutral { background: var(--cream2); color: var(--ink2); }
.fi-eds-badge--brand   { background: var(--psoft); color: var(--purple7); }
.fi-eds-badge--success { background: var(--ok-surface); color: var(--ok-ink); }
.fi-eds-badge--warning { background: var(--warn-surface); color: var(--warn-ink); }
.fi-eds-badge--danger  { background: var(--err-surface); color: var(--err-ink); }

/* ── SEO Monitor surfaces (bridge additions, used by seo-monitor.blade) ── */

/* Hero KPI strip */
.fi-eds-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr)); gap: 10px; }
.fi-eds-kpi { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; box-shadow: var(--fi-eds-shadow); }
.fi-eds-kpi__n { font: 600 27px/1 var(--sans); letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--ink); }
.fi-eds-kpi__l { margin-top: 6px; font: 500 12px var(--sans); color: var(--ink3); }
.fi-eds-kpi--ok .fi-eds-kpi__n { color: var(--ok-ink); }
.fi-eds-kpi--warn .fi-eds-kpi__n { color: var(--warn-ink); }
.fi-eds-kpi--err .fi-eds-kpi__n { color: var(--err-ink); }
/* KPI / stat tiles rendered as drill-down links keep the tile look */
a.fi-eds-kpi, a.fi-eds-stat { text-decoration: none; color: inherit; }
a.fi-eds-kpi:hover, a.fi-eds-stat:hover { border-color: var(--ink3); }

/* Pre-SSR baseline banner */
.fi-eds-banner { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: 14px; background: var(--warn-surface); border: 1px solid color-mix(in srgb, var(--warn-ink) 22%, transparent); color: var(--warn-ink); }
.fi-eds-banner svg { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 1px; }
.fi-eds-banner b { color: var(--warn-ink); }
.fi-eds-banner p { margin: 2px 0 0; font: 400 13px/1.5 var(--sans); color: color-mix(in srgb, var(--warn-ink) 88%, var(--ink)); }
.fi-eds-banner__title { margin: 0; font: 600 13.5px var(--sans); }

/* Section head with rolled-up tone */
.fi-eds-cat { display: flex; flex-direction: column; gap: 12px; }
.fi-eds-cat__head { display: flex; align-items: center; gap: 10px; margin: 0; font: 430 17px/1.2 var(--ser); color: var(--ink); letter-spacing: -.01em; }
.fi-eds-cat__head::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.fi-eds-cat__n { font: 600 11px var(--sans); color: var(--ink3); background: var(--cream2); border-radius: 6px; padding: 2px 9px; }

/* Page card — screenshot thumbnail above the EDS candidate-card shell */
.fi-eds-pc { padding: 0; gap: 0; }
.fi-eds-pc__thumb { position: relative; aspect-ratio: 16 / 10; background: var(--cream2); border-bottom: 1px solid var(--line); overflow: hidden; border-radius: 14px 14px 0 0; }
.fi-eds-pc__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.fi-eds-pc__thumb--empty { display: flex; align-items: center; justify-content: center; color: var(--ink3); font: 500 12px var(--sans); gap: 6px; }
.fi-eds-pc__thumb--empty svg { width: 18px; height: 18px; }
.fi-eds-pc__badge { position: absolute; top: 8px; right: 8px; box-shadow: var(--fi-eds-shadow); }
.fi-eds-pc__body { display: flex; flex-direction: column; gap: 7px; padding: 12px 14px; }
.fi-eds-pc__title { margin: 0; font: 600 13.5px/1.3 var(--sans); color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fi-eds-pc__url { font: 400 12px var(--sans); color: var(--ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-feature-settings: 'tnum' on; }
.fi-eds-pc__foot { display: flex; align-items: center; gap: 8px; margin-top: 1px; flex-wrap: wrap; }
.fi-eds-pc__metric { font: 500 12px var(--sans); color: var(--ink2); display: inline-flex; align-items: center; gap: 4px; }
.fi-eds-pc__metric b { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }

/* Status dot (kind/tone) */
.fi-eds-dot { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; display: inline-block; }
.fi-eds-dot--ok { background: var(--ok-ink); }
.fi-eds-dot--warn { background: var(--warn-ink); }
.fi-eds-dot--err { background: var(--err-ink); }
.fi-eds-dot--muted { background: var(--ink3); }

/* Inline mini sparkline (GSC trend) */
.fi-eds-spark { display: block; width: 100%; height: 34px; }
.fi-eds-spark path { fill: none; stroke: var(--purple); stroke-width: 1.6; }
.fi-eds-spark .area { fill: var(--psoft); stroke: none; }

/* Raw-vs-rendered diff rows in the drawer */
.fi-eds-diff { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.fi-eds-diff__col { background: var(--paper); padding: 11px 13px; }
.fi-eds-diff__h { margin: 0 0 6px; font: 600 10px var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--ink3); }
.fi-eds-diff__v { margin: 0; font: 400 12.5px/1.45 var(--sans); color: var(--ink); word-break: break-word; }
.fi-eds-diff__v--empty { color: var(--err-ink); font-style: italic; }

/* Issue list in the drawer */
.fi-eds-issues { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.fi-eds-issue { display: flex; align-items: flex-start; gap: 9px; padding: 9px 11px; border-radius: 10px; background: var(--paper); border: 1px solid var(--line); font: 400 12.5px/1.4 var(--sans); color: var(--ink2); }
.fi-eds-issue__sev { margin-top: 1px; }

/* Cytoscape flow graph canvas */
.fi-eds-graphwrap { background: var(--paper); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--fi-eds-shadow); overflow: hidden; }
.fi-eds-graphbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 11px 14px; border-bottom: 1px solid var(--line); }
.fi-eds-graphkey { display: inline-flex; align-items: center; gap: 6px; font: 500 12px var(--sans); color: var(--ink2); }
.fi-eds-graph { width: 100%; height: 440px; background:
    radial-gradient(circle at 1px 1px, var(--line) 1px, transparent 0) 0 0 / 22px 22px; }

/* ── Candidate card (EDS bridge of the EdsCandidateCard look) ────────── */
.fi-eds-cc {
    position: relative; display: flex; flex-direction: column; gap: 10px;
    background: var(--paper); border: 1px solid var(--line); border-radius: 14px;
    padding: 14px; cursor: pointer; overflow: hidden; min-width: 0;
    box-shadow: var(--fi-eds-shadow); color: var(--ink);
    transition: transform 160ms var(--fi-eds-ease), border-color 160ms var(--fi-eds-ease), box-shadow 160ms var(--fi-eds-ease);
    /* Skip layout/paint for cards scrolled out of view — keeps a long
       infinite-scroll feed cheap to render. */
    content-visibility: auto;
    contain-intrinsic-size: auto 300px;
}
.fi-eds-cc:hover { transform: translateY(-2px); border-color: var(--lineS); box-shadow: var(--fi-eds-shadow-h); }
.fi-eds-cc:focus-visible { outline: none; border-color: var(--purple); box-shadow: 0 0 0 3px rgba(106, 52, 245, 0.16); }

.fi-eds-cc__head { display: flex; align-items: flex-start; gap: 10px; }
.fi-eds-cc__avatar {
    width: 40px; height: 40px; border-radius: 999px; flex: 0 0 auto; object-fit: cover;
    background: var(--psoft); color: var(--purple7);
    display: inline-flex; align-items: center; justify-content: center; font: 600 14px var(--sans);
}
.fi-eds-cc__id { flex: 1; min-width: 0; }
.fi-eds-cc__name {
    margin: 0; font: 600 14px/1.25 var(--sans); color: var(--ink);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.fi-eds-cc__role {
    margin: 2px 0 0; font: 400 12.5px/1.3 var(--sans); color: var(--ink2);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.fi-eds-cc__head .fi-eds-badge { flex: 0 0 auto; }

/* Company that received the activity — a plain neutral EDS badge (no icon,
   no accent) so it reads as quiet context, keeping purple rationed. */
.fi-eds-cc__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.fi-eds-cc__meta .fi-eds-badge { max-width: 100%; }
.fi-eds-cc__meta .fi-eds-badge span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.fi-eds-cc__summary {
    margin: 0; font: 400 12.5px/1.45 var(--sans); color: var(--ink2);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

.fi-eds-cc__badges { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.fi-eds-cc__pill {
    display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px;
    border: 1px solid var(--line); border-radius: 6px; font: 400 12px var(--sans); color: var(--ink2); min-width: 0;
}
.fi-eds-cc__pill svg { width: 13px; height: 13px; flex: 0 0 auto; color: var(--ink3); }
.fi-eds-cc__pill span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 150px; }
.fi-eds-cc__pill--fit { border-color: color-mix(in srgb, var(--purple) 24%, var(--line)); background: var(--psoft); color: var(--purple7); font-weight: 600; }
.fi-eds-cc__pill--resume { margin-left: auto; }

/* ── Receiving-company sub-card — attached to the candidate card's bottom
   edge (bleeds to the card border via negative margins) so the recipient
   reads as its own attached context strip, not another pill. Logo is the
   public company-directory avatar treatment (contain on paper, initial
   fallback) at inline scale, sitting ON the name line; all type matches
   the card's existing 12–12.5px scale. ──────────────────────────────── */
.fi-eds-cc__co {
    margin: 2px -14px -14px; padding: 9px 14px 11px;
    border-top: 1px solid var(--line); background: var(--cream);
    display: flex; flex-direction: column; gap: 4px; min-width: 0;
}
.fi-eds-cc__co-head { display: flex; align-items: center; gap: 7px; min-width: 0; }
.fi-eds-cc__co-logo {
    width: 22px; height: 22px; border-radius: 6px; flex: 0 0 auto;
    object-fit: contain; background: var(--paper); border: 1px solid var(--line); padding: 2px;
    display: inline-flex; align-items: center; justify-content: center;
    font: 600 10px/1 var(--sans); color: var(--purple7);
}
span.fi-eds-cc__co-logo { background: var(--psoft); border-color: transparent; }
.fi-eds-cc__co-name {
    flex: 1; min-width: 0; font: 600 12.5px/1.3 var(--sans); color: var(--ink);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.fi-eds-cc__co-head .fi-eds-badge { flex: 0 0 auto; }
/* One quiet interpunct-separated line, indented to the name's left edge so
   the strip reads as two aligned rows: identity, then vitals. */
.fi-eds-cc__co-stats {
    display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 5px;
    padding-left: 29px; font: 400 12px/1.45 var(--sans); color: var(--ink3); min-width: 0;
}
.fi-eds-cc__co-stats b { font-weight: 600; color: var(--ink2); }
/* No italic — the Inter import carries only the wght axis, so italic would
   be a synthesized faux oblique. Quiet = color alone. */
.fi-eds-cc__co-stats .is-quiet { color: var(--ink3); }

/* Hover spotlight — Fraunces name + Iris eyebrow + typographic CTA. */
.fi-eds-cc__overlay {
    position: absolute; inset: 0; z-index: 4; display: flex; align-items: center; justify-content: center; padding: 16px;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--purple) 8%, transparent) 0%,
        color-mix(in srgb, var(--paper) 92%, transparent) 45%,
        color-mix(in srgb, var(--paper) 97%, transparent) 100%);
    opacity: 0; pointer-events: none; transition: opacity 220ms ease;
}
/* backdrop-filter only while hovered — one blur layer at a time, not one per
   card. An always-on blur across a long feed is a major compositing cost. */
.fi-eds-cc:hover .fi-eds-cc__overlay { opacity: 1; backdrop-filter: blur(6px) saturate(140%); -webkit-backdrop-filter: blur(6px) saturate(140%); }
.fi-eds-cc__spot {
    display: flex; flex-direction: column; align-items: flex-start; gap: 6px; width: 100%;
    transform: translateY(6px); transition: transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.fi-eds-cc:hover .fi-eds-cc__spot { transform: translateY(0); }
.fi-eds-cc__eyebrow { margin: 0; font: 600 10px var(--sans); line-height: 1; letter-spacing: .14em; text-transform: uppercase; color: var(--purple7); }
.fi-eds-cc__spot-name {
    margin: 0; font: 430 22px/1.15 var(--ser); letter-spacing: -.01em; color: var(--ink);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; word-break: break-word;
}
.fi-eds-cc__cta { display: inline-flex; align-items: center; gap: 7px; margin-top: 8px; padding-bottom: 2px; font: 600 13px var(--sans); color: var(--ink); border-bottom: 1px solid var(--ink); }
.fi-eds-cc__cta svg { width: 15px; height: 15px; transition: transform 220ms ease; }
.fi-eds-cc:hover .fi-eds-cc__cta svg { transform: translateX(4px); }

/* ── Table view ─────────────────────────────────────────────────────── */
.fi-eds-table-wrap { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; overflow-x: auto; -webkit-overflow-scrolling: touch; box-shadow: var(--fi-eds-shadow); }
.fi-eds-table { width: 100%; min-width: 1040px; border-collapse: collapse; font: 400 13px var(--sans); }
.fi-eds-table thead th {
    text-align: left; font: 600 11px var(--sans); letter-spacing: .04em; text-transform: uppercase;
    color: var(--ink3); padding: 12px 16px; border-bottom: 1px solid var(--line); background: var(--cream); white-space: nowrap;
}
.fi-eds-table thead th.is-sortable { cursor: pointer; user-select: none; }
.fi-eds-table thead th.is-sortable:hover { color: var(--purple7); }
.fi-eds-table tbody tr { cursor: pointer; border-bottom: 1px solid var(--line); transition: background 120ms ease; }
.fi-eds-table tbody tr:last-child { border-bottom: 0; }
.fi-eds-table tbody tr:hover { background: color-mix(in srgb, var(--psoft) 55%, transparent); }
.fi-eds-table tbody td { padding: 12px 16px; color: var(--ink2); vertical-align: middle; }
.fi-eds-table .is-name { font-weight: 600; color: var(--ink); }
.fi-eds-table .is-sub { font-size: 12px; color: var(--ink3); }
.fi-eds-table .is-company { font-weight: 500; color: var(--ink); }
.fi-eds-table .is-msg { max-width: 340px; }
.fi-eds-pillbadge { display: inline-block; font: 600 11px var(--sans); border-radius: 6px; padding: 2px 9px; background: var(--ok-surface); color: var(--ok-ink); }
.fi-eds-pillbadge--question { background: var(--warn-surface); color: var(--warn-ink); }

.fi-eds-fit { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.fi-eds-fit__item { display: flex; align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); font: 400 12.5px/1.4 var(--sans); color: var(--ink2); }
.fi-eds-fit__item .fi-eds-badge { flex: 0 0 auto; }
.fi-eds-fit__model { margin: 0; font: 400 11px/1.4 var(--sans); color: var(--ink3); }

/* ── Infinite-scroll footer + empty ─────────────────────────────────── */
.fi-eds-feedfoot { display: flex; justify-content: center; padding: 4px 0 2px; }
.fi-eds-sentinel { display: flex; justify-content: center; }
.fi-eds-loadmore {
    border: 1px solid var(--line); background: var(--paper); cursor: pointer; border-radius: 10px;
    font: 500 13px var(--sans); color: var(--ink2); padding: 9px 22px;
    transition: border-color 150ms var(--fi-eds-ease), color 150ms var(--fi-eds-ease);
}
.fi-eds-loadmore:hover { border-color: var(--lineS); color: var(--purple7); }
.fi-eds-loadmore[disabled] { opacity: .6; cursor: progress; }
.fi-eds-end { margin: 0; font: 400 13px var(--sans); color: var(--ink3); }
.fi-eds-empty { text-align: center; padding: 4rem 1rem; color: var(--ink3); background: var(--paper); border: 1px dashed var(--lineS); border-radius: 14px; font: 450 13px var(--sans); }
.fi-eds-empty b { display: block; color: var(--ink); font: 430 18px var(--ser); margin-bottom: 6px; }

/* ── Slide-over detail (floating, detached, EDS-rounded) ─────────────── */
/* The canonical Filament sidebar: a floating panel inset from the viewport
   edges with a 20px (--radius-2xl) corner, a warm elevated shadow, and a smooth
   slide. Reusable across panel pages — flex column so the header pins, the body
   scrolls, and the action footer stays put. */
.fi-eds-slideover { position: fixed; inset: 0; z-index: 50; }
.fi-eds-slideover__backdrop { position: absolute; inset: 0; background: rgba(26, 23, 20, 0.42); backdrop-filter: blur(3px); }
.fi-eds-slideover__panel {
    position: absolute; top: 16px; right: 16px; bottom: 16px;
    width: min(940px, calc(100% - 32px));
    background: var(--cream); border: 1px solid var(--line); border-radius: 20px;
    box-shadow: -10px 24px 60px rgba(40, 33, 20, 0.22), 0 2px 8px rgba(40, 33, 20, 0.08);
    display: flex; flex-direction: column; overflow: hidden; font-family: var(--sans);
}
/* Reusable enter/leave transition — slides fully off the right edge (incl. the
   detached margin) and fades, on the EDS easing curve. */
.fi-eds-slide { transition: transform 280ms var(--fi-eds-ease), opacity 280ms var(--fi-eds-ease); }
.fi-eds-slide--out { transform: translateX(calc(100% + 24px)); opacity: 0; }
.fi-eds-slide--in { transform: translateX(0); opacity: 1; }
@media (max-width: 640px) {
    .fi-eds-slideover__panel { top: 8px; right: 8px; bottom: 8px; width: calc(100% - 16px); border-radius: 16px; }

    .fi-eds--activity {
        min-width: 0;
        padding: 14px;
        gap: 16px;
    }
    .fi-eds--activity .fi-eds-toolbar {
        width: 100%;
        min-width: 0;
        padding: 12px;
    }
    .fi-eds--activity .fi-eds-toolbar__group {
        width: 100%;
        min-width: 0;
        flex-wrap: wrap;
    }
    .fi-eds--activity .fi-eds-toolbar__group:has(input[type="date"]) {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    }
    .fi-eds--activity .fi-eds-toolbar__group input[type="date"],
    .fi-eds--activity .fi-eds-search,
    .fi-eds--activity .fi-eds-select {
        width: 100%;
        min-width: 0;
    }
    .fi-eds--activity .fi-eds-search {
        flex-basis: 100%;
    }
    .fi-eds--activity .fi-eds-reset {
        margin-left: 0;
    }
    .fi-eds--activity .fi-eds-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 360px) {
    .fi-eds--activity .fi-eds-toolbar__group:has(input[type="date"]) {
        grid-template-columns: minmax(0, 1fr);
    }
}

.fi-eds-detail__head { flex: 0 0 auto; background: var(--paper); border-bottom: 1px solid var(--line); padding: 18px 20px; display: flex; align-items: flex-start; gap: 13px; }
.fi-eds-detail__glyph { width: 42px; height: 42px; border-radius: 10px; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; background: var(--psoft); color: var(--purple7); }
.fi-eds-detail__glyph svg { width: 20px; height: 20px; }
.fi-eds-detail__glyph--doc { background: var(--cream2); color: var(--ink2); }
.fi-eds-detail__avatar { width: 52px; height: 52px; border-radius: 999px; flex: 0 0 auto; object-fit: cover; background: var(--psoft); color: var(--purple7); display: inline-flex; align-items: center; justify-content: center; font: 600 18px var(--sans); }
.fi-eds-detail__id { min-width: 0; flex: 1; }
.fi-eds-detail__name { margin: 0; font: 430 21px/1.2 var(--ser); color: var(--ink); letter-spacing: -.01em; word-break: break-word; }
.fi-eds-detail__role { margin: 3px 0 0; font: 400 12.5px var(--sans); color: var(--ink3); }
.fi-eds-detail__close { border: 0; background: var(--cream); cursor: pointer; width: 32px; height: 32px; border-radius: 10px; color: var(--ink2); font-size: 18px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; transition: background 150ms ease, color 150ms ease; }
.fi-eds-detail__close svg { width: 15px; height: 15px; }
.fi-eds-detail__close:hover { background: var(--psoft); color: var(--purple7); }
.fi-eds-detail__headactions { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; }
/* The single source of truth the card edits — a quiet mono path line. */
.fi-eds-detail__path { margin: 7px 0 0; display: flex; flex-direction: column; gap: 3px; }
.fi-eds-detail__path code {
    font: 450 11px/1.5 ui-monospace, Menlo, Consolas, monospace; color: var(--ink2);
    background: var(--cream2); border-radius: 6px; padding: 3px 8px;
    word-break: break-all; width: fit-content; max-width: 100%;
}
.fi-eds-detail__pathnote { font: 400 11px/1.45 var(--sans); color: var(--ink3); }
.fi-eds-detail__body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 20px; display: flex; flex-direction: column; gap: 20px; }
.fi-eds-detail__foot { flex: 0 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 13px 20px; background: var(--paper); border-top: 1px solid var(--line); }
.fi-eds-detail__foothint { font: 400 12px var(--sans); color: var(--ink3); }
.fi-eds-detail__footactions { display: inline-flex; gap: 8px; margin-left: auto; }

.fi-eds-sec { display: flex; flex-direction: column; gap: 9px; }
.fi-eds-sec__title { margin: 0; font: 600 11px var(--sans); letter-spacing: .05em; text-transform: uppercase; color: var(--ink3); }
.fi-eds-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.fi-eds-tag { display: inline-flex; align-items: center; gap: 6px; font: 500 12px var(--sans); color: var(--ink2); background: var(--paper); border: 1px solid var(--line); border-radius: 6px; padding: 4px 11px; }
.fi-eds-tag svg { width: 13px; height: 13px; color: var(--ink3); }
.fi-eds-tag--applied { background: var(--ok-surface); color: var(--ok-ink); border-color: transparent; }
.fi-eds-tag--question { background: var(--warn-surface); color: var(--warn-ink); border-color: transparent; }
.fi-eds-tag--company { background: var(--cream2); color: var(--ink); border-color: transparent; font-weight: 600; }
.fi-eds-msg { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; font: 400 14px/1.55 var(--sans); color: var(--ink); white-space: pre-wrap; }
.fi-eds-joblist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.fi-eds-joblist__item { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; background: var(--paper); border: 1px solid var(--line); border-radius: 10px; }
.fi-eds-joblist__co { font: 600 13px var(--sans); color: var(--ink); }
.fi-eds-joblist__job { font: 400 12px var(--sans); color: var(--ink3); }
.fi-eds-kv { display: grid; grid-template-columns: 104px 1fr; gap: 7px 14px; margin: 0; font: 400 13.5px var(--sans); }
.fi-eds-kv dt { color: var(--ink3); }
.fi-eds-kv dd { margin: 0; color: var(--ink); word-break: break-word; }
.fi-eds-kv a { color: var(--purple7); text-decoration: none; }
.fi-eds-kv a:hover { text-decoration: underline; }

.fi-eds-resume__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
.fi-eds-resume__name { font: 500 13px var(--sans); color: var(--ink2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fi-eds-resume__actions { display: inline-flex; gap: 7px; flex: 0 0 auto; }
.fi-eds-btn {
    display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); background: var(--paper);
    border-radius: 10px; font: 500 12.5px var(--sans); color: var(--ink2); padding: 7px 13px; text-decoration: none; cursor: pointer;
    transition: border-color 150ms var(--fi-eds-ease), color 150ms var(--fi-eds-ease);
}
.fi-eds-btn svg { width: 14px; height: 14px; flex: 0 0 auto; }
.fi-eds-btn:hover { border-color: var(--lineS); color: var(--purple7); }
.fi-eds-btn:focus-visible { outline: none; border-color: var(--purple); box-shadow: 0 0 0 3px rgba(106, 52, 245, 0.16); }
.fi-eds-btn[disabled] { opacity: .55; cursor: progress; }
.fi-eds-btn--primary { background: var(--purple); border-color: var(--purple); color: #fff; }
.fi-eds-btn--primary:hover { background: var(--purple7); border-color: var(--purple7); color: #fff; }
.fi-eds-resume__frame { width: 100%; height: 520px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.fi-eds-resume__empty { background: var(--paper); border: 1px dashed var(--lineS); border-radius: 14px; padding: 28px; text-align: center; color: var(--ink3); font: 450 13px var(--sans); }

/* ── Agentic Workflow cockpit (/panel/agentic-workflow) ─────────────── */
/* Ticket lifecycle legend */
.fi-eds-lifecycle { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.fi-eds-life { display: inline-flex; align-items: center; font: 600 11px var(--sans); letter-spacing: .04em; text-transform: uppercase; padding: 5px 11px; border-radius: 6px; border: 1px solid var(--line); background: var(--paper); color: var(--ink3); }
.fi-eds-life--open { background: var(--cream2); color: var(--ink2); }
.fi-eds-life--claimed { background: var(--warn-surface); color: var(--warn-ink); border-color: transparent; }
.fi-eds-life--done { background: var(--psoft); color: var(--purple7); border-color: transparent; }
.fi-eds-life--committed { background: var(--ok-surface); color: var(--ok-ink); border-color: transparent; }
.fi-eds-life__arrow { color: var(--ink3); font-size: 13px; }

/* At-a-glance stat strip */
.fi-eds-stats { display: flex; flex-wrap: wrap; gap: 12px; }
.fi-eds-stat { flex: 1 1 150px; display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--fi-eds-shadow); }
.fi-eds-stat__num { font: 430 30px/1 var(--ser); color: var(--ink); letter-spacing: -.02em; }
.fi-eds-stat__sub { font: 500 12px var(--sans); color: var(--ink3); margin-left: 6px; letter-spacing: 0; }
.fi-eds-stat__label { font: 500 11.5px var(--sans); letter-spacing: .02em; color: var(--ink3); }
.fi-eds-stat--accent { background: var(--psoft); border-color: transparent; }
.fi-eds-stat--accent .fi-eds-stat__num { color: var(--purple7); }
.fi-eds-stat--accent .fi-eds-stat__label { color: var(--purple7); }

/* Section card — a soft container that groups the pipeline as one "chart". */
.fi-eds-panelcard { background: var(--cream2); border: 1px solid var(--line); border-radius: 18px; padding: 18px; display: flex; flex-direction: column; gap: 16px; }
.fi-eds-panelcard__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.fi-eds-panelcard__head .fi-eds-stage__head { flex: 1 1 320px; }

/* Dark-ink variant — the pipeline sits on the EDS ink canvas so the paper
   routine cards read as the bright, primary objects of the page. */
.fi-eds-panelcard--ink { background: var(--ink); border-color: var(--ink); box-shadow: 0 14px 34px rgba(26, 23, 20, 0.28); }
.fi-eds-panelcard--ink .fi-eds-stage__label { color: var(--onink-accent); }
.fi-eds-panelcard--ink .fi-eds-stage__caption { color: var(--onink-muted); }
.fi-eds-panelcard--ink .fi-eds-life { background: transparent; border-color: var(--onink-line); color: var(--onink-muted); }
.fi-eds-panelcard--ink .fi-eds-life--claimed { background: var(--onink-warn-surface); color: var(--onink-warn); border-color: transparent; }
.fi-eds-panelcard--ink .fi-eds-life--done { background: var(--onink-accent-surface); color: var(--onink-accent); border-color: transparent; }
.fi-eds-panelcard--ink .fi-eds-life--committed { background: var(--onink-ok-surface); color: var(--onink-ok); border-color: transparent; }
.fi-eds-panelcard--ink .fi-eds-life--maint { background: transparent; color: var(--onink-muted); border-color: var(--onink-line); }
.fi-eds-panelcard--ink .fi-eds-life__arrow { color: var(--onink-muted); }

/* Pipeline — the ticket's journey as a subway-style rail: one continuous line
   with numbered stations and a terminal arrowhead, drawn once on the grid so
   nothing can drift out of alignment. Under 880px the rail hides and the flow
   reads top-to-bottom instead. */
/* Column count is driven by the blade (--fi-eds-flow-cols = count($flowColumns))
   so the rail always spans exactly one row of stations. */
.fi-eds-pipeline { position: relative; display: grid; grid-template-columns: repeat(var(--fi-eds-flow-cols, 3), 1fr); gap: 20px; }
.fi-eds-pipeline::before { content: ''; position: absolute; top: 13px; left: 14px; right: 6px; height: 2px; background: var(--onink-line); border-radius: 6px; }
.fi-eds-pipeline::after { content: ''; position: absolute; top: 9.5px; right: 4px; width: 8px; height: 8px; border-top: 2px solid var(--onink-line); border-right: 2px solid var(--onink-line); transform: rotate(45deg); }
.fi-eds-flowstep { position: relative; display: flex; align-items: center; height: 28px; margin-bottom: 8px; }
.fi-eds-flowstep__node {
    width: 28px; height: 28px; border-radius: 50%; position: relative; z-index: 1;
    background: var(--ink); border: 1.5px solid var(--onink-accent); color: var(--onink-accent);
    display: inline-flex; align-items: center; justify-content: center; font: 600 12.5px var(--sans);
}
/* Always-on band — the routines that service the board rather than travel it. */
.fi-eds-pipeline-support { margin-top: 6px; padding-top: 16px; border-top: 1px dashed var(--onink-line); display: flex; flex-direction: column; gap: 12px; }
.fi-eds-pipeline-support__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
@media (max-width: 880px) {
    .fi-eds-pipeline { grid-template-columns: 1fr; }
    .fi-eds-pipeline::before, .fi-eds-pipeline::after { display: none; }
}
.fi-eds-stage__produces { margin-top: 4px; }
.fi-eds-life--maint { background: var(--cream); color: var(--ink3); border-color: var(--line); text-transform: none; letter-spacing: normal; font-weight: 500; }
/* Non-uppercase produce chips read as sentence fragments, not status codes. */
.fi-eds-stage__produces .fi-eds-life { text-transform: none; letter-spacing: normal; font-weight: 500; }
.fi-eds-stage { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.fi-eds-stage__head { display: flex; flex-direction: column; gap: 2px; }
.fi-eds-stage__label { font: 600 11px var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--purple7); }
.fi-eds-stage__label code { font: 600 11px var(--sans); background: var(--psoft); color: var(--purple7); padding: 1px 5px; border-radius: 6px; }
.fi-eds-stage__caption { font: 400 12px/1.45 var(--sans); color: var(--ink3); }
.fi-eds-stage__cards { display: flex; flex-direction: column; gap: 10px; }

/* Routine card — the doc-card anatomy carrying behavior: the order chip slot
   holds the LIVE cadence, and a mono run-line says when it last/next fires.
   The wrapper caps EVERY routine card at the retired-card width (340px) — the
   pipeline columns are wide on big monitors and an uncapped card looks silly. */
.fi-eds-rcard { position: relative; width: 100%; max-width: 340px; }
.fi-eds-rcard .fi-eds-doc--routine { width: 100%; height: 100%; }
.fi-eds-doc--routine .fi-eds-doc__order { text-transform: none; }
.fi-eds-doc--retired { opacity: .68; background: var(--cream2); }
.fi-eds-doc--retired:hover { transform: none; box-shadow: var(--fi-eds-shadow); }
.fi-eds-doc__runline { display: inline-flex; align-items: center; gap: 6px; font: 500 11.5px ui-monospace, Menlo, Consolas, monospace; color: var(--ink2); margin-top: 2px; }
.fi-eds-doc__runline svg { width: 13px; height: 13px; flex: 0 0 auto; color: var(--ink3); }
.fi-eds-doc__missing { color: var(--err-ink); font-weight: 600; }

/* On-card live/off switch — a SIBLING overlaid on the card's top-right (never
   nested in the card button). Queues the flip; janitor applies it live. */
.fi-eds-rtoggle { position: absolute; top: 12px; right: 12px; z-index: 2; display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; padding: 4px; cursor: pointer; border-radius: 10px; }
.fi-eds-rtoggle:focus-visible { outline: 2px solid var(--purple7); outline-offset: 2px; }
.fi-eds-rtoggle__state { font: 600 10.5px var(--sans); letter-spacing: .05em; text-transform: uppercase; color: var(--ink3); }
.fi-eds-rtoggle.is-on .fi-eds-rtoggle__state { color: var(--ok-ink); }
.fi-eds-rtoggle__track { width: 30px; height: 18px; border-radius: 10px; background: var(--line); position: relative; transition: background 150ms var(--fi-eds-ease); }
.fi-eds-rtoggle.is-on .fi-eds-rtoggle__track { background: var(--ok-ink); }
.fi-eds-rtoggle__knob { position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: var(--paper); box-shadow: var(--fi-eds-shadow); transition: transform 150ms var(--fi-eds-ease); }
.fi-eds-rtoggle.is-on .fi-eds-rtoggle__knob { transform: translateX(12px); }

.fi-eds-retired { display: flex; flex-direction: column; gap: 10px; }
.fi-eds-retired .fi-eds-stage__cards { flex-direction: row; flex-wrap: wrap; }
.fi-eds-retired .fi-eds-doc { max-width: 340px; }
.fi-eds-unclassified .fi-eds-stage__label { color: var(--warn-ink); }

/* ── Needs-your-input rows (runs the reaper will close) ─────────────── */
.fi-eds-attn { display: flex; flex-direction: column; gap: 10px; padding: 16px; background: var(--warn-surface); border: 1px solid color-mix(in srgb, var(--warn-ink) 20%, transparent); border-radius: 18px; }
.fi-eds-attn__head { display: flex; flex-direction: column; gap: 2px; }
.fi-eds-attn .fi-eds-stage__label { color: var(--warn-ink); }
.fi-eds-attn .fi-eds-stage__caption { color: color-mix(in srgb, var(--warn-ink) 82%, var(--ink)); max-width: 92ch; }
.fi-eds-attn__row { display: flex; flex-direction: column; gap: 7px; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; box-shadow: var(--fi-eds-shadow); }
.fi-eds-attn__meta { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.fi-eds-attn__id { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.fi-eds-attn__eyebrow { font: 600 10px var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--warn-ink); }
.fi-eds-attn__task { font: 430 17px/1.25 var(--ser); letter-spacing: -.01em; color: var(--ink); }
.fi-eds-attn__excerpt { margin: 0; font: 400 12.5px/1.55 var(--sans); color: var(--ink2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.fi-eds-attn__actions { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }

/* ── Board oversight (monday.com) ───────────────────────────────────── */
.fi-eds-board { display: flex; flex-direction: column; gap: 14px; background: var(--paper); border: 1px solid var(--line); border-radius: 18px; padding: 16px; box-shadow: var(--fi-eds-shadow); }
.fi-eds-board__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.fi-eds-board__head .fi-eds-stage__head { flex: 1 1 320px; }
.fi-eds-board__headactions { display: inline-flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.fi-eds-board__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 18px; }
.fi-eds-board__col { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.fi-eds-board__empty { margin: 0; font: 400 12.5px var(--sans); color: var(--ink3); padding: 10px 0; }
.fi-eds-brow { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--cream); text-decoration: none; min-width: 0; transition: border-color 150ms var(--fi-eds-ease), background 150ms var(--fi-eds-ease); }
.fi-eds-brow:hover { border-color: var(--lineS); background: var(--paper); }
.fi-eds-brow__name { font: 500 12.5px/1.35 var(--sans); color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.fi-eds-brow__meta { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; }
.fi-eds-brow__when { font: 400 11px var(--sans); color: var(--ink3); white-space: nowrap; }

/* ── Run log — a timeline of expandable closing reports ─────────────── */
.fi-eds-runs { display: flex; flex-direction: column; gap: 12px; }
/* The rail: a warm hairline the run nodes sit on. */
.fi-eds-runs__list { position: relative; display: flex; flex-direction: column; gap: 9px; padding-left: 22px; }
.fi-eds-runs__list::before { content: ''; position: absolute; top: 10px; bottom: 10px; left: 7px; width: 1px; background: var(--line); }
/* Quiet timeline rows — hairline-and-surface only (EDS principle 7), no
   floating card chrome: closed rows sit flat on the canvas; an open row gets
   a paper surface and a warm hairline so the report reads as a document. */
.fi-eds-run { position: relative; border: 1px solid transparent; border-radius: 14px; background: transparent; transition: background 150ms var(--fi-eds-ease), border-color 150ms var(--fi-eds-ease); }
.fi-eds-run:hover { background: var(--cream2); }
.fi-eds-run[open] { background: var(--paper); border-color: var(--line); }
.fi-eds-run[open]:hover { background: var(--paper); }
.fi-eds-run__node { position: absolute; top: 21px; left: -19px; width: 9px; height: 9px; border-radius: 50%; background: var(--paper); border: 2px solid var(--lineS); }
.fi-eds-run--attn .fi-eds-run__node { background: var(--warn-surface); border-color: var(--warn-ink); }
.fi-eds-run[open] .fi-eds-run__node { background: var(--psoft); border-color: var(--purple); }
.fi-eds-run__sum { position: relative; display: flex; align-items: center; gap: 12px; padding: 11px 14px; cursor: pointer; list-style: none; border-radius: 14px; }
.fi-eds-run[open] .fi-eds-run__sum { border-radius: 14px 14px 0 0; }
.fi-eds-run__sum::-webkit-details-marker { display: none; }
.fi-eds-run__id { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.fi-eds-run__eyebrow { font: 600 10px var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--ink3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fi-eds-run__title { font: 430 16px/1.2 var(--ser); letter-spacing: -.01em; color: var(--ink); }
.fi-eds-run__soft { font: 400 12px var(--sans); color: var(--ink3); letter-spacing: 0; }
.fi-eds-run__meta { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; margin-left: auto; }
.fi-eds-run__chev { width: 15px; height: 15px; color: var(--ink3); transition: transform 180ms var(--fi-eds-ease); }
.fi-eds-run[open] .fi-eds-run__chev { transform: rotate(180deg); }
.fi-eds-run__body { display: flex; flex-direction: column; gap: 9px; padding: 12px 14px 13px; border-top: 1px solid var(--line); border-radius: 0 0 14px 14px; }
/* The closing report is agent LOG output, so it gets the EDS dark code
   surface (same language as .fi-eds-prose pre / .fi-eds-cmd): brown-black
   ink canvas, warm off-white mono text, no quote bars, no tinted fills. */
.fi-eds-run__report {
    margin: 0; padding: 14px 16px; border: 1px solid var(--ink); border-radius: 14px;
    background: var(--ink); color: var(--code-ink);
    font: 450 12.5px/1.65 ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
    white-space: pre-wrap; word-break: break-word;
}
/* A needs-input report highlights ONLY its ask: the summary badge + timeline
   node already flag it — the log surface itself stays the calm dark canvas. */
.fi-eds-run__links { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }

/* ── Slide-over: schedule editor + pending banner ───────────────────── */
.fi-eds-btn--sm { padding: 5px 11px; font-size: 12px; border-radius: 10px; }
.fi-eds-cronrow { display: flex; gap: 8px; align-items: stretch; }
.fi-eds-cronrow__input { flex: 1 1 auto; font-family: ui-monospace, Menlo, Consolas, monospace; }
.fi-eds-pendbar { display: flex; align-items: center; gap: 9px; background: var(--warn-surface); color: var(--warn-ink); border-radius: 14px; padding: 10px 13px; font: 450 12.5px/1.45 var(--sans); }
.fi-eds-pendbar svg { width: 15px; height: 15px; flex: 0 0 auto; }
.fi-eds-pendbar span { flex: 1 1 auto; }
.fi-eds-pendbar code { background: rgba(133, 79, 11, 0.12); padding: 1px 6px; border-radius: 6px; font-size: 12px; }
.fi-eds-kv__soft { color: var(--ink3); font-size: 12.5px; }
.fi-eds-kv__state { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }

/* AI rule docs — grouped reading path */
.fi-eds-docs { display: flex; flex-direction: column; gap: 14px; }
/* Each group: a left rail (label + caption) echoing a pipeline stage, then its
   cards — so the two halves of the page share one visual language. */
.fi-eds-docgroup { display: grid; grid-template-columns: 190px 1fr; gap: 16px; align-items: start; padding-top: 4px; border-top: 1px solid var(--line); }
.fi-eds-docgroup:first-of-type { border-top: 0; padding-top: 0; }
.fi-eds-docgroup__rail { display: flex; flex-direction: column; gap: 4px; padding-top: 8px; position: sticky; top: 8px; }
.fi-eds-docgroup__label { font: 600 12px var(--sans); letter-spacing: .05em; text-transform: uppercase; color: var(--purple7); }
.fi-eds-docgroup__caption { font: 400 12px/1.5 var(--sans); color: var(--ink3); }
.fi-eds-docgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(252px, 1fr)); gap: 10px; }
.fi-eds-doc {
    display: flex; flex-direction: column; gap: 6px; text-align: left; cursor: pointer;
    background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; box-shadow: var(--fi-eds-shadow); color: var(--ink);
    transition: border-color 150ms var(--fi-eds-ease), box-shadow 150ms var(--fi-eds-ease), transform 150ms var(--fi-eds-ease);
}
.fi-eds-doc:hover { border-color: var(--lineS); box-shadow: var(--fi-eds-shadow-h); transform: translateY(-2px); }
.fi-eds-doc:focus-visible { outline: none; border-color: var(--purple); box-shadow: 0 0 0 3px rgba(106, 52, 245, 0.16); }
.fi-eds-doc--keystone { border-color: var(--purple); background: linear-gradient(180deg, var(--psoft), var(--paper) 62%); box-shadow: 0 1px 3px rgba(106, 52, 245, 0.10); }
.fi-eds-doc__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 20px; }
.fi-eds-doc__order { font: 600 11px ui-monospace, Menlo, Consolas, monospace; color: var(--ink3); background: var(--cream2); border-radius: 6px; padding: 2px 7px; }
.fi-eds-doc--keystone .fi-eds-doc__order { background: var(--paper); color: var(--purple7); }
.fi-eds-doc__title { font: 430 17px var(--ser); color: var(--ink); letter-spacing: -.01em; line-height: 1.25; }
.fi-eds-doc__purpose { font: 400 12.5px/1.55 var(--sans); color: var(--ink2); flex: 1; }
.fi-eds-doc__file { font: 500 11px ui-monospace, Menlo, Consolas, monospace; color: var(--ink3); margin-top: 2px; }
.fi-eds-doc__status { font: 600 10px var(--sans); letter-spacing: .04em; text-transform: uppercase; padding: 2px 8px; border-radius: 6px; background: var(--cream2); color: var(--ink3); }
/* "For humans" guides — a warm raised band, deliberately calmer than the
   keystone's purple (these are the shareable teammate docs, not agent rules). */
.fi-eds-doc--human { background: linear-gradient(180deg, var(--cream2), var(--paper) 58%); }
@media (max-width: 720px) {
    .fi-eds-docgroup { grid-template-columns: 1fr; gap: 10px; }
    .fi-eds-docgroup__rail { position: static; padding-top: 0; }
}

/* Editor slide-over extras */
/* Labelled field (model dropdown, etc.) — EDS eyebrow label + control. */
.fi-eds-field { display: flex; flex-direction: column; gap: 6px; }
.fi-eds-field__label { font: 600 11px var(--sans); letter-spacing: .04em; text-transform: uppercase; color: var(--ink3); }
.fi-eds-field__control { width: 100%; }
/* Small segmented control (Preview / Edit toggle). */
.fi-eds-seg--sm { padding: 2px; }
.fi-eds-seg--sm button { padding: 5px 12px; font: 500 12px var(--sans); border: 0; background: transparent; color: var(--ink2); border-radius: 6px; cursor: pointer; transition: color 150ms var(--fi-eds-ease); }
.fi-eds-seg--sm button.is-active { background: var(--paper); color: var(--purple7); box-shadow: var(--fi-eds-shadow); }
.fi-eds-editbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.fi-eds-editor {
    width: 100%; min-height: 360px; resize: vertical; background: var(--paper); border: 1px solid var(--lineS); border-radius: 10px;
    padding: 14px 16px; font: 400 13px/1.65 ui-monospace, 'SF Mono', Menlo, Consolas, monospace; color: var(--ink);
    transition: border-color 150ms var(--fi-eds-ease), box-shadow 150ms var(--fi-eds-ease); tab-size: 2;
}
.fi-eds-editor:focus { outline: none; border-color: var(--purple); box-shadow: 0 0 0 3px rgba(106, 52, 245, 0.16); }

/* Markdown source canvas (CodeMirror shell — inner colors themed in JS with
   the same tokens). The wrapper carries the EDS field chrome + focus ring. */
.fi-eds-cm { border: 1px solid var(--lineS); border-radius: 10px; background: var(--paper); overflow: hidden; transition: border-color 150ms var(--fi-eds-ease), box-shadow 150ms var(--fi-eds-ease); }
.fi-eds-cm:focus-within { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(106, 52, 245, 0.16); }
.fi-eds-cm .cm-editor { min-height: 380px; max-height: 62vh; }
.fi-eds-cm .cm-scroller { overflow: auto; max-height: 62vh; }
/* Empty until the module mounts — hold the space so the panel doesn't jump. */
.fi-eds-cm:empty { min-height: 380px; background:
    repeating-linear-gradient(180deg, transparent 0 26px, var(--cream) 26px 27px) var(--paper); }
.fi-eds-editactions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 11px; }
.fi-eds-editactions__hint { margin: 10px 0 0; font: 400 12px/1.45 var(--sans); color: var(--ink3); }
.fi-eds-saved { display: flex; align-items: center; gap: 9px; background: var(--ok-surface); color: var(--ok-ink); border-radius: 14px; padding: 11px 14px; font: 450 13px/1.45 var(--sans); }
.fi-eds-saved svg { width: 16px; height: 16px; flex: 0 0 auto; }
.fi-eds-saved code { background: rgba(15, 110, 86, .12); padding: 1px 5px; border-radius: 6px; font-size: 12px; }

/* Rendered markdown body — a proper reading surface (paper card, constrained
   measure, magazine rhythm) rather than a raw dump. */
.fi-eds-prose {
    font: 400 15px/1.7 var(--sans); color: var(--ink);
    background: var(--paper); border: 1px solid var(--line); border-radius: 14px;
    padding: 26px 30px; max-width: 78ch;
    -webkit-hyphens: none; hyphens: none;
}
.fi-eds-prose > :first-child { margin-top: 0; }
.fi-eds-prose > :last-child { margin-bottom: 0; }
.fi-eds-prose h1, .fi-eds-prose h2, .fi-eds-prose h3, .fi-eds-prose h4 { font-family: var(--ser); font-weight: 480; letter-spacing: -.01em; color: var(--ink); margin: 1.5em 0 .5em; line-height: 1.22; }
.fi-eds-prose h1 { font-size: 26px; }
.fi-eds-prose h2 { font-size: 21px; padding-bottom: .3em; border-bottom: 1px solid var(--line); }
.fi-eds-prose h3 { font-size: 17px; }
.fi-eds-prose h4 { font-size: 14px; font-family: var(--sans); font-weight: 600; letter-spacing: .02em; text-transform: uppercase; color: var(--ink3); }
.fi-eds-prose p { margin: 0 0 1em; }
.fi-eds-prose strong { font-weight: 600; color: var(--ink); }
.fi-eds-prose em { font-style: italic; }
.fi-eds-prose a { color: var(--purple7); text-decoration: none; border-bottom: 1px solid rgba(106, 52, 245, 0.28); }
.fi-eds-prose a:hover { border-bottom-color: var(--purple7); }
.fi-eds-prose code { font: 450 13px ui-monospace, Menlo, Consolas, monospace; background: var(--cream2); padding: 1.5px 6px; border-radius: 6px; color: var(--purple7); }
.fi-eds-prose pre { background: var(--ink); border: 1px solid var(--ink); border-radius: 14px; padding: 15px 17px; overflow-x: auto; margin: 0 0 1.1em; }
.fi-eds-prose pre code { background: none; padding: 0; color: var(--code-ink); font-size: 12.5px; line-height: 1.6; }
.fi-eds-prose ul, .fi-eds-prose ol { margin: 0 0 1em; padding-left: 1.4em; }
.fi-eds-prose li { margin: .35em 0; padding-left: .15em; }
.fi-eds-prose li::marker { color: var(--ink3); }
.fi-eds-prose ul ul, .fi-eds-prose ol ol, .fi-eds-prose ul ol, .fi-eds-prose ol ul { margin: .35em 0 .35em; }
.fi-eds-prose li > p { margin: 0 0 .4em; }
/* GitHub-style task lists (commonmark renders "- [ ]" as a checkbox input). */
.fi-eds-prose li input[type="checkbox"] { margin-right: .5em; accent-color: var(--purple); }
.fi-eds-prose ul:has(> li > input[type="checkbox"]) { list-style: none; padding-left: .2em; }
.fi-eds-prose blockquote { margin: 0 0 1.1em; padding: 10px 16px; border-left: 3px solid var(--purple); background: var(--psoft); border-radius: 0 10px 10px 0; color: var(--ink2); }
.fi-eds-prose blockquote > :last-child { margin-bottom: 0; }
.fi-eds-prose table { border-collapse: collapse; width: 100%; margin: 0 0 1.1em; font-size: 13.5px; }
.fi-eds-prose th, .fi-eds-prose td { border: 1px solid var(--line); padding: 8px 11px; text-align: left; vertical-align: top; }
.fi-eds-prose th { background: var(--cream2); font-weight: 600; }
.fi-eds-prose tbody tr:nth-child(even) { background: var(--cream); }
.fi-eds-prose hr { border: 0; border-top: 1px solid var(--line); margin: 1.6em 0; }

/* ── Ingestion Engine (/panel/ingestion-engine) ─────────────────────── */
/* Read-only command line — the dark EDS code surface, one line, scrollable. */
.fi-eds-cmd {
    display: block; background: var(--ink); color: var(--code-ink);
    border: 1px solid var(--ink); border-radius: 14px; padding: 12px 14px;
    font: 450 12.5px/1.6 ui-monospace, Menlo, Consolas, monospace;
    overflow-x: auto; white-space: pre; -webkit-overflow-scrolling: touch;
}
/* Quiet helper caption under a stat/field. */
.fi-eds-stat__hint { font: 400 11px/1.5 var(--sans); color: var(--ink3); margin-top: 2px; }
/* Stat cells carrying a native title tooltip advertise it with the help cursor. */
.fi-eds-stat[title] { cursor: help; }

/* ── Admin Notification Settings ───────────────────────────────────── */
.ans { display: grid; width: 100%; min-width: 0; max-width: 1440px; gap: 26px; }
.ans > *, .ans-section, .ans-grid, .ans-card { width: 100%; min-width: 0; }
.ans .fi-eds-header__sub, .ans .fi-eds-field__label { color: var(--ink3-aa); }
.ans .fi-eds-input { border-color: var(--ink3-aa); }
.ans .fi-eds-input::placeholder { color: var(--ink3-aa); }
.ans .fi-eds-eyebrow { margin: 0 0 5px; color: var(--purple7); font: 650 11px/1.2 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.ans-header { padding-bottom: 2px; }
.ans-section { display: grid; gap: 12px; }
.ans-section__head { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding: 0 3px; }
.ans-section__head h2 { margin: 0; color: var(--ink); font: 600 18px/1.25 var(--ser); }
.ans-section__head > span { color: var(--ink3-aa); font: 500 12px/1.4 var(--sans); white-space: nowrap; }
.ans-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 14px; }
.ans-card { align-self: stretch; overflow: visible; padding: 0; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.ans-card:not([open]):hover { border-color: var(--lineS); box-shadow: 0 8px 22px rgb(36 26 13 / 7%); transform: translateY(-1px); }
.ans-card[open] { grid-column: 1 / -1; }
.ans-card__summary { display: flex; align-items: stretch; justify-content: space-between; gap: 15px; min-height: 214px; padding: 17px; cursor: pointer; list-style: none; }
.ans-card[open] .ans-card__summary { min-height: auto; }
.ans-card__summary::-webkit-details-marker { display: none; }
.ans-card__summary:focus-visible { border-radius: inherit; outline: 3px solid color-mix(in srgb, var(--purple) 30%, transparent); outline-offset: 3px; }
.ans-card__identity { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; gap: 9px; }
.ans-card__eyebrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--purple7); font: 650 10.5px/1.3 var(--sans); letter-spacing: .07em; text-transform: uppercase; }
.ans-card__eyebrow .fi-eds-badge { letter-spacing: 0; text-transform: none; }
.ans-card__title { margin: 0; color: var(--ink); font: 600 17px/1.28 var(--ser); overflow-wrap: anywhere; }
.ans-card__description { display: -webkit-box; color: var(--ink2); font: 400 12.5px/1.5 var(--sans); overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.ans-card__summaryline { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--line); color: var(--ink3-aa); font: 500 11.5px/1.4 var(--sans); }
.ans-card__summaryline span { position: relative; }
.ans-card__summaryline span + span::before { position: absolute; left: -8px; content: "·"; }
.ans-card__status { display: flex; align-items: center; flex: 0 0 auto; }
.ans-chevron { width: 8px; height: 8px; border-right: 1.5px solid var(--ink2); border-bottom: 1.5px solid var(--ink2); transform: rotate(45deg); transition: transform .18s ease; }
.ans-card[open] .ans-chevron { transform: rotate(225deg); }
.ans-card__body { display: grid; gap: 16px; padding: 0 17px 17px; border-top: 1px solid var(--line); }
.ans-copy-note { display: grid; gap: 3px; margin-top: 16px; padding: 11px 13px; border: 1px solid color-mix(in srgb, var(--purple) 20%, transparent); border-radius: 10px; background: var(--psoft); color: var(--ink2); font: 400 12.5px/1.5 var(--sans); }
.ans-copy-note strong { color: var(--ink); }
.ans-primary-editor { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .32fr); gap: 16px; align-items: start; }
.ans-textarea { min-height: 84px; resize: vertical; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; }
.ans .fi-eds-field__hint { margin: 6px 0 0; color: var(--ink3-aa); font: 400 11px/1.45 var(--sans); }
.ans-field-error { margin: 6px 0 0; color: var(--err-ink); font: 600 11.5px/1.45 var(--sans); }
.ans-switches { min-width: 0; margin: 0; padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; }
.ans-switches:disabled { opacity: .7; }
.ans-switches legend { padding: 0 5px; color: var(--ink); font: 600 12px/1.35 var(--sans); }
.ans-switch { display: flex; align-items: flex-start; gap: 8px; margin-top: 8px; color: var(--ink2); font: 450 12.5px/1.4 var(--sans); cursor: pointer; }
.ans-switch:first-of-type { margin-top: 2px; }
.ans-switch input { flex: 0 0 auto; margin-top: 2px; accent-color: var(--purple); }
.ans-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ans-actions .fi-eds-btn { min-height: 40px; }
.ans-advanced { border-top: 1px solid var(--line); padding-top: 12px; }
.ans-advanced > summary, .ans-audit > summary { display: flex; align-items: center; min-height: 36px; color: var(--purple7); font: 600 12.5px/1.4 var(--sans); cursor: pointer; }
.ans-advanced__body { display: grid; gap: 13px; padding-top: 13px; }
.ans-details-list { display: grid; gap: 8px; margin: 0; }
.ans-details-list div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; }
.ans-details-list dt { color: var(--ink3-aa); font: 600 11px/1.45 var(--sans); }
.ans-details-list dd { min-width: 0; margin: 0; color: var(--ink2); font: 400 11.5px/1.45 var(--sans); overflow-wrap: anywhere; }
.ans-details-list code { font-family: ui-monospace, Menlo, Consolas, monospace; }
.ans-default-source { display: block; }
.ans-default-source + .ans-default-source { margin-top: 4px; }
.ans-warning { margin: 0; padding: 10px 12px; border: 1px solid var(--lineS); border-radius: 10px; background: var(--cream); color: var(--ink2); font: 400 12px/1.5 var(--sans); }
.ans-warning--critical { border-color: color-mix(in srgb, var(--err-ink) 24%, transparent); background: var(--err-surface); color: var(--err-ink); }
.ans-warning strong { color: var(--ink); }
.ans-warning--critical strong { color: inherit; }
.ans-delivery { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.ans-delivery > strong { margin-right: 3px; color: var(--ink); font: 600 12px/1.4 var(--sans); }
.ans-secondary-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ans-audit { padding: 16px 17px; }
.ans-audit__body { display: grid; gap: 12px; padding-top: 13px; }
.ans-audit__body > p { margin: 0; color: var(--ink3-aa); font: 400 12px/1.45 var(--sans); }

@media (max-width: 768px) {
    .ans .fi-eds-input, .ans .ans-textarea { font-size: 16px; }
}
@media (max-width: 1100px) {
    .ans-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .ans { gap: 19px; }
    .ans-grid { grid-template-columns: 1fr; }
    .ans-primary-editor { grid-template-columns: 1fr; }
    .ans-card__summary { min-height: 0; padding: 15px 14px; }
    .ans-card__body { padding: 0 14px 14px; }
    .ans-advanced > summary, .ans-audit > summary { min-height: 44px; }
    .ans-details-list div { grid-template-columns: 1fr; gap: 2px; }
    .ans-actions, .ans-secondary-actions { display: grid; grid-template-columns: 1fr; }
    .ans-actions .fi-eds-btn, .ans-secondary-actions .fi-eds-btn { width: 100%; justify-content: center; }
    .ans-audit { padding: 14px; }
}



/* ══ Company Intelligence board (/panel/company-intelligence) — cards, stats, flags ══
   Shared bridge-layer styles (docs/design-system.md: no one-off style blocks in
   Blade views). The fi-eds-cc base card idiom above carries the surface/hover. */
.cib-header-actions { display: flex; gap: 8px; align-items: center; }

.cib-stats { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 16px; }
.cib-stat {
    display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
    padding: 10px 14px; background: var(--paper);
    border: 1px solid var(--line); border-radius: 10px; cursor: pointer;
    font-family: var(--sans); color: var(--ink); text-align: left;
    transition: transform 160ms ease, border-color 160ms ease;
}
.cib-stat:hover { transform: translateY(-1px); border-color: var(--lineS); }
.cib-stat.is-active { border-color: var(--purple); box-shadow: 0 0 0 3px var(--psoft); }
.cib-stat b { font: 430 19px/1.1 var(--ser); }
.cib-stat span { font: 500 11px var(--sans); color: var(--ink3); }
.cib-stat--red b { color: var(--err-ink); }
.cib-stat--money { cursor: default; }
.cib-stat--money:hover { transform: none; border-color: var(--line); }

.cib-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 12px; }

.cib-card { gap: 10px; }
.cib-card .fi-eds-cc__role { white-space: normal; }

/* Flag rows — the sanctioned status pairs as calm tinted notes (radius
   6 = chip scale). The card body stays paper; NO border stripes. */
.cib-flag {
    display: flex; align-items: flex-start; gap: 7px; margin: 0;
    padding: 7px 9px; border-radius: 6px;
    font: 400 12px/1.4 var(--sans);
}
.cib-flag svg { width: 13px; height: 13px; flex: none; margin-top: 2px; }
.cib-flag--red { background: var(--err-surface); color: var(--err-ink); }
.cib-flag--amber { background: var(--warn-surface); color: var(--warn-ink); }

.cib-kpis { display: flex; gap: 16px; align-items: flex-end; }
.cib-kpi { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cib-kpi b { font: 600 14px/1.15 var(--sans); color: var(--ink); }
.cib-kpi span { font: 400 11px/1.35 var(--sans); color: var(--ink3); }
.cib-kpi em { font-style: normal; font: 500 11px var(--sans); }
.cib-kpi em.is-up { color: var(--ok-ink); }
.cib-kpi em.is-down { color: var(--err-ink); }

.cib-trend { display: flex; gap: 2px; align-items: flex-end; height: 32px; margin-left: auto; flex: none; }
.cib-trend i { width: 6px; background: var(--ink3); opacity: .45; border-radius: 2px 2px 0 0; display: block; }
.cib-trend i:last-child { background: var(--purple); opacity: .75; }

.cib-arrangements { display: flex; flex-wrap: wrap; gap: 6px; }
.cib-arr {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 3px 8px; border: 1px dashed var(--lineS); border-radius: 6px;
    font: 400 11.5px var(--sans); color: var(--ink2); background: var(--cream);
}
.cib-arr.is-confirmed { border-style: solid; background: var(--paper); }
.cib-arr button {
    border: 0; background: none; cursor: pointer; padding: 0 2px;
    font: 500 11.5px var(--sans); color: var(--purple); text-decoration: underline;
}
.cib-arr button:hover { color: var(--purple7); }
/* An entitlement-grant deal reads as its own thing — quiet purple tint. */
.cib-arr--grant { border-color: color-mix(in srgb, var(--purple) 28%, var(--line)); background: var(--psoft); color: var(--purple7); }

/* Company logo on the card avatar slot — contain on paper (logos are mostly
   wordmarks on white), initial fallback keeps the old treatment. */
img.fi-eds-cc__avatar.cib-logo {
    border-radius: 10px; background: var(--paper); border: 1px solid var(--line);
    object-fit: contain; padding: 3px;
}

/* Badge + attention indicator share the head's right corner as one column. */
.cib-card__status { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; flex: 0 0 auto; }

/* Needs-attention indicator — an icon chip, NOT a banner (Lyndon 2026-08-27:
   the card is an overview; the wording lives in the tooltip + dossier). */
.cib-ind {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 2px 7px; border-radius: 999px; cursor: help;
    font: 600 11px var(--sans);
}
.cib-ind svg { width: 12px; height: 12px; }
.cib-ind--red { background: var(--err-surface); color: var(--err-ink); }
.cib-ind--amber { background: var(--warn-surface); color: var(--warn-ink); }

/* Private KPI targets — thin progress rows shared by the card and the
   dossier's KPI companion card. Pace colors the fill only. */
.cib-targets { display: flex; flex-direction: column; gap: 5px; }
.cib-target { display: flex; align-items: center; gap: 8px; min-width: 0; }
.cib-target__label {
    flex: 0 0 auto; max-width: 46%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font: 500 11px var(--sans); color: var(--ink3);
}
.cib-target__bar {
    flex: 1; height: 5px; border-radius: 999px; background: var(--cream);
    border: 1px solid var(--line); overflow: hidden; min-width: 40px;
}
.cib-target__bar i { display: block; height: 100%; border-radius: inherit; background: var(--purple); min-width: 2px; }
.cib-target--behind .cib-target__bar i { background: var(--err-ink); }
.cib-target--met .cib-target__bar i { background: var(--ok-ink); }
.cib-target__nums { flex: 0 0 auto; font: 600 11px var(--sans); color: var(--ink2); font-variant-numeric: tabular-nums; }

/* Stretched dossier trigger — the whole card opens the slide-over through one
   REAL button (native Enter/Space + honest AT semantics; a role=button article
   may not contain the confirm/end controls). It paints above non-positioned
   content, while the arrangement chips' own buttons sit above IT on their own
   stacking level (.cib-arr button below). */
.cib-card { position: relative; }
.cib-card__stretch {
    position: absolute; inset: 0; z-index: 0;
    background: none; border: 0; padding: 0; margin: 0;
    cursor: pointer; border-radius: inherit;
}
.cib-card__stretch:focus-visible {
    outline: none; border-radius: 14px;
    box-shadow: 0 0 0 3px rgba(106, 52, 245, 0.16);
}
.cib-arr { position: relative; z-index: 1; }

/* ══ Company Intelligence dossier (partials/company-dossier) — the EDS ds-sidebar
   idiom panel-side: uppercase K/V labels, Fraunces section headings, tinted notes.
   Rendered from the board's slide-over and reusable by any panel surface. */
/* EDS ds-sidebar idiom, panel-side (tokens from eds-panel.css). */
.cdx { display: flex; flex-direction: column; gap: 24px; font-family: var(--sans); color: var(--ink); text-align: left; }
.cdx__empty { font: 400 13.5px/1.5 var(--sans); color: var(--ink3); margin: 0; }

.cdx__head { display: flex; flex-direction: column; gap: 10px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.cdx__badges { display: flex; flex-wrap: wrap; gap: 6px; }
.cdx__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font: 400 13px/1.45 var(--sans); color: var(--ink2); }

.cdx__section { display: flex; flex-direction: column; gap: 12px; }
.cdx__section-title {
    display: flex; align-items: center; gap: 8px; margin: 0;
    font: 430 17px/1.3 var(--ser); color: var(--ink);
}
.cdx__dot { width: 6px; height: 6px; border-radius: 50%; flex: none; }

.cdx__kv { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 20px; }
@media (max-width: 416px) { .cdx__kv { grid-template-columns: minmax(0, 1fr); } }
.cdx__k {
    margin: 0 0 4px; font: 600 11px var(--sans); letter-spacing: .05em;
    text-transform: uppercase; color: var(--ink3); overflow-wrap: anywhere;
}
.cdx__v { margin: 0; font: 500 14px/1.4 var(--sans); color: var(--ink); overflow-wrap: anywhere; }
.cdx__v em { font-style: normal; font: 400 12px var(--sans); color: var(--ink3); display: inline-block; }
.cdx__up { color: var(--ok-ink) !important; }
.cdx__down { color: var(--err-ink) !important; }
.cdx__muted { color: var(--ink3); }

.cdx__note { border: 1px solid var(--line); border-radius: 14px; background: var(--paper); padding: 14px 16px; }
.cdx__note--accent { border-color: var(--psoft); background: var(--cream); }
.cdx__note--past { opacity: .6; }
.cdx__note-label {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    margin: 0 0 8px; font: 600 11px var(--sans); letter-spacing: .08em;
    text-transform: uppercase; color: var(--ink3);
}
.cdx__note-text { margin: 6px 0 0; font: 400 13px/1.5 var(--sans); color: var(--ink2); }
.cdx__why { margin: 8px 0 0; padding-left: 18px; font: 400 12.5px/1.55 var(--sans); color: var(--ink2); }
.cdx__why li + li { margin-top: 4px; }
.cdx__footnote { margin: 4px 0 0; font: 400 12px/1.5 var(--sans); color: var(--ink3); }
.cdx__footnote a { color: var(--purple); text-decoration: underline; }

.cdx__logo {
    width: 34px; height: 34px; border-radius: 8px; flex: 0 0 auto;
    object-fit: contain; background: var(--paper); border: 1px solid var(--line); padding: 3px;
}
.cdx__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.cdx__section-btn {
    margin-left: auto; border: 0; background: none; cursor: pointer; padding: 0 2px;
    font: 600 12px var(--sans); color: var(--purple); text-decoration: underline;
}
.cdx__section-btn:hover { color: var(--purple7); }

/* ── Companion cards — float on the slide-over's inner edge (the Nuxt
   candidate-sidebar aside idiom). Position comes from eds-pages/u05.css
   (scoped to .cdx-window); these are the card surfaces themselves. ────── */
.cdx-aside { display: flex; flex-direction: column; gap: 12px; }
.cdx-side {
    background: var(--paper); border: 1px solid var(--line); border-radius: 16px;
    padding: 14px 16px; display: flex; flex-direction: column; gap: 9px;
    box-shadow: var(--fi-eds-shadow, 0 1px 2px rgba(24, 20, 15, .04));
}
.cdx-side__eyebrow {
    display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin: 0;
    font: 600 10.5px var(--sans); letter-spacing: .1em; text-transform: uppercase; color: var(--ink3);
}
.cdx-side__eyebrow em { font-style: normal; font: 400 10.5px var(--sans); letter-spacing: 0; text-transform: none; }
.cdx-side__big { margin: 0; font: 430 24px/1.1 var(--ser); color: var(--ink); }
.cdx-side__big em { font-style: normal; font: 500 12px var(--sans); color: var(--ink3); margin-left: 4px; }
.cdx-side__muted { margin: 0; font: 400 12px/1.5 var(--sans); color: var(--ink3); }
.cdx-side__warn { color: var(--err-ink); }
.cdx-side__row { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }
.cdx-side__row + .cdx-side__row { border-top: 1px solid var(--line); padding-top: 8px; }
.cdx-side__rowmain { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.cdx-side__rowmain b { font: 600 13px/1.35 var(--sans); color: var(--ink); overflow-wrap: anywhere; }
.cdx-side__rowmain > span { font: 400 12px/1.45 var(--sans); color: var(--ink2); overflow-wrap: anywhere; }
.cdx-side__star { font-style: normal; color: var(--purple); }
.cdx-side__kv {
    display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 10px;
    border-top: 1px solid var(--line); padding-top: 9px; margin-top: 2px;
}
.cdx-side__kv span { font: 400 11.5px/1.5 var(--sans); color: var(--ink3); }
.cdx-side__kv b { font: 500 11.5px/1.5 var(--sans); color: var(--ink); text-align: right; font-variant-numeric: tabular-nums; }
.cdx-side__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
.cdx-side__stats b { display: block; font: 430 19px/1.1 var(--ser); color: var(--ink); }
.cdx-side__stats span { font: 400 11px/1.35 var(--sans); color: var(--ink3); }
.cdx-side__btn { align-self: flex-start; font-size: 12px; padding: 5px 10px; }
.cdx-side__x {
    flex: 0 0 auto; border: 0; background: none; cursor: pointer; padding: 0 3px;
    font: 500 14px/1 var(--sans); color: var(--ink3); border-radius: 5px;
}
.cdx-side__x:hover { color: var(--err-ink); background: var(--err-surface); }
.cdx-kpi-verdict { font-style: normal; letter-spacing: 0; text-transform: none; font: 600 11px var(--sans); }
.cdx-kpi-verdict--on_pace { color: var(--ok-ink); }
.cdx-kpi-verdict--met { color: var(--ok-ink); }
.cdx-kpi-verdict--behind { color: var(--err-ink); }

/* ── Files list ─────────────────────────────────────────────────────── */
.cdx-files { display: flex; flex-direction: column; gap: 6px; }
.cdx-file {
    display: flex; align-items: center; gap: 10px; min-width: 0;
    border: 1px solid var(--line); border-radius: 10px; background: var(--paper); padding: 8px 10px;
}
.cdx-file__cat {
    flex: 0 0 auto; padding: 2px 7px; border-radius: 6px; background: var(--cream);
    border: 1px solid var(--line); font: 500 10.5px var(--sans); color: var(--ink3); white-space: nowrap;
}
.cdx-file__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.cdx-file__main a, .cdx-file__main b { font: 500 13px/1.35 var(--sans); color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cdx-file__main a { text-decoration: underline; text-decoration-color: var(--lineS); }
.cdx-file__main a:hover { color: var(--purple); }
.cdx-file__main > span { font: 400 11.5px/1.4 var(--sans); color: var(--ink3); }

/* ── Relationship timeline ──────────────────────────────────────────── */
.cdx-timeline { display: flex; flex-direction: column; }
.cdx-tl { display: flex; gap: 10px; position: relative; padding-bottom: 14px; }
.cdx-tl:last-child { padding-bottom: 0; }
.cdx-tl::before {
    content: ''; position: absolute; left: 4px; top: 14px; bottom: 2px;
    width: 1px; background: var(--line);
}
.cdx-tl:last-child::before { display: none; }
.cdx-tl__dot {
    flex: 0 0 auto; width: 9px; height: 9px; border-radius: 50%; margin-top: 4px;
    background: var(--paper); border: 2px solid var(--purple);
}
.cdx-tl--system .cdx-tl__dot { border-color: var(--lineS); }
.cdx-tl__main { flex: 1; min-width: 0; }
.cdx-tl__summary { margin: 0; font: 500 13px/1.45 var(--sans); color: var(--ink); overflow-wrap: anywhere; }
.cdx-tl__summary .cdx-side__x { vertical-align: middle; }
.cdx-tl__body { margin: 3px 0 0; font: 400 12.5px/1.5 var(--sans); color: var(--ink2); white-space: pre-line; overflow-wrap: anywhere; }
.cdx-tl__meta { margin: 3px 0 0; font: 400 11.5px/1.4 var(--sans); color: var(--ink3); }

/* ── Email Templates (/panel/email-templates) ───────────────────────────
   This page was authored against Tailwind utilities (`grid`, `rounded-xl`,
   `bg-white`…) that the precompiled panel stylesheet does not ship, so every
   one of them resolved to nothing: no columns, no cards, and an <iframe>
   with no width. Presentation only — same markup order, same copy. */
.etm { display: grid; gap: 24px; grid-template-columns: minmax(230px, 300px) minmax(0, 1fr); align-items: start; }
@media (max-width: 63.9375rem) { .etm { grid-template-columns: minmax(0, 1fr); } }

.etm__nav { display: flex; flex-direction: column; gap: 24px; }
.etm__group { display: flex; flex-direction: column; gap: 8px; }
.etm__grouplabel { font: 600 11px var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--ink3); }
.etm__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.etm__item {
    display: block; width: 100%; text-align: left; cursor: pointer;
    border: 0; background: transparent; border-radius: 10px; padding: 8px 12px;
    font: 450 13px/1.4 var(--sans); color: var(--ink2);
    transition: background-color 150ms var(--fi-eds-ease), color 150ms var(--fi-eds-ease);
}
.etm__item:hover { background: var(--cream2); color: var(--ink); }
.etm__item:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--paper), 0 0 0 4px var(--purple); }
.etm__item.is-active { background: var(--psoft); color: var(--purple7); font-weight: 500; }

.etm__main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.etm__card { background: var(--paper); border: 1px solid var(--line); border-radius: 18px; padding: 16px 18px; box-shadow: var(--fi-eds-shadow); display: flex; flex-direction: column; gap: 4px; }
.etm__title { font: 430 18px/1.25 var(--ser); letter-spacing: -.01em; color: var(--ink); }
.etm__desc { font: 400 13px/1.5 var(--sans); color: var(--ink2); }
.etm__meta { font: 400 12px/1.6 var(--sans); color: var(--ink3); }
.etm__meta strong { font-weight: 600; color: var(--ink2); }
.etm__meta code { font: 450 12px ui-monospace, Menlo, Consolas, monospace; background: var(--cream2); color: var(--purple7); padding: 1.5px 6px; border-radius: 6px; }
.etm__label { font: 600 11px var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--ink3); }
.etm__subject { font: 500 14px/1.45 var(--sans); color: var(--ink); }

.etm__note { border-radius: 14px; padding: 14px 16px; font: 400 13px/1.55 var(--sans); display: flex; flex-direction: column; gap: 6px; }
.etm__note--warn { background: var(--warn-surface); color: var(--warn-ink); border: 1px solid color-mix(in srgb, var(--warn-ink) 20%, transparent); }
.etm__note--err { background: var(--err-surface); color: var(--err-ink); border: 1px solid color-mix(in srgb, var(--err-ink) 20%, transparent); }
.etm__note strong { font-weight: 600; }
.etm__note code { font: 450 12px ui-monospace, Menlo, Consolas, monospace; background: rgba(26, 23, 20, 0.06); padding: 1.5px 6px; border-radius: 6px; overflow-wrap: anywhere; }

.etm__frame { width: 100%; height: 70vh; display: block; background: var(--paper); border: 1px solid var(--line); border-radius: 14px; }

/* ── Reduced motion (spec rule 7) ────────────────────────────────────────
   Every transition this file declares, gated. The block lives at the END of
   the file on purpose: these selectors are equal-specificity with the rules
   that set the durations, and a media query adds none — sitting above the
   sections it names, it would simply lose on source order. */
@media (prefers-reduced-motion: reduce) {
    .fi-eds-cc, .fi-eds-cc__overlay, .fi-eds-cc__spot, .fi-eds-cc__cta svg,
    .fi-eds-seg button, .fi-eds-chip, .fi-eds-reset, .fi-eds-btn, .fi-eds-loadmore, .fi-eds-table tbody tr,
    .fi-eds-doc, .fi-eds-brow, .fi-eds-run, .fi-eds-run__chev, .fi-eds-cm, .fi-eds-slide,
    .fi-eds-rtoggle__track, .fi-eds-rtoggle__knob, .cib-stat,
    .ans-card, .ans-chevron, .etm__item { transition: none; }
}
