*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;background:#0d1117;color:#e6edf3;font-size:13px}a{color:#4f8cff;text-decoration:none}.login{min-height:100vh;display:flex;align-items:center;justify-content:center}.login form{background:#161b22;padding:28px;border-radius:12px;width:320px;border:1px solid #30363d}.login h1{font-size:18px;margin-bottom:18px;text-align:center}.login input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid #30363d;background:#0d1117;color:#e6edf3;font-size:14px}.login button{width:100%;margin-top:12px;padding:10px;border:0;border-radius:8px;background:#4f8cff;color:#fff;font-size:14px;cursor:pointer}.err{color:#ff6b6b;font-size:13px;margin-top:8px;text-align:center}.page{max-width:1840px;margin:0 auto;padding:14px 18px 40px}header{display:flex;align-items:center;gap:14px;margin-bottom:12px;flex-wrap:wrap}header h1{font-size:18px}.actions{margin-left:auto;display:flex;gap:8px}button{padding:7px 13px;border-radius:7px;border:1px solid #30363d;background:#21262d;color:#e6edf3;cursor:pointer;font-size:12px}button:disabled{opacity:.5}button.on{background:#4f8cff;border-color:#4f8cff;color:#fff}.kpi-bar{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:12px}.gk{background:#161b22;border:1px solid #30363d;border-radius:10px;padding:12px 14px}.gk .v{font-size:22px;font-weight:700;line-height:1.1}.gk .v small{font-size:12px;color:#8b949e;font-weight:400;margin-left:3px}.gk .l{font-size:11px;color:#8b949e;margin-top:4px}.gk.b{border-left:3px solid #4f8cff}.gk.g{border-left:3px solid #36cfc9}.gk.y{border-left:3px solid #ffd666}.card,.group{background:#161b22;border:1px solid #30363d;border-radius:10px}.panel-title{font-size:13px;font-weight:600;color:#c9d1d9;margin:0 0 10px;padding:10px 14px;border-bottom:1px solid #21262d;display:flex;align-items:center;gap:10px}.panel-title .sub{color:#8b949e;font-weight:400;font-size:12px}table.tbl{width:100%;border-collapse:collapse}table.tbl th,table.tbl td{padding:8px 12px;border-bottom:1px solid #21262d;font-size:12.5px}table.tbl th{color:#8b949e;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.3px;background:#0d1117;position:sticky;top:0}table.tbl td.num,table.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}table.tbl tbody tr{cursor:pointer}table.tbl tbody tr:hover{background:#1c2128}.tag{display:inline-block;padding:1px 7px;border-radius:5px;font-size:10.5px;font-weight:600}.tag.biz{background:#2d2a1f;color:#ffd666}.tag.ctn{background:#15324b;color:#4f8cff}.mute{color:#8b949e}.ok{color:#36cfc9}.warn{color:#ffd666}.info-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:4px 22px;background:#161b22;border:1px solid #30363d;border-radius:10px;padding:12px 16px;margin-bottom:12px;font-size:12px}.info-bar .k{color:#8b949e;font-size:10.5px;text-transform:uppercase;letter-spacing:.3px}.info-bar .v{color:#c9d1d9;margin-top:2px}.groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}.metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:1px;background:#21262d}.metric{background:#0d1117;padding:11px 12px}.m-val{font-size:19px;font-weight:700;color:#36cfc9;line-height:1.1;font-variant-numeric:tabular-nums}.m-val small{font-size:11px;color:#8b949e;font-weight:400;margin-left:2px}.m-label{font-size:11px;color:#8b949e;margin-top:3px}.m-err{font-size:10px;color:#ff6b6b;margin-top:2px}.split{display:grid;grid-template-columns:1.6fr 1fr;gap:12px}@media (max-width: 1100px){.split,.groups,.kpi-bar{grid-template-columns:1fr}.info-bar{grid-template-columns:1fr 1fr}}.chart-wrap{padding:6px 10px 10px}.empty{color:#8b949e;font-size:12px;padding:16px 14px}.error-box{background:#3a1d1d;border:1px solid #6b2c2c;color:#ff9c9c;padding:9px 14px;border-radius:10px;margin-bottom:12px;font-size:12px}.path-tbl td{padding:6px 12px}.path-tbl .rank{color:#8b949e;width:30px}.path-tbl .path{font-family:ui-monospace,monospace;color:#c9d1d9;word-break:break-all}.path-tbl .cnt{color:#36cfc9;text-align:right;width:70px;font-variant-numeric:tabular-nums}
