/* ===== soft background glow (all pages) =====
   Tune with --glow-1 / --glow-2 (0% = off). Uses the theme's accent colour. */
:root { --glow-1: 15%; --glow-2: 10%; }
body {
    background-image:
        radial-gradient(60vmax 44vmax at 92% -6%, color-mix(in srgb, var(--accent, #7c6cf0) var(--glow-1), transparent), transparent 70%),
        radial-gradient(54vmax 40vmax at -6% 106%, color-mix(in srgb, var(--accent, #7c6cf0) var(--glow-2), transparent), transparent 70%);
    background-repeat: no-repeat;
    background-attachment: fixed;
}

/* ===== insight rail (Overview + Agencies) ===== */
.ir-layout { display: flex; gap: 18px; align-items: flex-start; }
.ir-main { flex: 1; min-width: 0; }
.ir-rail { order: -1; flex: 0 0 310px; width: 310px; position: sticky; top: 12px;
    max-height: calc(100vh - 24px); overflow-y: auto; overflow-x: hidden;
    background: var(--surface, #fff); border: 1px solid var(--border, #dde3ec); border-radius: 16px;
    padding: 12px; scrollbar-width: thin; }
.ir-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.ir-title { font-weight: 750; font-size: .95rem; white-space: nowrap; }
.ir-toggle { border: 1px solid var(--border, #dde3ec); background: var(--surface-2, #f1f4f9); color: var(--text-soft, #6a768a);
    width: 28px; height: 28px; border-radius: 8px; cursor: pointer; font-size: .8rem; line-height: 1; }
.ir-toggle:hover { border-color: var(--accent, #7c6cf0); color: var(--accent, #7c6cf0); }
.ir-asof { font-size: .72rem; color: var(--text-soft, #6a768a); margin: -2px 0 10px; }
.ir-card { background: var(--surface-2, #f1f4f9); border: 1px solid var(--border, #dde3ec); border-radius: 12px;
    padding: 12px; margin-bottom: 10px; }
.ir-card h3 { margin: 0 0 8px; font-size: .78rem; font-weight: 700; color: var(--text-soft, #6a768a); letter-spacing: .01em; }
.ir-focus { border-color: color-mix(in srgb, var(--accent, #7c6cf0) 45%, var(--border, #dde3ec)); }
.ir-focus ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.ir-focus li { font-size: .84rem; line-height: 1.45; padding: 8px 10px; border-radius: 9px; background: var(--surface, #fff);
    border-inline-start: 3px solid var(--accent, #7c6cf0); }
.ir-focus li a { color: inherit; text-decoration: none; display: block; }
.ir-focus li a:hover { color: var(--accent, #7c6cf0); }
.ir-focus li.t-down { border-inline-start-color: var(--down, #d64545); }
.ir-focus li.t-warn { border-inline-start-color: var(--mid, #d98a00); }
.ir-focus li.t-ok { border-inline-start-color: var(--up, #1f9d55); }
.ir-focus li[class] { color: var(--text, #1b2433); }
.ir-big { font-size: 1.9rem; font-weight: 780; letter-spacing: -.5px; line-height: 1.1; }
.ir-big small { font-size: .78rem; font-weight: 500; color: var(--text-soft, #6a768a); letter-spacing: 0; }
.ir-sub { font-size: .76rem; color: var(--text-soft, #6a768a); margin: 2px 0 8px; }
.ir-gauge { position: relative; height: 10px; border-radius: 99px; background: var(--surface, #fff); border: 1px solid var(--border, #dde3ec); margin: 4px 0 12px; }
.ir-gauge .fill { display: block; height: 100%; border-radius: 99px; }
.ir-gauge i { position: absolute; top: -4px; bottom: -4px; width: 2px; background: var(--text, #1b2433); opacity: .55; }
.ir-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }
.ir-facts div { background: var(--surface, #fff); border-radius: 8px; padding: 6px 9px; }
.ir-facts dt { font-size: .7rem; color: var(--text-soft, #6a768a); }
.ir-facts dd { margin: 0; font-weight: 700; font-size: .92rem; }
.ir-note { font-size: .8rem; line-height: 1.45; margin: 10px 0 0; }
.ir-foot { font-size: .72rem; color: var(--text-soft, #6a768a); margin: 8px 0 0; }
.ir-spark { width: 100%; height: 46px; display: block; margin: 4px 0 6px; }
.ir-stack { display: flex; height: 12px; border-radius: 99px; overflow: hidden; background: var(--surface, #fff); border: 1px solid var(--border, #dde3ec); }
.ir-stack span { display: block; height: 100%; }
.ir-legend { list-style: none; margin: 9px 0 0; padding: 0; display: flex; flex-direction: column; gap: 5px; }
.ir-legend li { display: grid; grid-template-columns: 12px 1fr auto; gap: 8px; align-items: center; font-size: .8rem; }
.ir-legend i { width: 10px; height: 10px; border-radius: 3px; display: block; }
.ir-mv { margin-bottom: 8px; }
.ir-mv h4 { margin: 0 0 4px; font-size: .74rem; }
.ir-mv a { display: flex; justify-content: space-between; gap: 8px; padding: 5px 8px; border-radius: 7px; background: var(--surface, #fff);
    margin-bottom: 4px; font-size: .82rem; color: var(--text, #1b2433); text-decoration: none; }
.ir-mv a:hover { outline: 1px solid var(--accent, #7c6cf0); }
.ir-mv a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ir-funnel { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px; }
.ir-funnel > div { display: grid; grid-template-columns: 78px 1fr 46px; gap: 8px; align-items: center; font-size: .78rem; }
.ir-funnel .trk { height: 9px; background: var(--surface, #fff); border: 1px solid var(--border, #dde3ec); border-radius: 99px; overflow: hidden; display: block; }
.ir-funnel .fil { display: block; height: 100%; background: var(--accent, #7c6cf0); border-radius: 99px; }
.ir-funnel b { text-align: end; }
.ir-line { margin: 0 0 7px; font-size: .82rem; line-height: 1.5; padding-inline-start: 9px; border-inline-start: 3px solid var(--border, #dde3ec); }
.ir-line a { color: inherit; text-decoration: none; }
.ir-line a:hover { color: var(--accent, #7c6cf0); }
.ir-line.t-up { border-inline-start-color: var(--up, #1f9d55); }
.ir-line.t-down { border-inline-start-color: var(--down, #d64545); }
.ir-line.t-mid, .ir-line.t-warn { border-inline-start-color: var(--mid, #d98a00); }
.ir-line.t-info { border-inline-start-color: var(--accent, #7c6cf0); }
.t-up { color: var(--up, #1f9d55); } .t-down { color: var(--down, #d64545); } .t-mid, .t-warn { color: var(--mid, #d98a00); }
.ir-line[class*="t-"], .ir-focus li[class*="t-"] { color: var(--text, #1b2433); }
.bg-up { background: var(--up, #1f9d55); } .bg-up2 { background: color-mix(in srgb, var(--up, #1f9d55) 60%, var(--accent, #7c6cf0)); }
.bg-mid { background: var(--mid, #d98a00); } .bg-down { background: var(--down, #d64545); } .bg-mute { background: var(--text-soft, #8a94a6); opacity: .6; }
/* collapsed: a slim strip with only the toggle */
.ir-layout.is-collapsed .ir-rail { flex-basis: 46px; width: 46px; padding: 8px 8px; overflow: hidden; }
.ir-layout.is-collapsed .ir-body, .ir-layout.is-collapsed .ir-label { display: none; }
.ir-layout.is-collapsed .ir-head { flex-direction: column; margin: 0; }
[dir="rtl"] .ir-toggle { transform: scaleX(-1); }
@media (max-width: 1100px) {
    .ir-layout { flex-direction: column; }
    .ir-rail, .ir-layout.is-collapsed .ir-rail { order: 0; flex: none; width: 100%; position: static; max-height: none; }
    .ir-layout.is-collapsed .ir-head { flex-direction: row; }
    .ir-layout.is-collapsed .ir-label { display: inline; }
    .ir-main { align-self: stretch; width: 100%; }   /* v20: wide tables scroll inside, page doesn't */
}
