:root{
  --bg:#EEF1F4; --surface:#FFFFFF; --surface-2:#F6F8FA; --line:#DCE2E8; --line-soft:#E8EDF1;
  --ink:#142231; --ink-2:#3D4C5C; --muted:#6A7888;
  --accent:#1D5C7A; --accent-soft:#DCEAF1; --accent-ink:#FFFFFF;
  --good:#1C8551; --good-soft:#DDF1E6; --warn:#A8650F; --warn-soft:#FBEBD3; --bad:#B8392F; --bad-soft:#F8DEDA;
  --bar:#9DB8C8; --rev:#1C8551;
  --sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --r:10px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0E141A; --surface:#151D25; --surface-2:#1B252F; --line:#28343F; --line-soft:#212C36;
    --ink:#E4EAF0; --ink-2:#B6C2CE; --muted:#8594A3;
    --accent:#6CB2D3; --accent-soft:#1B3441; --accent-ink:#0E141A;
    --good:#4CC486; --good-soft:#15352A; --warn:#E3A24A; --warn-soft:#3A2B15; --bad:#EE7A6F; --bad-soft:#3E1F1C;
    --bar:#3B5A6C; --rev:#4CC486;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0E141A; --surface:#151D25; --surface-2:#1B252F; --line:#28343F; --line-soft:#212C36;
  --ink:#E4EAF0; --ink-2:#B6C2CE; --muted:#8594A3;
  --accent:#6CB2D3; --accent-soft:#1B3441; --accent-ink:#0E141A;
  --good:#4CC486; --good-soft:#15352A; --warn:#E3A24A; --warn-soft:#3A2B15; --bad:#EE7A6F; --bad-soft:#3E1F1C;
  --bar:#3B5A6C; --rev:#4CC486;
}
*{box-sizing:border-box}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.45}
.num,td.n,.kpi b{font-family:var(--mono);font-variant-numeric:tabular-nums}
a{color:var(--accent)}
button{font:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}

.app{display:grid;grid-template-columns:232px 1fr;min-height:100%}
.side{background:var(--surface);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:env(safe-area-inset-top,0px);height:100vh;overflow:auto}
.brand{display:flex;align-items:center;gap:10px;padding:0 6px}
.brand svg{flex:none}
.brand b{font-size:17px;font-weight:800;letter-spacing:-.01em}
.brand small{display:block;color:var(--muted);font-size:11px;font-weight:500}
.mcc{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:8px;padding:10px 12px;font-size:12px}
.mcc span{color:var(--muted);display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:600}
.nav{display:flex;flex-direction:column;gap:2px}
.nav .lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;padding:12px 8px 6px}
.nav button{display:flex;align-items:center;gap:9px;width:100%;text-align:left;border:0;background:none;color:var(--ink-2);padding:8px 10px;border-radius:7px;font-weight:600;font-size:13.5px}
.nav button:hover{background:var(--surface-2)}
.nav button[aria-current="true"]{background:var(--accent-soft);color:var(--ink)}
.dot{width:8px;height:8px;border-radius:50%;flex:none;background:var(--muted)}
.dot.ativa{background:var(--good)}
.dot.pausada{background:var(--line);box-shadow:inset 0 0 0 1.5px var(--muted)}
.nav .cnt{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--muted)}

.main{min-width:0;padding-inline:28px;padding-block:22px 60px;display:flex;flex-direction:column;gap:20px}
.top{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}
.top h1{margin:0;font-size:22px;font-weight:800;letter-spacing:-.02em;text-wrap:balance}
.top .sub{color:var(--muted);font-size:13px;margin-top:2px}
.tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
select,input,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:7px 10px}
textarea{resize:vertical;width:100%}
.sync{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;border:1px dashed var(--line);border-radius:999px;padding:5px 11px}
.sync i{width:7px;height:7px;border-radius:50%;background:var(--warn)}

.note{background:var(--accent-soft);border-radius:var(--r);padding:11px 14px;font-size:13px;color:var(--ink-2);display:flex;gap:10px;align-items:flex-start}
.note b{color:var(--ink)}

.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.kpi{background:var(--surface);padding:14px 16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.kpi span{font-size:11.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.kpi b{font-size:20px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi small{font-size:11.5px;color:var(--muted)}
.pos{color:var(--good)} .neg{color:var(--bad)}

.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;min-width:0}
.panel h2{margin:0 0 2px;font-size:15px;font-weight:700;letter-spacing:-.01em}
.panel .h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.panel .h p{margin:0;color:var(--muted);font-size:12.5px}
.grid2{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:20px}

.meta-bar{height:10px;background:var(--surface-2);border-radius:99px;overflow:hidden;border:1px solid var(--line-soft)}
.meta-bar i{display:block;height:100%;background:var(--good);border-radius:99px}
.meta-row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-top:6px}

.alerts{display:flex;flex-direction:column;gap:8px}
.alert{display:grid;grid-template-columns:4px 1fr;gap:12px;align-items:stretch;background:var(--surface-2);border-radius:8px;padding:10px 12px 10px 0;overflow:hidden;cursor:pointer;border:0;text-align:left;color:inherit;width:100%}
.alert::before{content:"";border-radius:0 3px 3px 0;background:var(--muted)}
.alert.bad::before{background:var(--bad)} .alert.warn::before{background:var(--warn)} .alert.good::before{background:var(--good)}
.alert b{font-size:13px;display:block}
.alert span{font-size:12.5px;color:var(--ink-2)}

.tbl-wrap{overflow-x:auto;border:1px solid var(--line-soft);border-radius:8px}
table{border-collapse:collapse;width:100%;font-size:12.8px}
th,td{padding:8px 10px;border-bottom:1px solid var(--line-soft);text-align:left;white-space:nowrap;vertical-align:top}
th{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--surface-2);position:sticky;top:0}
td.n,th.n{text-align:right}
tbody tr:hover td{background:var(--surface-2)}
tr.click{cursor:pointer}
tfoot td{font-weight:700;background:var(--surface-2);border-bottom:0}
td.wrap{max-width:320px;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2)}
.src{display:inline-block;font-size:9px;font-weight:700;border-radius:3px;padding:0 4px;margin-left:4px;vertical-align:1px;letter-spacing:.02em}
.src.g{background:var(--accent-soft);color:var(--accent)}
.src.m{background:var(--warn-soft);color:var(--warn)}
.src.c{background:var(--surface);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted);align-items:center}
.zero{color:var(--muted)}
.sale td{background:color-mix(in srgb,var(--good-soft) 55%,transparent)}

.pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;border-radius:99px;padding:3px 9px}
.pill.ativa{background:var(--good-soft);color:var(--good)}
.pill.pausada{background:var(--surface-2);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}

.cfg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 20px}
.cfg div{min-width:0}
.cfg span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.cfg b{font-weight:600;font-size:13.5px;overflow-wrap:anywhere}
.remind{font-size:12.5px;color:var(--warn);background:var(--warn-soft);border-radius:7px;padding:8px 12px;font-weight:600}

.chart svg{display:block;width:100%;height:auto}
.chart .ax{fill:var(--muted);font-size:10px;font-family:var(--mono)}
.chart .grid{stroke:var(--line-soft);stroke-width:1}
.chart .b{fill:var(--bar)}
.chart .r{fill:var(--rev)}
.chart .rl{fill:var(--good);font-size:10px;font-family:var(--mono);font-weight:600}
.chart .hit{fill:transparent}
.chart .hit:hover+.b{fill:var(--accent)}
.lg{display:inline-flex;align-items:center;gap:6px}
.lg i{width:10px;height:10px;border-radius:2px;background:var(--bar)}
.lg i.r{background:var(--rev);border-radius:50%}
.tip{position:fixed;pointer-events:none;background:var(--ink);color:var(--surface);font-size:12px;padding:7px 10px;border-radius:7px;font-family:var(--mono);z-index:10;white-space:nowrap}

.timeline{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}
.timeline li{display:grid;grid-template-columns:78px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft)}
.timeline li:last-child{border-bottom:0}
.timeline time{font-family:var(--mono);font-size:12px;color:var(--muted)}
.timeline p{margin:0;font-size:13px;color:var(--ink-2)}
.timeline .tag{display:inline-block;font-size:10.5px;font-weight:700;border-radius:4px;padding:1px 6px;margin-right:6px;background:var(--accent-soft);color:var(--accent)}
.addnote{display:flex;gap:8px;margin-top:12px}
.addnote input{flex:1;min-width:0}
.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;padding:7px 13px;font-weight:600;font-size:13px}
.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.back{border:0;background:none;color:var(--accent);font-weight:600;padding:0}

.form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px}
.form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:600;color:var(--ink-2)}
.form label.wide{grid-column:span 3}
.form input,.form select{width:100%}
.ads{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.slot{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.slot input{flex:1;min-width:0}
.slot em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--muted);width:44px;text-align:right}
.slot em.over{color:var(--bad);font-weight:700}
.soon{font-size:11px;font-weight:700;color:var(--warn);background:var(--warn-soft);border-radius:4px;padding:2px 7px;margin-left:6px;vertical-align:2px}
.actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;align-items:center}
.actions p{margin:0 auto 0 0;font-size:12.5px;color:var(--muted)}

@media (max-width:1100px){
  .kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid2{grid-template-columns:1fr}
  .cfg{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .app{grid-template-columns:1fr}
  .side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:14px 16px;gap:10px}
  .mcc{display:none}
  .nav{flex-direction:row;overflow-x:auto;gap:4px}
  .nav .lbl{display:none}
  .nav button{width:auto;white-space:nowrap}
  .nav .cnt{display:none}
  .main{padding-inline:16px}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form{grid-template-columns:1fr}
  .form label.wide{grid-column:auto}
  .ads{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
/* ---- v2 ---- */
.side{gap:14px}
.mccsw{position:relative}
.mccbtn{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:9px 11px;color:var(--ink)}
.mccbtn:hover{border-color:var(--accent)}
.mccbtn .av{width:30px;height:30px;border-radius:7px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}
.mccbtn .tx{min-width:0;flex:1}
.mccbtn .tx span{display:block;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.mccbtn .tx b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mccbtn .ch{color:var(--muted);transition:transform .15s}
.mccbtn[aria-expanded="true"] .ch{transform:rotate(180deg)}
.mccpanel{margin-top:6px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:8px;display:flex;flex-direction:column;gap:6px;box-shadow:0 8px 24px rgba(10,20,30,.10)}
.mccpanel input{width:100%;font-size:13px;padding:6px 9px}
.mcclist{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow:auto}
.mccitem{display:flex;align-items:center;gap:8px;border-radius:7px;padding:7px 8px;border:0;background:none;text-align:left;color:var(--ink);width:100%}
.mccitem:hover{background:var(--surface-2)}
.mccitem[aria-current="true"]{background:var(--accent-soft)}
.mccitem .av{width:22px;height:22px;border-radius:5px;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);display:grid;place-items:center;font-weight:800;font-size:10px;color:var(--ink-2);flex:none}
.mccitem[aria-current="true"] .av{background:var(--accent);color:var(--accent-ink);box-shadow:none}
.mccitem .tx{min-width:0;flex:1}
.mccitem b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mccitem small{display:block;font-family:var(--mono);font-size:10.5px;color:var(--muted)}
.mccitem .rm{border:0;background:none;color:var(--muted);font-size:15px;line-height:1;padding:2px 5px;border-radius:4px}
.mccitem .rm:hover{color:var(--bad);background:var(--bad-soft)}
.addbtn{border:1px dashed var(--line);background:none;border-radius:7px;padding:7px;color:var(--accent);font-weight:700;font-size:12.5px}
.addform{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line-soft);padding-top:8px}
.addform label{font-size:11px;font-weight:700;color:var(--muted);display:flex;flex-direction:column;gap:3px}
.addform .row{display:flex;gap:6px;justify-content:flex-end}
.addform .err{color:var(--bad);font-size:11.5px;margin:0}

.periods{display:flex;flex-wrap:wrap;gap:4px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:4px}
.periods button{border:0;background:none;color:var(--ink-2);font-weight:600;font-size:12.5px;padding:6px 11px;border-radius:6px;white-space:nowrap}
.periods button:hover{background:var(--surface-2)}
.periods button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.custom{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.custom input{font-family:var(--mono);font-size:12.5px;padding:5px 8px}
.rangeinfo{font-size:12.5px;color:var(--muted)}
.rangeinfo b{color:var(--ink);font-family:var(--mono);font-weight:600}

.filters{display:flex;gap:4px}
.filters button{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font-weight:600;font-size:12px;padding:5px 11px;border-radius:99px}
.filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.go{color:var(--muted);font-size:16px;text-align:right}
tr.click:hover .go{color:var(--accent)}

.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:48px 20px}
.empty h2{margin:0;font-size:17px}
.empty p{margin:0;color:var(--muted);max-width:52ch}
.steps{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;text-align:left}
.steps li{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--ink-2)}
.steps li i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--muted)}

