/*
  Kwalifikator NIS2 (BOIT) — wersja SCALONA (iteracja 2 — przebudowa warstwy wizualnej): interfejs UX v2 + patch merytoryczny zespołu prawnego (legal-patch.md, 2026-09-21).
  WERSJA ROBOCZA do przeglądu wewnętrznego — patrz CONFIG.draftBanner w skrypcie.
  Cały CSS jest zawężony do korzenia #nis2-kwalifikator (osadzenie w WordPress / motyw blokowy Extendable):
  brak stylów na body/html/h1 globalnie. Tokeny motywu jasnego/ciemnego są zdefiniowane NA KORZENIU,
  a przełączanie idzie po :root (prefers-color-scheme lub atrybut data-theme na elemencie html).
*/
#nis2-kwalifikator{
  --paper:#ffffff;
  --paper-raised:#ffffff;
  --paper-sunken:#e3e7e2;
  --ink:#171b19;
  --ink-soft:#4a514c;
  --ink-faint:#565d58;
  --line:#c9d1c8;
  --line-strong:#a9b4a7;
  --ctl:#6f7b6e;
  --accent:#F3A083;
  --accent-ink:#ffffff;
  --accent-strong:#BD7C66;
  --accent-soft:#fce9e3;
  --stamp-official:#8f1d10;
  --stamp-official-soft:#f7e2dd;
  --sev-critical:#9a2b16;
  --sev-critical-soft:#f7e0da;
  --sev-warn:#85560a;
  --sev-warn-soft:#f6ead0;
  --sev-indirect:#2f5a78;
  --sev-indirect-soft:#dde7ed;
  --sev-clear:#2f6b41;
  --sev-clear-soft:#dfe9dd;
  --sev-unknown:#54585f;
  --sev-unknown-soft:#e4e5e7;
  --focus:#1b6ea8;
  --danger:#a3230e;
  --r:12px;
  color-scheme: light;
}
/* Automatyczne ciemne tło wg preferencji systemu/przeglądarki CELOWO WYŁĄCZONE (2026-09-23,
   zgłoszenie usera: na przeglądarce z trybem ciemnym narzędzie wyglądało "dziwnie", ma być
   zawsze białe/jasne, niezależnie od ustawień odwiedzającego). Token --accent-strong itd. dla
   trybu ciemnego zostają zdefiniowane niżej pod :root[data-theme="dark"] na wypadek, gdyby
   ktoś kiedyś chciał świadomie włączyć ciemny motyw ręcznie — po prostu nic już tego nie
   uruchamia automatycznie. */
:root[data-theme="dark"] #nis2-kwalifikator{
  --paper:#14181a; --paper-raised:#1c2224; --paper-sunken:#101415;
  --ink:#ecefec; --ink-soft:#b4bcb6; --ink-faint:#9aa19a;
  --line:#333c39; --line-strong:#4f5a55; --ctl:#78857f;
  --accent:#e07948; --accent-ink:#1c1210; --accent-strong:#e07948; --accent-soft:#3a2620;
  --stamp-official:#ea7a64; --stamp-official-soft:#3a1d17;
  --sev-critical:#e2705a; --sev-critical-soft:#3a2119;
  --sev-warn:#e0ac52; --sev-warn-soft:#3a2f16;
  --sev-indirect:#7fb2d6; --sev-indirect-soft:#1c2c36;
  --sev-clear:#7cc492; --sev-clear-soft:#1c2f21;
  --sev-unknown:#b7bbc2; --sev-unknown-soft:#2a2c30;
  --focus:#6db3ea; --danger:#ff8a72;
  color-scheme: dark;
}

#nis2-kwalifikator{display:block; background:var(--paper); color:var(--ink); font-family:var(--wp--preset--font-family--inter), "Inter", ui-sans-serif, system-ui, sans-serif; font-size:16px; line-height:1.5; -webkit-font-smoothing:antialiased; -webkit-text-size-adjust:100%; text-size-adjust:100%;}
#nis2-kwalifikator *, #nis2-kwalifikator *::before, #nis2-kwalifikator *::after{box-sizing:border-box;}
#nis2-kwalifikator h2, #nis2-kwalifikator h3, #nis2-kwalifikator p, #nis2-kwalifikator ul, #nis2-kwalifikator ol, #nis2-kwalifikator dl, #nis2-kwalifikator dd, #nis2-kwalifikator fieldset, #nis2-kwalifikator legend, #nis2-kwalifikator figure{margin:0; padding:0; border:0;}
#nis2-kwalifikator fieldset{min-width:0;}
#nis2-kwalifikator legend{display:block; width:100%; float:none;}
#nis2-kwalifikator ul, #nis2-kwalifikator ol{list-style:none;}
#nis2-kwalifikator h2, #nis2-kwalifikator h3{font-family:var(--wp--preset--font-family--inter), "Inter", ui-sans-serif, system-ui, sans-serif; font-weight:600; text-wrap:balance; color:var(--ink); line-height:1.2; letter-spacing:0; text-transform:none;}
#nis2-kwalifikator a{color:inherit;}
#nis2-kwalifikator .nq-mono{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-variant-numeric:tabular-nums;}
#nis2-kwalifikator [hidden]{display:none !important;}
#nis2-kwalifikator .nq-sr{position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; padding:0;}
#nis2-kwalifikator .nq-app{max-width:1000px; margin:0 auto; padding:10px max(14px,3vw) 40px;}
@media (min-width:720px){
#nis2-kwalifikator .nq-app{padding-top:22px;}
 }
