:root{font-family:system-ui,sans-serif;color:#1a1a1a;background:#f6f7f9}body{margin:0}.shell{max-width:1100px;margin:0 auto;padding:16px}nav.top{display:flex;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #ddd;margin-bottom:16px}nav.top a{text-decoration:none;color:#2456d6;font-weight:600}nav.top .who{margin-left:auto;color:#777;font-size:13px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.card{background:#fff;border:1px solid #e2e4e8;border-radius:8px;padding:12px}.card h3{margin:0 0 6px;font-size:14px}.status-healthy{color:#157a3c;font-weight:700}.status-degraded{color:#b97a00;font-weight:700}.status-down,.status-unhealthy{color:#c22;font-weight:700}.status-unknown{color:#888;font-weight:700}table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e2e4e8}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid #eee;font-size:14px}button{padding:6px 12px;border-radius:6px;border:1px solid #bbb;background:#fff;cursor:pointer}button.primary{background:#2456d6;border-color:#2456d6;color:#fff}.error{color:#c22;background:#fdecec;border:1px solid #f5c2c2;padding:8px 12px;border-radius:6px}fieldset{border:1px solid #e2e4e8;border-radius:8px;margin-bottom:12px;background:#fff}label.flag{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:14px}label.flag input[type=number]{width:110px}:root{--ink: #0f172a;--muted: #64748b;--line: #e2e8f0;--bg-card: #fff;--up: #157a3c;--down: #b45309;--accent: #2456d6}.page-head{display:flex;align-items:center;justify-content:space-between;margin:8px 0 16px}.page-head h2{margin:0}.date-window{display:inline-flex;gap:4px}.date-window button{padding:4px 10px;font-size:13px}.date-window button.active{background:var(--accent);border-color:var(--accent);color:#fff}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}.kpi{background:var(--bg-card);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.kpi-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.kpi-value{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:4px}.kpi-delta{font-size:12px;font-weight:600;margin-top:2px}.delta-up{color:var(--up)}.delta-down{color:var(--down)}.trend{background:var(--bg-card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--accent)}.chart-wrap{width:100%;height:240px}.chart-wrap-sm{height:120px;color:var(--accent)}.spark-empty{width:100%;height:120px}.metric-table{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--line);border-radius:10px;overflow:hidden}.metric-table th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;-webkit-user-select:none;user-select:none}.metric-table th.num,.metric-table td.num{text-align:right;font-variant-numeric:tabular-nums}.metric-table tbody tr:hover{background:#f8fafc}.metric-table a.muted{color:var(--muted)}.health-strip{margin-top:28px}.health-strip summary{cursor:pointer;color:var(--muted);font-size:13px}.health-strip .cards{margin-top:12px}.section-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:18px 0 8px}.kpi-hint{font-size:12px;color:var(--muted);margin-top:2px}.panel-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.panel{background:var(--bg-card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:14px}.panel-head{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:10px}.legend{font-size:11px;color:var(--muted);font-weight:500;display:inline-flex;align-items:center;gap:6px}.legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin:0 2px 0 6px}.donut-row{display:flex;gap:16px;align-items:center}.barlist-wrap{flex:1;min-width:0}.statstrip{background:var(--bg-card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:14px;flex:1}.statstrip-title{font-size:13px;font-weight:600;margin-bottom:8px}.statstrip-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px}.statstrip-item{display:flex;flex-direction:column}.statstrip-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.statstrip-value{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.tone-up{color:var(--up)}.tone-down{color:var(--down)}.tone-muted{color:var(--muted)}.badge-test{display:inline-block;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;text-transform:uppercase;color:var(--muted);background:#f1f5f9;border:1px solid var(--line);border-radius:10px;vertical-align:middle}.row-test a.muted{color:var(--muted)}.crumbs{font-size:13px;color:var(--muted);margin-bottom:8px}.crumbs a{color:var(--accent);text-decoration:none}.filters{display:flex;gap:16px;font-size:13px;margin-bottom:12px}.filters label{display:inline-flex;align-items:center;gap:6px}.muted{color:var(--muted)}.empty{color:var(--muted);font-size:13px;padding:8px 0}.caption{font-size:11px;margin:8px 0 0}.chip{display:inline-block;margin-left:6px;padding:1px 7px;font-size:11px;color:var(--muted);background:#f1f5f9;border-radius:10px}.chip-warn{color:#b45309;background:#fff4e5}.tl-meta{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:14px}.tl-meta a{color:var(--accent);text-decoration:none}.timeline{display:flex;flex-direction:column;gap:10px}.tl-context{font-size:12px;color:var(--muted);border-left:3px solid var(--line);padding-left:10px}.tl-msg{max-width:80%}.tl-msg.tl-user{align-self:flex-end;text-align:right}.tl-role{font-size:10px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}.tl-bubble{display:inline-block;padding:8px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);white-space:pre-wrap;text-align:left;font-size:14px}.tl-user .tl-bubble{background:#eaf0fe;border-color:#c9d8fb}.tl-recs,.tl-outfit{background:var(--bg-card);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.tl-recs-label{font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}.tl-recs ul,.tl-outfit ul{margin:0;padding-left:18px;font-size:13px}.tl-prod-title{margin-right:4px}.tl-marker{font-size:12px;color:var(--muted)}.tl-warn{color:#b45309}.tl-answer{color:var(--accent);font-weight:600}.tl-events{display:flex;flex-wrap:wrap;gap:4px}.chip-clicked{color:var(--accent);background:#eaf0fe}.chip-purchased,.chip-order-placed{color:var(--up);background:#e8f6ee}.chip-added,.chip-add-to-cart{color:#7c3aed;background:#f3ecfe}.tl-children{margin-top:18px}.chart-tip{background:#fff;border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:12px;box-shadow:0 2px 8px #0f172a1f;font-variant-numeric:tabular-nums}.chart-tip-title{font-weight:600;color:var(--ink);margin-bottom:2px}.recharts-default-legend{font-size:12px}.recharts-legend-item{cursor:pointer}.recharts-surface{overflow:visible}.donut-wrap{display:flex;gap:16px;align-items:center}.donut-chart{flex:0 0 auto}.donut-total{font-size:15px;font-weight:700;fill:var(--ink);font-variant-numeric:tabular-nums}.donut-total-l{font-size:9px;fill:var(--muted);text-transform:uppercase;letter-spacing:.06em}.donut-legend{list-style:none;margin:0;padding:0;flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.donut-legend li{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;font-size:12px}.donut-legend .dot{width:9px;height:9px;border-radius:2px}.donut-legend-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.donut-legend-v{font-variant-numeric:tabular-nums;color:var(--muted)}.donut-legend-p{font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink);min-width:32px;text-align:right}.outcomebar{display:flex;flex-direction:column;gap:12px}.outcomebar-chart{height:26px}.outcomebar-legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px 14px}.outcomebar-legend li{display:grid;grid-template-columns:auto 1fr auto auto;gap:6px;align-items:center;font-size:12px}.outcomebar-legend .dot{width:9px;height:9px;border-radius:2px}.outcomebar-legend-l{color:var(--ink);text-transform:capitalize}.outcomebar-legend-v{font-variant-numeric:tabular-nums;font-weight:600}.outcomebar-legend-p{font-variant-numeric:tabular-nums;color:var(--muted);min-width:30px;text-align:right}.btn-group{display:flex;gap:8px;flex-wrap:wrap}.btn-group button{font-size:13px}.btn-group button:not(.primary){color:var(--ink)}.btn-group button:disabled{opacity:.55;cursor:default}.codeblock{font:12px/1.5 ui-monospace,SF Mono,Menlo,Consolas,monospace;background:#0f172a;color:#e2e8f0;border-radius:8px;padding:10px 12px;overflow:auto;max-height:420px;margin:0;white-space:pre}.action-result{margin-top:12px;border-radius:8px;border:1px solid var(--line);overflow:hidden}.action-result-head{font-size:12px;font-weight:600;padding:7px 10px}.action-result .codeblock{border-radius:0;max-height:280px}.action-result-run .action-result-head{background:#f1f5f9;color:var(--muted)}.action-result-ok .action-result-head{background:#e8f6ee;color:var(--up)}.action-result-err .action-result-head{background:#fdecec;color:#c22}.raw-doc summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink);list-style:none}.raw-doc summary::-webkit-details-marker{display:none}.raw-doc summary:before{content:"▸";color:var(--muted);margin-right:6px;font-size:11px}.raw-doc[open] summary:before{content:"▾"}.raw-doc-body{margin-top:10px}.raw-doc-toolbar{display:flex;justify-content:flex-end;margin-bottom:6px}.raw-doc-toolbar button{font-size:12px;padding:3px 10px}.flag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 16px}.flag{font-size:13px}.flag-toggle{display:flex;align-items:center;gap:8px;padding:6px 0}.flag-field{display:flex;flex-direction:column;gap:3px}.flag-name{font-weight:600;color:var(--ink);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.flag-hint{font-size:11px;color:var(--muted)}.flag-field input[type=number],.flag-field select{width:100%;max-width:160px;padding:5px 8px;border:1px solid var(--line);border-radius:6px;font-size:13px;font-variant-numeric:tabular-nums}.flag-actions{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.flag-msg{font-size:13px;color:var(--muted)}
