body { margin: 0; font: 14px/1.4 Inter, system-ui, sans-serif; background: #f5f6f8; color: #111319; }
.topbar { position: sticky; top: 0; z-index: 2; padding: 12px 16px; background: #fff; border-bottom: 1px solid #d9dde6; display: grid; gap: 8px; }
h1 { margin: 0; font-size: 18px; }
.tabbar { display: flex; gap: 8px; }
.tab-btn { border: 1px solid #d9dde6; background: #fff; border-radius: 6px; padding: 4px 10px; cursor: pointer; }
.tab-btn.active { background: #eaf1ff; border-color: #b8c9f3; font-weight: 600; }
.meta-line { font-size: 12px; color: #5b6170; }
main { padding: 14px 16px 24px; display: grid; gap: 12px; }
.summary-grid { display: grid; gap: 10px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.stat { background: #fff; border: 1px solid #d9dde6; border-radius: 6px; padding: 8px 10px; }
.stat .label { font-size: 11px; color: #5b6170; }
.stat .value { font-size: 20px; font-weight: 650; }
.panel { background: #fff; border: 1px solid #d9dde6; border-radius: 6px; padding: 10px; }
.panel h2 { margin: 0 0 8px; font-size: 14px; }
.table-wrap { overflow: auto; max-height: 48vh; border: 1px solid #d9dde6; border-radius: 6px; }
table { width: 100%; border-collapse: collapse; }
th, td { border-bottom: 1px solid #d9dde6; padding: 6px 8px; text-align: left; vertical-align: top; }
th { position: sticky; top: 0; background: #f8f9fb; font-size: 12px; }
.hidden { display: none; }
.list { margin: 0; padding-left: 18px; }
.split { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
@media (max-width: 1200px) { .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .split { grid-template-columns: 1fr; } }