#nis2-kwalifikator .nq-draft{display:flex; gap:8px; align-items:center; border:1.5px solid var(--sev-warn); background:var(--sev-warn-soft); color:var(--ink); padding:5px 10px; margin:0 0 10px; font-size:12.5px; font-weight:700; line-height:1.3; border-radius:8px;}
#nis2-kwalifikator .nq-draft::before{content:"!"; flex:none; width:18px; height:18px; border-radius:50%; background:var(--sev-warn); color:var(--paper-raised); font-size:12px; line-height:18px; text-align:center; font-weight:800;}
#nis2-kwalifikator .nq-draft--inline{margin:0 0 10px; font-size:12px; padding:4px 8px;}
#nis2-kwalifikator .nq-masthead{display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 14px; margin:0 0 10px;}
#nis2-kwalifikator .nq-title{font-size:clamp(1.3rem,5.4vw,1.75rem); flex:none;}
#nis2-kwalifikator .nq-eyebrow{display:none; font-size:14px; font-weight:600; color:var(--ink-soft); order:2;}
#nis2-kwalifikator .nq-sub{flex:1 1 100%; order:3; color:var(--ink-soft); font-size:14.5px; line-height:1.4; max-width:62ch;}
@media (min-width:720px){
#nis2-kwalifikator .nq-eyebrow{display:inline;}
#nis2-kwalifikator .nq-title{order:1;}
#nis2-kwalifikator .nq-sub{font-size:15.5px;}
 }
#nis2-kwalifikator .nq-deadline{border:1.5px solid var(--stamp-official); background:var(--stamp-official-soft); color:var(--ink); border-radius:var(--r); margin:0 0 8px;}
#nis2-kwalifikator .nq-dlbar > summary{list-style:none; cursor:pointer; display:block; min-height:44px; padding:8px 12px; border-radius:var(--r);}
#nis2-kwalifikator .nq-dlbar > summary::-webkit-details-marker{display:none;}
#nis2-kwalifikator .nq-dlbar > summary:focus-visible{outline:3px solid var(--focus); outline-offset:2px;}
#nis2-kwalifikator .nq-dl-head{display:block; font-size:13.5px; line-height:1.35;}
#nis2-kwalifikator .nq-dl-head strong{font-size:14.5px; color:var(--stamp-official);}
#nis2-kwalifikator .nq-dl-row{display:flex; justify-content:space-between; align-items:center; gap:8px 14px; flex-wrap:wrap; margin-top:2px;}
#nis2-kwalifikator .nq-clock{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-variant-numeric:tabular-nums; font-size:15px; font-weight:600; color:var(--stamp-official);}
#nis2-kwalifikator .nq-clock b{font-weight:600;}
#nis2-kwalifikator .nq-dl-more{font-size:13px; font-weight:700; color:var(--stamp-official); text-decoration:underline; display:inline-flex; align-items:center; gap:4px;}
#nis2-kwalifikator .nq-dl-more::after{content:""; width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px);}
#nis2-kwalifikator .nq-dlbar[open] .nq-dl-more::after{transform:rotate(-135deg) translateY(-2px);}
#nis2-kwalifikator .nq-dl-notes{padding:0 12px 10px; font-size:13px; line-height:1.5; border-top:1px solid var(--stamp-official);}
#nis2-kwalifikator .nq-dl-notes p{margin:8px 0 0;}
@media (min-width:720px){
#nis2-kwalifikator .nq-dlbar > summary{display:flex; align-items:center; justify-content:space-between; gap:18px; padding:8px 14px;}
#nis2-kwalifikator .nq-dl-head{flex:1 1 auto;}
#nis2-kwalifikator .nq-dl-row{flex:none; margin-top:0; flex-wrap:nowrap; gap:18px;}

}
#nis2-kwalifikator .nq-disclaimer{background:var(--paper-sunken); border:1px solid var(--line); border-radius:var(--r); margin:0 0 12px; font-size:13px; color:var(--ink-soft);}
#nis2-kwalifikator .nq-disclaimer summary{list-style:none; cursor:pointer; min-height:44px; display:flex; align-items:center; gap:10px; padding:6px 12px;}
#nis2-kwalifikator .nq-disclaimer summary::-webkit-details-marker{display:none;}
#nis2-kwalifikator .nq-disclaimer summary b{color:var(--ink);}
#nis2-kwalifikator .nq-disclaimer summary .nq-more{margin-left:auto; text-decoration:underline; white-space:nowrap; font-size:13px; font-weight:600; color:var(--ink);}
#nis2-kwalifikator .nq-disclaimer[open] summary .nq-more{display:none;}
#nis2-kwalifikator .nq-disclaimer .nq-disc-body{padding:0 12px 12px; line-height:1.55;}
#nis2-kwalifikator .nq-disclaimer summary:focus-visible{outline:3px solid var(--focus); outline-offset:-3px;}
#nis2-kwalifikator .nq-progress{margin:0 0 10px; scroll-margin-top:12px;}
#nis2-kwalifikator .nq-prog-row{display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-size:14px; color:var(--ink-soft); margin-bottom:6px;}
#nis2-kwalifikator .nq-prog-row strong{color:var(--ink); font-weight:700;}
#nis2-kwalifikator .nq-bar{height:8px; background:var(--paper-sunken); border:1px solid var(--line-strong); border-radius:99px; overflow:hidden;}
#nis2-kwalifikator .nq-bar > span{display:block; height:100%; background:var(--accent); border-radius:99px; transition:width .25s ease;}
@media (prefers-reduced-motion: reduce){
#nis2-kwalifikator .nq-bar > span{transition:none;}
 }
