/* Local going-direct checklist. Uses the site's existing light/dark variables. */
.exit-checklist { margin: 1.6rem 0 2.4rem; padding: 1.2rem; border: 2px solid var(--ink); background: var(--card); }
.exit-checklist [hidden], .exit-checklist[hidden] { display: none !important; }
.exit-checklist h2 { margin-top: 0; }
.exit-checklist h3 { font-size: 1.3rem; line-height: 1.3; margin-top: 0.4rem; }
.exit-checklist fieldset { margin: 0 0 1rem; padding: 0; border: 0; min-width: 0; }
.exit-checklist legend, .ec-field > label { font-weight: 700; margin-bottom: 0.55rem; }
.ec-choice { display: flex; align-items: start; gap: 0.65rem; min-height: 44px; padding: 0.5rem; margin: 0.35rem 0; border: 1px solid var(--rule); cursor: pointer; }
.ec-choice input { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; margin: 0.22rem 0 0; accent-color: var(--ink); }
.ec-choice:has(input:checked) { border-color: var(--ink); background: var(--paper); }
.ec-field { margin: 1rem 0; }
.ec-field > label { display: block; }
.ec-field select { display: block; width: 100%; min-height: 44px; padding: 0.6rem; font: inherit; font-size: 1rem; color: var(--ink); background: var(--paper); border: 1px solid var(--rule-strong); border-radius: 0; }
.ec-save-status { color: var(--muted); font-size: 1rem; min-height: 1.6em; }
.ec-progress-label { font-family: var(--mono); font-size: 0.9rem; margin-bottom: 0.3rem; }
.exit-checklist progress { display: block; width: 100%; height: 0.8rem; accent-color: var(--ink); margin-bottom: 1.4rem; }
.ec-plan { color: var(--muted); font-size: 1rem; }
.ec-step { border-top: 1px solid var(--rule); padding-top: 1rem; }
.ec-step ul { margin-bottom: 1rem; }
.ec-sources { font-size: 1rem; }
.ec-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin: 1rem 0; }
.exit-checklist .btn, .ec-text-button { min-height: 44px; white-space: normal; }
.exit-checklist button:disabled { cursor: default; opacity: 0.55; }
.exit-checklist :is(button, input, select, a, summary):focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }
.ec-step h3:focus { outline: 2px solid var(--rule-strong); outline-offset: 4px; }
.ec-tools { border-top: 1px solid var(--rule); margin-top: 1.4rem; padding-top: 0.65rem; }
.ec-tools summary { padding: 0.5rem 0; min-height: 44px; cursor: pointer; font-weight: 700; }
.ec-tools-body { padding-top: 0.6rem; }
.ec-text-button { background: transparent; color: var(--ink); border: 0; text-decoration: underline; font: inherit; cursor: pointer; padding: 0.35rem; }
.exit-checklist dialog { max-width: min(32rem, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); overflow: auto; padding: 1.2rem; color: var(--ink); background: var(--paper); border: 2px solid var(--ink); }
.exit-checklist dialog::backdrop { background: rgb(0 0 0 / 0.55); }
@media (max-width: 420px) {
  .exit-checklist { padding: 0.85rem; }
  .ec-actions { align-items: stretch; flex-direction: column; }
  .ec-actions .btn { width: 100%; }
}
@media print {
  .exit-checklist { break-inside: avoid; }
  .exit-checklist button, .exit-checklist dialog { display: none; }
}
