:root { --ink:#12213b; --muted:#65728a; --line:#dce4ef; --paper:#f6f8fc; --card:#fff; --accent:#2156d9; --warn:#ab6610; --bad:#b52f39; --good:#178064; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif; }
.shell { width:min(1160px,calc(100% - 32px)); margin:0 auto; padding:54px 0 30px; }
.hero { display:flex; justify-content:space-between; gap:30px; align-items:flex-start; padding:18px 0 38px; }
.eyebrow { margin:0 0 7px; color:var(--accent); letter-spacing:.09em; font-size:12px; font-weight:700; }
h1,h2,h3,p { margin-top:0; } h1 { margin-bottom:12px; font-size:clamp(30px,5vw,48px); line-height:1.1; } h2 { margin-bottom:10px; font-size:24px; line-height:1.25; } h3 { margin-bottom:6px; font-size:17px; }
.lead { max-width:720px; color:var(--muted); font-size:18px; }.readonly-mark { min-width:118px; padding:14px 16px; color:#0d5948; border:1px solid #ace4d6; border-radius:12px; background:#effcf8; text-align:center; }.readonly-mark strong { font-size:22px; }
.notice { margin-bottom:18px; padding:13px 16px; border:1px solid #f2d09f; border-radius:10px; background:#fff7e7; color:#714204; }.notice.ok { border-color:#b9d9ec; background:#eef8ff; color:#18506d; }.notice.alert { border-color:#efb7bb; background:#fff0f1; color:#8e2029; }
.grid { display:grid; gap:16px; }.metrics { grid-template-columns:repeat(4,1fr); margin-bottom:18px; }.metrics article,.scorecards article { min-height:116px; padding:18px; border:1px solid var(--line); border-radius:12px; background:var(--card); }.metrics span,.scorecards span { display:block; color:var(--muted); font-size:13px; }.metrics strong,.scorecards strong { display:block; margin:5px 0; font-size:28px; }.metrics small { color:var(--muted); }
.panel { margin:18px 0; padding:26px; border:1px solid var(--line); border-radius:14px; background:var(--card); box-shadow:0 8px 30px rgba(18,33,59,.04); }.panel-heading { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }.status { padding:5px 10px; border-radius:999px; background:#fff1f1; color:var(--bad); font-size:13px; font-weight:700; }.status.verified { background:#eaf8f2; color:var(--good); }.subtle,.muted { color:var(--muted); font-size:14px; }.scorecards { grid-template-columns:repeat(4,1fr); margin-top:18px; }.scorecards article { min-height:auto; }.scorecards strong { font-size:22px; }.reasons { margin:20px 0 0; padding:14px 18px 14px 36px; border-radius:10px; background:#fff6f6; color:#7e2930; }.reasons:empty { display:none; }
.table-wrap { overflow-x:auto; } table { width:100%; min-width:840px; border-collapse:collapse; } th,td { padding:12px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; } th { color:var(--muted); font-size:13px; font-weight:600; } td { font-size:14px; }.stock { font-weight:700; }.stock small { display:block; color:var(--muted); font-weight:400; }.score { font-weight:700; color:var(--accent); }.tag { display:inline-block; padding:3px 8px; border-radius:999px; background:#edf3ff; color:#1b4ec7; font-size:12px; }.two-col { grid-template-columns:1fr 1fr; }.two-col div { padding:12px 0; } footer { padding:26px 16px 44px; color:var(--muted); text-align:center; font-size:13px; }
@media (max-width:760px) { .shell { width:min(100% - 24px,1160px); padding-top:28px; }.hero,.panel-heading { display:block; }.readonly-mark { display:inline-block; margin-top:20px; }.metrics,.scorecards,.two-col { grid-template-columns:1fr 1fr; }.panel { padding:18px; } }
@media (max-width:460px) { .metrics,.scorecards,.two-col { grid-template-columns:1fr; } }