#nis2-kwalifikator .nq-steps{display:none;}
@media (min-width:720px){
#nis2-kwalifikator .nq-bar{display:none;}
#nis2-kwalifikator .nq-prog-row{margin-bottom:8px;}
#nis2-kwalifikator .nq-steps{display:flex; gap:0; align-items:flex-start; counter-reset:none;}
#nis2-kwalifikator .nq-tab{flex:1 1 0; min-width:0; position:relative; text-align:center;}
#nis2-kwalifikator .nq-tab::before{content:""; position:absolute; top:17px; left:-50%; width:100%; height:2px; background:var(--line-strong); z-index:0;}
#nis2-kwalifikator .nq-tab:first-child::before{display:none;}
#nis2-kwalifikator .nq-tab.is-done::before, #nis2-kwalifikator .nq-tab.is-active::before{background:var(--accent);}
#nis2-kwalifikator .nq-tab > *{position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:4px; width:100%; min-height:44px; padding:0 4px; margin:0; background:none; border:0; box-shadow:none; font:inherit; color:var(--ink-soft); cursor:default;}
#nis2-kwalifikator .nq-tab .nq-tnum{width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--paper-raised); border:2px solid var(--ctl); color:var(--ink); font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:13px; font-weight:600;}
#nis2-kwalifikator .nq-tab .nq-tlbl{font-size:13px; font-weight:600; color:var(--ink-soft);}
#nis2-kwalifikator .nq-tab.is-done > button{cursor:pointer;}
#nis2-kwalifikator .nq-tab.is-done .nq-tnum{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
#nis2-kwalifikator .nq-tab.is-done > button:hover .nq-tlbl{color:var(--ink); text-decoration:underline;}
#nis2-kwalifikator .nq-tab.is-active .nq-tnum{border-color:var(--accent); border-width:3px; color:var(--ink);}
#nis2-kwalifikator .nq-tab.is-active .nq-tlbl{color:var(--ink);}

}
#nis2-kwalifikator .nq-card{--nq-pad:clamp(16px,3.5vw,32px); background:var(--paper-raised); border:1px solid var(--line-strong); border-radius:var(--r); padding:var(--nq-pad); position:relative; box-shadow:0 2px 10px rgba(0,0,0,.04);}
#nis2-kwalifikator .nq-card:focus{outline:none;}
#nis2-kwalifikator .nq-h{font-size:clamp(1.35rem,5.2vw,1.75rem); margin-bottom:8px;}
#nis2-kwalifikator .nq-h:focus{outline:none;}
#nis2-kwalifikator .nq-hint{color:var(--ink-soft); font-size:15.5px; margin-bottom:14px; max-width:64ch;}
#nis2-kwalifikator .nq-badge{display:inline-block; font-size:12px; color:var(--ink-soft); border:1px solid var(--line-strong); border-radius:99px; padding:1px 8px; margin-left:8px; vertical-align:middle; font-weight:600;}
#nis2-kwalifikator .nq-q{margin:0 0 28px;}
#nis2-kwalifikator .nq-q > legend, #nis2-kwalifikator .nq-legend{font-size:17px; font-weight:700; line-height:1.35; margin-bottom:4px; color:var(--ink);}
#nis2-kwalifikator .nq-q-hint{color:var(--ink-soft); font-size:14.5px; margin-bottom:12px; max-width:64ch;}
#nis2-kwalifikator .nq-q legend + .nq-opts{margin-top:10px;}
#nis2-kwalifikator .nq-opts{display:grid; gap:10px; grid-template-columns:1fr;}
#nis2-kwalifikator .nq-opts--tiles{grid-template-columns:repeat(2, minmax(0,1fr));}
#nis2-kwalifikator .nq-opts--cards{grid-template-columns:1fr;}
@media (min-width:720px){
#nis2-kwalifikator .nq-opts--tiles{grid-template-columns:repeat(3, minmax(0,1fr));}
#nis2-kwalifikator .nq-opts--cards{grid-template-columns:repeat(2, minmax(0,1fr));}
#nis2-kwalifikator .nq-opts--one{grid-template-columns:1fr;}

}
#nis2-kwalifikator .nq-item{position:relative; border:1.5px solid var(--ctl); border-radius:var(--r); background:var(--paper-raised); min-width:0;}
#nis2-kwalifikator .nq-item:hover{background:var(--paper-sunken);}
#nis2-kwalifikator .nq-item.is-checked{border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent); background:var(--accent-soft);}
#nis2-kwalifikator .nq-item--unsure{border-style:dashed;}
#nis2-kwalifikator .nq-opts--tiles .nq-item--unsure{grid-column:1 / -1;}
@media (min-width:720px){
#nis2-kwalifikator .nq-opts--tiles .nq-item--unsure{grid-column:auto;}
 }
