/* Dashboards do portfólio — estilos (escopo .dash) */
.dash{--gold:#F2C94C;--bg:#0D0F1A;--bg2:#141728;--bg3:#1a1e32;--text:#F0EEE8;--muted:rgba(240,238,232,.58);--border:rgba(240,238,232,.09);background:var(--bg);color:var(--text);border-radius:var(--radius);overflow:hidden;font-size:14px;line-height:1.45;font-stretch:100%;box-shadow:0 40px 80px -40px rgba(15,27,45,.6)}
.dash *{box-sizing:border-box}
.dash h2,.dash h3,.dash h4,.dash p{margin:0}
.dash-bar{display:flex;align-items:center;gap:14px;padding:14px 24px;background:var(--bg2);border-bottom:1px solid var(--border)}
.dash-bar-dot{width:12px;height:12px;border-radius:3px;background:var(--dash-accent,#F2C94C);flex:none}
.dash-bar-title{flex:1;min-width:0;font-weight:600}
.dash-bar-title small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.dash-badge{border:1px solid var(--border);border-radius:4px;padding:4px 10px;font-size:12px;color:var(--muted);white-space:nowrap}
.dash .report-body{padding:24px;max-width:none;margin:0}
.dash .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.dash .kpi{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:16px 18px;border-top:2px solid var(--accent,#F2C94C)}
.dash .kpi-label{font-size:11px;color:var(--muted);letter-spacing:.02em;margin-bottom:10px}
.dash .kpi-value{font-size:22px;font-weight:600;margin-bottom:6px;font-variant-numeric:tabular-nums}
.dash .kpi-trend{font-size:12px;font-weight:500}
.dash .chart-box{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:20px;min-width:0}
.dash .chart-box-title{font-size:12px;color:var(--muted);font-weight:400;margin-bottom:16px}
.dash .chart-wrap{position:relative;height:260px}
@media(max-width:768px){.dash .kpi-grid{grid-template-columns:1fr 1fr}.dash .report-body{padding:14px}.dash-badge{display:none}.dash-bar{padding:12px 14px}}
.dash table{max-width:100%}
/* db-ecommerce */
.dash-db-ecommerce .g12{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.dash-db-ecommerce .g13{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.dash-db-ecommerce .hm{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:8px}
.dash-db-ecommerce .hm-cell{height:26px;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:500;color:rgba(255,255,255,.8)}
.dash-db-ecommerce .hm-labels{display:flex;justify-content:space-around;font-size:9px;color:var(--muted);margin-top:4px}
.dash-db-ecommerce .cohort-tbl{width:100%;border-collapse:collapse;font-size:11px;margin-top:8px}
.dash-db-ecommerce .cohort-tbl th{font-size:10px;color:var(--muted);padding:4px 6px;text-align:center;font-weight:400}
.dash-db-ecommerce .cohort-tbl td{padding:5px 6px;border-radius:3px;text-align:center;font-weight:500;font-size:11px}
@media(max-width:768px){.dash-db-ecommerce .g12,.dash-db-ecommerce .g13{grid-template-columns:1fr}}
/* db-fintech */
.dash-db-fintech .kpi-grid5{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; margin-bottom:20px; }
.dash-db-fintech .charts-grid21{ display:grid; grid-template-columns:2fr 1fr; gap:16px; }
@media(max-width:768px){.dash-db-fintech .kpi-grid5{grid-template-columns:1fr 1fr}.dash-db-fintech .charts-grid21{grid-template-columns:1fr}}
/* db-fintech2 */
.dash-db-fintech2 .g31{display:grid;grid-template-columns:1fr 2fr;gap:16px;margin-bottom:16px}
.dash-db-fintech2 .g12{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.dash-db-fintech2 .g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.dash-db-fintech2 .gauge-wrap{position:relative;width:140px;height:84px;margin:8px auto 0}
.dash-db-fintech2 .gauge-wrap svg{position:absolute;inset:0}
.dash-db-fintech2 .gauge-val{position:absolute;bottom:0;width:100%;text-align:center;font-size:24px;font-weight:500;line-height:1}
.dash-db-fintech2 .gauge-sub{text-align:center;font-size:10px;color:var(--muted);margin-top:6px}
.dash-db-fintech2 .nps-segments{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-top:8px}
.dash-db-fintech2 .seg-det{flex:4;background:#F24C7A}
.dash-db-fintech2 .seg-neu{flex:20;background:#F2C94C}
.dash-db-fintech2 .seg-pro{flex:72;background:#4CF27A}
.dash-db-fintech2 .word-cloud{display:flex;flex-wrap:wrap;gap:8px;padding:10px;align-items:center;justify-content:center;min-height:180px}
.dash-db-fintech2 .wc-word{font-weight:500;padding:4px 10px;border-radius:4px;background:rgba(255,255,255,.05);cursor:default;transition:all .15s}
.dash-db-fintech2 .wc-word:hover{background:rgba(255,255,255,.1)}
@media(max-width:768px){.dash-db-fintech2 .g31,.dash-db-fintech2 .g12,.dash-db-fintech2 .g3{grid-template-columns:1fr}}
/* db-marketing */
.dash-db-marketing .charts-grid3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; margin-bottom:16px; }
.dash-db-marketing .charts-grid2{ display:grid; grid-template-columns:2fr 1fr; gap:16px; }
.dash-db-marketing .funnel-wrap{ padding: 12px 0; }
.dash-db-marketing .f-row{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.dash-db-marketing .f-label{ font-size:11px; color:var(--muted); min-width:80px; text-align:right; }
.dash-db-marketing .f-bar{ height:20px; border-radius:3px; display:flex; align-items:center; padding:0 8px; font-size:11px; font-weight:500; color:#fff; transition:width .8s ease; }
.dash-db-marketing .f-pct{ font-size:11px; color:var(--muted); min-width:36px; }
@media(max-width:768px){.dash-db-marketing .charts-grid3,.dash-db-marketing .charts-grid2{grid-template-columns:1fr}}
/* db-mobilidade */
.dash-db-mobilidade .kpi6{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}
.dash-db-mobilidade .g12{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.dash-db-mobilidade .g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.dash-db-mobilidade .spark-wrap{height:28px;margin-top:6px}
.dash-db-mobilidade .post-hm{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-top:6px}
.dash-db-mobilidade .post-cell{height:22px;border-radius:2px;cursor:default}
@media(max-width:768px){.dash-db-mobilidade .kpi6{grid-template-columns:repeat(3,1fr)}.dash-db-mobilidade .g12,.dash-db-mobilidade .g3{grid-template-columns:1fr}}
/* db-operacoes */
.dash-db-operacoes .g21{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px}
.dash-db-operacoes .g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.dash-db-operacoes .op-tbl{width:100%;border-collapse:collapse;font-size:11px;margin-top:4px}
.dash-db-operacoes .op-tbl th{font-size:10px;color:var(--muted);padding:0 8px 8px;text-align:left;border-bottom:1px solid var(--border);font-weight:400}
.dash-db-operacoes .op-tbl td{padding:7px 8px;border-bottom:1px solid rgba(255,255,255,.04)}
.dash-db-operacoes .op-tbl tr:hover td{background:rgba(255,255,255,.02)}
.dash-db-operacoes .dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}
.dash-db-operacoes .cd-row{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.dash-db-operacoes .cd-name{font-size:11px;color:var(--muted);min-width:100px}
.dash-db-operacoes .cd-bar-wrap{flex:1;background:rgba(255,255,255,.05);border-radius:3px;height:16px;overflow:hidden}
.dash-db-operacoes .cd-bar{height:100%;border-radius:3px;display:flex;align-items:center;padding-left:6px;font-size:10px;font-weight:600;color:#fff}
.dash-db-operacoes .cd-val{font-size:11px;font-family:monospace;min-width:40px;text-align:right}
@media(max-width:768px){.dash-db-operacoes .g21,.dash-db-operacoes .g3{grid-template-columns:1fr}}
/* db-pmo */
.dash-db-pmo .g21{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:16px}
.dash-db-pmo .g12{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dash-db-pmo .gantt-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.dash-db-pmo .gantt-lbl{font-size:11px;color:var(--muted);min-width:140px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-db-pmo .gantt-track{flex:1;height:18px;background:rgba(255,255,255,0.04);border-radius:3px;position:relative}
.dash-db-pmo .gantt-bar{position:absolute;height:100%;border-radius:3px;display:flex;align-items:center;padding:0 6px;font-size:9px;color:#fff;font-weight:500;overflow:hidden;white-space:nowrap}
.dash-db-pmo .gantt-today{position:absolute;width:1px;background:#F2C94C;top:-3px;bottom:-3px;opacity:.7}
.dash-db-pmo .okr-item{margin-bottom:12px}
.dash-db-pmo .okr-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;font-size:12px}
.dash-db-pmo .okr-bar{height:7px;background:rgba(255,255,255,0.07);border-radius:4px;overflow:hidden;margin-bottom:3px}
.dash-db-pmo .okr-fill{height:100%;border-radius:4px}
.dash-db-pmo .risk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:8px}
.dash-db-pmo .risk-cell{height:40px;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:9px;font-weight:600;text-align:center;cursor:default;padding:4px}
@media(max-width:768px){.dash-db-pmo .g21,.dash-db-pmo .g12{grid-template-columns:1fr}}
/* db-rh */
.dash-db-rh .charts-top{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.dash-db-rh .charts-bot{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
@media(max-width:768px){.dash-db-rh .charts-top,.dash-db-rh .charts-bot{grid-template-columns:1fr}}
/* db-saude */
.dash-db-saude .g12{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.dash-db-saude .g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.dash-db-saude .pyramid{display:flex;flex-direction:column;gap:3px;padding:8px 0}
.dash-db-saude .pyr-row{display:flex;align-items:center;gap:4px;height:20px}
.dash-db-saude .pyr-label{font-size:10px;color:var(--muted);min-width:36px;text-align:center;flex-shrink:0}
.dash-db-saude .pyr-left{flex:1;display:flex;justify-content:flex-end}
.dash-db-saude .pyr-right{flex:1}
.dash-db-saude .pyr-bl{height:16px;border-radius:3px 0 0 3px;background:#0284C7BB}
.dash-db-saude .pyr-br{height:16px;border-radius:0 3px 3px 0;background:#EC4899BB}
.dash-db-saude .divbar{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.dash-db-saude .div-row{display:flex;align-items:center;gap:4px;height:22px}
.dash-db-saude .div-lbl{font-size:10px;color:var(--muted);min-width:80px;text-align:right}
.dash-db-saude .div-mid{width:1px;background:rgba(255,255,255,.2);height:22px;flex-shrink:0}
@media(max-width:768px){.dash-db-saude .g12,.dash-db-saude .g3{grid-template-columns:1fr}}
/* db-vendas */
.dash-db-vendas .charts-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.dash-db-ecommerce #heatmap{min-height:171px}
.dash-db-ecommerce #cohort-tbl{min-height:179px}
.dash-db-fintech2 #wordcloud{min-height:180px}
@media(max-width:768px){.dash-db-fintech2 #wordcloud{min-height:197px}}
.dash-db-marketing #funnel{min-height:192px}
.dash-db-mobilidade #post-hm{min-height:70px}
.dash-db-operacoes #cd-bars{min-height:177px}
.dash-db-pmo #gantt-rows{min-height:186px}
.dash-db-pmo #risk-matrix{min-height:182px}
.dash-db-pmo #okrs{min-height:195px}
.dash-db-saude #pyramid{min-height:197px}
.dash-db-saude #divbar{min-height:130px}
