:root{--ink:#1f2933;--muted:#6b7785;--line:#d9dee4;--bg:#f6f7f9;--card:#fff;--ok:#0b8a4a;--warn:#e07b00;--bad:#c5221f;
--seo:#1d5fa8;--geo:#1a7f5a;--hi:#b3261e;--me:#c98a00;--lo:#6b7785;--accent:#1f2933}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--seo)}
.wrap{max-width:980px;margin:0 auto;padding:0 16px 48px}
.top{background:var(--card);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}
.brand{font-weight:700;letter-spacing:.2px}
.brand small{color:var(--muted);font-weight:400;margin-left:8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px;margin-top:16px}
h1{font-size:26px;margin:24px 0 4px}h2{font-size:18px;margin:0 0 10px}h3{font-size:15px;margin:18px 0 6px}
.muted{color:var(--muted)}.small{font-size:12.5px}
label{display:block;font-weight:600;margin:14px 0 4px}
input[type=text],input[type=password],textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 12px}
.checks label{font-weight:400;margin:0;display:flex;gap:8px;align-items:center}
button,.btn{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}
button.ghost,.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.err{background:#fdecea;border:1px solid #e9a7a3;color:#8a1c18;padding:10px 12px;border-radius:8px;margin-top:12px}
table{width:100%;border-collapse:collapse}td,th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.s-correct{color:var(--ok)}.s-improvable{color:var(--warn)}.s-incorrect{color:var(--bad)}
.d-correct{background:var(--ok)}.d-improvable{background:var(--warn)}.d-incorrect{background:var(--bad)}
.badge{font-size:12px;font-weight:700}.p-high{color:var(--hi)}.p-medium{color:var(--me)}.p-low{color:var(--lo)}
.hero{display:grid;grid-template-columns:230px 1fr;gap:24px;align-items:center}
.gauge{position:relative;width:170px;height:170px;margin:0 auto}
.gauge svg{transform:rotate(-90deg)}
.gauge .n{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:46px;font-weight:700;line-height:1}
.gauge .n small{font-size:13px;margin-top:6px;letter-spacing:.5px}
.bar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:#e6e9ed;min-width:80px}
.bar i{display:block;height:100%}
.areahead{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px}
.areahead b{font-size:16px}
.counts{font-size:13px;color:var(--muted);margin-top:4px}
.actions{counter-reset:a;list-style:none;margin:0;padding:0}
.actions li{counter-increment:a;display:grid;grid-template-columns:28px 1fr 64px;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}
.actions li:before{content:counter(a);font-weight:700;color:var(--muted);font-size:18px}
.actions .prio{text-align:right}
.cat{margin-top:22px}.cat h3{display:flex;justify-content:space-between;align-items:center}
.row{display:grid;grid-template-columns:92px 1fr 64px;gap:8px;padding:10px 0;border-top:1px solid var(--line)}
.row .st{font-size:12px;font-weight:700}.row .fx{margin-top:2px}
details{margin-top:8px;color:var(--muted);font-size:13.5px}summary{cursor:pointer}
.sum2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.sumrow{display:grid;grid-template-columns:1fr 90px 64px;gap:8px;align-items:center;padding:5px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.prog{height:12px;background:#e6e9ed;border-radius:6px;overflow:hidden;margin:14px 0 6px}.prog i{display:block;height:100%;width:0;background:var(--accent);transition:width .4s}
.actionsbar{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
@media(max-width:720px){.hero,.sum2{grid-template-columns:1fr}.row{grid-template-columns:1fr}.actions li{grid-template-columns:24px 1fr}.actions .prio{grid-column:2;text-align:left}}
@media print{.top,.noprint{display:none}body{background:#fff}.card{border:0;padding:0}}