#nis2-kwalifikator .nq-opt{display:flex; align-items:flex-start; gap:12px; padding:12px 14px; min-height:56px; cursor:pointer; position:relative; border-radius:var(--r);}
#nis2-kwalifikator .nq-opts--tiles .nq-opt{align-items:center;}
#nis2-kwalifikator .nq-opt input{position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer;}
#nis2-kwalifikator .nq-mark{flex:none; width:24px; height:24px; margin-top:0; border:2px solid var(--ctl); background:var(--paper-raised); display:flex; align-items:center; justify-content:center; color:var(--accent-ink); font-size:15px; font-weight:800; line-height:1;}
#nis2-kwalifikator .nq-mark--radio{border-radius:50%;}
#nis2-kwalifikator .nq-mark--check{border-radius:6px;}
#nis2-kwalifikator .nq-opt input:checked ~ .nq-mark{background:var(--accent); border-color:var(--accent);}
#nis2-kwalifikator .nq-opt input:checked ~ .nq-mark::after{content:"\2713";}
#nis2-kwalifikator .nq-item:has(input:focus-visible){outline:3px solid var(--focus); outline-offset:2px;}
@supports not selector(:has(*)){
#nis2-kwalifikator .nq-item:focus-within{outline:3px solid var(--focus); outline-offset:2px;}
 }
