:root { color-scheme: light; --ink:#1b1b1b; --blue:#0664a2; --link:#21698f; --border:#dfe0e2; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Arial, Helvetica, sans-serif; font-size:18px; line-height:1.2; }
button,input { font:inherit; }
button,a,input { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a,.text-button { color:var(--link); }
button:focus-visible,a:focus-visible,input:focus-visible { outline:3px solid #d89f28; outline-offset:4px; }
[hidden] { display:none !important; }
.text-button { border:0; background:none; padding:0; text-decoration:underline; text-align:left; }
.skip-link { position:absolute; top:-80px; left:12px; background:white; z-index:20; padding:10px; }
.skip-link:focus { top:8px; }
.site-banner { background:#f7f7f7; border-bottom:1px solid #eee; padding:15px 20px 12px; }
.banner-inner { display:flex; gap:12px; align-items:flex-start; max-width:1100px; margin:auto; }
.demo-tag { background:#145b7d; color:#fff; font-weight:bold; font-size:12px; padding:5px 6px; margin-top:1px; }
.banner-copy { flex:1; font-size:13px; line-height:1.35; }
.banner-help { font-size:13px; }
.language-links { display:flex; flex-direction:column; align-items:flex-end; gap:5px; font-size:14px; white-space:nowrap; }
.language-links .text-button { text-decoration:none; }
.brand-header { box-shadow:0 4px 5px #00000025; }
.brand-inner { max-width:1100px; margin:auto; min-height:142px; padding:23px 0; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.brand { display:flex; gap:15px; align-items:center; color:#155b7a; text-decoration:none; }
.brand img { width:86px; height:86px; }
.wordmark { font-family:Georgia, 'Times New Roman', serif; font-size:25px; line-height:1.01; font-weight:bold; }
.menu-button { align-self:flex-start; border:3px solid #2789b1; color:#fff; background:#007ca8; font-size:24px; font-weight:normal; padding:18px 16px; }
#site-menu { max-width:1100px; margin:auto; padding:0 0 20px; display:flex; gap:25px; flex-wrap:wrap; }
#site-menu a { font-size:16px; }
.main-container { max-width:1100px; width:calc(100% - 40px); margin:48px auto 0; }
h1 { font-size:44px; line-height:1.1; margin:0 0 25px; letter-spacing:-.4px; }
.check-card { border:2px solid var(--border); border-radius:6px; padding:30px; }
.check-card h2 { font-size:34px; line-height:1.15; margin:0 0 27px; }
.check-card p { margin:0; }
.check-card .intro { margin-bottom:25px; }
.instructions { margin-bottom:16px !important; }
label { display:block; margin:0 0 28px; }
#receipt-number { display:block; width:240px; max-width:100%; height:53px; padding:10px 12px; border:1px solid #64666a; border-radius:0; font-size:21px; color:var(--ink); background:#fff; }
#receipt-number::placeholder { color:#a7a7a7; opacity:1; }
.field-help { font-size:13px; line-height:1.4; margin-top:9px !important; }
.field-error { color:#a82020; font-size:14px; margin-top:12px !important; }
.primary-button { width:100%; border:0; border-radius:5px; background:var(--blue); color:#fff; padding:13px 15px; font-size:22px; text-align:center; }
.primary-button:hover:not(:disabled) { background:#004c7d; }
.primary-button:disabled { background:#ccc; color:#484848; cursor:default; }
.check-button { margin:35px 0 0; }
.account-block { margin-top:42px; }
.account-block p+p { margin-top:22px; }
.policy-links { display:flex; justify-content:space-around; gap:20px; margin:35px 0 27px; font-size:14px; }
.policy-links .text-button { text-decoration:none; text-align:center; }
.section-rule { margin:0; height:5px; border:0; background:var(--border); }
.related-tools { margin-top:85px; }
.related-tools>h2 { font-size:32px; margin:0 0 26px 12px; color:#000; }
.tool-card { border:2px solid var(--border); border-radius:6px; overflow:hidden; }
.tool-photo { width:100%; aspect-ratio:986/960; overflow:hidden; }
.tool-photo svg { display:block; width:100%; height:100%; }
.tool-content { padding:28px 32px 24px; }
.tool-content h3 { font-size:28px; margin:0 0 42px; }
.tool-content p { line-height:1.5; margin:0 0 25px; }
.inline-link { color:#0000ee; }
.visit-button { margin-top:18px; }
.demo-footer { max-width:1100px; width:calc(100% - 40px); margin:35px auto 0; padding:18px 0 24px; border-top:1px solid var(--border); font-size:13px; line-height:1.5; }
.demo-footer strong { display:block; font-size:16px; }
dialog { max-width:480px; width:calc(100% - 32px); border:2px solid var(--border); padding:0; border-radius:4px; color:var(--ink); }
dialog::backdrop { background:#0007; }
.dialog-content { padding:25px; }
.dialog-content h2 { font-size:25px; margin:0 0 18px; }
.dialog-content p { font-size:17px; line-height:1.5; }
.dialog-close { margin-top:14px; font-size:18px; }
.noscript-message { padding:20px; background:#fff3cd; }
/* The result page follows the framed, older dialog layout in the reference. */
.result-page { background:#bcbcbc; font-family:Arial, Helvetica, sans-serif; min-height:100vh; padding:8px; }
.result-window { width:750px; max-width:100%; margin:0 auto; background:#ececec; border:1px solid #aaa; box-shadow:4px 5px 0 #000; }
.result-toolbar { min-height:46px; padding:12px 13px 5px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.result-demo { font-size:12px; font-weight:bold; color:#0e4f78; letter-spacing:.35px; }
.print-button { font-size:13px; color:#243f63; background:#e1edf4; border:2px solid #fff; box-shadow:0 0 2px #9da9b2; padding:4px 11px; }
.result-sheet { margin:0 12px; padding:14px 24px 30px; border:1px solid #bdbdbd; background:#fff; }
.result-header { position:relative; text-align:center; padding:0 0 28px; }
.result-mark { position:absolute; top:0; left:-16px; opacity:.14; }
.department-name { font-size:22px; color:#777; margin:0 0 3px; }
.result-header h1 { font-size:21px; letter-spacing:.6px; margin:0; line-height:1.2; }
.result-header h2 { color:#0067bc; font-size:25px; margin:17px 0 0; line-height:1.1; }
.sample-status { white-space:nowrap; font-size:16px; }
.case-details { display:grid; grid-template-columns:auto 1fr; gap:6px 9px; margin:12px 3px 40px; font-size:14px; }
.case-details dt { margin:0; }
.case-details dd { margin:0; }
.result-message { border:1px solid #d7d7d7; box-shadow:0 0 2px #ddd; padding:14px 10px 11px; font-size:21px; line-height:1.25; }
.result-message p { margin:0; }
.result-message p+p { margin-top:12px; }
.result-message a,.result-close a { color:#0078b7; text-decoration:underline; }
.result-close { text-align:center; font-size:21px; padding:14px 10px 7px; }
.result-footer { text-align:center; padding:4px 12px 13px; font-size:11px; color:#4c4c4c; }
@media (max-width:1150px) and (min-width:601px) { .brand-inner,#site-menu { margin-left:20px; margin-right:20px; } }
@media (max-width:600px) {
  body { font-size:14px; line-height:1.12; }
  .site-banner { padding:12px 0 9px; }
  .banner-inner { gap:7px; padding:0 5px 0 0; flex-wrap:wrap; }
  .demo-tag { padding:4px; font-size:9px; margin-top:0; }
  .banner-copy,.banner-help { font-size:10px; }
  .banner-copy { line-height:1.3; }
  .language-links { gap:3px; font-size:11px; }
  .language-links button:last-child { font-size:10px; }
  .brand-inner { min-height:88px; padding:15px 14px 18px; }
  .brand { gap:8px; }
  .brand img { width:54px; height:54px; }
  .wordmark { font-size:16px; }
  .menu-button { font-size:14px; border-width:2px; padding:13px 9px; margin-top:-15px; }
  #site-menu { padding:0 14px 18px; gap:18px; }
  #site-menu a { font-size:14px; }
  .main-container { width:calc(100% - 28px); margin-top:27px; }
  h1 { font-size:28px; margin:0 0 15px; letter-spacing:-.1px; }
  .check-card { padding:18px 17px 30px; border-radius:5px; }
  .check-card h2 { font-size:24px; margin:0 0 20px; }
  .check-card .intro { margin-bottom:17px; }
  .instructions { line-height:1.13; margin-bottom:11px !important; }
  label { margin-bottom:23px; }
  #receipt-number { height:35px; width:174px; padding:7px; font-size:16px; }
  .field-help { font-size:10px; margin-top:6px !important; }
  .field-error { font-size:12px; }
  .primary-button { font-size:16px; line-height:1.2; padding:9px 10px; border-radius:4px; }
  .check-button { margin-top:22px; }
  .account-block { margin-top:31px; }
  .account-block p+p { margin-top:17px; }
  .policy-links { font-size:10px; gap:20px; margin:25px 0 20px; }
  .section-rule { height:3px; }
  .related-tools { margin-top:64px; }
  .related-tools>h2 { font-size:22px; margin:0 0 19px 9px; }
  .tool-content { padding:23px 20px 12px; }
  .tool-content h3 { font-size:19px; margin:0 0 31px; }
  .tool-content p { line-height:1.5; margin-bottom:16px; font-size:15px; }
  .visit-button { margin-top:11px; }
  .demo-footer { width:calc(100% - 28px); font-size:11px; }
  .result-page { padding:6px; }
  .result-toolbar { padding:8px; min-height:40px; }
  .result-demo { font-size:10px; line-height:1.3; max-width:220px; }
  .result-sheet { margin:0 6px; padding:13px 10px 18px; }
  .result-header { padding-bottom:21px; }
  .result-mark { width:58px; height:58px; left:-6px; }
  .department-name { font-size:16px; }
  .result-header h1 { font-size:14px; letter-spacing:.2px; }
  .result-header h2 { font-size:21px; margin-top:17px; }
  .sample-status { font-size:13px; }
  .case-details { font-size:11px; gap:7px 6px; margin:8px 0 25px; }
  .result-message { font-size:15px; line-height:1.3; padding:10px 8px; }
  .result-close { padding-top:12px; font-size:18px; }
  .result-footer { font-size:10px; line-height:1.4; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print {
  body.result-page { background:#fff; padding:0; }
  .result-window { box-shadow:none; border:1px solid #aaa; width:100%; }
  .print-button,.result-close { display:none; }
  .result-demo { font-size:15px; }
  .result-footer { font-size:12px; padding:15px; }
  .result-sheet { margin:0 12px 12px; }
}
