/* Генезис.юа — розділ «Економіка»: KPI-плитки зі спарклайнами (синій ряд, золота остання точка), бюджет, джерела, факти */
.econ-kpis { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: var(--s-3); }
.kpi { padding: var(--s-4); display: flex; flex-direction: column; gap: 6px; border-radius: var(--r-md); min-height: 170px; }
.kpi header { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--s-2); }
.kpi-title { font-size: .8rem; font-weight: 600; color: var(--ink-2); line-height: 1.25; }
.kpi-src { font-family: var(--font); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--gold-700); white-space: nowrap; }
.kpi-value { font-family: var(--font); font-size: 1.45rem; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; color: var(--blue-600); }
.kpi-meta { display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: .76rem; color: var(--muted); align-items: center; }
.kpi-delta { font-weight: 600; } .kpi-delta.up { color: var(--ok-ink); } .kpi-delta.down { color: var(--bad-ink); }
.kpi footer { font-size: .72rem; margin-top: auto; }
.spark { width: 100%; height: 56px; display: block; overflow: visible; }
.spark-grid { stroke: var(--hairline-out); stroke-width: 1; stroke-dasharray: 2 4; }
.spark-line { fill: none; stroke: var(--blue); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.spark-area { fill: var(--blue); opacity: .08; }
.spark-last { fill: var(--gold); stroke: var(--blue-900); stroke-width: 1.5; }
.spark-empty { font-size: 10px; fill: var(--muted); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .spark-line { stroke: var(--blue-600); } :root:not([data-theme="light"]) .spark-area { fill: var(--blue-600); } }
:root[data-theme="dark"] .spark-line { stroke: var(--blue-600); } :root[data-theme="dark"] .spark-area { fill: var(--blue-600); }

.econ-cols { display: grid; grid-template-columns: 1.5fr 1fr; gap: var(--s-4); align-items: start; }
.econ-side { display: flex; flex-direction: column; gap: var(--s-4); }
@media (max-width: 1100px) { .econ-cols { grid-template-columns: 1fr; } }
.econ-filters { padding: 0; }
.econ-filters .field select, .econ-filters .field input { width: 100%; padding: 8px 10px; border-radius: var(--r-sm); border: 1px solid var(--hairline-out); background: rgba(255,255,255,.4); color: var(--ink); }
.econ-filters .field { display: flex; flex-direction: column; gap: 4px; font-size: .78rem; color: var(--muted); font-weight: 600; }
/* типографіка таблиці бюджету: одна шкала — назва .9rem, числа .9rem tabular, службові підписи .78rem */
.econ-table { font-size: .9rem; }
.econ-table th { font-size: .68rem; letter-spacing: .06em; }
.econ-table td { padding: var(--s-3) var(--s-3); line-height: 1.4; }
.econ-table td.title { max-width: 380px; min-width: 180px; }
.econ-table td.nreg { font-size: .84rem; }
.econ-table td.num { font-family: var(--font); font-weight: 600; font-size: .9rem; letter-spacing: -.01em; }
.econ-table td.num .unit { font-family: var(--font-body); font-weight: 500; font-size: .74rem; color: var(--muted); margin-left: 3px; }
.econ-table td.dim { font-size: .76rem; line-height: 1.5; }
.econ-table td.dim .pub { display: block; }
.econ-table tr.total td { font-size: .95rem; }
.econ-table tr.total td.num { font-weight: 800; }
.econ-table tr.total td.dim { font-weight: 500; }
.econ-table tr.total td { font-weight: 700; background: rgba(255,215,0,.12); }
.econ-table tr.lvl-1 td.title { font-weight: 600; }
.econ-table tr.lvl-3 td.title, .econ-table tr.lvl-4 td.title { padding-left: calc(var(--s-4) + 14px); color: var(--ink-2); }
.exec-bar { height: 3px; margin-left: auto; border-radius: 4px; background: var(--hairline-out); margin-top: 4px; min-width: 70px; overflow: hidden; }
.exec-bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--blue), var(--gold)); border-radius: 4px; }

