/* Scoped controls for public helpers. Keep contact input off shared analytics. */
.ppl-tool { margin: 1.8rem 0; padding: 1.5rem; background: var(--card, #fffdf8); border: 1px solid var(--line, #d6d9cc); border-radius: 8px; }
.ppl-tool *, .ppl-tool *::before, .ppl-tool *::after { box-sizing: border-box; }
.ppl-tool label, .ppl-tool legend { display: block; font-weight: 600; font-size: .94rem; }
.ppl-tool input:not([type=checkbox]), .ppl-tool select, .ppl-tool textarea { display: block; width: 100%; max-width: 100%; padding: .65rem; border: 1px solid #8c9687; border-radius: 4px; background: #fff; color: var(--ink, #1e2620); font: inherit; font-size: .94rem; margin: .35rem 0 .9rem; }
.ppl-tool textarea { min-height: 5rem; resize: vertical; }
.ppl-tool input[type=file] { overflow: hidden; }
.ppl-tool input[type=checkbox] { margin-right: .5rem; accent-color: #354a37; }
.ppl-tool input:focus-visible, .ppl-tool select:focus-visible, .ppl-tool textarea:focus-visible, .ppl-tool button:focus-visible { outline: 3px solid #4f6b50; outline-offset: 3px; }
.ppl-tool button { border: 1px solid #354a37; border-radius: 4px; background: #354a37; color: #fffdf8; padding: .65rem .95rem; font: inherit; font-size: .94rem; cursor: pointer; }
.ppl-tool button.ppl-tool-secondary { background: transparent; color: #354a37; }
.ppl-tool button:disabled { opacity: .5; cursor: not-allowed; }
.ppl-tool-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1rem 0; }
.ppl-tool .ppl-tool-status { font-size: .94rem; padding: .75rem; border-left: 3px solid #4f6b50; background: var(--paper, #e9ece3); overflow-wrap: anywhere; }
.ppl-tool-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.ppl-tool-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.ppl-tool-summary > div { border-bottom: 1px solid var(--line, #d6d9cc); padding: .5rem 0; }
.ppl-tool-summary dt { font-size: .9rem; }
.ppl-tool-summary dd { margin: 0; font-size: 1.3rem; font-weight: 600; }
.ppl-tool fieldset { min-width: 0; border: 1px solid var(--line, #d6d9cc); border-radius: 4px; padding: 1rem; margin: 1rem 0; }
.ppl-tool .ppl-tool-check { font-weight: 400; margin: .8rem 0; }
.ppl-tool .ppl-tool-output { min-height: 32rem; font-family: var(--book-note-font, monospace); font-size: .85rem; }
.ppl-tool #csv-results { overflow-wrap: anywhere; }
.ppl-tool #csv-results h2 { margin-top: 1.5rem; }
.ppl-tool-print-value { display: none; }
@media (max-width: 560px) { .ppl-tool { padding: 1rem; } .ppl-tool-grid { grid-template-columns: 1fr; } .ppl-tool-actions button { flex: 1 1 auto; } }
@media print {
  body:has([data-ppl-tool=worksheet]) { background: #fff !important; color: #000 !important; }
  body:has([data-ppl-tool=worksheet]) nav, body:has([data-ppl-tool=worksheet]) footer,
  body:has([data-ppl-tool=worksheet]) .ppl-tool-no-print, body:has([data-ppl-tool=worksheet]) .lp-kicker { display: none !important; }
  body:has([data-ppl-tool=worksheet]) .lp-section, body:has([data-ppl-tool=worksheet]) .lp-wrap, body:has([data-ppl-tool=worksheet]) .lp-article { padding: 0; max-width: none; }
  .ppl-tool[data-ppl-tool=worksheet] { padding: 0; margin: 0; border: none; background: #fff; }
  .ppl-tool[data-ppl-tool=worksheet] fieldset { break-inside: avoid; border-color: #999; padding: .5rem; margin: .6rem 0; }
  .ppl-tool[data-ppl-tool=worksheet] input, .ppl-tool[data-ppl-tool=worksheet] textarea { color: #000; font-size: 11pt; padding: .2rem; margin: .2rem 0; border: none; border-bottom: 1px solid #999; }
  .ppl-tool[data-ppl-tool=worksheet] textarea { min-height: 2rem; }
  .ppl-tool[data-ppl-tool=worksheet] .ppl-tool-print-input { display: none; }
  .ppl-tool[data-ppl-tool=worksheet] .ppl-tool-print-value { display: block; white-space: pre-wrap; overflow-wrap: anywhere; min-height: 1.4rem; border-bottom: 1px solid #999; color: #000; font-size: 11pt; margin: .2rem 0 .5rem; }
  .ppl-tool[data-ppl-tool=worksheet] label { font-size: 10pt; }
}
