.toolkit-worksheet {
  box-sizing: border-box;
  max-width: 100%;
  margin: 1.5rem 0;
  padding: 1rem;
  border: 1px solid #5b6670;
  border-radius: 6px;
  background: #fff;
  color: #1f2933;
}
.toolkit-worksheet *,
.toolkit-worksheet *::before,
.toolkit-worksheet *::after { box-sizing: border-box; }
.toolkit-worksheet [hidden] { display: none !important; }

.toolkit-worksheet__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
  margin: 0 0 1rem;
  padding: 0 0 1rem;
  border-bottom: 1px solid #c4cad0;
}
.toolkit-worksheet__row h3 { margin: 0; font-size: 1.1rem; }
.toolkit-worksheet__field { min-width: 0; }
.toolkit-worksheet label {
  display: block;
  margin: 0 0 0.25rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}
.toolkit-worksheet input[type="number"] {
  display: block;
  width: 100%;
  min-height: 44px;
  padding: 0.5rem 0.625rem;
  border: 2px solid #5b6670;
  border-radius: 4px;
  background: #fff;
  color: #1f2933;
  font: inherit;
  font-size: 1rem;
}
.toolkit-worksheet input[aria-invalid="true"] { border-color: #8a1c1c; background: #fdf0f0; }
.toolkit-worksheet input:focus-visible,
.toolkit-worksheet button:focus-visible {
  outline: 3px solid #0b5cad;
  outline-offset: 2px;
}

.toolkit-worksheet__assumptions { margin: 0 0 1rem; padding-left: 1.25rem; font-size: 0.95rem; }
.toolkit-worksheet__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 0 0 1rem; }
.toolkit-worksheet button {
  min-height: 44px;
  padding: 0.5rem 1.1rem;
  border: 2px solid #1f2933;
  border-radius: 4px;
  background: #1f2933;
  color: #fff;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.toolkit-worksheet button:disabled { border-color: #6b747c; background: #e6e9ec; color: #4a535b; cursor: not-allowed; }

.toolkit-worksheet__status { margin: 0 0 0.75rem; font-weight: 600; overflow-wrap: anywhere; }
.toolkit-worksheet__errors {
  margin: 0 0 1rem;
  padding: 0.5rem 1rem;
  border: 2px solid #8a1c1c;
  border-radius: 4px;
  background: #fdf0f0;
  color: #5c1010;
}
.toolkit-worksheet__errors ul { margin: 0.25rem 0; padding-left: 1.25rem; }

.toolkit-worksheet .data-table-wrap { max-width: 100%; overflow-x: auto; }
.toolkit-worksheet .data-table { width: 100%; border-collapse: collapse; }
.toolkit-worksheet .data-table th,
.toolkit-worksheet .data-table td { padding: 0.5rem; border: 1px solid #c4cad0; text-align: left; vertical-align: top; }
.toolkit-worksheet .data-table td:last-child { text-align: right; }
.toolkit-worksheet .data-table tfoot th,
.toolkit-worksheet .data-table tfoot td { font-weight: 700; }

.toolkit-worksheet__print-note { display: none; }

@media (min-width: 640px) {
  .toolkit-worksheet { padding: 1.5rem; }
  .toolkit-worksheet__row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .toolkit-worksheet__row h3 { grid-column: 1 / -1; }
}

@media print {
  header, nav, footer, aside, [data-marketing], .toolkit-worksheet__no-print { display: none !important; }
  /* Print only the worksheet: hide every other section, prose sibling and grid sibling. */
  main > section:not(:has(#mvw-tool)),
  .prose > :not(#mvw-tool),
  .article-grid > :not(:has(#mvw-tool)) { display: none !important; }
  .article-grid { display: block !important; }
  .toolkit-worksheet { border: 0; padding: 0; }
  .toolkit-worksheet__print-note { display: block; margin: 0 0 1rem; font-weight: 600; }
  .toolkit-worksheet__row { grid-template-columns: repeat(3, minmax(0, 1fr)); break-inside: avoid; }
  .toolkit-worksheet input[type="number"] { border: 1px solid #000; }
  .toolkit-worksheet .data-table-wrap { overflow: visible; }
}
