.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:18px}
.panel h2{font-size:18px;margin:0 0 10px}
textarea.field{width:100%;min-height:150px;direction:ltr;font-family:ui-monospace,Consolas,monospace;font-size:14px}
.opts{display:flex;flex-wrap:wrap;gap:14px;align-items:end}
.opts label{display:grid;gap:4px;font-size:14px;color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.btn.alt{background:#fff;color:var(--brand);border:1.5px solid var(--brand)}
.btn.alt:hover{background:#E6F3F3}
.msg{color:#B42318;margin:10px 0 0;min-height:1.5em}
.res{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.res div{border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.res small{color:var(--muted);display:block}
.res b{font-size:24px}
.cutc b{color:#C2410C}.fillc b{color:#0369A1}
canvas{max-width:100%;height:auto;border:1px solid var(--line);border-radius:10px;margin-top:14px}
.legend{font-size:14px;color:var(--muted)}

#rep table{border-collapse:collapse;width:100%;margin:10px 0}
#rep th,#rep td{border:1px solid var(--line);padding:6px 10px;text-align:right}
#rep th{background:#F2F5F9;width:40%;font-weight:500}
#rep img{max-width:100%;border:1px solid var(--line);border-radius:8px}
.note{font-size:13px;color:var(--muted)}
@media print{body *{visibility:hidden}#report,#report *{visibility:visible}#report{position:absolute;inset:0 0 auto 0;border:0}#report .actions{display:none}}
