/* ============================================================
   costandprofitability.com - Profitability model demo dashboard
   Lote Enciclopédia (26 jun 2026). Praxis. Scoped under .cc-dash.
   Self-contained. Dataset CaP (illustrative). Never blue.
   ============================================================ */
.cc-dash{
  --o:#C75B22; --o-br:#E2761A; --grn:#1C7A57; --grn-soft:#3E9B74;
  --ink:#1A1714; --ink2:#4A4138; --muted:#756859; --muted2:#9A8E7E;
  --paper:#F3EEE4; --paper2:#EDE6D8; --surface:#FBF9F3; --surface2:#FAF7F0;
  --line:#DCD3C2; --line2:#C9BEAA; --dark:#14110D; --red:#B23A2E; --wheat:#E8DBC2;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --serif:'Newsreader',Georgia,serif;
  --sans:'Hanken Grotesk',system-ui,sans-serif;
  font-family:var(--sans);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;
  background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;
}
.cc-dash *{box-sizing:border-box;}

/* header */
.cc-dash .d-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 28px 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--surface2),var(--surface));}
.cc-dash .d-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--o);display:flex;align-items:center;gap:10px;margin-bottom:11px;}
.cc-dash .d-eyebrow::before{content:"";width:20px;height:1px;background:var(--o);display:inline-block;}
.cc-dash .d-head h3{font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.18;letter-spacing:-.01em;margin:0;max-width:32ch;}
.cc-dash .d-head h3 em{font-style:italic;color:var(--o);}
.cc-dash .d-tag{flex:none;font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line2);border-radius:100px;padding:5px 11px;white-space:nowrap;}

/* filter bar */
.cc-dash .d-filters{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:flex-start;padding:18px 28px;border-bottom:1px solid var(--line);background:var(--surface2);}
.cc-dash .d-fgroup{display:flex;flex-direction:column;gap:8px;}
.cc-dash .d-fgroup .fg-l{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.cc-dash .d-chips{display:flex;flex-wrap:wrap;gap:6px;}
.cc-dash .d-chip{font-family:var(--sans);font-size:12.5px;font-weight:500;padding:7px 12px;border-radius:100px;border:1px solid var(--line2);background:var(--surface);color:var(--ink2);cursor:pointer;transition:all .13s;min-height:32px;display:inline-flex;align-items:center;gap:6px;}
.cc-dash .d-chip:hover{border-color:var(--o);color:var(--o);}
.cc-dash .d-chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.cc-dash .d-chip .dot{width:8px;height:8px;border-radius:50%;flex:none;}
.cc-dash .d-reset{margin-left:auto;align-self:center;font-family:var(--sans);font-weight:600;font-size:12.5px;color:var(--ink2);background:transparent;border:1px solid var(--line2);border-radius:6px;padding:8px 14px;cursor:pointer;transition:all .14s;min-height:34px;}
.cc-dash .d-reset:hover{border-color:var(--o);color:var(--o);}

/* KPI row */
.cc-dash .d-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line);}
.cc-dash .d-kpi{background:var(--surface);padding:18px 22px;}
.cc-dash .d-kpi .k-l{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;line-height:1.3;}
.cc-dash .d-kpi .k-n{font-family:var(--serif);font-size:30px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;transition:color .2s;}
.cc-dash .d-kpi .k-n.flash{color:var(--o-br);}
.cc-dash .d-kpi .k-n.pos{color:var(--grn);}
.cc-dash .d-kpi .k-n.neg{color:var(--red);}
.cc-dash .d-kpi .k-s{font-family:var(--mono);font-size:11px;color:var(--muted2);margin-top:5px;}
@media(max-width:720px){.cc-dash .d-kpis{grid-template-columns:1fr 1fr;}}

/* charts */
.cc-dash .d-charts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);}
.cc-dash .d-panel{background:var(--surface);padding:20px 24px;min-width:0;}
.cc-dash .d-panel.full{grid-column:1 / -1;}
.cc-dash .d-panel .p-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px;}
.cc-dash .d-panel .p-t{font-family:var(--serif);font-size:17px;color:var(--ink);}
.cc-dash .d-panel .p-s{font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted2);}
.cc-dash .d-panel svg{width:100%;height:auto;display:block;}
.cc-dash .d-empty{padding:40px 10px;text-align:center;font-family:var(--mono);font-size:12px;color:var(--muted);}
@media(max-width:720px){.cc-dash .d-charts{grid-template-columns:1fr;}}

/* footer / cta */
.cc-dash .d-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:18px 28px;border-top:1px solid var(--line);background:var(--surface2);}
.cc-dash .d-btn{font-family:var(--sans);font-weight:600;font-size:13.5px;padding:10px 17px;border-radius:6px;border:1px solid transparent;text-decoration:none;transition:all .16s;display:inline-flex;align-items:center;gap:8px;}
.cc-dash .d-btn-primary{background:var(--o);color:#fff;border-color:var(--o);}
.cc-dash .d-btn-primary:hover{background:var(--o-br);}
.cc-dash .d-foot .d-spacer{margin-left:auto;}
.cc-dash .d-foot .d-hint{font-family:var(--mono);font-size:10.5px;color:var(--muted);}

/* scatter tooltip */
.cc-dash .d-tip{position:absolute;pointer-events:none;background:var(--dark);color:var(--paper);font-family:var(--mono);font-size:11px;padding:7px 10px;border-radius:6px;opacity:0;transition:opacity .12s;white-space:nowrap;z-index:5;transform:translate(-50%,-120%);box-shadow:0 4px 14px rgba(20,17,13,.3);}
.cc-dash .d-tip b{color:var(--o-br);}
.cc-dash .d-panel{position:relative;}

@media(max-width:560px){
  .cc-dash .d-head,.cc-dash .d-filters,.cc-dash .d-foot{padding-left:18px;padding-right:18px;}
  .cc-dash .d-head{flex-direction:column;}
}