td.wrap{white-space:normal;min-width:280px;max-width:420px;overflow:visible;text-overflow:clip}
.sheet th{white-space:normal;min-width:74px;line-height:1.25;vertical-align:bottom}
@media (max-width:760px){
  .mccpanel{position:static}
  .side .nav{display:flex}
}
/* ---- v3 dashboard ---- */
.headline{margin:0;font-size:19px;line-height:1.5;color:var(--ink-2);max-width:62ch;text-wrap:pretty}
.headline b{color:var(--ink);font-weight:700;white-space:nowrap}
.headline b.pos{color:var(--good)} .headline b.neg{color:var(--bad)}
.eq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px}
.eqc{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;gap:6px;min-width:0}
.eqc span{font-size:13px;font-weight:700;color:var(--muted)}
.eqc b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:26px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eqc small{font-size:12.5px;color:var(--muted)}
.eqc.lucro.pos{background:var(--good-soft);border-color:transparent}
.eqc.lucro.pos b,.eqc.lucro.pos span{color:var(--good)}
.eqc.lucro.neg{background:var(--bad-soft);border-color:transparent}
.eqc.lucro.neg b,.eqc.lucro.neg span{color:var(--bad)}
.op{display:grid;place-items:center;font-size:26px;font-weight:300;color:var(--muted)}
.mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mini div{padding:4px 2px;display:flex;flex-direction:column;gap:2px;min-width:0}
.mini span{font-size:12px;font-weight:700;color:var(--muted)}
.mini b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}
.mini small{font-size:12px;color:var(--muted)}

.clist{display:flex;flex-direction:column}
.crow{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) 56px 76px minmax(0,2fr) 18px;gap:16px;align-items:center;padding:13px 10px;border:0;border-top:1px solid var(--line-soft);background:none;color:var(--ink);text-align:left;width:100%;border-radius:0}
.crow:first-child{border-top:0}
button.crow:hover{background:var(--surface-2)}
button.crow:hover .go{color:var(--accent)}
.crow .n{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;font-size:13px}
.chead{padding-block:4px 8px}
.chead span{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-family:var(--sans)!important}
.cn{display:flex;flex-direction:column;gap:3px;min-width:0}
.cn b{font-size:14.5px}
.sit{font-style:normal;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px;color:var(--muted)}
.sit::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.sit.good{color:var(--good)} .sit.warn{color:var(--warn)} .sit.bad{color:var(--bad)}
.lb{display:grid;grid-template-columns:1fr 104px;gap:10px;align-items:center}
.lb b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13.5px;text-align:right}
.track{height:10px;background:var(--surface-2);border-radius:99px;overflow:hidden}
.track i{display:block;height:100%;border-radius:99px;min-width:3px}
.track i.g{background:var(--good)} .track i.r{background:var(--bad)}
@media (max-width:900px){
  .eq{grid-template-columns:1fr}
  .op{display:none}
  .headline{font-size:17px}
}
@media (max-width:760px){
  .mini{grid-template-columns:1fr}
  .chead{display:none}
  .crow{grid-template-columns:1fr 1fr 1fr 1fr;gap:8px 12px}
  .crow .cn{grid-column:1 / -1}
  .crow .n{text-align:left;display:flex;flex-direction:column}
  .crow .n::before{content:attr(data-l);font-family:var(--sans);font-size:11px;color:var(--muted);font-weight:600}
  .crow .lb{grid-column:1 / -1}
  .crow .go{display:none}
}
/* ---- cores da planilha ---- */
:root{
  --navy:#424862; --fat-c:#ADB9CA; --cost-c:#C69A9A; --lucro-c:#E2EFD9; --sale-c:#B6D7A8; --hl:#FFE598; --cell:#E7E6E6; --cell-2:#D0CECE;
  --bg:#F1F0F0; --surface:#FFFFFF; --surface-2:#E7E6E6; --line:#D0CECE; --line-soft:#E4E2E2;
  --ink:#262A38; --ink-2:#424862; --muted:#6E7385;
  --accent:#424862; --accent-soft:#DDE2EB; --accent-ink:#FFFFFF;
  --good:#3A7A2A; --good-soft:#E2EFD9; --warn:#7A5C00; --warn-soft:#FFF1BF; --bad:#B03434; --bad-soft:#F2E3E3;
  --fat-soft:#E3E8EF; --cost-soft:#F1E3E3; --sale-row:#DCEBD4; --side:#424862; --side-ink:#FFFFFF; --side-muted:#B9BED0; --side-hover:#50567226;
  --sans:"Calibri","Carlito",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Calibri","Carlito",system-ui,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#1A1C25; --surface:#232633; --surface-2:#2C3040; --line:#3A3F52; --line-soft:#30344A;
    --ink:#ECEDF2; --ink-2:#C7CBDA; --muted:#9398AB;
    --accent:#9AA6CF; --accent-soft:#353B55; --accent-ink:#1A1C25;
    --good:#8FCB78; --good-soft:#26372A; --warn:#F0D36A; --warn-soft:#3B3420; --bad:#E08C8C; --bad-soft:#3D2A2E;
    --fat-soft:#2B3243; --cost-soft:#3A2C31; --sale-row:#2A3A2A; --side:#2E3246; --side-ink:#FFFFFF; --side-muted:#A5AAC0;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#1A1C25; --surface:#232633; --surface-2:#2C3040; --line:#3A3F52; --line-soft:#30344A;
  --ink:#ECEDF2; --ink-2:#C7CBDA; --muted:#9398AB;
  --accent:#9AA6CF; --accent-soft:#353B55; --accent-ink:#1A1C25;
  --good:#8FCB78; --good-soft:#26372A; --warn:#F0D36A; --warn-soft:#3B3420; --bad:#E08C8C; --bad-soft:#3D2A2E;
  --fat-soft:#2B3243; --cost-soft:#3A2C31; --sale-row:#2A3A2A; --side:#2E3246; --side-ink:#FFFFFF; --side-muted:#A5AAC0;
}
body{font-size:15px}
.num,td.n,.kpi b,.eqc b,.mini b,.crow .n,.lb b{font-variant-numeric:tabular-nums lining-nums}

