
:root{--bg:#FFFFFF;--panel:#F0F0F0;--panel2:#F9F9F9;--ink:#1B1B1B;--muted:#565C65;--line:#DFE1E2;
--accent:#005EA2;--accent-ink:#FFF;--navy:#162E51;--navy-ink:#FFF;--focus:#2491FF;
--sev5:#B50909;--sev4:#C05600;--sev3:#936F38;--sev2:#2378C3;--sev1:#565C65;--chip:#EFF6FB;--track:#DFE1E2;
--ch1:#D9E8F6;--ch2:#AACDEC;--ch3:#73B3E7;--ch4:#2378C3;--ch5:#162E51;--chbar:#2378C3;--chhl:#162E51}
*{box-sizing:border-box}
html,body{overflow-x:clip}
body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.6 "Public Sans",Helvetica,Arial,sans-serif}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px 64px}
a{color:var(--accent);text-decoration:underline}a:hover{color:var(--navy)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:1px}
.masthead{background:var(--navy);color:var(--navy-ink)}
.masthead .mwrap{max-width:1120px;margin:0 auto;padding:14px 20px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.masthead .site{font:700 22px/1 "Public Sans",sans-serif;color:#FFF;text-decoration:none}
.masthead .tag{color:#C3CCD9;font-size:13px}
.masthead nav{margin-left:auto;display:flex;gap:20px}
.masthead nav a{color:#FFF;text-decoration:none;font-size:14.5px;font-weight:600}
.masthead nav a:hover{text-decoration:underline}
.crumbs{font-size:13px;color:var(--muted);padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:6px}
.crumbs a{text-decoration:none}
header.page{padding:14px 0 12px}
h1{font:700 34px/1.2 Merriweather,Georgia,serif;margin:.15em 0 .2em}
h2{font:700 21px/1.3 Merriweather,Georgia,serif;margin:1.5em 0 .5em}
h3{font:700 16px "Public Sans",sans-serif;margin:1.2em 0 .4em}
.eyebrow{font:700 12px "Public Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.lede{color:var(--ink);max-width:72ch;font-size:17.5px;line-height:1.65;font-weight:300}
table{width:100%;border-collapse:collapse;font-size:14.5px}
th{font:700 13px "Public Sans",sans-serif;color:var(--ink);text-align:left;padding:10px 10px;
border-bottom:2px solid var(--ink);background:var(--panel2);white-space:nowrap}
td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
td.co,td.cat,td.loc{white-space:nowrap}
td.ttl{min-width:320px}
td.src{width:110px;max-width:130px;white-space:nowrap}
th:last-child{width:110px}
tr:hover td{background:var(--panel2)}
.scroller{overflow-x:auto}.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.band{font:700 12px "Public Sans",sans-serif;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}
.band.critical{color:var(--sev5)}.band.high{color:var(--sev4)}.band.elevated{color:var(--sev3)}
.band.low{color:var(--sev2)}.band.none-documented{color:var(--muted)}.band.not-assessed{color:var(--muted);font-weight:400}
.sev{font-variant-numeric:tabular-nums;font-weight:700}.sev.s5{color:var(--sev5)}.sev.s4{color:var(--sev4)}
.sev.s3,.sev.s2,.sev.s1{color:var(--ink)}
.bar{position:relative;height:10px;background:var(--track);min-width:110px;max-width:220px}
.bar i{position:absolute;left:0;top:0;bottom:0;background:var(--chbar)}
.bar b{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink)}
.muted{color:var(--muted)}
.taglist{padding:6px 0;line-height:2.1}
.taglist .tag{margin-right:18px;white-space:nowrap}
.filterbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--panel);
border-top:2px solid var(--navy);padding:12px 14px;margin:14px 0}
.filterbar .fmeta{color:var(--muted);font-size:14px;margin-left:6px}
.searchbox{position:relative;max-width:460px;margin:16px 0}
.filterbar .searchbox{margin:0;flex:1 1 240px;min-width:220px}
.filterbar .searchbox input{padding:8px 11px;font-size:14.5px}
.searchbox input{width:100%;padding:10px 12px;border:1px solid #71767A;background:#FFF;color:var(--ink);font:16px "Public Sans",sans-serif;box-shadow:none;appearance:none}
.sugg{position:absolute;left:0;right:0;top:100%;background:#FFF;border:1px solid #71767A;border-top:0;
z-index:9;max-height:340px;overflow:auto;box-shadow:0 4px 10px rgba(0,0,0,.1)}
.sugg a{display:block;padding:8px 12px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.sugg a:hover{background:var(--chip)}
.sugg .k{color:var(--muted);font-size:13px}
.findings{background:var(--chip);border-top:4px solid var(--accent);padding:18px 22px;margin:12px 0;list-style-position:inside}
.findings li{margin:8px 0;max-width:80ch}
.chartrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin:10px 0 8px;align-items:start}
.chart{margin:8px 0 18px;background:#FFF}
.chart h3{margin:.2em 0 .4em}
.chartscroll{overflow-x:visible}
.chart svg{max-width:100%;height:auto;display:block}
.chart .axis{stroke:var(--line);stroke-width:1}
.chart text{font:12.5px "Public Sans",Arial,sans-serif;fill:var(--muted)}
.chart text.val{fill:var(--ink);font-variant-numeric:tabular-nums}
.chart text.hl{font-weight:700;fill:var(--ink)}
.chart rect:hover{opacity:.85}
.chart svg a text{fill:var(--accent)}
.legend{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted);padding:6px 0}
.legend i{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px}
footer{margin-top:52px;border-top:1px solid var(--line);background:var(--panel);padding:18px 22px;
color:var(--muted);font-size:14px}
.msel-btn{background:#FFF;color:var(--ink);border:1px solid #565C65;font:600 14px "Public Sans",sans-serif;padding:8px 12px;cursor:pointer}
.msel-pan{border:1px solid #565C65;box-shadow:0 4px 10px rgba(0,0,0,.12);background:#FFF}
.msel-n{background:var(--accent);color:#FFF;padding:0 7px}
.msel-q{border:1px solid #565C65;background:#FFF;color:var(--ink)}
.msel-o:hover{background:var(--chip)}
[hidden]{display:none!important}
@media (max-width:860px){h1{font-size:26px}.lede{font-size:16px}.wrap{padding:0 14px 48px}
.masthead .mwrap{padding:10px 14px}.masthead nav{margin-left:0;flex-basis:100%;gap:16px}h2{font-size:19px}}
@media (max-width:640px){body{font-size:15px}table{font-size:13.5px}td,th{padding:7px 6px}
.scroller table{min-width:640px}.filterbar{padding:10px;gap:6px}
.msel-pan{left:0;right:auto;min-width:min(240px,88vw);max-width:88vw}
.findings{padding:14px 16px}.masthead .tag{display:none}footer{padding:14px 16px}}

.mselwrap{min-width:170px}
.ts-wrapper{min-width:170px}
.ts-control{border:1px solid #565C65;border-radius:0;padding:5px 8px;font:600 13.5px "Public Sans",sans-serif;background:#FFF;min-height:38px}
.ts-control input::placeholder{color:#1B1B1B;font-weight:600}
.ts-dropdown{border:1px solid #565C65;border-radius:0;font:14px "Public Sans",sans-serif;z-index:50}
.ts-dropdown .active{background:var(--chip);color:var(--ink)}
.ts-control .item{background:var(--chip);border:1px solid var(--line);border-radius:0;color:var(--ink);font-weight:600}
.ec{width:100%}
.tabulator{border:none;background:transparent;font:14.5px "Public Sans",sans-serif}
.tabulator .tabulator-header{border-bottom:2px solid var(--ink);background:var(--panel2)}
.tabulator .tabulator-header .tabulator-col{background:var(--panel2);border-right:none;font-weight:700;font-size:13px}
.tabulator-row{border-bottom:1px solid var(--line);background:transparent;min-height:0}
.tabulator-row:hover{background:var(--panel2)!important}
.tabulator-row .tabulator-cell{border-right:none;padding:9px 10px;white-space:normal}
.tabulator-cell.nowrapcell{white-space:nowrap}
.tabulator .tabulator-footer{background:var(--panel);border-top:1px solid var(--line)}
.sister{margin:28px 0 8px;font-size:13px;color:var(--muted)}.sister a{margin:0 2px}
.hiring{margin-top:10px;font-size:14px}
.dlbtn{background:#FFF;border:1px solid #565C65;font:600 13px "Public Sans",sans-serif;padding:7px 12px;cursor:pointer;margin-left:auto}