#nis2-kwalifikator .nq-otxt{font-size:16px; line-height:1.35; padding-top:2px; flex:1 1 auto; min-width:0; order:2;}
#nis2-kwalifikator .nq-mark{order:1;}
#nis2-kwalifikator .nq-osub{display:block; font-size:13.5px; color:var(--ink-soft); margin-top:3px; line-height:1.4; font-style:normal;}
#nis2-kwalifikator .nq-opt--unsure .nq-otxt{font-style:italic;}
#nis2-kwalifikator .nq-opts--tiles .nq-osub{position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
#nis2-kwalifikator .nq-item.is-checked .nq-otxt{font-weight:600;}
#nis2-kwalifikator .nq-grp{margin:22px 0 8px; font-size:14px; line-height:1.4; color:var(--ink-soft); font-weight:700;}
#nis2-kwalifikator .nq-grp:first-child{margin-top:0;}
#nis2-kwalifikator .nq-secgrp .nq-opts{margin-top:0;}
#nis2-kwalifikator .nq-catgrp{border:1.5px solid var(--line); border-radius:var(--r); margin:10px 0; background:var(--paper-raised); overflow:hidden;}
#nis2-kwalifikator .nq-catgrp:first-of-type{margin-top:4px;}
#nis2-kwalifikator .nq-catgrp:hover{border-color:var(--line-strong);}
#nis2-kwalifikator .nq-catgrp:has(.nq-item.is-checked) .nq-catsum{color:var(--accent-strong);}
#nis2-kwalifikator .nq-catsum{cursor:pointer; list-style:none; display:flex; align-items:center; gap:10px; padding:13px 16px; font-size:15px; font-weight:700; color:var(--ink); min-height:44px;}
#nis2-kwalifikator .nq-catsum::-webkit-details-marker{display:none;}
#nis2-kwalifikator .nq-catsum::after{content:""; width:8px; height:8px; margin-left:auto; border-right:2px solid var(--ctl); border-bottom:2px solid var(--ctl); transform:rotate(-45deg); transition:transform .2s ease; flex:none;}
#nis2-kwalifikator .nq-catgrp[open] .nq-catsum{border-bottom:1px solid var(--line);}
#nis2-kwalifikator .nq-catgrp[open] .nq-catsum::after{transform:rotate(45deg);}
#nis2-kwalifikator .nq-catcount{font-weight:500; color:var(--ink-soft); font-size:13.5px;}
#nis2-kwalifikator .nq-catgrp .nq-opts{padding:14px; margin-top:0;}
#nis2-kwalifikator .nq-search{margin-bottom:6px;}
#nis2-kwalifikator .nq-search-count{font-size:13.5px; color:var(--ink-soft); margin:6px 0 10px;}
#nis2-kwalifikator .nq-search-count:empty{display:none;}
#nis2-kwalifikator .nq-gloss{margin:6px 0 12px; font-size:14.5px; color:var(--ink-soft);}
#nis2-kwalifikator .nq-gloss > summary{cursor:pointer; min-height:44px; display:flex; align-items:center; gap:8px; color:var(--accent); font-weight:700; list-style:none;}
#nis2-kwalifikator .nq-gloss > summary::-webkit-details-marker{display:none;}
#nis2-kwalifikator .nq-gloss > summary::before{content:"?"; display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border:1.5px solid var(--accent); border-radius:50%; font-size:13px; font-weight:700; flex:none;}
#nis2-kwalifikator .nq-gloss[open] > summary{margin-bottom:2px;}
#nis2-kwalifikator .nq-gloss > div{padding:2px 0 6px 30px; line-height:1.55;}
#nis2-kwalifikator .nq-gloss > div > p{margin:0 0 .7em;}
#nis2-kwalifikator .nq-gloss > div > p:last-child{margin-bottom:0;}
#nis2-kwalifikator .nq-optmore{margin:0; padding:0 14px 6px 50px; font-size:13.5px;}
#nis2-kwalifikator .nq-optmore > summary{min-height:40px; font-size:13.5px;}
#nis2-kwalifikator .nq-optmore > div{padding-left:0;}
#nis2-kwalifikator .nq-callout{background:var(--paper-sunken); border-left:4px solid var(--accent); border-radius:0 8px 8px 0; padding:10px 12px; font-size:14.5px; margin:0 0 16px; color:var(--ink);}
#nis2-kwalifikator .nq-callout b{font-weight:700;}
#nis2-kwalifikator .nq-restore{display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; background:var(--sev-indirect-soft); color:var(--ink); border:1px solid var(--sev-indirect); border-radius:var(--r); padding:10px 12px; margin-bottom:16px; font-size:14.5px;}
#nis2-kwalifikator .nq-restore span{flex:1 1 220px;}
#nis2-kwalifikator .nq-field{display:flex; flex-direction:column; gap:5px; margin-bottom:14px;}
#nis2-kwalifikator .nq-field > label, #nis2-kwalifikator .nq-flabel{font-size:14.5px; font-weight:700; color:var(--ink);}
#nis2-kwalifikator .nq-field .nq-opt-tag{font-weight:400; color:var(--ink-soft);}
#nis2-kwalifikator .nq-input{width:100%; min-height:48px; font:inherit; font-size:16px; line-height:1.3; padding:10px 12px; margin:0; border-radius:10px; border:1.5px solid var(--ctl); background:var(--paper-raised); color:var(--ink); box-shadow:none; -webkit-appearance:none; appearance:none;}
#nis2-kwalifikator textarea.nq-input{min-height:88px; resize:vertical;}
#nis2-kwalifikator .nq-input::placeholder{color:var(--ink-faint); opacity:1;}
#nis2-kwalifikator .nq-input[aria-invalid="true"]{border-color:var(--danger); border-width:2px;}
#nis2-kwalifikator .nq-input:focus-visible, #nis2-kwalifikator .nq-btn:focus-visible, #nis2-kwalifikator .nq-gloss > summary:focus-visible, #nis2-kwalifikator .nq-fold > summary:focus-visible, #nis2-kwalifikator .nq-tab button:focus-visible, #nis2-kwalifikator .nq-link:focus-visible, #nis2-kwalifikator .nq-card a:focus-visible{outline:3px solid var(--focus); outline-offset:2px;}
#nis2-kwalifikator .nq-fhint{font-size:13.5px; color:var(--ink-soft);}
#nis2-kwalifikator .nq-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 14px;}
@media (max-width:560px){
#nis2-kwalifikator .nq-grid{grid-template-columns:1fr;}
 }
