/* FOCNORM.RO – bara de navigare și subsolul comune */
.fn-bar,.fn-foot{
  --fn-bg:#ffffff;--fn-ink:#1d2026;--fn-muted:#5b616b;--fn-line:#dcdcd7;--fn-soft:#ecebe7;--fn-accent:#b3261e;--fn-accent-soft:#f7e3e0;
  font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;line-height:1.4;color:var(--fn-ink);box-sizing:border-box
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .fn-bar,:root:not([data-theme="light"]) .fn-foot{--fn-bg:#1d2026;--fn-ink:#ecedef;--fn-muted:#a3a8b1;--fn-line:#30343c;--fn-soft:#262a31;--fn-accent:#ff7b6b;--fn-accent-soft:#3a201d}
}
:root[data-theme="dark"] .fn-bar,:root[data-theme="dark"] .fn-foot{--fn-bg:#1d2026;--fn-ink:#ecedef;--fn-muted:#a3a8b1;--fn-line:#30343c;--fn-soft:#262a31;--fn-accent:#ff7b6b;--fn-accent-soft:#3a201d}
.fn-bar *,.fn-foot *{box-sizing:border-box}
.fn-bar,.fn-bar .fn-in,.fn-bar .fn-menu,.fn-foot,.fn-foot .fn-in{position:static;box-shadow:none;max-height:none;overflow:visible;float:none}
.fn-bar .fn-menu{border:0;background:none;margin:0 0 0 auto;padding:0;width:auto}
.fn-bar a,.fn-foot a{font-size:inherit;letter-spacing:normal;text-transform:none}
.fn-bar{background:var(--fn-bg);border-bottom:1px solid var(--fn-line);z-index:50}
.fn-bar.fn-bar{position:relative}
.fn-in{max-width:1240px;margin:0 auto;padding:0 32px;display:flex;align-items:center;gap:12px 28px;min-height:64px;flex-wrap:wrap}
@media (max-width:700px){.fn-in{padding:0 16px}}
.fn-logo{font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:500;font-size:15px;letter-spacing:.12em;color:var(--fn-accent);text-decoration:none;white-space:nowrap;padding:14px 0}
.fn-bar .fn-logo{letter-spacing:.12em;font-size:15px}
.fn-menu{display:flex;align-items:center;gap:2px;flex-wrap:wrap;margin-left:auto}
.fn-menu a,.fn-menu summary{display:block;padding:8px 10px;border-radius:6px;color:var(--fn-ink);text-decoration:none;cursor:pointer;white-space:nowrap;font-weight:600}
.fn-bar .fn-menu a.fn-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin-left:14px;padding:0 16px;border:1px solid var(--fn-ink);border-radius:8px;font-weight:700}
.fn-bar .fn-menu a.fn-cta:hover{background:var(--fn-ink);color:var(--fn-bg)}
.fn-bar .fn-menu a.fn-cta[aria-current="page"]{border-color:var(--fn-accent);color:var(--fn-accent);background:var(--fn-accent-soft)}
.fn-menu a:hover,.fn-menu summary:hover{background:var(--fn-soft)}
.fn-menu a[aria-current="page"],.fn-menu details.fn-cur>summary{color:var(--fn-accent);background:var(--fn-accent-soft)}
.fn-menu a:focus-visible,.fn-menu summary:focus-visible,.fn-tg:focus-visible,.fn-logo:focus-visible{outline:2px solid var(--fn-accent);outline-offset:2px}
.fn-menu details{position:relative}
.fn-menu summary{list-style:none}
.fn-menu summary::-webkit-details-marker{display:none}
.fn-menu summary::after{content:"▾";margin-left:6px;font-size:11px;color:var(--fn-muted)}
.fn-drop{position:absolute;right:0;top:calc(100% + 4px);min-width:240px;background:var(--fn-bg);border:1px solid var(--fn-line);border-radius:10px;padding:6px;box-shadow:none}
.fn-drop a{font-weight:400}
.fn-drop small{display:block;color:var(--fn-muted);font-size:12px;font-weight:400}
.fn-tg{display:none;margin-left:auto;font:inherit;font-weight:600;border:1px solid var(--fn-line);background:var(--fn-bg);color:var(--fn-ink);border-radius:6px;padding:7px 12px;cursor:pointer}
@media (max-width:1180px){
  .fn-tg{display:block}
  .fn-bar .fn-menu{display:none;width:100%;flex-direction:column;align-items:stretch;padding:0 0 10px;margin-left:0}
  .fn-bar.fn-open .fn-menu{display:flex}
  .fn-menu details{position:static}
  .fn-drop{position:static;box-shadow:none;border:0;padding:0 0 0 12px;min-width:0}
  .fn-bar .fn-menu a.fn-cta{margin:8px 0 0}
}
.fn-foot{background:var(--fn-bg);border-top:1px solid var(--fn-line);margin-top:40px}
.fn-foot .fn-in{padding:24px 32px 32px;gap:8px 24px;color:var(--fn-muted);font-size:13px;align-items:flex-start;justify-content:space-between}
@media (max-width:700px){.fn-foot .fn-in{padding:20px 16px 28px}}
.fn-foot a{color:var(--fn-ink)}
.fn-foot .fn-sp{flex:1 1 320px}
.fn-note{max-width:1240px;margin:12px auto 0;padding:0 16px}
.fn-note div{font-family:"Public Sans",system-ui,sans-serif;font-size:13px;line-height:1.45;background:#e3ecf6;color:#1d2026;border-left:4px solid #2f5d8a;border-radius:6px;padding:8px 12px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .fn-note div{background:#18283a;color:#ecedef;border-color:#8ab8e8}}
@media print{.fn-bar,.fn-foot,.fn-note{display:none}}
/* Accesibilitate (audit 15.10.2026) */
.fn-skip{position:absolute;left:8px;top:-60px;z-index:100;background:#1d2026;color:#fff;font:600 14px/1.2 "Public Sans",system-ui,sans-serif;padding:10px 14px;border-radius:6px;text-decoration:none}
.fn-skip:focus{top:8px;outline:2px solid #b3261e;outline-offset:2px}
#fn-main:focus{outline:none}
/* indicator de focus vizibil acolo unde paginile îl anulează (carduri de pe prima pagină, rezultate, cuprinsul din „Despre”) */
.mod:focus-visible,.res a:focus-visible,nav a:focus-visible{outline:2px solid var(--accent,#b3261e)!important;outline-offset:2px}
/* valori numerice în afara limitelor (ex. negative) marcate vizibil */
input[type=number]:invalid{border-color:#b3261e!important;box-shadow:0 0 0 1px #b3261e}
/* telefon: câmpurile sub 16px fac iOS să mărească pagina la focalizare */
@media (max-width:600px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=button]):not([type=submit]),select,textarea{font-size:16px!important}}
/* Copie de siguranță / restaurare în nota instrumentelor locale */
.fn-note .fn-bk,.fn-note .fn-bk-b{margin-top:8px;padding:0!important;background:none!important;border:0!important;border-radius:0!important;font-family:"Public Sans",system-ui,sans-serif;font-size:13px;color:inherit}
.fn-note .fn-bk-b{display:flex;gap:8px;flex-wrap:wrap}
.fn-note .fn-bk button{font:600 13px/1.2 "Public Sans",system-ui,sans-serif;padding:8px 12px;min-height:34px;border-radius:6px;border:1px solid #2f5d8a;background:#fff;color:#1d2026;cursor:pointer}
.fn-note .fn-bk button:hover{background:#f3f7fb}
.fn-note .fn-bk button:focus-visible{outline:2px solid #2f5d8a;outline-offset:2px}
.fn-note .fn-bk-yes{background:#b3261e!important;border-color:#b3261e!important;color:#fff!important}
.fn-note .fn-bk-last{margin:6px 0 0;color:#3f4650;font-size:12.5px}
.fn-note .fn-bk-msg:empty{display:none}
.fn-note .fn-bk-msg{margin-top:6px;padding:6px 10px!important;border-radius:6px!important;background:#fff!important;border:1px solid #c9d6e3!important;line-height:1.5}
.fn-note .fn-bk-msg.ok{border-color:#2e7d4f!important}
.fn-note .fn-bk-msg.err{border-color:#b3261e!important;color:#8c1d17}
.fn-note .fn-bk-msg.ask{border-color:#b3261e!important}
.fn-note .fn-bk-c{display:inline-flex;gap:8px;flex-wrap:wrap;margin-top:4px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .fn-note .fn-bk button{background:#1d2026;color:#ecedef;border-color:#8ab8e8}
  :root:not([data-theme="light"]) .fn-note .fn-bk-msg{background:#1d2026!important;border-color:#30343c!important}
  :root:not([data-theme="light"]) .fn-note .fn-bk-msg.err{color:#ff9d91}
  :root:not([data-theme="light"]) .fn-note .fn-bk-last{color:#c4c8cf}}
@media print{.fn-bk{display:none}}
/* ---------------------------------------------------------------- limbajul vizual „Atlasul obiectivelor” (design H, 16.10.2026)
   carduri: bordură 1 px, colț 10 px; la trecerea mouse-ului bordura devine roșie și cardul se ridică 2 px (fără umbre) */
.mod,.doc .card,.mcard,.cards>.card{border-radius:10px}
.mod:hover,.doc a.card:hover,.mcard:hover,.cards>.card:hover{border-color:var(--accent,#b3261e)}
@media (prefers-reduced-motion:no-preference){
  .mod,.doc .card,.mcard,.cards>.card{transition:border-color .2s,transform .2s}
  .mod:hover,.doc a.card:hover,.mcard:hover,.cards>.card:hover{transform:translateY(-2px)}
}
/* ilustrația izometrică mică din antetul paginilor principale: plutește în dreapta, nu acoperă textul */
header.fn-hill{display:flow-root}
header.fn-hill.top>*+*{margin-top:12px}
.fn-ill{float:right;width:auto;height:136px;max-width:34%;object-fit:contain;margin:0 0 12px 32px;pointer-events:none;user-select:none}
.doc .fn-ill{margin-top:4px}
.doc .cards{clear:both}
@media (max-width:900px){.fn-ill{height:104px;margin-left:20px}}
@media (max-width:600px){.fn-ill{display:none}}
@media print{.fn-ill{display:none}}
/* tema întunecată: desenele (linie închisă pe fețe deschise) se inversează, roșul își păstrează nuanța */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .fn-ill,:root:not([data-theme="light"]) img.fn-dk{filter:invert(.88) hue-rotate(180deg)}}
:root[data-theme="dark"] .fn-ill,:root[data-theme="dark"] img.fn-dk{filter:invert(.88) hue-rotate(180deg)}
/* focus vizibil pe elementele noi ale paginii principale (legendă, bandă, butonul de căutare) */
.leg:focus-visible,.chips a:focus-visible,.guides a:focus-visible,.fn-bar .fn-menu a.fn-cta:focus-visible{outline:2px solid var(--accent,#b3261e);outline-offset:2px}
/* FN-ALIGN (16.10.2026): conținutul paginilor pe aceeași grilă cu bara comună – 1240 px, margini 32 px (16 px pe telefon) */
body .wrap{max-width:1240px;padding-inline:32px;box-sizing:border-box}
@media (max-width:700px){body .wrap{padding-inline:16px}}
/* ================================================================ P0 – cadrul comun (17.10.2026) */
/* bara fixă pe desktop (pe telefon rămâne în pagină, ca să nu ocupe ecranul); --fn-h = înălțimea ei, folosită de
   elementele lipicioase ale paginilor și de ancorele articolelor */
:root{--fn-h:0px}
@media (min-width:1181px){
  :root{--fn-h:65px}
  .fn-bar.fn-bar.fn-bar{position:sticky;top:0;z-index:60}
}
/* ferestrele modale și sertarele paginilor trec peste bara fixă (audit: butonul de închidere al sertarului de modele era sub bară) */
.scrim{z-index:80!important}
.sheet,[role="dialog"][aria-modal="true"]:not(.fn-sd){z-index:81!important}
@media (max-width:700px){.sheet .sh-body,.sheet .sh-head{min-width:0;overflow-wrap:anywhere}.sheet .sh-body table{display:block;max-width:100%;overflow-x:auto}.sheet .sh-actions>*{max-width:100%}}
/* butonul de căutare din bară */
.fn-sb{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 10px 0 12px;border:1px solid var(--fn-line);border-radius:8px;background:var(--fn-bg);color:var(--fn-muted);font:500 14px/1 "Public Sans",system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.fn-sb:hover{border-color:var(--fn-ink);color:var(--fn-ink)}
.fn-sb:focus-visible{outline:2px solid var(--fn-accent);outline-offset:2px}
.fn-sb svg{width:16px;height:16px;flex:none}
.fn-sb kbd{font:500 11.5px/1 "JetBrains Mono",ui-monospace,monospace;border:1px solid var(--fn-line);border-bottom-width:2px;border-radius:4px;padding:3px 5px;color:var(--fn-muted);background:var(--fn-soft)}
@media (min-width:1181px){.fn-sb .fn-sb-t{display:none}.fn-bar .fn-in{gap:12px 12px}.fn-menu a,.fn-menu summary{padding:8px 7px}.fn-bar .fn-menu a.fn-cta{margin-left:6px;padding:0 12px}}
@media (max-width:1320px) and (min-width:1181px){.fn-sb kbd{display:none}.fn-sb{padding:0 11px}}
@media (max-width:1180px){.fn-sb{margin-left:auto}.fn-bar .fn-tg{margin-left:0}}
@media (max-width:700px){.fn-sb kbd,.fn-sb .fn-sb-t{display:none}.fn-sb{padding:0 11px}.fn-bar .fn-in{gap:8px 10px}}
/* fereastra de căutare (Ctrl+K) */
.fn-sd{position:fixed;inset:0;z-index:90;display:flex;align-items:flex-start;justify-content:center;padding:10vh 16px 16px;font-family:"Public Sans",system-ui,sans-serif;color:var(--ink)}
.fn-sd[hidden]{display:none}
.fn-sd-bg{position:absolute;inset:0;background:var(--scrim)}
.fn-sd-box{position:relative;width:min(680px,100%);max-height:80vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 24px 64px rgba(0,0,0,.25);overflow:hidden}
.fn-sd-in{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.fn-sd-in svg{width:18px;height:18px;color:var(--muted);flex:none}
.fn-sd-in input{flex:1;min-width:0;font:inherit;font-size:17px;border:0;background:none;color:var(--ink);padding:6px 0;outline:none}
.fn-sd-in input::-webkit-search-cancel-button{display:none}
.fn-sd-x{font:500 12px/1 "JetBrains Mono",ui-monospace,monospace;border:1px solid var(--line);border-radius:5px;background:var(--soft);color:var(--muted);padding:5px 7px;cursor:pointer}
.fn-sr{overflow:auto;padding:6px;flex:1 1 auto;min-height:0}
.fn-sr:empty{display:none}
.fn-sr .g{font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:10px 10px 4px}
.fn-sr a{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:baseline;padding:9px 10px;border-radius:8px;color:var(--ink);text-decoration:none;border:1px solid transparent}
.fn-sr a .k{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.fn-sr a .t{font-weight:600;font-size:14.5px;overflow-wrap:anywhere}
.fn-sr a .s{display:block;font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fn-sr a:hover{background:var(--soft)}
.fn-sr a[aria-selected="true"]{background:var(--accent-soft);border-color:var(--accent)}
.fn-sr a.art .k{color:var(--accent)}
.fn-sr mark{background:none;color:var(--accent);font-weight:700}
.fn-sd-n{margin:0;padding:8px 16px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--line)}
.fn-sd-n:empty{display:none}
.fn-sd-h{margin:0;padding:8px 16px 10px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);background:var(--bg)}
.fn-sd-h kbd{font:500 11px/1 "JetBrains Mono",ui-monospace,monospace;border:1px solid var(--line);border-radius:4px;padding:2px 4px;background:var(--panel)}
@media (max-width:700px){.fn-sd{padding:0}.fn-sd-box{width:100%;max-height:100%;height:100%;border-radius:0;border:0}.fn-sr a{grid-template-columns:minmax(0,1fr)}.fn-sd-h{display:none}}
body.fn-noscroll{overflow:hidden}
.fn-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* breadcrumbs (înlocuiesc eticheta roșie „FOCNORM · …” din antetul paginilor) */
.fn-bc{font:600 12.5px/1.4 "Public Sans",system-ui,sans-serif;margin:0 0 10px;color:var(--muted)}
.fn-bc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 0}
.fn-bc li{display:inline-flex;align-items:center;min-width:0}
.fn-bc li+li::before{content:"/";margin:0 8px;color:var(--line);font-weight:400}
.fn-bc a{color:var(--accent);text-decoration:none}
.fn-bc a:hover{text-decoration:underline}
.fn-bc a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}
.fn-bc [aria-current="page"]{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60ch}
/* un singur cadru: titlurile paginilor au aceeași scară (36/44 desktop, 28/36 telefon) */
.wrap>header h1,header.fn-hill h1,main>header h1,.doc h1,.fn-page h1{font-family:var(--f-display)!important;font-size:var(--t-h1)!important;line-height:var(--lh-h1)!important;font-weight:600!important;letter-spacing:-.01em}
/* linia de stare a instrumentelor cu date locale (înlocuiește bannerul de ~120 px de deasupra titlului) */
.fn-note.fn-st{max-width:none;margin:12px 0 4px;padding:0}
.fn-note.fn-st>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:7px 12px;border-left-width:3px;font-size:13px}
.fn-st .fn-st-t{flex:1 1 280px;min-width:0}
.fn-st .fn-st-t svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px}
.fn-st details.fn-st-d{flex:0 0 auto;font-size:13px}
.fn-st details.fn-st-d[open]{flex:1 0 100%;order:9}
.fn-st details.fn-st-d summary{cursor:pointer;display:inline;color:inherit;text-decoration:underline;text-underline-offset:2px}
.fn-st details.fn-st-d p{margin:6px 0 2px;max-width:100ch}
.fn-note.fn-st .fn-bk{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.fn-note.fn-st .fn-bk-b{display:inline-flex;gap:6px}
.fn-note.fn-st .fn-bk button{padding:5px 10px;min-height:30px;font-size:12.5px}
.fn-note.fn-st .fn-bk-last{margin:0;font-size:12.5px}
.fn-note.fn-st .fn-bk-msg{flex:1 0 100%;margin:4px 0 0}
/* paginile exportate stilizează orice <nav> ca listă laterală lipicioasă – breadcrumb-ul rămâne un rând simplu */
nav.fn-bc.fn-bc{position:static;background:none;border:0;border-radius:0;padding:0;display:block;max-height:none;overflow:visible;box-shadow:none;gap:0}
/* ================================================================ mișcare discretă (17.10.2026)
   – lumina care înconjoară căutarea la intervale regulate (o trecere de ~2,5 s la fiecare 8 s), oprită cât timp câmpul are focus
   – apariția lină a cardurilor la derulare, cifrele de pe prima pagină care „numără”, rândul „Nou în legislație” care se schimbă
   Totul se oprește la „reducere mișcare” (prefers-reduced-motion) și nu mută conținutul (doar opacitate și transformări). */
@property --fn-a{syntax:'<angle>';inherits:false;initial-value:0deg}
.fn-glow{position:relative;display:flex;flex:1 1 180px;min-width:0;border-radius:9px;isolation:isolate}
.fn-glow>input{flex:1 1 auto;min-width:0}
.fn-glow::before,.fn-sb::before{content:"";position:absolute;inset:-2px;border-radius:11px;padding:2px;pointer-events:none;opacity:0;z-index:1;
  background:conic-gradient(from var(--fn-a),transparent 0deg 230deg,color-mix(in srgb,var(--accent,#b3261e) 30%,transparent) 290deg,var(--accent,#b3261e) 338deg,#ffb4a8 350deg,transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.fn-glow::after{content:"";position:absolute;inset:0;border-radius:9px;pointer-events:none;z-index:-1}
.fn-sb{position:relative}
.fn-sb::before{border-radius:10px;inset:-2px}
@media (prefers-reduced-motion:no-preference){
  .fn-glow::before{animation:fn-sweep 8s cubic-bezier(.45,.05,.35,1) 1.2s infinite}
  .fn-glow::after{animation:fn-halo 8s ease-in-out 1.2s infinite}
  .fn-sb::before{animation:fn-sweep 12s cubic-bezier(.45,.05,.35,1) 5s infinite}
  .fn-glow:focus-within::before,.fn-glow:focus-within::after,.fn-sb:hover::before,.fn-sb:focus-visible::before{animation:none;opacity:0}
}
@keyframes fn-sweep{0%{--fn-a:0deg;opacity:0}5%{opacity:1}28%{opacity:1}33%{--fn-a:360deg;opacity:0}100%{--fn-a:360deg;opacity:0}}
@keyframes fn-halo{0%,36%,100%{box-shadow:0 0 0 0 transparent}16%{box-shadow:0 0 26px 3px color-mix(in srgb,var(--accent,#b3261e) 20%,transparent)}}
/* apariția la derulare (clasa se pune doar pe elementele aflate sub ecran la încărcare) */
@media (prefers-reduced-motion:no-preference){
  .fn-rv{opacity:0;transform:translateY(12px)}
  .fn-rv.fn-in{opacity:1;transform:none;transition:opacity .55s ease-out,transform .55s cubic-bezier(.2,.7,.2,1);transition-delay:var(--fn-d,0ms)}
  /* intrarea titlului de pe prima pagină */
  .hero>*{animation:fn-up .7s cubic-bezier(.2,.7,.2,1) both}
  .hero>*:nth-child(2){animation-delay:.06s}.hero>*:nth-child(3){animation-delay:.12s}.hero>*:nth-child(4){animation-delay:.18s}.hero>*:nth-child(5){animation-delay:.24s}.hero>*:nth-child(6){animation-delay:.3s}
  .fn-menu a,.fn-menu summary{transition:background-color .15s,color .15s}
}
@keyframes fn-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* rândul „Nou în legislație” de sub căutarea de pe prima pagină */
.fn-tick{display:flex;align-items:center;gap:12px;max-width:640px;width:100%;min-height:24px;font:500 13.5px/1.4 var(--f-body,"Public Sans",sans-serif);color:var(--muted);text-align:left}
.fn-tick .fn-tk-l{flex:none;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent)}
.fn-tick .fn-tk-w{position:relative;flex:1;min-width:0;height:20px;overflow:hidden}
.fn-tick .fn-tk-w a{position:absolute;inset:0;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-tick .fn-tk-w a:hover{color:var(--accent)}
.fn-tick a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}
.fn-tick .fn-tk-w a time{color:var(--muted);margin-right:6px;font-variant-numeric:tabular-nums}
.fn-tick .fn-tk-w a[aria-hidden="true"]{visibility:hidden}
.fn-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);position:relative;flex:none}
@media (prefers-reduced-motion:no-preference){
  .fn-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--accent);animation:fn-ping 2.4s cubic-bezier(0,0,.2,1) infinite}
  .fn-tick .fn-tk-w a{transition:opacity .45s ease,transform .45s ease}
  .fn-tick .fn-tk-w a.fn-out{opacity:0;transform:translateY(-8px)}
  .fn-tick .fn-tk-w a.fn-pre{opacity:0;transform:translateY(8px);transition:none}
}
@keyframes fn-ping{0%{transform:scale(1);opacity:.55}80%,100%{transform:scale(2.6);opacity:0}}
.fn-tick .fn-tk-a{flex:none;color:var(--info);font-weight:600;text-decoration:none;font-size:13px}
@media (max-width:600px){.fn-tick .fn-tk-a{display:none}}
/* ================================================================ pagini de ansamblu (Obiective, Instalații, Studii; P0 #13) */
.ov{display:grid;gap:18px;min-width:0}
.ov-intro{margin:0;color:var(--muted);font-size:15px;max-width:75ch}
.ov-f{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:10px}
.ov-f .ov-q{flex:2 1 260px;min-width:0;display:block}
.ov-f input,.ov-f select{width:100%;font:inherit;font-size:14px;color:var(--ink);padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--bg);min-width:0;box-sizing:border-box}
.ov-f input:focus,.ov-f select:focus{outline:2px solid var(--accent);outline-offset:1px}
.ov-f .ov-s{flex:1 1 200px;min-width:0;display:grid;gap:4px;font-size:12.5px;font-weight:600;color:var(--muted)}
.ov-n{flex:1 0 100%;margin:0;font-size:12.5px;color:var(--muted)}
.ov-g h2{font:600 19px/1.3 var(--f-display,"Literata",serif);margin:6px 0 10px}
.ov-g[hidden],.ov-c[hidden]{display:none}
.ov-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:10px}
.ov-c{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none;min-width:0}
.ov-c b{font-size:15px;line-height:1.35}
.ov-c .ov-s2{font-size:13.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ov-c .ov-m{margin-top:auto;padding-top:6px;font-size:12px;color:var(--muted);border-top:1px dashed var(--line)}
.ov-c .ov-id{font-family:var(--f-mono,"JetBrains Mono",monospace);font-size:11px;color:var(--accent)}
.ov-c:hover{border-color:var(--accent)}
.ov-c:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:no-preference){.ov-c{transition:border-color .2s,transform .2s}.ov-c:hover{transform:translateY(-2px)}}
.ov-empty{color:var(--muted)}
nav .ov-home{display:block;font-weight:700;font-size:13px;padding:8px 8px 6px;color:var(--accent);text-decoration:none;border-radius:6px}
nav .ov-home:hover{background:var(--soft)}
nav .ov-home:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.doc .fn-bc ol{padding-left:0}.doc .fn-bc li{margin:0;max-width:none}.doc .fn-bc a{color:var(--accent)}
/* comutatorul de temă (P0 #21) */
.fn-th{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--fn-line);border-radius:8px;background:var(--fn-bg);color:var(--fn-ink);cursor:pointer;padding:0;flex:none}
.fn-th:hover{border-color:var(--fn-ink)}
.fn-th:focus-visible{outline:2px solid var(--fn-accent);outline-offset:2px}
.fn-th svg{width:18px;height:18px}
.fn-th[data-t="light"] .fn-th-h{opacity:0}
.fn-th[data-t="dark"] .fn-th-h{d:path("M10 3.5a6.5 6.5 0 1 1 0 13a6.5 6.5 0 1 1 0-13z")}
@media (min-width:1181px){.fn-th{order:3}.fn-bar .fn-menu{order:2}}
/* [17.10.2026] meniul „Contestare”: la lățimea maximă a antetului (1176 px utili) nu mai încape și eticheta „Ctrl K” – scurtătura rămâne în titlul butonului */
@media (min-width:1181px){.fn-sb kbd{display:none}.fn-sb{padding:0 11px}}
@media (min-width:1025px){.fn-menu a,.fn-menu summary{font-size:14.5px;padding:8px 5px}.fn-bar .fn-in{column-gap:8px}.fn-bar .fn-menu a.fn-cta{margin-left:6px}}
