/* ═══════════════════════════════════════════════════════
   Consumo — "Editorial Ledger" style, scoped under .consumo
   (deliberately different from the neumorphic rest of the app)
   ═══════════════════════════════════════════════════════ */
.consumo{
  --bg:#F5F2EA; --paper:#FFFFFF; --paper-2:#FBF9F3; --tint:#F0ECE0;
  --ink:#1B1B1B; --ink-2:#3A352C; --muted:#6D685E; --faint:#9B9384;
  --hair:#E5E1D5; --hair-2:#D8D2C2; --heavy:#000000;
  --accent:#BB4A20; --accent-soft:#F3E4D8;
  --good:#3E6B4D; --warn:#C98E3D; --crit:#A63D33;
  --p-el:#2A2520; --p-or:#6B7A52; --p-zad:#BB4A20; --p-tw:#A6564E;
  --f-disp:"Playfair Display",Georgia,"Times New Roman",serif;
  --f-ui:"Inter",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  background:var(--bg); color:var(--ink); font-family:var(--f-ui);
  margin:-32px -40px; padding:0; min-height:100vh; line-height:1.55;
}
/* full-bleed against .main-content padding (32/40 → 24/20 → mobile) */
@media(max-width:1024px){ .consumo{ margin:-24px -20px; } }
@media(max-width:640px){ .consumo{ margin:0 -16px; } }
.consumo *,.consumo *::before,.consumo *::after{box-sizing:border-box;}
.consumo .money{font-family:var(--f-disp);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.01em;}
.consumo .mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.consumo .co-label{font-family:var(--f-ui);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}