#nis2-kwalifikator .nq-check{display:flex; align-items:flex-start; gap:12px; font-size:14.5px; color:var(--ink-soft); padding:8px 0; min-height:44px; cursor:pointer; position:relative;}
#nis2-kwalifikator .nq-check input{margin:1px 0 0; width:24px; height:24px; flex:none; accent-color:var(--accent); cursor:pointer;}
#nis2-kwalifikator .nq-check:focus-within{outline:3px solid var(--focus); outline-offset:2px; border-radius:6px;}
#nis2-kwalifikator .nq-check b{color:var(--ink);}
#nis2-kwalifikator .nq-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
#nis2-kwalifikator .nq-err{display:flex; gap:6px; align-items:flex-start; color:var(--danger); font-size:14.5px; font-weight:600; margin-top:8px;}
#nis2-kwalifikator .nq-err::before{content:"!"; flex:none; width:18px; height:18px; border-radius:50%; background:var(--danger); color:var(--paper-raised); font-size:12px; line-height:18px; text-align:center; font-weight:800; margin-top:1px;}
#nis2-kwalifikator .nq-q.has-error{border-left:4px solid var(--danger); padding-left:10px;}
#nis2-kwalifikator .nq-cond{border-left:4px solid var(--line-strong); padding-left:12px; margin:0 0 22px;}
#nis2-kwalifikator .nq-cond > .nq-q:last-child{margin-bottom:0;}
#nis2-kwalifikator .nq-lead-in{font-size:14.5px; color:var(--ink-soft); margin:0 0 12px; max-width:66ch;}
#nis2-kwalifikator .nq-lead-in strong{color:var(--ink);}
#nis2-kwalifikator .nq-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:11px 20px; font:inherit; font-size:16px; font-weight:700; line-height:1.2; text-decoration:none; text-transform:none; letter-spacing:0; border-radius:10px; border:1.5px solid var(--ctl); background:var(--paper-raised); color:var(--ink); cursor:pointer; box-shadow:none; margin:0;}
#nis2-kwalifikator .nq-btn:hover{border-color:var(--ink-soft);}
#nis2-kwalifikator .nq-btn--primary{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
#nis2-kwalifikator .nq-btn--primary:hover{filter:brightness(1.07); border-color:var(--accent);}
#nis2-kwalifikator .nq-btn--ghost{background:transparent;}
#nis2-kwalifikator .nq-btn--big{min-height:56px; font-size:17px; width:100%;}
#nis2-kwalifikator .nq-btn[disabled], #nis2-kwalifikator .nq-btn[aria-disabled="true"]{opacity:.6; cursor:progress;}
#nis2-kwalifikator .nq-link{background:none; border:0; padding:0; margin:0; font:inherit; color:var(--accent); text-decoration:underline; cursor:pointer; min-height:44px; display:inline-flex; align-items:center;}
#nis2-kwalifikator .nq-spin{width:16px; height:16px; border:2px solid currentColor; border-right-color:transparent; border-radius:50%; animation:nqspin .8s linear infinite;}
@keyframes nqspin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){
#nis2-kwalifikator .nq-spin{animation:none; border-right-color:currentColor;}
 }
#nis2-kwalifikator .nq-nav{display:flex; justify-content:space-between; gap:12px; margin:24px calc(-1 * var(--nq-pad)) calc(-1 * var(--nq-pad)); padding:12px var(--nq-pad); background:var(--paper-raised); border-top:1px solid var(--line-strong); border-radius:0 0 var(--r) var(--r); position:sticky; bottom:0; z-index:5; box-shadow:0 -6px 14px -10px rgba(0,0,0,.35);}
#nis2-kwalifikator .nq-nav .nq-btn--primary{flex:1 1 auto;}
#nis2-kwalifikator .nq-nav .nq-btn:not(.nq-btn--primary){flex:0 0 auto;}
#nis2-kwalifikator .nq-nav--one{justify-content:flex-end;}
@media (min-width:720px){
#nis2-kwalifikator .nq-nav .nq-btn--primary{flex:0 0 auto; min-width:240px;}
#nis2-kwalifikator .nq-nav{justify-content:space-between;}
#nis2-kwalifikator .nq-nav--one{justify-content:flex-end;}
 }
