:root{--navy:#1b2630;--ink:#1f2a33;--teal:#0071b9;--brand:#0071b9;--line:#dde4ea;--muted:#5f6e7a}*{box-sizing:border-box}body{margin:0;background:#f3f7f9;color:var(--ink);font:14px/1.65 system-ui,'Microsoft YaHei',sans-serif}button,input,select,textarea{font:inherit}button{border:0;border-radius:7px;background:#0071b9;color:#fff;padding:9px 15px;cursor:pointer}button.secondary{background:#e5f1fa;color:#00609e}button:disabled{opacity:.5}input,select,textarea{width:100%;padding:9px;border:1px solid #bacdd8;border-radius:6px;background:#fff;color:var(--ink)}textarea{min-height:80px}label{display:block;font-size:12px;color:var(--muted);margin:12px 0 5px}h1,h2,h3,p{margin-top:0}.layout{display:grid;grid-template-columns:238px 1fr;min-height:100vh}.sidebar{background:var(--navy);padding:28px 20px;color:#bcd4e1;min-height:100vh}.brand{font-size:19px;color:#fff;font-weight:700}.brand small{display:block;color:#a9c4d8;font-size:11px;letter-spacing:.5px;font-weight:400;margin-top:4px}.who{border-top:1px solid #355367;border-bottom:1px solid #355367;margin:25px 0;padding:18px 0}.sidebar nav button{display:block;text-align:left;width:100%;background:transparent;color:#bcd4e1;margin:5px 0}.sidebar nav button.active{background:#0071b9;color:#fff}.sidefoot{font-size:11px;color:#94b2c3;margin-top:30px}.main{padding:30px 36px;max-width:1500px}.top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--teal);font-weight:700;margin-bottom:8px}.banner{padding:13px 17px;border:1px solid #c3e1dc;border-radius:8px;background:#eaf5f3;margin-bottom:20px}.warning{background:#fff4df;border-color:#ead9b0;color:#85652b}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px;margin-bottom:18px;box-shadow:0 3px 12px #12394b08}.metric{font-size:36px;font-weight:750;margin:10px 0}.muted{color:var(--muted)}.small{font-size:12px}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:16px}.pill{display:inline-block;background:#e5f1fa;color:#00507f;border-radius:20px;padding:3px 10px;font-size:11px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}td,th{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:11px;color:var(--muted);background:#f5f9fb}code{font-size:11px;word-break:break-all}.empty{padding:30px;text-align:center;border:1px dashed #c5d8e2;border-radius:8px;color:var(--muted)}.footnote{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.auth{max-width:850px;margin:6vh auto;padding:25px}.hero{background:var(--navy);color:#fff;padding:35px;border-radius:12px;margin-bottom:20px}.hero h1{font-size:36px}.hero p{color:#b6d2df}.mfaqr{display:block;width:220px;height:220px;margin:16px auto}#toast{display:none;position:fixed;bottom:24px;right:24px;background:#153e50;color:#fff;padding:14px 20px;border-radius:8px;max-width:480px;z-index:10}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto}.who,.sidefoot{display:none}.main{padding:20px 15px}.top{align-items:flex-start}}@media print{.sidebar,button,form,.warning{display:none}.layout{display:block}.main{padding:0}.card{box-shadow:none}}
a{color:#00609e}.actions.tight{margin-top:8px}.pill.alert{background:#fde8e4;color:#a43a25}.saved.pill{background:#e6f3ef}
.alertbox{background:#fdeeea;border-color:#f0c6bb;color:#8a3a26;margin-top:14px}
.question{border-top:1px solid var(--line);padding:16px 0}.question:first-of-type{border-top:0}.qhead{margin-bottom:6px}.qtext{font-size:15px;margin-bottom:4px}
.reviewline{background:#f1f7fa;border-radius:6px;padding:8px 10px}
.scorehead{display:flex;gap:28px;align-items:center;margin:18px 0}.bigscore{font-size:54px;font-weight:800;line-height:1;color:var(--navy)}.grade{font-size:22px;font-weight:750;color:var(--teal)}
.themerow{display:grid;grid-template-columns:190px 1fr 48px;gap:12px;align-items:center;margin:8px 0}.themerow progress{width:100%;height:12px;accent-color:var(--teal)}.themerow b{text-align:right}
.returnbox{margin-top:16px}.returnbox summary{cursor:pointer;color:#00609e}
@media print{.scorecard{border:0}.themerow progress{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.pill.consult{background:#eef0fb;color:#3c4aa0}.engage summary{cursor:pointer}.engage[open] summary{margin-bottom:12px}label.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink)}label.check input{width:auto;margin-top:5px}
/* ---- report scorecard (alpha.6) ---- */
.report{background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px 36px;margin-bottom:18px;box-shadow:0 3px 12px #12394b08}
.rhead{display:flex;justify-content:space-between;gap:24px;border-bottom:3px solid var(--navy);padding-bottom:16px;margin-bottom:20px}
.rbrand{font-size:26px;font-weight:800;color:var(--navy)}.rsub{font-size:12px;color:var(--muted);letter-spacing:.5px}
.rmeta{display:grid;grid-template-columns:auto auto;gap:2px 14px;margin:0;font-size:12px}.rmeta dt{color:var(--muted)}.rmeta dd{margin:0;font-weight:600}
.rcompany h2{margin-bottom:4px}.rcompany p{margin:0 0 4px}
.rscore{display:flex;gap:40px;align-items:center;margin:24px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rbig .bigscore{font-size:64px}.rgrade{flex:1}.rgrade .grade{margin-bottom:10px}
.gscale{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}.gseg{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted)}
.gbar{height:10px;border-radius:3px;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.g0 .gbar{background:#cde2fb}.g1 .gbar{background:#9ec5f4}.g2 .gbar{background:#5598e7}.g3 .gbar{background:#256abf}.g4 .gbar{background:#104281}
.gseg.on .gbar{outline:2px solid var(--ink);outline-offset:2px}.gseg.on .glab{color:var(--ink);font-weight:800}.glab{font-size:12px}.grng{font-size:10px}
.rtable{width:100%;border-collapse:collapse;margin-bottom:8px}.rtable th,.rtable td{padding:8px 10px}.rtable .num{text-align:right;width:70px}.rtable .wbar{width:50%}.nowrap{white-space:nowrap}
.hbar{display:block;height:10px;background:#eef3f6;border-radius:5px;overflow:hidden;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.hfill{display:block;height:100%;background:#0071b9;border-radius:0 4px 4px 0;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.w0{width:0}.w5{width:5%}.w10{width:10%}.w15{width:15%}.w20{width:20%}.w25{width:25%}.w30{width:30%}.w35{width:35%}.w40{width:40%}.w45{width:45%}.w50{width:50%}.w55{width:55%}.w60{width:60%}.w65{width:65%}.w70{width:70%}.w75{width:75%}.w80{width:80%}.w85{width:85%}.w90{width:90%}.w95{width:95%}.w100{width:100%}
.rnotes ul{margin:0;padding-left:18px;font-size:12px;color:var(--muted)}.rnotes li{margin:3px 0}
/* ---- buyer portfolio ---- */
.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.kpi .metric{font-size:30px;margin:6px 0 2px}.kpi.crit .metric{color:#d03b3b}
.dash2{display:grid;grid-template-columns:1fr 1.3fr;gap:18px}
.chart{width:100%;height:auto;display:block}.chart .bar{fill:#0071b9}.chart g:hover .bar{fill:#1c5cab}.chart .hit{fill:transparent}.chart .base{stroke:#c9d6dd;stroke-width:1}
.chart .val{font-size:13px;font-weight:700;fill:var(--ink);text-anchor:middle}.chart .lab{font-size:12px;fill:var(--muted);text-anchor:middle}
.gaplist{display:flex;flex-direction:column;gap:9px}.gaprow{display:grid;grid-template-columns:110px 1fr 120px 28px;gap:10px;align-items:center;font-size:12px}
.gtext{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.gn{text-align:right}
.heat th{white-space:nowrap}.heat td.hc{text-align:center;font-weight:700;border:2px solid #fff;min-width:58px;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.hc.h0{background:#cde2fb;color:#0b0b0b}.hc.h1{background:#9ec5f4;color:#0b0b0b}.hc.h2{background:#5598e7;color:#0b0b0b}.hc.h3{background:#256abf;color:#fff}.hc.h4{background:#104281;color:#fff}.hc.na{background:#f3f5f6;color:var(--muted);font-weight:400}
.heatlegend{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:11px;color:var(--muted);margin-top:10px}.heatlegend .lg{display:flex;gap:5px;align-items:center}.heatlegend i{display:inline-block;width:16px;height:12px;border-radius:2px}
@media(max-width:1100px){.dash2{grid-template-columns:1fr}}
@media print{@page{size:A4;margin:11mm 12mm}body{background:#fff;font-size:12px;line-height:1.5}.report h3{margin:10px 0 4px;font-size:14px}.rhead{padding-bottom:10px;margin-bottom:12px}.rscore{margin:12px 0;padding:12px 0}.rbig .bigscore{font-size:52px}.rtable th,.rtable td{padding:4px 8px}.report .small{font-size:11px}.main>*:not(.report){display:none!important}.main{max-width:none}.report{border:0;box-shadow:none;padding:0}.report .pill{border:1px solid #ccd}}
@media print{.rnotes{break-inside:avoid}.rtable tr{break-inside:avoid}}

/* ---- TÜV Rheinland branding (alpha.6.1) ---- */
.sidelogo{display:block;width:170px;height:auto;margin-bottom:18px}
.herologo{display:block;width:220px;height:auto;margin-bottom:22px}
.rlogo{display:block;width:180px;height:auto;margin-bottom:14px}
.rhead{border-bottom-color:var(--brand)}.rbrand{color:var(--ink)}
.banner{border-color:#c4dcee;background:#eef5fb}
.hero{background:var(--navy)}
.banner.warning{background:#fff4df;border-color:#ead9b0;color:#85652b}.banner.alertbox{background:#fdeeea;border-color:#f0c6bb;color:#8a3a26}.who{border-color:#33424f}
