/* =====================================================================
   TKKM Kutatási Portál / Kutatási Admin – arculati alap
   Forrás: kormany.hu (2026. októberi állapot) mért értékei alapján.
   Build lépés nélkül használható: <link rel="stylesheet" href="/assets/arculat.css">
   Szabály: komponensben NE írj nyers hex színt, mindig a --k-* változót használd.
   ===================================================================== */

/* ---------- Betűtípusok (saját tárhelyről, nem Google Fonts CDN-ről) ---------- */
/* Figtree: a kormany.hu Fieldwork betűjének szabad (OFL) megfelelője.
   Ha a minisztériumnak van Fieldwork-licence (Adobe Fonts), tedd a --k-font-sans elejére. */
@font-face { font-family: 'Figtree'; font-style: normal; font-display: swap; font-weight: 400;
  src: url(fonts/figtree-latin-ext-400-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Figtree'; font-style: normal; font-display: swap; font-weight: 400;
  src: url(fonts/figtree-latin-400-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Figtree'; font-style: normal; font-display: swap; font-weight: 600;
  src: url(fonts/figtree-latin-ext-600-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Figtree'; font-style: normal; font-display: swap; font-weight: 600;
  src: url(fonts/figtree-latin-600-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: 'Figtree'; font-style: normal; font-display: swap; font-weight: 700;
  src: url(fonts/figtree-latin-ext-700-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'Figtree'; font-style: normal; font-display: swap; font-weight: 700;
  src: url(fonts/figtree-latin-700-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
/* EB Garamond: csak a logó szövegéhez (kiskapitális minisztériumnév). */
@font-face { font-family: 'EB Garamond'; font-style: normal; font-display: swap; font-weight: 500;
  src: url(fonts/eb-garamond-latin-ext-500-normal.woff2) format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: 'EB Garamond'; font-style: normal; font-display: swap; font-weight: 500;
  src: url(fonts/eb-garamond-latin-500-normal.woff2) format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* ---------- Tokenek ---------- */
:root {
  /* Márkaszín – a kormany.hu kékje */
  --k-primary: #0050A0;          /* gombok, linkek, szekciócímek, fejléc-sáv, lábléc */
  --k-primary-hover: #003E7E;    /* gomb hover / aktív */
  --k-primary-tint: #E6EEF6;     /* = primary 10% fehéren: kijelölt elem, tájékoztató doboz, aktív menüpont */
  --k-primary-border: #BFD3E7;   /* = primary 25%: pirula-gomb kerete */

  /* Szöveg */
  --k-text: #1F1E21;             /* alap szöveg, h1 */
  --k-text-muted: #707781;       /* másodlagos szöveg, meta, címkék (4,6:1 fehéren – AA) */
  --k-text-inverse: #FFFFFF;

  /* Felületek */
  --k-bg: #FFFFFF;               /* oldal háttér */
  --k-surface-subtle: #F5F7FA;   /* másodlagos sáv, táblázatfej, sor hover */
  --k-surface-muted: #EDF0F4;    /* beviteli mező háttér, kártyán belüli szürke panel */
  --k-surface-strong: #E2E6ED;   /* kiemelt szürke doboz (pl. határidő) */
  --k-surface-warm: #F0E8DD;     /* meleg kiemelő szekció (ritkán, max. 1 / oldal) */

  /* Keretek */
  --k-border: #ADB5C3;           /* kártya keret */
  --k-border-light: #D1D7DF;     /* elválasztó vonal, opciókártya keret */
  --k-border-input: rgba(112, 119, 129, 0.5);
  --k-border-inverse: rgba(255, 255, 255, 0.25); /* vonal kék (inverz) felületen, pl. a lábléc */
  --k-primary-fade: rgba(0, 80, 160, 0.73);      /* a kiemelt blokk színátmenetének felső színe */

  /* Állapotszínek (javaslat – a kormany.hu-n nem mért) */
  --k-success: #007B24;   --k-success-bg: #E8F6EC;
  --k-warning: #8A5A00;   --k-warning-bg: #FFF4DB;
  --k-danger:  #B3261E;   --k-danger-bg:  #FDECEC;
  --k-focus: #0050A0;
  --k-hc-focus: #FFF500;         /* kormany.hu magas kontrasztú mód */

  /* Diagram (radar): értékelt = márkakék, önkép = aranysárga (a Szent Korona színe) */
  --k-chart-assessed: #0050A0;
  --k-chart-self: #C79A00;
  --k-chart-grid: #D1D7DF;
  --k-chart-1: #0050A0; --k-chart-2: #C79A00; --k-chart-3: #00796B; --k-chart-4: #6A4C93; --k-chart-5: #B8475A;

  /* Tipográfia */
  --k-font-sans: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --k-font-brand: 'EB Garamond', Georgia, 'Times New Roman', serif;
  --k-fs-display: 40px; --k-lh-display: 1.1;   /* h1 */
  --k-fs-h2: 28px;      --k-lh-h2: 1.2;        /* szekciócím, kék */
  --k-fs-h3: 20px;      --k-lh-h3: 1.4;        /* kártyacím, kérdés */
  --k-fs-body: 16px;    --k-lh-body: 1.5;
  --k-fs-sm: 14px;      --k-lh-sm: 1.4;        /* menü, meta, címke */
  --k-fs-xs: 12px;      --k-lh-xs: 1.35;       /* pirula, apró jelzés */

  /* Térköz (4-es rács) */
  --k-space-1: 4px; --k-space-2: 8px; --k-space-3: 12px; --k-space-4: 16px;
  --k-space-5: 24px; --k-space-6: 32px; --k-space-7: 48px; --k-space-8: 64px;

  /* Lekerekítés */
  --k-radius-sm: 4px;      /* gomb, input */
  --k-radius-md: 8px;      /* kártya, doboz, opciókártya */
  --k-radius-pill: 100px;  /* pirula */

  /* Méretek */
  --k-control-h: 48px;     /* alap gomb / input magasság (nyilvános felület) */
  --k-control-h-sm: 36px;  /* sűrű admin felület */
  --k-header-h: 72px;
  --k-content-max: 1320px; /* admin és lista oldalak */
  --k-reading-max: 800px;  /* kérdőív olvasási oszlop */
}

/* ---------- Alap ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--k-bg); color: var(--k-text);
  font-family: var(--k-font-sans); font-size: var(--k-fs-body); line-height: var(--k-lh-body);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { margin: 0 0 var(--k-space-4); font-weight: 600; }
h1 { font-size: var(--k-fs-display); line-height: var(--k-lh-display); color: var(--k-text); }
h2 { font-size: var(--k-fs-h2); line-height: var(--k-lh-h2); color: var(--k-primary); }
h3 { font-size: var(--k-fs-h3); line-height: var(--k-lh-h3); color: var(--k-text); }
p { margin: 0 0 var(--k-space-4); }
a { color: var(--k-primary); text-decoration: underline; text-underline-offset: 3px; }
a:hover { color: var(--k-primary-hover); }
:focus-visible { outline: 2px solid var(--k-focus); outline-offset: 2px; }
.k-lead { font-size: 20px; line-height: 1.4; font-weight: 600; max-width: 640px; }
.k-muted { color: var(--k-text-muted); }
.k-meta { font-size: var(--k-fs-sm); color: var(--k-text-muted); font-weight: 600; }
.k-container { max-width: var(--k-content-max); margin: 0 auto; padding: 0 var(--k-space-5); }
.k-reading { max-width: var(--k-reading-max); margin: 0 auto; padding: 0 var(--k-space-4); }
.k-divider { border: 0; border-top: 1px solid var(--k-border-light); margin: var(--k-space-6) 0; }
@media (max-width: 640px) { :root { --k-fs-display: 30px; --k-fs-h2: 24px; } .k-container { padding: 0 var(--k-space-4); } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* ---------- Logó (címer + megnevezés) ---------- */
.k-logo { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; color: var(--k-text); }
.k-logo__cimer { height: 60px; width: auto; flex: none; }
.k-logo__text { display: flex; flex-direction: column; gap: 5px; }
.k-logo__ministry {
  font-family: var(--k-font-brand); font-weight: 500; font-size: 15px; line-height: 1.05;
  font-variant-caps: small-caps; letter-spacing: 0.02em; color: var(--k-text); max-width: 290px;
}
.k-logo__product { font-family: var(--k-font-sans); font-weight: 700; font-size: 17px; line-height: 1.1; color: var(--k-primary); }
.k-logo--inverse, .k-logo--inverse .k-logo__ministry, .k-logo--inverse .k-logo__product { color: var(--k-text-inverse); }
@media (max-width: 640px) { .k-logo__cimer { height: 48px; } .k-logo__ministry { font-size: 13px; max-width: 220px; } .k-logo__product { font-size: 15px; } }

/* ---------- Fejléc ---------- */
.k-header { background: var(--k-bg); border-bottom: 1px solid var(--k-border-light); }
.k-header__inner { min-height: var(--k-header-h); display: flex; align-items: center; gap: var(--k-space-6); }
.k-header__right { margin-left: auto; display: flex; align-items: center; gap: var(--k-space-5); font-size: var(--k-fs-sm); }
.k-nav { display: flex; gap: var(--k-space-5); align-self: stretch; }
.k-nav a { display: flex; align-items: center; font-size: var(--k-fs-sm); color: var(--k-text); text-decoration: none;
  border-bottom: 3px solid transparent; padding-top: 3px; }
.k-nav a:hover { color: var(--k-primary); }
.k-nav a[aria-current="page"] { color: var(--k-primary); border-bottom-color: var(--k-primary); font-weight: 600; }
/* Másodlagos (projekt) sáv */
.k-subnav { background: var(--k-surface-subtle); border-bottom: 1px solid var(--k-border-light); }
.k-subnav__inner { display: flex; align-items: center; gap: var(--k-space-5); min-height: 52px; font-size: var(--k-fs-sm); overflow-x: auto; }
.k-subnav__title { font-weight: 700; color: var(--k-text); margin-right: var(--k-space-4); white-space: nowrap; }
.k-subnav a { color: var(--k-text); text-decoration: none; white-space: nowrap; padding: 14px 0 11px; border-bottom: 3px solid transparent; }
.k-subnav a[aria-current="page"] { color: var(--k-primary); border-bottom-color: var(--k-primary); font-weight: 600; }

/* ---------- Lábléc ---------- */
.k-footer { background: var(--k-primary); color: var(--k-text-inverse); padding: var(--k-space-6) 0; margin-top: var(--k-space-8); font-size: var(--k-fs-sm); }
.k-footer a { color: var(--k-text-inverse); }
.k-footer__inner { display: flex; flex-wrap: wrap; gap: var(--k-space-6); align-items: flex-start; justify-content: space-between; }
.k-footer__links { display: flex; flex-wrap: wrap; gap: var(--k-space-3) var(--k-space-5); }
.k-footer__copy { width: 100%; border-top: 1px solid var(--k-border-inverse); padding-top: var(--k-space-4); opacity: .85; }

/* ---------- Gombok ---------- */
.k-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--k-space-2);
  height: var(--k-control-h); padding: 0 var(--k-space-4); border-radius: var(--k-radius-sm);
  border: 1px solid var(--k-primary); background: var(--k-primary); color: var(--k-text-inverse);
  font: 600 var(--k-fs-body)/1 var(--k-font-sans); text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: background-color .15s, border-color .15s, color .15s;
}
.k-btn:hover { background: var(--k-primary-hover); border-color: var(--k-primary-hover); color: var(--k-text-inverse); }
.k-btn--secondary { background: var(--k-bg); color: var(--k-primary); }
.k-btn--secondary:hover { background: var(--k-primary-tint); color: var(--k-primary); border-color: var(--k-primary); }
.k-btn--ghost { background: transparent; border-color: transparent; color: var(--k-primary); padding: 0 var(--k-space-2); }
.k-btn--ghost:hover { background: var(--k-primary-tint); border-color: transparent; color: var(--k-primary); }
.k-btn--danger { background: var(--k-bg); color: var(--k-danger); border-color: var(--k-danger); }
.k-btn--danger:hover { background: var(--k-danger-bg); color: var(--k-danger); border-color: var(--k-danger); }
.k-btn--sm { height: var(--k-control-h-sm); font-size: var(--k-fs-sm); padding: 0 var(--k-space-3); }
.k-btn--block { width: 100%; }
/* Csak ikonos, négyzetes gomb (pl. szűrők törlése); mindig aria-label-lel és title-lel. */
.k-btn--icon { width: var(--k-control-h); padding: 0; }
.k-btn--icon.k-btn--sm { width: var(--k-control-h-sm); }
.k-btn:disabled, .k-btn[aria-disabled="true"] { background: var(--k-surface-strong); border-color: var(--k-surface-strong); color: var(--k-text-muted); cursor: not-allowed; }
.k-btn svg { width: 20px; height: 20px; flex: none; }

/* Pirula (szűrő, gyorslink, címke) */
.k-pill { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: var(--k-radius-pill);
  border: 1px solid var(--k-primary-border); background: var(--k-bg); color: var(--k-primary);
  font: 400 var(--k-fs-xs)/16px var(--k-font-sans); text-decoration: none; cursor: pointer; }
.k-pill:hover, .k-pill[aria-pressed="true"] { background: var(--k-primary-tint); border-color: var(--k-primary); }

/* ---------- Űrlapelemek ---------- */
.k-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: var(--k-space-4); }
.k-label { font-size: var(--k-fs-sm); font-weight: 600; color: var(--k-text); }
.k-help { font-size: var(--k-fs-sm); color: var(--k-text-muted); }
.k-input, .k-select, .k-textarea {
  width: 100%; min-height: var(--k-control-h); padding: 10px 16px; border-radius: var(--k-radius-sm);
  border: 1px solid var(--k-border-input); background: var(--k-surface-muted); color: var(--k-text);
  font: 400 var(--k-fs-body)/1.4 var(--k-font-sans);
}
.k-textarea { min-height: 96px; resize: vertical; }
.k-input::placeholder, .k-textarea::placeholder { color: var(--k-text-muted); }
.k-input:focus, .k-select:focus, .k-textarea:focus { outline: 2px solid var(--k-focus); outline-offset: 0; background: var(--k-bg); }
.k-input[aria-invalid="true"] { border-color: var(--k-danger); }
.k-error { font-size: var(--k-fs-sm); color: var(--k-danger); font-weight: 600; }
/* Kereső: mező + hozzátapadó kék ikon-gomb */
.k-search { display: flex; }
.k-search .k-input { border-radius: var(--k-radius-sm) 0 0 var(--k-radius-sm); }
.k-search .k-btn { width: var(--k-control-h); padding: 0; border-radius: 0 var(--k-radius-sm) var(--k-radius-sm) 0; }
/* Jelölőnégyzet és rádió – natív, márkaszínnel */
.k-check { display: inline-flex; align-items: center; gap: var(--k-space-2); font-size: var(--k-fs-sm); cursor: pointer; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--k-primary); width: 18px; height: 18px; margin: 0; }

/* Opciókártya (kérdőív válaszlehetőség: rádió / jelölőnégyzet) */
.k-option { display: flex; gap: var(--k-space-3); align-items: flex-start; padding: var(--k-space-4);
  border: 1px solid var(--k-border-light); border-radius: var(--k-radius-md); background: var(--k-bg);
  cursor: pointer; margin-bottom: var(--k-space-2); transition: border-color .15s, background-color .15s; }
.k-option:hover { border-color: var(--k-primary); }
.k-option input { margin-top: 3px; flex: none; }
.k-option:has(input:checked) { background: var(--k-primary-tint); border-color: var(--k-primary); }
.k-option:has(input:focus-visible) { outline: 2px solid var(--k-focus); outline-offset: 2px; }

/* ---------- Dobozok, kártyák ---------- */
.k-notice { background: var(--k-primary-tint); border-radius: var(--k-radius-md); padding: var(--k-space-4); font-size: var(--k-fs-sm); }
.k-notice--warning { background: var(--k-warning-bg); color: var(--k-warning); }
.k-notice--danger { background: var(--k-danger-bg); color: var(--k-danger); }
.k-notice--success { background: var(--k-success-bg); color: var(--k-success); }

.k-card { border: 1px solid var(--k-border); border-radius: var(--k-radius-md); background: var(--k-bg); overflow: hidden; }
.k-card__band { background: var(--k-primary); color: var(--k-text-inverse); padding: 14px 16px; font-weight: 700; text-align: center; }
.k-card__body { padding: var(--k-space-4); }
.k-card__panel { background: var(--k-surface-muted); border-radius: var(--k-radius-sm); padding: var(--k-space-3) var(--k-space-2); font-size: var(--k-fs-sm); }
.k-card__footer { padding: 0 var(--k-space-4) var(--k-space-4); }
/* Kártya fejsáv nélkül, közvetlen tartalommal (admin: egy oldalszakasz – cím, szöveg, űrlap, táblázat). */
.k-card--pad { padding: var(--k-space-5); overflow: visible; }
.k-card--pad > :last-child { margin-bottom: 0; }

/* Kiemelt kék tartalomblokk (üdvözlő oldal, hero) – az egyetlen megengedett színátmenet */
.k-feature { background: linear-gradient(var(--k-primary-fade), var(--k-primary) 37.5%); color: var(--k-text-inverse);
  border-radius: var(--k-radius-md); padding: var(--k-space-5) var(--k-space-6); }
.k-feature h1, .k-feature h2, .k-feature a:not(.k-btn) { color: var(--k-text-inverse); }

/* Ki/be kapcsoló (role="switch" jelölőnégyzet): a felirat mellette, a kapcsolt állapot kék. */
.k-switch { display: inline-flex; align-items: center; gap: var(--k-space-3); cursor: pointer; font-weight: 600; }
.k-switch input { appearance: none; -webkit-appearance: none; margin: 0; flex: none; width: 40px; height: 22px; border-radius: 11px;
  background: var(--k-border); position: relative; cursor: pointer; transition: background-color .15s; }
.k-switch input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%;
  background: var(--k-bg); transition: transform .15s; }
.k-switch input:checked { background: var(--k-primary); }
.k-switch input:checked::after { transform: translateX(18px); }
.k-switch input:focus-visible { outline: 2px solid var(--k-focus); outline-offset: 2px; }

/* Lenyíló menü egy gomb alatt (pl. „Kitöltői előnézet ▾” – a választás és a művelet egy elem). Lapos: keret, árnyék nincs. */
/* Megerősítő ablak (public/assets/confirm.js) */
.k-dialog { max-width: min(520px, calc(100vw - 32px)); padding: var(--k-space-5); border: 1px solid var(--k-border-light); border-radius: var(--k-radius-md); color: var(--k-text); background: var(--k-bg); }
.k-dialog::backdrop { background: rgb(0 0 0 / .4); }
.k-dialog__text { margin: 0 0 var(--k-space-5); white-space: pre-line; }
.k-dialog__actions { display: flex; gap: var(--k-space-3); justify-content: flex-end; flex-wrap: wrap; }

.k-menu { position: relative; display: inline-block; }
.k-menu__list { position: absolute; z-index: 30; top: calc(100% + var(--k-space-1)); right: 0; min-width: 100%;
  margin: 0; padding: var(--k-space-1) 0; list-style: none; background: var(--k-bg); border: 1px solid var(--k-border);
  border-radius: var(--k-radius-md); white-space: nowrap; }
.k-menu__label { padding: var(--k-space-2) var(--k-space-4) var(--k-space-1); font-size: var(--k-fs-xs);
  line-height: var(--k-lh-xs); color: var(--k-text-muted); }
.k-menu__item { display: block; width: 100%; padding: var(--k-space-2) var(--k-space-4); border: 0; background: none;
  font: inherit; font-size: var(--k-fs-sm); line-height: var(--k-lh-sm); color: var(--k-text); text-align: left; cursor: pointer; }
/* Jelölő a menüsorok fölött (a sorok műveletét módosítja; rákattintva a menü nyitva marad – menu.closeOnItem). */
.k-menu__check { display: flex; padding: var(--k-space-2) var(--k-space-4); margin-bottom: var(--k-space-1);
  border-bottom: 1px solid var(--k-border-light); }
.k-menu__item:hover, .k-menu__item:focus-visible { background: var(--k-primary-tint); color: var(--k-primary); outline: none; }
/* Panel-változat: a lenyíló részben űrlap (jelölők, gomb), nem menüsorok. */
.k-menu__panel { display: grid; gap: var(--k-space-3); justify-items: start; width: max-content; max-width: min(320px, 90vw);
  padding: var(--k-space-4); white-space: normal; }
.k-menu__panel[hidden] { display: none; }
.k-menu__panel .k-menu__label { padding: 0; }
.k-menu__panel .k-help { margin: 0; }

/* ---------- Navigáció ---------- */
/* Ugrás a tartalomra: billentyűzettel az első elem, csak fókuszban látszik. */
.k-skip { position: absolute; left: var(--k-space-4); top: -100px; z-index: 100; padding: var(--k-space-2) var(--k-space-4);
  background: var(--k-primary); color: var(--k-text-inverse); border-radius: var(--k-radius-sm); font-weight: 600; }
.k-skip:focus { top: var(--k-space-2); }
main[tabindex="-1"]:focus { outline: none; }
.k-breadcrumb { display: flex; align-items: center; gap: var(--k-space-2); font-size: var(--k-fs-sm); color: var(--k-text); margin: var(--k-space-5) 0; }
.k-breadcrumb a { color: var(--k-text); text-decoration: none; }
.k-breadcrumb a:hover { color: var(--k-primary); text-decoration: underline; }

/* Oldalsó navigátor (kormany.hu „Kormányzat” oldal) – interjúnézet bal oldali kérdéslistája is ez */
.k-sidenav { border-left: 1px solid var(--k-primary); display: flex; flex-direction: column; }
.k-sidenav__group { font-size: var(--k-fs-xs); font-weight: 700; color: var(--k-text-muted); text-transform: uppercase;
  letter-spacing: .04em; padding: var(--k-space-4) var(--k-space-4) var(--k-space-2); }
.k-sidenav a { display: flex; align-items: center; justify-content: space-between; gap: var(--k-space-2);
  padding: 10px var(--k-space-4); color: var(--k-text-muted); font-size: var(--k-fs-sm); font-weight: 600; text-decoration: none; }
.k-sidenav a:hover { color: var(--k-text); background: var(--k-surface-subtle); }
.k-sidenav a[aria-current="true"] { color: var(--k-text); background: var(--k-primary-tint); }

/* Szakasz-folyamatjelző (kérdőív) */
.k-steps { display: flex; gap: 6px; flex: 1; }
.k-steps__seg { height: 6px; flex: 1; border-radius: 3px; background: var(--k-border-light); }
.k-steps__seg--done { background: var(--k-primary); }
.k-steps__seg--current { background: var(--k-primary); opacity: .45; }
/* Több lépéses művelet (pl. új projekt): számozott lépések felirattal; kész = kék pipa, aktuális = kék keret. */
.k-wizard { display: flex; flex-wrap: wrap; gap: var(--k-space-2) var(--k-space-5); list-style: none; padding: 0; margin: 0 0 var(--k-space-6); counter-reset: k-wizard; }
.k-wizard__step { display: flex; align-items: center; gap: var(--k-space-2); color: var(--k-text-muted); font-size: var(--k-fs-sm); font-weight: 600; counter-increment: k-wizard; }
.k-wizard__step::before { content: counter(k-wizard); display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px;
  border-radius: 50%; border: 2px solid var(--k-border); background: var(--k-bg); color: var(--k-text-muted); flex: none; }
.k-wizard__step a { color: inherit; }
.k-wizard__step--done { color: var(--k-text); }
.k-wizard__step--done::before { content: "✓"; background: var(--k-primary); border-color: var(--k-primary); color: var(--k-text-inverse); }
.k-wizard__step--current { color: var(--k-primary); }
.k-wizard__step--current::before { border-color: var(--k-primary); color: var(--k-primary); }

/* ---------- Jelvények (státusz) ---------- */
.k-badge { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: var(--k-radius-pill);
  font-size: var(--k-fs-xs); font-weight: 600; line-height: 18px; background: var(--k-surface-strong); color: var(--k-text); white-space: nowrap; }
.k-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.k-badge--plain::before { display: none; }
.k-badge--info { background: var(--k-primary-tint); color: var(--k-primary); }
.k-badge--success { background: var(--k-success-bg); color: var(--k-success); }
.k-badge--warning { background: var(--k-warning-bg); color: var(--k-warning); }
.k-badge--danger { background: var(--k-danger-bg); color: var(--k-danger); }

/* Mentésjelző */
.k-saved { display: inline-flex; align-items: center; gap: 6px; font-size: var(--k-fs-sm); color: var(--k-text-muted); }
.k-saved--ok svg { color: var(--k-success); }
.k-saved--error { color: var(--k-danger); font-weight: 600; }

/* ---------- Táblázat (admin) ---------- */
.k-table { width: 100%; border-collapse: collapse; font-size: var(--k-fs-sm); }
.k-table th { text-align: left; font-weight: 600; color: var(--k-text); background: var(--k-surface-subtle);
  padding: 10px 12px; border-bottom: 1px solid var(--k-border); white-space: nowrap; }
.k-table td { padding: 12px; border-bottom: 1px solid var(--k-border-light); vertical-align: middle; }
.k-table tbody tr:hover { background: var(--k-surface-subtle); }
.k-table .k-num { text-align: right; font-variant-numeric: tabular-nums; }
/* Rendezhető oszlopfej: a cím link, mellette az irány (a nem rendezett oszlopnál halvány kettős nyíl). */
.k-table__sort { display: inline-flex; align-items: center; gap: 4px; color: inherit; text-decoration: none; }
.k-table__sort:hover { color: var(--k-primary); text-decoration: underline; }
.k-table__sort .icon { flex: none; color: var(--k-primary); }
.k-table th:not([aria-sort]) .k-table__sort .icon { color: var(--k-text-muted); }

/* ---------- Interjúnézet specifikus ---------- */
.k-answer-self { border-left: 3px solid var(--k-chart-self); background: var(--k-surface-subtle);
  padding: var(--k-space-3) var(--k-space-4); border-radius: 0 var(--k-radius-sm) var(--k-radius-sm) 0; }
.k-answer-self__label { font-size: var(--k-fs-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--k-warning); }
.k-discreet-off { color: var(--k-warning); background: var(--k-warning-bg); }
/* Diszkrét mód: a <body> kapja a .is-discreet osztályt, minden pontot/diagramot jelölj .k-score-ral */
.is-discreet .k-score { visibility: hidden; }

/* Csak képernyőolvasónak */
.k-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; }
