* { box-sizing: border-box; }
body { margin: 0; padding: 36px 16px; color: #18312d; background: #f4f7f2; font: 16px/1.55 Arial, sans-serif; }
.lookup { max-width: 520px; margin: 0 auto; padding: 32px; border: 1px solid #dbe4d7; border-radius: 18px; background: white; }
.brand { color: #3b6b42; font-size: 13px; font-weight: bold; letter-spacing: .5px; }
h1 { margin: 14px 0; font-size: 30px; line-height: 1.25; }
label { display: block; margin: 24px 0 8px; font-size: 14px; font-weight: bold; }
input, button { width: 100%; min-height: 54px; padding: 14px; border-radius: 9px; font: inherit; }
input { border: 1px solid #aebfac; }
input:focus { outline: 3px solid #d8e9d3; border-color: #3b6b42; }
button { margin-top: 12px; border: 0; color: white; background: #d92d27; font-weight: bold; cursor: pointer; }
button:focus-visible { outline: 3px solid #173d21; outline-offset: 3px; }
button:disabled { opacity: .65; cursor: wait; }
#feedback { margin-top: 20px; }
#feedback.error { color: #a22b24; }
.result { margin-top: 16px; padding: 18px; border: 1px solid #dbe4d7; border-radius: 9px; background: #f7faf5; }
.result dl { margin: 0; }
.result dt { margin-top: 12px; font-size: 13px; color: #557050; }
.result dt:first-child { margin-top: 0; }
.result dd { margin: 4px 0 0; overflow-wrap: anywhere; }
.result .date { font-size: 22px; font-weight: bold; color: #285637; }
.coverage { font-size: 13px; color: #557050; }
@media (max-width: 430px) { body { padding: 20px 12px; } .lookup { padding: 24px 20px; } h1 { font-size: 27px; } }
