* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.6 -apple-system, "Segoe UI", Roboto, sans-serif; color: #1a202c; background: #f7fafc; }
a { color: #1d4ed8; }
.wrap { max-width: 860px; margin: 0 auto; padding: 0 16px; }
header.site { background: #0f2a4a; color: #fff; padding: 14px 0; }
header.site .wrap { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: baseline; }
header.site a { color: #fff; text-decoration: none; }
header.site .brand { font-size: 20px; font-weight: 700; margin-right: auto; }
main { padding: 24px 0 48px; }
footer.site { border-top: 1px solid #e2e8f0; background: #fff; padding: 20px 0 32px; font-size: 14px; color: #334155; }
.card { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 18px 20px; margin: 0 0 16px; }
.mission { background: #eff6ff; border-color: #bfdbfe; }
.strip { font-size: 18px; }
.strip strong { font-size: 26px; }
.pill { display: inline-block; padding: 2px 12px; border-radius: 999px; font-size: 14px; font-weight: 600; }
.pill-reported { background: #fee2e2; color: #991b1b; }
.pill-in_service { background: #fef3c7; color: #92400e; }
.pill-escalated { background: #fde68a; color: #78350f; }
.pill-resolved { background: #dcfce7; color: #166534; }
.pill-pending { background: #e2e8f0; color: #334155; }
.meta { color: #475569; font-size: 14px; }
.facts { width: 100%; border-collapse: collapse; margin: 12px 0; }
.facts td { border-bottom: 1px solid #eef2f7; padding: 6px 8px 6px 0; vertical-align: top; }
.facts td:first-child { color: #475569; white-space: nowrap; padding-right: 18px; }
form.std label { display: block; font-weight: 600; margin: 14px 0 4px; }
form.std input[type=text], form.std input[type=email], form.std input[type=number],
form.std input[type=month], form.std select, form.std textarea {
  width: 100%; padding: 10px; font-size: 16px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff;
}
form.std textarea { min-height: 160px; }
form.std .hint { font-size: 14px; color: #475569; margin-top: 2px; }
form.std .ack { display: flex; gap: 10px; align-items: flex-start; margin: 16px 0; font-weight: 400; }
button, .btn { display: inline-block; background: #1d4ed8; color: #fff; border: 0; border-radius: 8px;
  padding: 10px 22px; font-size: 16px; font-weight: 600; cursor: pointer; text-decoration: none; }
button.danger { background: #b91c1c; }
button.plain { background: #e2e8f0; color: #1a202c; }
.errors { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; border-radius: 8px; padding: 10px 14px; }
.notice { background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534; border-radius: 8px; padding: 10px 14px; }
.photos img { max-width: 100%; border-radius: 8px; margin: 8px 0; }
.diary-entry { border-left: 3px solid #1d4ed8; padding-left: 14px; margin: 14px 0; }
.diary-entry .meta { margin-bottom: 4px; }
.story-body p { margin: 10px 0; }
.disclaimer-inline { font-size: 14px; color: #475569; border-top: 1px dashed #cbd5e1; margin-top: 16px; padding-top: 10px; }