.econ-sources { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s-3); }
.econ-sources li { padding: var(--s-3); border-radius: var(--r-md); background: rgba(255,255,255,.35); border: 1px solid var(--hairline-out); }
.econ-src-head { display: flex; align-items: center; gap: var(--s-2); } .econ-src-head button { margin-left: auto; }
.econ-src-head strong { font-family: var(--font); font-size: .95rem; }
.econ-src-meta, .econ-src-note { font-size: .76rem; line-height: 1.45; margin-top: 3px; } .econ-src-note { color: var(--ink-2); } .econ-lag { font-size: .76rem; line-height: 1.45; margin-top: var(--s-3); }
.btn-ghost.sm { padding: 4px 10px; font-size: .8rem; }

#eco-ctx textarea { width: 100%; resize: vertical; padding: 10px 12px; border-radius: var(--r-sm); border: 1px solid var(--hairline-out); background: rgba(255,255,255,.4); color: var(--ink); font: inherit; }
.econ-ctx-actions { display: flex; align-items: center; gap: var(--s-2); margin-top: var(--s-2); flex-wrap: wrap; }
.econ-ctx-actions .field.sm { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; color: var(--muted); }
.econ-ctx-actions .field.sm input { width: 64px; padding: 6px 8px; border-radius: var(--r-sm); border: 1px solid var(--hairline-out); background: rgba(255,255,255,.4); color: var(--ink); }
.econ-facts { list-style: none; margin: var(--s-3) 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--s-2); }
.econ-fact { display: flex; gap: var(--s-2); padding: var(--s-3); border-radius: var(--r-md); background: rgba(255,215,0,.10); border-left: 3px solid var(--gold); }
.econ-fact p { font-size: .9rem; }
.econ-label { font-family: var(--font); font-weight: 800; color: var(--gold-700); white-space: nowrap; }
.econ-meta { display: block; font-size: .74rem; color: var(--muted); margin-top: 4px; }
.econ-md summary { cursor: pointer; font-size: .82rem; color: var(--blue-600); margin-top: var(--s-2); }
.econ-md pre { white-space: pre-wrap; font-size: .78rem; padding: var(--s-3); border-radius: var(--r-sm); background: rgba(0,87,183,.06); }
.econ-h3 { font-size: .95rem; margin-top: var(--s-3); }
.econ-topics { justify-content: flex-start; margin-top: var(--s-2); }
.chip-sm.gold { background: rgba(255,215,0,.22); color: var(--gold-900); }
.econ-check { list-style: none; margin: var(--s-2) 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: .86rem; }
.econ-check li { display: flex; gap: var(--s-2); align-items: flex-start; }
.pill.warn { background: var(--warn-bg); color: var(--warn-ink); } .pill.ok { background: var(--ok-bg); color: var(--ok-ink); } .pill.bad { background: var(--bad-bg); color: var(--bad-ink); } .pill.info { background: var(--info-bg); color: var(--info-ink); }

.econ-link-card { display: block; text-decoration: none; color: inherit; transition: transform .15s ease; }
.econ-link-card:hover { transform: translateY(-1px); }
.econ-link-card h2 { color: var(--blue-600); }

/* темна тема: «матове скло» замість білих плям */
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) :is(.econ-sources li, .econ-filters .field select, .econ-filters .field input, #eco-ctx textarea, .econ-ctx-actions .field.sm input) { background: rgba(0,0,0,.22); } }
:root[data-theme="dark"] :is(.econ-sources li, .econ-filters .field select, .econ-filters .field input, #eco-ctx textarea, .econ-ctx-actions .field.sm input) { background: rgba(0,0,0,.22); }
.econ-src-head { flex-wrap: wrap; } .econ-src-head .pill { flex: none; }
.econ-link-card .panel-head { flex-wrap: wrap; } .econ-link-card .chip-sm { white-space: nowrap; }