/* barra lateral azul-marinho, como os cabeçalhos da planilha */
.side{background:var(--side);border-right:0;color:var(--side-ink)}
.brand small{color:var(--side-muted)}
.mccbtn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:var(--side-ink)}
.mccbtn:hover{border-color:rgba(255,255,255,.5)}
.mccbtn .av{background:#FFFFFF;color:var(--navy)}
.mccbtn .tx span,.mccbtn .ch{color:var(--side-muted)}
.mccpanel{color:var(--ink)}
.mccitem[aria-current="true"] .av{background:var(--navy);color:#fff}
.nav button{color:var(--side-muted)}
.nav button:hover{background:rgba(255,255,255,.08);color:var(--side-ink)}
.nav button[aria-current="true"]{background:#FFFFFF;color:var(--navy)}

/* botões e filtros */
.periods button[aria-pressed="true"],.btn.pri{background:var(--navy);color:#fff;border-color:var(--navy)}
.filters button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
:root[data-theme="dark"] .periods button[aria-pressed="true"],:root[data-theme="dark"] .filters button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .periods button[aria-pressed="true"],:root:not([data-theme="light"]) .filters button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}}

/* os três blocos com as cores de Faturamento / Custo / Lucro da planilha */
.eqc{border:0;border-top:5px solid transparent}
.eqc.fat{background:var(--fat-soft);border-top-color:var(--fat-c)}
.eqc.inv{background:var(--cost-soft);border-top-color:var(--cost-c)}
.eqc.lucro{background:var(--good-soft);border-top-color:var(--sale-c)}
.eqc.lucro.neg{background:var(--bad-soft);border-top-color:var(--cost-c)}
.eqc span{color:var(--ink-2)}

/* tabelas no estilo da planilha */
th{background:var(--navy);color:#FFFFFF;border-bottom:0}
.sheet td:nth-child(1),.sheet td:nth-child(2){background:var(--surface-2)}
.sheet td:nth-child(13){background:var(--cost-soft)}
.sheet tr.sale td{background:var(--sale-row)}
tfoot td{background:var(--surface-2)}
.chead span{color:var(--muted)}
.remind{background:var(--hl);color:#4A3A00}
:root[data-theme="dark"] .remind{background:var(--warn-soft);color:var(--warn)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .remind{background:var(--warn-soft);color:var(--warn)}}
.track{background:var(--surface-2)}
.track i.g{background:#6AA84F} .track i.r{background:var(--cost-c)}
.sit.warn{color:#8A6A00}
.panel{border-color:var(--line-soft)}
.pill.ativa{background:var(--good-soft);color:var(--good)}
@media (max-width:760px){ .side{border-bottom:0} }
.kpis .kpi:nth-child(1){background:var(--fat-soft)} .kpis .kpi:nth-child(2){background:var(--cost-soft)} .kpis .kpi:nth-child(3),.kpis .kpi:nth-child(4){background:var(--good-soft)}
.monthsel{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--muted)}
.monthsel select{font-weight:700;color:var(--ink)}
.sheet tbody td{height:36px}
.sheet tr.pre td,.sheet tr.fut td{color:var(--muted)}
.sheet tr.fut td:nth-child(n+3){background:repeating-linear-gradient(135deg,transparent 0 6px,var(--line-soft) 6px 7px)}
.sheet tr.today td{box-shadow:inset 0 2px 0 var(--navy),inset 0 -2px 0 var(--navy)}
.dtag{display:inline-block;font-size:10px;font-weight:700;border-radius:4px;padding:0 5px;margin-left:4px;background:var(--navy);color:#fff;vertical-align:1px}
.dtag.cr{background:var(--hl);color:#4A3A00}
/* ---- tela da campanha compacta ---- */
.campview{display:flex;flex-direction:column;gap:10px}
.campview .top h1{font-size:19px;margin-top:2px!important}
.campview .top .sub{font-size:12px;margin-top:0}
.campview .back{font-size:12.5px}
.campview .panel{padding:10px 14px}
.campview .panel .h{margin-bottom:6px}
.campview .panel h2{font-size:14px}
.campview .panel .h p{font-size:11.5px}
.campview .remind{font-size:11.5px;padding:4px 10px}
.campview .cfg{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px 14px}
.campview .cfg span{font-size:9.5px}
.campview .cfg b{font-size:12.5px}
.campview .kpi{padding:8px 12px;gap:1px}
.campview .kpi span{font-size:10px}
.campview .kpi b{font-size:16px}
.campview .kpi small{font-size:10.5px}
.campview .sheet{font-size:12px}
.campview .sheet th{font-size:9.5px;padding:5px 6px;letter-spacing:.02em;min-width:0}
.campview .sheet td{padding:3px 6px;height:auto;line-height:1.3}
.campview .sheet td.wrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px;min-width:180px;cursor:help}
.campview .sheet tr.open td.wrap{white-space:normal;cursor:default}
.campview .dtag{font-size:9px;padding:0 4px}
.campview .monthsel select{padding:4px 8px}
@media (max-width:1100px){ .campview .cfg{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:760px){ .campview .cfg{grid-template-columns:repeat(2,minmax(0,1fr))} }
.campview .cfg{grid-template-columns:repeat(6,minmax(0,1fr))}
.campview .sheet th{white-space:nowrap;cursor:help}
.campview .sheet td.wrap{max-width:150px;min-width:70px;color:var(--accent)}
.campview .sheet td{padding:2px 4px}
.campview .sheet th{padding-inline:4px}
.campview .sheet{font-size:11.5px}
.campview .sheet tr.open td.wrap{white-space:nowrap}
.campview .sheet tbody tr:not(.noterow) td:first-child,.campview .sheet th:first-child{min-width:62px;white-space:nowrap}
.campview .noterow td{white-space:normal;background:var(--hl)!important;color:#3A3000;font-size:12.5px;padding:6px 10px 8px 70px;box-shadow:none}
.side{width:auto}
@media (min-width:761px){.app{grid-template-columns:244px 1fr}}
.brand{gap:10px;padding:0 2px}
.brand .wm b{display:block;font-family:Arial,"Helvetica Neue",sans-serif;font-size:14.5px;font-weight:700;letter-spacing:.05em;color:#FFFFFF;white-space:nowrap}
.brand .wm .as{color:#9AA2FF}
.brand .wm small{display:block;font-family:Arial,"Helvetica Neue",sans-serif;font-size:8.4px;letter-spacing:.06em;color:#E7E6E6;opacity:.8;white-space:nowrap;margin-top:2px}
.ctool{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:2px 0 10px;border-bottom:1px solid var(--line-soft);margin-bottom:4px}
.ctool .monthsel{color:var(--ink-2)}
.ctool select{font-weight:700}
.pwrap{position:relative}
.psep{width:1px;align-self:stretch;background:var(--line);margin:3px 2px}
.mbtn{display:inline-flex;align-items:center;gap:6px}
.mpick{position:absolute;top:calc(100% + 6px);left:0;z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(20,24,40,.16);padding:10px;width:250px}
.mphead{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.mphead b{font-size:15px}
.mphead button{border:1px solid var(--line);background:var(--surface);border-radius:6px;width:30px;height:28px;font-size:16px;color:var(--ink)}
.mphead button:disabled{opacity:.35;cursor:not-allowed}
.mpgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.mpgrid button{border:0;background:var(--surface-2);border-radius:6px;padding:8px 0;font-weight:600;color:var(--ink)}
.mpgrid button:hover{background:var(--accent-soft)}
.mpgrid button.cur{box-shadow:inset 0 0 0 1.5px var(--navy)}
.mpgrid button[aria-pressed="true"]{background:var(--navy);color:#fff}
.mpgrid button:disabled{opacity:.3;cursor:not-allowed}
.mpfoot{margin-top:8px;text-align:center}
.mpfoot button{border:0;background:none;color:var(--accent);font-weight:700;font-size:12px}
.cdate{font-size:11px;color:var(--muted)}
@media (max-width:760px){.mpick{left:auto;right:0}}
.ltools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.lmbtn{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--navy);background:var(--surface);color:var(--navy);font-weight:700;font-size:12.5px;padding:5px 12px;border-radius:99px}
.lmbtn:hover,.lmbtn[aria-expanded="true"]{background:var(--navy);color:#fff}
.mpick.mpl{left:auto;right:0}
.mpquick{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line-soft)}
.mpquick button{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:4px 9px;font-size:11.5px;font-weight:600;color:var(--ink-2)}
.mpquick button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.mpcustom{display:flex;flex-direction:column;gap:5px;margin-top:8px;font-size:11.5px;font-weight:700;color:var(--muted)}
.mpcustom input{font-size:12px;padding:4px 6px}
.mpick.mpl{width:270px}
/* ---- login ---- */
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);background:var(--bg)}
.auth-brand{background:var(--navy);color:#fff;padding-inline:56px;padding-block:56px;display:flex;flex-direction:column;justify-content:center;gap:22px;position:relative;overflow:hidden}
.auth-brand::after{content:"";position:absolute;right:-120px;bottom:-120px;width:420px;height:420px;border-radius:50%;border:60px solid rgba(89,101,242,.18);pointer-events:none}
.auth-logo svg{width:100%;max-width:440px;height:auto;display:block}
.auth-tag{margin:0;font-size:19px;line-height:1.45;color:#E7E6E6;max-width:32ch}
.auth-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.auth-points li{display:flex;gap:10px;align-items:center;font-size:14.5px;color:#D5D9E6}
.auth-points li::before{content:"";width:8px;height:8px;border-radius:2px;background:#5965F2;flex:none}
.auth-form{display:flex;align-items:center;justify-content:center;padding-inline:24px;padding-block:40px}
.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:6px}
.auth-logo-m{display:none}
.auth-card h1{margin:0;font-size:26px;letter-spacing:-.01em}
.auth-card .lead{margin:2px 0 14px;color:var(--muted);font-size:14.5px}
.aform{display:flex;flex-direction:column;gap:6px}
.aform label{font-size:13px;font-weight:700;color:var(--ink-2);margin-top:6px}
.aform input:not([type=checkbox]){width:100%;padding:11px 12px;font-size:15px;border-radius:8px}
.aform input:focus{outline:2px solid var(--navy);outline-offset:0;border-color:var(--navy)}
.pw{position:relative}
.pw input{padding-right:42px!important;width:100%}
.eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--muted);padding:6px;border-radius:6px;display:grid;place-items:center}
.eye:hover{color:var(--ink)}
.arow{display:flex;justify-content:space-between;align-items:center;margin:6px 0 4px;gap:10px;flex-wrap:wrap}
.chk{display:flex!important;align-items:center;gap:7px;font-weight:600!important;margin:0!important;color:var(--ink-2)}
.lnk{border:0;background:none;color:#4450D8;font-weight:700;font-size:13px;padding:0}
.lnk:hover{text-decoration:underline}
.back2{align-self:flex-start;margin-bottom:10px}
.btn.big{padding:12px;font-size:15px;border-radius:8px;margin-top:8px;width:100%}
.aerr{margin:6px 0 0;color:var(--bad);font-size:13px;font-weight:600}
.or{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12.5px;margin:16px 0 10px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}
.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-weight:700;font-size:14.5px}
.gbtn:hover{border-color:var(--navy)}
.demo-note{margin:18px 0 0;font-size:12px;color:var(--muted);background:var(--surface-2);border-radius:7px;padding:8px 10px}
.sent{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
@media (max-width:860px){
  .auth{grid-template-columns:1fr}
  .auth-brand{display:none}
  .auth-logo-m{display:block;margin-bottom:22px}
  .auth-logo-m svg{width:100%;max-width:300px;height:auto}
}

/* ---- usuário na barra lateral ---- */
.sideuser{margin-top:auto;display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;background:rgba(255,255,255,.06)}
.sideuser button.who{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;background:none;color:#fff;text-align:left;padding:0}
.sideuser .who b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sideuser .who small{display:block;font-size:11px;color:var(--side-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sideuser .out{border:0;background:none;color:var(--side-muted);font-size:12px;font-weight:700;padding:4px 6px;border-radius:6px}
.sideuser .out:hover{color:#fff;background:rgba(255,255,255,.1)}
.av-img{border-radius:50%;object-fit:cover;display:block;flex:none}
.av-ini{border-radius:50%;background:#5965F2;color:#fff;display:grid;place-items:center;font-weight:800;flex:none}
@media (max-width:760px){ .sideuser{margin-top:0} }

/* ---- conta ---- */
.conta{display:flex;flex-direction:column;gap:18px;max-width:1000px}
.okmsg{font-size:12.5px;font-weight:700;color:var(--good);background:var(--good-soft);border-radius:99px;padding:3px 10px;margin-left:10px}
.perfil{display:grid;grid-template-columns:160px 1fr;gap:22px;align-items:start}
.foto{display:flex;flex-direction:column;align-items:center;gap:10px}
.foto-av .av-img,.foto-av .av-ini{width:96px;height:96px}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.pgrid label,.pwform label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:700;color:var(--ink-2)}
.pgrid input,.pwform input{width:100%;padding:9px 11px;font-size:14px}
.pgrid small,.pwform small{font-weight:400;color:var(--muted);font-size:11.5px}
input.ro{background:var(--surface-2);color:var(--ink-2)}
.fld{display:flex;flex-direction:column;gap:3px}
.fld span{font-size:12.5px;font-weight:700;color:var(--ink-2)}
.fld b{font-size:15px}
.fld small{color:var(--muted);font-size:11.5px}
.pact{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:8px}
.pwform{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;align-items:start}
.pwform .aerr{grid-column:1 / -1}
.pwrow{display:flex;justify-content:space-between;align-items:center;gap:12px}
.dots{font-size:20px;letter-spacing:.12em;color:var(--ink-2)}
.btn.sm{padding:5px 10px;font-size:12px}
.pill.st-demo{background:var(--hl);color:#4A3A00}
.pill.st-wait{background:var(--surface-2);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}
.mcctbl td{vertical-align:middle}
@media (max-width:760px){
  .perfil{grid-template-columns:1fr}
  .pgrid,.pwform{grid-template-columns:1fr}
}
.pro{display:inline-block;font-size:9.5px;font-weight:800;letter-spacing:.08em;background:#5965F2;color:#fff;border-radius:4px;padding:1px 5px;margin-left:4px;vertical-align:1px}
.pro.big{font-size:12px;padding:2px 7px;vertical-align:4px}
.nav button[aria-current="true"] .pro{background:#5965F2;color:#fff}
.ovpanel{padding-bottom:8px}
.ovw{position:relative}
.ovsvg{display:block;width:100%;height:auto;touch-action:pan-y}
.ovsvg .g2{stroke:var(--line-soft);stroke-width:.6;opacity:.55}
.ovsvg .g1{stroke:var(--line);stroke-width:.8;stroke-dasharray:2 3;opacity:.8}
.ovsvg .axl{fill:#2F7A45;font-size:11px;font-weight:600}
.ovsvg .axr{fill:var(--navy);font-size:11px;font-weight:600}
.ovsvg .axx{fill:var(--muted);font-size:10.5px}
.ovsvg .va{fill:#8DA9D6;opacity:.32}
.ovsvg .vl{fill:none;stroke:#7C9CCF;stroke-width:2}
.ovsvg .cb{fill:#2E9A62;opacity:.9}
.ovsvg .cl{fill:none;stroke:#1F2A7A;stroke-width:2.2;stroke-dasharray:3 3;stroke-linecap:round}
.ovsvg .cd{fill:#1F2A7A;stroke:var(--surface);stroke-width:1.5}
.ovsvg .hv{stroke:var(--muted);stroke-width:1;opacity:.6}
.ovsvg .hvd{fill:#7C9CCF;stroke:var(--surface);stroke-width:2}
.ovtip{position:absolute;pointer-events:none;background:var(--surface);border:1.5px solid #2E9A62;border-radius:6px;box-shadow:0 6px 18px rgba(20,24,40,.14);padding:7px 10px;font-size:12px;display:flex;flex-direction:column;gap:2px;min-width:170px;z-index:5;color:var(--ink)}
.ovtip b{font-size:11.5px;font-weight:600;color:var(--ink-2);margin-bottom:2px}
.ovtip span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.ovtip .muted{color:var(--muted)}
.ovtip i,.ovleg i{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none}
.k-c{background:#2E9A62} .k-v{background:#1F2A7A} .k-s{background:#8DA9D6} .k-i{background:#C69A9A}
.ovleg{gap:14px}
.ovleg span{display:inline-flex;align-items:center;gap:6px}
.ovaxes{display:flex;justify-content:space-between;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:-4px}
.prodsel{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--ink-2)}
.prodsel select{font-weight:700;min-width:180px;border-color:var(--navy)}
.ovsvg .bl{fill:#2E9A62} .ovsvg .blt{fill:#fff;font-size:10.5px;font-weight:700}
.ovsvg .br{fill:#1F2A7A} .ovsvg .brt{fill:#fff;font-size:10.5px;font-weight:700}
.ovsvg .bline{stroke:#2E9A62;stroke-width:1;stroke-dasharray:3 3;opacity:.6}
.prodchip{margin:4px 0 2px!important;font-size:12.5px!important;color:var(--ink-2)!important;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.prodchip b{background:var(--accent-soft);color:var(--navy);border-radius:99px;padding:1px 9px}
button.crow.sel{background:var(--accent-soft);box-shadow:inset 3px 0 0 #5965F2}
.ovtitle{text-align:right}

.themesw{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px;margin-top:auto;color:var(--side-muted);font-size:12px;font-weight:700}
.tseg{display:flex;background:rgba(0,0,0,.18);border-radius:8px;padding:3px;gap:2px}
.tseg button{display:inline-flex;align-items:center;gap:5px;border:0;background:none;color:var(--side-muted);font-size:12px;font-weight:700;padding:5px 9px;border-radius:6px}
.tseg button:hover{color:#fff}
.tseg button[aria-pressed="true"]{background:#fff;color:var(--navy)}
.sideuser{margin-top:0}
@media (max-width:760px){ .themesw{margin-top:0} }
:root[data-theme="dark"] .ovsvg .cl{stroke:#A9B2FF}
:root[data-theme="dark"] .ovsvg .cd{fill:#A9B2FF}
:root[data-theme="dark"] .ovsvg .axr{fill:#A9B2FF}
:root[data-theme="dark"] .ovsvg .br{fill:#5965F2}
:root[data-theme="dark"] .ovsvg .axl{fill:#7FD39E}
:root[data-theme="dark"] .ovsvg .va{fill:#6E8CC4;opacity:.35}
:root[data-theme="dark"] .k-v{background:#A9B2FF}
:root[data-theme="dark"] .lmbtn,:root[data-theme="dark"] .prodsel select{border-color:var(--accent);color:var(--ink)}
:root[data-theme="dark"] .lmbtn:hover,:root[data-theme="dark"] .lmbtn[aria-expanded="true"]{background:var(--accent);color:var(--accent-ink)}
:root[data-theme="dark"] .lnk{color:#A9B2FF}
:root[data-theme="dark"] .prodchip b{color:var(--ink)}
:root[data-theme="dark"] .mpgrid button.cur{box-shadow:inset 0 0 0 1.5px var(--accent)}
:root[data-theme="dark"] .btn.pri{background:#5965F2;border-color:#5965F2;color:#fff}
:root[data-theme="dark"] .dtag{background:#5965F2}
:root[data-theme="dark"] .sheet tr.today td{box-shadow:inset 0 2px 0 #5965F2,inset 0 -2px 0 #5965F2}
:root[data-theme="dark"] .auth-brand{background:#232633}
:root[data-theme="dark"] .gbtn:hover,:root[data-theme="dark"] .aform input:focus{border-color:var(--accent);outline-color:var(--accent)}
/* ---- administrador ---- */
.adm{display:flex;flex-direction:column;gap:18px}
.warnnote{background:var(--warn-soft)}
.akpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.akpis div{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:3px}
.akpis span{font-size:12px;font-weight:700;color:var(--muted)}
.akpis b{font-size:24px;font-variant-numeric:tabular-nums}
.akpis small{font-size:11.5px;color:var(--muted)}
.wtxt{color:var(--warn)}
.admform{display:grid;grid-template-columns:1.2fr 1.4fr 1fr 1fr auto;gap:12px;align-items:end}
.admform label,.ownform label,.plform label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:700;color:var(--ink-2)}
.admform input,.admform select,.ownform input{width:100%;padding:8px 10px}
.ownform small{font-weight:400;color:var(--muted);font-size:11.5px}
.okline{margin:10px 0 0;color:var(--good);font-weight:700;font-size:13px}
.admq{min-width:220px}
.utbl td{vertical-align:middle;white-space:nowrap}
.utbl small{color:var(--muted);font-size:11.5px}
.exb{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);color:var(--muted);border-radius:4px;padding:1px 5px;vertical-align:1px}
.ust{display:inline-block;font-size:11.5px;font-weight:700;border-radius:99px;padding:2px 9px}
.ust.ok{background:var(--good-soft);color:var(--good)}
.ust.warn{background:var(--warn-soft);color:var(--warn)}
.ust.exp,.ust.bloq{background:var(--bad-soft);color:var(--bad)}
.ust.conv{background:var(--accent-soft);color:var(--ink-2)}
.acts{display:flex;gap:6px;align-items:center}
.acts .cfm{font-size:12px;font-weight:700;color:var(--bad)}
.btn.danger{background:var(--bad);border-color:var(--bad);color:#fff}
.btn.ghost{border-color:transparent;color:var(--muted)}
.btn.ghost:hover{color:var(--bad)}
.agrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.plform{display:flex;flex-direction:column;gap:10px}
.plrow{display:grid;grid-template-columns:100px 1fr 90px;gap:10px;align-items:end}
.plrow b{padding-bottom:8px}
.plrow input{width:100%;padding:7px 9px}
.ownform{display:flex;flex-direction:column;gap:10px}
.owndl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.owndl dt{font-size:12px;font-weight:700;color:var(--muted)}
.owndl dd{margin:2px 0 0;font-weight:700;overflow-wrap:anywhere}
.seclist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.seclist li{display:flex;flex-direction:column;gap:3px;padding:10px 12px 10px 34px;border-radius:8px;background:var(--surface-2);position:relative}
.seclist li::before{content:"";position:absolute;left:12px;top:13px;width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 2px var(--muted)}
.seclist li.on::before{background:var(--good);box-shadow:none}
.seclist li b{font-size:13.5px}
.seclist li span{font-size:12.5px;color:var(--muted)}
.navadm{color:#FFE598!important}
.nav button[aria-current="true"].navadm{color:var(--navy)!important}
@media (max-width:1100px){ .admform{grid-template-columns:1fr 1fr} .agrid{grid-template-columns:1fr} .akpis{grid-template-columns:1fr 1fr} }
@media (max-width:760px){ .admform,.seclist{grid-template-columns:1fr} .admq{min-width:0;width:100%} }
.sideadm:empty{display:none}
.admbtn{display:flex;align-items:center;gap:9px;width:100%;border:1px solid rgba(255,229,152,.35);background:rgba(255,229,152,.08);color:#FFE598;font-weight:700;font-size:13.5px;padding:9px 12px;border-radius:9px;text-align:left}
.admbtn:hover{background:rgba(255,229,152,.16)}
.admbtn[aria-current="true"]{background:#FFE598;color:var(--navy);border-color:#FFE598}
.endf{border:1px solid var(--line-soft);border-radius:8px;padding:10px 12px 12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.endf legend{font-size:12.5px;font-weight:700;color:var(--ink-2);padding:0 4px}
.endf label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:var(--ink-2)}
.endf input{width:100%;padding:7px 9px}
.endf .w2{grid-column:span 2}
.privnote{margin:0;font-size:12px;color:var(--muted);background:var(--surface-2);border-radius:7px;padding:8px 10px}
@media (max-width:760px){ .endf{grid-template-columns:1fr} .endf .w2{grid-column:auto} }
.signup-cta{margin:14px 0 0;text-align:center;font-size:13.5px;color:var(--ink-2)}
.sform .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sform .two>div,.sgend .g3>div{display:flex;flex-direction:column;gap:6px}
.sform .hint{color:var(--muted);font-size:11.5px;margin-top:-2px}
.sgend{border:1px solid var(--line);border-radius:8px;padding:8px 12px 12px;margin:8px 0 0;display:flex;flex-direction:column;gap:8px}
.sgend legend{font-size:13px;font-weight:700;color:var(--ink-2);padding:0 4px}
.sgend .g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.sgend .s2{grid-column:span 2}
.sgend label{margin-top:0!important}
.terms{align-items:flex-start!important;font-weight:500!important;font-size:12.5px!important;line-height:1.4;margin-top:10px!important}
.terms input{margin-top:3px}
.auth-card{max-width:460px}
.admbadge{margin-left:auto;background:#E5484D;color:#fff;border-radius:99px;font-size:11px;font-weight:800;min-width:20px;height:20px;padding:0 6px;display:grid;place-items:center}
.pendbox{border-color:#E5484D55;box-shadow:inset 4px 0 0 #E5484D}
.pdot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#E5484D;margin-right:8px;vertical-align:1px;animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 #E5484D88}70%{box-shadow:0 0 0 8px #E5484D00}100%{box-shadow:0 0 0 0 #E5484D00}}
.preqs{display:flex;flex-direction:column;gap:8px}
.preq{display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap;background:var(--surface-2);border-radius:8px;padding:10px 12px}
.pinfo{display:flex;flex-direction:column;gap:2px;min-width:0}
.pinfo span{font-size:12.5px;color:var(--ink-2)}
.pinfo small{font-size:11.5px;color:var(--muted)}
.pact2{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.pact2 label{display:flex;flex-direction:column;gap:3px;font-size:11.5px;font-weight:700;color:var(--ink-2)}
.pact2 select{padding:5px 8px}
.ust.pend{background:#FDE2E3;color:#B4232A}
.mail{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.mhead{display:flex;flex-direction:column;gap:2px;background:var(--surface-2);padding:8px 12px;font-size:12.5px;color:var(--ink-2)}
.mbody{padding:12px 14px;font-size:13.5px;line-height:1.5}
.mbody p{margin:0 0 8px}
@media (prefers-reduced-motion:reduce){.pdot{animation:none}}
@media (max-width:560px){ .sform .two,.sgend .g3{grid-template-columns:1fr} .sgend .s2{grid-column:auto} }
.nbw{position:relative;margin-top:auto}
.nbell{display:flex;align-items:center;gap:9px;width:100%;border:0;background:none;color:var(--side-muted);font-weight:700;font-size:13.5px;padding:8px 10px;border-radius:8px;text-align:left}
.nbell:hover,.nbell[aria-expanded="true"]{background:rgba(255,255,255,.08);color:#fff}
.nbadge{margin-left:auto;background:#E5484D;color:#fff;border-radius:99px;font-size:11px;font-weight:800;min-width:20px;height:20px;padding:0 6px;display:grid;place-items:center}
.themesw{margin-top:0!important}
.npanel{position:fixed;left:262px;bottom:calc(110px + env(safe-area-inset-bottom,0px));width:360px;max-height:70vh;display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(20,24,40,.22);z-index:40;overflow:hidden}
.nph{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line-soft)}
.nph b{font-size:15px}
.nplist{overflow:auto;display:flex;flex-direction:column}
.nitem{display:grid;grid-template-columns:10px 1fr;gap:10px;padding:10px 14px;border:0;border-bottom:1px solid var(--line-soft);background:none;text-align:left;color:var(--ink);width:100%}
button.nitem:hover{background:var(--surface-2)}
.nitem i{width:9px;height:9px;border-radius:50%;margin-top:5px;background:var(--muted)}
.nitem.venda i{background:#2E9A62} .nitem.teste i{background:#5965F2} .nitem.acesso i{background:#E5484D}
.nitem.lida{opacity:.62}
.nitem b{display:block;font-size:13px}
.nitem span{display:block;font-size:12.5px;color:var(--ink-2)}
.nitem small{font-size:11px;color:var(--muted)}
.nempty{margin:0;padding:18px 14px;color:var(--muted);font-size:13px}
.npf{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-top:1px solid var(--line-soft)}
#toasts{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px;z-index:60}
.toast{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:start;width:320px;max-width:calc(100vw - 36px);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:4px solid #2E9A62;border-radius:10px;box-shadow:0 12px 30px rgba(20,24,40,.2);padding:11px 12px;animation:tin .25s ease-out}
.toast.teste{border-left-color:#5965F2}
.toast i{width:9px;height:9px;border-radius:50%;background:#2E9A62;margin-top:5px}
.toast.teste i{background:#5965F2}
.toast b{display:block;font-size:13.5px}
.toast span{display:block;font-size:12.5px;color:var(--ink-2)}
.toast button{border:0;background:none;color:var(--muted);font-size:17px;line-height:1;padding:0 2px}
.toast.out{opacity:0;transform:translateY(6px);transition:all .4s}
@keyframes tin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.live{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.live i{width:8px;height:8px;border-radius:50%;background:#2E9A62;box-shadow:0 0 0 0 #2E9A6288;animation:pulse 1.6s infinite}
.live.off{color:var(--muted);font-weight:600}
.live.off i{background:var(--muted);animation:none}
.nset{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tgl{display:flex;gap:12px;align-items:flex-start;background:var(--surface-2);border-radius:9px;padding:11px 12px;cursor:pointer}
.tgl input{position:absolute;opacity:0;width:1px;height:1px}
.tgl .sw{flex:none;width:36px;height:20px;border-radius:99px;background:var(--line);position:relative;transition:background .15s;margin-top:1px}
.tgl .sw::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s}
.tgl input:checked+.sw{background:#2E9A62}
.tgl input:checked+.sw::after{transform:translateX(16px)}
.tgl input:focus-visible+.sw{outline:2px solid var(--accent);outline-offset:2px}
.tgl .tl b{display:block;font-size:13.5px}
.tgl .tl small{display:block;font-size:12px;color:var(--muted)}
.tgbox{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line-soft)}
.tgbox h3{margin:0 0 6px;font-size:14px}
.tgbox ol{margin:0 0 10px;padding-left:18px;font-size:13px;color:var(--ink-2);display:flex;flex-direction:column;gap:4px}
.tgmsg{background:#E7F0F9;border-radius:12px 12px 12px 4px;padding:9px 12px;max-width:340px;color:#1B2733}
.tgmsg b{font-size:12.5px;color:#2A7BC0}
.tgmsg pre{margin:4px 0 0;font-family:var(--sans);font-size:13px;white-space:pre-wrap;line-height:1.45}
@media (max-width:760px){ .npanel{position:fixed;left:16px;right:16px;bottom:16px;width:auto} .nset,.tgbox{grid-template-columns:1fr} .nbw{margin-top:0} }
@media (prefers-reduced-motion:reduce){ .toast{animation:none} .live i{animation:none} }
/* ---- segurança: 2 etapas, exclusão de conta ---- */
.muted{color:var(--muted)}
.mfaok{color:var(--good);font-weight:700}
.mfabox{display:flex;flex-direction:column;gap:12px}
.mfasteps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:13.5px}
.mfarow{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.mfa-qr{background:#FFFFFF;padding:8px;border-radius:10px;border:1px solid var(--line);width:176px;height:176px}
.mfaform{flex:1;min-width:220px;max-width:340px}
.mfaform code{font-family:var(--mono);font-size:12px;word-break:break-all;background:var(--surface-2);padding:2px 5px;border-radius:5px}
.mfaform input{letter-spacing:.3em;font-size:18px}
#mfa-code{letter-spacing:.3em;font-size:18px}
.delform{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.delform input{padding:8px 10px;border-radius:8px;min-width:150px}
.toast.erro i{background:var(--bad)}
/* ---- Gerenciador de Campanhas ---- */
:root{--g-real:#7C3AED;--g-fg:rgba(28,133,81,.16);--g-fb:rgba(184,57,47,.16);--g-acum:#2F5FD0;--g-alvo:#1C8551;--g-s1:#2F5FD0;--g-s2:#B45309;--g-s3:#0F766E;--g-zw:rgba(214,158,46,.20);--g-zb:rgba(184,57,47,.12);--g-dv:rgba(28,133,81,.12)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--g-real:#B794F6;--g-fg:rgba(76,196,134,.18);--g-fb:rgba(238,122,111,.20);--g-acum:#7EA6FF;--g-alvo:#4CC486;--g-s1:#7EA6FF;--g-s2:#F2A541;--g-s3:#3CCFB8;--g-zw:rgba(227,162,74,.18);--g-zb:rgba(238,122,111,.14);--g-dv:rgba(76,196,134,.14)}}
:root[data-theme="dark"]{--g-real:#B794F6;--g-fg:rgba(76,196,134,.18);--g-fb:rgba(238,122,111,.20);--g-acum:#7EA6FF;--g-alvo:#4CC486;--g-s1:#7EA6FF;--g-s2:#F2A541;--g-s3:#3CCFB8;--g-zw:rgba(227,162,74,.18);--g-zb:rgba(238,122,111,.14);--g-dv:rgba(76,196,134,.14)}
.gestor .gsel{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.gselrow{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:flex-end}
.filters button small{font-weight:500;opacity:.65;margin-left:2px}
.gcamps .panel > .h .filters{flex-shrink:0}
.gestor .gmeta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--ink-2);align-items:center}
.gkpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:0 0 14px}
.gkpis>div{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.gkpis span{font-size:12px;color:var(--muted)} .gkpis b{font-size:20px} .gkpis small{font-size:12px;color:var(--muted)}
.gkpis .gstate i{font-style:normal;display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;font-size:10px;font-weight:700;color:#fff;margin-right:2px}
.gstate.good{border-color:var(--good)} .gstate.good i{background:var(--good)}
.gstate.warn{border-color:var(--warn)} .gstate.warn i{background:var(--warn)}
.gstate.bad{border-color:var(--bad)} .gstate.bad i{background:var(--bad)}
.gchart{width:100%;height:auto;display:block}
.gchart.cpa{max-height:290px}
.gchart .fill-good{fill:var(--g-fg)} .gchart .fill-bad{fill:var(--g-fb)}
.gchart .custo-area{fill:var(--g-acum);opacity:.10} .gchart .custo-line{fill:none;stroke:var(--g-acum);stroke-width:1.75;stroke-linejoin:round}
.gchart .real-line{fill:none;stroke:var(--g-real);stroke-width:2.25;stroke-linejoin:round}
.gchart .real-lbl{font-weight:700} .gchart .mud-lbl{font-size:10.5px;font-weight:700;fill:var(--ink)}
.glegend .k-real{background:var(--g-real);height:3px} .glegend .k-custo{background:var(--g-acum);height:3px} .glegend .k-fg{background:var(--g-fg);border:1px solid var(--good)} .glegend .k-fb{background:var(--g-fb);border:1px solid var(--bad)}
.gchart .ax{fill:var(--muted);font-size:10px;font-family:var(--mono)}
.gchart .grid{stroke:var(--line-soft);stroke-width:1}
.gchart .hit{fill:transparent;cursor:crosshair}
.gchart .hit:hover{fill:var(--ink);fill-opacity:.05}
.gchart .zona-warn{fill:var(--g-zw)} .gchart .zona-bad{fill:var(--g-zb)} .gchart .dia-venda{fill:var(--g-dv)}
.gchart .acum-area{fill:var(--g-acum);opacity:.12} .gchart .acum-line{fill:none;stroke:var(--g-acum);stroke-width:2;stroke-linejoin:round}
.gchart .alvo-line{fill:none;stroke:var(--g-alvo);stroke-width:2.5}
.gchart .venda-dot{fill:var(--g-alvo);stroke:var(--surface);stroke-width:2}
.gchart .lbl{font-size:11px;fill:var(--ink-2)} .gchart .alvo-lbl{font-weight:700} .gchart .venda-lbl{font-size:10.5px;font-weight:700;fill:var(--ink)}
.gchart .vis-line{fill:none;stroke-width:2;stroke-linejoin:round} .gchart .vis-dot{stroke:var(--surface);stroke-width:1}
.gchart .s1{stroke:var(--g-s1)} .gchart circle.s1{fill:var(--g-s1)}
.gchart .s2{stroke:var(--g-s2);stroke-dasharray:6 3} .gchart circle.s2{fill:var(--g-s2);stroke-dasharray:none}
.gchart .s3{stroke:var(--g-s3);stroke-dasharray:2 3} .gchart circle.s3{fill:var(--g-s3);stroke-dasharray:none}
.glegend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--ink-2);margin:0 0 6px}
.glegend span{display:inline-flex;align-items:center;gap:6px}
.glegend i{display:inline-block;width:18px;height:10px;border-radius:3px}
.glegend .k-acum{background:var(--g-acum)} .glegend .k-alvo{background:var(--g-alvo);height:3px}
.glegend .k-venda{background:var(--g-alvo);width:10px;height:10px;border-radius:50%}
.glegend .k-zw{background:var(--g-zw);border:1px solid var(--warn)} .glegend .k-zb{background:var(--g-zb);border:1px solid var(--bad)}
.glegend .k-s1{background:var(--g-s1);height:3px} .glegend .k-s2{height:0;border-top:3px dashed var(--g-s2);border-radius:0} .glegend .k-s3{height:0;border-top:3px dotted var(--g-s3);border-radius:0}
.glegend .k-dv{background:var(--g-dv);border:1px solid var(--good)}
.ggrid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px}
.gpad th,.gpad td{padding:7px 10px;font-size:13px}
.ganal .gpontos{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:6px}
.ganal .gpontos li{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--ink-2)}
.ganal .gpontos i{font-style:normal;flex:none;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:700;color:#fff;background:var(--muted);margin-top:1px}
.ganal .gpontos li.good i{background:var(--good)} .ganal .gpontos li.warn i{background:var(--warn)} .ganal .gpontos li.bad i{background:var(--bad)}
.ganal .grec{border-radius:8px;padding:10px 12px;background:var(--surface-2);display:flex;flex-direction:column;gap:2px;border-left:4px solid var(--muted)}
.ganal.good .grec{border-left-color:var(--good)} .ganal.warn .grec{border-left-color:var(--warn)} .ganal.bad .grec{border-left-color:var(--bad)}
.ganal .grec span{font-size:12px;color:var(--muted)} .ganal .grec b{font-size:14.5px}
.notaform{display:grid;grid-template-columns:160px 110px 1fr auto;gap:10px;align-items:end;margin:0 0 12px}
.notaform label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2);font-weight:600}
.notaform input{padding:8px 10px;border-radius:8px}
.ncards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.ncard{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface);display:flex;flex-direction:column;gap:4px}
.ncard header{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px}
.ncard .nh{color:var(--ink-2)} .ncard p{margin:2px 0 0;font-size:13px;color:var(--ink-2);white-space:pre-wrap}
.ncard .norig{margin-left:auto;font-size:11px;border-radius:99px;padding:1px 8px;background:var(--surface-2);color:var(--muted)}
.ncard .norig.app{background:var(--accent-soft);color:var(--ink)}
.ncard .ndel{align-self:flex-start;font-size:12px}
.gacoes .gbtns{display:flex;flex-wrap:wrap;gap:8px}
.scrsteps{margin:4px 0 10px;padding-left:20px;font-size:13.5px;color:var(--ink-2);display:flex;flex-direction:column;gap:4px}
.scrcode textarea{width:100%;height:220px;box-sizing:border-box;font:11.5px/1.45 var(--mono);padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);resize:vertical;white-space:pre;overflow:auto}
.acpend{color:var(--warn);font-weight:700}
.espabas{flex-wrap:wrap;margin:0 0 10px}
.espabas button{font-size:12.5px}
.espsit{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.espsit div{border:1px solid var(--line);border-radius:9px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;background:var(--surface)}
.espsit span{font-size:11.5px;color:var(--muted)} .espsit b{font-size:13.5px}
.esptbl th,.esptbl td{padding:6px 8px;font-size:12.5px;vertical-align:top}
.qs{display:inline-block;font-size:11px;font-weight:700;border-radius:6px;padding:1px 7px;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}
.qs.good{background:var(--g-fg);color:var(--good)} .qs.warn{background:var(--warn-soft);color:var(--warn)} .qs.bad{background:var(--g-fb);color:var(--bad)}
.espads{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:10px}
.espad{border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:5px;background:var(--surface)}
.espad header{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px}
.espt{margin:0;font-size:12.5px;color:var(--ink-2)} .espt span{color:var(--muted);font-weight:600}
.espneg{display:flex;flex-wrap:wrap;gap:5px} .espneg span{font-size:12px;border:1px solid var(--line);border-radius:99px;padding:2px 9px;background:var(--surface-2)}
.esphoras{display:grid;grid-template-columns:repeat(24,1fr);gap:3px;align-items:end;height:110px;padding-top:6px}
.esphoras .hb{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:2px;cursor:default}
.esphoras .hb i{display:block;width:100%;min-height:2px;background:var(--g-acum);border-radius:3px 3px 0 0}
.esphoras .hb.venda i{background:var(--good)} .esphoras .hb span{font-size:9.5px;color:var(--muted)}
.espext{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:5px;font-size:13px}
.ncard .norig.google{background:var(--g-fg);color:var(--good)}
/* ---- Gerenciador: cards, quadros, gráfico CPA × vendas, campanhas, análise IA ---- */
.gestor{--c-alvo:#2F6FEB;--c-real:#E5484D;--c-vend:#12A594}
:root[data-theme="dark"] .gestor{--c-alvo:#5B9BFF;--c-real:#FF6B6F;--c-vend:#3DD6B5}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .gestor{--c-alvo:#5B9BFF;--c-real:#FF6B6F;--c-vend:#3DD6B5} }
.gcards{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:0 0 12px}
.gc{position:relative;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--surface);display:flex;flex-direction:column;gap:3px;min-width:0;overflow:hidden}
.gc .gch{display:flex;justify-content:space-between;align-items:center;gap:6px}
.gc span{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.gc b{font-size:22px;letter-spacing:-.01em;white-space:nowrap} .gc small{font-size:11.5px;color:var(--muted)}
.gc em{font-style:normal;font-size:11px;font-weight:700;border-radius:99px;padding:2px 8px;background:var(--g-fg)} .gc em.neg{background:var(--g-fb)}
.gc-lucro{border-width:2px} .gc-lucro.pos{border-color:var(--good)} .gc-lucro.neg{border-color:var(--bad)}
.spark{width:100%;height:30px;margin-top:4px} .spark .sp0{stroke:var(--line);stroke-width:1;fill:none} .spark .spl{fill:none;stroke-width:2} .spark .spl.pos{stroke:var(--good)} .spark .spl.neg{stroke:var(--bad)}
.gc-roi{flex-direction:row;align-items:center;gap:10px} .gc-roi>div{display:flex;flex-direction:column;gap:3px}
.anel{width:56px;height:56px;flex:none} .anel .a0{fill:none;stroke:var(--surface-2);stroke-width:6} .anel .a1{fill:none;stroke:var(--good);stroke-width:6;stroke-linecap:round} .anel .a1.neg{stroke:var(--bad)} .anel text{font-size:10px;font-weight:700;fill:var(--muted)}
.gbar{height:5px;border-radius:3px;background:var(--surface-2);margin-top:auto;overflow:hidden} .gbar i{display:block;height:100%;border-radius:3px}
.gbar .v{background:var(--c-alvo)} .gbar .f{background:var(--good)} .gbar .i{background:var(--warn)} .gbar .i.neg{background:var(--bad)}
.gc.gstate.good{border-color:var(--good)} .gc.gstate.warn{border-color:var(--warn)} .gc.gstate.bad{border-color:var(--bad)}
.gquadros{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 12px}
.gq{margin:0} .gq h3{margin:0 0 8px;font-size:14px}
.gqg{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.gqg>div{background:var(--surface);padding:9px 12px;display:flex;flex-direction:column;gap:2px}
.gqg span{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em} .gqg b{font-size:17px}
.gchartp .h{align-items:flex-start}
.gchartwrap{position:relative;padding-right:34px}
.gchart.cpav{max-height:360px}
.gchart .ln-alvo{fill:none;stroke:var(--c-alvo);stroke-width:2.5;stroke-linejoin:round}
.gchart .ln-real{fill:none;stroke:var(--c-real);stroke-width:2.5;stroke-linejoin:round}
.gchart .pt-real{fill:var(--c-real);stroke:var(--surface);stroke-width:1.5}
.gchart .ln-vendas{fill:none;stroke:var(--c-vend);stroke-width:2;stroke-dasharray:3 5;stroke-linecap:round}
.gchart .pt-vendas{fill:var(--c-vend);opacity:.55} .gchart .pt-vendas.on{opacity:1;stroke:var(--surface);stroke-width:2}
.gchart .axv{fill:var(--c-vend);font-weight:700}
.gchart .hov line{stroke:var(--ink-2);stroke-width:1;opacity:0} .gchart .hov:hover line{opacity:.55}
.gchart .hov .hit{fill:transparent;cursor:crosshair}
.glegend .k-cpa-a{background:var(--c-alvo);height:3px} .glegend .k-cpa-r{background:var(--c-real);height:3px} .glegend .k-cpa-v{height:0;border-top:3px dotted var(--c-vend);border-radius:0}
.iarail{position:absolute;right:0;top:0;bottom:0;width:30px;border:1px solid var(--line);border-radius:10px;background:var(--accent-soft);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;color:var(--ink)}
.iarail span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;font-weight:700;white-space:nowrap}
.iarail:hover{background:var(--navy);color:#fff}
.gbarra{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:10px;border-top:1px solid var(--line);padding-top:10px}
.giapanel .gbarra{margin-top:0;border-top:0;padding-top:0}
.gbtxt{display:flex;flex-direction:column;gap:3px;min-width:240px;flex:1} .gbtxt b{font-size:14px} .gbtxt span{font-size:13px;color:var(--ink-2)}
.sit{display:inline-block;align-self:flex-start;font-size:11px;font-weight:700;border-radius:99px;padding:2px 9px;background:var(--surface-2)}
.sit.good{background:var(--g-fg);color:var(--good)} .sit.warn{background:var(--warn-soft);color:var(--warn)} .sit.bad{background:var(--g-fb);color:var(--bad)}
.gcamps{margin:0 0 12px}
.gchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px;font-size:12.5px;color:var(--muted)}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:99px;padding:4px 11px;background:var(--surface);font:inherit;font-size:12.5px;color:var(--ink);cursor:pointer}
.chip.on{border-color:var(--navy);background:var(--accent-soft);font-weight:700}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--muted)} .dot.ativa{background:var(--good)} .dot.pausada{background:var(--warn)}
.grank{display:flex;flex-direction:column;gap:4px}
.grk{display:grid;grid-template-columns:minmax(150px,1.3fr) 2fr minmax(110px,auto) minmax(130px,auto);gap:12px;align-items:center;border:1px solid transparent;border-radius:9px;padding:7px 10px;background:none;font:inherit;color:var(--ink);cursor:pointer;text-align:left}
.grk:hover{background:var(--surface-2)} .grk.on{border-color:var(--navy);background:var(--accent-soft)}
.grk .nm{display:flex;align-items:center;gap:7px;font-weight:600;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.grk .tr{height:9px;border-radius:5px;background:var(--surface-2);overflow:hidden} .grk .tr i{display:block;height:100%;border-radius:5px} .grk .tr i.pos{background:var(--good)} .grk .tr i.neg{background:var(--bad)}
.grk b{text-align:right;font-size:14px} .grk small{color:var(--muted);font-size:11.5px;text-align:right}
.iadrawer-bg{position:fixed;inset:0;background:rgba(10,12,20,.42);z-index:80}
.iadrawer{position:fixed;top:0;right:0;bottom:0;width:min(600px,100vw);z-index:81;background:var(--surface);border-left:1px solid var(--line);box-shadow:-12px 0 32px rgba(10,12,20,.25);overflow:auto;padding:18px 20px 30px;display:flex;flex-direction:column;gap:10px}
.iadrawer header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start} .iadrawer h2{margin:2px 0 4px;font-size:19px}
.iadrawer h3{margin:12px 0 4px;font-size:14px}
.iaacts{display:flex;gap:8px;flex-wrap:wrap}
.iafase{margin:0;font-size:12.5px;color:var(--muted)} .iaresumo{margin:0;font-size:14.5px;line-height:1.55}
.iarec{border-left:4px solid var(--navy);background:var(--surface-2);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.iarec span{font-size:11.5px;color:var(--muted);font-weight:700;text-transform:uppercase} .iarec b{font-size:15px} .iarec p{margin:0;font-size:13px;color:var(--ink-2)} .iarec small{color:var(--muted)}
.iabox{border:1px dashed var(--line);border-radius:8px;padding:8px 12px} .iabox span{font-size:12px;font-weight:700} .iabox p{margin:4px 0 0;font-size:13px}
.iadiag{white-space:pre-wrap;font-size:13.5px;line-height:1.6;color:var(--ink-2)}
.iadrawer ol,.iaaprend{margin:0;padding-left:20px;font-size:13px;color:var(--ink-2);display:flex;flex-direction:column;gap:4px}
.iahist{display:flex;flex-wrap:wrap;gap:6px}
@media (max-width:1200px){ .gcards{grid-template-columns:repeat(3,1fr)} }
@media (max-width:900px){ .gquadros{grid-template-columns:1fr} .grk{grid-template-columns:1fr auto} .grk .tr,.grk small{display:none} }
@media (max-width:640px){ .gcards{grid-template-columns:1fr 1fr} .gqg{grid-template-columns:1fr 1fr} }
/* ---- Financeiro ---- */
.finabas{margin:0 0 14px}
.finmes{display:flex;gap:6px;align-items:center} .finmes input{padding:6px 8px;border-radius:8px}
.fincaixa{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:16px;align-items:center}
.fincaixa>div:first-child{display:flex;flex-direction:column;gap:2px}
.fincaixa>div:first-child span{font-size:13px;color:var(--muted);font-weight:600}
.fincaixa>div:first-child b{font-size:34px;letter-spacing:-.01em}
.fincaixa small{color:var(--muted);font-size:12px}
.fincomp{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;align-items:stretch}
.fincomp>div{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:2px;background:var(--surface)}
.fincomp>div.acts{border:0;background:none;justify-content:center;padding:0}
.fincomp span{font-size:12px;color:var(--ink-2)} .fincomp b{font-size:16px}
.fincomp i{display:inline-block;width:10px;height:10px;border-radius:3px}
.k-giro{background:var(--g-acum)} .k-pro{background:var(--good)} .k-imp{background:var(--warn)}
.finkpis{margin-bottom:14px}
.finconta p{font-size:14.5px;line-height:1.6;color:var(--ink-2);margin:0 0 10px}
.finflow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.finflow i{font-style:normal;font-weight:700;color:var(--muted);font-size:18px}
.finflow .ff{border-radius:10px;padding:8px 12px;display:flex;flex-direction:column;min-width:120px;background:var(--surface-2)}
.finflow .ff span{font-size:11.5px;color:var(--muted)} .finflow .ff b{font-size:15px}
.finflow .ff.e{background:var(--g-fg)} .finflow .ff.e b{color:var(--good)} .finflow .ff.s b{color:var(--bad)}
.fincats{display:flex;flex-direction:column;gap:8px}
.fincats>div{display:grid;grid-template-columns:minmax(120px,1.2fr) 2fr auto;gap:10px;align-items:center;font-size:13px}
.fincats .track{height:10px;border-radius:5px;background:var(--surface-2);overflow:hidden} .fincats .track i{display:block;height:100%;background:var(--bad);border-radius:5px;opacity:.75}
.gchart .finbar-e{fill:var(--good);opacity:.8} .gchart .finbar-s{fill:var(--bad);opacity:.7}
.glegend .k-fin-e{background:var(--good)} .glegend .k-fin-s{background:var(--bad)}
.finform{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;align-items:end}
.finform label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2);font-weight:600}
.finform label.w{grid-column:span 2} .finform label.chk{flex-direction:row;align-items:center;gap:8px;font-weight:500}
.finform input,.finform select{padding:8px 10px;border-radius:8px}
.finform .nbtn{display:flex;gap:8px}
.finnota{width:100%;min-height:110px;box-sizing:border-box;padding:10px 12px;border-radius:10px;border:1px solid var(--line);font:inherit;font-size:13.5px;background:var(--surface);color:var(--ink);resize:vertical}
.dre tr.sub td{font-weight:700;background:var(--surface-2)}
.printonly{display:none}
@media (max-width:760px){ .fincaixa{grid-template-columns:1fr} .finform label.w{grid-column:auto} }
@media print{
  body.imprimindo *{visibility:hidden}
  body.imprimindo .fin-print, body.imprimindo .fin-print *{visibility:visible}
  body.imprimindo .fin-print{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none}
  body.imprimindo .noprint{display:none!important} body.imprimindo .printonly{display:block}
  body.imprimindo .tbl-wrap{overflow:visible!important;max-height:none!important}
}
.gacoes .gbtns .btn[aria-pressed="true"]{border-color:var(--navy);background:var(--accent-soft)}
.acform{margin-top:12px;border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--surface-2);display:flex;flex-direction:column;gap:10px}
.acform .acrow{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.acform label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2);font-weight:600}
.acform input{padding:8px 10px;border-radius:8px;width:160px}
.acprev{font-size:13.5px} .acprev b{font-size:14.5px}
.acwarn{font-size:12.5px;color:var(--warn);background:var(--warn-soft);border-radius:7px;padding:6px 10px;margin:0}
.achist{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--ink-2)}
.achist li{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap} .achist .ok{color:var(--good);font-weight:700} .achist .no{color:var(--bad);font-weight:700}
.termtbl td,.termtbl th{padding:6px 9px;font-size:12.5px}
.termtbl tr.sug td{background:var(--g-fb)}
.termtbl .tsug{font-size:11px;font-weight:700;color:var(--bad);white-space:nowrap}
.termtbl .tneg{font-size:11px;color:var(--muted);white-space:nowrap}
.gchat .msgs{display:flex;flex-direction:column;gap:10px;max-height:460px;overflow:auto;padding:4px 2px 8px}
.gchat .msg{max-width:88%;border-radius:12px;padding:9px 12px;font-size:13.5px;line-height:1.5;white-space:pre-wrap}
.gchat .msg.user{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:4px}
.gchat .msg.assistant{align-self:flex-start;background:var(--surface-2);color:var(--ink);border-bottom-left-radius:4px}
.gchat .msg.erro{align-self:flex-start;background:var(--warn-soft);color:var(--ink)}
.gchat .prop{margin-top:8px;border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:var(--surface);display:flex;flex-direction:column;gap:6px;white-space:normal}
.gchat .prop .pb{display:flex;gap:6px;flex-wrap:wrap}
.gchat .chatin{display:flex;gap:8px;align-items:center;margin-top:8px}
.gchat .chatin input{flex:1;padding:10px 12px;border-radius:10px;min-width:0}
.gchat .mic{width:42px;height:42px;border-radius:50%;padding:0;display:grid;place-items:center;font-size:18px}
.gchat .mic.on{background:var(--bad);color:#fff;border-color:var(--bad);animation:pulsar 1.2s infinite}
@keyframes pulsar{50%{box-shadow:0 0 0 6px var(--g-fb)}}
.gchat .chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0}
.gchat .chips button{font-size:12px;border-radius:99px;padding:4px 10px}
.gchat .chatfoot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-top:6px}
@media (max-width:1100px){ .gkpis{grid-template-columns:repeat(3,1fr)} .ggrid{grid-template-columns:1fr} }
@media (max-width:640px){ .gkpis{grid-template-columns:1fr 1fr} .notaform{grid-template-columns:1fr 1fr} .notaform .w,.notaform .nbtn{grid-column:1/-1} }
/* ---- página da campanha: mês/ano, dias completos, trocar produto ---- */
.cmwrap{display:inline-block}
.cmbtn{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:3px 9px;font:inherit;font-weight:700;color:var(--ink);cursor:pointer}
.cmbtn:hover{border-color:var(--navy)}
h2 .cmbtn{font-size:13px;padding:2px 8px;gap:5px}
.cmpick{text-align:left;font-weight:400}
.monthsel .cmpick{left:auto;right:0}
.sheet td.dcol{white-space:nowrap} .sheet td.dtcol{white-space:nowrap}
/* ---- planilha editável: colunas ajustáveis, divisórias sutis, títulos centralizados ---- */
.campview .ed-sheet{table-layout:fixed;border-collapse:separate;border-spacing:0}
.campview .ed-sheet th{position:relative;text-align:center;vertical-align:middle;white-space:normal;line-height:1.2;padding:6px 8px;cursor:default;overflow:hidden;border-right:1px solid #E6E8EE}
.campview .ed-sheet td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-right:1px solid #EEF0F4;max-width:none;min-width:0}
.campview .ed-sheet td.wrap{max-width:none;min-width:0;color:var(--ink-2);text-align:left}
.campview .ed-sheet th:last-child,.campview .ed-sheet td:last-child{border-right:0}
.ed-sheet .rz{position:absolute;top:0;right:-4px;width:9px;height:100%;cursor:col-resize;z-index:2;display:block}
.ed-sheet .rz::after{content:"";position:absolute;left:4px;top:18%;height:64%;width:1px;background:transparent;transition:background .15s}
.ed-sheet th:hover .rz::after{background:#C9CDD8} .ed-sheet .rz.on::after,.ed-sheet .rz:hover::after{background:var(--navy);width:2px}
body.resizing,body.resizing *{cursor:col-resize!important;user-select:none!important}
.ed-sheet td.ed-c{cursor:text;position:relative}
.ed-sheet td.ed-c:hover{outline:1px solid #B9C0FF;outline-offset:-1px;background-image:linear-gradient(rgba(89,101,242,.06),rgba(89,101,242,.06))}
.ed-sheet td.edt::after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 7px 7px 0;border-color:transparent #5965F2 transparent transparent}
.ed-sheet td.fplat::before{content:"";position:absolute;top:0;left:0;border-style:solid;border-width:7px 7px 0 0;border-color:#3E8E5A transparent transparent transparent}
.ed-sheet td.calc{color:var(--muted)}
.ed-sheet td.editing{overflow:visible;padding:0!important;z-index:5}
.ed-sheet .cellin{width:100%;height:100%;min-height:26px;box-sizing:border-box;border:2px solid #5965F2;border-radius:3px;padding:3px 6px;font:inherit;font-size:12px;text-align:right;background:var(--surface);color:var(--ink);outline:none}
.ed-sheet .cellin.big{position:absolute;top:0;right:0;width:360px;height:130px;text-align:left;resize:both;box-shadow:0 10px 26px rgba(20,24,40,.2);white-space:pre-wrap}
.ed-sheet .cellhint{position:absolute;top:132px;right:0;font-size:10.5px;background:var(--surface);color:var(--muted);padding:2px 6px;border-radius:4px;white-space:nowrap;box-shadow:0 4px 10px rgba(20,24,40,.12)}
.campview .sheet tr.criada td{background:#FFF1B8!important;font-weight:700;color:#3A3000;border-top:2px solid #E0B400;border-bottom:2px solid #E0B400}
.campview .sheet tr.criada td:first-child{box-shadow:inset 5px 0 0 #E0B400}
.campview .sheet tr.criada .dtag.cr{background:#E0B400;color:#2A2000;font-size:10px;padding:1px 6px}
.hsc{overflow-x:auto;overflow-y:hidden;height:14px;margin:0 0 4px}
.hsc>div{height:1px}
.sheetwrap,.hsc{scrollbar-width:auto;scrollbar-color:#B7BDCB #F1F2F6}
.sheetwrap::-webkit-scrollbar,.hsc::-webkit-scrollbar{height:12px}
.sheetwrap::-webkit-scrollbar-track,.hsc::-webkit-scrollbar-track{background:#F1F2F6;border-radius:6px}
.sheetwrap::-webkit-scrollbar-thumb,.hsc::-webkit-scrollbar-thumb{background:#B7BDCB;border-radius:6px;border:2px solid #F1F2F6}
.sheetwrap::-webkit-scrollbar-thumb:hover,.hsc::-webkit-scrollbar-thumb:hover{background:#8C93A8}
:root[data-theme="dark"] .campview .ed-sheet th{border-right-color:#2E3346} :root[data-theme="dark"] .campview .ed-sheet td{border-right-color:#262B3C}
:root[data-theme="dark"] .campview .sheet tr.criada td{background:#4A3F12!important;color:#FFF3C4}
/* ---- planilha no visual da planilha original (Excel) ---- */
.ed-sheet.xl{--xl-hd:#474E66;--xl-hd-ink:#fff;--xl-body:#E4E4E4;--xl-key:#D6D6D6;--xl-grid:#F4F4F4;--xl-ink:#1F2430;--xl-cost:#D5A3A3;--xl-fat:#CFCDCD;--xl-sel:#FFE699;--xl-sel-ink:#3A2E00;--xl-conv:#E2EFDA;--xl-tot:#A6A6A6;--xl-sale:#CDEBC4;--xl-sale-key:#BDE1B2;--xl-blank:#fff}
:root[data-theme="dark"] .ed-sheet.xl{--xl-hd:#2F3550;--xl-body:#262A36;--xl-key:#2E3342;--xl-grid:#1B1E28;--xl-ink:#E3E6EE;--xl-cost:#5A3535;--xl-fat:#383A42;--xl-sel:#6B5A1E;--xl-sel-ink:#FFF3C4;--xl-conv:#2E4429;--xl-tot:#4A4D57;--xl-sale:#24452C;--xl-sale-key:#2B5134;--xl-blank:#1F2230}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ed-sheet.xl{--xl-hd:#2F3550;--xl-body:#262A36;--xl-key:#2E3342;--xl-grid:#1B1E28;--xl-ink:#E3E6EE;--xl-cost:#5A3535;--xl-fat:#383A42;--xl-sel:#6B5A1E;--xl-sel-ink:#FFF3C4;--xl-conv:#2E4429;--xl-tot:#4A4D57;--xl-sale:#24452C;--xl-sale-key:#2B5134;--xl-blank:#1F2230}}
.campview .ed-sheet.xl{font-family:Calibri,"Segoe UI",Arial,sans-serif;font-size:11px;color:var(--xl-ink);background:var(--xl-blank)}
.campview .ed-sheet.xl th{background:var(--xl-hd);color:var(--xl-hd-ink);font-size:10.5px;font-weight:600;letter-spacing:0;text-transform:none;padding:4px 4px;height:36px;border-right:1px solid rgba(255,255,255,.12);border-bottom:0;white-space:normal;line-height:1.2}
.campview .ed-sheet.xl th.c-sp{background:var(--xl-hd)}
.campview .ed-sheet.xl td{background:var(--xl-body);color:var(--xl-ink);border-right:1px solid var(--xl-grid);border-bottom:1px solid var(--xl-grid);padding:1px 4px;height:16px;line-height:14px;text-align:center}
.campview .ed-sheet.xl td.dcol{text-align:left;background:var(--xl-key)}
.campview .ed-sheet.xl td.dtcol{background:var(--xl-key)}
.campview .ed-sheet.xl td.sp{background:var(--xl-body)}
.campview .ed-sheet.xl td.c-C{background:var(--xl-cost)}
.campview .ed-sheet.xl td.c-fat{background:var(--xl-fat)}
.campview .ed-sheet.xl td.wrap{text-align:left;color:var(--xl-ink)}
.campview .ed-sheet.xl td.calc{color:var(--xl-ink)}
.campview .ed-sheet.xl tr.sale td{background:var(--xl-sale)} .campview .ed-sheet.xl tr.sale td.dcol,.campview .ed-sheet.xl tr.sale td.dtcol{background:var(--xl-sale-key)}
.campview .ed-sheet.xl tr.fut td:nth-child(n+3){background:var(--xl-body);opacity:.75}
.campview .ed-sheet.xl tr.pre td{opacity:.7}
.campview .ed-sheet.xl tr.xlsel td{background:var(--xl-blank);border-bottom:1px solid var(--xl-grid);height:20px;padding:2px}
.campview .ed-sheet.xl tr.xlsel td:first-child,.campview .ed-sheet.xl tr.xlsel td:nth-child(2){background:var(--xl-sel)}
.ed-sheet.xl .xlsel select{width:100%;border:0;background:transparent;color:var(--xl-sel-ink);font:inherit;font-weight:700;font-size:11px;text-align:center;text-align-last:center;cursor:pointer;padding:1px 2px}
.campview .ed-sheet.xl tfoot td{background:var(--xl-blank);border:0;height:22px;padding:2px 4px;font-weight:400}
.campview .ed-sheet.xl tfoot td.xllab{background:var(--xl-hd);color:var(--xl-hd-ink);font-size:10.5px;white-space:nowrap}
.campview .ed-sheet.xl tfoot td.xlconv{background:var(--xl-conv);border:1px solid #A9C99A}
.campview .ed-sheet.xl tfoot td.xlcost{background:var(--xl-tot)}
.campview .ed-sheet.xl tfoot tr.xlbar td{background:var(--xl-hd);height:14px;padding:0}
.campview .ed-sheet.xl tr.today td{box-shadow:inset 0 1px 0 #5965F2,inset 0 -1px 0 #5965F2}
.campview .ed-sheet.xl .dtag{font-size:8.5px;padding:0 3px;line-height:12px}
.xlzoom{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;flex-shrink:0}
.xlzoom button{border:0;background:var(--surface);color:var(--ink);font-weight:700;font-size:12px;padding:3px 9px;min-width:28px}
.xlzoom button[data-zoom="0"]{min-width:52px;font-weight:600;border-inline:1px solid var(--line)}
.xlzoom button:hover{background:var(--surface-2)}
.celledit{position:fixed;z-index:9000;background:#fff;border:2px solid #5965F2;border-radius:6px;box-shadow:0 10px 28px rgba(20,24,40,.25);padding:4px;display:flex;flex-direction:column;gap:3px}
.celledit .cellin{width:100%;box-sizing:border-box;border:0;outline:none;background:#fff;color:#14161F;font:14px/1.35 "Segoe UI",Arial,sans-serif;padding:4px 6px;text-align:left;min-height:0;height:auto;position:static;box-shadow:none;resize:none}
.celledit.big .cellin{height:104px;resize:vertical;white-space:pre-wrap}
.celledit small{font-size:10.5px;color:#6B7080;padding:0 6px 2px}
.ed-sheet td.editing{outline:2px solid #5965F2;outline-offset:-2px}
/* ---- Track Assist ---- */
.tatela{display:flex;flex-direction:column;gap:12px}
.tasetup summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px;align-items:center;list-style:none}
.tasetup summary::-webkit-details-marker{display:none}
.tasetup h3{font-size:13.5px;margin:14px 0 4px}
.tacopy{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:8px;align-items:center;margin:6px 0}
.tacopy span{font-size:12px;font-weight:700;color:var(--ink-2)}
.tacopy code{display:block;font-size:11.5px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:7px 9px;overflow-x:auto;white-space:nowrap;color:var(--ink)}
@media (max-width:700px){.tacopy{grid-template-columns:1fr}}
.tacards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
@media (max-width:1000px){.tacards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tac{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.tac span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.tac b{font-size:22px;color:var(--ink)} .tac small{font-size:11.5px;color:var(--muted)}
.tac.good{border-color:#9BD3AE;background:linear-gradient(0deg,rgba(46,160,90,.06),rgba(46,160,90,.06)),var(--surface)}
.tafunil,.talist{width:100%;border-collapse:collapse;font-size:12.5px}
.tafunil th,.talist th{font-size:11px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}
.tafunil td,.talist td{padding:7px 8px;border-bottom:1px solid var(--line-soft,var(--line))}
.tafunil .n,.talist .n{text-align:right}
.tafunil td .dot{margin-right:6px}
.tavendas{display:flex;flex-direction:column;gap:6px}
.tav{border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.tav summary{display:grid;grid-template-columns:150px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:9px 12px;cursor:pointer;list-style:none}
.tav summary::-webkit-details-marker{display:none}
.tav[open] summary{border-bottom:1px solid var(--line)}
.tvh{font-size:12px;color:var(--muted)} .tvc{display:flex;flex-direction:column;min-width:0} .tvc b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px} .tvc small{color:var(--muted);font-size:11.5px}
.tvv{font-size:14px;color:var(--ink)}
@media (max-width:700px){.tav summary{grid-template-columns:1fr auto}.tvh{grid-column:1/-1}}
.tagrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px 16px;padding:12px}
.tagrid div{display:flex;flex-direction:column;min-width:0}
.tagrid span{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.tagrid b{font-size:12.5px;font-weight:600;color:var(--ink);word-break:break-all}
.taplats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:900px){.taplats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.taplat{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;color:var(--ink)}
.taplat b{font-size:15px} .taplat small{font-size:11.5px;color:var(--muted)}
.taplat:hover{border-color:#B9C0FF} .taplat.on{border-color:#5965F2;box-shadow:0 0 0 2px rgba(89,101,242,.18)}
.taplatbox{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--surface-2)}
.taplatbox h3{font-size:14px;margin:0 0 6px;display:flex;gap:8px;align-items:center}
.tapassos{margin:4px 0 8px 18px;padding:0;font-size:13px;color:var(--ink-2);display:flex;flex-direction:column;gap:3px}
.tawarn{font-size:12.5px;background:#FFF6DB;color:#5A4500;border:1px solid #F0D98A;border-radius:8px;padding:7px 10px;margin:0 0 8px}
:root[data-theme="dark"] .tawarn{background:#3A3115;color:#FFE9A8;border-color:#6B5A1E}
.taform{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;margin:6px 0 12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.taform label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--ink-2)} .taform .w{grid-column:span 2}
.taform input,.taform select{font:inherit;font-size:13px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
@media (max-width:900px){.taform{grid-template-columns:1fr}.taform .w{grid-column:auto}}
.tafiltro{display:flex;align-items:center;gap:10px;flex-wrap:wrap} .tafiltro>span{font-size:12.5px;font-weight:700;color:var(--ink-2)}
.tascriptrow td{background:var(--surface-2)}
.taplist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.taplrow+.taplrow{border-top:1px solid var(--line)}
.taplhead{display:flex;align-items:center;gap:12px;width:100%;background:var(--surface);border:0;padding:11px 14px;cursor:pointer;text-align:left;color:var(--ink)}
.taplhead:hover{background:var(--surface-2)} .taplrow.on .taplhead{background:var(--surface-2)}
.taplhead b{font-size:14.5px;min-width:110px} .taplhead small{flex:1}
.tapla{font-size:12.5px;font-weight:700;color:#5965F2;white-space:nowrap}
.taplrow .taplatbox{margin:0;border:0;border-top:1px solid var(--line);border-radius:0}
.talogo{border-radius:7px;object-fit:contain;background:#fff;flex-shrink:0;vertical-align:middle;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.tatrk{display:flex;align-items:center;gap:10px} .tatrk span{display:flex;flex-direction:column;gap:2px} .tatrk small{font-size:11.5px;color:var(--muted)}
.taacts{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.tatracks tr.oculta td{opacity:.6}
.taempty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:26px 10px;border:1px dashed var(--line);border-radius:12px;text-align:center;color:var(--muted);font-size:13px} .taempty b{color:var(--ink);font-size:14px}
@media (max-width:700px){.taplhead{flex-wrap:wrap}.taplhead small{flex-basis:100%;order:5}}
.campbar{position:relative;margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px}
.campbar .btn{font-size:12.5px;padding:5px 10px}
.cppop{position:absolute;bottom:calc(100% + 6px);left:0;z-index:30;width:230px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 24px rgba(20,24,40,.16);padding:8px;display:flex;flex-direction:column;gap:6px;font-size:12.5px}
.cppop .filters button{font-size:12px;padding:3px 8px}
.cplist{display:flex;flex-direction:column;gap:1px;max-height:210px;overflow:auto}
.cplist button{display:flex;align-items:center;justify-content:space-between;gap:6px;text-align:left;background:none;border:0;border-radius:6px;padding:5px 8px;font:inherit;font-size:12.5px;color:var(--ink);cursor:pointer}
.cplist .pill{font-size:10.5px;padding:1px 6px}
.cplist button:hover{background:var(--surface-2)}
.cplist button[aria-current="true"]{background:var(--accent-soft);font-weight:700}
/* ---- Raio-X do leilão e dicionário ---- */
.lxbar{display:flex;height:30px;border-radius:8px;overflow:hidden;gap:2px;background:var(--surface)}
.lx{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;min-width:4px}
.lx-g{background:var(--good)} .lx-b{background:var(--warn)} .lx-k{background:var(--bad)}
/* ---- Gerenciador v3: resumo simples, funil e lista que abre o CPA ---- */
:root{--gx-fat:#2F5C8F;--gx-fat-c:#5B84B1;--gx-inv:#3E4459;--gx-inv-c:#9AA0B5;--gx-cpa-s:#E9E6F6;--gx-ret-s:#FBF0D9}
:root[data-theme="dark"]{--gx-fat:#9DBCE3;--gx-fat-c:#6E95C4;--gx-inv:#D7DAE6;--gx-inv-c:#7C8296;--gx-cpa-s:#2E2A45;--gx-ret-s:#3A3019}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--gx-fat:#9DBCE3;--gx-fat-c:#6E95C4;--gx-inv:#D7DAE6;--gx-inv-c:#7C8296;--gx-cpa-s:#2E2A45;--gx-ret-s:#3A3019}}
.gres{display:flex;flex-direction:column;gap:10px;margin:0 0 12px}
.gfrase{font-size:16px;line-height:1.45;margin:2px 2px 0;color:var(--ink-2)}
.gfrase b{color:var(--ink)} .gfrase b.pos{color:var(--good)} .gfrase b.neg{color:var(--bad)}
.geq{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1.3fr);gap:6px;align-items:stretch}
.geq .op{align-self:center;text-align:center;font-size:30px;font-weight:300;color:var(--muted);line-height:1}
.geq .gk{justify-content:center}
.gk4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.gk{position:relative;overflow:hidden;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px 14px 18px;display:flex;flex-direction:column;gap:3px}
.gk::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--gk-c,var(--line))}
.gkh{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--ink-2)}
.gkh .ic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--gk-s,var(--surface-2));font-size:13px;flex:none}
.gk b{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums lining-nums;color:var(--gk-t,var(--ink));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.gk small{font-size:12px;color:var(--muted);line-height:1.35}
.gk.fat{--gk-c:var(--gx-fat-c);--gk-s:var(--fat-soft);--gk-t:var(--gx-fat)}
.gk.inv{--gk-c:var(--gx-inv-c);--gk-s:var(--surface-2);--gk-t:var(--gx-inv)}
.gk.lucro{background:var(--good-soft);border-color:transparent;--gk-c:var(--good);--gk-s:rgba(255,255,255,.55);--gk-t:var(--good)}
.gk.lucro.neg{background:var(--bad-soft);--gk-c:var(--bad);--gk-t:var(--bad)}
.gk.lucro b{font-size:30px}
.gk.lucro .spark{width:100%;height:28px;margin-top:4px}
.groi{margin-left:auto;font-style:normal;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:99px;background:var(--surface);color:var(--gk-t)}
.gk.venda{--gk-c:var(--good);--gk-s:var(--good-soft)}
.gk.cpa{--gk-s:var(--gx-cpa-s);--gk-c:#7A6CC4} .gk.ret{--gk-s:var(--gx-ret-s);--gk-c:#C08A1E}
.gk.ult{--gk-s:var(--surface-2)}
.gk.good{--gk-c:var(--good)} .gk.warn{--gk-c:var(--warn)} .gk.bad{--gk-c:var(--bad)}
.gk.cpa.good b,.gk.ult.good b{color:var(--good)} .gk.cpa.bad b,.gk.ult.bad b{color:var(--bad)} .gk.cpa.warn b,.gk.ult.warn b{color:var(--warn)}
.gmeter{position:relative;height:8px;border-radius:99px;background:var(--surface-2);margin-top:7px}
.gmeter i{display:block;height:100%;border-radius:99px;background:var(--gk-c)}
.gmeter s{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--ink-2);opacity:.45;border-radius:1px}
.gfunp .h{margin-bottom:8px}
.gfun{display:grid;grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr) 78px minmax(0,1fr) 78px minmax(0,1fr) 78px minmax(0,1fr);align-items:stretch}
.gfs{border:1px solid var(--line);border-radius:12px;padding:11px 12px;background:var(--surface);display:flex;flex-direction:column;gap:3px;min-width:0}
.gfs span{font-size:12px;font-weight:700;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gfs b{font-size:22px;font-variant-numeric:tabular-nums lining-nums}
.gfs small{font-size:11.5px;color:var(--muted)}
.gfs.fim{background:var(--good-soft);border-color:transparent} .gfs.fim b{color:var(--good)}
.gfs.falta{border-style:dashed;background:none} .gfs.falta b{color:var(--muted)}
.gfa{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 3px}
.gfa b{font-size:13px;color:var(--ink)} .gfa small{font-size:10.5px;color:var(--muted);line-height:1.15} .gfa span{color:var(--muted);font-size:15px;margin-top:2px}
.glist .crow{cursor:pointer;border-radius:10px}
.glist .crow:not(.chead):hover{background:var(--surface-2)}
.glist .crow.aberta{background:var(--accent-soft);border-radius:10px 10px 0 0}
.glist .go{font-size:12px}
.gdet{margin:0 0 10px;padding:14px 16px;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:0 0 12px 12px;background:var(--surface)}
.gdeth{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:6px}
.gdeth b{font-size:14.5px} .gdeth p{font-size:12px;margin:3px 0 0;max-width:640px}
.gdeta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gdet .gchartwrap{padding-right:0}
.graio{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)} .graio h2{font-size:14px}
@media (max-width:1150px){.gfun{grid-template-columns:1fr}.gfa{flex-direction:row;gap:8px;padding:4px 0}.gfa span{transform:rotate(90deg)}.gk4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.geq{grid-template-columns:1fr}.geq .op{display:none}.gk4{grid-template-columns:1fr}}
/* cards alinhados numa grade só de 4 colunas (a linha de cima casa com a de baixo) */
.gkgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.gkgrid>.gk{justify-content:flex-start;min-height:118px}
.gkgrid>.k-fat{grid-column:1;grid-row:1} .gkgrid>.k-inv{grid-column:2;grid-row:1} .gkgrid>.k-lucro{grid-column:3 / span 2;grid-row:1}
.gkgrid>.k-venda{grid-column:1;grid-row:2} .gkgrid>.k-cpa{grid-column:2;grid-row:2} .gkgrid>.k-ret{grid-column:3;grid-row:2} .gkgrid>.k-ult{grid-column:4;grid-row:2}
.gop{grid-row:1;align-self:center;justify-self:start;z-index:2;width:30px;height:30px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;font-size:18px;font-weight:700;line-height:1;color:var(--ink-2);transform:translateX(calc(-50% - 6px));box-shadow:0 1px 4px rgba(0,0,0,.08);pointer-events:none}
.gop.o1{grid-column:2} .gop.o2{grid-column:3}
@media (max-width:1150px){.gkgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.gkgrid>.gk{grid-column:auto!important;grid-row:auto!important}.gkgrid>.k-lucro{grid-column:1 / -1!important}.gop{display:none}}
@media (max-width:760px){.gkgrid{grid-template-columns:1fr}}
/* caminho até a venda na cor da barra lateral, para separar do resumo */
.gfunp{background:var(--side);border-color:transparent;color:#fff}
.gfunp h2{color:#fff} .gfunp .h p{color:var(--side-muted)}
.gfunp .gfs{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16)}
.gfunp .gfs span{color:#E6E8F2} .gfunp .gfs b{color:#fff} .gfunp .gfs small{color:var(--side-muted)}
.gfunp .gfs.falta{background:transparent;border-color:rgba(255,255,255,.28)} .gfunp .gfs.falta b{color:var(--side-muted)}
.gfunp .gfs.fim{background:#3E8E5A;border-color:transparent} .gfunp .gfs.fim span,.gfunp .gfs.fim b,.gfunp .gfs.fim small{color:#fff}
.gfunp .gfa b{color:#fff} .gfunp .gfa small,.gfunp .gfa span{color:var(--side-muted)}
/* gráfico e raio-x sem dados: aparecem mesmo assim */
.gchartwrap.gvazio{position:relative} .gchartwrap.gvazio svg{opacity:.5}
.gvaziomsg{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 14px;font-size:13px;color:var(--ink-2);box-shadow:0 4px 14px rgba(0,0,0,.08);text-align:center;max-width:80%}
.lx.lx-vazio{background:var(--surface-2);color:var(--muted)} .lx.lx-vazio span{color:var(--muted);font-weight:600}
/* botão da análise do gestor dentro da campanha aberta */
.gdetia{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--accent-soft)}
.gdetia>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;font-size:13.5px}
/* ---- saúde da operação e aviso de poucos dados ---- */
.saude{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin:0 0 12px}
.saude .stit{align-self:center;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-right:2px}
.sitem{display:flex;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:7px 11px;min-width:0;cursor:default}
.sitem i{width:9px;height:9px;border-radius:50%;flex:none;background:var(--muted)}
.sitem div{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.sitem b{font-size:11.5px;color:var(--ink-2)} .sitem span{font-size:12.5px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
.sitem.ok i{background:var(--good)} .sitem.warn i{background:var(--warn)} .sitem.bad i{background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}
.sitem.warn{border-color:rgba(168,101,15,.35)} .sitem.bad{border-color:var(--bad);background:var(--bad-soft)}
.gpoucos{display:flex;gap:10px;align-items:flex-start;background:var(--warn-soft);border:1px solid rgba(168,101,15,.3);border-radius:10px;padding:9px 12px;font-size:13px;line-height:1.45;color:var(--ink)}
.gpoucos b{color:var(--warn)} .gdet .gpoucos,.iadrawer .gpoucos{margin:6px 0 10px}
.glegend .lxk{width:12px;height:12px;border-radius:3px}
.gdic summary{cursor:pointer;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;list-style:none}
.gdic summary::-webkit-details-marker{display:none}
.gdic summary::before{content:"▸";color:var(--muted);transition:transform .15s}
.gdic[open] summary::before{transform:rotate(90deg)}
.dicgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-top:12px}
.dic{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface-2)}
.dic b{font-size:13.5px} .dic p{margin:4px 0 0;font-size:12.5px;color:var(--ink-2)}
.dic .dq span{font-weight:700;color:var(--ink)}
/* ===== v4: ações de hoje, lista com próxima ação, comparação, ajuda e celular ===== */
.acoeshoje .h{margin-bottom:8px}
.ahlist{display:flex;flex-direction:column;gap:6px}
.ahit{display:grid;grid-template-columns:12px minmax(0,1.3fr) minmax(0,1.6fr) auto;gap:12px;align-items:center;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;cursor:pointer;color:var(--ink);font:inherit}
.ahit:hover{background:var(--surface-2)}
.ahit.bad{border-left:4px solid var(--bad)} .ahit.good{border-left:4px solid var(--good)}
.ahdot{width:10px;height:10px;border-radius:50%;background:var(--muted)} .ahit.bad .ahdot{background:var(--bad)} .ahit.good .ahdot{background:var(--good)}
.ahc,.ahr{display:flex;flex-direction:column;gap:2px;min-width:0} .ahc b{font-size:14px} .ahc small,.ahr small{font-size:12px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.aha{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap}
.ahok{margin:0;font-size:13.5px;color:var(--good);background:var(--good-soft);border-radius:10px;padding:10px 14px}
.dashres{display:flex;flex-direction:column;gap:10px;margin:0 0 12px}
.dashtools{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}
.ovvazio{margin:0 0 12px;font-size:13px;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:12px;padding:10px 14px}
.crow2 .cn{display:flex;flex-direction:column;gap:3px;min-width:0}
.cmeta{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctags{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}
.acao{font-style:normal;font-size:11.5px;font-weight:700;border-radius:99px;padding:2px 9px;background:var(--surface-2);color:var(--ink-2)}
.acao.bad{background:var(--bad-soft);color:var(--bad)} .acao.good{background:var(--good-soft);color:var(--good)} .acao.warn{background:var(--warn-soft);color:var(--warn)}
.cgrupo{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;border:0;border-top:1px solid var(--line-soft);background:var(--surface-2);color:var(--ink-2);padding:10px 12px;cursor:pointer;font:inherit;font-size:13px;font-weight:700;text-align:left}
.cgrupo small{font-weight:500;color:var(--muted)}
.dlt{display:inline-block;margin-top:4px;font-size:12px;font-weight:700;font-style:normal}
.dlt small{font-weight:500;color:var(--muted)}
.dlt.up{color:var(--good)} .dlt.down{color:var(--bad)} .dlt.neu{color:var(--muted)}
.qm{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:10.5px;font-weight:800;cursor:help;margin-left:3px;vertical-align:1px;border:1px solid var(--line)}
.qm:hover,.qm:focus{background:var(--accent-soft);color:var(--ink);outline:none}
.gacao{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 10px;padding:12px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--muted)}
.gacao .gal{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.gacao b{font-size:16px} .gacao small{font-size:12.5px;color:var(--muted);flex-basis:100%}
.gacao.bad{border-left-color:var(--bad);background:var(--bad-soft)} .gacao.good{border-left-color:var(--good);background:var(--good-soft)} .gacao.warn{border-left-color:var(--warn);background:var(--warn-soft)}
.gfun.g3{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr) 78px minmax(0,1fr)}
.gfnota{margin:10px 0 0;font-size:12.5px;color:var(--side-muted)} .gfunp .gfnota b{color:#fff}
.ln-empate{fill:none;stroke:#E08A1E;stroke-width:2.5;stroke-dasharray:8 6}
.empate-lbl{fill:#B86A0C;font-size:13px;font-weight:700}
:root[data-theme="dark"] .empate-lbl{fill:#F2B25C}
.k-cpa-e{display:inline-block;width:16px;height:0;border-top:3px dashed #E08A1E;vertical-align:middle;margin-right:5px}
.lucrodia .bar.pos{fill:var(--good)} .lucrodia .bar.neg{fill:var(--bad)} .lucrodia .grid.zero{stroke:var(--ink-2);stroke-width:1.3}
.gk small{font-size:12.5px}
.sitem span{font-size:13px} .sitem b{font-size:12px}
@media (max-width:760px){
  .top{flex-direction:column;align-items:stretch;gap:10px}
  .periods{flex-wrap:wrap}
  .ahit{grid-template-columns:12px minmax(0,1fr);gap:6px 10px}
  .ahit .ahr,.ahit .aha{grid-column:2}
  .saude{gap:6px} .sitem span{white-space:normal}
  .gacao b{font-size:15px}
  .gfun.g3{grid-template-columns:1fr}
}
@media (max-width:1150px){.gfun.g3{grid-template-columns:1fr}}