/* header */
.consumo .co-top{display:flex;align-items:center;gap:30px;height:74px;padding:0 30px;background:var(--bg);border-bottom:1px solid var(--hair);position:sticky;top:0;z-index:20;flex-wrap:wrap;}
.consumo .co-ttl{font-weight:700;font-size:18px;letter-spacing:.14em;text-transform:uppercase;}
.consumo .co-tabs{display:flex;gap:24px;align-self:stretch;align-items:center;}
.consumo .co-tab{font:inherit;font-size:13px;font-weight:600;cursor:pointer;background:none;border:none;color:var(--muted);height:100%;padding:0;position:relative;}
.consumo .co-tab:hover{color:var(--ink-2);}
.consumo .co-tab.on{color:var(--ink);}
.consumo .co-tab.on::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--heavy);}
.consumo .co-acts{margin-left:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.consumo .co-range{display:flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--hair-2);color:var(--ink-2);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--paper);cursor:pointer;}
.consumo .co-btn{font:inherit;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:9px 16px;border:1px solid var(--heavy);background:transparent;color:var(--ink);transition:all .15s;}
.consumo .co-btn:hover{background:var(--heavy);color:#fff;}
.consumo .co-btn.ghost{border-color:var(--hair-2);}
.consumo .co-btn.ghost:hover{background:var(--ink);border-color:var(--ink);}

.consumo .co-canvas{padding:26px 34px 64px;max-width:2040px;margin:0 auto;}
@media(min-width:2200px){ .consumo .co-canvas{max-width:2400px;} }

/* fixed-costs selector popover */
.consumo .co-fixwrap{position:relative;}
.consumo .co-fixpop{position:absolute;top:calc(100% + 8px);right:0;z-index:70;background:var(--paper);border:1px solid var(--hair-2);border-top:2px solid var(--heavy);padding:8px;width:310px;box-shadow:0 14px 44px -12px rgba(0,0,0,.28);max-height:min(440px,80vh);overflow-y:auto;}
.consumo .co-fixpop[hidden]{display:none;}
.consumo .co-fixrow{display:flex;align-items:center;gap:10px;padding:8px 8px;cursor:pointer;font-size:12.5px;}
.consumo .co-fixrow:hover{background:var(--tint);}
.consumo .co-fixrow input{appearance:none;-webkit-appearance:none;width:16px;height:16px;flex:none;border:1.5px solid var(--hair-2);background:var(--paper);cursor:pointer;position:relative;margin:0;}
.consumo .co-fixrow input:checked{background:var(--accent);border-color:var(--accent);}
.consumo .co-fixrow input:checked::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:800;line-height:1;}
.consumo .co-fixl{color:var(--ink);flex:1;}
.consumo .co-fixnum{font-family:var(--f-mono);font-size:10px;color:var(--muted);border:1px solid var(--hair-2);padding:1px 5px;margin-left:4px;}
.consumo .co-fixamt{font-size:13px;color:var(--ink);}
.consumo .co-fixbtns{display:flex;gap:8px;padding:10px 8px 4px;border-top:1px solid var(--hair);margin-top:6px;}
.consumo .co-mini{flex:1;font:inherit;font-family:var(--f-ui);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:8px 10px;border:1px solid var(--ink-2);background:var(--tint);color:var(--ink);}
.consumo .co-mini:hover{background:var(--ink);border-color:var(--ink);color:#fff;}

/* quick range presets (1D · 7D · 30D · 1A) */
.consumo .co-presets{display:flex;border:1px solid var(--hair-2);}
.consumo .co-preset{font:inherit;font-family:var(--f-ui);font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer;padding:8px 13px;border:none;border-right:1px solid var(--hair-2);background:var(--paper);color:var(--muted);}
.consumo .co-preset:last-child{border-right:none;}
.consumo .co-preset:hover{color:var(--ink);}
.consumo .co-preset.on{background:var(--heavy);color:#fff;}

/* now holds an SVG glyph, not a "▤" character — needs to centre it */
.consumo .co-preset-custom{padding:8px 11px;display:inline-flex;align-items:center;justify-content:center;}

/* custom range popover */
.consumo .co-acts{position:relative;}
.consumo .co-rangepop{position:absolute;top:calc(100% + 8px);right:0;z-index:60;background:var(--paper);border:1px solid var(--hair-2);border-top:2px solid var(--heavy);padding:14px;width:300px;box-shadow:0 12px 40px -12px rgba(0,0,0,.25);}
.consumo .co-rangepop[hidden]{display:none;}
.consumo .co-rp-quick{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px;}
.consumo .co-rp-quick button{font:inherit;font-family:var(--f-ui);font-size:11px;font-weight:600;cursor:pointer;padding:8px;border:1px solid var(--hair-2);background:var(--paper-2);color:var(--ink-2);}
.consumo .co-rp-quick button:hover{border-color:var(--accent);color:var(--accent);}
.consumo .co-rp-dates{display:flex;gap:10px;margin-bottom:12px;}
.consumo .co-rp-dates label{flex:1;display:flex;flex-direction:column;gap:3px;}
.consumo .co-rp-dates input{font:inherit;font-family:var(--f-mono);font-size:12px;padding:7px 8px;border:1px solid var(--hair-2);background:var(--paper);color:var(--ink);}
.consumo .co-rangepop .co-btn{width:100%;}

/* KPI bar floating tooltip (matches chart hover) */
.co-tip-float{position:fixed;z-index:9999;pointer-events:none;display:flex;align-items:center;gap:7px;background:#111;color:#fff;font-family:"Inter",system-ui,sans-serif;font-size:11.5px;padding:6px 10px;border-radius:5px;box-shadow:0 6px 20px -6px rgba(0,0,0,.5);white-space:nowrap;}
.co-tip-float .tdot{width:8px;height:8px;border-radius:2px;}
.co-tip-float b{font-weight:700;}
.co-tip-float .tsep{color:#9aa;} .co-tip-float .tval{font-family:"JetBrains Mono",monospace;font-weight:600;}

/* sortable log headers + page size */
.consumo th.co-sortable{cursor:pointer;user-select:none;}
.consumo th.co-sortable:hover{background:#2a2a2a;}
.consumo th.co-sortable.on{color:#fff;}
.consumo .co-sarrow{margin-left:5px;font-size:8px;opacity:.9;}
.consumo .co-pagesize{appearance:none;-webkit-appearance:none;font:inherit;font-family:var(--f-ui);font-size:11px;font-weight:700;padding:4px 20px 4px 8px;border:1px solid var(--hair-2);background:var(--paper);color:var(--ink);cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 11px) 50%,calc(100% - 7px) 50%;background-size:4px 4px,4px 4px;background-repeat:no-repeat;}
.consumo .co-pagesize option{background:var(--paper);color:var(--ink);}

/* strip info glyph + help cursor */
.consumo .co-mm[title]{cursor:help;}
.consumo .co-i{color:var(--faint);font-weight:400;font-size:9px;vertical-align:super;}

/* skeleton shimmer (log drawer opens instantly, shimmer where data will land) */
.consumo .co-skel{background:linear-gradient(90deg,var(--tint) 25%,var(--paper-2) 37%,var(--tint) 63%);background-size:400% 100%;animation:co-shimmer 1.2s ease infinite;border-radius:2px;}
.consumo .co-skel-h{height:10px;width:60%;margin:0 0 12px;}
.consumo .co-skel-f{height:22px;width:100%;margin:8px 0;}
@keyframes co-shimmer{0%{background-position:100% 0;}100%{background-position:0 0;}}
@media(prefers-reduced-motion:reduce){.consumo .co-skel{animation:none;}}
.consumo .co-filters{display:flex;flex-wrap:wrap;border:1px solid var(--hair);background:var(--paper);margin-bottom:30px;}
.consumo .co-sel{flex:1;min-width:200px;border-right:1px solid var(--hair);padding:10px 14px 8px;position:relative;transition:background .12s;}
.consumo .co-sel:last-child{border-right:none;}
.consumo .co-sel:not(.co-clear):hover{background:var(--tint);}
.consumo .co-sel .co-label{margin-bottom:5px;display:block;}
.consumo .co-sel select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;border:none;background:none;font:inherit;font-family:var(--f-ui);font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;padding:2px 22px 2px 0;}
.consumo .co-sel select:focus{outline:none;}
.consumo .co-sel option{background:var(--paper);color:var(--ink);}

/* custom on-theme dropdown (Cliente / Provider) — native <select> can't be themed */
.consumo .co-dd{cursor:pointer;}
.consumo .co-dd-trigger{display:flex;align-items:center;width:100%;border:none;background:none;font:inherit;font-family:var(--f-ui);font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;padding:2px 0 0;text-align:left;}
.consumo .co-dd-val{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.consumo .co-dd-car{color:var(--muted);margin-left:8px;display:inline-flex;align-items:center;flex-shrink:0;transition:transform .18s ease,color .15s ease;}
.consumo .co-dd:hover .co-dd-car{color:var(--ink);}
.consumo .co-dd.open .co-dd-car{transform:rotate(180deg);color:var(--ink);}
.consumo .co-btn-car{display:inline-flex;align-items:center;margin-left:6px;flex-shrink:0;transition:transform .18s ease;}
.consumo #co-fixbtn{display:inline-flex;align-items:center;}
.consumo #co-fixbtn[aria-expanded="true"] .co-btn-car{transform:rotate(180deg);}
.consumo .co-dd-pop{position:absolute;top:calc(100% + 6px);left:-1px;min-width:100%;width:max-content;max-width:340px;z-index:70;background:var(--paper);border:1px solid var(--hair-2);border-top:2px solid var(--heavy);box-shadow:0 14px 44px -12px rgba(0,0,0,.28);max-height:min(340px,60vh);overflow-y:auto;}
.consumo .co-dd-pop[hidden]{display:none;}
.consumo .co-dd-opt{display:flex;align-items:center;gap:10px;width:100%;border:none;background:none;font:inherit;font-family:var(--f-ui);font-size:12.5px;color:var(--ink-2);cursor:pointer;padding:10px 14px;text-align:left;border-bottom:1px solid var(--hair);white-space:nowrap;}
.consumo .co-dd-opt:last-child{border-bottom:none;}
.consumo .co-dd-opt:hover{background:var(--tint);color:var(--ink);}
.consumo .co-dd-opt.on{color:var(--accent);font-weight:700;background:var(--accent-soft);}
.consumo .co-dd-tick{margin-left:auto;color:var(--accent);display:inline-flex;align-items:center;flex-shrink:0;}
.consumo .co-date{width:100%;border:none;background:none;font:inherit;font-family:var(--f-mono);font-size:12px;color:var(--ink);cursor:pointer;padding:0;}
.consumo .co-date:focus{outline:none;}
.consumo .co-sel.co-clear{display:flex;align-items:center;flex:0 0 auto;min-width:0;}
.consumo .co-sel.co-clear .co-btn{padding:7px 12px;}

/* hero */
.consumo .co-hero{border-top:2px solid var(--heavy);padding:22px 0 24px;display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;}
.consumo .co-hero .htxt{flex:1;min-width:260px;}
.consumo .co-hero .hval{font-family:var(--f-disp);font-weight:800;font-size:70px;line-height:.95;letter-spacing:-.02em;}
.consumo .co-hero .hval .cur{font-size:34px;color:var(--muted);vertical-align:super;margin-left:6px;}
.consumo .co-hero .hmeta{text-align:right;}
.consumo .co-hero .hmeta .big{font-family:var(--f-disp);font-size:24px;font-weight:700;color:var(--warn);}
.consumo .co-hero .hmeta .sm{font-size:11px;color:var(--muted);max-width:28ch;margin-top:2px;}

/* KPI cards */
.consumo .co-kpis{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--hair);border-top:2px solid var(--heavy);background:var(--paper);margin-bottom:24px;}
.consumo .co-kpi{padding:17px 19px 15px;border-right:1px solid var(--hair);}
.consumo .co-kpi:last-child{border-right:none;}
.consumo .co-kpi .kr{display:flex;align-items:center;gap:8px;margin-bottom:11px;}
.consumo .co-kpi .pdot{width:9px;height:9px;flex:none;}
.consumo .co-kpi .kv{font-size:30px;line-height:1;}
.consumo .co-kpi .ksub{font-size:11px;color:var(--muted);margin-top:6px;}
.consumo .kbadge{font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--accent);color:var(--accent);margin-left:auto;}
.consumo .co-bars{display:flex;align-items:flex-end;gap:3px;height:24px;margin-top:11px;}
.consumo .co-bars span{flex:1;background:var(--hair-2);}
.consumo .co-bars span.hot{background:var(--ink);}

/* all-in fixed-cost note under KPIs */
.consumo .co-fixnote{margin:-14px 0 24px;padding:9px 14px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-left:3px solid var(--accent);font-size:11.5px;color:var(--ink-2);}
.consumo .co-fixnote b{color:var(--ink);}

/* metric strip */
.consumo .co-strip{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--hair);background:var(--paper);margin-bottom:24px;}
.consumo .co-mm{padding:14px 19px;border-right:1px solid var(--hair);}
.consumo .co-mm:last-child{border-right:none;}
.consumo .co-mm .mv{font-family:var(--f-disp);font-size:23px;font-weight:700;}
.consumo .co-mm .mv.warn{color:var(--warn);}
.consumo .co-mm .ml{font-size:10px;margin-top:4px;}

/* split */
.consumo .co-split{display:grid;grid-template-columns:1.55fr 1fr;gap:24px;margin-bottom:24px;align-items:start;}
.consumo .co-panel{background:var(--paper);border:1px solid var(--hair);}
.consumo .co-panel.anchor{border-top:2px solid var(--heavy);}
.consumo .co-ph{display:flex;align-items:baseline;gap:10px;padding:15px 19px 13px;border-bottom:1px solid var(--hair);}
.consumo .co-ph h3{margin:0;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;}
.consumo .co-ph .m{margin-left:auto;font-size:10px;color:var(--faint);letter-spacing:.09em;text-transform:uppercase;}
.consumo .co-pb{padding:17px 19px;}
.consumo .co-stack{margin-bottom:24px;}

/* provider share */
.consumo .co-srow{display:flex;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--hair);}
.consumo .co-srow:last-child{border-bottom:none;}
.consumo .co-srow .sd{width:10px;height:10px;flex:none;}
.consumo .co-srow .sn{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;min-width:96px;}
.consumo .co-srow .sbar{flex:1;height:7px;background:var(--tint);}
.consumo .co-srow .sbar i{display:block;height:100%;}
.consumo .co-srow .sv{font-family:var(--f-mono);font-size:12px;color:var(--muted);width:56px;text-align:right;}
.consumo .co-srow .spc{font-family:var(--f-disp);font-size:21px;font-weight:700;width:54px;text-align:right;}
.consumo .co-srow .spc sup{font-size:10px;color:var(--muted);}

/* eventos / activity */
.consumo .co-ev{display:flex;gap:12px;padding:13px 19px;border-bottom:1px solid var(--hair);}
.consumo .co-ev:last-of-type{border-bottom:none;}
.consumo .co-ev .eic{width:9px;height:9px;border-radius:50%;flex:none;margin-top:5px;background:var(--good);}
.consumo .co-ev.lag .eic{background:var(--warn);}
.consumo .co-ev.cold .eic{background:var(--faint);}
.consumo .co-ev .et{font-size:12.5px;font-weight:700;color:var(--ink);}
.consumo .co-ev .es{font-family:var(--f-mono);font-size:10.5px;color:var(--muted);margin-top:3px;}
.consumo .co-ev .eago{margin-left:auto;font-family:var(--f-mono);font-size:10px;color:var(--faint);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;}
.consumo .co-evnote{padding:12px 19px;border-top:1px solid var(--hair);font-size:11px;color:var(--muted);}

/* tables */
.consumo .co-tblw{overflow-x:auto;}
.consumo table.co-tbl{width:100%;border-collapse:collapse;}
.consumo .co-tbl thead th{background:var(--ink);color:#fff;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:left;padding:11px 15px;white-space:nowrap;}
.consumo .co-tbl thead th.r{text-align:right;}
.consumo .co-tbl td{padding:12px 15px;border-top:1px solid var(--hair);font-size:13px;color:var(--ink-2);white-space:nowrap;}
.consumo .co-tbl td.r{text-align:right;}
.consumo .co-tbl tbody tr.zebra{background:var(--paper-2);}
.consumo .co-cc{display:flex;align-items:center;gap:11px;font-weight:600;color:var(--ink);}
.consumo .co-av{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:11px;font-weight:700;color:#fff;}
.consumo .co-tot{font-family:var(--f-disp);font-size:17px;font-weight:700;color:var(--ink);}
.consumo .co-totbar{display:inline-flex;height:6px;width:80px;border-radius:999px;overflow:hidden;background:var(--tint);margin-left:11px;vertical-align:middle;}
.consumo .co-totbar>i{display:block;height:100%;}
.consumo .co-dash{color:var(--faint);}
.consumo .co-chev{color:var(--muted);transition:transform .2s;display:inline-block;}
.consumo tr.open .co-chev{transform:rotate(90deg);}
.consumo .co-clientrow,.consumo .co-logrow{cursor:pointer;}
.consumo .co-clientrow:hover,.consumo .co-logrow:hover{background:var(--tint);}

/* client drill */
.consumo .co-drill td{padding:0;border-top:none;}
.consumo .co-drill .inner{max-height:0;overflow:hidden;transition:max-height .28s ease;background:var(--paper-2);}
.consumo tr.open + .co-drill .inner{max-height:420px;}
.consumo .co-drill .inner-pad{padding:10px 22px 15px 50px;}
.consumo .co-drow{display:flex;align-items:center;gap:12px;font-size:12.5px;padding:7px 0;border-bottom:1px dashed var(--hair-2);}
.consumo .co-drow:last-child{border-bottom:none;}
.consumo .co-drow .dm{color:var(--ink);font-weight:600;min-width:230px;font-family:var(--f-mono);font-size:12px;}
.consumo .co-drow .dt{color:var(--muted);margin-left:auto;font-size:11.5px;}
.consumo .co-drow .dv{font-family:var(--f-disp);font-weight:700;width:78px;text-align:right;color:var(--ink);}
.consumo .co-drow-fix .dm{color:var(--accent);}
.consumo .co-drow-fix .dt{color:var(--accent);opacity:.7;}

/* provider badge */
.consumo .co-pbadge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;border:1px solid;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;box-sizing:border-box;}

/* log drawer */
.consumo .co-logrow .evt{color:var(--ink);font-weight:500;}
.consumo .co-logrow .evt .sub{color:var(--muted);font-weight:400;}
.consumo .co-ldrill td{padding:0;border-top:none;}
.consumo .co-ldrill .linner{max-height:0;overflow:hidden;transition:max-height .32s ease;background:var(--paper-2);}
.consumo tr.open + .co-ldrill .linner{max-height:720px;}
.consumo .co-lpad{padding:17px 22px 21px;border-top:1px solid var(--hair);}
.consumo .co-lhead{display:flex;align-items:center;gap:12px;margin-bottom:13px;flex-wrap:wrap;}
.consumo .co-lhead .lt{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;}
.consumo .co-lhead .lid{font-family:var(--f-mono);font-size:11px;color:var(--muted);}
.consumo .co-lgroups{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--hair);background:var(--paper);}
.consumo .co-lg{border-right:1px solid var(--hair);padding:12px 15px 13px;}
.consumo .co-lg:last-child{border-right:none;}
.consumo .co-lg h5{margin:0 0 8px;font-size:9.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);padding-bottom:7px;border-bottom:1px solid var(--hair);}
.consumo .co-field{padding:6px 0;border-bottom:1px dashed var(--hair-2);}
.consumo .co-field:last-child{border-bottom:none;}
.consumo .co-field .fl{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);}
.consumo .co-field .fv{font-family:var(--f-mono);font-size:12px;color:var(--ink);margin-top:2px;word-break:break-word;}

