:root{--g:#1f6f4a;--g2:#e8f2ec;--ink:#1c2422;--mut:#5b6663;--line:#d9e0dd;--warn:#8a5a12;--warnbg:#fff6e5;--bad:#9b2c2c;--badbg:#fdecec}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#f6f8f7}
.wrap{max-width:1180px;margin:0 auto;padding:0 18px}header{background:var(--g);color:#fff;padding:18px 0}header h1{margin:0;font-size:24px}
.sub{margin:6px 0 0;opacity:.92;max-width:900px}.tag{font-size:12px;background:var(--g2);color:var(--g);padding:2px 8px;border-radius:10px;vertical-align:middle;font-weight:600}
header .tag{background:rgba(255,255,255,.2);color:#fff}
.steps{display:flex;flex-wrap:wrap;gap:6px;padding-top:14px;padding-bottom:6px}.steps button{border:1px solid var(--line);background:#fff}.steps button.on{background:var(--g);color:#fff;border-color:var(--g)}
section{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin:14px 0}h2{margin:0 0 8px;font-size:20px}h3{margin:14px 0 6px;font-size:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px 22px;margin-top:10px}
.q label{font-weight:600;display:block}.unit{font-weight:400;color:var(--mut);font-size:13px}.q input,.q select{width:100%;padding:8px;border:1px solid var(--line);border-radius:6px;font:inherit;margin:4px 0}
.help{color:var(--mut);font-size:13px;margin:4px 0}.ex{color:#8a8f8d;font-style:normal}.small{font-size:12px;color:var(--mut)}
button,.filebtn{font:inherit;padding:7px 12px;border-radius:6px;border:1px solid var(--line);background:#fff;cursor:pointer}button:hover{border-color:var(--g)}
.pri{background:var(--g);color:#fff;border-color:var(--g)}.pri:hover{filter:brightness(1.1)}.ghost{background:transparent}.big{font-size:16px;padding:10px 18px}
.next{display:block;margin:16px 0 0 auto}.bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}.chip{border-radius:14px;padding:4px 10px;font-size:13px}
.x{padding:3px 8px;color:var(--bad)}.filebtn input{display:none}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}th,td{border-bottom:1px solid var(--line);padding:6px;text-align:left;vertical-align:top}
th{background:#f1f5f3;font-weight:600}td input{width:100%;min-width:70px;padding:5px;border:1px solid var(--line);border-radius:4px;font:inherit}td input.s{width:70px;min-width:56px}
td input[type=checkbox]{width:auto;min-width:0}.flags label{display:block;white-space:nowrap;font-size:12.5px}.optf{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:3px 5px;font-size:12px;align-items:center;min-width:300px}
.fxbox{display:flex;flex-wrap:wrap;gap:12px}.fxbox input{width:120px;padding:5px;border:1px solid var(--line);border-radius:4px}
.card{border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:12px 0;background:#fff}.warnc{background:var(--warnbg);border-color:#efd39b}.bad{background:var(--badbg);border-color:#f0b4b4}
.warn{color:var(--warn);background:var(--warnbg);padding:8px 10px;border-radius:6px}.approve{display:block;margin-top:14px;padding:10px;background:var(--g2);border-radius:6px;font-weight:600}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:14px 0}.kpis div{background:var(--g2);border-radius:8px;padding:10px 12px}
.kpis span{display:block;font-size:12.5px;color:var(--mut)}.kpis b{font-size:22px;display:block}.kpis small{color:var(--mut);font-size:11.5px}
.res .tot td{font-weight:700;background:#f7faf8}.mini{width:auto}.mini td,.mini th{padding:4px 10px}
.checks{list-style:none;padding:0}.checks .ok{color:var(--g)}.checks .no{color:var(--bad);font-weight:600}.muted{color:var(--warn)}.steps-list li{margin:6px 0}
canvas{width:100%;height:auto;max-height:320px;margin-top:10px}pre{background:#f1f5f3;padding:10px;border-radius:6px;white-space:pre-wrap}
textarea{width:100%;font:13px monospace;padding:6px}.foot{background:transparent;border:0}
@media(max-width:640px){.grid{grid-template-columns:1fr}header h1{font-size:20px}}
