* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: -apple-system, "Segoe UI", Roboto, sans-serif;
  color: #1a1a1a;
  background: #fff;
  max-width: 440px;
  margin: 0 auto;
  line-height: 1.4;
}

/* Summit Health app bar */
.appbar {
  background: #63666b;
  color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: 18px;
  padding: 14px;
}

/* Home / Sign Out nav */
.nav { display: flex; justify-content: space-between; padding: 8px 12px; background: #eff0f2; }
.nav a {
  background: #fcfcff;
  border: 1px solid #c6c6cc;
  border-radius: 4px;
  padding: 6px 14px;
  text-decoration: none;
  color: #111;
  font-size: 14px;
}

.page { padding: 22px 20px 40px; }

h1 { font-family: Georgia, "Times New Roman", serif; font-size: 30px; margin-bottom: 6px; }
.subtitle { color: #6b6b6b; font-size: 14px; margin-bottom: 22px; }

/* "Your Latest Results" card */
.card {
  border: 1px solid #e2e2e6;
  border-radius: 6px;
  padding: 20px;
  box-shadow: 0 1px 3px rgba(0,0,0,.07);
  margin-bottom: 26px;
}
.card h2 { font-family: Georgia, serif; font-size: 22px; margin-bottom: 4px; }

h2.section { font-family: Georgia, serif; font-size: 26px; margin: 22px 0 4px; }
.date { color: #555; font-size: 15px; margin-bottom: 14px; }

/* result list item */
.result { padding: 16px 0; border-bottom: 1px solid #ececec; }
.result a.name {
  color: #1a6ec8;
  font-weight: 700;
  text-decoration: none;
  font-size: 17px;
  display: block;
  margin-bottom: 10px;
}
.badge {
  display: inline-block;
  background: #e3f1ea;
  color: #1c6b47;
  font-size: 13px;
  font-weight: 600;
  padding: 5px 14px;
  border-radius: 14px;
}
.note-label { color: #7b5ea7; font-weight: 700; font-size: 14px; margin: 12px 0 4px; }
.note { color: #555; font-size: 14px; }

/* detail view */
.detail { padding: 26px 0; border-bottom: 1px solid #e6e6e6; }
.detail-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.detail-head .title { font-family: Georgia, serif; font-size: 22px; font-weight: 700; line-height: 1.25; }
.detail-head .status { color: #1a8f6b; font-weight: 700; font-size: 16px; white-space: nowrap; }
.result-value { text-align: center; font-weight: 700; font-size: 18px; margin: 22px 0 10px; letter-spacing: .5px; }
.reference { text-align: center; color: #333; font-size: 16px; }
.method { text-align: center; color: #333; font-size: 16px; margin-top: 26px; }

.back { display: inline-block; margin-top: 24px; color: #1a6ec8; text-decoration: none; font-size: 15px; }

/* index hub */
.hub a { display: block; padding: 14px 4px; border-bottom: 1px solid #ececec; color: #1a6ec8; text-decoration: none; font-size: 17px; font-weight: 600; }
.hub .muted { color: #777; font-weight: 400; font-size: 14px; }