/* margem + logs misc */
.consumo .co-note{display:flex;gap:11px;padding:14px 17px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-left:3px solid var(--accent);font-size:12.5px;color:var(--ink-2);margin-bottom:24px;}
.consumo .co-note b{color:var(--ink);}
.consumo .co-mgrid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--hair);border-top:2px solid var(--heavy);background:var(--paper);margin-bottom:24px;}
.consumo .co-mkpi{padding:17px 19px;border-right:1px solid var(--hair);}
.consumo .co-mkpi:last-child{border-right:none;}
.consumo .co-mkpi .kv{font-size:28px;line-height:1;margin-top:9px;}
/* Margem tab — 4 KPIs (custo · contratado · recebido · margem) */
.consumo .co-mgrid-4{grid-template-columns:repeat(4,1fr);}
.consumo .co-note-warn{background:color-mix(in srgb,var(--warn) 12%,transparent);border-color:color-mix(in srgb,var(--warn) 35%,transparent);border-left-color:var(--warn);}
.consumo .co-note code{font-family:var(--f-mono);font-size:11px;background:var(--paper-2);padding:1px 4px;}
.consumo .co-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-family:var(--f-ui);font-size:12px;font-weight:500;text-transform:none;letter-spacing:0;border:1px solid var(--hair-2);color:var(--muted);vertical-align:middle;box-sizing:border-box;}
.consumo .co-badge.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent);}
.consumo .co-sub{color:var(--muted);font-size:11.5px;}
/* the billing drawer is denser than the per-model one it borrows .co-drow from */
.consumo tr.open + .co-drill-tall .inner{max-height:760px;overflow-y:auto;}
.consumo .co-mdet .co-drow .dm{min-width:104px;font-weight:600;}
.consumo .co-mdet .co-drow .dv{width:auto;flex:1;font-family:var(--f-ui);font-weight:600;font-size:12px;}
.consumo .co-mdet .co-drow .dt{font-size:11px;}
.consumo .co-mdet code{font-family:var(--f-mono);font-size:11px;color:var(--ink-2);word-break:break-all;}
.consumo .co-mdet a{color:var(--accent);}
.consumo .co-fresh{display:flex;flex-wrap:wrap;border:1px solid var(--hair);background:var(--paper);margin-bottom:24px;}
.consumo .co-fresh .fitem{flex:1;min-width:185px;padding:12px 17px;border-right:1px solid var(--hair);display:flex;align-items:center;gap:9px;font-size:11.5px;color:var(--muted);}
.consumo .co-fresh .fitem:last-child{border-right:none;}
.consumo .co-fresh i{width:8px;height:8px;border-radius:50%;background:var(--good);flex:none;}
.consumo .co-fresh .lag i{background:var(--warn);}
.consumo .co-fresh b{color:var(--ink);font-weight:700;letter-spacing:.07em;text-transform:uppercase;font-size:10px;}

.consumo .co-view{display:none;}
.consumo .co-view.on{display:block;}
.consumo .co-empty{padding:40px;text-align:center;color:var(--muted);font-size:13px;}
.consumo .co-loading{padding:50px;text-align:center;color:var(--muted);}

@media(max-width:1120px){
  .consumo .co-split{grid-template-columns:1fr;}
  .consumo .co-kpis,.consumo .co-strip{grid-template-columns:1fr 1fr;}
  .consumo .co-lgroups{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:680px){
  .consumo .co-kpis,.consumo .co-strip,.consumo .co-mgrid{grid-template-columns:1fr;}
}
