:root{
  --bg:#f4f7fb;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --line:#e2e8f0;
  --blue:#2563eb;
  --green:#16a34a;
  --orange:#ea580c;
  --red:#dc2626;
  --shadow:0 10px 28px rgba(15,23,42,.08);
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#eef4ff 0,#f8fafc 220px,var(--bg));font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--text)}
.app{max-width:1320px;margin:0 auto;padding:22px 14px 60px}
.hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:20px;border-radius:24px;background:rgba(255,255,255,.78);box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.9);backdrop-filter:blur(10px)}
.eyebrow{font-size:12px;color:var(--blue);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero h1{margin:6px 0 8px;font-size:30px}.hero p{margin:0;color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.actions button,.download{border:none;border-radius:14px;padding:10px 13px;background:var(--blue);color:#fff;font-weight:700;text-decoration:none;cursor:pointer}.actions .ghost{background:#e2e8f0;color:#0f172a}.download{background:#111827}
.filter-panel{display:flex;align-items:end;flex-wrap:wrap;gap:10px;margin-top:14px;padding:14px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.filter-panel label{display:grid;gap:6px;font-size:12px;color:var(--muted);font-weight:700}.filter-panel select,.filter-panel input{border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:#fff;color:var(--text);font-size:14px}.filter-panel .hint{color:var(--muted);font-size:12px;margin-left:auto}
.status-grid,.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.status-card,.summary-card,.panel,.summary-panel{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.status-card,.summary-card{padding:15px}.status-card span,.summary-card span{display:block;color:var(--muted);font-size:12px;font-weight:700}.status-card strong,.summary-card strong{display:block;margin:8px 0 4px;font-size:24px}.status-card small,.summary-card small{color:var(--muted);word-break:break-word}.summary-card.accent{background:linear-gradient(135deg,#1d4ed8,#38bdf8);color:#fff}.summary-card.accent span,.summary-card.accent small{color:rgba(255,255,255,.85)}
.summary-panel,.panel{margin-top:14px;padding:16px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-title h2{font-size:18px;margin:0}.panel-title span{color:var(--muted);font-size:12px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);border-radius:999px;padding:8px 10px;background:#f8fafc;font-size:13px}.chip b{font-size:16px}.chip.hot{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.chip.blue{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px}table{width:100%;border-collapse:collapse;min-width:1180px;background:#fff}th,td{padding:10px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:top}th{position:sticky;top:0;background:#f8fafc;color:#475569;z-index:1}td strong{font-size:15px}.split{line-height:1.7}.mono{font-variant-numeric:tabular-nums}.empty{text-align:center;color:var(--muted);padding:30px}.good{color:var(--green)}.warn{color:var(--orange)}.bad{color:var(--red)}
@media(max-width:900px){.hero{display:block}.filter-panel{display:grid;grid-template-columns:1fr}.filter-panel .hint{margin-left:0}.actions{justify-content:flex-start;margin-top:14px}.status-grid,.summary-grid,.two-col{grid-template-columns:1fr}.hero h1{font-size:24px}.app{padding:12px 10px 40px}.panel,.summary-panel{padding:12px}.status-card strong,.summary-card strong{font-size:21px}}
