*{box-sizing:border-box}body{margin:0;background:#f3f6fb;color:#172033;font:15px/1.5 system-ui,-apple-system,Segoe UI,Arial,sans-serif}header{background:#102a43;color:#fff;padding:22px 0}.wrap{max-width:1200px;width:calc(100% - 28px);margin:auto}.head{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}h1{font-size:1.5rem;margin:0}header p{margin:4px 0 0;color:#d9e7f5}nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}nav a,.linkbtn{color:#fff;text-decoration:none;background:transparent;border:0;padding:4px;font:inherit;cursor:pointer}nav form{margin:0}main{padding:22px 0 40px}.card{background:#fff;border:1px solid #dce3ed;border-radius:13px;padding:20px;margin:0 0 18px;box-shadow:0 2px 8px #15223808}.narrow{max-width:480px;margin:28px auto}.notice{background:#fff8e6;border:1px solid #f5d58a;padding:13px 15px;border-radius:10px;margin-bottom:18px;color:#69410b}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stats .card{display:flex;flex-direction:column;margin:0}.stats span,.muted{color:#657286}.stats strong{font-size:1.8rem}.filters{display:flex;gap:10px;margin-bottom:15px}.filters input{flex:1}input,select,textarea{font:inherit;border:1px solid #b8c4d4;border-radius:8px;padding:10px;background:#fff;color:#172033;width:100%;min-width:0}textarea{min-height:78px;resize:vertical}label{display:flex;flex-direction:column;gap:5px;font-weight:650;margin-bottom:13px}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 15px}.wide{grid-column:1/-1}.primary,.button,button{display:inline-block;border:0;border-radius:8px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}.primary{background:#175cd3;color:#fff}.button{background:#e8edf4;color:#24364b}.danger{background:#fff0ef;color:#a1261d}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.flash{padding:12px 14px;border-radius:8px;margin-bottom:12px}.flash.success{background:#dcfae6;color:#05603a}.flash.error{background:#fee4e2;color:#912018}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:750px}td,th{text-align:left;padding:10px 8px;border-bottom:1px solid #e1e7ef;vertical-align:top}th{font-size:.84rem;color:#657286}td a{color:#175cd3;font-weight:700}.pill{display:inline-block;border-radius:99px;padding:3px 9px;font-size:.82rem;font-weight:750;white-space:nowrap}.low{background:#dcfae6;color:#05603a}.medium{background:#fef0c7;color:#93370d}.high{background:#fee4e2;color:#912018}.critical{background:#7a271a;color:#fff}.rowbetween{display:flex;align-items:start;justify-content:space-between;gap:16px}.details p{margin:13px 0;overflow-wrap:anywhere}details{padding:10px;border-bottom:1px solid #e1e7ef}summary{cursor:pointer;font-weight:650}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f7fa;padding:12px;border-radius:8px;font-size:.82rem}footer{color:#657286;font-size:.82rem;padding:10px 2px}@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.formgrid{grid-template-columns:1fr}.wide{grid-column:auto}.filters{flex-direction:column}.card{padding:14px}.rowbetween{flex-direction:column}}@media print{header nav,.actions,footer{display:none}.card{box-shadow:none;break-inside:avoid}}details.inline{padding:0;border:0}details.inline summary{font-weight:600;color:#175cd3;padding:10px 0}.resetform{display:flex;gap:8px;margin-top:6px}.resetform input{min-width:180px}
.small{font-size:.85rem}.nowrap{white-space:nowrap}h2{margin-top:0}
.statlink{text-decoration:none;color:inherit;border:1px solid #dce3ed;transition:border-color .15s}.statlink:hover{border-color:#175cd3}.statlink small{color:#657286;font-size:.8rem}.statlink.alert strong{color:#b42318}.statlink.active{border-color:#175cd3;box-shadow:0 0 0 2px #175cd333}
.flash.warn{background:#fef0c7;color:#93370d}
.pill.overdue{background:#b42318;color:#fff}.pill.soon{background:#fef0c7;color:#93370d}
tr.row-overdue td:first-child{box-shadow:inset 3px 0 0 #b42318}
.matrixwrap{display:flex;align-items:center;gap:8px}
.axis-y{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.8rem;font-weight:700;color:#657286;letter-spacing:.04em}
.axis-x{text-align:center;font-size:.8rem;font-weight:700;color:#657286;letter-spacing:.04em;margin:6px 0 0 140px}
.matrix{flex:1;display:grid;grid-template-columns:120px repeat(5,minmax(44px,1fr));gap:5px;max-width:720px}
.mcell{aspect-ratio:1.6;min-height:42px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:1.25rem;font-weight:800;text-decoration:none;border:2px solid transparent;transition:transform .1s,border-color .1s}
.mcell:hover{transform:scale(1.04);border-color:#102a43}
.mcell.empty{opacity:.45;font-size:.8rem}.mcell.selected{border-color:#102a43;box-shadow:0 0 0 3px #175cd3;opacity:1}
.mcell.low{background:#dcfae6;color:#05603a}.mcell.medium{background:#fef0c7;color:#93370d}.mcell.high{background:#fdb4ad;color:#7a1a12}.mcell.critical{background:#7a271a;color:#fff}
.mlabel{display:flex;flex-direction:column;justify-content:center;font-size:.75rem;color:#657286;line-height:1.2}.mlabel b{color:#172033;font-size:.95rem}
.ylabel{text-align:right;padding-right:6px}.xlabel{text-align:center;align-items:center}
.legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:-4px 0 12px}.chip{background:#e8efff;color:#1849a9;border-radius:99px;padding:4px 11px;font-size:.84rem;font-weight:650}
.template-picker{border-left:4px solid #175cd3}.template-picker .filters{margin-bottom:6px}.template-picker select{flex:1}
.hentry{border-bottom:1px solid #e1e7ef;padding:14px 0}.hentry:last-child{border-bottom:0}
.hhead{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:6px}.hdate{font-weight:700}.hevent{background:#e8edf4;border-radius:6px;padding:1px 8px;font-size:.82rem;font-weight:700}
.changes{margin:6px 0;padding-left:18px}.changes li{margin:5px 0;overflow-wrap:anywhere}
del{background:#fee4e2;color:#912018;text-decoration:line-through;border-radius:4px;padding:0 4px}ins{background:#dcfae6;color:#05603a;text-decoration:none;border-radius:4px;padding:0 4px}
.diffblock{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:5px}.diffblock>div{border-radius:8px;padding:8px 10px;white-space:pre-wrap;font-size:.9rem}.diffblock small{display:block;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.diffblock .old{background:#fff4f3;color:#7a1a12}.diffblock .new{background:#effdf4;color:#05603a}
.scorechange{margin:4px 0}details.raw{border:0;padding:4px 0 0}details.raw summary{font-weight:500;color:#657286;font-size:.85rem}
@media(max-width:700px){.stats{grid-template-columns:1fr 1fr}.matrix{grid-template-columns:62px repeat(5,minmax(34px,1fr));gap:3px}.mlabel span{display:none}.axis-x{margin-left:70px}.diffblock{grid-template-columns:1fr}.mcell{aspect-ratio:1;min-height:34px;font-size:1rem}}
.filters select{width:auto;flex:0 0 220px}.template-picker .filters select{flex:1;width:100%}@media(max-width:700px){.filters select{flex:auto;width:100%}}
.button.primary{background:#175cd3;color:#fff}
.subnav{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:16px;border-bottom:1px solid #dce3ed}.subnav a{padding:9px 14px;text-decoration:none;color:#40516a;font-weight:650;border-bottom:3px solid transparent;margin-bottom:-1px}.subnav a:hover{color:#175cd3}.subnav a.active{color:#175cd3;border-bottom-color:#175cd3}
.bignum{font-size:2rem;color:#05603a}
.progress{display:flex;height:14px;background:#e8edf4;border-radius:99px;overflow:hidden;margin:6px 0}.progress.thin{height:7px;margin:0 0 12px}.p-done{background:#12b76a}.p-wip{background:#fdb022}
.chips .chip{text-decoration:none}.statusfilter .chip{background:#f1f4f9;color:#40516a}.statusfilter .chip.on{background:#175cd3;color:#fff}
.alerts{list-style:none;margin:0;padding:0}.alerts li{padding:9px 12px;border-radius:8px;margin-bottom:6px}.alerts li.error{background:#fee4e2}.alerts li.warn{background:#fef0c7}.alerts a{color:inherit;font-weight:600;text-decoration:none}.alerts li.error a{color:#912018}.alerts li.warn a{color:#93370d}.alerts a:hover{text-decoration:underline}
.reqtable td:nth-child(2){min-width:280px}
.pill.st-none{background:#eef2f6;color:#40516a}.pill.st-progress{background:#fef0c7;color:#93370d}.pill.st-done{background:#dcfae6;color:#05603a}.pill.st-na{background:#f2f4f7;color:#667085;border:1px dashed #98a2b3}
.pill.verify{background:#ebe9fe;color:#5925dc}
.pill.doc-projekt{background:#eef2f6;color:#40516a}.pill.doc-obowiązujący{background:#dcfae6;color:#05603a}.pill.doc-wycofany{background:#f2f4f7;color:#667085;text-decoration:line-through}
.autocheck{font-size:.82rem;font-weight:600}.autocheck.ok{color:#05603a}.autocheck.bad{color:#b42318}
.hint{background:#f5f8ff;border:1px solid #d1e0ff;border-radius:8px;padding:10px 12px;font-size:.92rem}
fieldset.picklist{border:1px solid #dce3ed;border-radius:10px;padding:10px 12px;margin:0 0 13px;max-height:320px;overflow:auto}fieldset.picklist legend{font-weight:650;padding:0 6px}
label.check{flex-direction:row;align-items:center;gap:8px;font-weight:400;margin:0;padding:6px 4px;border-bottom:1px solid #f0f3f7}label.check input{width:auto;flex:0 0 auto}label.check>span:nth-of-type(1){flex:1}
.linklist{margin:0;padding-left:18px}.linklist li{margin:6px 0}
.stats.three{grid-template-columns:repeat(3,1fr)}.autocard small{color:#40516a;font-size:.84rem}.autocard.ok strong{color:#05603a}.autocard.bad strong{color:#b42318}.autocard.bad{border-color:#fda29b}
details.addform{border:0;padding:12px 0 0}details.addform summary{color:#175cd3;font-weight:700}details.addform form{margin-top:12px}
tr.inactive td{color:#98a2b3}
@media(max-width:700px){.stats.three{grid-template-columns:1fr}.subnav a{padding:8px 10px}}
.reqtable{table-layout:fixed}.reqtable th:nth-child(1){width:15%}.reqtable th:nth-child(2){width:37%}.reqtable th:nth-child(3){width:13%}.reqtable th:nth-child(4){width:13%}.reqtable th:nth-child(5){width:11%}.reqtable th:nth-child(6){width:11%}.reqtable td{overflow-wrap:anywhere}.reqtable td.nowrap{white-space:normal}
input,select,textarea{font-weight:400}
.pill.law{background:#e0eaff;color:#1849a9}.pill.practice{background:#f2f4f7;color:#475467}
.rstate{display:inline-block;border-radius:6px;padding:2px 8px;font-size:.8rem;font-weight:750;white-space:nowrap}
.rstate.ok{background:#dcfae6;color:#05603a}.rstate.review{background:#fef0c7;color:#93370d}.rstate.draft{background:#eef2f6;color:#40516a}.rstate.missing{background:#fee4e2;color:#912018}
.reqsum{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:18px;align-items:end;margin:8px 0 14px}.reqsum span{color:#657286;font-size:.85rem}.reqsum strong{display:block;font-size:1.5rem}.legendcol{font-size:.85rem;line-height:2}
.rdtable{table-layout:fixed}.rdtable th:nth-child(1){width:36%}.rdtable th:nth-child(2){width:16%}.rdtable th:nth-child(3){width:13%}.rdtable th:nth-child(4){width:7%}.rdtable th:nth-child(5){width:10%}.rdtable th:nth-child(6){width:10%}.rdtable th:nth-child(7){width:10%}.rdtable td{overflow-wrap:anywhere}
tr.r-missing td:first-child{box-shadow:inset 3px 0 0 #f04438}tr.r-review td:first-child{box-shadow:inset 3px 0 0 #fdb022}tr.r-ok td:first-child{box-shadow:inset 3px 0 0 #12b76a}
.button.small{padding:6px 10px;font-size:.85rem;white-space:nowrap}
.expected{margin-top:12px;font-size:.92rem}.expected ul{margin:6px 0 0;padding-left:0;list-style:none}.expected li{margin:5px 0}
@media(max-width:700px){.reqsum{grid-template-columns:1fr}}
.legendcol{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}
.segmented{display:inline-flex;border:1px solid #c7d2e0;border-radius:8px;overflow:hidden}.segmented a{padding:6px 12px;text-decoration:none;color:#40516a;font-weight:650;font-size:.88rem}.segmented a+a{border-left:1px solid #c7d2e0}.segmented a.on{background:#175cd3;color:#fff}
.alerttext{color:#b42318;font-weight:650;font-size:.8rem}
.scorepair{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.scorepair .arrow{color:#657286;font-weight:700}
fieldset.scorebox{display:grid;grid-template-columns:1fr 1fr;gap:0 15px;border:1px solid #dce3ed;border-radius:10px;padding:10px 12px 0;margin:0 0 13px}fieldset.scorebox legend{font-weight:700;padding:0 6px}fieldset.scorebox.target{background:#f6fef9;border-color:#a6f4c5}
label small.muted{font-weight:400}
.actable td:first-child{min-width:260px}
.issue{display:inline-block;background:#fef0c7;color:#93370d;border-radius:6px;padding:1px 7px;margin:1px 3px 1px 0;font-weight:600}.ok-text{color:#05603a;font-weight:700}
.dep-need{font-weight:700}.dep-support{font-weight:400}a.dep-need,a.dep-support{color:#175cd3;text-decoration:none}a.dep-need:hover,a.dep-support:hover{text-decoration:underline}
label.deprow{justify-content:space-between}label.deprow select{width:auto;flex:0 0 180px}
.empty-start{border-left:4px solid #175cd3}.empty-start p{max-width:780px}
@media(max-width:700px){fieldset.scorebox{grid-template-columns:1fr}label.deprow{flex-wrap:wrap}label.deprow select{flex:1 1 100%}}
a.quiet{color:inherit;text-decoration:none}a.quiet:hover{text-decoration:underline}
.checks{display:flex;flex-direction:column;justify-content:center;gap:2px;margin-bottom:13px}.checks label.check{border:0}
fieldset.supbox{margin:0 0 13px;max-height:180px}
.stats.five{grid-template-columns:repeat(5,1fr)}@media(max-width:1000px){.stats.five{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.stats.five{grid-template-columns:1fr 1fr}}
fieldset.scorebox.accept{background:#f8f9fc}
fieldset.ciarisk{display:flex;flex-wrap:wrap;gap:4px 18px;max-height:none}fieldset.ciarisk small{flex-basis:100%}fieldset.ciarisk label.check{border:0}
fieldset.ciabox{grid-template-columns:repeat(3,1fr)}fieldset.ciabox label.wide{grid-column:1/-1}
@media(max-width:700px){fieldset.ciabox{grid-template-columns:1fr}}
.actionsbottom{display:flex;align-items:flex-end;margin-bottom:13px}
.alertcard{border-color:#fda29b}
.incident-head.sev-critical{border-left:5px solid #7a271a}.incident-head.sev-medium{border-left:5px solid #fdb022}
.deadlines{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0 4px}
.dlbox{border:1px solid #dce3ed;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.dlbox span{font-size:.82rem;color:#657286;font-weight:650}.dlbox strong{font-size:1.05rem}.dlbox small{font-weight:650}
.dlbox form{display:flex;flex-direction:column;gap:6px;margin-top:6px}.dlbox input{padding:6px 8px;font-size:.85rem}
.dlbox.done{background:#effdf4;border-color:#a6f4c5}.dlbox.done small{color:#05603a}
.dlbox.late_done{background:#fffaeb;border-color:#fedf89}.dlbox.late_done small{color:#93370d}
.dlbox.due small{color:#40516a}.dlbox.soon{background:#fffaeb;border-color:#fdb022}.dlbox.soon small{color:#93370d}
.dlbox.overdue{background:#fef3f2;border-color:#f97066}.dlbox.overdue small{color:#b42318}
.dl.overdue{color:#b42318;font-weight:700}.dl.soon{color:#93370d;font-weight:700}
.respcard h3{font-size:.95rem;margin:4px 0 8px}.cardgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px}
.procbox{border-left:3px solid #dce3ed;padding:4px 0 6px 10px;margin-bottom:8px}
.reportinfo p{margin:6px 0}form.inline{display:inline}
.timeline{list-style:none;padding:0;margin:12px 0 0}.timeline li{border-left:3px solid #c7d2e0;padding:4px 0 8px 12px}.tdate{font-weight:700}
@media(max-width:800px){.deadlines,.cardgrid{grid-template-columns:1fr}}
/* Pulpit */
.dash-tiles .tile{text-decoration:none;color:inherit}.dash-tiles .tile small{color:#657286;font-size:.82rem}
.dash-tiles .tile:hover{border-color:#175cd3}.tile.bad strong{color:#b42318}.tile.warn strong{color:#b54708}
.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.dash-grid h3{font-size:1rem;margin:18px 0 8px}
.barrow{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr) 3rem 3.2rem;gap:10px;align-items:center;margin:6px 0}
.barrow .progress{margin:0}.barrow b{text-align:right}.barrow a{font-weight:600}
.legend .sw{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:-1px}.sw.empty{background:#e8edf4}
.legend span{margin-right:12px}
.lvl-critical{background:#7a271a}.lvl-high{background:#f04438}.lvl-medium{background:#fdb022}.lvl-low{background:#12b76a}
@media(max-width:900px){.dash-grid{grid-template-columns:1fr}}
@media(max-width:600px){.barrow{grid-template-columns:minmax(0,1fr) 3rem 3.2rem}.barrow .progress{grid-column:1/-1;grid-row:2}}
.stats.five{grid-template-columns:repeat(5,1fr)}@media(max-width:1000px){.stats.five{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.stats.five{grid-template-columns:1fr 1fr}}
.dlbox.na{background:#f2f4f7;border-color:#d0d5dd;color:#475467}
fieldset.plain{border:0;padding:0;margin:0;min-width:0}
@media print{.noprint,.subnav{display:none}.report h2{font-size:1.1rem}body{background:#fff}main{padding:0}}
/* Role: prawnik - podgląd (zapis tylko w dokumentach SZBI), dyrekcja - tylko pulpit. Uprawnienia egzekwuje serwer. */
.flash.rolebar{background:#eef4ff;color:#1849a9}
body.role-prawnik main form[method="post"]:not(.ro-ok),body.role-prawnik main details.addform,body.role-prawnik main a.button.primary:not(.ro-ok){display:none}
body.role-audytor main form[method="post"],body.role-audytor main details.addform,body.role-audytor main a.button.primary:not(.ro-ok){display:none}
body.role-dyrekcja main a:not(.dyr-ok){pointer-events:none;color:inherit;text-decoration:none}body.role-dyrekcja .nodyr{display:none}
tr.current-row td{background:#f5f8ff}
.card.approve{border-color:#a6f4c5;background:#f6fef9}
.permtable td.center,.permtable th.center{text-align:center}.perm-yes{color:#05603a;font-weight:800}.perm-no{color:#b42318;opacity:.6}
.permlist{margin:0;padding-left:16px}.permlist li{margin:1px 0}
.credbox{display:grid;gap:10px;margin:14px 0;padding:14px;border:1px dashed #b8c4d4;border-radius:10px;background:#f8fafc}.credbox span{display:block;font-size:.82rem;color:#657286}.credbox code{font-size:1.25rem;font-weight:700;letter-spacing:.04em;user-select:all}
.demo-steps h3{margin-top:0}.demo-steps ol{margin:6px 0;padding-left:20px}
.hint-i{display:inline-block;margin-left:5px;color:#175cd3;font-size:.85em;font-weight:600;cursor:help;vertical-align:baseline}
label.check .hint-i{margin-left:6px}
.label-row{display:inline}
.demobar{background:#fdb022;color:#3d2600;padding:8px 0;font-size:.92rem}.demobar .wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.demobar a{color:#3d2600;font-weight:700}.demobar form{margin:0 0 0 auto}
form.inline{display:inline;margin:0}
.helpgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.helpcard{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit;margin:0}.helpcard:hover{border-color:#175cd3}.helpcard b{color:#175cd3}
.help h3{margin:22px 0 8px;font-size:1.08rem}.help ol,.help ul{padding-left:22px}.help li{margin:5px 0}.help .tip{background:#eef4ff;border-left:4px solid #175cd3;padding:10px 14px;border-radius:6px;margin:12px 0}.help .warnbox{background:#fff8e6;border-left:4px solid #f5a524;padding:10px 14px;border-radius:6px;margin:12px 0}.help .example{background:#f5f7fa;border:1px dashed #b8c4d4;padding:12px 16px;border-radius:8px;margin:12px 0}.help table{min-width:0}.helpnav{justify-content:space-between;margin-bottom:18px}.matrix-mini{max-width:520px}.matrix-mini td{text-align:center;font-weight:700;padding:6px}.matrix-mini th{text-align:center}
footer .copyright{margin:0 0 6px;color:#40516a}footer .copyright a{color:#175cd3}
.selcol{width:34px;text-align:center}.selcol input{width:auto}.bulkbar{margin-top:10px}
.milestones{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:12px 0}.milestone{display:flex;flex-direction:column;gap:3px;margin:0;padding:14px;text-decoration:none;color:inherit;border-left:5px solid #b8c4d4}.milestone strong{font-size:1.35rem}.milestone .progress{margin:6px 0 2px}.ms-overdue{border-left-color:#d92d20;background:#fff6f5}.ms-overdue strong{color:#b42318}.ms-soon{border-left-color:#f79009;background:#fffaeb}.ms-soon strong{color:#93370d}.ms-ok{border-left-color:#12b76a}.ms-none{border-left-color:#b8c4d4}.ms-none strong{color:#657286}
.deadlines-table tr.dl-overdue td:first-child{border-left:3px solid #d92d20}.deadlines-table tr.dl-soon td:first-child{border-left:3px solid #f79009}
h1 a.brand{color:inherit;text-decoration:none}
.brandbox{display:flex;align-items:center;gap:14px}.logo,.logo img{display:block;flex:none}
@media(max-width:600px){.logo img{width:40px;height:45px}.brandbox{gap:10px}}
.pdfbox{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px;border:1px solid #dce3ed;border-radius:10px;background:#f8fafc;margin-bottom:12px}.pdfbox>div:nth-child(2){flex:1;min-width:220px}.pdficon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:56px;border-radius:6px;background:#b42318;color:#fff;font-weight:800;font-size:.85rem}.pdfform input[type=file]{width:auto;flex:1;min-width:220px}
/* Szerokości pasków postępu (filtr pctw) - zamiast atrybutu style, niedozwolonego przez CSP */
.w-0{width:0%}.w-1{width:1%}.w-2{width:2%}.w-3{width:3%}.w-4{width:4%}.w-5{width:5%}.w-6{width:6%}.w-7{width:7%}.w-8{width:8%}.w-9{width:9%}.w-10{width:10%}.w-11{width:11%}.w-12{width:12%}.w-13{width:13%}.w-14{width:14%}.w-15{width:15%}.w-16{width:16%}.w-17{width:17%}.w-18{width:18%}.w-19{width:19%}.w-20{width:20%}.w-21{width:21%}.w-22{width:22%}.w-23{width:23%}.w-24{width:24%}.w-25{width:25%}.w-26{width:26%}.w-27{width:27%}.w-28{width:28%}.w-29{width:29%}.w-30{width:30%}.w-31{width:31%}.w-32{width:32%}.w-33{width:33%}.w-34{width:34%}.w-35{width:35%}.w-36{width:36%}.w-37{width:37%}.w-38{width:38%}.w-39{width:39%}.w-40{width:40%}.w-41{width:41%}.w-42{width:42%}.w-43{width:43%}.w-44{width:44%}.w-45{width:45%}.w-46{width:46%}.w-47{width:47%}.w-48{width:48%}.w-49{width:49%}.w-50{width:50%}.w-51{width:51%}.w-52{width:52%}.w-53{width:53%}.w-54{width:54%}.w-55{width:55%}.w-56{width:56%}.w-57{width:57%}.w-58{width:58%}.w-59{width:59%}.w-60{width:60%}.w-61{width:61%}.w-62{width:62%}.w-63{width:63%}.w-64{width:64%}.w-65{width:65%}.w-66{width:66%}.w-67{width:67%}.w-68{width:68%}.w-69{width:69%}.w-70{width:70%}.w-71{width:71%}.w-72{width:72%}.w-73{width:73%}.w-74{width:74%}.w-75{width:75%}.w-76{width:76%}.w-77{width:77%}.w-78{width:78%}.w-79{width:79%}.w-80{width:80%}.w-81{width:81%}.w-82{width:82%}.w-83{width:83%}.w-84{width:84%}.w-85{width:85%}.w-86{width:86%}.w-87{width:87%}.w-88{width:88%}.w-89{width:89%}.w-90{width:90%}.w-91{width:91%}.w-92{width:92%}.w-93{width:93%}.w-94{width:94%}.w-95{width:95%}.w-96{width:96%}.w-97{width:97%}.w-98{width:98%}.w-99{width:99%}.w-100{width:100%}

/* 1.46.0: treść zgłoszenia do CSIRT */
.mono{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;font-size:.85rem}
/* 1.47.0: historia zmian */
.changelog h3{margin:0}.changelog h4{margin:14px 0 4px;font-size:.95rem;color:#24364b}.changelog ul{margin:4px 0;padding-left:22px}.changelog li{margin:3px 0}
.changelog code,.card code{background:#f2f4f7;border-radius:4px;padding:1px 4px;font-size:.85em}
.changelog h4.cl-dodano{color:#05603a}.changelog h4.cl-zmieniono{color:#175cd3}.changelog h4.cl-poprawiono{color:#93370d}
/* 1.48.0: pola macierzy powyżej progu akceptowalności */
.mcell.unacc{outline:2px dashed #b42318;outline-offset:-4px}.unacc-sample{display:inline-block;width:14px;height:14px;border:2px dashed #b42318;border-radius:3px;vertical-align:-2px;margin-left:8px}
/* 1.49.0: monitorowanie ostrzeżeń */
.monitem{border:1px solid #e1e7ef;border-radius:10px;padding:12px 14px;margin:10px 0}.monitem.matched{border-left:4px solid #b42318}
.monitem h3{margin:2px 0 6px;font-size:1rem}.monitem h3 a{color:#175cd3;text-decoration:none}.monitem p{margin:4px 0}
.monactions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}.monactions input{flex:1;min-width:200px;padding:6px 8px;font-size:.85rem}
/* 1.50.0: metodyka oceny ryzyka i wymiary wpływu */
table.criteria{min-width:900px}table.criteria td{vertical-align:top}.critnum{font-size:1.2rem}
fieldset.critedit{margin:0 0 14px}fieldset.critedit label{margin-bottom:8px}
.dims{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:0 12px;grid-column:1/-1}.dims label{font-weight:600;font-size:.9rem}
.dimhint{grid-column:1/-1;margin:0 0 6px}select.derived{background:#f2f4f7}
table.dimtable{min-width:0;max-width:640px}
/* 1.51.0: poziom „bardzo niskie” (tryb NIST SP 800-30) */
.vlow{background:#e0f2fe;color:#075985}.mcell.vlow{background:#e0f2fe;color:#075985}
table.levelmatrix{min-width:620px}table.levelmatrix td.mcell{display:table-cell;aspect-ratio:auto;text-align:center;font-size:.85rem;font-weight:700;padding:8px 4px}
table.levelmatrix td.mcell:hover{transform:none}table.levelmatrix th{font-size:.8rem}
/* 1.52.0: zarządzanie danymi testowymi trybu demo */
.demo-data{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.demo-data form{border:1px solid #dce3ed;border-radius:10px;padding:12px;margin:0}
.demo-data p{margin:8px 0 0}@media(max-width:800px){.demo-data{grid-template-columns:1fr}}
.changelog h4.cl-usunięto{color:#b42318}
/* 1.56.0: mapa aplikacji (instrukcja) */
.maplegend{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:.88rem;margin:10px 0 4px}
.mtag{border-radius:99px;padding:3px 10px;font-weight:700;font-size:.82rem}.mtag.link{background:#e8efff;color:#1849a9}
.mtag.auto{background:#fef0c7;color:#93370d}.mtag.manual{background:#dcfae6;color:#05603a}
.mapwrap{overflow-x:auto;border:1px solid #e1e7ef;border-radius:12px;background:#f8fafc;padding:6px}.mapsvg{width:100%;min-width:720px;height:auto;display:block}
.mapsvg text{font:600 14px system-ui,-apple-system,Segoe UI,Arial,sans-serif;text-anchor:middle;fill:#172033}.mapsvg text.sub{font-size:12px;font-weight:500;fill:#40516a}
.mapsvg text.colhead{font-size:13px;font-weight:800;fill:#657286;letter-spacing:.04em}.mapsvg text.note{font-size:12px;font-weight:500;fill:#657286}
.mapsvg .node rect{stroke-width:1.5}.mapsvg .base rect{fill:#e8efff;stroke:#84adff}.mapsvg .risk rect{fill:#fef0c7;stroke:#fdb022}
.mapsvg .event rect{fill:#fee4e2;stroke:#fda29b}.mapsvg .setting rect{fill:#f2f4f7;stroke:#98a2b3}.mapsvg .result rect{fill:#dcfae6;stroke:#75e0a7}
.mapsvg .resultarea{fill:#effdf4;stroke:#a6f4c5;stroke-dasharray:6 5}.mapsvg .edge{stroke:#657286;stroke-width:1.6;fill:none}
.mapsvg .edge.dash{stroke-dasharray:6 5}.mapsvg .edge.set{stroke:#98a2b3}.mapsvg .arrowhead{fill:#657286}
table.maptable{min-width:820px}table.maptable td{font-size:.9rem}table.maptable td:first-child{font-weight:700;white-space:nowrap}
.trialbar{background:#d1e9ff;color:#102a43;padding:8px 0;font-size:.92rem}
.trialbar.readonly{background:#fde7c4;color:#3d2600}
/* 1.63.0: formularz ryzyka - inne systemy ryzyka, podpowiedź minimalnego wpływu z klasyfikacji P/I/D */
fieldset.riskextra{max-height:220px}fieldset.riskextra small{display:block;margin-top:6px}
p.cia-hint{margin:4px 0 0;color:#475467}p.cia-hint.alerttext{color:#b42318;font-size:.85rem}
/* Belka menu w stylu „Matrix” – dwie warstwy spadających znaków (static/matrix.svg) na ciemnogranatowym tle */
header{position:relative;overflow:hidden;background-color:#020814;background-image:url(matrix.svg),url(matrix.svg),radial-gradient(ellipse at 20% 0,#0b2a5c 0,transparent 60%),linear-gradient(180deg,#04122b,#010510);background-size:480px 160px,320px 107px,100% 100%,100% 100%;background-position:0 0,140px 40px,0 0,0 0;border-bottom:1px solid #2e90fa55;box-shadow:0 2px 14px #2e90fa22;animation:matrix-rain 14s linear infinite}
header::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#010510e6 0,#01051099 38%,#01051066 100%);pointer-events:none}
header .wrap{position:relative}
header h1,header h1 a.brand{text-shadow:0 0 10px #2e90fa88}header p{color:#b9dcff}
header nav a,header .linkbtn{color:#e6f2ff;background:#01051099;border-radius:6px;padding:4px 7px;transition:background .15s,color .15s}
header nav a:hover,header nav a:focus-visible,header .linkbtn:hover{background:#2e90fa1f;color:#84caff;text-shadow:0 0 8px #2e90faaa}
@keyframes matrix-rain{from{background-position:0 0,140px 40px,0 0,0 0}to{background-position:0 160px,140px 254px,0 0,0 0}}
@media(prefers-reduced-motion:reduce){header{animation:none}}
@media print{header{animation:none;background:#fff;color:#000;box-shadow:none}header::before{display:none}header h1,header p{text-shadow:none;color:#000}}
