/* Data geometry, not illustration: connected stages with one shared compressed scale. */
.cv-funnel-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;align-items:start}
.cv-funnel-object{min-width:0}
.cv-funnel-object h3{font-size:11px;font-weight:500;line-height:1.6;min-height:36px;margin:0 0 12px;text-align:center;overflow-wrap:anywhere;color:var(--text-secondary)}
.cv-funnel-joined{display:flex;flex-direction:column}
.cv-funnel-segment{position:relative;isolation:isolate;width:100%;height:64px;min-height:64px;border:0!important;border-radius:0!important;padding:9px 0 0!important;background:transparent!important;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;font:inherit;cursor:pointer;box-shadow:none!important}
.cv-funnel-segment::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ff-color);clip-path:polygon(calc((100% - var(--ff-top))/2) 0,calc((100% + var(--ff-top))/2) 0,calc((100% + var(--ff-bottom))/2) 100%,calc((100% - var(--ff-bottom))/2) 100%);border-top:1px solid var(--surface);transition:filter 130ms ease}
html:root[data-theme] :is(main,dialog) .cv-funnel-segment :is(span,strong){color:#17344e!important}
html:root[data-theme] :is(#cw-dialog,#cc-funnel-body) .cv-funnel-segment{background:transparent!important}
.cv-funnel-segment>span{font-size:10px;line-height:15px}
.cv-funnel-segment>strong{font-size:13px;line-height:18px;white-space:nowrap;font-variant-numeric:tabular-nums}
.cv-funnel-segment:last-child{height:72px}
.cv-funnel-segment:hover::before{filter:brightness(.96)}
.cv-funnel-segment:focus-visible{outline:2px solid var(--brand);outline-offset:2px;z-index:1}
.cv-funnel-segment.is-missing::before{background:var(--surface-muted);clip-path:none;border:1px dashed var(--line-strong)}
html:root[data-theme] :is(main,dialog) .cv-funnel-segment.is-missing :is(span,strong){color:var(--muted)!important}
.cv-funnel-segment.is-zero::before{clip-path:none;background:transparent;border-bottom:1px solid var(--line)}
html:root[data-theme] :is(main,dialog) .cv-funnel-segment.is-zero :is(span,strong){color:var(--text)!important}
.cv-funnel-rate{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;min-height:36px;margin:0;text-align:center;font-size:10px;line-height:15px;color:var(--muted)}
.cv-funnel-rate b{display:block;font-size:12px;color:var(--text);font-weight:500;font-variant-numeric:tabular-nums}
.cv-funnel-key{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-bottom:14px}
.cv-funnel-key span{display:flex;align-items:center;gap:5px}.cv-funnel-key i{width:8px;height:8px;border-radius:2px}
.cv-funnel-chart .cv-chart-note{text-align:center;margin:12px 0 0;line-height:1.7}
/* Hidden modes keep the shared intrinsic footprint; no fixed-height clipping or jumps. */
#cc-funnel-body .cc-mode-stack,#cc-funnel-body .cc-mode-view{height:auto;min-height:0}
#cc-funnel-body{container-type:inline-size}
/* Share the existing legend row with the dimension menu, without a spacer row. */
#dc-overview #cc-funnel-body .cc-mode-view:not([data-chart-view=summary]){padding-top:0}
#dc-overview #cc-funnel-body .cv-funnel-key{justify-content:flex-start;min-height:34px;padding-right:100px;gap:10px;margin-bottom:10px;align-items:center}
#dc-overview #cc-funnel-body .cv-funnel-object h3{min-height:32px;margin-bottom:8px}
#dc-overview #cc-funnel-body .cv-funnel-segment{height:58px;min-height:58px}
#dc-overview #cc-funnel-body .cv-funnel-segment:last-child{height:64px}
#dc-overview #cc-funnel-body .cv-funnel-rate{min-height:32px}
@container(min-width:361px){
 #dc-overview #cc-funnel-body .cv-funnel-columns{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
 #dc-overview #cc-funnel-body [data-chart-view=summary]{align-self:stretch;height:auto}
 #dc-overview #cc-funnel-body .cc-funnel-summary{flex:1;display:flex;flex-direction:column}
 #dc-overview #cc-funnel-body .av-funnel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:0;padding-top:0}
 #dc-overview #cc-funnel-body .av-funnel-stage{flex:1;min-height:65px}
 #dc-overview #cc-funnel-body .av-funnel-rate{flex:none;margin:6px 0}
}
.cw-chart-panel .cv-funnel-object h3{font-size:13px;min-height:42px}
.cw-chart-panel .cv-funnel-segment{height:82px;min-height:82px;padding-top:14px!important}
.cw-chart-panel .cv-funnel-segment>span{font-size:12px}
.cw-chart-panel .cv-funnel-segment>strong{font-size:17px;line-height:24px}
.cw-chart-panel .cv-funnel-rate{min-height:40px;font-size:12px;line-height:17px}.cw-chart-panel .cv-funnel-rate b{font-size:14px}
@media(max-width:650px){.cv-funnel-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}.cv-funnel-object h3{font-size:12px;min-height:38px}.cv-funnel-segment>strong{font-size:15px}.cw-chart-panel .cv-funnel-segment>strong{font-size:15px}}
@container(max-width:360px){.cv-funnel-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}}
@media(prefers-reduced-motion:reduce){.cv-funnel-segment::before{transition:none}}