#nis2-kwalifikator .nq-res{display:block;}
#nis2-kwalifikator .nq-verdict{border:1.5px solid var(--vc); background:var(--vs); border-radius:var(--r); border-left-width:8px; padding:14px 16px; margin:0 0 14px;}
#nis2-kwalifikator .nq-stamp{display:block; font-family:var(--wp--preset--font-family--inter), "Inter", ui-sans-serif, system-ui, sans-serif; font-weight:700; font-size:clamp(1.25rem,5.4vw,1.6rem); line-height:1.2; color:var(--vc); margin-bottom:8px; text-wrap:balance;}
#nis2-kwalifikator .nq-vdesc{font-size:16px; line-height:1.55; max-width:66ch; color:var(--ink);}
#nis2-kwalifikator .nq-vdesc > *{margin:0 0 .8em;}
#nis2-kwalifikator .nq-vdesc > :last-child{margin-bottom:0;}
#nis2-kwalifikator .nq-vdesc ul, #nis2-kwalifikator .nq-steps-list .nq-md ul, #nis2-kwalifikator .nq-fold-body ul:not(.nq-steps-list){list-style:disc; padding-left:22px; display:flex; flex-direction:column; gap:.4em;}
#nis2-kwalifikator .nq-vdesc a, #nis2-kwalifikator .nq-steps-list a, #nis2-kwalifikator .nq-fine a, #nis2-kwalifikator .nq-clause a, #nis2-kwalifikator .nq-dl-notes a, #nis2-kwalifikator .nq-fold-body a{color:inherit; text-decoration:underline; font-weight:700; overflow-wrap:anywhere;}
#nis2-kwalifikator .nq-vdesc a:focus-visible, #nis2-kwalifikator .nq-steps-list a:focus-visible, #nis2-kwalifikator .nq-fine a:focus-visible, #nis2-kwalifikator .nq-clause a:focus-visible, #nis2-kwalifikator .nq-dl-notes a:focus-visible, #nis2-kwalifikator .nq-fold-body a:focus-visible{outline:3px solid var(--focus); outline-offset:2px;}
#nis2-kwalifikator .nq-ref{font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:12.5px; color:var(--ink-soft); margin-bottom:12px;}
#nis2-kwalifikator .nq-cta{border:2px solid var(--accent); background:var(--paper-raised); border-radius:var(--r); padding:16px; margin:0 0 16px;}
#nis2-kwalifikator .nq-cta h3{font-size:1.2rem; margin-bottom:4px;}
#nis2-kwalifikator .nq-cta p{font-size:15px; color:var(--ink-soft); margin-bottom:12px;}
#nis2-kwalifikator .nq-cta-alt{display:flex; flex-wrap:wrap; gap:0 18px; margin-top:8px; font-size:15px; align-items:center;}
#nis2-kwalifikator .nq-cta-alt a{display:inline-flex; align-items:center; min-height:44px; font-weight:600; color:var(--ink);}
#nis2-kwalifikator .nq-form{margin-top:14px; padding-top:14px; border-top:1px dashed var(--line-strong);}
#nis2-kwalifikator .nq-cta.is-done{border:0; padding:0;}
#nis2-kwalifikator .nq-cta--direct{padding:12px 14px; margin:0 0 20px; border-width:1.5px; background:var(--paper-sunken);}
#nis2-kwalifikator .nq-cta--direct h3{font-size:1.05rem; margin-bottom:2px;}
#nis2-kwalifikator .nq-cta--direct > p{font-size:14px; margin-bottom:10px;}
#nis2-kwalifikator .nq-cta--direct .nq-cta-alt{display:none;}
#nis2-kwalifikator .nq-cta--direct.is-done{background:transparent;}
#nis2-kwalifikator .nq-cta--direct .nq-form .nq-cta-alt{display:none;}
#nis2-kwalifikator .nq-fold{border:1.5px solid var(--line-strong); border-radius:var(--r); background:var(--paper-raised); margin:0 0 10px;}
#nis2-kwalifikator .nq-fold > summary{cursor:pointer; min-height:52px; display:flex; align-items:center; gap:10px; padding:10px 14px; font-weight:700; font-size:16px; color:var(--ink); list-style:none;}
#nis2-kwalifikator .nq-fold > summary::-webkit-details-marker{display:none;}
#nis2-kwalifikator .nq-fold > summary::after{content:""; margin-left:auto; flex:none; width:9px; height:9px; border-right:2.5px solid var(--ink-soft); border-bottom:2.5px solid var(--ink-soft); transform:rotate(45deg) translateY(-2px);}
#nis2-kwalifikator .nq-fold[open] > summary::after{transform:rotate(-135deg) translateY(-2px);}
#nis2-kwalifikator .nq-fold[open] > summary{border-bottom:1px solid var(--line);}
#nis2-kwalifikator .nq-fold-body{padding:14px; font-size:15.5px; line-height:1.6;}
#nis2-kwalifikator .nq-fold-body > *{margin:0 0 .8em;}
#nis2-kwalifikator .nq-fold-body > :last-child{margin-bottom:0;}
#nis2-kwalifikator .nq-steps-list{counter-reset:s; display:flex; flex-direction:column; gap:12px;}
#nis2-kwalifikator .nq-steps-list li{counter-increment:s; display:flex; gap:12px; font-size:15px; line-height:1.55;}
#nis2-kwalifikator .nq-steps-list li::before{content:counter(s); flex:none; width:26px; height:26px; border-radius:50%; border:1.5px solid var(--accent); color:var(--accent); font-weight:700; font-size:13px; display:flex; align-items:center; justify-content:center; margin-top:0; font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;}
#nis2-kwalifikator .nq-uncert{background:var(--sev-unknown-soft); border:1px solid var(--sev-unknown); border-radius:10px; padding:12px 14px; margin:14px 0 0; font-size:14.5px;}
#nis2-kwalifikator .nq-uncert h3{font-family:var(--wp--preset--font-family--inter), "Inter", ui-sans-serif, system-ui, sans-serif; font-size:15px; font-weight:700; margin-bottom:6px;}
#nis2-kwalifikator .nq-uncert ul{list-style:disc; padding-left:20px; display:flex; flex-direction:column; gap:4px;}
#nis2-kwalifikator .nq-mail-list{display:flex; flex-direction:column; gap:8px; font-size:15px;}
#nis2-kwalifikator .nq-mail-list li{display:flex; gap:10px;}
#nis2-kwalifikator .nq-mail-list li::before{content:"\2713"; color:var(--sev-clear); font-weight:800; flex:none;}
#nis2-kwalifikator .nq-sec{margin:0 0 20px;}
#nis2-kwalifikator .nq-sec > h3{font-family:var(--wp--preset--font-family--inter), "Inter", ui-sans-serif, system-ui, sans-serif; font-size:15px; color:var(--ink); font-weight:700; margin-bottom:8px;}
#nis2-kwalifikator .nq-dl{display:grid; grid-template-columns:minmax(90px,30%) 1fr; font-size:14.5px; border-top:1px solid var(--line-strong);}
#nis2-kwalifikator .nq-dl dt, #nis2-kwalifikator .nq-dl dd{padding:9px 0; border-bottom:1px solid var(--line); min-width:0; overflow-wrap:anywhere;}
#nis2-kwalifikator .nq-dl dt{color:var(--ink-soft); font-weight:700; font-size:13.5px; padding-right:10px;}
#nis2-kwalifikator .nq-dl dd{display:flex; justify-content:space-between; gap:10px; align-items:flex-start;}
#nis2-kwalifikator .nq-dl dd .nq-link{font-size:14px; flex:none;}
@media (max-width:420px){
#nis2-kwalifikator .nq-dl{grid-template-columns:1fr;}
#nis2-kwalifikator .nq-dl dt{border-bottom:0; padding-bottom:0; padding-top:10px;}
 }
