/* Coaja comună a paginilor fără sidebar (landing + Despre/manuale):
   bară sus, subsol instituțional, bara PNRR, ferestre-ilustrație (hartă/dosar), pastile.
   Sursa inițială: <style> din landing.html; legată cu static_v din ambele baze. */

    /* ───────────────────────── bază ───────────────────────── */
    :root {
      --lh-ink: #102845;
      --lh-soft: rgba(22, 50, 79, 0.72);
      --lh-line: rgba(0, 72, 144, 0.1);
      --lh-band: #f3f7fc;
      --lh-paper: #fbfcfe;
      --lh-bar: 2rem;
      --rnc-toast-bottom: calc(var(--lh-bar) + 0.75rem + env(safe-area-inset-bottom, 0px));
      --rnc-bara-jos: calc(var(--lh-bar) + 0.5rem + env(safe-area-inset-bottom, 0px));
    }
    body.lh-body { background: var(--lh-paper); padding-bottom: calc(var(--lh-bar) + env(safe-area-inset-bottom, 0px)); }
    body.lh-body::before { display: none; }
    body.lh-body > header { padding: 0 !important; }
    body.lh-body > header::before { display: none; }
    .lh-main { padding-inline: 0; }
    .lh-wrap { width: min(100%, 1180px); margin-inline: auto; padding-inline: clamp(1rem, 4vw, 3.5rem); }
    .lh-ic { width: 1.125rem; height: 1.125rem; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
    .lh-h2 { font-size: clamp(1.5rem, 2.4vw, 1.85rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.15; color: var(--lh-ink); margin: 0 0 1rem; text-wrap: balance; }
    .lh-lead { color: var(--lh-soft); line-height: 1.6; margin: 0; }
    .lh-ico { width: 3rem; height: 3rem; border-radius: 14px; background: rgba(var(--rnc-primary-rgb), 0.08); color: var(--rnc-primary); display: grid; place-items: center; flex: 0 0 auto; }
    .lh-ico .lh-ic { width: 1.5rem; height: 1.5rem; }
    .lh-pill { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 2.75rem; padding: 0.6rem 1.15rem; border-radius: 999px; border: 1px solid rgba(var(--rnc-primary-rgb), 0.14); background: rgba(255, 255, 255, 0.72); color: var(--rnc-text); font-size: 0.92rem; font-weight: 700; text-decoration: none; white-space: nowrap; transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease; }
    .lh-pill:hover, .lh-pill:focus-visible { color: var(--rnc-primary); transform: translateY(-1px); box-shadow: 0 14px 28px rgba(8, 37, 73, 0.1); }
    .lh-pill--primary { background: var(--rnc-primary); border-color: var(--rnc-primary); color: #fff; box-shadow: 0 14px 26px rgba(0, 72, 144, 0.22); }
    .lh-pill--primary:hover, .lh-pill--primary:focus-visible { color: #fff; filter: brightness(1.05); }
    .lh-pill:focus-visible { outline: 2px solid var(--rnc-primary); outline-offset: 2px; }
    .lh-ex { display: inline-block; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #a8660c; background: #fbefd3; padding: 0.15rem 0.5rem; border-radius: 999px; vertical-align: middle; }

    /* ───────────────────────── bara de sus ───────────────────────── */
    .lh-top { background: rgba(251, 252, 254, 0.9); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--lh-line); }
    .lh-top__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 4.25rem; flex-wrap: wrap; }
    /* min-height pe brand, nu doar pe container: rândul cu sigla rămâne la aceeași înălțime și când meniul strâns se deschide sub el. */
    .lh-brand { display: inline-flex; align-items: center; gap: 0.7rem; min-height: 4.25rem; color: var(--lh-ink); text-decoration: none; font-weight: 800; font-size: 0.95rem; letter-spacing: -0.01em; min-width: 0; }
    /* Numele pe DOUĂ rânduri peste tot, „Registrul Național / Digital al Clădirilor" (cerut 21 sept):
       pe un rând era doar când bara avea loc (acasă, pe desktop), iar pe telefon se rupea după „al".
       Lățimea e în `em`, ca ruperea să cadă la fel și când fontul scade (logat: 0.86rem). */
    .lh-brand__name { max-width: 10em; line-height: 1.2; text-wrap: balance; }
    .lh-brand__mark { width: 2.25rem; height: 2.25rem; border-radius: 10px; overflow: hidden; flex: 0 0 auto; background: linear-gradient(145deg, rgba(var(--rnc-primary-rgb), 0.98), rgba(3, 37, 77, 0.9)); padding: 0.15rem; line-height: 0; }
    .lh-brand__mark img { width: 100%; height: 100%; object-fit: contain; }
    .lh-brand:hover { color: var(--rnc-primary); }
    .lh-top__toggle { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 12px; border: 1px solid rgba(var(--rnc-primary-rgb), 0.14); background: rgba(255, 255, 255, 0.7); color: var(--lh-ink); cursor: pointer; }
    .lh-top__toggle:focus-visible { outline: 2px solid var(--rnc-primary); outline-offset: 2px; }
    .lh-nav { display: flex; align-items: center; gap: 0.35rem; }
    .lh-nav__link { display: inline-flex; align-items: center; min-height: 2.5rem; padding: 0.45rem 0.8rem; border-radius: 999px; color: var(--rnc-text); font-size: 0.86rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
    .lh-nav__link:hover, .lh-nav__link:focus-visible { color: var(--rnc-primary); background: rgba(var(--rnc-primary-rgb), 0.06); }
    .lh-nav__link:focus-visible { outline: 2px solid var(--rnc-primary); outline-offset: 2px; }
    .lh-nav__link--btn { border: 0; background: transparent; cursor: pointer; font-family: inherit; line-height: inherit; text-align: left; gap: 0.4rem; }
    /* Meniul radial (z-index 1100 în theme.css) trebuie să acopere și bara de sus, și bara PNRR (tot 1100). */
    body.lh-body .pasaport-radial-flyout { z-index: 1300; }
    .lh-nav__link--btn[aria-expanded="true"] { color: var(--rnc-primary); background: rgba(var(--rnc-primary-rgb), 0.06); }
    /* Portalul e intrarea principală în suită: pastilă plină, ca să se vadă din prima.
       Ținută strânsă — cu cerc în jurul iconiței și săgeată, bara trecea pe două rânduri. */
    .lh-nav__portal { gap: 0.4rem; min-height: 2.4rem; padding: 0.35rem 0.85rem; margin-right: 0.25rem;
      border-radius: 999px; background: linear-gradient(140deg, var(--rnc-primary), var(--rnc-primary-deep));
      color: #fff; font-size: 0.86rem; font-weight: 800; letter-spacing: -0.01em; white-space: nowrap;
      box-shadow: 0 6px 16px rgba(0, 72, 144, 0.24);
      transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease; }
    .lh-nav__portal-ico { width: 1rem; height: 1rem; flex: 0 0 auto; stroke-width: 2; }
    .lh-nav__portal:hover, .lh-nav__portal:focus-visible, .lh-nav__portal[aria-expanded="true"] {
      color: #fff; background: linear-gradient(140deg, var(--rnc-primary), var(--rnc-primary-deep));
      filter: brightness(1.1); transform: translateY(-1px); box-shadow: 0 10px 22px rgba(0, 72, 144, 0.3); }
    .lh-nav__portal:focus-visible { outline: 2px solid var(--rnc-accent); outline-offset: 2px; }
    @media (prefers-reduced-motion: reduce) {
      .lh-nav__portal { transition: none; }
      .lh-nav__portal:hover, .lh-nav__portal:focus-visible, .lh-nav__portal[aria-expanded="true"] { transform: none; }
    }
    .lh-nav__lang { margin-inline: 0.35rem; }
    .lh-nav__lang .rnc-lang { gap: 2px; padding: 3px; border-radius: 999px; background: rgba(15, 23, 42, 0.05); border: 1px solid rgba(15, 23, 42, 0.08); }
    .lh-nav__lang .rnc-lang__opt { min-height: 2rem; padding: 0 0.55rem; border-radius: 999px; font-size: 0.76rem; font-weight: 800; gap: 6px; }
    .lh-nav__lang .rnc-lang__flag { width: 20px; height: 15px; }
    .lh-nav__login { display: inline-flex; align-items: center; min-height: 2.5rem; padding: 0.45rem 1.1rem; border-radius: 999px; background: var(--rnc-primary); color: #fff; font-size: 0.86rem; font-weight: 700; text-decoration: none; white-space: nowrap; box-shadow: 0 10px 20px rgba(0, 72, 144, 0.18); }
    .lh-nav__login:hover, .lh-nav__login:focus-visible { color: #fff; filter: brightness(1.06); }
    /* contul (logat): clopoțel + pastilă cu avatar, separate fin de linkuri */
    .lh-account { display: flex; align-items: center; gap: 0.5rem; margin-left: 0.35rem; padding-left: 0.85rem; border-left: 1px solid var(--lh-line); }
    .lh-bell, .lh-user { cursor: pointer; font: inherit; color: var(--rnc-text); border: 1px solid rgba(var(--rnc-primary-rgb), 0.14); background: rgba(255, 255, 255, 0.7); transition: background-color 0.15s ease, border-color 0.15s ease; }
    .lh-bell:hover, .lh-user:hover, .lh-bell[aria-expanded="true"], .lh-user[aria-expanded="true"] { background: rgba(var(--rnc-primary-rgb), 0.08); border-color: rgba(var(--rnc-primary-rgb), 0.2); color: var(--rnc-primary); }
    .lh-bell:focus-visible, .lh-user:focus-visible { outline: 2px solid var(--rnc-primary); outline-offset: 2px; }
    .lh-bell { position: relative; display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 999px; padding: 0; }
    .lh-bell .lh-ic { width: 1.2rem; height: 1.2rem; }
    .lh-bell__badge { position: absolute; top: -0.3rem; right: -0.3rem; min-width: 1.2rem; height: 1.2rem; padding: 0 0.3rem; border-radius: 999px; background: #d6a436; color: #fff; font-size: 0.66rem; font-weight: 800; line-height: 1; display: grid; place-items: center; box-shadow: 0 0 0 2px var(--lh-paper); }
    .lh-user { display: inline-flex; align-items: center; gap: 0.55rem; min-height: 2.5rem; padding: 0.2rem 0.65rem 0.2rem 0.2rem; border-radius: 999px; }
    .lh-user__avatar { width: 2rem; height: 2rem; border-radius: 50%; background: var(--rnc-primary); color: #fff; font-weight: 800; font-size: 0.85rem; display: grid; place-items: center; flex: 0 0 auto; }
    .lh-user__text { display: grid; gap: 0.05rem; text-align: left; line-height: 1.15; min-width: 0; }
    .lh-user__name { font-size: 0.84rem; font-weight: 700; max-width: 10rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .lh-user__meta { font-size: 0.66rem; font-weight: 600; color: var(--lh-soft); white-space: nowrap; }
    .lh-user__chev { width: 0.95rem; height: 0.95rem; opacity: 0.6; }
    .lh-account .dropdown-menu { border-radius: 14px; border: 1px solid var(--lh-line); box-shadow: 0 20px 40px rgba(8, 37, 73, 0.14); margin-top: 0.4rem; }
    .lh-account .notification-menu__header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.75rem 1rem; border-bottom: 1px solid var(--lh-line); font-size: 0.85rem; }
    .lh-account .notification-menu__list { max-height: 18rem; overflow: auto; font-size: 0.85rem; }
    .lh-account .notification-menu__footer { padding: 0.6rem 1rem; border-top: 1px solid var(--lh-line); font-size: 0.85rem; }

    @media (max-width: 991.98px) {
      .lh-nav { width: 100%; flex-direction: column; align-items: stretch; gap: 0.25rem; padding: 0.6rem 0 1rem; border-top: 1px solid var(--lh-line); }
      .lh-nav__link { min-height: 2.75rem; border-radius: 12px; }
      .lh-nav__link--btn { width: 100%; justify-content: flex-start; }
      /* Pe telefon meniul e o coloană: pastila se întinde ca celelalte linkuri. */
      .lh-nav__portal { margin: 0.15rem 0 0.5rem; padding: 0.5rem 1rem; border-radius: 12px; }
      /* RO/EN și butoanele de cont rămân la mărimea lor, aliniate cu textul linkurilor, nu întinse pe toată lățimea. */
      .lh-nav__lang { align-self: flex-start; margin: 0.35rem 0 0.35rem 0.8rem; }
      .lh-nav__lang .rnc-lang__opt { flex: 0 0 auto; }
      .lh-nav__login { align-self: flex-start; margin: 0.35rem 0 0 0.8rem; }
      .lh-account { margin: 0.35rem 0 0; padding: 0.75rem 0 0 0.8rem; border-left: 0; border-top: 1px solid var(--lh-line); }
      .lh-user { flex: 0 1 auto; max-width: 100%; }
      .lh-user__name { max-width: 14rem; }
      .lh-brand__name { font-size: 0.86rem; }
    }
    @media (min-width: 992px) {
      /* Pe desktop totul stă pe UN rând: fără wrap, meniul își păstrează lățimea, iar
         numele site-ului se rupe pe două rânduri când nu are loc (logat, sub ~1200 px),
         în loc să împingă tot meniul pe rândul de dedesubt. */
      .lh-top__inner { flex-wrap: nowrap; }
      .lh-nav { flex: 0 0 auto; }
      .lh-brand { flex: 0 1 auto; }
      .lh-brand__name { line-height: 1.2; text-wrap: balance; }
      /* Nimic din meniu nu se strânge: altfel cedează primul selectorul RO/EN (ajungea la 8 px). */
      .lh-nav > * { flex-shrink: 0; }
      .lh-nav__lang .rnc-lang__opt { flex: 0 0 auto; }
      /* Logat, bara are Resurse + clopoțel + cont: numele site-ului pe font mai mic și
         numele utilizatorului trunchiat mai devreme, ca sigla să stea pe cel mult 2 rânduri. */
      .lh-top__inner:has(.lh-account) .lh-brand__name { font-size: 0.86rem; }
      .lh-user__name { max-width: 8rem; }
      /* Loc pentru bulina cu etichetă: RO/EN doar cu steagurile (textul rămâne în title și
         aria), linkuri și separatorul contului puțin mai strânse. */
      .lh-nav__lang .rnc-lang__code { display: none; }
      .lh-nav__lang .rnc-lang__opt { padding-inline: 0.45rem; }
      .lh-nav__link { padding-inline: 0.6rem; }
      .lh-account { margin-left: 0.2rem; padding-left: 0.6rem; }
      .lh-top__toggle { display: none; }
      /* Bootstrap ascunde `.collapse:not(.show)` la orice lățime; pe desktop meniul e mereu vizibil. */
      .lh-nav.collapse:not(.show) { display: flex; }
    }

    /* ───────────────────────── hero ───────────────────────── */
    .lh-hero { padding: clamp(3rem, 8vw, 4.75rem) 0 clamp(2.5rem, 6vw, 4rem); display: grid; justify-items: center; text-align: center; gap: 1.25rem; }
    .lh-hero__eyebrow { margin: 0; font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 800; color: var(--rnc-primary); }
    .lh-hero__title { margin: 0; font-size: clamp(2.35rem, 6.2vw, 4.75rem); font-weight: 800; letter-spacing: -0.045em; line-height: 0.98; color: var(--lh-ink); max-width: 14ch; text-wrap: balance; }
    .lh-hero__lead { margin: 0; font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.6; color: var(--lh-soft); max-width: 40rem; }
    .lh-search-form { width: 100%; max-width: 45rem; margin-top: 0.25rem; }
    .lh-search { display: flex; align-items: center; gap: 0.75rem; width: 100%; padding: 0.5rem 0.5rem 0.5rem 1.25rem; border-radius: 999px; border: 1px solid rgba(var(--rnc-primary-rgb), 0.12); background: #fff; box-shadow: 0 1px 0 rgba(var(--rnc-primary-rgb), 0.12), 0 24px 48px rgba(8, 37, 73, 0.08); transition: border-color 0.2s ease, box-shadow 0.2s ease; }
    .lh-search:focus-within { border-color: rgba(var(--rnc-primary-rgb), 0.28); box-shadow: 0 0 0 5px rgba(var(--rnc-primary-rgb), 0.08), 0 28px 56px rgba(8, 37, 73, 0.12); }
    .lh-search__input { flex: 1 1 auto; min-width: 0; border: 0; background: transparent; color: var(--rnc-text); font-size: 1.05rem; font-weight: 700; line-height: 1.4; padding: 0.55rem 0; }
    .lh-search__input::placeholder { color: rgba(22, 50, 79, 0.48); font-weight: 600; }
    .lh-search__input:focus { outline: none; }
    .lh-search__submit { width: 3rem; height: 3rem; flex: 0 0 auto; display: inline-grid; place-items: center; border: 0; border-radius: 50%; color: #fff; background: linear-gradient(135deg, rgba(var(--rnc-primary-rgb), 0.98), rgba(3, 37, 77, 0.88)); box-shadow: 0 14px 26px rgba(0, 72, 144, 0.22); cursor: pointer; transition: transform 0.2s ease, filter 0.2s ease; }
    .lh-search__submit:hover, .lh-search__submit:focus-visible { transform: translateY(-1px) scale(1.03); filter: brightness(1.05); }
    .lh-search__submit:focus-visible { outline: 2px solid var(--rnc-primary); outline-offset: 2px; }
    /* Sugestiile barei de căutare (aceleași grupuri ca bara hărții din referențial). */
    .lh-search-field { position: relative; }
    .lh-suggest { position: absolute; top: calc(100% + 0.4rem); left: 0; right: 0; z-index: 30; margin: 0; padding: 0.35rem; list-style: none; max-height: min(24rem, 60vh); overflow-y: auto; text-align: left; background: #fff; border: 1px solid rgba(var(--rnc-primary-rgb), 0.14); border-radius: 18px; box-shadow: 0 24px 48px rgba(8, 37, 73, 0.16); }
    .lh-suggest__group { padding: 0.6rem 0.75rem 0.25rem; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--lh-soft); }
    .lh-suggest__item { display: grid; gap: 0.1rem; padding: 0.55rem 0.75rem; border-radius: 12px; cursor: pointer; }
    .lh-suggest__item:hover, .lh-suggest__item.is-active { background: rgba(var(--rnc-primary-rgb), 0.07); }
    .lh-suggest__label { font-size: 0.92rem; font-weight: 700; line-height: 1.35; color: var(--lh-ink); overflow-wrap: anywhere; }
    .lh-suggest__meta { font-size: 0.78rem; line-height: 1.4; color: var(--lh-soft); overflow-wrap: anywhere; }
    .lh-search__feedback { min-height: 1.4rem; margin: 0.35rem 0 0; color: #b42318; font-size: 0.9rem; font-weight: 600; line-height: 1.4; }
    .lh-hero__hint { margin: 0; font-size: 0.92rem; color: var(--lh-soft); }
    .lh-hero__hint a { color: var(--rnc-primary); font-weight: 700; text-decoration: none; }
    .lh-hero__hint a:hover { text-decoration: underline; text-underline-offset: 3px; }
    .lh-logos { display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 3vw, 1.6rem); flex-wrap: wrap; margin-top: 0.75rem; opacity: 0.92; }
    .lh-logos img { height: 2.25rem; width: auto; max-width: 100%; display: block; object-fit: contain; }
    @media (max-width: 575.98px) { .lh-logos img { height: 1.6rem; } }

    /* ───────────────────────── beneficii ───────────────────────── */
    .lh-section { padding: clamp(2.25rem, 5vw, 3.5rem) 0; }
    .lh-section--band { background: var(--lh-band); }
    .lh-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--lh-line); border-left: 1px solid var(--lh-line); }
    .lh-benefit { display: grid; grid-template-columns: 3rem 1fr; gap: 1.1rem; align-items: start; padding: clamp(1.25rem, 2.5vw, 1.9rem) clamp(1.1rem, 2.5vw, 2rem) clamp(1.25rem, 2.5vw, 1.9rem) clamp(1rem, 2.5vw, 1.8rem); border-right: 1px solid var(--lh-line); border-bottom: 1px solid var(--lh-line); }
    .lh-benefit h3 { margin: 0; font-size: clamp(1.1rem, 1.6vw, 1.3rem); font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; color: var(--lh-ink); }
    .lh-benefit p { margin: 0.4rem 0 0; font-size: 0.92rem; color: var(--lh-soft); line-height: 1.55; }
    @media (max-width: 767.98px) { .lh-benefits { grid-template-columns: 1fr; } .lh-benefit { grid-template-columns: 2.5rem 1fr; gap: 0.85rem; } .lh-benefit .lh-ico { width: 2.5rem; height: 2.5rem; border-radius: 11px; } .lh-benefit .lh-ico .lh-ic { width: 1.25rem; height: 1.25rem; } }

    /* ───────────────────────── ferestre ilustrative ───────────────────────── */
    .lh-intro { display: grid; justify-items: center; text-align: center; gap: 0.6rem; margin-bottom: 1.75rem; }
    .lh-intro .lh-lead { max-width: 36rem; }
    /* Fereastra e o grilă cu o singură coloană: bara pe rândul 1, iar harta și panoul împart rândul 2.
       Rândul ia înălțimea celui mai înalt dintre ele, deci panoul (mai lung în engleză) nu iese niciodată din fereastră. */
    .lh-win { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); border-radius: 16px; background: #fff; border: 1px solid rgba(var(--rnc-primary-rgb), 0.14); box-shadow: 0 30px 70px rgba(8, 37, 73, 0.14); overflow: hidden; }
    .lh-win .lh-pill, .lh-step__card .lh-pill { pointer-events: none; } /* schiță: butoanele sunt desen, nu acțiuni */
    .lh-win__bar { grid-column: 1; grid-row: 1; display: flex; align-items: center; gap: 0.6rem; padding: 0.55rem 0.9rem; border-bottom: 1px solid rgba(var(--rnc-primary-rgb), 0.08); background: #f7f9fc; font-size: 0.74rem; color: var(--lh-soft); }
    .lh-win__dots { display: flex; gap: 5px; }
    .lh-win__dots i { width: 9px; height: 9px; border-radius: 50%; background: rgba(var(--rnc-primary-rgb), 0.14); display: block; }
    .lh-win__url { margin-inline: auto; padding: 0.2rem 0.85rem; border-radius: 999px; background: #fff; border: 1px solid rgba(var(--rnc-primary-rgb), 0.1); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 70%; }
    /* harta */
    .lh-map { grid-column: 1; grid-row: 2; position: relative; min-height: clamp(17rem, 44vw, 32.5rem); overflow: hidden; background-color: #e6edf6; background-image: linear-gradient(rgba(var(--rnc-primary-rgb), 0.09) 1.5px, transparent 1.5px), linear-gradient(90deg, rgba(var(--rnc-primary-rgb), 0.09) 1.5px, transparent 1.5px); background-size: 72px 72px; }
    .lh-map__svg { position: absolute; inset: 0; width: 100%; height: 100%; }
    .lh-map__svg .st { stroke: #fff; stroke-width: 10; fill: none; opacity: 0.9; }
    .lh-map__svg .st2 { stroke: #fff; stroke-width: 5; fill: none; opacity: 0.9; }
    .lh-map__svg .fp { fill: rgba(var(--rnc-primary-rgb), 0.13); stroke: rgba(var(--rnc-primary-rgb), 0.22); stroke-width: 1; }
    .lh-map__svg .sel { fill: rgba(var(--rnc-primary-rgb), 0.55); stroke: var(--rnc-primary); stroke-width: 2; }
    .lh-map__svg .sel-halo { fill: rgba(var(--rnc-primary-rgb), 0.14); }
    .lh-map__svg .pin { fill: var(--rnc-primary); stroke: #fff; stroke-width: 2; }
    .lh-map__svg .pin-halo { fill: rgba(var(--rnc-primary-rgb), 0.18); }
    .lh-map__float { position: absolute; z-index: 2; display: flex; align-items: center; gap: 0.65rem; padding: 0.5rem 0.5rem 0.5rem 1rem; border-radius: 999px; background: rgba(255, 255, 255, 0.78); border: 1px solid rgba(255, 255, 255, 0.6); backdrop-filter: blur(14px); box-shadow: 0 16px 32px rgba(8, 37, 73, 0.1); font-size: 0.82rem; font-weight: 600; color: rgba(22, 50, 79, 0.55); }
    .lh-map__float--search { left: 1.5rem; top: 1.5rem; width: min(20rem, calc(100% - 3rem)); }
    .lh-map__float--search .go { margin-left: auto; width: 2rem; height: 2rem; border-radius: 50%; background: var(--rnc-primary); color: #fff; display: grid; place-items: center; }
    .lh-map__float--legend { left: 1.5rem; bottom: 1.5rem; border-radius: 12px; gap: 1rem; padding: 0.6rem 0.9rem; font-size: 0.78rem; font-weight: 700; color: var(--rnc-text); }
    .lh-map__float--legend span { display: inline-flex; align-items: center; gap: 0.4rem; }
    .lh-map__float--legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; background: rgba(var(--rnc-primary-rgb), 0.25); }
    .lh-map__float--legend i.sel { background: rgba(var(--rnc-primary-rgb), 0.6); }
    .lh-map__float--layers { right: 1.5rem; bottom: 1.5rem; padding: 0.25rem; gap: 0; font-size: 0.72rem; font-weight: 700; }
    .lh-map__float--layers span { padding: 0.3rem 0.75rem; border-radius: 999px; color: rgba(22, 50, 79, 0.6); }
    .lh-map__float--layers span.on { background: var(--rnc-primary); color: #fff; }
    /* panoul clădirii (ca în referențial) */
    .lh-panel { grid-column: 1; grid-row: 2; justify-self: end; align-self: start; position: relative; z-index: 2; margin: 2.5rem 2.25rem 2.5rem 0; width: min(24rem, calc(100% - 4.5rem)); border-radius: 18px; background: #fff; border: 1px solid rgba(var(--rnc-primary-rgb), 0.12); box-shadow: 0 30px 60px rgba(8, 37, 73, 0.18); padding: 1rem 1.1rem; display: grid; gap: 0.6rem; font-size: 0.8rem; color: var(--rnc-text); text-align: left; }
    .lh-panel__h { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; font-weight: 800; color: var(--rnc-primary); }
    .lh-panel__tabs { display: flex; flex-wrap: wrap; gap: 0.15rem; border-bottom: 1px solid var(--lh-line); font-size: 0.74rem; font-weight: 700; color: rgba(22, 50, 79, 0.55); }
    .lh-panel__tabs span { padding: 0.35rem 0.5rem; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
    .lh-panel__tabs span.on { color: var(--rnc-primary); border-bottom-color: var(--rnc-primary); }
    .lh-panel__adr { font-size: 1.15rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.2; color: var(--lh-ink); margin-top: 0.2rem; }
    .lh-panel__sub { font-size: 0.78rem; color: var(--lh-soft); margin-top: -0.35rem; }
    .lh-panel__kv { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem 0.9rem; margin: 0.2rem 0 0; }
    .lh-panel__kv dt { color: rgba(22, 50, 79, 0.55); font-weight: 700; font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.08em; }
    .lh-panel__kv dd { margin: 0.1rem 0 0; font-weight: 700; font-size: 0.82rem; }
    .lh-panel__ev { border-radius: 12px; background: #f7f9fc; border: 1px solid rgba(var(--rnc-primary-rgb), 0.08); padding: 0.6rem 0.75rem; display: grid; gap: 0.5rem; }
    .lh-panel__ev-h { margin: 0; font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 800; color: var(--rnc-primary); }
    .lh-panel__row { display: flex; justify-content: space-between; align-items: center; gap: 0.6rem; }
    .lh-panel__row b { font-size: 0.82rem; }
    .lh-panel__row .meta { color: rgba(22, 50, 79, 0.55); font-size: 0.7rem; display: block; }
    .lh-panel__act { display: flex; gap: 0.5rem; flex-wrap: wrap; }
    .lh-panel__act .lh-pill { min-height: 2.25rem; padding: 0.35rem 0.85rem; font-size: 0.8rem; }
    .lh-epc { display: flex; gap: 3px; width: 9.5rem; max-width: 100%; }
    .lh-epc span { flex: 1; height: 1.1rem; border-radius: 4px; display: grid; place-items: center; font-size: 0.62rem; font-weight: 800; color: #fff; opacity: 0.3; }
    .lh-epc .d, .lh-epc .e { color: #3a2d00; }
    .lh-epc .ap { background: #007a3d; } .lh-epc .a { background: #00a651; } .lh-epc .b { background: #4cb848; } .lh-epc .c { background: #bfd730; } .lh-epc .d { background: #fff200; } .lh-epc .e { background: #fdb913; } .lh-epc .f { background: #f37021; } .lh-epc .g { background: #ed1c24; }
    .lh-epc span.on { opacity: 1; outline: 2px solid var(--lh-ink); outline-offset: 1px; }
    .lh-epc--big { width: 100%; gap: 4px; }
    .lh-epc--big span { height: 1.6rem; font-size: 0.74rem; border-radius: 6px; }
    /* Sub 992 px harta e prea scundă ca panoul să încapă peste ea: panoul coboară sub hartă, în flux. */
    @media (max-width: 991.98px) {
      .lh-map__float--legend, .lh-map__float--layers { display: none; }
      .lh-panel { grid-row: 3; justify-self: stretch; position: static; width: auto; margin: 0.9rem; box-shadow: 0 14px 30px rgba(8, 37, 73, 0.1); }
      .lh-panel__kv { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 400px) {
      .lh-panel { margin: 0.6rem; padding: 0.85rem 0.9rem; }
      .lh-panel__tabs { font-size: 0.7rem; }
      .lh-panel__tabs span { padding: 0.3rem 0.45rem; }
    }

    /* dosarul */
    .lh-dosar-section { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: clamp(1.5rem, 4vw, 2.75rem); align-items: center; }
    .lh-dosar-text { display: grid; gap: 0.75rem; }
    .lh-dosar-text .lh-h2 { margin: 0; }
    .lh-domains { list-style: none; margin: 0.4rem 0 0; padding: 0; display: grid; gap: 0.7rem; }
    .lh-domains li { display: grid; grid-template-columns: 2.25rem 1fr; gap: 0.75rem; align-items: start; font-size: 0.9rem; color: var(--lh-soft); }
    .lh-domains li b { display: block; color: var(--rnc-text); }
    .lh-domains .lh-ico { width: 2.25rem; height: 2.25rem; border-radius: 10px; }
    .lh-domains .lh-ico .lh-ic { width: 1.15rem; height: 1.15rem; }
    .lh-dos { display: grid; grid-template-columns: 10.75rem 1fr; background: var(--lh-band); font-size: 0.76rem; color: var(--rnc-text); }
    .lh-dos__rail { background: rgba(255, 255, 255, 0.7); border-right: 1px solid rgba(var(--rnc-primary-rgb), 0.08); padding: 0.85rem 0.7rem; }
    .lh-dos__g { font-size: 0.62rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 800; color: rgba(22, 50, 79, 0.5); margin: 0.75rem 0.6rem 0.35rem; }
    .lh-dos__g:first-child { margin-top: 0; }
    .lh-dos__it { padding: 0.4rem 0.6rem; border-radius: 8px; font-weight: 600; }
    .lh-dos__it.on { background: rgba(var(--rnc-primary-rgb), 0.1); color: var(--rnc-primary); }
    .lh-dos__main { padding: 0.9rem 1rem; display: grid; gap: 0.7rem; align-content: start; min-width: 0; }
    .lh-dos__card { border-radius: 14px; background: #fff; border: 1px solid rgba(var(--rnc-primary-rgb), 0.1); padding: 0.75rem 0.9rem; }
    .lh-dos__h { margin: 0 0 0.45rem; font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 800; color: var(--rnc-primary); }
    .lh-dos__adr { font-size: 1.05rem; font-weight: 800; letter-spacing: -0.02em; color: var(--lh-ink); display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
    .lh-dos__kv { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem 0.9rem; margin: 0.5rem 0 0; }
    .lh-dos__kv dt { color: rgba(22, 50, 79, 0.55); font-weight: 700; font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.08em; }
    .lh-dos__kv dd { margin: 0.1rem 0 0; font-weight: 700; }
    .lh-dos__tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
    .lh-dos__tile { border-radius: 12px; background: #f7f9fc; border: 1px solid rgba(var(--rnc-primary-rgb), 0.08); padding: 0.6rem 0.75rem; color: var(--lh-soft); }
    .lh-dos__tile b { display: block; font-size: 1.05rem; letter-spacing: -0.02em; color: var(--rnc-text); margin-bottom: 0.1rem; }
    .lh-dos__doc { display: flex; align-items: center; gap: 0.6rem; padding: 0.5rem 0; border-top: 1px solid rgba(var(--rnc-primary-rgb), 0.08); }
    .lh-dos__doc:first-of-type { border-top: 0; }
    .lh-dos__doc .meta { color: rgba(22, 50, 79, 0.55); font-size: 0.7rem; }
    .lh-dos__doc .lh-pill { margin-left: auto; min-height: 1.9rem; padding: 0.2rem 0.65rem; font-size: 0.72rem; }
    @media (max-width: 991.98px) { .lh-dosar-section { grid-template-columns: 1fr; } }
    @media (max-width: 575.98px) { .lh-dos { grid-template-columns: 1fr; } .lh-dos__rail { display: none; } .lh-dos__kv { grid-template-columns: 1fr 1fr; } .lh-dos__doc .meta { display: none; } }
    @media (max-width: 400px) { .lh-dos__tiles { grid-template-columns: 1fr; } }

    /* ───────────────────────── pași ───────────────────────── */
    .lh-steps { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
    .lh-steps::before { content: ""; position: absolute; left: 16.66%; right: 16.66%; top: 1.25rem; height: 2px; background: linear-gradient(90deg, rgba(var(--rnc-primary-rgb), 0.35), rgba(var(--rnc-primary-rgb), 0.12)); }
    /* Subgrid: numărul, textul și cardul stau pe aceleași trei rânduri în toate coloanele,
       deci cardurile pornesc de la același nivel și au aceeași înălțime, oricât e textul. */
    .lh-step { position: relative; display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0.85rem; justify-items: center; text-align: center; }
    .lh-step__num { width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--rnc-primary); color: #fff; font-weight: 800; display: grid; place-items: center; font-size: 0.95rem; box-shadow: 0 0 0 6px var(--lh-paper); }
    .lh-step__text b { display: block; font-size: 1rem; color: var(--lh-ink); }
    .lh-step__text p { margin: 0.2rem 0 0; font-size: 0.86rem; color: var(--lh-soft); line-height: 1.5; max-width: 30ch; }
    .lh-step__card { align-self: stretch; width: 100%; max-width: 18.5rem; border-radius: 14px; background: #fff; border: 1px solid rgba(var(--rnc-primary-rgb), 0.12); box-shadow: 0 12px 30px rgba(2, 36, 72, 0.08); padding: 0.75rem; text-align: left; font-size: 0.76rem; display: grid; gap: 0.5rem; align-content: start; }
    .lh-step__card .lh-search { padding: 0.3rem 0.3rem 0.3rem 0.75rem; box-shadow: none; }
    .lh-step__card .lh-search__input { font-size: 0.78rem; padding: 0.3rem 0; }
    .lh-step__card .lh-search__submit { width: 1.9rem; height: 1.9rem; box-shadow: none; }
    .lh-step__card .lh-search__submit .lh-ic { width: 0.9rem; height: 0.9rem; }
    .lh-step__card .muted { color: var(--lh-soft); }
    .lh-step__card .muted b { color: var(--rnc-primary); }
    .lh-step__card .nis { font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; font-size: 0.66rem; background: rgba(var(--rnc-primary-rgb), 0.08); padding: 0.15rem 0.4rem; border-radius: 5px; }
    .lh-step__card .chips { display: flex; gap: 0.35rem; flex-wrap: wrap; }
    .lh-step__card .chip { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.25rem 0.5rem; border-radius: 999px; background: rgba(255, 255, 255, 0.7); border: 1px solid rgba(var(--rnc-primary-rgb), 0.1); font-size: 0.68rem; font-weight: 700; }
    .lh-step__card .chip .lh-ic { width: 0.8rem; height: 0.8rem; }
    .lh-step__card .bell { position: relative; width: 2.1rem; height: 2.1rem; border-radius: 10px; display: grid; place-items: center; background: rgba(var(--rnc-primary-rgb), 0.08); color: var(--rnc-primary); flex: 0 0 auto; }
    .lh-step__card .bell i { position: absolute; top: 0.35rem; right: 0.35rem; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: #d6a436; }
    .lh-step__card .lh-pill { min-height: 2rem; padding: 0.3rem 0.8rem; font-size: 0.76rem; justify-self: start; }
    @media (max-width: 767.98px) {
      .lh-steps { grid-template-columns: 1fr; gap: 1.75rem; }
      .lh-steps::before { display: none; }
      .lh-step { grid-row: auto; grid-template-rows: auto auto auto; }
      .lh-step__card { max-width: 22rem; }
    }

    /* ───────────────────────── întrebări ───────────────────────── */
    .lh-faq { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; font-size: 0.92rem; }
    .lh-faq b { display: block; margin-bottom: 0.25rem; color: var(--lh-ink); }
    .lh-faq span { color: var(--lh-soft); }
    @media (max-width: 767.98px) { .lh-faq { grid-template-columns: 1fr; gap: 1rem; } }

    /* ───────────────────────── uși ───────────────────────── */
    .lh-doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
    .lh-door { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; min-height: 15.5rem; border-radius: 22px; padding: 1.4rem; overflow: hidden; color: var(--rnc-text); }
    .lh-door h3 { margin: 0.75rem 0 0; font-size: 1.35rem; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; color: var(--lh-ink); }
    .lh-door p { margin: 0.4rem 0 0; font-size: 0.85rem; line-height: 1.5; color: var(--lh-soft); }
    /* `overflow: visible` + `z-index`: lista de sugestii iese din card. `backdrop-filter` face
       din card un context de stivuire, deci fără z-index lista ar rămâne sub cardul hărții. */
    .lh-door--search { background: rgba(255, 255, 255, 0.68); border: 1px solid rgba(255, 255, 255, 0.6); box-shadow: 0 20px 50px rgba(8, 37, 73, 0.1); backdrop-filter: blur(18px); overflow: visible; z-index: 2; }
    .lh-door--search .lh-search { padding: 0.35rem 0.35rem 0.35rem 0.9rem; box-shadow: none; }
    .lh-door--search .lh-search__input { font-size: 0.9rem; padding: 0.35rem 0; }
    .lh-door--search .lh-search__submit { width: 2.4rem; height: 2.4rem; }
    .lh-door--map { background: #e6edf6; border: 1px solid rgba(var(--rnc-primary-rgb), 0.12); text-decoration: none; }
    .lh-door--map .lh-map { position: absolute; inset: 0; height: auto; min-height: 0; opacity: 0.9; }
    .lh-door--map .lh-map::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(230, 237, 246, 0) 30%, rgba(230, 237, 246, 0.95) 100%); }
    .lh-door--map > * { position: relative; }
    .lh-door--map .lh-ico { background: #fff; }
    .lh-door--map .lh-pill { align-self: flex-start; }
    .lh-door--map:hover h3, .lh-door--map:focus-visible h3 { color: var(--rnc-primary); }
    .lh-door--pro { background: linear-gradient(160deg, var(--rnc-primary), var(--rnc-primary-deep)); color: #fff; }
    .lh-door--pro h3 { color: #fff; }
    .lh-door--pro p { color: rgba(255, 255, 255, 0.78); }
    .lh-door--pro .lh-ico { background: rgba(255, 255, 255, 0.12); color: #fff; }
    .lh-door--pro .lh-door__actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
    .lh-door--pro .lh-pill { min-height: 2.4rem; padding: 0.45rem 0.9rem; font-size: 0.82rem; background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.3); color: #fff; }
    .lh-door--pro .lh-pill--light { background: #fff; border-color: #fff; color: var(--rnc-primary); }
    .lh-door--pro .lh-pill:hover { color: #fff; }
    .lh-door--pro .lh-pill--light:hover { color: var(--rnc-primary); }
    @media (max-width: 991.98px) { .lh-doors { grid-template-columns: 1fr; } .lh-door { min-height: 0; } }

    /* ───────────────────────── subsol ───────────────────────── */
    .lh-footer { background: var(--lh-band); border-top: 1px solid var(--lh-line); padding: clamp(2rem, 4vw, 3rem) 0 2rem; color: var(--lh-soft); font-size: 0.86rem; }
    .lh-footer__top { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem 2.5rem; flex-wrap: wrap; padding-bottom: 1.5rem; border-bottom: 1px solid var(--lh-line); }
    .lh-footer__logos { display: flex; align-items: center; gap: clamp(1rem, 3vw, 2rem); flex-wrap: wrap; }
    .lh-footer__logos img { height: 2.6rem; width: auto; max-width: 100%; display: block; object-fit: contain; }
    .lh-footer__pnrr { margin: 0; max-width: 34rem; line-height: 1.5; }
    .lh-footer__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr); gap: 2rem 3rem; padding: 1.75rem 0; }
    .lh-footer__identity { display: flex; gap: 0.85rem; align-items: flex-start; }
    .lh-footer__identity .lh-brand__mark { width: 2.5rem; height: 2.5rem; border-radius: 10px; }
    .lh-footer__identity b { display: block; color: var(--lh-ink); font-size: 0.95rem; }
    .lh-footer__identity span { display: block; margin-top: 0.15rem; }
    .lh-footer__identity a { display: inline-block; margin-top: 0.4rem; color: var(--rnc-primary); font-weight: 700; text-decoration: none; }
    .lh-footer__identity a:hover { text-decoration: underline; text-underline-offset: 3px; }
    .lh-footer__col { display: grid; gap: 0.4rem; align-content: start; justify-items: start; }
    .lh-footer__col b { color: var(--lh-ink); font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.25rem; }
    .lh-footer__col a { color: var(--rnc-text); font-weight: 600; text-decoration: none; }
    .lh-footer__col a:hover { color: var(--rnc-primary); text-decoration: underline; text-underline-offset: 3px; }
    .lh-footer__col a.lh-footer__report { color: #a8660c; }
    .lh-footer__legal { display: flex; justify-content: space-between; gap: 0.5rem 2rem; flex-wrap: wrap; padding-top: 1.25rem; border-top: 1px solid var(--lh-line); font-size: 0.78rem; }
    .lh-footer__legal p { margin: 0; max-width: 60ch; }
    @media (max-width: 767.98px) {
      .lh-footer__grid { grid-template-columns: 1fr; gap: 1.5rem; }
      .lh-footer__logos img { height: 2rem; }
      .lh-footer__legal { flex-direction: column; }
    }

    /* ───────────────────────── bara legală PNRR (fixă jos) ───────────────────────── */
    .pnrr-legal { position: fixed; bottom: 0; left: 0; right: 0; z-index: 1100; height: var(--lh-bar); background: rgba(0, 40, 110, 0.93); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-top: 1px solid rgba(255, 204, 0, 0.2); color: #fff; font-size: 0.7rem; display: flex; align-items: center; padding-inline: 0.9rem; overflow: hidden; }
    .pnrr-legal p { margin: 0; }
    .pnrr-legal__tagline { flex: 1 1 auto; min-width: 0; font-size: 0.7rem; font-weight: 600; color: rgba(255, 255, 255, 0.9); letter-spacing: 0.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .pnrr-legal__sep { flex-shrink: 0; padding-inline: 0.5rem; opacity: 0.28; font-size: 0.8rem; }
    .pnrr-legal__link { flex-shrink: 0; color: rgba(255, 255, 255, 0.78); text-decoration: none; font-size: 0.7rem; white-space: nowrap; transition: color 0.15s ease; }
    .pnrr-legal__link:hover, .pnrr-legal__link:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
    .pnrr-legal__link--fb { display: inline-flex; align-items: center; gap: 0.3rem; color: rgba(255, 210, 80, 0.9); }
    .pnrr-legal__link--fb:hover, .pnrr-legal__link--fb:focus-visible { color: #ffcc00; }
    @media (max-width: 575.98px) {
      .pnrr-legal { font-size: 0.64rem; padding-inline: 0.6rem; }
      .pnrr-legal__tagline { font-size: 0.64rem; }
      .pnrr-legal__link { font-size: 0.64rem; }
      .pnrr-legal__sep { padding-inline: 0.35rem; }
      .pnrr-legal__fb-text { display: none; }
    }
    @media (prefers-reduced-motion: reduce) { .lh-pill, .lh-search__submit { transition: none; } }
  
/* ───────── linkul activ + dropdown-ul „Resurse" din bara de sus ───────── */
.lh-nav__link.is-active { color: var(--rnc-primary); background: rgba(var(--rnc-primary-rgb), 0.07); }
.lh-res__chev { width: 0.9rem; height: 0.9rem; opacity: 0.6; transition: transform 0.15s ease; }
.lh-nav__link--btn[aria-expanded="true"] .lh-res__chev { transform: rotate(180deg); }
.lh-res__menu { min-width: 16.5rem; padding: 0.4rem; border-radius: 14px; border: 1px solid var(--lh-line); box-shadow: 0 20px 40px rgba(8, 37, 73, 0.14); margin-top: 0.4rem; }
.lh-res__item { display: flex; align-items: center; gap: 0.65rem; padding: 0.55rem 0.7rem; border-radius: 9px; font-size: 0.88rem; font-weight: 600; color: var(--rnc-text); }
.lh-res__item .lh-ic { width: 1rem; height: 1rem; color: var(--rnc-primary); flex: 0 0 auto; }
.lh-res__item:hover, .lh-res__item:focus { background: rgba(var(--rnc-primary-rgb), 0.08); color: var(--rnc-primary); }
.lh-res__soon { margin-left: auto; font-size: 0.6rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #7a5000; background: #fbefd3; padding: 0.1rem 0.45rem; border-radius: 999px; }
@media (max-width: 991.98px) {
  /* În meniul strâns, dropdown-ul se desfășoară în flux, nu plutind peste rândurile de sub el. */
  .lh-nav .lh-res__menu { position: static; width: 100%; box-shadow: none; border: 0; background: rgba(var(--rnc-primary-rgb), 0.04); margin: 0.15rem 0 0.4rem; }
}

/* ───────────────────────── starea sistemului ─────────────────────────
   O singură bulină (nu semafor), în 4 culori: verde, galben, roșu și albastru
   pentru mentenanța în curs. Lângă ea stă mereu eticheta sau un simbol. */
.lh-stare { --st: #2fb573; --st-halo: rgba(47, 181, 115, 0.18); display: inline-flex; align-items: center; gap: 0.5rem; min-height: 2.4rem; padding: 0.3rem 0.85rem 0.3rem 0.7rem; margin-right: 0.15rem; border-radius: 999px; border: 1px solid rgba(22, 130, 90, 0.2); color: #1e6b4b; font-size: 0.82rem; font-weight: 700; text-decoration: none; white-space: nowrap; transition: box-shadow 0.15s ease; }
.lh-stare.is-galben { --st: #efa51b; --st-halo: rgba(239, 165, 27, 0.22); color: #6e4700; background: #fbefd3; border-color: #ebcb86; }
.lh-stare.is-rosu { --st: #e0453b; --st-halo: rgba(224, 69, 59, 0.2); color: #8c1d16; background: #fbe4e2; border-color: #efb1ab; }
.lh-stare.is-albastru { --st: #2f7bd8; --st-halo: rgba(47, 123, 216, 0.2); color: #0c3a70; background: #e3edf9; border-color: #b9cfea; }
.lh-stare__bul { width: 0.62rem; height: 0.62rem; flex: 0 0 auto; border-radius: 50%; background: var(--st); box-shadow: 0 0 0 3px var(--st-halo); display: grid; place-items: center; color: #fff; }
.lh-stare__bul svg { width: 0.72rem; height: 0.72rem; fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.lh-stare:hover, .lh-stare:focus-visible { color: inherit; box-shadow: 0 0 0 3px rgba(var(--rnc-primary-rgb), 0.12); }
.lh-stare.is-verde:hover { color: #1e6b4b; }
.lh-stare:hover .lh-stare__lbl { text-decoration: underline; text-underline-offset: 2px; }
.lh-stare:focus-visible { outline: 2px solid var(--rnc-primary); outline-offset: 2px; }
.lh-stare--mob { display: none; }
.lh-stare--nav .lh-stare__bul svg { display: none; }
/* Între 992 și 1199 px, logat, nu încape tot pe un rând: pastila contului rămâne doar
   cu avatarul (numele și cronometrul sesiunii rămân în DOM, doar ascunse). */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .lh-brand__name { font-size: 0.86rem; }
  .lh-user__text { display: none; }
  .lh-user { padding-right: 0.45rem; }
}
@media (max-width: 991.98px) {
  .lh-stare--nav { display: none; }
  /* Pe telefon: pătrat lângă butonul de meniu, doar bulina cu simbol. */
  .lh-stare--mob { display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border-radius: 12px; margin-left: auto; margin-right: -0.5rem; }
  /* Cu bulina lângă meniu, numele lung nu mai încape pe un rând: se rupe în două,
     în loc să împingă butonul de meniu pe rândul următor (containerul face wrap). */
  .lh-top__inner:has(.lh-stare--mob) .lh-brand { flex: 1 1 0; }
  .lh-stare--mob.is-verde { border-color: transparent; }
  .lh-stare--mob .lh-stare__bul { width: 1.25rem; height: 1.25rem; box-shadow: none; }
}

.lh-stare-bn { --bn-ton: #efa51b; border-bottom: 1px solid; font-size: 0.88rem; line-height: 1.45; }
.lh-stare-bn[hidden] { display: none; }
.lh-stare-bn.is-galben { --bn-ton: #efa51b; --bn-tint: rgba(239, 165, 27, 0.35); background: #fbefd3; color: #5e3d00; border-color: #ebcb86; }
.lh-stare-bn.is-rosu { --bn-ton: #e0453b; --bn-tint: rgba(224, 69, 59, 0.3); background: #fbe4e2; color: #7a1812; border-color: #efb1ab; }
.lh-stare-bn.is-albastru, .lh-stare-bn.is-anunt { --bn-ton: #2f7bd8; --bn-tint: rgba(47, 123, 216, 0.3); background: #e3edf9; color: #0c3a70; border-color: #b9cfea; }
.lh-stare-bn__inner { display: flex; align-items: center; gap: 0.8rem; padding-block: 0.65rem; }
/* Iconița = bulina de stare: cerc plin, simbol alb, halou discret. */
.lh-stare-bn__ico { width: 1.6rem; height: 1.6rem; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--bn-ton); box-shadow: 0 0 0 4px var(--bn-tint); align-self: flex-start; margin-top: 0.1rem; }
.lh-stare-bn__ico svg { width: 0.95rem; height: 0.95rem; fill: none; stroke: currentColor; stroke-width: 2.8; stroke-linecap: round; stroke-linejoin: round; }
.lh-stare-bn__body { flex: 1 1 auto; min-width: 0; }
.lh-stare-bn__body b { font-weight: 800; }
.lh-stare-bn__meta { font-size: 0.76rem; opacity: 0.85; margin-top: 0.1rem; }
.lh-stare-bn__act { display: flex; align-items: center; gap: 0.4rem; flex: 0 0 auto; }
/* „Detalii” = pastilă albă cu săgeată; „×” = buton rotund care prinde fundal la hover. */
.lh-stare-bn__det { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 2.1rem; padding: 0.3rem 0.8rem 0.3rem 0.95rem; border-radius: 999px; border: 1px solid var(--bn-tint); background: rgba(255, 255, 255, 0.72); color: inherit; font-size: 0.8rem; font-weight: 700; text-decoration: none; white-space: nowrap; box-shadow: 0 1px 2px rgba(8, 37, 73, 0.06); transition: background-color 0.15s ease, box-shadow 0.15s ease; }
.lh-stare-bn__det:hover { color: inherit; background: #fff; box-shadow: 0 4px 12px rgba(8, 37, 73, 0.1); }
.lh-stare-bn__det svg { width: 0.85rem; height: 0.85rem; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.15s ease; }
.lh-stare-bn__det:hover svg { transform: translateX(2px); }
.lh-stare-bn__more { display: none; margin-left: 0.25rem; color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.lh-stare-bn__x { width: 2.1rem; height: 2.1rem; display: grid; place-items: center; border: 1px solid transparent; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; transition: background-color 0.15s ease, border-color 0.15s ease; }
.lh-stare-bn__x:hover { background: rgba(255, 255, 255, 0.72); border-color: var(--bn-tint); }
.lh-stare-bn__x svg { width: 0.8rem; height: 0.8rem; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; }
@media (prefers-reduced-motion: reduce) { .lh-stare-bn__det svg, .lh-stare-bn__det, .lh-stare-bn__x { transition: none; } .lh-stare-bn__det:hover svg { transform: none; } }
.lh-stare-bn a:focus-visible, .lh-stare-bn__x:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
@media (max-width: 575.98px) {
  /* Pe telefon bannerul rămâne scurt: fără rândul cu ora, „Detalii” intră în text. */
  .lh-stare-bn { font-size: 0.82rem; }
  .lh-stare-bn__inner { padding-block: 0.55rem; gap: 0.6rem; }
  .lh-stare-bn__ico { width: 1.35rem; height: 1.35rem; box-shadow: 0 0 0 3px var(--bn-tint); }
  .lh-stare-bn__ico svg { width: 0.8rem; height: 0.8rem; }
  .lh-stare-bn__meta, .lh-stare-bn__det { display: none; }
  .lh-stare-bn__more { display: inline; }
}

/* Căutarea oprită (roșu sau mentenanță la referențial). */
.lh-search:has(.lh-search__input:disabled) { background: #eef1f5; box-shadow: none; border-style: dashed; }
.lh-search__input:disabled { cursor: not-allowed; }
.lh-search__submit:disabled { background: #a3b0bf; box-shadow: none; cursor: not-allowed; transform: none; filter: none; }
.lh-hero__hint.is-oprit { color: #8c1d16; font-weight: 600; }

/* ── pagina „Starea sistemului” ── */
.lh-st { padding-block: clamp(2rem, 5vw, 3.25rem) 3rem; display: grid; gap: 1.75rem; }
.lh-st-hero { --st: #2fb573; --st-halo: rgba(47, 181, 115, 0.14); display: flex; align-items: center; gap: 1.5rem; padding-left: 0.6rem; }
.lh-st-hero.is-galben { --st: #efa51b; --st-halo: rgba(239, 165, 27, 0.18); }
.lh-st-hero.is-rosu { --st: #e0453b; --st-halo: rgba(224, 69, 59, 0.16); }
.lh-st-hero.is-albastru { --st: #2f7bd8; --st-halo: rgba(47, 123, 216, 0.16); }
.lh-st-hero__bul { width: 3.25rem; height: 3.25rem; flex: 0 0 auto; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--st); box-shadow: 0 0 0 0.55rem var(--st-halo); }
.lh-st-hero__bul svg { width: 1.6rem; height: 1.6rem; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.lh-st-eyebrow { margin: 0; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rnc-primary); }
.lh-st-hero__title { margin: 0.2rem 0 0.35rem; font-size: clamp(1.5rem, 3vw, 1.9rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.12; color: var(--lh-ink); text-wrap: balance; }
.lh-st-hero__sub { margin: 0; max-width: 64ch; color: var(--lh-soft); }
.lh-st-meta { margin: 0.35rem 0 0; font-size: 0.78rem; color: rgba(22, 50, 79, 0.6); }
.lh-st-block { display: grid; gap: 0.6rem; }
.lh-st-h { margin: 0; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--rnc-primary); }
.lh-st-chip { display: inline-block; font-size: 0.68rem; font-weight: 800; padding: 0.12rem 0.55rem; border-radius: 999px; letter-spacing: 0.02em; white-space: nowrap; justify-self: start; background: #e3f3eb; color: #1e6b4b; }
.lh-st-chip.is-galben { background: #fbefd3; color: #6e4700; }
.lh-st-chip.is-rosu { background: #fbe4e2; color: #8c1d16; }
.lh-st-chip.is-albastru, .lh-st-chip.is-anunt { background: #e3edf9; color: #0c3a70; }
.lh-st-inc { border-radius: 14px; padding: 0.95rem 1.1rem; border: 1px solid var(--lh-line); background: #fff; }
.lh-st-inc.is-galben { background: #fdf6e6; border-color: #ebcb86; }
.lh-st-inc.is-rosu { background: #fdf0ee; border-color: #efb1ab; }
.lh-st-inc.is-albastru, .lh-st-inc.is-anunt { background: #eef4fb; border-color: #b9cfea; }
.lh-st-inc__t { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-weight: 800; color: var(--lh-ink); }
.lh-st-inc__meta { margin: 0.2rem 0 0; font-size: 0.78rem; color: rgba(22, 50, 79, 0.7); }
.lh-st-inc__msg { margin: 0.5rem 0 0; font-size: 0.9rem; }
.lh-st-tl { list-style: none; margin: 0.7rem 0 0; padding: 0.7rem 0 0; border-top: 1px solid rgba(0, 0, 0, 0.06); display: grid; gap: 0.45rem; }
.lh-st-tl li { display: grid; grid-template-columns: 7.5rem 1fr; gap: 0.75rem; font-size: 0.86rem; }
.lh-st-tl time { font-size: 0.78rem; color: rgba(22, 50, 79, 0.65); font-variant-numeric: tabular-nums; padding-top: 0.05rem; }
.lh-st-apps { border: 1px solid var(--lh-line); border-radius: 14px; background: #fff; }
.lh-st-app { display: grid; grid-template-columns: minmax(12rem, 1.1fr) 9rem minmax(16rem, 1.4fr); gap: 1rem; align-items: center; padding: 0.7rem 1rem; border-top: 1px solid var(--lh-line); }
.lh-st-app:first-child { border-top: 0; }
.lh-st-app__n b { display: block; color: var(--lh-ink); font-size: 0.9rem; }
.lh-st-app__n small { font-size: 0.74rem; color: rgba(22, 50, 79, 0.6); }
.lh-st-app__s { display: flex; align-items: center; gap: 0.5rem; font-size: 0.82rem; font-weight: 700; white-space: nowrap; }
.lh-st-dot { width: 0.62rem; height: 0.62rem; border-radius: 50%; flex: 0 0 auto; background: #2fb573; box-shadow: 0 0 0 3px rgba(47, 181, 115, 0.18); }
.lh-st-dot.is-galben { background: #efa51b; box-shadow: 0 0 0 3px rgba(239, 165, 27, 0.22); }
.lh-st-dot.is-rosu { background: #e0453b; box-shadow: 0 0 0 3px rgba(224, 69, 59, 0.2); }
.lh-st-dot.is-albastru { background: #2f7bd8; box-shadow: 0 0 0 3px rgba(47, 123, 216, 0.2); }
.lh-st-bars { display: flex; gap: 2px; }
.lh-st-bars i { flex: 1 1 0; height: 1.4rem; border-radius: 2px; background: #3fb07b; }
.lh-st-bars i.is-galben { background: #edb33a; }
.lh-st-bars i.is-rosu { background: #e0544b; }
.lh-st-bars i.is-albastru { background: #6e9bd4; }
.lh-st-bars__lab { display: flex; justify-content: space-between; margin-top: 0.2rem; font-size: 0.7rem; color: rgba(22, 50, 79, 0.55); }
.lh-st-key { margin: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.25rem 1rem; font-size: 0.74rem; }
.lh-st-key .is-verde { color: #2e8a5f; } .lh-st-key .is-galben { color: #b07a10; } .lh-st-key .is-rosu { color: #c0392b; } .lh-st-key .is-albastru { color: #4d7fc0; }
.lh-st-hist { border: 1px solid var(--lh-line); border-radius: 14px; background: #fff; }
.lh-st-hist > div { display: grid; grid-template-columns: 6.5rem 7.5rem 1fr auto; gap: 0.75rem; align-items: center; padding: 0.6rem 1rem; border-top: 1px solid var(--lh-line); font-size: 0.86rem; }
.lh-st-hist > div:first-child { border-top: 0; }
.lh-st-hist time, .lh-st-hist__d { font-size: 0.78rem; color: rgba(22, 50, 79, 0.65); font-variant-numeric: tabular-nums; }
.lh-st-empty { margin: 0; color: var(--lh-soft); }
.lh-st { scroll-margin-top: 5rem; }
#istoric { scroll-margin-top: 5.5rem; }
.lh-st-pager { display: flex; align-items: center; justify-content: flex-end; gap: 0.6rem; margin-top: 0.2rem; }
.lh-st-pager__btn { display: inline-flex; align-items: center; min-height: 2.1rem; padding: 0.3rem 0.9rem; border-radius: 999px; border: 1px solid rgba(var(--rnc-primary-rgb), 0.16); background: #fff; color: var(--rnc-primary); font-size: 0.8rem; font-weight: 700; text-decoration: none; }
.lh-st-pager__btn:hover { background: rgba(var(--rnc-primary-rgb), 0.06); color: var(--rnc-primary); }
.lh-st-pager__btn:focus-visible { outline: 2px solid var(--rnc-primary); outline-offset: 2px; }
.lh-st-pager__btn.is-off { color: rgba(22, 50, 79, 0.35); border-color: var(--lh-line); background: transparent; }
.lh-st-pager__info { font-size: 0.78rem; color: rgba(22, 50, 79, 0.65); font-variant-numeric: tabular-nums; }
@media (max-width: 767.98px) {
  .lh-st-hero { align-items: flex-start; gap: 1.1rem; padding-left: 0.4rem; }
  .lh-st-hero__bul { width: 2.6rem; height: 2.6rem; box-shadow: 0 0 0 0.4rem var(--st-halo); margin-top: 0.3rem; }
  .lh-st-hero__bul svg { width: 1.3rem; height: 1.3rem; }
  .lh-st-app { grid-template-columns: 1fr auto; gap: 0.5rem 1rem; }
  .lh-st-app__z { grid-column: 1 / -1; }
  .lh-st-app__n small { display: none; }
  .lh-st-bars i { height: 0.9rem; }
  .lh-st-tl li { grid-template-columns: 1fr; gap: 0.1rem; }
  .lh-st-hist > div { grid-template-columns: auto 1fr; }
  .lh-st-hist > div > span:nth-child(3) { grid-column: 1 / -1; }
  .lh-st-hist__d { display: none; }
}
