/* Percurso DORA e De ISO 27001 e NIS2 a DORA: estilos isolados das páginas dora/ferramentas/percurso-dora.html e de-iso27001-nis2-a-dora.html (classes com prefixo pd-).
   Painel de perfil à esquerda; à direita, fluxograma de qualificação e linha de implementação com etapas e desvios. */
/* IBM Plex alojada no site (licença OFL em assets/fonts/ibm-plex/OFL.txt) */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../assets/fonts/ibm-plex/ibm-plex-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("../assets/fonts/ibm-plex/ibm-plex-sans-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../assets/fonts/ibm-plex/ibm-plex-sans-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:normal;font-weight:500;font-display:swap;src:url("../assets/fonts/ibm-plex/ibm-plex-sans-condensed-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:normal;font-weight:600;font-display:swap;src:url("../assets/fonts/ibm-plex/ibm-plex-sans-condensed-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("../assets/fonts/ibm-plex/ibm-plex-sans-condensed-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("../assets/fonts/ibm-plex/ibm-plex-mono-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url("../assets/fonts/ibm-plex/ibm-plex-mono-latin-500-normal.woff2") format("woff2")}
.pd-root{
  --pd-paper:#F5F7FB; --pd-surface:#FFFFFF; --pd-surface2:#EDF1F8; --pd-ink:#13203B; --pd-muted:#5A6479; --pd-line:#D5DBE8;
  --pd-cobalt:#1E4FD0; --pd-teal:#0A6F68; --pd-ochre:#875808; --pd-plum:#77399A; --pd-green:#256B3E; --pd-orange:#AD3E0A; --pd-off:#5C667C;
  --pd-route:var(--pd-teal);
  --pd-f-display:"IBM Plex Sans Condensed","Arial Narrow",system-ui,sans-serif;
  --pd-f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --pd-f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  font-family:var(--pd-f-body);font-size:15px;line-height:1.5;color:var(--pd-ink);
}
[data-theme="dark"] .pd-root{
  --pd-paper:#0D1322; --pd-surface:#131B2E; --pd-surface2:#19233B; --pd-ink:#E5EAF4; --pd-muted:#9AA4BB; --pd-line:#26304A;
  --pd-cobalt:#7397FF; --pd-teal:#36C2B5; --pd-ochre:#E3A94C; --pd-plum:#BC8BDC; --pd-green:#5DC28B; --pd-orange:#F18C4E; --pd-off:#8A93AD; color-scheme:dark}
.pd-root *,.pd-root *::before,.pd-root *::after{box-sizing:border-box}
.pd-root [hidden]{display:none!important}
.pd-root :where(h2,h3,h4,p,ul,ol,fieldset,legend){margin:0;padding:0}
.pd-root :where(h2,h3,h4){color:var(--pd-ink);line-height:1.2}
.pd-root a{background-image:none!important}
.pd-page{background:var(--pd-paper);padding-block:28px 56px}
.pd-eyebrow{font-family:var(--pd-f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--pd-muted)}
.pd-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:900px){.pd-layout{grid-template-columns:minmax(0,1fr)}}
/* painel */
.pd-profile{position:sticky;top:calc(var(--pd-header-h,96px) + 16px);background:var(--pd-surface);border:1px solid var(--pd-line);border-radius:10px;padding:18px;display:grid;gap:18px}
@media (max-width:900px){.pd-profile{position:static}}
.pd-profile h3{font-family:var(--pd-f-display);font-size:18px;margin:0;font-weight:600}
.pd-field{display:grid;gap:8px;border:0;padding:0;margin:0;min-width:0}
.pd-field legend,.pd-field>label.pd-lab{font-size:12px;font-family:var(--pd-f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--pd-muted);padding:0;margin-bottom:2px}
.pd-seg{position:relative;display:flex;flex-wrap:wrap;gap:6px}
.pd-seg input{position:absolute;opacity:0;pointer-events:none}
.pd-seg label{border:1px solid var(--pd-line);border-radius:999px;padding:6px 12px;font-size:13.5px;cursor:pointer;background:var(--pd-surface2);color:var(--pd-ink);transition:background .15s,border-color .15s}
.pd-seg input:checked+label{background:var(--pd-ink);color:var(--pd-paper);border-color:var(--pd-ink)}
.pd-seg input:focus-visible+label{outline:2px solid var(--pd-cobalt);outline-offset:2px}
.pd-select{width:100%;font:inherit;font-size:14px;padding:8px 10px;border-radius:8px;border:1px solid var(--pd-line);background:var(--pd-surface2);color:var(--pd-ink)}
.pd-select:focus-visible{outline:2px solid var(--pd-cobalt);outline-offset:1px}
.pd-tog{display:flex;align-items:flex-start;gap:10px;font-size:14px;cursor:pointer}
.pd-tog input{margin-top:3px;accent-color:var(--pd-cobalt);width:16px;height:16px;flex:none}
.pd-tog small{display:block;color:var(--pd-muted);font-size:12.5px;line-height:1.4}
.pd-note{font-size:12.5px;color:var(--pd-muted);line-height:1.45;margin:0}
.pd-example-wrap{display:grid;gap:4px;justify-items:start}
.pd-example{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:12.5px;line-height:1.45;color:var(--pd-muted)}
.pd-example-i{flex:none;width:16px;height:16px;border-radius:50%;background:var(--pd-cobalt);color:var(--pd-paper);font:italic 700 11px/16px var(--pd-f-display);text-align:center;margin-top:1px}
.pd-reset{font:inherit;font-size:12.5px;color:var(--pd-cobalt);background:none;border:0;padding:2px 0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.pd-reset:hover{text-decoration-thickness:2px}
.pd-reset:focus-visible{outline:2px solid var(--pd-cobalt);outline-offset:2px;border-radius:3px}
.pd-reset[hidden],.pd-example[hidden]{display:none}
/* resultado */
.pd-main{display:grid;gap:28px;min-width:0}
.pd-main>*,.pd-layout>*,.pd-sec{min-width:0}
.pd-sec{padding:0}
.pd-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:end;border-bottom:1px solid var(--pd-line);padding-bottom:20px}
@media (max-width:620px){.pd-result{grid-template-columns:minmax(0,1fr)}}
.pd-result .pd-kind{font-family:var(--pd-f-display);font-weight:700;font-size:clamp(26px,3.4vw,36px);line-height:1.05;color:var(--pd-route);margin:2px 0 6px}
.pd-result p{margin:0;color:var(--pd-muted);max-width:60ch}
.pd-stats{display:flex;gap:22px;flex-wrap:wrap}
.pd-stat b{display:block;font-family:var(--pd-f-display);font-size:30px;line-height:1;font-variant-numeric:tabular-nums}
.pd-stat span{font-size:12px;color:var(--pd-muted);font-family:var(--pd-f-mono);letter-spacing:.04em;text-transform:uppercase}
.pd-sec h3{font-family:var(--pd-f-display);font-weight:600;font-size:21px;margin:0 0 4px}
.pd-sec .pd-sub{margin:0 0 14px;color:var(--pd-muted);font-size:14px;max-width:70ch}
/* fluxograma */
.pd-flowbox{background:var(--pd-surface);border:1px solid var(--pd-line);border-radius:10px;overflow-x:auto}
.pd-flowbox svg{display:block;min-width:900px;width:100%;height:auto}
.pd-n rect,.pd-n polygon{fill:var(--pd-surface2);stroke:var(--pd-line);stroke-width:1.5;transition:fill .25s,stroke .25s,opacity .25s}
.pd-n text{fill:var(--pd-muted);font-family:var(--pd-f-body);font-size:11.5px;text-anchor:middle;transition:fill .25s}
.pd-n text .pd-t1{font-weight:600}
.pd-n.pd-on rect,.pd-n.pd-on polygon{fill:var(--pd-surface);stroke:var(--pd-route);stroke-width:2.5}
.pd-n.pd-on text{fill:var(--pd-ink)}
.pd-n.pd-res.pd-on rect{fill:var(--pd-route);stroke:var(--pd-route)}
.pd-n.pd-res.pd-on text{fill:var(--pd-paper)}
.pd-e{fill:none;stroke:var(--pd-line);stroke-width:2;transition:stroke .25s}
.pd-e.pd-on{stroke:var(--pd-route);stroke-width:3}
.pd-el{font-family:var(--pd-f-mono);font-size:11px;fill:var(--pd-muted)}
.pd-el.pd-on{fill:var(--pd-route);font-weight:500}
#pd-ah path{fill:var(--pd-line)} #pd-ahOn path{fill:var(--pd-route)}
.pd-flownote{font-size:12.5px;color:var(--pd-muted);padding:10px 16px 14px;margin:0;border-top:1px solid var(--pd-line)}
/* desvios */
.pd-detours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:760px){.pd-detours{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pd-det{border:1px solid var(--pd-line);border-radius:10px;padding:12px 14px;background:var(--pd-surface);display:grid;gap:4px;border-style:dashed;transition:border-color .2s}
.pd-det.pd-on{border-style:solid;border-color:var(--pd-c)}
.pd-det .pd-dl{display:flex;align-items:center;gap:8px;font-family:var(--pd-f-display);font-weight:600;font-size:15px}
.pd-dot{width:10px;height:10px;border-radius:50%;background:var(--pd-c);flex:none}
.pd-det small{color:var(--pd-muted);font-size:12.5px;line-height:1.4}
.pd-det .pd-dst{font-family:var(--pd-f-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--pd-muted)}
.pd-det.pd-on .pd-dst{color:var(--pd-c)}
.pd-det:not(.pd-on) .pd-dot{background:var(--pd-off)}
/* linha */
.pd-line{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.pd-stn{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;position:relative;padding-bottom:22px}
.pd-stn::before{content:"";position:absolute;left:21px;top:30px;bottom:0;width:4px;background:var(--pd-route);border-radius:2px;opacity:.9}
.pd-stn:last-child::before{display:none}
.pd-stn.pd-na::before{background:var(--pd-line)}
.pd-knob{width:44px;height:44px;border-radius:50%;border:4px solid var(--pd-route);background:var(--pd-surface);display:grid;place-items:center;font-family:var(--pd-f-display);font-weight:700;font-size:18px;color:var(--pd-ink);position:relative;z-index:1}
.pd-stn.pd-na .pd-knob{border-color:var(--pd-line);color:var(--pd-muted)}
.pd-card{background:var(--pd-surface);border:1px solid var(--pd-line);border-radius:10px;padding:16px 18px;display:grid;gap:12px;min-width:0}
.pd-stn.pd-na .pd-card{background:transparent;border-style:dashed}
.pd-chead{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;justify-content:space-between}
.pd-chead h4{font-family:var(--pd-f-display);font-weight:600;font-size:19px;margin:0}
.pd-basis{font-family:var(--pd-f-mono);font-size:12px;color:var(--pd-muted)}
.pd-notes{display:flex;flex-wrap:wrap;gap:6px}
.pd-chip{font-size:12.5px;border-radius:6px;padding:4px 9px;background:var(--pd-surface2);color:var(--pd-ink);border:1px solid var(--pd-line)}
.pd-chip b{font-family:var(--pd-f-mono);font-weight:500;color:var(--pd-route)}
.pd-clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
@media (max-width:620px){.pd-clock{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pd-clock div{border:1px solid var(--pd-line);border-radius:8px;padding:8px 10px;background:var(--pd-surface2)}
.pd-clock b{display:block;font-family:var(--pd-f-display);font-size:19px;color:var(--pd-route);font-variant-numeric:tabular-nums}
.pd-clock span{font-size:12px;color:var(--pd-muted);line-height:1.35;display:block}
.pd-grp{display:grid;gap:8px}
.pd-gl{display:flex;align-items:center;gap:8px;font-size:12px;font-family:var(--pd-f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--pd-muted)}
.pd-gl .pd-dot{width:8px;height:8px}
.pd-tpls{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px}
.pd-tpls li{min-width:0;display:flex}
.pd-tpl{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;background:var(--pd-surface2);font:inherit;font-size:13.5px;line-height:1.3;min-width:0;width:100%;text-align:left;color:var(--pd-ink);border:1px solid transparent;cursor:pointer;transition:border-color .15s,background .15s}
.pd-tpl:hover{border-color:var(--pd-route);background:var(--pd-surface)}
.pd-tpl:focus-visible{outline:2px solid var(--pd-cobalt);outline-offset:1px}
.pd-ov{position:fixed;inset:0;background:rgba(10,16,30,.55);display:grid;place-items:center;z-index:2000;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.pd-modal{background:var(--pd-surface);color:var(--pd-ink);border:1px solid var(--pd-line);border-radius:12px;max-width:520px;width:100%;padding:22px;display:grid;gap:14px;max-height:100%;overflow:auto;position:relative}
.pd-modal h2{font-family:var(--pd-f-display);font-size:22px;margin:0;padding-right:32px}
.pd-modal .pd-mt{display:flex;align-items:center;gap:8px;background:var(--pd-surface2);border-radius:8px;padding:9px 11px;font-size:14px}
.pd-modal p{margin:0;color:var(--pd-muted);font-size:14px}
.pd-mclose{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:8px;border:1px solid var(--pd-line);background:var(--pd-surface2);color:var(--pd-ink);font-size:18px;line-height:1;cursor:pointer}
.pd-mail{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pd-mail code{font-family:var(--pd-f-mono);font-size:14px;background:var(--pd-surface2);border:1px solid var(--pd-line);border-radius:6px;padding:6px 10px;user-select:all}
.pd-btn{font:inherit;font-size:14px;font-weight:600;border-radius:8px;padding:8px 14px;cursor:pointer;border:1px solid var(--pd-ink);background:var(--pd-ink);color:var(--pd-paper);text-decoration:none;display:inline-flex;align-items:center}
.pd-btn.pd-alt{background:transparent;color:var(--pd-ink);border-color:var(--pd-line)}
.pd-btn:focus-visible,.pd-mclose:focus-visible{outline:2px solid var(--pd-cobalt);outline-offset:2px}
.pd-req{width:100%;min-height:150px;font-family:var(--pd-f-mono);font-size:12.5px;line-height:1.5;border:1px solid var(--pd-line);border-radius:8px;background:var(--pd-surface2);color:var(--pd-ink);padding:10px;resize:vertical}
.pd-ok{font-size:12.5px;color:var(--pd-route);min-height:1em}
.pd-tpl .pd-tn{min-width:0;overflow-wrap:anywhere}
.pd-fmt{font-family:var(--pd-f-mono);font-size:10.5px;font-weight:500;letter-spacing:.04em;padding:2px 5px;border-radius:4px;flex:none;color:var(--pd-surface)}
.pd-fmt-d{background:var(--pd-cobalt)} .pd-fmt-x{background:var(--pd-green)}
.pd-new{font-family:var(--pd-f-mono);font-size:10.5px;color:var(--pd-orange);border:1px solid var(--pd-orange);border-radius:4px;padding:1px 5px;flex:none;margin-left:auto}
.pd-more{border-top:1px dashed var(--pd-line);padding-top:10px}
.pd-more summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--pd-route);list-style:none;display:flex;align-items:center;gap:8px}
.pd-more summary::-webkit-details-marker{display:none}
.pd-more summary::before{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--pd-route);font-family:var(--pd-f-mono);font-size:13px;line-height:1}
.pd-more[open] summary::before{content:"−"}
.pd-more .pd-tpls{margin-top:10px}
.pd-more summary:focus-visible{outline:2px solid var(--pd-cobalt);outline-offset:2px;border-radius:4px}
.pd-cal{background:var(--pd-surface);border:1px solid var(--pd-line);border-radius:10px;padding:16px 18px;display:grid;gap:14px}
.pd-cal-bar{position:relative;height:60px;margin:4px 46px 0}
.pd-cal-track{position:absolute;left:0;right:0;top:22px;height:6px;border-radius:3px;background:var(--pd-surface2);border:1px solid var(--pd-line)}
.pd-cal-fill{position:absolute;left:0;top:22px;height:6px;border-radius:3px;background:var(--pd-route);transition:width .6s ease}
.pd-cal-mk{position:absolute;top:0;transform:translateX(-50%);display:grid;justify-items:center;gap:2px;font-family:var(--pd-f-mono);font-size:10.5px;color:var(--pd-muted);white-space:nowrap}
.pd-cal-mk i{width:14px;height:14px;border-radius:50%;background:var(--pd-surface);border:3px solid var(--pd-route);margin-top:18px;display:block}
.pd-cal-mk.pd-today i{border-color:var(--pd-ink);background:var(--pd-ink);width:10px;height:10px;margin-top:20px}
.pd-cal-mk.pd-end i{background:var(--pd-route)}
.pd-cal-mk span{position:absolute;top:44px}
.pd-cal-mk.pd-up span{top:0}
.pd-cal-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.pd-cal-it{border:1px solid var(--pd-line);border-radius:8px;padding:10px 12px;background:var(--pd-surface2);display:grid;gap:2px}
.pd-cal-it b{font-family:var(--pd-f-display);font-size:18px;font-variant-numeric:tabular-nums}
.pd-cal-it .pd-w{font-family:var(--pd-f-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--pd-route)}
.pd-cal-it small{color:var(--pd-muted);font-size:12.5px;line-height:1.4}
.pd-date{width:100%;font:inherit;font-size:14px;padding:7px 10px;border-radius:8px;border:1px solid var(--pd-line);background:var(--pd-surface2);color:var(--pd-ink)}
.pd-date:focus-visible{outline:2px solid var(--pd-cobalt);outline-offset:1px}
.pd-metro{background:var(--pd-surface);border:1px solid var(--pd-line);border-radius:10px;overflow-x:auto;margin-bottom:18px}
.pd-metro svg{display:block;min-width:760px;width:100%;height:auto}
.pd-m-line{fill:none;stroke:var(--pd-route);stroke-width:8;stroke-linecap:round}
.pd-m-st{cursor:pointer}
.pd-m-st circle{fill:var(--pd-surface);stroke:var(--pd-route);stroke-width:5;transition:r .2s}
.pd-m-st:hover circle:not(.pd-m-ring),.pd-m-st:focus-visible circle:not(.pd-m-ring){r:19}
.pd-m-st:focus-visible{outline:none}
.pd-m-st .pd-m-ring{fill:none;stroke:none}
.pd-m-st:focus-visible .pd-m-ring{stroke:var(--pd-ink);stroke-width:3;stroke-dasharray:5 3}
.pd-m-st.pd-na circle{stroke:var(--pd-line)}
.pd-m-st text.num{font-family:var(--pd-f-display);font-weight:700;font-size:15px;fill:var(--pd-ink);text-anchor:middle}
.pd-m-lab{font-family:var(--pd-f-display);font-weight:600;font-size:14px;fill:var(--pd-ink);text-anchor:middle}
.pd-m-cnt{font-family:var(--pd-f-mono);font-size:11px;fill:var(--pd-muted);text-anchor:middle}
.pd-m-spur{fill:none;stroke-width:5;stroke-linecap:round}
.pd-m-spl{font-family:var(--pd-f-mono);font-size:11px;text-anchor:middle;font-weight:500}
.pd-draw{stroke-dasharray:1;stroke-dashoffset:1;animation:pd-draw .7s ease forwards}
@keyframes pd-draw{to{stroke-dashoffset:0}}
.pd-pop{opacity:0;animation:pd-pop .35s ease forwards}
@keyframes pd-pop{to{opacity:1}}
@media (prefers-reduced-motion:reduce){.pd-draw{animation:none;stroke-dashoffset:0}.pd-pop{animation:none;opacity:1}}
.pd-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;background:var(--pd-surface);border:1px solid var(--pd-route);border-radius:10px;padding:16px 18px}
.pd-cta p{margin:0;color:var(--pd-muted);font-size:14px;flex:1 1 280px}
.pd-cta .pd-btn{background:var(--pd-route);border-color:var(--pd-route);color:var(--pd-paper)}
.pd-result .pd-btn{background:var(--pd-route);border-color:var(--pd-route);color:var(--pd-paper);justify-self:start}
.pd-m-tags{display:flex;flex-wrap:wrap;gap:6px}
.pd-m-desc{color:var(--pd-ink)!important;font-size:14.5px!important;line-height:1.5}
.pd-na-msg{margin:0;color:var(--pd-muted);font-size:14px}
.pd-footnote{font-size:12.5px;color:var(--pd-muted);border-top:1px solid var(--pd-line);padding-top:14px;max-width:90ch}
@media (prefers-reduced-motion:reduce){.pd-root *{transition:none!important;scroll-behavior:auto!important}}
.pd-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pd-flowbox:focus-visible,.pd-metro:focus-visible,.pd-root summary:focus-visible,.pd-root a:focus-visible,.pd-root textarea:focus-visible{outline:2px solid var(--pd-cobalt);outline-offset:2px}
.pd-tpl-link{font-size:14px;font-weight:600;color:var(--pd-cobalt);text-decoration:underline;text-underline-offset:3px}
.pd-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.pd-pack-sep{border:0;border-top:1px solid var(--pd-line);width:100%;margin:2px 0}
.pd-stn{scroll-margin-top:calc(var(--pd-header-h,96px) + 12px)}
.pd-stn:focus{outline:none}
.pd-result .pd-aviso{margin-top:10px;font-size:13.5px;color:var(--pd-ink);background:var(--pd-surface2);border-left:3px solid var(--pd-ochre);border-radius:0 6px 6px 0;padding:6px 10px;max-width:60ch}

/* ===== Percurso DORA: acrescentos ===== */
.pd-root{--pd-red:#B3261E}
[data-theme="dark"] .pd-root{--pd-red:#F07A72}
.pd-root :where(h1,dl,dd,dt,details){margin:0;padding:0}
.pd-tag{font-family:var(--pd-f-mono);font-size:10.5px;letter-spacing:.03em;border-radius:4px;padding:1px 6px;border:1px solid var(--pd-line);color:var(--pd-muted);white-space:nowrap;font-weight:500;text-transform:none;vertical-align:1px}
.pd-tag-a_confirmar{color:var(--pd-ochre);border-color:var(--pd-ochre)}
.pd-tag-inferido{color:var(--pd-cobalt);border-color:var(--pd-cobalt)}
.pd-tag-nao{color:var(--pd-muted)}
.pd-aviso{margin:10px 0 0;font-size:13.5px;color:var(--pd-ink);background:var(--pd-surface2);border-left:3px solid var(--pd-ochre);border-radius:0 6px 6px 0;padding:6px 10px;max-width:70ch}
.pd-profile>.pd-aviso{margin:0}
.pd-profile .pd-btn{justify-self:start}
.pd-lab{display:block}
.pd-field>.pd-lab{font-size:12px;font-family:var(--pd-f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--pd-muted);padding:0;margin:4px 0 0}
.pd-seg input:disabled+label{opacity:.45;cursor:not-allowed}
.pd-note a,.pd-footnote a,.pd-na-msg a{color:var(--pd-cobalt);text-decoration:underline;text-underline-offset:2px}
.pd-note strong{color:var(--pd-ink);font-weight:600}
.pd-main .pd-result>div:first-child{min-width:0}
.pd-kind{overflow-wrap:anywhere}
.pd-n.pd-dim text{opacity:.85}
.pd-n.pd-res.pd-on rect{fill:var(--pd-route)}
.pd-flowbox svg{min-width:900px}
.pd-flowbox:focus-visible,.pd-metro:focus-visible,.ic-colunata:focus-visible{outline:2px solid var(--pd-cobalt);outline-offset:2px}
/* templates: ligação, em preparação */
a.pd-tpl{text-decoration:none}
a.pd-tpl:hover{color:var(--pd-ink)}
.pd-tpl-prep,.pd-tpl-sem{cursor:default;border:1px dashed var(--pd-line);background:transparent}
.pd-tpl-prep .pd-tn{color:var(--pd-muted)}
.pd-prep,.pd-disp{font-family:var(--pd-f-mono);font-size:10.5px;border-radius:4px;padding:1px 5px;flex:none;margin-left:auto;white-space:nowrap}
.pd-prep{color:var(--pd-muted);border:1px solid var(--pd-line)}
.pd-disp{color:var(--pd-green);border:1px solid var(--pd-green)}
.pd-new{color:var(--pd-plum);border-color:var(--pd-plum)}
.pd-grp+.pd-grp{margin-top:2px}
/* calendário */
.pd-cal-bar{height:96px;margin:30px 46px 0}
.pd-cal-mk span{text-align:center;line-height:1.25}
.pd-cal-mk.pd-up span{top:-26px}
.pd-cal-mk.pd-st-a_confirmar i{border-style:dashed;border-color:var(--pd-ochre)}
.pd-cal-mk.pd-st-inferido i{border-color:var(--pd-cobalt)}
.pd-cal-mk.pd-today span{top:44px}
.pd-cal-mk.pd-end span{top:44px}
.pd-cal-intro{margin:0!important}
.pd-cal-it .pd-fonte{font-family:var(--pd-f-mono);font-size:11px;color:var(--pd-muted);line-height:1.4}
.pd-cal-it.pd-nao{opacity:.72}
.pd-cal-it .pd-w{text-transform:none;font-size:11.5px;letter-spacing:.02em}
.pd-cal-it small{overflow-wrap:anywhere}
.pd-cal-items{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.pd-relogio{margin-top:8px;border-top:1px dashed var(--pd-line);padding-top:8px}
.pd-relogio summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--pd-route)}
.pd-relogio summary:focus-visible{outline:2px solid var(--pd-cobalt);outline-offset:2px;border-radius:4px}
.pd-rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-top:8px}
.pd-rel-grid label{display:grid;gap:4px;font-size:12px;font-family:var(--pd-f-mono);color:var(--pd-muted)}
.pd-rel-grid input{font:inherit;font-size:13.5px;padding:6px 8px;border-radius:8px;border:1px solid var(--pd-line);background:var(--pd-surface);color:var(--pd-ink);min-width:0;width:100%}
.pd-rel-lista{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.pd-rel-lista li{display:grid;gap:1px;border:1px solid var(--pd-line);border-radius:8px;padding:8px 10px;background:var(--pd-surface)}
.pd-rel-data{font-family:var(--pd-f-display);font-size:17px;font-weight:600;color:var(--pd-route);font-variant-numeric:tabular-nums}
.pd-rel-nota{font-size:12.5px;color:var(--pd-muted);margin:8px 0 0}
.pd-rel-erro{color:var(--pd-red)}
.pd-m-st .pd-num{font-family:var(--pd-f-display);font-weight:700;font-size:15px;fill:var(--pd-ink);text-anchor:middle}
.pd-m-ring{fill:none}
.pd-chip{overflow-wrap:anywhere}
.pd-det .pd-dl{overflow-wrap:anywhere}
.pd-detours{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.pd-detours{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.pd-detours{grid-template-columns:minmax(0,1fr)}}
/* texto de apoio fora do painel */
.pd-prose{background:var(--pd-paper);padding-block:8px 48px}
.pd-prose h2{font-family:var(--pd-f-display);font-size:22px;margin:0 0 10px}
.pd-prose ul{padding-left:20px;display:grid;gap:6px;margin:0 0 12px}
.pd-prose p{max-width:80ch;margin:0 0 10px;color:var(--pd-muted)}
.pd-prose a{color:var(--pd-cobalt);text-decoration:underline;text-underline-offset:2px}
.pd-m-desc{color:var(--pd-ink)!important}
.pd-modal[hidden],.pd-ov[hidden]{display:none}
.pd-modal .pd-actions{margin-top:2px}
/* ===== De ISO 27001 e NIS2 a DORA ===== */
.pd-pill{font-family:var(--pd-f-mono);font-size:11px;letter-spacing:.03em;border-radius:999px;padding:2px 9px;border:1px solid currentColor;white-space:nowrap;flex:none;font-weight:500}
.pd-pill-cobre{color:var(--pd-green)}
.pd-pill-parte{color:var(--pd-ochre)}
.pd-pill-falta{color:var(--pd-red)}
.pd-pill-nao,.pd-pill-cond{color:var(--pd-muted)}
.ic-s-cobre b{color:var(--pd-green)} .ic-s-parte b{color:var(--pd-ochre)} .ic-s-falta b{color:var(--pd-red)}
.ic-colunata{background:var(--pd-surface);border:1px solid var(--pd-line);border-radius:10px;overflow-x:auto}
.ic-colunata svg{display:block;min-width:760px;width:100%;height:auto}
.ic-ped{fill:var(--pd-surface2);stroke:var(--pd-line);stroke-width:1.5}
.ic-ped-t{font-family:var(--pd-f-display);font-weight:600;font-size:16px;fill:var(--pd-ink);text-anchor:middle}
.ic-arq{fill:var(--pd-ink);opacity:.85}
.ic-cap,.ic-base{fill:var(--pd-ink);opacity:.85}
.ic-fuste-bg{fill:var(--pd-surface2);stroke:var(--pd-line);stroke-width:1}
.ic-seg{stroke:var(--pd-surface);stroke-width:1.5}
.ic-seg-cobre{fill:var(--pd-green);background:var(--pd-green)}
.ic-seg-parte{fill:var(--pd-ochre);background:var(--pd-ochre)}
.ic-seg-falta{fill:var(--pd-red);background:var(--pd-red)}
.ic-seg-nao{fill:var(--pd-off);background:var(--pd-off);opacity:.55}
.ic-seg-n{font-family:var(--pd-f-mono);font-size:12px;font-weight:500;fill:var(--pd-surface);text-anchor:middle}
.ic-lab{font-family:var(--pd-f-display);font-weight:600;font-size:15px;fill:var(--pd-ink);text-anchor:middle}
.ic-cnt{font-family:var(--pd-f-mono);font-size:11.5px;fill:var(--pd-muted);text-anchor:middle}
.ic-col{cursor:pointer;outline:none}
.ic-col:hover .ic-fuste-bg,.ic-col:focus-visible .ic-fuste-bg{stroke:var(--pd-ink);stroke-width:2}
.ic-col:focus-visible .ic-cap{stroke:var(--pd-cobalt);stroke-width:3}
.ic-legenda{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--pd-muted);margin-top:10px}
.ic-legenda i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.ic-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 16px}
.ic-tab{font:inherit;font-size:13.5px;border:1px solid var(--pd-line);background:var(--pd-surface2);color:var(--pd-ink);border-radius:999px;padding:6px 14px;cursor:pointer}
.ic-tab[aria-pressed="true"]{background:var(--pd-ink);color:var(--pd-paper);border-color:var(--pd-ink)}
.ic-tab:focus-visible{outline:2px solid var(--pd-cobalt);outline-offset:2px}
.ic-pilar{margin-bottom:26px;scroll-margin-top:calc(var(--pd-header-h,96px) + 12px)}
.ic-pilar:focus{outline:none}
.ic-pilar h4{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-family:var(--pd-f-display);font-size:19px;font-weight:600;margin:0 0 8px}
.ic-pilar h4 small{font-family:var(--pd-f-mono);font-size:11.5px;font-weight:400;color:var(--pd-muted)}
.ic-pn{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:3px solid var(--pd-cobalt);font-size:14px}
.ic-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--pd-surface2);border:1px solid var(--pd-line)}
.ic-bar i{display:block;height:100%}
.ic-cont{font-size:12.5px;color:var(--pd-muted);margin:6px 0 10px}
.ic-row{border:1px solid var(--pd-line);border-radius:10px;background:var(--pd-surface);margin-bottom:8px}
.ic-row>summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:center;padding:10px 14px;cursor:pointer;list-style:none}
.ic-row>summary::-webkit-details-marker{display:none}
.ic-row>summary:focus-visible{outline:2px solid var(--pd-cobalt);outline-offset:2px;border-radius:10px}
.ic-t{font-weight:600;font-size:14.5px;overflow-wrap:anywhere}
.ic-b{grid-column:2;font-family:var(--pd-f-mono);font-size:11.5px;color:var(--pd-muted);overflow-wrap:anywhere}
.ic-row[open]{border-color:var(--pd-route)}
.ic-det{padding:2px 14px 14px}
.ic-det dl{display:grid;gap:8px}
.ic-det dt{font-family:var(--pd-f-mono);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--pd-muted);margin-top:6px}
.ic-det dt small{text-transform:none;letter-spacing:0}
.ic-det dd{font-size:14px;overflow-wrap:anywhere}
.ic-det dd ul{padding-left:18px;margin:0;display:grid;gap:3px}
.ic-det dd ul.pd-tpls{list-style:none;padding:0}
.ic-ns{display:flex;flex-wrap:wrap;gap:5px}
.ic-n{font-family:var(--pd-f-mono);font-size:12px;border:1px solid var(--pd-line);background:var(--pd-surface2);border-radius:5px;padding:1px 7px}
.ic-mais{color:var(--pd-muted)}
.ic-e-nao,.ic-e-cond{opacity:.85}
.ic-e-nao>summary .ic-t{color:var(--pd-muted)}
@media (max-width:620px){.ic-row>summary{grid-template-columns:minmax(0,1fr)}.ic-b{grid-column:1}.ic-pn{width:24px;height:24px}}
@media print{.pd-profile,.pd-cta,.pd-ov,header,footer,.breadcrumb-bar{display:none!important}.pd-layout{display:block}.ic-row:not([open])>.ic-det{display:block}}
.pd-cal-it{align-content:start}
.pd-cal-mk.pd-today span{top:16px;left:-44px;transform:none}
.pd-card,.pd-det{align-content:start}
.pd-tpl{flex-wrap:wrap}
.pd-tpl .pd-tn{flex:1 1 130px}
