:root { color-scheme:light; font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif; color:#20314a; background:#f3f6fa; line-height:1.65; }
* { box-sizing:border-box; }
body { margin:0; padding:0 28px; }
a { color:#205ca8; text-underline-offset:4px; }
button,.button-link { font:inherit; padding:8px 16px; border:1px solid #bfd0e2; border-radius:7px; background:#fff; color:#205ca8; cursor:pointer; }
button:hover,.button-link:hover { background:#edf4fc; }
:focus-visible { outline:3px solid #1b78d0; outline-offset:4px; }
header { max-width:1240px; margin:auto; display:flex; gap:32px; align-items:center; min-height:90px; flex-wrap:wrap; padding:16px 0; }
.brand { font-size:19px; font-weight:750; color:#1d3553; text-decoration:none; letter-spacing:-.5px; }
.brand span { font-size:12px; display:block; color:#62738a; font-weight:500; letter-spacing:2px; }
nav { display:flex; gap:24px; margin-left:auto; }
nav a { color:#52637b; text-decoration:none; padding:8px 0; border-bottom:2px solid transparent; }
nav a[aria-current="page"] { color:#205ca8; border-color:#205ca8; font-weight:650; }
.boundary { max-width:1240px; margin:0 auto 26px; padding:14px 18px; background:#e8f0f9; border-left:3px solid #4675aa; font-size:12px; color:#496078; }
main { max-width:1240px; margin:auto; min-height:360px; }
h1 { margin:0 0 8px; font-size:28px; line-height:1.4; letter-spacing:-.6px; }
h2 { margin:0 0 16px; font-size:17px; line-height:1.5; }
p { margin:10px 0 18px; }
.eyebrow { font-size:12px; color:#61758b; letter-spacing:1px; margin:0 0 8px; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; flex-wrap:wrap; }
.section-heading h2 { margin:0; }
.section-heading a { font-size:13px; flex-shrink:0; }
.decision { border:1px solid #e4d7b8; background:#fffaf0; color:#755f32; padding:13px 18px; border-radius:8px; font-size:13px; }
.muted,.unmeasured { color:#62748a; font-size:12px; }
.chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:22px 0; }
.panel { background:#fff; border:1px solid #dce4ed; border-radius:10px; padding:22px; margin-bottom:20px; min-width:0; }
.chart-grid .panel { margin:0; }
.snapshot { border-left:3px solid #0d807d; }
.stat-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:0; }
.stat-row dt { font-size:12px; color:#61758b; letter-spacing:1px; }
.stat-row dd { margin:6px 0 0; font-size:23px; font-weight:650; letter-spacing:-.5px; }
.stat-row dd small { display:block; font-size:12px; font-weight:400; color:#6a7c91; letter-spacing:0; margin-top:6px; }
.wide { grid-column:1/-1; }
.chart { width:100%; height:330px; }
.table-scroll { overflow-x:auto; }
table { width:100%; min-width:920px; border-collapse:collapse; font-size:12px; }
th,td { padding:12px 10px; text-align:left; border-bottom:1px solid #e2e8f0; vertical-align:top; }
thead th { background:#f4f7fa; font-weight:600; white-space:nowrap; }
tbody th { font-weight:600; }
td small { display:block; color:#6a7c91; white-space:nowrap; margin-top:4px; }
.notes { font-size:12px; color:#63748a; padding-left:20px; max-height:360px; overflow:auto; overflow-wrap:anywhere; }
.notes li { margin:8px 0; }
.days { list-style:none; padding:0; display:grid; gap:12px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.days li { padding:18px; border:1px solid #dce4ed; border-radius:9px; background:#fff; }
.days a { display:flex; justify-content:space-between; gap:10px; text-decoration:none; font-weight:650; }
.days a span,.days small { color:#657a94; font-size:12px; font-weight:400; }
#report { width:100%; display:block; border:0; height:1px; background:#fff; }
.message,.status { background:#fff; border:1px solid #dce4ed; border-radius:10px; padding:26px; }
.message a { margin-left:16px; }
.error { color:#a73326; }
footer { max-width:1240px; margin:28px auto; font-size:11px; color:#75859a; }
.skip-link { position:absolute; left:12px; top:-100px; }
.skip-link:focus { top:4px; background:white; padding:10px; z-index:10; }
@media(max-width:760px) {
  body { padding:0 14px; }
  header { gap:14px; }
  nav { order:3; width:100%; margin:0; gap:22px; }
  #signout { margin-left:auto; }
  h1 { font-size:23px; }
  .chart-grid,.days,.stat-row { grid-template-columns:1fr; }
  .panel { padding:16px 12px; }
  .chart { height:310px; }
}
