.gf-panel{overflow:hidden}.gf-panel .panel-head h2{font-size:18px;font-weight:650;letter-spacing:-.3px}.gf-panel .panel-head{padding-bottom:4px}.gf-panel .eyebrow{font-size:12px;letter-spacing:1.6px}.gf-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:19px}.gf-selects{display:flex;align-items:center;gap:12px}.gf-selects label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-secondary)}.gf-selects select{max-width:132px;font-size:12px;padding:7px 10px;border-color:var(--brand-border);background:var(--brand-tint)}.gf-kpis{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--brand-border);background:linear-gradient(110deg,var(--brand-tint),#fafcfd);border-radius:12px;margin-bottom:15px}.gf-kpi{padding:17px 20px;border-right:1px solid var(--brand-border);display:flex;flex-direction:column;gap:6px}.gf-kpi:last-child{border:0}.gf-kpi>span{font-size:12px;color:var(--text-secondary)}.gf-kpi strong{font-size:23px;color:var(--text-primary);line-height:1.4;font-variant-numeric:tabular-nums;font-weight:620}.gf-kpi strong em{font-size:17px;font-style:normal;margin-left:4px}.gf-kpi.purple strong{color:var(--brand)}.gf-kpi.green strong{color:#4b937d}.gf-kpi small{font-size:12px;color:var(--text-secondary)}.gf-unit-row{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.gf-unit-row>span:first-child{color:var(--text-secondary);display:flex;align-items:center;gap:6px}.gf-unit-row i{width:17px;height:5px;border-radius:8px;background:var(--brand-accent)}.gf-canvas{overflow-x:auto;max-width:100%;background:linear-gradient(#fff,var(--brand-tint));padding:9px 0 0;border-bottom:1px solid var(--brand-border)}.gf-chart{display:block;width:100%;min-width:1080px;height:auto;overflow:visible}.gf-stage-label{fill:var(--brand);font-size:12px;letter-spacing:.5px;font-weight:550}.gf-flow{fill-opacity:.28;cursor:pointer;transition:fill-opacity .16s}.gf-flow:hover,.gf-flow:focus{fill-opacity:.65;outline:0}.gf-flow.is-selected{fill-opacity:.65;stroke-width:1;stroke:var(--brand)}.gf-flow.is-muted{fill-opacity:.045}.gf-node{cursor:pointer;transition:opacity .16s;outline:0}.gf-node rect{stroke:#fff;stroke-width:1}.gf-node:hover rect,.gf-node:focus rect,.gf-node.is-selected rect{stroke:var(--brand);stroke-width:2}.gf-node.is-muted{opacity:.22}.gf-node.is-ghost rect{fill:#fff;stroke:var(--brand-accent);stroke-width:1.5;stroke-dasharray:4 4}.gf-node-label{font-size:12px;fill:var(--brand);font-weight:550;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}.gf-node-value{font-size:12px;fill:var(--brand);paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.gf-source-strip{display:flex;gap:9px;flex-wrap:wrap;margin:15px 0}.gf-source-strip button{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--brand-border);border-radius:8px;padding:5px 9px;color:var(--text-secondary);font-size:12px}.gf-source-strip button:hover,.gf-source-strip button.active{border-color:var(--brand);background:var(--brand-tint);color:var(--brand-hover)}.gf-source-strip i{height:6px;width:6px;border-radius:50%;display:inline-block}.gf-source-strip b{font-weight:550}.gf-selection-hint{display:flex;align-items:center;gap:8px;background:var(--brand-tint);border:1px solid var(--brand-border);border-radius:8px;padding:11px 14px;color:var(--text-secondary);font-size:12px}.gf-selection-hint svg{width:14px;flex:none}.gf-details{border:1px solid var(--brand-border);border-radius:8px;overflow:hidden;margin-top:15px;background:#fff}.gf-details>.spread{padding:16px 18px;background:var(--brand-tint)}.gf-details h3{font-size:14px;color:var(--text-primary)}.gf-details p{font-size:12px;color:var(--text-secondary);margin-top:5px}.gf-details .table-wrap table{font-size:12px;min-width:810px}.gf-details td{padding:12px}.gf-details th{font-size:12px}.gf-details .btn{font-size:12px}.gf-zero{display:flex;align-items:center;gap:8px;padding:28px 20px;color:var(--text-secondary);font-size:12px}.gf-zero svg{width:17px;flex:none}.gf-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px}.gf-bottom p{font-size:12px;line-height:1.8;color:var(--text-secondary);max-width:68%}.gf-bottom .btn{font-size:12px}
@media(max-width:1190px){.gf-kpi{padding:14px}.gf-kpi strong{font-size:20px}.gf-kpi strong em{font-size:15px}.gf-selects{gap:8px}.gf-selects label{gap:4px}}
@media(max-width:760px){.gf-panel .panel-head h2{font-size:16px}.gf-selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:8px}.gf-selects label{flex-direction:column;align-items:flex-start;font-size:12px}.gf-selects select{width:100%;max-width:100%;padding:7px 6px;font-size:12px}.gf-kpis{grid-template-columns:repeat(2,1fr)}.gf-kpi:nth-child(2){border-right:0}.gf-kpi:nth-child(-n+2){border-bottom:1px solid var(--brand-border)}.gf-kpi{padding:13px}.gf-kpi strong{font-size:22px}.gf-kpi strong em{display:block;margin:0;font-size:16px}.gf-canvas{margin-left:-4px;margin-right:-4px}.gf-chart{min-width:1080px}.gf-unit-row{gap:5px;font-size:12px}.gf-bottom{align-items:flex-start;flex-direction:column;gap:6px}.gf-bottom p{max-width:none}.gf-details>.spread{align-items:flex-start}.gf-selection-hint{align-items:flex-start;line-height:1.8}.gf-panel .panel-head>.row{width:100%;justify-content:space-between}}
.gf-node{pointer-events:bounding-box}
@media(prefers-reduced-motion:reduce){.gf-flow,.gf-node{transition:none}}

.gf-swipe-hint{display:none}@media(max-width:760px){.gf-swipe-hint{display:block;font-size:12px;color:var(--text-secondary);padding:8px 0}}

/* Logos are decorative; node and chip labels retain the accessible names. */
.gf-platform-logo{pointer-events:none}.gf-source-strip .ai-platform-logo{width:16px;height:16px;object-fit:contain;flex:none;background:#fff;border-radius:4px}

/* Per-platform paths, in the same overseas-first order as the business battlefield. */
.gf-source-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:9px}
.gf-source-strip button{flex-direction:column;align-items:flex-start;gap:7px;padding:11px 12px;border-radius:8px;text-align:left}
.gf-source-name{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--text-primary)}
.gf-source-counts{font-size:12px;white-space:nowrap;color:var(--text-secondary)}.gf-source-counts b{color:var(--text-primary);font-weight:650}
.gf-source-strip .ai-platform-logo{width:18px;height:18px}.gf-source-strip button:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}
.gf-flow{fill-opacity:.34}
@media(max-width:760px){.gf-source-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gf-source-strip button{padding:10px}.gf-source-name{font-size:12px}.gf-source-counts{font-size:12px}}