#nis2-kwalifikator .nq-alert{border:1px solid var(--danger); background:var(--sev-critical-soft); color:var(--ink); border-radius:10px; padding:12px 14px; margin-top:12px; font-size:15px;}
#nis2-kwalifikator .nq-alert strong{color:var(--danger); display:block; margin-bottom:2px;}
#nis2-kwalifikator .nq-success{border:1.5px solid var(--sev-clear); background:var(--sev-clear-soft); border-radius:var(--r); padding:16px;}
#nis2-kwalifikator .nq-success h3{font-size:1.2rem; margin-bottom:6px;}
#nis2-kwalifikator .nq-fine{font-size:13.5px; color:var(--ink-soft); line-height:1.6;}
#nis2-kwalifikator .nq-foot{margin-top:18px; display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; justify-content:space-between;}
#nis2-kwalifikator .nq-foot .nq-btn{flex:1 1 200px;}
#nis2-kwalifikator .nq-clause{font-size:13.5px; line-height:1.55; color:var(--ink-soft); padding:0 0 4px;}
#nis2-kwalifikator .nq-clause p{margin:0 0 6px;}
#nis2-kwalifikator .nq-clause .nq-cl-title{font-weight:700; color:var(--ink);}
#nis2-kwalifikator .nq-clause .nq-cl-sub{padding-left:16px;}
#nis2-kwalifikator mark.nq-todo{background:var(--sev-warn-soft); color:var(--ink); padding:0 3px; outline:1px dashed var(--sev-warn);}
#nis2-kwalifikator .nq-consents{margin:6px 0 4px;}
@media (min-width:900px){
#nis2-kwalifikator .nq-res{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:0 28px; align-items:start;}
#nis2-kwalifikator .nq-res-main{position:sticky; top:12px;}

}
#nis2-kwalifikator .nq-res .nq-h{margin-bottom:2px;}
@media (max-width:719px){
#nis2-kwalifikator.is-result .nq-progress, #nis2-kwalifikator.is-result .nq-sub{display:none;}

}
@media print{
#nis2-kwalifikator .nq-nav, #nis2-kwalifikator .nq-cta .nq-form, #nis2-kwalifikator .nq-steps, #nis2-kwalifikator .nq-progress, #nis2-kwalifikator .nq-foot, #nis2-kwalifikator .nq-deadline .nq-clock{display:none !important;}
#nis2-kwalifikator .nq-res{display:block;}

}
