
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: #1c2b27; background: #f6f9f8; line-height: 1.55; }
.wrap { max-width: 880px; margin: 0 auto; padding: 0 16px; }
a { color: #1F6E5C; }

header.site { background: #1F6E5C; }
header.site .wrap { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; }
.brand { color: #fff; font-weight: 700; text-decoration: none; font-size: 17px; }
.topnav a { color: #d9ece7; text-decoration: none; margin-left: 14px; font-size: 14px; }
.topnav a:hover { color: #fff; }

.bc { font-size: 13px; color: #6b7f7a; margin: 14px 0 4px; }
.bc a { color: #1F6E5C; text-decoration: none; }
.bc .cur { color: #6b7f7a; }

h1 { font-size: 26px; line-height: 1.25; margin: 10px 0 8px; }
h2 { font-size: 20px; margin: 28px 0 10px; }
.lead { font-size: 17px; }

.note { background: #fff7e6; border: 1px solid #f0dfae; border-radius: 10px; padding: 12px 14px; font-size: 14px; margin: 14px 0; }

.card { background: #fff; border: 1px solid #e2ebe8; border-radius: 12px; padding: 18px; margin: 16px 0; }
.card.err { border-color: #e8b4b4; background: #fdf3f3; color: #8a2f2f; }
.flabel { display: block; font-weight: 600; font-size: 14px; margin: 10px 0 6px; }
textarea { width: 100%; border: 1px solid #cfe0db; border-radius: 8px; padding: 10px; font: inherit; font-size: 14px; resize: vertical; }
.example { background: #f2f7f5; border-radius: 10px; padding: 12px 14px; margin: 12px 0; font-size: 13.5px; }
.example p { margin: 0 0 8px; }
.example pre { background: #fff; border: 1px solid #e2ebe8; border-radius: 8px; padding: 10px 12px; font-family: inherit; font-size: 13px; white-space: pre-wrap; margin: 0 0 8px; color: #1c2b27; }
.example button { background: #eef6f2; color: #1F6E5C; border: 1px solid #cfe0db; border-radius: 8px; padding: 7px 14px; font-size: 13px; font-weight: 600; cursor: pointer; }
.example button:hover { background: #dfeee8; }
#pasHp { position: absolute; left: -9999px; top: -9999px; height: 1px; width: 1px; opacity: 0; }
#pasBtn { margin-top: 14px; background: #1F6E5C; color: #fff; border: 0; border-radius: 10px;
  padding: 12px 22px; font-size: 16px; font-weight: 600; cursor: pointer; width: 100%; }
#pasBtn:disabled { opacity: .6; cursor: wait; }
.privacy { font-size: 12.5px; color: #6b7f7a; margin: 10px 0 0; }

.report h2 { margin-top: 0; }
.sum { font-size: 15px; }
.sub { font-size: 14px; color: #445; }
.totals { display: flex; gap: 10px; flex-wrap: wrap; margin: 12px 0; }
.tot { flex: 1 1 140px; background: #f2f7f5; border-radius: 10px; padding: 10px 12px; text-align: center; }
.tot .n { font-size: 18px; font-weight: 700; }
.tot .l { font-size: 12px; color: #6b7f7a; }

.tblwrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th, td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #e8f0ee; vertical-align: top; }
th { background: #f2f7f5; font-size: 12.5px; text-transform: uppercase; letter-spacing: .02em; }
.tiny { font-size: 12px; color: #6b7f7a; }

.verd { display: inline-block; padding: 3px 9px; border-radius: 20px; font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.v-ok   { background: #e2f4e8; color: #1c7c3c; }
.v-mid  { background: #fff3d6; color: #8a6d1a; }
.v-bad  { background: #fde3e3; color: #b03030; }
.v-na   { background: #eef1f0; color: #667; }
.v-skip { background: #eef1f0; color: #667; font-style: italic; }

.sysline { font-size: 14.5px; }
.miss { background: #fff7e6; border: 1px solid #f0dfae; border-radius: 10px; padding: 10px 14px; font-size: 14px; margin: 12px 0; }
.miss ul, .unc ul { margin: 6px 0 0; padding-left: 20px; }
.unc { background: #eef1f0; border-radius: 10px; padding: 10px 14px; font-size: 14px; margin: 12px 0; }
.disc { font-size: 12.5px; color: #6b7f7a; }
.left { font-size: 13px; color: #445; }
.print { font-size: 13px; }

.chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.chip { background: #eef6f2; color: #1F6E5C; border-radius: 20px; padding: 7px 14px; font-size: 13.5px; text-decoration: none; font-weight: 600; }
.chip:hover { background: #dfeee8; }

.steps { padding-left: 20px; }
.steps li { margin: 8px 0; }
.cols { display: flex; gap: 12px; flex-wrap: wrap; }
.col { flex: 1 1 260px; border-radius: 12px; padding: 4px 18px 10px; }
.col.ok { background: #edf7f0; }
.col.no { background: #f6f1f1; }
.col h3 { font-size: 15px; }
.col ul { margin: 0; padding-left: 18px; font-size: 14px; }
.col li { margin: 5px 0; }

details.faq { background: #fff; border: 1px solid #e2ebe8; border-radius: 10px; padding: 10px 14px; margin: 8px 0; }
details.faq summary { font-weight: 600; cursor: pointer; font-size: 14.5px; }
details.faq p { font-size: 14px; margin: 8px 0 2px; }

.askbox { background: #1F6E5C; color: #fff; border-radius: 12px; padding: 18px; margin: 26px 0; }
.askbox p { margin: 0 0 12px; }
.cta { display: inline-block; background: #fff; color: #1F6E5C; border-radius: 10px; padding: 10px 16px;
  font-weight: 700; text-decoration: none; font-size: 14px; margin: 0 8px 8px 0; }
.cta.alt { background: rgba(255,255,255,.15); color: #fff; font-weight: 600; }

footer.site { background: #14483c; color: #cfe0db; font-size: 13px; margin-top: 30px; }
footer.site .wrap { padding: 18px 16px; }
footer.site a { color: #fff; }

@media (max-width: 640px) {
  h1 { font-size: 22px; }
  .topnav a { margin-left: 8px; font-size: 13px; }
  th, td { padding: 6px 7px; }
}
@media print {
  header.site, footer.site, form#pasForm, .askbox, .chips, .print, .steps, .cols, details.faq, h2, .note, .bc { display: none !important; }
  body { background: #fff; }
}
