.viz-root{--viz-series:#2a78d6;--viz-series-active:#5598e7;--viz-track:#eef3fb;--viz-grid:#ece9e3;--viz-text:var(--color-text);--viz-text-muted:#6b6760;position:relative}.viz-filter-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.viz-filter-label{font-size:.78rem;font-weight:800;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}.viz-segmented{display:inline-flex;padding:3px;border-radius:10px;background:#ffffff;border:1px solid var(--color-border)}.viz-segment{padding:7px 14px;border-radius:8px;font-size:.8rem;font-weight:700;color:var(--color-text-muted);text-decoration:none;background:transparent;border:none;cursor:pointer;font-family:inherit;transition:all .15s ease}.viz-segment:hover:not(.active):not(:disabled){background:#f1f5f9;color:var(--color-text)}.viz-segment.active{background:var(--color-secondary);color:#ffffff}.viz-segment:disabled{cursor:default}.viz-filter-note{margin-left:auto;font-size:.75rem}.viz-muted{color:#6b6760;font-weight:500}.kpi-tile{min-height:150px}.kpi-value{font-size:1.6rem;font-weight:800;color:var(--color-text);letter-spacing:-.02em;margin-bottom:6px;font-feature-settings:"pnum";font-variant-numeric:proportional-nums}.kpi-delta{font-size:.76rem;font-weight:700}.kpi-delta.up{color:var(--color-success)}.kpi-delta.down{color:var(--color-error)}.kpi-delta.flat,.kpi-delta.neutral{color:var(--color-text-muted)}.kpi-meter{height:6px;background:#e3ecf9;margin:2px 0 8px;overflow:hidden}.kpi-meter,.kpi-meter span{display:block;border-radius:999px}.kpi-meter span{height:100%;background:#2a78d6}.viz-card{padding-bottom:22px}.viz-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}.viz-card-header .settings-card-title{margin-bottom:4px}.viz-card-stat-pill{display:inline-flex;align-items:center;gap:7px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:5px 14px;font-size:.78rem;color:var(--color-text-muted)}.viz-stat-pill-label{font-weight:500;color:#64748b}.viz-stat-pill-value{font-weight:800;color:#0f172a}.viz-stat-pill-divider{color:#cbd5e1}.viz-stat-pill-sub{color:#64748b;font-size:.74rem}.viz-three-col,.viz-two-col{display:grid;grid-gap:20px;gap:20px}.viz-two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.viz-three-col{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1100px){.viz-three-col{grid-template-columns:1fr}}@media (max-width:900px){.viz-two-col{grid-template-columns:1fr}}.viz-plot{position:relative;width:100%}.viz-svg{width:100%;height:auto;max-height:220px;display:block;overflow:visible}.viz-grid{stroke:#ece9e3;stroke-width:1;stroke-dasharray:4 4}.viz-baseline,.viz-grid{shape-rendering:crispEdges}.viz-baseline{stroke:#d6d2ca;stroke-width:1}.viz-axis-text{font-size:10px;fill:#78716c;color:#78716c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;letter-spacing:.01em}.viz-axis-y{font-size:10px}.viz-axis-x{font-size:9.5px}.viz-mark{fill:#2563eb;transition:fill .15s ease}.viz-mark.is-active{fill:#1d4ed8}.viz-hit{fill:transparent;cursor:pointer;outline:none}.viz-hit:focus-visible{fill:rgba(37,99,235,.08)}.viz-tooltip{position:absolute;transform:translate(-50%,-100%);pointer-events:none;background:#0f172a;color:#ffffff;border-radius:6px;padding:5px 9px;font-size:.72rem;line-height:1.3;display:flex;flex-direction:column;gap:1px;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.18);z-index:10;border:1px solid rgba(255,255,255,.1);transition:opacity .12s ease}.viz-tooltip strong{font-size:.82rem;font-weight:700;color:#f8fafc}.viz-tooltip span{font-size:.7rem;color:#94a3b8}.kpi-delta-icon{display:inline-flex;vertical-align:-1px}.viz-empty{margin:0;padding:18px;border-radius:10px;background:#f7f5f1;color:var(--color-text-muted);font-size:.84rem;text-align:center}.viz-table-toggle{margin-top:12px;font-size:.8rem}.viz-table-toggle summary{cursor:pointer;font-weight:700;color:var(--color-text-muted)}.viz-table{margin-top:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.viz-barlist,.viz-funnel{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.viz-barlist-row,.viz-funnel-row{display:flex;flex-direction:column;gap:5px;outline:none;border-radius:6px}.viz-barlist-row:focus-visible,.viz-funnel-row:focus-visible{box-shadow:0 0 0 2px rgba(42,120,214,.35)}.viz-barlist-label,.viz-funnel-stage{font-size:.8rem;font-weight:600;color:var(--viz-text)}.viz-funnel-head{display:flex;justify-content:space-between;gap:8px;font-size:.8rem;color:var(--viz-text)}.viz-barlist-track{display:flex;align-items:center;gap:8px;min-height:14px}.viz-barlist-bar{height:12px;min-width:2px;background:var(--viz-series);border-radius:0 4px 4px 0;transition:background .15s ease}.viz-barlist-row:hover .viz-barlist-bar,.viz-funnel-row:hover .viz-barlist-bar{background:var(--viz-series-active)}.viz-barlist-value{font-size:.76rem;font-weight:700;color:var(--viz-text);white-space:nowrap}.viz-heatmap{display:grid;grid-gap:2px;gap:2px;align-items:center;overflow-x:auto}.viz-heatmap-col{text-align:center;padding-bottom:4px}.viz-heatmap-row{padding-right:6px}.viz-heatmap-cell{height:26px;border-radius:4px;background:#f3f1ec;outline:none;cursor:pointer}.viz-heatmap-cell:focus-visible,.viz-heatmap-cell:hover{box-shadow:0 0 0 2px #141414}.viz-scale{display:flex;align-items:center;gap:4px;margin-top:10px;font-size:.74rem}.viz-scale-step{width:18px;height:10px;border-radius:2px}.upcoming-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.upcoming-item{display:grid;grid-template-columns:150px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--color-border-subtle);font-size:.8rem}.upcoming-item:last-child{border-bottom:none}.upcoming-item.is-today .upcoming-when strong{color:var(--color-primary)}.upcoming-when,.upcoming-who{display:flex;flex-direction:column;min-width:0}.upcoming-when span,.upcoming-who span{color:var(--color-text-muted)}.upcoming-who span,.upcoming-who strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-phone{font-weight:700;white-space:nowrap}.viz-more-link{display:inline-block;margin-top:10px;font-size:.8rem;font-weight:700}@media (max-width:560px){.upcoming-item{grid-template-columns:1fr;gap:2px}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.icon-spin{animation:spin 1s linear infinite}