/* Kepler dashboard charts (dash-charts.js). Every selector is scoped under .dch-*. */
.dch-fc,.dch-fn,.dch-daily,.dch-devices,.dch-gender,.dch-age,.dch-cmp{min-width:0;max-width:100%;color:var(--ink,#efe9df);font-variant-numeric:lining-nums tabular-nums}
.dch-fc svg text,.dch-fn svg text,.dch-daily svg text,.dch-devices svg text,.dch-age svg text{font-family:var(--f,Geist,system-ui,sans-serif)}
.dch-nd{color:var(--dim,#a9a3b5)!important;font-weight:500!important}

/* responsive pair: desktop SVG / phone SVG */
.dch-rsp-m{display:none}
@media (max-width:640px){.dch-rsp-d{display:none}.dch-rsp-m{display:block}}

/* svg primitives */
.dch-gl{stroke:rgba(255,255,255,.06)}.dch-ax{stroke:rgba(255,255,255,.16)}
.dch-pace{stroke:rgba(255,255,255,.18);stroke-dasharray:2 4}
.dch-planl{stroke:#b79cff;stroke-opacity:.55;stroke-dasharray:6 5}
.dch-planc{stroke:#85d5af;stroke-opacity:.6;stroke-dasharray:6 5}
.dch-today{stroke:rgba(255,255,255,.28);stroke-dasharray:3 3}
.dch-tk{font-size:10.5px;fill:#827d91}.dch-tkg{fill:#5d9b7e}.dch-tkw{fill:#c9c2d4;font-size:11.5px}
.dch-vl{font-size:12px;font-weight:600;fill:#efe9df}
.dch-el{font-size:10.5px;fill:#a9a3b5}
.dch-ev{font-size:13px;font-weight:650;fill:#efe9df}.dch-ev.dch-acc{fill:#b79cff}.dch-ev.dch-ok{fill:#85d5af}
.dch-gap{stroke:#dd6b6b;stroke-opacity:.6;stroke-width:1.5}.dch-gapt{font-size:11px;fill:#e69898;font-weight:600}
.dch-fv{font-size:19px;font-weight:650;fill:#fff}.dch-fv-nd{font-size:15px;font-weight:500;fill:rgba(255,255,255,.82)}
.dch-fl{font-size:10.5px;fill:rgba(255,255,255,.75)}
.dch-rate{fill:#1d1c24;stroke:rgba(255,255,255,.1)}
.dch-rt{font-size:11px;fill:#c9c2d4;font-family:var(--m,"Geist Mono",ui-monospace,monospace)!important}
.dch-nd-t{font-size:12px;fill:#a9a3b5;font-weight:500}.dch-nd-s{font-size:10.5px;fill:#827d91}
.dch-best{font-size:11px;font-weight:600;fill:#85d5af}
.dch-bv{font-size:12px;font-weight:650;fill:#efe9df}
.dch-cpa{fill:#1f1d26;stroke:rgba(255,255,255,.09)}.dch-cpa.dch-best-cpa{fill:#173528;stroke:#2f7d5b}
.dch-cpat{font-size:11px;fill:#c9c2d4}.dch-cpat.dch-best-cpa{fill:#85d5af;font-weight:600}
.dch-dn-v{font-size:26px;font-weight:650;fill:#efe9df}.dch-dn-v.dch-dn-nd{font-size:15px;font-weight:500;fill:#a9a3b5}
.dch-dn-l{font-size:10.5px;fill:#a9a3b5}

/* 1. forecast */
.dch-fc-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.dch-fc-h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.dch-fc-h span{font-size:12.5px;color:var(--dim,#a9a3b5)}
.dch-fc-h b{font-size:22px;font-weight:650;letter-spacing:-.02em;white-space:nowrap}
.dch-fc-h b small{font-size:12px;font-weight:500;margin-left:6px}
.dch-fc-h .dch-down{color:#e69898}.dch-fc-h .dch-up{color:var(--ok-lift,#85d5af)}.dch-fc-h .dch-neutral{color:var(--dim,#a9a3b5)}
.dch-fc-svg{width:100%;height:auto;display:block;margin-top:4px}
.dch-fc-legend{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:11.5px;color:var(--dim,#a9a3b5);margin-top:8px}
.dch-fc-legend i{display:inline-block;width:18px;height:0;border-top:2.5px solid var(--acc-lift,#b79cff);vertical-align:middle;margin-right:6px}
.dch-fc-legend i.dch-d{border-top-style:dashed}.dch-fc-legend i.dch-p{border-top:2px dashed rgba(183,156,255,.55)}

/* 2. funnel */
.dch-fn-svg{width:100%;max-width:330px;height:auto;display:block;margin:2px auto 0}
.dch-kv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:14px}
.dch-kv div{padding:10px 12px;border-radius:10px;background:#1c1b22;border:1px solid var(--hair,rgba(255,255,255,.07));min-width:0}
.dch-kv span{display:block;font-size:11.5px;color:var(--dim,#a9a3b5)}.dch-kv b{font-size:17px;font-weight:650}

/* 3. daily */
.dch-daily-svg{width:100%;height:auto;display:block}
.dch-lg{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:11.5px;color:var(--dim,#a9a3b5);margin-bottom:8px}
.dch-lg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.dch-daily-lg{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:11.5px;color:var(--dim,#a9a3b5);margin-top:6px}
.dch-daily-lg i{display:inline-block;width:18px;border-top:2px dashed;vertical-align:middle;margin-right:6px}
.dch-nd-note{font-size:11.5px;color:var(--dim,#a9a3b5);margin-top:6px}
.dch-nd-note i{display:inline-block;width:14px;height:10px;margin-right:6px;vertical-align:-1px;border-radius:2px;border:1px solid rgba(255,255,255,.1);background:repeating-linear-gradient(45deg,rgba(255,255,255,.12) 0 2px,transparent 2px 5px)}
.dch-stat-row{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.dch-stat-row div{flex:1;min-width:120px;padding:9px 12px;border-radius:10px;background:#1c1b22;border:1px solid var(--hair,rgba(255,255,255,.07))}
.dch-stat-row span{display:block;font-size:11px;color:var(--dim,#a9a3b5)}.dch-stat-row b{font-size:15px;font-weight:650}

/* 4. devices */
.dch-dev{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center}
.dch-donut-svg{width:150px;height:150px;display:block}
.dch-dev ul{list-style:none;margin:0;padding:0;min-width:0}
.dch-dev li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 9px;align-items:center;padding:8px 0;border-bottom:1px solid var(--hair,rgba(255,255,255,.07));font-size:12.5px}
.dch-dev li:last-child{border-bottom:0}
.dch-dev li>span:nth-child(2){display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dch-dev li small{grid-column:2/4;font-size:11px;color:var(--dim,#a9a3b5)}.dch-dev li b{font-weight:650}
.dch-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex:0 0 16px;color:var(--dim,#a9a3b5)}.dch-icon svg{display:block}
.dch-sw{display:inline-block;width:10px;height:10px;border-radius:3px;flex:0 0 10px}
.dch-ring-key{font-size:11px;color:var(--faint,#827d91);margin-top:10px}

/* 5. gender */
.dch-stack{margin:6px 0 16px}
.dch-lb{display:flex;justify-content:space-between;font-size:12px;color:var(--dim,#a9a3b5);margin-bottom:6px}
.dch-sbar{display:flex;height:30px;border-radius:9px;overflow:hidden;gap:2px}
.dch-sbar i{display:flex;align-items:center;padding:0 10px;font-style:normal;font-size:12px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;min-width:2px}.dch-sbar i:empty{padding:0}
.dch-gm{background:#5b7fd9}.dch-gf{background:#b06bd9}.dch-gu{background:#4a4655}
.dch-glist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dch-glist div{padding:10px 12px;border-radius:10px;background:#1c1b22;border:1px solid var(--hair,rgba(255,255,255,.07));min-width:0}
.dch-glist span{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--dim,#a9a3b5)}
.dch-glist b{display:block;font-size:17px;margin-top:4px}.dch-glist b.dch-nd{font-size:13px}
.dch-glist small{font-size:11px;color:var(--dim,#a9a3b5)}

/* 6. age */
.dch-age-svg{width:100%;height:auto;display:block}

/* 7. campaigns */
.dch-cmp{display:grid;grid-template-columns:minmax(0,1fr) 90px 90px;gap:0 18px;align-items:center}
.dch-cmp .dch-hd{font-size:11px;color:var(--faint,#827d91);padding-bottom:8px;border-bottom:1px solid var(--hair,rgba(255,255,255,.07))}
.dch-cmp .dch-r{text-align:right}
.dch-cmp .dch-row{display:contents}
.dch-cmp .dch-c{padding:12px 0;border-bottom:1px solid var(--hair,rgba(255,255,255,.07));min-width:0}
.dch-cmp .dch-row:last-child .dch-c{border-bottom:0}
.dch-cmp .dch-nm{font-size:13px;display:flex;justify-content:space-between;gap:10px;min-width:0}
.dch-cmp .dch-nm b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.dch-cmp .dch-nm span{font-weight:400;color:var(--dim,#a9a3b5);font-size:12px;white-space:nowrap}
.dch-cmp code{display:block;font:11px var(--m,"Geist Mono",ui-monospace,monospace);color:var(--faint,#827d91);margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dch-cmp .dch-hb{height:8px;border-radius:5px;background:#26232d;margin-top:7px}
.dch-cmp .dch-hb i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#5b2aaf,#b79cff)}
.dch-cmp .dch-big{font-size:18px;font-weight:650}.dch-cmp .dch-big.dch-nd{display:block;font-size:12px;line-height:1.3}
.dch-cmp .dch-sm{display:block;font-size:11px;color:var(--dim,#a9a3b5)}

@media (max-width:640px){
 .dch-fc-pair{grid-template-columns:minmax(0,1fr)}
 .dch-dev{grid-template-columns:120px minmax(0,1fr)}.dch-donut-svg{width:120px;height:120px}
 .dch-glist{gap:6px}.dch-glist div{padding:8px}.dch-glist b{font-size:15px}
 .dch-cmp{grid-template-columns:minmax(0,1fr) 64px 70px;gap:0 10px}.dch-cmp .dch-big{font-size:16px}
 .dch-cmp code{display:none}
 .dch-cmp .dch-nm{flex-direction:column;gap:2px}
 .dch-stat-row div{min-width:0;flex-basis:100%}
}
