:root{--teal:#0f766e;--teal-d:#0b5d57;--teal-l:#e6f4f2}
body{background:#f8fafb;color:#1f2937;font-size:1rem;line-height:1.6}
.brand{color:var(--teal)!important}
.btn-teal{background:var(--teal);border-color:var(--teal);color:#fff}
.btn-teal:hover,.btn-teal:focus{background:var(--teal-d);border-color:var(--teal-d);color:#fff}
.btn-outline-teal{color:var(--teal);border-color:var(--teal)}
.btn-outline-teal:hover{background:var(--teal);color:#fff}
a{color:var(--teal)}
.card-soft{border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.pick{cursor:pointer}.pick:has(input:checked){border-color:var(--teal);background:var(--teal-l)}
.step-num{width:2rem;height:2rem;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-weight:700}
.stepper{list-style:none;display:flex;gap:.5rem;padding:0;margin:0 0 1rem}
.stepper li{padding:.35rem .8rem;border-radius:2rem;background:#e5e7eb;font-size:.875rem}
.stepper li.on{background:var(--teal);color:#fff}
.invalid-msg{color:#b42318;font-size:.875rem;margin-top:.25rem}
.is-invalid{border-color:#b42318!important}
.block-measured{background:#f3f4f6;border-radius:.5rem;padding:.75rem 1rem}
.block-interp{border-left:4px solid var(--teal);padding-left:1rem}
.block-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin-bottom:.4rem}
.status{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem .9rem;border-radius:.5rem;border:1px solid}
.status-ic{font-size:1.2rem}
.status-ok{background:#ecfdf3;border-color:#12b76a;color:#05603a}
.status-watch{background:#eff8ff;border-color:#2e90fa;color:#175cd3}
.status-consult{background:#fffaeb;border-color:#f79009;color:#93370d}
.status-urgent{background:#fef3f2;border-color:#d92d20;color:#912018}
.status-na{background:#f3f4f6;border-color:#9ca3af;color:#374151}
.js-only{display:none}.js .js-only{display:inline-block}
.js [data-step]{display:none}.js [data-step].on{display:block}
@media print{
  .no-print,nav,footer{display:none!important}
  body{background:#fff}.card-soft{box-shadow:none;break-inside:avoid}
  .status{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  main{padding:0!important}
}
