/* IS 10500 water test result checker (free-tools/is-10500-water-test-checker) */
.wq-tool .wq-lead { margin-top: 6px; font-size: .98rem; }
.wq-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.wq-presets .ulr-use, .wq-actions .ulr-use { padding: 9px 15px; font-size: .88rem; }
.wq-pick { margin-top: 14px; background: #fff; border: 1px solid var(--teal-line); border-radius: 14px; }
.wq-pick > summary { cursor: pointer; padding: 12px 16px; font-weight: 600; font-size: .95rem; color: var(--ink); }
.wq-pick > summary span { font-weight: 400; color: var(--text-2); }
.wq-pick-list { padding: 0 16px 16px; display: grid; gap: 14px; }
.wq-group { border: 0; padding: 12px 0 0; border-top: 1px solid var(--line); min-width: 0; }
.wq-group legend, .wq-group > summary { font-weight: 600; font-size: .9rem; color: var(--ink); padding: 0; }
.wq-group > summary { cursor: pointer; }
.wq-checks { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 4px 16px; margin-top: 6px; }
.wq-check { display: flex; align-items: flex-start; gap: 8px; font-weight: 400; font-size: .9rem; color: var(--text-2); line-height: 1.35; padding: 3px 0; cursor: pointer; }
.wq-check input { width: 16px; height: 16px; flex: none; margin-top: 2px; padding: 0; accent-color: var(--teal-strong); }
.wq-check-all { margin-top: 6px; font-weight: 600; color: var(--teal-ink); }
.wq-ref { margin-top: 16px; }
.wq-ref input { background: #fff; }
.wq-block { margin-top: 22px; }
.wq-block[hidden], .wq-row[hidden] { display: none; }
.prose .wq-block h3 { margin: 0 0 8px; font-size: 1rem; font-weight: 600; color: var(--ink); }
.prose .wq-block h3 span { font-weight: 400; color: var(--text-2); font-size: .9rem; }
.wq-row { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr) minmax(0, 1fr); gap: 6px 14px; align-items: center; padding: 11px 14px; margin-top: 6px; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--line); border-radius: 12px; }
.wq-row.is-acc { border-left-color: #1F8A55; }
.wq-row.is-perm { border-left-color: #C98A12; }
.wq-row.is-fail { border-left-color: #C0362C; }
.wq-row.is-na { border-left-color: #9AA3AE; }
.wq-name { display: grid; gap: 2px; min-width: 0; }
.wq-name label { font-size: .95rem; font-weight: 600; color: var(--ink); }
.wq-lim { font-size: .8rem; color: var(--text-2); line-height: 1.35; }
.wq-field { display: flex; align-items: center; border: 1px solid #d6dedb; border-radius: 10px; background: #fbfcfc; transition: border-color .2s, box-shadow .2s; }
.wq-field:focus-within { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(20,160,138,.18); }
.wq-field input { border: 0; background: transparent; box-shadow: none; padding: 9px 10px; min-width: 0; flex: 1 1 auto; font-size: .98rem; }
.wq-field input:focus { box-shadow: none; }
.wq-unit { flex: none; padding: 0 10px 0 4px; font-size: .8rem; color: var(--text-3); white-space: nowrap; }
.wq-input select { width: 100%; border: 1px solid #d6dedb; border-radius: 10px; padding: 9px 10px; background: #fbfcfc; font-size: .95rem; }
.wq-input select:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 3px rgba(20,160,138,.18); }
.wq-status { min-width: 0; font-size: .88rem; line-height: 1.35; }
.wq-status .ulr-err { font-size: .85rem; }
.wq-badge { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: .82rem; font-weight: 600; line-height: 1.3; }
.wq-badge.acc { background: #DDF3E6; color: #11663A; }
.wq-badge.perm { background: #FFF1D6; color: #7A4E00; }
.wq-badge.fail { background: #FDE4E1; color: #A1251A; }
.wq-badge.na { background: var(--paper); color: var(--text-2); }
.wq-notes { grid-column: 1 / -1; }
.wq-notes:empty { display: none; }
.prose .wq-notes p { margin: 2px 0 0; font-size: .84rem; color: var(--text-2); line-height: 1.45; }
.wq-empty { margin-top: 18px; }
.wq-summary { margin-top: 22px; }
.prose .wq-counts { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; }
.prose .wq-counts li { padding: 12px 14px; border-radius: 12px; background: #fff; border: 1px solid var(--line); font-size: .9rem; color: var(--text-2); line-height: 1.3; }
.wq-counts strong { display: block; font-size: 1.6rem; font-weight: 500; letter-spacing: -.02em; }
.wq-counts .acc strong { color: #11663A; }
.wq-counts .perm strong { color: #7A4E00; }
.wq-counts .fail strong { color: #A1251A; }
.wq-counts .na strong { color: var(--text-2); }
.prose .wq-verdict { margin-top: 10px; font-size: .95rem; color: var(--ink); }
.wq-report { margin-top: 22px; }
.prose .wq-report h3 { margin: 0; font-size: 1rem; font-weight: 600; color: var(--ink); }
.wq-print-head { display: none; }
.wq-report .table-wrap { margin: 10px 0 8px; }
.wq-report .table-wrap th, .wq-report .table-wrap td { min-width: 0; padding: 8px 8px; font-size: .86rem; }
.wq-report .table-wrap td:nth-child(2) { min-width: 9em; }
.wq-report .table-wrap td:nth-child(7) { min-width: 9em; }
.wq-report tr.is-perm td:last-child { color: #7A4E00; font-weight: 600; }
.wq-report tr.is-fail td:last-child, .wq-report tr.is-fail td:nth-child(4) { color: #A1251A; font-weight: 600; }
.prose .wq-foot { font-size: .82rem; color: var(--text-2); }
.wq-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }

@media (max-width: 640px) {
  .wq-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .wq-name { grid-column: 1 / -1; }
}

@media print {
  body.wq-printing .header, body.wq-printing .footer, body.wq-printing .page-hero, body.wq-printing .page-aside,
  body.wq-printing .page-faq, body.wq-printing .demo, body.wq-printing .wa, body.wq-printing .skip,
  body.wq-printing .prose > :not(.wq-tool), body.wq-printing .wq-tool > :not(.wq-report),
  body.wq-printing .wq-actions, body.wq-printing .wq-report > h3 { display: none !important; }
  body.wq-printing .page { padding: 0; }
  body.wq-printing .prose .wq-tool { border: 0; padding: 0; margin: 0; background: #fff; }
  body.wq-printing .wq-print-head { display: block; margin-bottom: 8px; }
  body.wq-printing .wq-print-head h2 { font-size: 1.2rem; margin: 0 0 4px; }
  body.wq-printing .wq-print-head p { font-size: .85rem; margin: 0; color: #333; }
  body.wq-printing .table-wrap { overflow: visible; border-color: #999; }
  body.wq-printing .table-wrap th, body.wq-printing .table-wrap td { font-size: 9.5pt; padding: 4px 6px; border-bottom-color: #bbb; }
}
