/* ============================================================================
 * MelóPont — Munkaerőpiaci elemzés (LABOR-INSIGHT-01 / -04, 2026.10.28) · előtag: mp-lbr-
 * Felület-rétegek (SURFACE-01), kártyák egymás alatt (STACK-01), minden betű a szorzóval nő (FONT-SCALE-01).
 * Állapot-szín csak a közös palettából (--mp-st-*, SIGNS-01; a szilva tilos); adatvonal = a néző szerepkör-színe.
 * LABOR-INSIGHT-04 (László): a grafikonok alatti szöveg normál, jól olvasható (nem halvány segédszöveg); modernebb kép.
 * ========================================================================== */
.mp-lbr-page { max-width: 1040px; margin: var(--mp-page-top, 24px) auto 40px; padding: 0 16px; }
/* adatvonal-színek (LABOR-COLORS-01, László: „a vonalak színei jól elkülönítettek legyenek — narancssárga, világoszöld”):
   1. vonal = a néző szerepkör-színe, 2. = narancs, 3. = világoszöld (cégnél, ahol az 1. zöld: kék). Csak adat-szín —
   állapotot nem jelöl, a lila (új esemény) és a szilva (lezárult) szándékosan nincs köztük. */
.mp-lbr { --lbr-c2: #E8590C; --lbr-c3: #37B24D; }
html[data-mp-role="company"] .mp-lbr { --lbr-c3: #1C7ED6; }
.mp-lbr { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--mp-card-gap, 16px); margin-top: 16px; }
.mp-lbr[aria-busy="true"] { opacity: .6; }
.mp-lbr [id^="lbr-"] { scroll-margin-top: 84px; }

.mp-lbr-card { min-width: 0; padding: 22px 24px; border-radius: var(--mp-card-radius, 16px); background: var(--mp-surface-1, #FFFFFF);
  border: 1px solid var(--mp-line-1, #D8DEE6); box-shadow: var(--mp-elev-1, 0 1px 2px rgba(16, 24, 40, .05)); }

/* kártya-fejléc: ikon-csempe + cím + címke */
.mp-lbr-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; min-width: 0; }
.mp-lbr-head-ic { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; border-radius: 12px;
  background: var(--mp-tint-role, color-mix(in srgb, var(--mp-role, #0A66C2) 12%, var(--mp-surface-1, #FFFFFF))); color: var(--mp-role, #0A66C2); }
.mp-lbr-h2 { flex: 1 1 220px; min-width: 0; margin: 0; font-size: calc(19px * var(--mp-fs, 1)); font-weight: 800;
  line-height: 1.3; color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
.mp-lbr-h3 { display: flex; align-items: center; gap: 8px; margin: 22px 0 8px; font-size: calc(17px * var(--mp-fs, 1)); font-weight: 800; color: var(--mp-text-primary, #1D2939); }
.mp-lbr-h3 svg { flex-shrink: 0; color: var(--mp-role, #0A66C2); }

/* szöveg: MINDEN magyarázó szöveg normál színű és méretű (László, 10.28) */
.mp-lbr-p, .mp-lbr-read, .mp-lbr-src, .mp-lbr-legend { margin: 10px 0 0; font-size: calc(15px * var(--mp-fs, 1)); line-height: 1.6; color: var(--mp-text-primary, #1D2939); }
.mp-lbr-p b, .mp-lbr-cmp-line b { font-weight: 800; }
.mp-lbr-src a, .mp-lbr-sources a, .mp-lbr-cmp-src a { color: var(--mp-role, #0A66C2); font-weight: 600; overflow-wrap: anywhere; }
.mp-lbr-read { min-height: 2.6em; padding: 10px 14px; border-radius: 12px; background: var(--mp-surface-2, #F6F8FB); border: 1px solid var(--mp-line-2, #E4E8EE); font-weight: 600; }
.mp-lbr-disc { padding-top: 14px; border-top: 1px solid var(--mp-line-2, #E4E8EE); }
.mp-lbr-key-ok { padding: 0 6px; border-radius: 6px; background: var(--mp-st-ok-bg, #E8F6EE); font-weight: 700; }
.mp-lbr-key-todo { padding: 0 6px; border-radius: 6px; background: var(--mp-st-todo-bg, #FFF4E0); font-weight: 700; }

/* címke (állapot-paletta) */
.mp-lbr-pill { display: inline-flex; align-items: center; max-width: 100%; padding: 4px 12px; border-radius: 999px; border: 1px solid;
  font-size: calc(14px * var(--mp-fs, 1)); font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.mp-lbr-pill--ok { background: var(--mp-st-ok-bg, #E8F6EE); color: var(--mp-st-ok-ink, #0B6B3A); border-color: var(--mp-st-ok-line, #A6DDBE); }
.mp-lbr-pill--todo { background: var(--mp-st-todo-bg, #FFF4E0); color: var(--mp-st-todo-ink, #8A4B00); border-color: var(--mp-st-todo-line, #F5C77A); }
.mp-lbr-pill--info { background: var(--mp-st-info-bg, #E8F1FB); color: var(--mp-st-info-ink, #0B4F94); border-color: var(--mp-st-info-line, #A9C9EE); }
.mp-lbr-pill--wait { background: var(--mp-st-wait-bg, #F2F4F7); color: var(--mp-st-wait-ink, #344054); border-color: var(--mp-st-wait-line, #D0D5DD); }

/* nyitókártya */
.mp-lbr-hero { min-width: 0; padding: 26px 26px 20px; border-radius: var(--mp-card-radius, 16px);
  background: linear-gradient(135deg, color-mix(in srgb, var(--mp-role, #0A66C2) 14%, var(--mp-surface-1, #FFFFFF)) 0%, var(--mp-surface-1, #FFFFFF) 70%);
  border: 1px solid color-mix(in srgb, var(--mp-role, #0A66C2) 30%, var(--mp-line-1, #D8DEE6)); box-shadow: var(--mp-elev-1, 0 1px 2px rgba(16, 24, 40, .05)); }
.mp-lbr-eyebrow { margin: 0; font-size: calc(14px * var(--mp-fs, 1)); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--mp-role, #0A66C2); }
.mp-lbr-hero-t { margin: 6px 0 0; font-size: calc(26px * var(--mp-fs, 1)); font-weight: 800; line-height: 1.25; color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
.mp-lbr-hero-p { margin: 10px 0 0; font-size: calc(17px * var(--mp-fs, 1)); line-height: 1.6; color: var(--mp-text-primary, #1D2939); }
.mp-lbr-chips { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mp-lbr-chips li { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; min-width: 0; padding: 6px 12px; border-radius: 999px;
  background: var(--mp-surface-1, #FFFFFF); border: 1px solid var(--mp-line-1, #D8DEE6); font-size: calc(14px * var(--mp-fs, 1)); font-weight: 600; color: var(--mp-text-primary, #1D2939); }
.mp-lbr-chips li span { min-width: 0; overflow-wrap: anywhere; }
.mp-lbr-chips svg { flex-shrink: 0; color: var(--mp-role, #0A66C2); }
.mp-lbr-nav { display: flex; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--mp-line-2, #E4E8EE); overflow-x: auto; scrollbar-width: thin; }
/* LABOR-NAV-02 (10.28, László: „mobilon a csúszka rá van tapadva a gombok aljára — legyen egy kis rés”): a görgetősáv
   a doboz alsó belső szélén rajzolódik, ezért a gombok alá belső hézag kell (érintős eszközön a sáv csak görgetéskor látszik). */
@media (max-width: 768px), (hover: none) { .mp-lbr-nav { padding-bottom: 12px; } }
/* ugró-gombok: a „btn” az osztálynévben kell — a navbar általános link-színe (0,2,1) csak a nem-gomb linkeket festi;
   a gomb színét ráadásul dupla osztállyal rögzítjük (LABOR-NAV-01, László: „az aktív gombban kék a szöveg a zöldön”) */
a.mp-lbr-navbtn.mp-lbr-navbtn { flex-shrink: 0; display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 999px; text-decoration: none;
  background: var(--mp-surface-1, #FFFFFF); color: var(--mp-role, #0A66C2); border: 1px solid color-mix(in srgb, var(--mp-role, #0A66C2) 40%, var(--mp-line-1, #D8DEE6));
  font-size: calc(15px * var(--mp-fs, 1)); font-weight: 700; white-space: nowrap; }
a.mp-lbr-navbtn.mp-lbr-navbtn.is-on, a.mp-lbr-navbtn.mp-lbr-navbtn.is-on:hover { background: var(--mp-role, #0A66C2); color: var(--mp-white, #FFFFFF); border-color: var(--mp-role, #0A66C2); }
@media (hover: hover) { a.mp-lbr-navbtn.mp-lbr-navbtn:hover { background: var(--mp-tint-role, color-mix(in srgb, var(--mp-role, #0A66C2) 12%, var(--mp-surface-1, #FFFFFF))); color: var(--mp-role, #0A66C2); } }
a.mp-lbr-navbtn.mp-lbr-navbtn:focus-visible { outline: 3px solid var(--mp-role, #0A66C2); outline-offset: 2px; }

/* „Hogyan frissül az oldal?” a nyitókártyán */
.mp-lbr-upd { margin-top: 16px; padding: 14px 16px; border-radius: 14px; background: var(--mp-surface-1, #FFFFFF); border: 1px solid var(--mp-line-1, #D8DEE6); }
.mp-lbr-upd-t { display: flex; align-items: center; gap: 8px; margin: 0; font-size: calc(16px * var(--mp-fs, 1)); font-weight: 800; color: var(--mp-text-primary, #1D2939); }
.mp-lbr-upd-t svg { flex-shrink: 0; color: var(--mp-role, #0A66C2); }
.mp-lbr-upd .mp-orb-list { margin: 10px 0 0; }
.mp-lbr-upd .mp-orb-li-d { color: var(--mp-text-primary, #1D2939); }

/* szakasz-cím a grafikonok előtt */
.mp-lbr-sec { padding: 8px 4px 0; }
.mp-lbr-sec-t { display: flex; align-items: center; gap: 10px; margin: 0; font-size: calc(21px * var(--mp-fs, 1)); font-weight: 800; color: var(--mp-text-primary, #1D2939); }
.mp-lbr-sec-t svg { color: var(--mp-role, #0A66C2); }

/* helyzetkép-csempék: egymás alatt (STACK-01), mellettük kis trendvonal */
.mp-lbr-tiles { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.mp-lbr-tile { display: flex; align-items: center; gap: 12px 16px; padding: 14px 16px; border-radius: 14px; min-width: 0;
  background: var(--mp-st-wait-bg, #F2F4F7); border: 1px solid var(--mp-st-wait-line, #D0D5DD); }
.mp-lbr-tile--ok { background: var(--mp-st-ok-bg, #E8F6EE); border-color: var(--mp-st-ok-line, #A6DDBE); }
.mp-lbr-tile--todo { background: var(--mp-st-todo-bg, #FFF4E0); border-color: var(--mp-st-todo-line, #F5C77A); }
.mp-lbr-tile-main { flex: 1 1 auto; min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; }
.mp-lbr-tile-t { flex-basis: 100%; min-width: 0; font-size: calc(15px * var(--mp-fs, 1)); font-weight: 700; color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
.mp-lbr-tile-v { font-size: calc(28px * var(--mp-fs, 1)); font-weight: 800; line-height: 1.15; color: var(--mp-text-primary, #1D2939); white-space: nowrap; }
.mp-lbr-tile-v small { font-size: calc(15px * var(--mp-fs, 1)); font-weight: 700; }
.mp-lbr-tile-d { min-width: 0; font-size: calc(15px * var(--mp-fs, 1)); font-weight: 600; color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
.mp-lbr-tile-p { flex-basis: 100%; font-size: calc(14px * var(--mp-fs, 1)); color: var(--mp-text-primary, #1D2939); }
.mp-lbr-spark { flex-shrink: 0; width: 120px; height: 36px; }
.mp-lbr-spark polyline { fill: none; stroke: var(--mp-role, #0A66C2); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.mp-lbr-spark circle { fill: var(--mp-role, #0A66C2); }

/* grafikon */
.mp-lbr-plot { margin-top: 14px; min-width: 0; }
.mp-lbr-unit { display: flex; gap: 8px; align-items: flex-start; margin: 0 0 6px; color: var(--mp-text-primary, #1D2939); font-size: calc(15px * var(--mp-fs, 1)); line-height: 1.45; overflow-wrap: anywhere; }
.mp-lbr-unit svg { flex: 0 0 auto; margin-top: 2px; color: var(--mp-role, #0A66C2); }
.mp-lbr-svg { display: block; width: 100%; height: auto; margin-top: 6px; touch-action: pan-y; overflow: visible; }
.mp-lbr-grid { stroke: var(--mp-line-2, #E4E8EE); stroke-width: 1; }
.mp-lbr-tick { stroke: var(--mp-line-2, #E4E8EE); stroke-width: 1; stroke-dasharray: 2 4; }
.mp-lbr-axis { fill: var(--mp-text-primary, #1D2939); font-family: inherit; }
.mp-lbr-area { fill: var(--mp-role, #0A66C2); opacity: .07; }
.mp-lbr-line { fill: none; stroke: var(--mp-role, #0A66C2); stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.mp-lbr-line--2 { stroke: var(--lbr-c2); stroke-width: 2.75; }
.mp-lbr-line--3 { stroke: var(--lbr-c3); stroke-width: 2.75; }
.mp-lbr-fc { fill: none; stroke: var(--mp-role, #0A66C2); stroke-width: 3; stroke-dasharray: 7 5; }
.mp-lbr-band { fill: var(--mp-role, #0A66C2); opacity: .14; }
.mp-lbr-dot { fill: var(--mp-role, #0A66C2); stroke: var(--mp-surface-1, #FFFFFF); stroke-width: 2.5; }
.mp-lbr-cursor { stroke: var(--mp-text-primary, #1D2939); stroke-width: 1; stroke-dasharray: 3 3; }
.mp-lbr-hit { fill: transparent; cursor: crosshair; }

.mp-lbr-legend { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 0; font-weight: 600; }
.mp-lbr-legend li { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.mp-lbr-key { display: inline-block; width: 24px; height: 0; border-top: 3px solid var(--mp-role, #0A66C2); flex-shrink: 0; }
.mp-lbr-key { border-top-width: 4px; border-radius: 2px; }
.mp-lbr-key--2 { border-top-color: var(--lbr-c2); }
.mp-lbr-key--3 { border-top-color: var(--lbr-c3); }
.mp-lbr-key--fc { border-top-style: dashed; height: 10px; background: color-mix(in srgb, var(--mp-role, #0A66C2) 14%, transparent); }

/* források összevetése + a heti elemzés ellentmondásai */
.mp-lbr-cmps { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.mp-lbr-cmp { min-width: 0; padding: 16px; border-radius: 14px; background: var(--mp-surface-2, #F6F8FB); border: 1px solid var(--mp-line-2, #E4E8EE); }
.mp-lbr-cmp-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
.mp-lbr-cmp-t { flex: 1 1 200px; min-width: 0; margin: 0; font-size: calc(16px * var(--mp-fs, 1)); font-weight: 800; color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
.mp-lbr-cmp-rows { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.mp-lbr-cmp-rows li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; padding: 10px 12px; border-radius: 10px; min-width: 0;
  background: var(--mp-surface-1, #FFFFFF); border: 1px solid var(--mp-line-2, #E4E8EE); }
.mp-lbr-cmp-src { flex: 1 1 160px; min-width: 0; font-size: calc(15px * var(--mp-fs, 1)); font-weight: 700; color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
.mp-lbr-cmp-v { font-size: calc(18px * var(--mp-fs, 1)); font-weight: 800; color: var(--mp-text-primary, #1D2939); white-space: nowrap; }
.mp-lbr-cmp-p { flex-basis: 100%; font-size: calc(14px * var(--mp-fs, 1)); color: var(--mp-text-primary, #1D2939); }
.mp-lbr-cmp-claim { flex-basis: 100%; min-width: 0; font-size: calc(15px * var(--mp-fs, 1)); line-height: 1.5; color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
.mp-lbr-cmp-line, .mp-lbr-cmp-why { margin: 10px 0 0; font-size: calc(15px * var(--mp-fs, 1)); line-height: 1.55; color: var(--mp-text-primary, #1D2939); }
.mp-lbr-conf { margin-top: 6px; }

/* heti elemzés */
.mp-lbr-pick { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 14px; font-size: calc(15px * var(--mp-fs, 1)); color: var(--mp-text-primary, #1D2939); }
.mp-lbr-pick select { min-height: 44px; max-width: 100%; min-width: 0; padding: 0 10px; border-radius: 10px; border: 1px solid var(--mp-line-1, #D8DEE6);
  background: var(--mp-surface-1, #FFFFFF); color: var(--mp-text-primary, #1D2939); font-size: calc(15px * var(--mp-fs, 1)); }
.mp-lbr-signals { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.mp-lbr-sig { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; border-radius: 12px; min-width: 0;
  font-size: calc(15px * var(--mp-fs, 1)); line-height: 1.5; color: var(--mp-text-primary, #1D2939);
  background: var(--mp-st-wait-bg, #F2F4F7); border: 1px solid var(--mp-st-wait-line, #D0D5DD); }
.mp-lbr-sig > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.mp-lbr-sig--ok { background: var(--mp-st-ok-bg, #E8F6EE); border-color: var(--mp-st-ok-line, #A6DDBE); }
.mp-lbr-sig--todo { background: var(--mp-st-todo-bg, #FFF4E0); border-color: var(--mp-st-todo-line, #F5C77A); }
.mp-lbr-arrow { flex-shrink: 0; width: 0; height: 0; margin-top: 6px; border-left: 7px solid transparent; border-right: 7px solid transparent; }
.mp-lbr-arrow--up { border-bottom: 10px solid var(--mp-text-primary, #1D2939); }
.mp-lbr-arrow--down { border-top: 10px solid var(--mp-text-primary, #1D2939); }
.mp-lbr-arrow--flat { width: 14px; height: 3px; margin-top: 9px; border: 0; background: var(--mp-text-primary, #1D2939); }
.mp-lbr-box { margin-top: 16px; padding: 4px 16px 14px; border-radius: 14px; background: var(--mp-surface-2, #F6F8FB); border: 1px solid var(--mp-line-2, #E4E8EE); }
.mp-lbr-srcbox { margin-top: 16px; border-radius: 14px; border: 1px solid var(--mp-line-1, #D8DEE6); background: var(--mp-surface-1, #FFFFFF); }
.mp-lbr-srcbox summary { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 16px; cursor: pointer;
  font-size: calc(16px * var(--mp-fs, 1)); font-weight: 800; color: var(--mp-text-primary, #1D2939); }
.mp-lbr-srcbox summary svg { color: var(--mp-role, #0A66C2); flex-shrink: 0; }
.mp-lbr-srcbox[open] summary { border-bottom: 1px solid var(--mp-line-2, #E4E8EE); }
.mp-lbr-srcgrp { margin: 14px 16px 4px; font-size: calc(15px * var(--mp-fs, 1)); font-weight: 800; color: var(--mp-text-primary, #1D2939); }
.mp-lbr-sources { margin: 0 16px 12px; padding-left: 22px; font-size: calc(15px * var(--mp-fs, 1)); line-height: 1.6; color: var(--mp-text-primary, #1D2939); }
.mp-lbr-host { font-size: calc(14px * var(--mp-fs, 1)); color: var(--mp-text-primary, #1D2939); }

/* kapu (kétlépcsős) */
.mp-lbr-gate { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.mp-lbr-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border-radius: 10px; border: 0; cursor: pointer;
  font: inherit; font-size: calc(15px * var(--mp-fs, 1)); font-weight: 700; text-decoration: none;
  background: var(--mp-role, #0A66C2); color: var(--mp-white, #FFFFFF); }
.mp-lbr-btn:hover { background: var(--mp-role-hover, #004182); }
.mp-lbr-btn:focus-visible, .mp-lbr-pick select:focus-visible, .mp-lbr-srcbox summary:focus-visible { outline: 3px solid var(--mp-role, #0A66C2); outline-offset: 2px; }

@media (max-width: 600px) {
  .mp-lbr-card { padding: 16px; }
  .mp-lbr-hero { padding: 20px 16px 16px; }
  .mp-lbr-hero-t { font-size: calc(22px * var(--mp-fs, 1)); }
  .mp-lbr-spark { width: 84px; }
}
@media (max-width: 380px) {
  .mp-lbr-spark { display: none; }
}

/* ── Munkaerőpiaci iránytű (LABOR-COMPASS-01, 2026.10.28, László: „szuperkártya, ami a cégeknek és a munkavállalóknak
   aranyat ér — esztétikus, igényes”). Meleg kiemelés (--mp-tint-warm): állapotot NEM jelöl, csak ezt a kártyát emeli ki
   a többi elemző kártya közül. Tartalom: js/labor-compass.js. Kártyák egymás alatt (STACK-01), minden betű a szorzóval nő. */
.mp-lbr-cp { position: relative; overflow: hidden; padding-top: 26px;
  background: linear-gradient(180deg, var(--mp-tint-warm, #FFF8EC) 0, var(--mp-surface-1, #FFFFFF) 220px);
  border-color: var(--mp-tint-warm-line, #F0DDB5); box-shadow: var(--mp-elev-2, 0 6px 20px rgba(16, 24, 40, .08)); }
.mp-lbr-cp-ic { width: 48px; height: 48px; border-radius: 14px; background: var(--mp-role, #0A66C2); color: var(--mp-white, #FFFFFF); }
.mp-lbr-cp .mp-lbr-h2 { font-size: calc(21px * var(--mp-fs, 1)); }
.mp-lbr-cp-badge { background: var(--mp-surface-1, #FFFFFF); color: var(--mp-text-primary, #1D2939); border-color: var(--mp-tint-warm-line, #F0DDB5); font-weight: 600; }

/* számok: egymás alatt, elöl a szám, mellette a magyarázat (STACK-01) */
.mp-lbr-cp-facts { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.mp-lbr-cp-facts li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; min-width: 0; padding: 14px 16px; border-radius: 14px;
  background: var(--mp-surface-1, #FFFFFF); border: 1px solid var(--mp-line-1, #D8DEE6); }
.mp-lbr-cp-fv { font-size: calc(28px * var(--mp-fs, 1)); font-weight: 800; line-height: 1.15; color: var(--mp-role, #0A66C2); white-space: nowrap; }
.mp-lbr-cp-fv small { font-size: calc(16px * var(--mp-fs, 1)); font-weight: 700; }
.mp-lbr-cp-fx { flex: 1 1 220px; min-width: 0; font-size: calc(15px * var(--mp-fs, 1)); font-weight: 600; line-height: 1.5; color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
.mp-lbr-cp-fs { flex-basis: 100%; font-size: calc(14px * var(--mp-fs, 1)); color: var(--mp-text-primary, #1D2939); }

/* fülek: két egyforma gomb, a választott a néző szerepkör-színével */
.mp-lbr-cp-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 22px; padding: 6px; border-radius: 16px;
  background: var(--mp-surface-2, #F6F8FB); border: 1px solid var(--mp-line-1, #D8DEE6); }
.mp-lbr-cp-tab { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; min-height: 48px; padding: 6px 12px; border: 0; border-radius: 12px;
  background: transparent; color: var(--mp-text-primary, #1D2939); font: inherit; font-size: calc(16px * var(--mp-fs, 1)); font-weight: 700; cursor: pointer; }
.mp-lbr-cp-tab span { min-width: 0; }
.mp-lbr-cp-tab svg { flex-shrink: 0; }
.mp-lbr-cp-tab.is-on { background: var(--mp-role, #0A66C2); color: var(--mp-white, #FFFFFF); box-shadow: var(--mp-elev-1, 0 1px 2px rgba(16, 24, 40, .05)); }
@media (hover: hover) { .mp-lbr-cp-tab:not(.is-on):hover { background: var(--mp-surface-1, #FFFFFF); } }
.mp-lbr-cp-tab:focus-visible { outline: 3px solid var(--mp-role, #0A66C2); outline-offset: 2px; }
.mp-lbr-cp-panel { padding-top: 4px; }

/* bővítő ágazatok */
.mp-lbr-cp-sec { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.mp-lbr-cp-sec li { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 12px; min-width: 0; padding: 10px 14px; border-radius: 12px;
  background: var(--mp-st-ok-bg, #E8F6EE); border: 1px solid var(--mp-st-ok-line, #A6DDBE); }
.mp-lbr-cp-sec-t { min-width: 0; font-size: calc(15px * var(--mp-fs, 1)); font-weight: 700; color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
.mp-lbr-cp-sec-d { min-width: 0; font-size: calc(14px * var(--mp-fs, 1)); font-weight: 600; color: var(--mp-st-ok-ink, #0B6B3A); overflow-wrap: anywhere; }
.mp-lbr-cp-src { margin: 8px 0 0; font-size: calc(14px * var(--mp-fs, 1)); line-height: 1.5; color: var(--mp-text-primary, #1D2939); font-style: italic; }

/* hiányszakmák: csoportok, a szakma kapszula = keresés a MelóPonton */
.mp-lbr-cp-groups { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 10px; }
.mp-lbr-cp-grp { min-width: 0; padding: 12px 14px; border-radius: 14px; background: var(--mp-surface-2, #F6F8FB); border: 1px solid var(--mp-line-2, #E4E8EE); }
.mp-lbr-cp-grp-t { display: flex; align-items: center; gap: 8px; margin: 0; font-size: calc(15px * var(--mp-fs, 1)); font-weight: 800; color: var(--mp-text-primary, #1D2939); }
.mp-lbr-cp-grp-t svg { flex-shrink: 0; color: var(--mp-role, #0A66C2); }
.mp-lbr-cp-chips { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mp-lbr-cp-chips li { max-width: 100%; min-width: 0; }
.mp-lbr-cp-chips a { display: inline-flex; align-items: center; max-width: 100%; min-height: 40px; padding: 6px 14px; border-radius: 999px; text-decoration: none;
  background: var(--mp-surface-1, #FFFFFF); color: var(--mp-role, #0A66C2); border: 1px solid color-mix(in srgb, var(--mp-role, #0A66C2) 35%, var(--mp-line-1, #D8DEE6));
  font-size: calc(15px * var(--mp-fs, 1)); font-weight: 700; overflow-wrap: anywhere; }
@media (hover: hover) { .mp-lbr-cp-chips a:hover { background: var(--mp-tint-role, color-mix(in srgb, var(--mp-role, #0A66C2) 12%, var(--mp-surface-1, #FFFFFF))); } }
.mp-lbr-cp-chips a:focus-visible { outline: 3px solid var(--mp-role, #0A66C2); outline-offset: 2px; }

/* jövőálló iparágak */
.mp-lbr-cp-future { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.mp-lbr-cp-future li { display: flex; align-items: flex-start; gap: 12px; min-width: 0; padding: 14px; border-radius: 14px;
  background: var(--mp-surface-1, #FFFFFF); border: 1px solid var(--mp-line-1, #D8DEE6); }
.mp-lbr-cp-future li > div { min-width: 0; }
.mp-lbr-cp-fic { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; border-radius: 12px;
  background: var(--mp-tint-role, color-mix(in srgb, var(--mp-role, #0A66C2) 12%, var(--mp-surface-1, #FFFFFF))); color: var(--mp-role, #0A66C2); }
.mp-lbr-cp-ft { margin: 0; font-size: calc(16px * var(--mp-fs, 1)); font-weight: 800; color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
.mp-lbr-cp-fd { margin: 4px 0 0; font-size: calc(15px * var(--mp-fs, 1)); line-height: 1.55; color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }

/* „Kezdd el most” — egy oszlop, egyformán keretes sorok (PRIMARY-ONE-01: nincs teli fő gomb) */
.mp-lbr-cp-acts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 10px; }
a.mp-lbr-cp-act.mp-lbr-cp-act { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 14px; border-radius: 12px; text-decoration: none;
  background: var(--mp-surface-1, #FFFFFF); color: var(--mp-role, #0A66C2); border: 1px solid color-mix(in srgb, var(--mp-role, #0A66C2) 40%, var(--mp-line-1, #D8DEE6));
  font-size: calc(16px * var(--mp-fs, 1)); font-weight: 700; }
a.mp-lbr-cp-act span { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
a.mp-lbr-cp-act svg { flex-shrink: 0; }
@media (hover: hover) { a.mp-lbr-cp-act.mp-lbr-cp-act:hover { background: var(--mp-tint-role, color-mix(in srgb, var(--mp-role, #0A66C2) 12%, var(--mp-surface-1, #FFFFFF))); } }
a.mp-lbr-cp-act:focus-visible { outline: 3px solid var(--mp-role, #0A66C2); outline-offset: 2px; }

@media (max-width: 600px) {
  .mp-lbr-cp-ic { width: 42px; height: 42px; }
  .mp-lbr-cp .mp-lbr-h2 { font-size: calc(19px * var(--mp-fs, 1)); }
  .mp-lbr-cp-fv { font-size: calc(24px * var(--mp-fs, 1)); }
}
/* keskeny képernyőn és nagy betűnél a két fül egymás alá kerül — a „Munkavállalóknak” szó ne törjön ketté */
.mp-lbr-cp-tab span { overflow-wrap: normal; }
@media (max-width: 520px) { .mp-lbr-cp-tabs { grid-template-columns: minmax(0, 1fr); } }
html[data-mp-fs="1.3"] .mp-lbr-cp-tabs, html[data-mp-fs="1.5"] .mp-lbr-cp-tabs { grid-template-columns: minmax(0, 1fr); }
/* telefonon az ágazat neve és a jelzés mindig egymás alatt (egyforma sorok) */
@media (max-width: 600px) { .mp-lbr-cp-sec li { flex-direction: column; align-items: flex-start; justify-content: flex-start; } }

/* LABOR-HU-01 + LABOR-COMPASS-02 (10.28): „Magyarország” jelölés, külföldi hatások, frissítési rend */
.mp-lbr-cp-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.mp-lbr-cp-hu-pill { gap: 6px; background: var(--mp-role, #0A66C2); color: var(--mp-white, #FFFFFF); border-color: var(--mp-role, #0A66C2); }
.mp-lbr-cp-hu-pill svg { flex-shrink: 0; }
.mp-lbr-cp-k { font-weight: 800; }
.mp-lbr-cp-abroad .mp-lbr-cp-fd + .mp-lbr-cp-fd { margin-top: 8px; }
.mp-lbr-cp-hu { padding: 8px 12px; border-radius: 10px; background: var(--mp-tint-role, color-mix(in srgb, var(--mp-role, #0A66C2) 10%, var(--mp-surface-1, #FFFFFF))); }
.mp-lbr-cp-abroad .mp-lbr-cp-src { margin-top: 8px; }
.mp-lbr-cp-src a { color: var(--mp-role, #0A66C2); font-weight: 600; font-style: normal; overflow-wrap: anywhere; }
.mp-lbr-cp-upd .mp-orb-list { margin-top: 6px; }

/* LABOR-PUBLIC-01 (10.28): nyilvános előnézet — zárt rész jelzése a heti elemzés kártyáján */
.mp-lbr-lock { background: var(--mp-tint-warm, #FFF6E8); border-color: var(--mp-tint-warm-line, #F3DDB4); }
.mp-lbr-lock .mp-lbr-lock-t { margin-top: 0; }
.mp-lbr-lock .mp-orb-list { margin: 8px 0 12px; }
.mp-lbr-lock-acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
a.mp-lbr-btn.mp-lbr-btn--ghost { background: var(--mp-surface-1, #FFFFFF); color: var(--mp-role, #0A66C2); border: 2px solid var(--mp-role, #0A66C2); }
a.mp-lbr-btn.mp-lbr-btn--ghost:hover { background: var(--mp-surface-2, #F6F8FB); color: var(--mp-role-hover, #004182); }
@media (max-width: 600px) { .mp-lbr-lock-acts > * { flex: 1 1 100%; } }

/* ── Magyarország és az EU — gazdasági kártya (LABOR-EU-01, 2026.11.01) ─────────────────────────────────────── */
/* Viszonyítási vonal a grafikonon (pl. −3 %-os uniós hiányhatár) — js/labor-insight.js chart() refs */
.mp-lbr-ref { stroke: var(--mp-text-primary, #1D2939); stroke-width: 1.5; stroke-dasharray: 6 5; opacity: .55; }
.mp-lbr-key--ref { border-top: 2px dashed var(--mp-text-primary, #1D2939); border-radius: 0; opacity: .7; }

/* Összkép: négy gömb a következtetések darabszámával (gömbös megjelenítés, nem sávdiagram) */
.mp-lbr-eu-bal { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.mp-lbr-eu-orb { display: inline-flex; align-items: center; gap: 10px; min-width: 0; padding: 6px 14px 6px 6px; border-radius: 999px;
  background: var(--mp-surface-2, #F6F8FB); border: 1px solid var(--mp-line-2, #E4E8EE); font-size: calc(15px * var(--mp-fs, 1)); font-weight: 700; color: var(--mp-text-primary, #1D2939); }
.mp-lbr-eu-orb b { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: calc(40px * var(--mp-fs, 1)); height: calc(40px * var(--mp-fs, 1));
  border-radius: 50%; font-size: calc(19px * var(--mp-fs, 1)); font-weight: 800; border: 2px solid; }
.mp-lbr-eu-orb--ok b { background: var(--mp-st-ok-bg, #E8F6EE); color: var(--mp-st-ok-ink, #0B6B3A); border-color: var(--mp-st-ok-line, #A6DDBE); }
.mp-lbr-eu-orb--todo b { background: var(--mp-st-todo-bg, #FFF4E0); color: var(--mp-st-todo-ink, #8A4B00); border-color: var(--mp-st-todo-line, #F5C77A); }
.mp-lbr-eu-orb--wait b { background: var(--mp-st-wait-bg, #F2F4F7); color: var(--mp-st-wait-ink, #344054); border-color: var(--mp-st-wait-line, #D0D5DD); }
.mp-lbr-eu-orb--info b { background: var(--mp-st-info-bg, #E8F1FB); color: var(--mp-st-info-ink, #0B4F94); border-color: var(--mp-st-info-line, #A9C9EE); }

/* Magyarország ↔ EU összevető sorok */
.mp-lbr-eu-kpis { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.mp-lbr-eu-kpi { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) auto; align-items: center; gap: 8px 14px; min-width: 0;
  padding: 12px 14px; border-radius: 12px; background: var(--mp-surface-2, #F6F8FB); border: 1px solid var(--mp-line-2, #E4E8EE); }
.mp-lbr-eu-kpi-t { display: flex; flex-direction: column; min-width: 0; font-size: calc(15px * var(--mp-fs, 1)); font-weight: 700; color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
.mp-lbr-eu-kpi-t small { font-size: calc(14px * var(--mp-fs, 1)); font-weight: 500; }
.mp-lbr-eu-kpi-v { display: flex; flex-direction: column; min-width: 0; }
.mp-lbr-eu-kpi-v b { font-size: calc(20px * var(--mp-fs, 1)); font-weight: 800; line-height: 1.2; color: var(--mp-role, #0A66C2); white-space: nowrap; }
.mp-lbr-eu-kpi-v--b b { color: var(--lbr-c2); }
.mp-lbr-eu-kpi-v span { font-size: calc(14px * var(--mp-fs, 1)); color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
@media (max-width: 720px) {
  .mp-lbr-eu-kpi { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .mp-lbr-eu-kpi-t { grid-column: 1 / -1; }
  .mp-lbr-eu-kpi .mp-lbr-pill { grid-column: 1 / -1; justify-self: start; }
}
html[data-mp-fs="1.3"] .mp-lbr-eu-kpi, html[data-mp-fs="1.5"] .mp-lbr-eu-kpi { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
html[data-mp-fs="1.3"] .mp-lbr-eu-kpi-t, html[data-mp-fs="1.5"] .mp-lbr-eu-kpi-t,
html[data-mp-fs="1.3"] .mp-lbr-eu-kpi .mp-lbr-pill, html[data-mp-fs="1.5"] .mp-lbr-eu-kpi .mp-lbr-pill { grid-column: 1 / -1; justify-self: start; }

/* Következtetések (közös gömbös kártya-lista) */
.mp-lbr-eu-cons { margin-top: 12px; }
.mp-lbr-eu-cons .mp-orb-li-d { color: var(--mp-text-primary, #1D2939); line-height: 1.55; }
.mp-lbr-eu-cons .mp-lbr-pill { margin-right: 6px; vertical-align: baseline; }
.mp-lbr-eu-job { display: block; margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--mp-line-2, #E4E8EE); }

/* Ábrák */
.mp-lbr-eu-fig { margin: 14px 0 0; padding: 16px; min-width: 0; border-radius: 14px; background: var(--mp-surface-1, #FFFFFF); border: 1px solid var(--mp-line-1, #D8DEE6); }
.mp-lbr-eu-fig-t { margin: 0; font-size: calc(16px * var(--mp-fs, 1)); font-weight: 800; color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
.mp-lbr-eu-fig figcaption .mp-lbr-p { margin-top: 6px; }

/* Felzárkózás „súlyzó” ábra: üres gömb = első év, teli = legutóbbi, szaggatott függőleges = EU-átlag */
.mp-lbr-eu-db { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
.mp-lbr-eu-db li { display: grid; grid-template-columns: minmax(0, 9em) minmax(0, 1fr) minmax(0, 9em); align-items: center; gap: 6px 12px; min-width: 0;
  padding: 8px 10px; border-radius: 10px; }
.mp-lbr-eu-db li.is-hu { background: var(--mp-tint-role, var(--mp-surface-2, #F6F8FB)); border: 1px solid var(--mp-line-2, #E4E8EE); }
.mp-lbr-eu-db-n { min-width: 0; font-size: calc(15px * var(--mp-fs, 1)); font-weight: 700; color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
.mp-lbr-eu-db-v { min-width: 0; font-size: calc(14px * var(--mp-fs, 1)); color: var(--mp-text-primary, #1D2939); overflow-wrap: anywhere; }
.mp-lbr-eu-db-v b { font-size: calc(18px * var(--mp-fs, 1)); font-weight: 800; }
.mp-lbr-eu-db-tr { position: relative; display: block; height: 28px; min-width: 0; }
.mp-lbr-eu-db-tr::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px solid var(--mp-line-1, #D8DEE6); }
.mp-lbr-eu-db-tr::after { content: ""; position: absolute; left: var(--eu); top: 0; bottom: 0; border-left: 2px dashed var(--mp-text-primary, #1D2939); opacity: .5; }
.mp-lbr-eu-db-bar { position: absolute; top: calc(50% - 2px); height: 4px; left: var(--lo); right: calc(100% - var(--hi)); border-radius: 2px;
  background: color-mix(in srgb, var(--mp-role, #0A66C2) 35%, transparent); }
.mp-lbr-eu-db-o0, .mp-lbr-eu-db-o1 { position: absolute; top: 50%; width: 16px; height: 16px; border-radius: 50%; transform: translate(-50%, -50%); z-index: 1; }
.mp-lbr-eu-db-o0 { left: var(--a); background: var(--mp-surface-1, #FFFFFF); border: 2.5px solid var(--mp-role, #0A66C2); }
.mp-lbr-eu-db-o1 { left: var(--b); background: var(--mp-role, #0A66C2); border: 2.5px solid var(--mp-surface-1, #FFFFFF); box-shadow: 0 0 0 1px var(--mp-role, #0A66C2); }
.mp-lbr-eu-db li.is-hu .mp-lbr-eu-db-o1 { width: 20px; height: 20px; }
.mp-lbr-eu-lg { display: inline-block; flex-shrink: 0; width: 14px; height: 14px; border-radius: 50%; border: 2.5px solid var(--mp-role, #0A66C2); background: var(--mp-surface-1, #FFFFFF); }
.mp-lbr-eu-lg--o1 { background: var(--mp-role, #0A66C2); }
@media (max-width: 600px) {
  .mp-lbr-eu-db li { grid-template-columns: minmax(0, 1fr) auto; }
  .mp-lbr-eu-db-tr { grid-column: 1 / -1; grid-row: 2; }
}
html[data-mp-fs="1.3"] .mp-lbr-eu-db li, html[data-mp-fs="1.5"] .mp-lbr-eu-db li { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
html[data-mp-fs="1.3"] .mp-lbr-eu-db-tr, html[data-mp-fs="1.5"] .mp-lbr-eu-db-tr { grid-column: 1 / -1; grid-row: 2; }
