
:root {
  color-scheme: light;
  --ink: #10231c;
  --muted: #65736d;
  --canvas: #f4f7f5;
  --surface: #ffffff;
  --line: #e3e9e6;
  --green: #116149;
  --green-dark: #0c4233;
  --green-soft: #e5f3ed;
  --chart-sage: #176d54;
  --chart-blue: #70b99c;
  --chart-sand: #efb646;
  --chart-rose: #dc7065;
  --chart-lilac: #7c7bb6;
  --chart-gray: #a7afab;
  --lime: #c9f06c;
  --blue: #3275a8;
  --gold: #a66f1e;
  --berry: #9a5263;
  --shadow: 0 18px 50px rgba(24, 57, 44, .07);
}
section[id], label[id] { scroll-margin-top:86px; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--canvas); color: var(--ink); font: 15px/1.55 'Figtree', sans-serif; -webkit-font-smoothing: antialiased; }
.site-header { position: sticky; top: 0; z-index: 10; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(12, 66, 51, .96); backdrop-filter: blur(16px); }
.header-inner, main { width: min(1200px, calc(100% - 48px)); margin: auto; }
.header-inner { min-height: 72px; display: flex; align-items: center; gap: 48px; }
.brand { display: flex; align-items: center; gap: 12px; color: white; text-decoration: none; }
.brand-mark { width: 38px; height: 38px; display: flex; align-items: end; justify-content: center; gap: 3px; padding: 9px; border: 1px solid rgba(255,255,255,.2); border-radius: 11px; background: rgba(255,255,255,.08); }
.brand-mark i { display: block; width: 4px; border-radius: 3px; background: var(--lime); }.brand-mark i:nth-child(1) { height: 10px; }.brand-mark i:nth-child(2) { height: 17px; }.brand-mark i:nth-child(3) { height: 13px; }
.brand strong, .brand small { display: block; }.brand strong { font: 700 15px 'Instrument Sans', sans-serif; letter-spacing: -.01em; }.brand small { color: rgba(255,255,255,.58); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
nav { display: flex; align-self: stretch; gap: 30px; } nav a { position: relative; display: flex; align-items: center; color: rgba(255,255,255,.64); font-size: 13px; font-weight: 600; text-decoration: none; } nav a:hover, nav .nav-active { color: white; } nav .nav-active::after { content: ''; position: absolute; inset: auto 0 0; height: 2px; background: var(--lime); }
.source-link { margin-left: auto; display: flex; align-items: center; gap: 7px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: rgba(255,255,255,.82); font-size: 12px; text-decoration: none; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 4px rgba(201,240,108,.1); }
.hero { position: relative; margin-top: 26px; padding: 70px 64px 64px; overflow: hidden; display: flex; align-items: end; justify-content: space-between; gap: 40px; border-radius: 24px; color: white; background: radial-gradient(circle at 82% 15%, rgba(201,240,108,.18), transparent 27%), linear-gradient(130deg, var(--green-dark), #123b31); box-shadow: 0 24px 60px rgba(12,66,51,.17); }
.hero::before, .hero::after { content: ''; position: absolute; border: 1px solid rgba(255,255,255,.06); border-radius: 50%; }.hero::before { width: 340px; height: 340px; right: -90px; top: -170px; }.hero::after { width: 220px; height: 220px; right: 60px; bottom: -180px; }
.hero > * { position: relative; z-index: 1; }.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 15px; color: var(--lime); font-size: 11px; font-weight: 700; letter-spacing: .17em; }.eyebrow span { width: 22px; height: 1px; background: currentColor; }
h1 { margin: 0; font: 600 clamp(39px, 5vw, 64px)/1.08 'Instrument Sans', sans-serif; letter-spacing: -.05em; } h1 em { color: var(--lime); font-style: normal; }
.lead { max-width: 650px; margin: 22px 0 0; color: rgba(255,255,255,.66); font-size: 17px; }
button, input, select { font: inherit; }.hero-actions { display: flex; flex-direction: column; align-items: center; gap: 8px; }.hero-actions small { color: rgba(255,255,255,.48); font-size: 10px; }
.refresh-button { display: flex; align-items: center; gap: 9px; padding: 13px 18px; border: 0; border-radius: 10px; background: var(--lime); color: #1a372c; font-weight: 700; cursor: pointer; white-space: nowrap; box-shadow: 0 8px 26px rgba(0,0,0,.12); transition: transform .2s, box-shadow .2s; }.refresh-button:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,.17); }.refresh-button:disabled { opacity: .55; cursor: wait; transform: none; }
.notice { margin: 18px 0; padding: 13px 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--muted); }.notice.error { border-color: #d4a6a6; color: #852d2d; }
.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin: 20px 0; }
.metrics article { min-height: 118px; display: flex; align-items: center; gap: 16px; padding: 22px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); box-shadow: var(--shadow); transition: transform .2s, border-color .2s; }.metrics article:hover { transform: translateY(-2px); border-color: #cbd8d2; }
.metric-icon { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: var(--green-soft); color: var(--green); font-size: 19px; font-weight: 700; }.vote .metric-icon { background: #e8f1f8; color: var(--blue); }.agenda .metric-icon { background: #f7efdf; color: var(--gold); }.debate .metric-icon { background: #f5e9ed; color: var(--berry); }
.metrics span { display: block; color: var(--muted); font-size: 12px; }.metrics strong { display: block; margin-top: 5px; font: 700 30px/1 'Instrument Sans', sans-serif; letter-spacing: -.04em; }
.catalogue { padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow); }
.votes-panel { margin: 20px 0; padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow); }
.profiles-panel { margin: 20px 0; padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow); }.profile-tabs { display:flex; padding:3px; border-radius:9px; background:var(--canvas); }.profile-tabs button { padding:7px 12px; border:0; border-radius:7px; color:var(--muted); background:transparent; cursor:pointer; font-size:12px; font-weight:700; }.profile-tabs button.active { color:var(--green); background:white; box-shadow:0 2px 8px rgba(20,50,38,.08); }.profile-select-label { display:block; margin-top:24px; color:var(--muted); font-size:11px; }.profile-select { max-width:380px; margin-top:6px; }.profile-summary { display:grid; gap:11px; margin-top:22px; }.profile-category { display:grid; grid-template-columns:minmax(170px,1fr) 3fr 72px; align-items:center; gap:15px; }.profile-category-name { font-size:12px; font-weight:700; }.profile-bar { height:12px; display:flex; overflow:hidden; border-radius:999px; background:var(--canvas); }.profile-bar-par { background:var(--green); }.profile-bar-pret { background:#c95f65; }.profile-value { color:var(--muted); font-size:11px; text-align:right; }.profile-legend { display:flex; gap:18px; margin-top:17px; color:var(--muted); font-size:11px; }.profile-legend i { display:inline-block; width:8px; height:8px; margin-right:5px; border-radius:50%; background:var(--green); }.profile-legend span:last-child i { background:#c95f65; }
.profile-status { margin-top:20px; padding:12px 14px; border-radius:9px; color:var(--muted); background:var(--canvas); font-size:12px; }.profile-status:empty { display:none; }.profile-status.error { color:#8e3338; background:#fbecee; }.method-note { margin-top:22px; padding:14px; border-left:3px solid var(--gold); color:var(--muted); background:#fffaf0; font-size:11px; }
.vote-list { display: grid; gap: 8px; margin-top: 24px; }.vote-row { width: 100%; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 18px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fbfcfb; color: var(--ink); text-align: left; cursor: pointer; }.vote-row:hover { border-color: #9dbdae; background: #f6faf8; }.vote-row-title { font-weight: 700; }.vote-row-time { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }.topic-preview { display: flex; flex-wrap: wrap; justify-content: end; gap: 5px; }.topic-chip { padding: 4px 8px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 10px; font-weight: 700; }.topic-chip.review { border: 1px dashed #d1b372; background: #fff8e8; color: #7f5d17; }.vote-score { white-space: nowrap; font-size: 12px; color: var(--muted); }.vote-score strong { color: var(--green); }
.vote-dialog { width: min(680px, calc(100% - 28px)); padding: 32px; border: 0; border-radius: 18px; color: var(--ink); box-shadow: 0 28px 90px rgba(0,0,0,.28); }.vote-dialog::backdrop { background: rgba(7,28,21,.62); backdrop-filter: blur(4px); }.dialog-close { position: absolute; right: 16px; top: 14px; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--canvas); color: var(--ink); font-size: 22px; cursor: pointer; }.dialog-description { color: var(--muted); }.dialog-topics { display: flex; flex-wrap: wrap; gap: 7px; margin: 22px 0; }.dialog-result { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; margin: 20px 0; }.dialog-result div { padding: 14px; border-radius: 10px; background: var(--canvas); }.dialog-result span { display:block; color: var(--muted); font-size: 10px; text-transform: uppercase; }.dialog-result strong { font-size: 23px; }.dialog-source { color: var(--green); font-weight: 700; text-decoration: none; }
.participant-heading { margin: 22px 0 8px; font: 700 14px 'Instrument Sans', sans-serif; }.participant-list { max-height: 250px; overflow: auto; margin-bottom: 18px; border-block: 1px solid var(--line); }.participant-row { display: grid; grid-template-columns: 1fr 70px 100px; gap: 10px; padding: 8px 4px; border-bottom: 1px solid #edf1ef; font-size: 12px; }.participant-row:last-child { border: 0; }.participant-row span:nth-child(2) { color: var(--muted); }.choice-par { color: var(--green); font-weight: 700; }.choice-pret { color: #a43b42; font-weight: 700; }.choice-atturas { color: var(--gold); font-weight: 700; }
.catalogue-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; }.section-label { margin: 0 0 4px !important; color: var(--green) !important; font-size: 10px !important; font-weight: 700; letter-spacing: .14em; }
h2 { margin: 0; font: 700 25px 'Instrument Sans', sans-serif; letter-spacing: -.03em; }.catalogue-heading p { margin: 8px 0 0; color: var(--muted); font-size: 12px; }.license { padding: 6px 11px; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: 11px; font-weight: 700; }
.filters { display: grid; grid-template-columns: 1fr 210px 150px; gap: 10px; margin: 26px 0 15px; }.search-field { position: relative; }.search-icon { position: absolute; left: 14px; top: 9px; color: var(--muted); font-size: 20px; }.search-field input { padding-left: 42px; }
input, select { width: 100%; height: 45px; padding: 0 13px; border: 1px solid var(--line); border-radius: 10px; background: #fafcfb; color: var(--ink); transition: border .2s, box-shadow .2s; } input:focus, select:focus { border-color: #8db5a6; outline: 0; box-shadow: 0 0 0 3px rgba(17,97,73,.1); } button:focus-visible { outline: 3px solid rgba(201,240,108,.45); outline-offset: 2px; }
.result-line { margin: 5px 0 9px; color: var(--muted); font-size: 12px; }.result-line strong { color: var(--ink); }
.table-wrap { overflow-x: auto; } table { width: 100%; border-collapse: collapse; } th { padding: 11px 12px; border-block: 1px solid var(--line); background: #fafcfb; color: #84908b; font-size: 10px; letter-spacing: .08em; text-align: left; text-transform: uppercase; } td { padding: 15px 12px; border-bottom: 1px solid #edf1ef; font-size: 13px; vertical-align: middle; } tbody tr { transition: background .15s; } tbody tr:hover { background: #f8fbf9; } td:first-child { min-width: 360px; font-weight: 600; } td:last-child { text-align: right; }
.kind { display: inline-flex; align-items: center; padding: 4px 9px; border-radius: 999px; font-size: 11px; font-weight: 600; background: #e8f1f8; color: var(--blue); }.kind.dkp { background: #f7efdf; color: var(--gold); }.kind.deb { background: #f5e9ed; color: var(--berry); }.open-resource { display: inline-block; padding: 6px 9px; border-radius: 7px; color: var(--green); font-weight: 700; text-decoration: none; white-space: nowrap; }.open-resource:hover { background: var(--green-soft); }
.pagination { display: flex; justify-content: center; align-items: center; gap: 15px; margin-top: 21px; }.pagination button { padding: 8px 12px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); font-size: 12px; font-weight: 600; cursor: pointer; }.pagination button:hover:not(:disabled) { border-color: #abc4ba; background: #f7faf8; }.pagination button:disabled { opacity: .38; cursor: default; }.pagination span { color: var(--muted); font-size: 12px; }
.about-strip { display: flex; align-items: center; gap: 32px; margin: 20px 0 55px; padding: 18px 24px; border: 1px solid var(--line); border-radius: 14px; color: var(--muted); background: rgba(255,255,255,.5); font-size: 12px; }.about-strip p { margin: 0 auto 0 0; color: var(--ink); font-weight: 700; }.about-strip span::before { content: '✓'; margin-right: 7px; color: var(--green); font-weight: 700; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 850px) { .header-inner, main { width: min(100% - 28px, 1200px); }.header-inner { gap: 22px; } nav { display: none; }.hero { padding: 52px 35px 42px; align-items: start; flex-direction: column; }.hero-actions { align-items: start; }.metrics { grid-template-columns: repeat(2, 1fr); }.filters { grid-template-columns: 1fr 1fr; }.search-field { grid-column: 1 / -1; }.about-strip { flex-wrap: wrap; gap: 12px 24px; }.about-strip p { flex-basis: 100%; } }
@media (max-width: 520px) { .header-inner { min-height: 64px; }.source-link { padding: 8px; }.source-link span:not(.status-dot) { display: none; }.hero { margin-top: 14px; padding: 37px 24px 32px; border-radius: 17px; } h1 { font-size: 36px; }.lead { font-size: 15px; }.metrics { gap: 8px; }.metrics article { min-height: 103px; gap: 10px; padding: 14px; }.metric-icon { flex-basis: 34px; width: 34px; height: 34px; border-radius: 9px; }.metrics strong { font-size: 25px; }.catalogue { padding: 21px 14px; }.catalogue-heading { flex-direction: column; }.filters { grid-template-columns: 1fr; }.search-field { grid-column: auto; } th:nth-child(3), td:nth-child(3), th:nth-child(4), td:nth-child(4) { display: none; } td:first-child { min-width: 230px; }.about-strip span { flex-basis: 100%; } }
@media (max-width: 620px) { .votes-panel { padding: 21px 14px; }.vote-row { grid-template-columns: 1fr; gap: 9px; }.topic-preview { justify-content: start; }.dialog-result { grid-template-columns: repeat(3,1fr); }.vote-dialog { padding: 25px 18px; } }
@media (max-width: 620px) { .profiles-panel { padding:21px 14px; }.profile-category { grid-template-columns:1fr 2fr 55px; gap:8px; }.profile-tabs { align-self:flex-start; } }
.chamber-panel { margin:20px 0; padding:30px; border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:var(--shadow); }
.reason-tabs { display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.reason-tabs[hidden],.reason-source[hidden] { display:none; }
.reason-tabs button { padding:8px 12px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:#fff; font-size:12px; font-weight:700; cursor:pointer; }
.reason-tabs button:hover { border-color:#9ebbad; }
.reason-tabs button.active { border-color:var(--green); color:#fff; background:var(--green); }
.reason-source { margin:7px 0 0; color:var(--muted); font-size:12px; }
.chamber-wrap { position:relative; margin-top:18px; overflow:hidden; border-radius:14px; background:linear-gradient(180deg,#f8fbf9,#eef4f1); }
.chamber-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:14px; align-items:stretch; }.chamber-main { min-width:0; }.party-chart { margin-top:14px; padding:20px; border:1px solid var(--line); border-radius:14px; background:#fbfcfb; }.party-chart h3,.deputy-ranking h3 { margin:0; font:700 14px 'Instrument Sans',sans-serif; }.party-chart > p,.deputy-ranking > p { margin:3px 0 18px; color:var(--muted); font-size:10px; }.party-bars { min-height:252px; display:flex; align-items:flex-end; justify-content:space-around; gap:10px; }.party-bar-column { min-width:42px; flex:1; display:grid; grid-template-rows:18px 192px auto auto; gap:4px; text-align:center; color:var(--muted); font-size:10px; }.party-bar-column strong { color:var(--ink); font-size:11px; }.party-bar-column small { font-size:9px; }.party-bar-track { width:min(34px,100%); height:192px; display:flex; align-items:flex-end; justify-self:center; overflow:hidden; border-radius:7px 7px 3px 3px; background:#e6ebe8; }.party-bar-fill { width:100%; min-height:2px; border-radius:6px 6px 2px 2px; transition:height .3s; }
.deputy-ranking { margin-top:18px; padding:20px; border:1px solid var(--line); border-radius:14px; background:#fbfcfb; }.deputy-ranking ol { margin:0; padding:0; list-style:none; counter-reset:ranking; }.deputy-ranking li { position:relative; padding:9px 0 9px 28px; border-top:1px solid var(--line); counter-increment:ranking; }.deputy-ranking li::before { content:counter(ranking); position:absolute; left:0; top:10px; width:19px; color:#93a09a; font:600 10px 'Instrument Sans',sans-serif; text-align:right; }.deputy-ranking li > strong { display:block; font:700 11px/1.3 'Instrument Sans',sans-serif; }.deputy-ranking-metric { display:flex; align-items:flex-start; gap:6px; margin-top:3px; color:var(--muted); font-size:9px; line-height:1.4; }.deputy-ranking-metric i { flex:none; padding:1px 4px; border-radius:4px; color:#fff; background:var(--party-color); font-style:normal; font-weight:700; }
.chamber-wrap svg { display:block; width:100%; height:auto; }
.seat-group { cursor:pointer; }
.seat { stroke:#fff; stroke-width:2; transition:r .15s,stroke-width .15s; }
.seat-group:hover .seat,.seat.selected { r:19px; stroke:var(--ink); stroke-width:2; }
.seat-label { fill:#fff; font:700 8.5px 'Instrument Sans',sans-serif; text-anchor:middle; dominant-baseline:central; pointer-events:none; }
.chamber-dais { fill:#d9e5df; stroke:#bdcec6; }
.chamber-detail { min-height:48px; display:flex; align-items:center; gap:22px; padding:12px 16px; border:1px solid var(--line); border-radius:10px; color:var(--muted); font-size:12px; }
.chamber-detail strong { color:var(--ink); font-size:14px; }
.deputy-popover { position:absolute; z-index:4; width:min(290px,calc(100% - 28px)); padding:18px; border:1px solid rgba(23,65,48,.16); border-radius:14px; background:rgba(255,255,255,.97); box-shadow:0 16px 40px rgba(20,49,37,.2); color:var(--ink); font:500 12px/1.45 'Instrument Sans',sans-serif; }
.deputy-popover[hidden] { display:none; }
.deputy-popover strong { display:block; padding-right:24px; font:700 16px/1.25 'Instrument Sans',sans-serif; }
.deputy-popover-party { display:block; margin:4px 22px 14px 0; color:var(--muted); }
.deputy-popover p { margin:6px 0 0; }
.deputy-popover p b { color:var(--green-dark); }
.deputy-popover-pay { padding-top:7px; border-top:1px solid var(--line); }
.deputy-popover-attendance-detail { color:var(--muted); }
.deputy-popover-unexcused { padding:8px 10px; border-radius:8px; color:#6f332f; background:#fff1ef; }
.deputy-popover-unexcused b { color:#b23c33!important; }
.deputy-popover-source { display:inline-block; margin:10px 12px 0 0; color:var(--green); font-weight:700; text-decoration:none; }
.deputy-profile-link { display:block; margin-top:14px; padding:9px 12px; border-radius:8px; color:white; background:var(--green); font-weight:700; text-align:center; text-decoration:none; }
.deputy-popover-close { position:absolute; top:8px; right:9px; width:28px; height:28px; border:0; border-radius:50%; background:transparent; color:var(--muted); font-size:20px; line-height:1; cursor:pointer; }
.deputy-popover-close:hover { background:#edf4f0; color:var(--ink); }
.party-legend { display:flex; flex-wrap:wrap; gap:9px 18px; margin-top:16px; }
.party-filter { margin:16px 0 0; padding:0; border:0; }.party-filter legend { margin-bottom:7px; color:var(--muted); font-size:10px; }.party-legend label { display:flex; align-items:center; gap:6px; padding:5px 8px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:#fff; font-size:10px; cursor:pointer; }.party-legend input { width:13px; height:13px; margin:0; accent-color:var(--green); }.party-legend i { width:9px; height:9px; border-radius:50%; }
.chamber-note { margin:15px 0 0; color:var(--muted); font-size:10px; }
.data-provenance{display:flex;gap:14px;margin:10px 0!important;font-size:12px!important}.data-provenance a{color:var(--green);font-weight:700;text-decoration:none}
.ranking-profile-link{color:inherit;font:700 13px/1.3 'Instrument Sans',sans-serif;text-decoration:none}.ranking-profile-link:hover{color:var(--green)}.entity-drawer-shade{position:fixed;z-index:40;inset:0;width:100%;height:100%;border:0;background:rgba(8,25,19,.45);backdrop-filter:blur(2px)}.entity-drawer{position:fixed;z-index:41;inset:0 0 0 auto;width:min(560px,calc(100% - 24px));overflow:auto;border:0;background:#f7f5ef;box-shadow:-25px 0 70px rgba(0,0,0,.22)}.entity-drawer[hidden],.entity-drawer-shade[hidden]{display:none}.entity-drawer-close{position:absolute;z-index:2;right:18px;top:18px;width:38px;height:38px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:white;background:rgba(0,0,0,.16);font-size:24px;cursor:pointer}.drawer-hero{padding:70px 42px 38px;color:white;background:var(--green-dark)}.drawer-hero.candidate{background:#1e31d8}.drawer-hero span{font-size:11px;font-weight:700;letter-spacing:.15em}.drawer-hero h2{margin:10px 0 5px;font-size:34px}.drawer-hero p{margin:0;color:rgba(255,255,255,.7)}.drawer-content{padding:34px 42px 60px}.drawer-content h3{margin:28px 0 10px;padding-bottom:9px;border-bottom:2px solid #333;font-size:13px;letter-spacing:.13em;text-transform:uppercase}.drawer-content dl{display:grid;grid-template-columns:minmax(145px,1fr) 1.6fr;gap:9px;margin:0}.drawer-content dt{color:#8b8a83}.drawer-content dd{margin:0;font-weight:700}.drawer-source a{color:var(--green);font-weight:700;text-decoration:none}.drawer-source{display:flex;gap:12px}.drawer-directions{padding:0;list-style:none}.drawer-directions li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #d8d6cf}.drawer-directions b{color:var(--green);white-space:nowrap}.unavailable-data,.drawer-loading{padding:14px;border-left:3px solid var(--gold);color:var(--muted);background:#fffaf0}@media(max-width:600px){.drawer-hero,.drawer-content{padding-inline:24px}.drawer-content dl{grid-template-columns:1fr}.drawer-content dd{margin-bottom:7px}}
.section-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.section-shortcuts a{padding:16px 18px;border:1px solid var(--line);border-radius:12px;color:inherit;background:white;text-decoration:none}.section-shortcuts strong,.section-shortcuts span{display:block}.section-shortcuts span{margin-top:3px;color:var(--muted);font-size:12px}@media(max-width:650px){.section-shortcuts{grid-template-columns:1fr}}
.term-overview{display:grid;grid-template-columns:repeat(4,1fr);margin:18px 0;border-block:2px solid var(--ink);background:#faf9f5}.term-overview>div{min-height:132px;padding:22px;border-right:1px solid var(--line)}.term-overview>div:last-child{border-right:0}.term-overview span,.term-overview small{display:block;color:var(--muted)}.term-overview span{font-size:11px;font-weight:800;letter-spacing:.13em}.term-overview strong{display:block;margin:8px 0 4px;font:800 34px 'Instrument Sans',sans-serif}.term-overview small{font-size:12px}@media(max-width:700px){.term-overview{grid-template-columns:repeat(2,1fr)}.term-overview>div:nth-child(2){border-right:0}}
@media (max-width:620px) { .chamber-panel { padding:21px 10px; }.chamber-detail { align-items:flex-start; flex-direction:column; gap:2px; }.chamber-wrap { margin-inline:-4px; } }
@media (max-width:850px) { .chamber-grid { grid-template-columns:1fr; }.deputy-ranking { margin-top:0; }.party-bars { overflow-x:auto; justify-content:flex-start; }.party-bar-column { min-width:54px; } }
.election-panel { margin:20px 0; padding:34px; border:1px solid var(--line); border-radius:18px; background:var(--surface); box-shadow:var(--shadow); }.election-intro h2 { font-size:30px; }.election-intro > p:last-child { color:var(--muted); }.candidate-search { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:8px; margin:24px 0; padding:7px 8px 7px 15px; border:1px solid #aec7bd; border-radius:13px; background:#f9fcfa; }.candidate-search > span { color:var(--green); font-size:22px; }.candidate-search input { border:0; background:transparent; box-shadow:none; }.candidate-search button { min-height:40px; padding:0 18px; border:0; border-radius:9px; color:white; background:var(--green); font-weight:700; cursor:pointer; }.list-heading { display:flex; justify-content:space-between; align-items:center; margin:28px 0 12px; }.list-heading h3 { margin:0; font:700 16px 'Instrument Sans',sans-serif; }.list-heading span { color:var(--muted); font-size:10px; }.election-lists { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.election-list-card { width:100%;display:grid;grid-template-columns:44px 1fr;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;color:inherit;background:white;text-align:left;cursor:pointer;transition:.2s; }.election-list-card:hover { border-color:#9ebbad; transform:translateY(-1px); }.list-number { width:40px;height:40px;display:grid;place-items:center;border-radius:10px;color:var(--green);background:var(--green-soft);font-weight:700; }.election-list-card h4 { margin:0;font:700 13px 'Instrument Sans',sans-serif; }.election-list-facts { display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:7px;color:var(--muted);font-size:10px; }.candidate-results:not(:empty) { display:grid;gap:7px;margin-bottom:20px; }.candidate-result { display:flex;justify-content:space-between;gap:15px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;color:inherit;background:#fbfcfb;text-decoration:none; }.candidate-result strong,.candidate-result span { display:block; }.candidate-result span { color:var(--muted);font-size:10px; }.experience-label { align-self:center;padding:4px 8px;border-radius:999px;color:var(--green)!important;background:var(--green-soft);white-space:nowrap; }.source-badge { color:var(--muted);font-size:10px; }.list-detail { padding:20px;border:1px solid var(--line);border-radius:12px;background:#fbfcfb; }.list-detail h3 { margin:0;font:700 18px 'Instrument Sans',sans-serif; }.list-detail > p { color:var(--muted); }.list-detail li { margin-bottom:7px;color:var(--muted);font-size:12px; }
@media(max-width:700px){.election-panel{padding:24px 14px}.election-lists{grid-template-columns:1fr}.candidate-search{grid-template-columns:auto 1fr}.candidate-search button{grid-column:1/-1}.candidate-result{flex-direction:column}}

.drawer-hero.neutral{display:flex;align-items:center;gap:22px;color:var(--ink);background:#e9ecea}.drawer-party-icon{flex:0 0 88px;width:88px;height:88px;display:grid;place-items:center;border:0;border-radius:50%;color:white;background:var(--party);font:800 22px 'Instrument Sans',sans-serif;box-shadow:none}.drawer-hero.neutral span,.drawer-hero.neutral p{color:var(--muted)}.drawer-hero.neutral h2{color:var(--ink)}
.drawer-detail-list{display:grid;gap:10px}.drawer-detail-list>div{display:grid;gap:8px;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}.drawer-detail-list span{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.4fr);gap:12px;align-items:start}.drawer-detail-list small{color:var(--muted);font-size:12px;line-height:1.4}.drawer-detail-list b{overflow-wrap:anywhere;font-size:13px;line-height:1.45}.drawer-source{flex-wrap:wrap}.drawer-source a{display:inline-flex;padding:6px 0}

/* Lasāmības korekcija: agrākie mazie teksti palielināti aptuveni 1,2 reizes. */
.brand small,.hero-actions small { font-size:12px; }
.source-link,.metrics span,.profile-tabs button,.profile-status,.vote-score,.participant-row,.catalogue-heading p,.result-line,.pagination button,.pagination span,.about-strip,.chamber-detail,.list-detail li { font-size:14px; }
.eyebrow,.profile-select-label,.profile-value,.profile-legend,.method-note,.vote-row-time,.license,.kind { font-size:13px; }
.topic-chip,.dialog-result span,.section-label,.party-chart > p,.deputy-ranking > p,.party-filter legend,.party-legend label,.chamber-note,.list-heading span,.election-list-facts,.candidate-result span,.source-badge { font-size:12px !important; }
.party-chart h3,.deputy-ranking h3 { font-size:17px; }
.party-bar-column { grid-template-rows:22px 192px 18px 17px; font-size:12px; }
.party-bar-column strong { font-size:13px; }
.party-bar-column small { font-size:11px; }
.deputy-ranking li { padding-top:11px; padding-bottom:11px; padding-left:30px; }
.deputy-ranking li::before { top:12px; width:21px; font-size:12px; }
.deputy-ranking li > strong { font-size:13px; }
.deputy-ranking-metric { gap:7px; margin-top:4px; font-size:11px; line-height:1.45; }
.deputy-ranking-metric i { padding:2px 5px; }
.deputy-popover { width:min(350px,calc(100% - 28px)); font-size:14px; }
.deputy-popover strong { font-size:17px; }
.party-legend input { width:18px; height:18px; }
.party-legend i { width:13px; height:13px; }
.chamber-grid > .deputy-ranking { height:calc(100% - 18px); }
.party-bars { min-height:274px; }
.party-bar-track { height:214px; }
.party-bar-column { grid-template-rows:22px 214px 18px 17px; }
@media (max-width:850px) { .chamber-grid > .deputy-ranking { height:auto; } }
@media(max-width:600px){.drawer-detail-list span{grid-template-columns:1fr;gap:2px}.drawer-party-icon{flex-basis:68px;width:68px;height:68px;font-size:18px}.drawer-hero.neutral{gap:15px}.drawer-hero h2{font-size:27px}}

/* A continuous surface keeps long candidate declarations visually consistent. */
.entity-drawer{background:#f3f3ee}.entity-drawer .drawer-hero.neutral{background:transparent;padding-bottom:30px}.entity-drawer-close{background:#d9dfd7;color:#24392d;border:0}.drawer-party-icon{border:0;box-shadow:none}.drawer-content h3{border-bottom:1px solid #ccd3c9;letter-spacing:.07em;color:#314638;padding-bottom:12px;margin-top:30px}.drawer-content dl{gap:12px 18px;line-height:1.55}.drawer-content dt{color:#636c62}.drawer-content dd{overflow-wrap:anywhere}.drawer-detail-list{gap:0}.drawer-detail-list>div{padding:15px 0;background:transparent;border:0;border-bottom:1px solid #d9ddd4;border-radius:0}.entity-drawer .unavailable-data{background:transparent;border:0;padding:10px 0}.drawer-content .candidate-bio h3{margin-top:0}.candidate-bio p{line-height:1.75}.candidate-bio a{color:var(--green);font-size:13px}.drawer-hero h2{overflow-wrap:anywhere}

.political-history h3{margin-top:0}.political-history ol{list-style:none;margin:0;padding:0}.political-history li{padding:14px 0;border-bottom:1px solid var(--line)}.political-history li strong,.political-history li span,.political-history li small{display:block;margin-bottom:4px}.political-history li small,.history-coverage{color:var(--muted);font-size:13px;line-height:1.5}.political-history a{color:var(--green);font-size:13px}.party-experience-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:28px 0 12px}.party-experience-stats strong{display:block;font-size:34px}.party-experience-stats span{display:block;color:var(--muted);font-size:14px;line-height:1.4}@media(max-width:700px){.party-experience-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.history-term{margin:20px 0}.history-term h4{margin:0;font-size:16px}.history-term details{margin-top:10px}.history-term summary{color:var(--green);cursor:pointer;font-size:14px}.history-term details ol{padding-left:14px}

/* Shared, quiet navigation and page introductions. */
:root { --canvas:#f5f6f5; }
.site-header { background:#fff; border-bottom:1px solid var(--line); backdrop-filter:none; }
.header-inner { min-height:80px; gap:32px; }
.brand { flex-shrink:0; gap:11px; color:var(--ink); }
.brand-mark { display:block; width:32px; height:32px; padding:0; border:0; border-radius:0; background:none; color:var(--green); }
.brand strong { font-size:16px; letter-spacing:-.035em; }
.brand small { margin-top:2px; color:var(--muted); font-size:10px; letter-spacing:.1em; }
.site-header nav { gap:24px; }
.site-header nav a { color:var(--muted); font-size:13px; white-space:nowrap; }
.site-header nav a:hover,.site-header nav .nav-active { color:var(--ink); }
.site-header nav .nav-active::after { height:2px; background:var(--green); }
.source-link { flex-shrink:0; padding:0; border:0; color:var(--muted); font-size:12px; }
.status-dot { width:6px; height:6px; background:var(--green); box-shadow:none; }
.hero { margin:0 0 24px; padding:52px 0 32px; border:0; border-radius:0; background:none; box-shadow:none; color:var(--ink); }
.hero::before,.hero::after { display:none; }
.hero .eyebrow { color:var(--muted); }
.hero h1 em { color:var(--green); }
.hero .lead,.hero-actions small { color:var(--muted); }
.hero .refresh-button { background:var(--green); color:white; box-shadow:none; }
@media(max-width:1100px) {
 .header-inner { flex-wrap:wrap; gap:0 24px; padding-top:16px; }
 .site-header nav { display:flex; order:3; width:100%; overflow-x:auto; gap:24px; }
 .site-header nav a { min-height:48px; }
 .source-link { margin-left:auto; }
}
@media(max-width:600px) {
 .hero { margin:0 0 20px; padding:32px 0 20px; gap:24px; }
 .brand strong { font-size:15px; }
 .site-header nav { gap:22px; }
 .site-header nav a { font-size:12px; }
}

/* Chamber controls and a bounded, scrollable deputy card. */
.deputy-popover { overflow-y:auto; overscroll-behavior:contain; background:#fff; }
.deputy-popover-close { position:sticky; float:right; top:0; right:0; background:#fff; z-index:1; }
.chamber-detail { min-height:0; padding:14px 0; border:0; border-radius:0; background:none; }
.chamber-main>.party-filter { margin:12px 0 14px; }
.party-legend { gap:8px; margin-top:4px; }
.party-legend label { position:relative; padding:7px 10px; gap:6px; border:0; border-radius:7px; color:var(--muted); background:#edf0ee; font-weight:700; }
.party-legend label:has(input:checked) { background:var(--filter-party); color:#fff; text-shadow:none; }
.party-legend input { appearance:none; flex:0 0 14px; width:14px; height:14px; padding:0; margin:0; box-shadow:none; border:1px solid currentColor; border-radius:3px; background:transparent; accent-color:auto; }
.party-legend input:checked { border-color:transparent; }
.party-legend input:checked::after { content:'✓'; display:block; color:white; font-size:15px; font-weight:800; line-height:12px; }
.party-legend label:has(input:focus-visible) { outline:2px solid var(--ink); outline-offset:3px; }
.party-legend i { display:none; }
.party-legend label:not(:has(input:checked)) { box-shadow:none; }

.drawer-content>.political-history { margin-top:36px; }
.drawer-content>.political-history>h3 { margin-top:0; }

.term-overview{background:transparent;border:0;gap:28px;margin:32px 0;padding:12px 0}.term-overview>div{background:transparent;border:0;padding:12px 0}.term-overview>div>span{font-size:12px;letter-spacing:.05em;color:var(--muted)}.term-overview>div>strong{font-size:38px;line-height:1.15;margin:12px 0 8px}.term-overview>div>small{font-size:13px;line-height:1.5}

.deputy-popover{width:min(440px,calc(100% - 28px))}.deputy-popover-heading{display:flex;align-items:center;gap:14px;padding-right:24px}.deputy-popover-heading>div{min-width:0}.deputy-popover-icon{display:grid;place-items:center;flex:0 0 54px;height:54px;border-radius:50%;font-style:normal;font-weight:700;color:white}.deputy-popover-heading .deputy-popover-party{margin-top:5px}

/* Kompakts vēlēšanu zīmols un pie labās malas izlīdzināta navigācija. */
.site-header .header-inner{gap:24px}
.site-header .brand{gap:10px}
.site-header .brand-mark{width:36px;height:36px;flex:0 0 36px}
.site-header .brand-wordmark{display:flex;align-items:baseline;gap:4px;white-space:nowrap}
.site-header .brand-wordmark strong{display:inline;font-size:17px;letter-spacing:-.045em}
.site-header .brand-wordmark strong:last-child{color:var(--green)}
.site-header nav{margin-left:auto;justify-content:flex-end;gap:22px}
@media(max-width:1100px){.site-header nav{margin-left:0;justify-content:flex-start}}
