.report{min-height:560px}.report-head{padding-bottom:14px;border-bottom:1px solid var(--line)}.report-head p{margin:6px 0 0}.visual-badge{padding:7px 11px;border-radius:999px;background:#e8efe9;color:var(--green);font-size:11px}.empty-report{min-height:360px;display:grid;place-content:center;text-align:center;gap:6px;color:var(--muted);border:1px dashed var(--line);border-radius:14px;background:#fff}.empty-report strong{color:var(--ink);font-size:18px}.empty-report span{max-width:430px}.report-warnings{margin-top:14px;padding:12px;border-radius:10px;background:var(--yellow);color:#745419}.kpi-only{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:22px}.kpi-only .kpi{border-top:4px solid var(--accent)}
.metric-contracts{margin:14px 0;border:1px solid var(--line);border-radius:12px;background:#f8faf8}.metric-contracts summary{cursor:pointer;padding:11px 13px;color:var(--green);font-size:12px}.metric-contracts>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px;padding:0 10px 10px}.metric-contracts article{padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.metric-contracts header{display:flex;align-items:center;justify-content:space-between;gap:8px}.metric-contracts code,.metric-contracts small{display:block;margin-top:7px;white-space:normal;overflow-wrap:anywhere}.metric-contracts code{color:var(--ink);font-size:11px}.metric-contracts small{color:var(--muted)}
.comparison-readiness{display:flex;align-items:center;gap:9px;margin:14px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.comparison-readiness>span:last-child{color:var(--muted);font-size:12px}.drillable{cursor:pointer}.drillable:hover,.drillable:focus,.drillable-visual:hover,.drillable-visual:focus{outline:2px solid #87bda9;outline-offset:2px}.drillable-visual{position:relative;cursor:pointer;border-radius:12px}.drill-hint{display:block;margin:7px 0;color:var(--muted);font-size:10px;text-align:right}.drill-button{padding:5px 8px;font-size:10px}.drill-panel{margin-top:18px;padding:16px;border:1px solid #9bbcae;border-radius:14px;background:#f6fbf8}.drill-panel>header{display:flex;justify-content:space-between;gap:20px;align-items:start}.drill-panel h3{margin:6px 0 2px}.drill-panel p{max-width:780px;margin:0;color:var(--muted);font-size:12px}.drill-panel>small{display:block;margin-top:8px;color:var(--muted)}.trace-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin:13px 0}.trace-list div{padding:8px;border-radius:8px;background:#fff;border:1px solid var(--line)}.trace-list dt{color:var(--muted);font-size:9px;text-transform:uppercase}.trace-list dd{margin:3px 0 0;overflow-wrap:anywhere}.drill-panel table{font-size:11px}
.chart-legend{display:flex;flex-wrap:wrap;gap:9px 16px;margin:18px 0 8px}.chart-legend span{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.chart-legend i{width:10px;height:10px;border-radius:3px}.svg-chart{width:100%;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px}.svg-chart svg{display:block;width:100%;min-width:700px;height:auto}.svg-chart .grid line{stroke:#e7ebe7;stroke-width:1}.svg-chart .grid text,.svg-chart .x-label{fill:#6b7771;font-size:10px}.svg-chart .series polyline{fill:none;stroke:var(--series);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.svg-chart .series circle{fill:#fff;stroke:var(--series);stroke-width:3}.svg-chart .zero{stroke:#87928d;stroke-width:1}.chart-note,.funnel-legend{display:flex;justify-content:space-between;gap:12px;margin:18px 0 8px;padding:10px 12px;border-radius:9px;background:#eef2ef;color:var(--muted);font-size:11px}
.stacked-chart{display:grid;gap:12px;margin-top:14px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px}.stacked-row{display:grid;grid-template-columns:minmax(130px,220px) minmax(260px,1fr) 90px;align-items:center;gap:12px}.stacked-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stacked-row>div{height:30px;display:flex;overflow:hidden;border-radius:6px;background:#edf0ed}.stacked-row i{display:grid;place-items:center;min-width:1px;font-style:normal;color:#fff}.stacked-row i b{font-size:9px;font-weight:450!important}.stacked-row>strong{text-align:right;font-size:11px}
.funnel-chart{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px;background:#fff;border:1px solid var(--line);border-radius:14px}.funnel-chart article{min-width:280px;min-height:58px;padding:10px 16px;display:grid;grid-template-columns:1fr auto;gap:2px 14px;background:linear-gradient(105deg,#174f42,#378168);color:#fff;clip-path:polygon(3% 0,97% 0,100% 100%,0 100%)}.funnel-chart article:nth-child(even){background:linear-gradient(105deg,#286d58,#5b9b83)}.funnel-chart span{font-size:12px}.funnel-chart strong{font-size:18px}.funnel-chart small{color:#d3e7df}.funnel-chart em{grid-column:2;font-size:9px;font-style:normal;color:#d3e7df;text-align:right}
.candle line{stroke-width:2}.candle rect{stroke-width:1}.candle.up line,.candle.up rect{stroke:#247057}.candle.up rect{fill:#65ad91}.candle.down line,.candle.down rect{stroke:#a4493d}.candle.down rect{fill:#d77a6e}.positive{fill:#4e987c}.negative{fill:#c76559}.total{fill:#315b8b}.connector{stroke:#939d98;stroke-width:1;stroke-dasharray:3 3}
.table-scroll{max-width:100%;max-height:580px;overflow:auto;margin-top:18px;border:1px solid var(--line);border-radius:13px;background:#fff}.report-table,.heatmap-table{margin:0;min-width:760px}.report-table thead,.heatmap-table thead{position:sticky;top:0;z-index:2}.report-table th,.heatmap-table th{background:#edf1ee}.report-table th button{width:100%;padding:11px 9px;display:flex;justify-content:space-between;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:10px;text-align:left}.report-table tbody tr:nth-child(even){background:#fafbf9}.report-table td.numeric{text-align:right;font-variant-numeric:tabular-nums}.report-table tfoot{position:sticky;bottom:0;background:#e7efe9}.report-table tfoot th{color:var(--ink)}.heatmap-table th:first-child{position:sticky;left:0;z-index:3}.heatmap-table tbody th{position:sticky;left:0;background:#f7f8f6;color:var(--ink);font-size:11px}.heatmap-table td{background:color-mix(in srgb,#247057 calc(var(--heat)*100%),#fff);color:color-mix(in srgb,#fff calc(var(--heat)*120%),#17231f);font-variant-numeric:tabular-nums;text-align:center}.heatmap-table td span{display:block;min-width:90px}
@media(max-width:700px){.report{padding:13px}.report-head{display:block}.visual-badge{display:inline-block;margin-top:8px}.metric-contracts>div{grid-template-columns:1fr}.comparison-readiness,.drill-panel>header{align-items:start;flex-direction:column}.stacked-row{grid-template-columns:100px minmax(180px,1fr)}.stacked-row>strong{display:none}.funnel-chart article{min-width:230px}.chart-note,.funnel-legend{display:block}.kpi-only{grid-template-columns:1fr 1fr}}
