.visit-checklist{max-width:850px;margin:1.5rem 0 2rem;padding:1.5rem;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.visit-checklist fieldset{border:0;padding:0;margin:1.5rem 0}
.visit-checklist legend{font-size:1.2rem;font-weight:700;margin-bottom:.5rem}
.visit-checklist label{display:flex;align-items:flex-start;gap:.75rem;padding:.7rem 0;border-bottom:1px solid var(--line);cursor:pointer}
.visit-checklist input{width:1.25rem;height:1.25rem;flex:none;margin:.2rem 0 0;accent-color:#705135}
.visit-checklist input:focus-visible,.visit-checklist button:focus-visible{outline:3px solid #a57820;outline-offset:3px}
.visit-checklist .progress{font-weight:700;color:var(--ink)}
.visit-checklist [hidden]{display:none!important}
.visit-checklist .print-state{display:none}
.visit-checklist .controls{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.visit-checklist button{font:inherit;font-weight:700;border:1px solid var(--line);border-radius:10px;padding:.6rem 1rem;min-height:44px;background:var(--bg);color:var(--ink);cursor:pointer}
.visit-checklist button:hover{border-color:var(--ink)}
@media print{
  :root{color-scheme:light;--bg:#fff;--panel:#fff;--ink:#000;--muted:#333;--line:#aaa}
  body{background:#fff;color:#000;font-size:11pt}
  nav,.skip,.controls,.cta,footer,.progress,.print-hide{display:none!important}
  main{width:100%;max-width:none}
  .hero{padding:.25rem 0 1rem}
  .visit-checklist{max-width:none;margin:0;padding:0;border:0}
  .visit-checklist fieldset{break-inside:avoid}
  .visit-checklist label{break-inside:avoid}
  .visit-checklist input{position:absolute;opacity:0}
  .visit-checklist .print-state{display:inline;flex:none;width:1.3rem}
  .visit-checklist .print-state::after{content:"[ ]"}
  .visit-checklist input:checked + .print-state::after{content:"[x]"}
}
