/* PT: superfícies analíticas do Comercial. EN: Commercial analytics surfaces. */
.dash-toolbar{display:flex;align-items:end;justify-content:space-between;gap:22px;margin:0 0 16px}
.dash-toolbar>div{display:flex;gap:12px;flex-wrap:wrap}
.dash-toolbar label{min-width:192px}
.dash-toolbar #dashboard-status,.dash-toolbar [id$="-status"]{font-size:12px;color:var(--muted);padding-bottom:12px}
.dash-overline{margin:0;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.17em;line-height:1.4}
.dash-intro{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:152px;padding:24px 30px;margin-bottom:23px;border-radius:20px;background:linear-gradient(115deg,#123f48 2%,#126c6a 67%,#20978e);color:#f6fffb;box-shadow:0 18px 34px #0f655a19}
.dash-intro:before{content:"";position:absolute;z-index:-1;inset:-90px -60px auto auto;width:340px;height:300px;border:1px solid #ffffff29;border-radius:50%;box-shadow:0 0 0 55px #ffffff0d,0 0 0 112px #ffffff08}
.dash-intro .dash-overline{color:#c6f3d4}
.dash-intro h2{font:700 clamp(25px,2.3vw,34px)/1.12 'Avenir Next','Trebuchet MS',sans-serif;letter-spacing:-.045em;margin:9px 0 8px}
.dash-intro p:not(.dash-overline){font-size:13px;color:#d6ece7;margin:0;line-height:1.5}
.dash-intro-aside{flex:0 0 auto;display:flex;flex-direction:column;gap:4px;min-width:160px;border-left:1px solid #ffffff40;padding-left:22px}
.dash-intro-aside span{font-size:10px;letter-spacing:.13em;color:#c6e6de;font-weight:700}
.dash-intro-aside strong{font:700 22px/1.1 'Bahnschrift','Trebuchet MS',sans-serif;letter-spacing:-.03em}
.dash-intro-aside small{font-size:11px;color:#d8efe8}
.dash-section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:24px 0 12px}
.dash-section-title h2{font:700 22px/1.2 'Avenir Next','Trebuchet MS',sans-serif;letter-spacing:-.04em;margin:4px 0 0}
.dash-section-title>span{color:var(--muted);font-size:12px;text-align:right}
.dash-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dash-score{position:relative;display:flex;flex-direction:column;min-width:0;min-height:292px;padding:21px 22px 17px;border:1px solid #d7e6df;border-radius:18px;background:linear-gradient(145deg,#fff 40%,#f3faf6);box-shadow:0 9px 25px #1548410b}
.dash-score.prepaid{background:linear-gradient(145deg,#fffef9 30%,#faf1e6);border-color:#efdfc5}
.dash-score.water{background:linear-gradient(145deg,#fff 30%,#edf7fb);border-color:#d3e5ec}
.dash-score:before{content:none}
.dash-score-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.dash-score-top .dash-overline{font-size:9px}
.dash-score-mark{width:10px;height:10px;border-radius:50%;background:#1f9184;box-shadow:0 0 0 5px #1f918422}
.dash-score.prepaid .dash-score-mark{background:#d28a4f;box-shadow:0 0 0 5px #d28a4f22}
.dash-score.water .dash-score-mark{background:#4b96ad;box-shadow:0 0 0 5px #4b96ad22}
.dash-score h3{font:700 17px/1.25 'Avenir Next','Trebuchet MS',sans-serif;letter-spacing:-.025em;margin:15px 0 12px}
.dash-score-caption{color:var(--muted);font-size:11px;margin:0 0 3px}
.dash-score-value{font:700 clamp(25px,2.5vw,35px)/1.1 'Bahnschrift','Trebuchet MS',sans-serif;letter-spacing:-.04em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.dash-trend{align-self:flex-start;margin-top:10px;font-size:11px;font-weight:700;padding:5px 9px;border-radius:7px;background:#e1f4e9;color:#176a4e;white-space:nowrap}
.dash-trend.down{background:#fcece4;color:#a54f32}.dash-trend.neutral{background:#edf2ee;color:#637975}
.dash-trend small{font-weight:500}
.dash-score-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:auto;padding-top:18px}
.dash-score-stats>div{min-width:0}
.dash-score-stats span{display:block;color:var(--muted);font-size:10px;line-height:1.35;margin-bottom:4px}
.dash-score-stats strong{display:block;font:700 clamp(15px,1.45vw,20px)/1.15 'Bahnschrift','Trebuchet MS',sans-serif;letter-spacing:-.025em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.dash-score-bottom{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:5px 12px;border-top:1px solid #bed8cf8c;padding-top:11px;margin-top:15px;font-size:11px;color:var(--muted)}
.dash-score-bottom strong{color:var(--ink);font-size:12px;font-variant-numeric:tabular-nums}
.dash-score-bottom small{font-size:10px;color:var(--muted)}
.dash-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}
.dash-chart{overflow:hidden;min-height:292px;margin:0}
.dash-chart .panel-heading{align-items:end}
.dash-chart .panel-heading h2{font:700 18px/1.2 'Avenir Next','Trebuchet MS',sans-serif;letter-spacing:-.03em;margin:4px 0 0}
.dash-chart .panel-heading small{color:var(--muted);font-size:11px;text-align:right}
.dash-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:16px;color:var(--muted);font-size:11px}
.dash-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:2px;background:#188879}
.dash-legend .prepaid:before{background:#d28a4f}.dash-legend .water:before{background:#4b96ad}
.dash-bars{display:flex;align-items:stretch;gap:3px;min-height:164px;overflow-x:auto;scrollbar-color:#b7d6d0 transparent;scrollbar-width:thin;margin-top:9px;padding:3px 0 0}
.dash-bar-group{flex:1 0 37px;max-width:78px;min-width:37px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;padding:3px 1px 6px;border-radius:8px;color:var(--muted);font-size:10px;white-space:nowrap}
.dash-bar-group.current{background:#e9f6f2;color:#0c6760;font-weight:700}
.dash-bar-cluster{display:flex;align-items:end;gap:1px;width:100%;height:140px;border-bottom:1px solid #d2e2de}
.dash-bar-cluster svg{width:100%;height:140px;min-width:7px}
.dash-bar-cluster line{stroke:#d5e4e0;stroke-width:1}
.dash-bar-cluster rect{fill:#188879}.dash-bar-cluster svg.prepaid rect{fill:#d28a4f}.dash-bar-cluster svg.water rect{fill:#4b96ad}
.dash-bar-cluster rect.negative{fill:#ba614b}
.dash-bar-cluster svg.missing{background:repeating-linear-gradient(135deg,#f4f7f5 0 3px,#fff 3px 7px)}
.dash-bar-cluster svg.missing text{font:15px 'Trebuchet MS',sans-serif;fill:#afc3be}
.dash-chart-note{font-size:11px;color:var(--muted);margin:10px 0 0;line-height:1.4}
.dash-lower{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.8fr);align-items:start;gap:14px}
.dash-lower>.panel{margin-bottom:0}
.dash-retailer-panel h2,.dash-stock-panel h2{font:700 18px/1.2 'Avenir Next','Trebuchet MS',sans-serif;letter-spacing:-.03em;margin:0}
.dash-share{border-radius:100px;padding:6px 10px;background:#eaf6ef;color:#216957;font-size:11px;font-weight:700}
.dash-retailers{display:grid;gap:11px;margin-top:18px}
.dash-retailer{display:grid;grid-template-columns:24px minmax(0,1fr) auto 42px;gap:4px 9px;align-items:center;font-size:12px}
.dash-position{font-weight:800;color:#cc8650}.dash-retailer-name{overflow-wrap:anywhere}
.dash-retailer strong,.dash-retailer small{font-variant-numeric:tabular-nums}.dash-retailer small{color:var(--muted);text-align:right}
.dash-retailer-track{grid-column:2/-1;height:5px;border-radius:5px;background:#e9f1ed;overflow:hidden}
.dash-retailer-track i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#db9d66,#c6773f)}
.dash-stock-panel{background:linear-gradient(155deg,#fff,#eff9f6)}
.dash-stock-panel h2{margin:5px 0 17px}
.dash-stock{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dash-stock>div{display:flex;flex-direction:column;gap:3px;padding:14px;border-radius:12px;background:#fff;border:1px solid #e0ebe6}
.dash-stock strong{font:700 28px/1 'Bahnschrift','Trebuchet MS',sans-serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.dash-stock span{font-size:11px;color:var(--muted)}
.dash-stock-panel>p:last-child{font-size:11px;color:var(--muted);margin:14px 0 0;line-height:1.5}
.dash-footnote{font-size:11px;color:var(--muted);line-height:1.6;margin:20px 0 28px}
.dash-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.dash-insight{min-height:128px;display:flex;flex-direction:column;gap:10px;padding:19px;border:1px solid #dbe8e3;border-radius:15px;background:#fff}
.dash-insight.primary{background:linear-gradient(135deg,#125762,#187c78);color:#fff;border-color:#176a70}
.dash-insight.accent{background:linear-gradient(135deg,#fff9f0,#f7ecdc);border-color:#eddcc4}
.dash-insight>span{font-size:12px}.dash-insight>strong{font:700 clamp(23px,2.4vw,32px)/1.08 'Bahnschrift','Trebuchet MS',sans-serif;letter-spacing:-.04em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.dash-insight small{margin-top:auto;color:var(--muted);font-size:11px}.dash-insight.primary small{color:#d4eee9}
.prepaid-charts{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}
.dash-concentration{margin:0;min-height:292px;background:linear-gradient(145deg,#fff,#f4faf6)}
.dash-concentration h2{font:700 18px/1.2 'Avenir Next','Trebuchet MS',sans-serif;margin:6px 0 18px}
.dash-concentration>strong{font:700 48px/1 'Bahnschrift','Trebuchet MS',sans-serif;color:#146f67;letter-spacing:-.045em}
.dash-concentration>p:not(.dash-overline){color:var(--muted);font-size:12px;margin:7px 0 14px}
.dash-concentration-line{height:8px;border-radius:8px;background:#e3f0ea;overflow:hidden;margin-bottom:23px}
.dash-concentration-line i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#4ac5a8,#138276)}
.dash-concentration .dash-stock strong{font-size:23px}
.dash-table-panel{margin-top:17px}
.dash-table-panel .panel-heading{margin-bottom:14px}.dash-table-panel h2{margin:0}
.dash-capture-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:14px;margin-bottom:20px}
.dash-capture{padding:18px;border:1px solid #d6e5df;border-left:4px solid #1d8b79;border-radius:12px;background:#fff}
.dash-capture.warning{border-left-color:#d58d52;background:#fffbf4}
.dash-capture h3{font:700 17px 'Avenir Next','Trebuchet MS',sans-serif;margin:0 0 15px}
.dash-capture strong{font-size:12px}.dash-capture p{font-size:12px;color:var(--muted);margin:6px 0 13px;overflow-wrap:anywhere}
.dash-alert{background:#fff1dc;border-left:4px solid var(--gold);padding:12px 16px;font-size:12px}
.dash-coverage-summary{font-size:13px;background:#e9f3ee;border-left:4px solid #317f70;padding:12px 16px;margin:0 0 14px}
.dash-product-coverage{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.dash-product-coverage h4{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin:0 0 8px}
.dash-product-coverage>div{display:grid;grid-template-columns:28px 1fr;gap:2px 6px;padding:7px 0;border-top:1px solid #edf0e8;font-size:11px}
.dash-product-coverage small{grid-column:2;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:1200px){.dash-score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.dash-charts,.dash-lower,.prepaid-charts{grid-template-columns:1fr}}
@media(max-width:700px){.dash-toolbar{display:block}.dash-toolbar>div{display:grid;grid-template-columns:1fr 1fr}.dash-toolbar label{min-width:0}.dash-toolbar #dashboard-status,.dash-toolbar [id$="-status"]{display:block;padding:9px 0 0}.dash-intro{display:block;padding:22px;margin-bottom:18px}.dash-intro-aside{border-left:0;border-top:1px solid #ffffff40;padding:13px 0 0;margin-top:14px;min-width:0}.dash-intro-aside strong{font-size:19px}.dash-section-title{display:block}.dash-section-title>span{display:block;text-align:left;margin-top:6px}.dash-score-grid{grid-template-columns:1fr}.dash-score{min-height:0}.dash-score-stats{margin-top:0}.dash-insight-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.dash-toolbar>div{grid-template-columns:1fr}.dash-insight-grid{grid-template-columns:1fr}.dash-chart .panel-heading{align-items:start;flex-direction:column}.dash-retailer{grid-template-columns:22px minmax(0,1fr) auto}.dash-retailer small{display:none}}
