:root{
  --bg:#F6F3EC; --grid:rgba(140,106,58,.05); --panel:#FFFFFF; --panel2:#FAF7F1; --ink:#15130F; --muted:#776F63; --line:#E6DED0;
  --violet:#A8823F; --cyan:#C29A55; --pink:#6E4A24; --amber:#CDB27A; --green:#4F8A63; --blue:#5C5650; --orange:#B5654A; --gray:#9A948A;
  --glow:0 0 0 1px var(--line),0 10px 30px -22px rgba(110,74,36,.35);
  --warn:#B5542E; --bad:#A63A2A;
  --font:"Jost","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono:"Jost","Segoe UI",system-ui,sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0B0A09; --grid:rgba(201,164,92,.045); --panel:#141311; --panel2:#1B1916; --ink:#F3EFE6; --muted:#A39B8C; --line:#2C2822;
    --violet:#C9A45C; --cyan:#E3CB94; --pink:#A06A34; --amber:#F2E8D0; --green:#7DB892; --blue:#77716A; --orange:#D07F5C; --gray:#8C8579;
    --glow:0 0 0 1px var(--line),0 14px 40px -26px rgba(201,164,92,.35);
    --warn:#E0935F; --bad:#E06A5A;
  }
}
:root[data-theme="dark"]{
  --bg:#0B0A09; --grid:rgba(201,164,92,.045); --panel:#141311; --panel2:#1B1916; --ink:#F3EFE6; --muted:#A39B8C; --line:#2C2822;
  --violet:#C9A45C; --cyan:#E3CB94; --pink:#A06A34; --amber:#F2E8D0; --green:#7DB892; --blue:#77716A; --orange:#D07F5C; --gray:#8C8579;
  --glow:0 0 0 1px var(--line),0 14px 40px -26px rgba(201,164,92,.35);
  --warn:#E0935F; --bad:#E06A5A;
}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;min-height:100%;color:var(--ink);font-family:var(--font);font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased;
  background-color:var(--bg);
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:36px 36px}
.wrap{max-width:1240px;margin:0 auto;padding:22px 18px 56px}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.015em}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
button{font:inherit;cursor:pointer}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}

/* top bar */
.bar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-bottom:18px}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:44px;height:44px;border-radius:6px;background:#0B0A09 url("data:image/png;base64,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") center/cover no-repeat;box-shadow:0 0 0 1px rgba(201,164,92,.35)}
h1{font-size:clamp(19px,2.6vw,24px)}
.acct{font-size:13px;color:var(--muted)}
.live{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 12px;font-size:12.5px;color:var(--muted)}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--gray)}
.pulse.on{background:var(--green);box-shadow:0 0 0 0 color-mix(in srgb,var(--green) 60%,transparent);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
.btn{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:10px;padding:7px 12px;font-size:13px}
.btn:hover{border-color:var(--cyan)}
.btn[disabled]{opacity:.5;cursor:default}

/* filters */
.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--panel);box-shadow:var(--glow);border-radius:14px;padding:10px;margin-bottom:18px}
.seg{display:flex;flex-wrap:wrap;gap:4px}
.seg button{border:0;background:transparent;color:var(--muted);padding:6px 11px;border-radius:8px;font-size:13px}
.seg button[aria-pressed="true"]{background:var(--panel2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--cyan)}
.custom{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-left:auto}
.custom input{font:inherit;font-size:13px;background:var(--panel2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:5px 8px;color-scheme:light dark}

/* banners */
.banner{display:none;border-radius:12px;padding:12px 14px;margin-bottom:16px;border:1px solid color-mix(in srgb,var(--warn) 50%,transparent);background:color-mix(in srgb,var(--warn) 10%,var(--panel));font-size:14px}
.banner.show{display:block}

/* kpis */
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}
.kpi{background:var(--panel);box-shadow:var(--glow);border-radius:14px;padding:14px 16px;position:relative;overflow:hidden}
.kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cyan);opacity:.8}
.kpi.main::before{background:linear-gradient(var(--violet),var(--cyan))}
.kpi .k{font-size:12.5px;color:var(--muted)}
.kpi .v{font-family:var(--mono);font-size:22px;font-weight:700;margin-top:4px;white-space:nowrap}
.kpi.main .v{font-size:26px}
.kpi .s{font-size:12px;color:var(--muted);margin-top:2px}

.panel{background:var(--panel);box-shadow:var(--glow);border-radius:16px;padding:18px}
.ph{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:flex-end;margin-bottom:14px}
h2{font-size:16px}
.ph p{margin:2px 0 0;font-size:13px;color:var(--muted)}

/* objective groups */
.groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.g{all:unset;box-sizing:border-box;cursor:pointer;display:block;background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:14px;position:relative;transition:border-color .15s}
.g:hover{border-color:var(--gc)}
.g:focus-visible{outline:2px solid var(--gc);outline-offset:2px}
.g[aria-pressed="true"]{border-color:var(--gc);box-shadow:0 0 0 1px var(--gc),0 0 24px -8px var(--gc)}
.g.off{opacity:.55}
.g .top{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.g .ic{width:10px;height:10px;border-radius:3px;background:var(--gc);box-shadow:0 0 10px var(--gc)}
.g .nm{font-weight:600;font-size:14px}
.g .res{font-family:var(--mono);font-size:24px;font-weight:700;line-height:1.1}
.g .rl{font-size:12.5px;color:var(--muted)}
.g .meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line);font-size:12px;color:var(--muted)}
.g .meta b{display:block;font-family:var(--mono);font-size:13px;color:var(--ink);font-weight:500}
.g .share{height:4px;border-radius:2px;background:var(--line);margin-top:10px;overflow:hidden}
.g .share i{display:block;height:100%;background:var(--gc)}

.split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:18px;margin:18px 0}
.canvas-box{position:relative;height:290px}
.tabs{display:flex;gap:4px;flex-wrap:wrap}
.tabs button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:8px;padding:5px 10px;font-size:12.5px}
.tabs button[aria-pressed="true"]{color:var(--ink);border-color:var(--cyan);background:var(--panel2)}

/* allocation */
.alloc{display:flex;flex-direction:column;gap:12px}
.ar .row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:5px;gap:8px}
.ar .row span:last-child{font-family:var(--mono);white-space:nowrap}
.ar .trk{height:8px;border-radius:4px;background:var(--panel2);overflow:hidden}
.ar .trk i{display:block;height:100%;border-radius:4px}

/* table */
.tbl{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px;min-width:1180px}
th{font-weight:500;color:var(--muted);font-size:12px;text-align:right;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;font-family:var(--mono);font-size:12.5px}
th:first-child,td:first-child,th:nth-child(2),td:nth-child(2){text-align:left}
td:first-child{font-family:var(--font);font-size:13px;white-space:normal;min-width:240px}
tr:last-child td{border-bottom:0}
.st{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);font-size:12px}
.st i{width:7px;height:7px;border-radius:50%;background:var(--gray)}
.st.on i{background:var(--green)}
.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font);font-size:12px}
.chip i{width:8px;height:8px;border-radius:2px}
.tfoot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:10px;font-size:12.5px;color:var(--muted)}
.tfoot label{display:inline-flex;gap:6px;align-items:center;cursor:pointer}

.sec-state{font-size:13px;color:var(--muted);padding:18px 4px}
.sec-state.err{color:var(--warn)}
.loading .v,.loading .res{color:transparent;background:linear-gradient(90deg,var(--panel2),var(--line),var(--panel2));background-size:200% 100%;border-radius:6px;animation:sh 1.2s infinite}
@keyframes sh{to{background-position:-200% 0}}

.ai-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:12px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:linear-gradient(90deg,color-mix(in srgb,var(--violet) 10%,var(--panel2)),var(--panel2))}
.ai-bar .sum{flex:1 1 360px;font-size:13.5px;line-height:1.55}
.ai-bar .sum b{font-weight:600}
.btn.ai{border-color:color-mix(in srgb,var(--violet) 60%,var(--line));background:color-mix(in srgb,var(--violet) 14%,var(--panel))}
.btn.ai:hover{border-color:var(--violet)}
td.ai{white-space:normal;font-family:var(--font);font-size:12.5px;text-align:left;min-width:280px;max-width:360px;line-height:1.45}
th.ai{text-align:left}
.badge{display:inline-block;font-size:11px;font-weight:600;padding:1px 7px;border-radius:5px;margin-right:6px;vertical-align:1px}
.badge.bom{background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green)}
.badge.atencao{background:color-mix(in srgb,var(--amber) 20%,transparent);color:var(--amber)}
.badge.critico{background:color-mix(in srgb,var(--bad) 18%,transparent);color:var(--bad)}
footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:22px;font-size:12px;color:var(--muted)}

@media (max-width:1020px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.split{grid-template-columns:1fr}}
@media (max-width:600px){.wrap{padding:16px 12px 40px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.custom{margin-left:0}.canvas-box{height:230px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* layout: one column, more air */
.wrap{max-width:1120px}
.view{display:flex;flex-direction:column;gap:28px}
.view[hidden]{display:none}
.panel{padding:24px 26px}
.ph{margin-bottom:20px}
h2{font-size:18px}
.ph p{font-size:13.5px;max-width:70ch}
.kpis{margin-bottom:28px}
.canvas-box{height:320px}

/* tabs */
.tabbar{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 24px;position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);padding-top:6px}
.tabbar button{border:0;background:none;color:var(--muted);padding:12px 16px;font-size:14.5px;font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabbar button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--cyan)}
.tabbar button:hover{color:var(--ink)}

/* campaign picker */
.picker{background:var(--panel);box-shadow:var(--glow);border-radius:16px;padding:18px 20px}
.picker .t{font-size:13px;color:var(--muted);margin-bottom:10px}
.picks{display:flex;flex-direction:column;gap:8px}
.pk{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 14px;border-radius:11px;border:1px solid var(--line);background:var(--panel2)}
.pk:hover{border-color:var(--gc)}
.pk:focus-visible{outline:2px solid var(--gc);outline-offset:2px}
.pk[aria-pressed="true"]{border-color:var(--gc);box-shadow:0 0 0 1px var(--gc)}
.pk i{width:10px;height:10px;border-radius:3px;background:var(--gc)}
.pk .n{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pk .n small{display:block;font-size:12px;color:var(--muted);font-weight:400}
.pk .v{font-family:var(--mono);font-size:13px;text-align:right}
.pk .v small{display:block;font-size:11.5px;color:var(--muted);font-family:var(--font)}

/* campaign header */
.chead{border-left:4px solid var(--gc);background:var(--panel);box-shadow:var(--glow);border-radius:16px;padding:20px 24px}
.chead h2{font-size:19px;margin-bottom:4px;word-break:break-word}
.chead .obj{font-size:13px;color:var(--muted)}
.chead .nums{display:flex;flex-wrap:wrap;gap:12px 36px;margin-top:16px}
.chead .nums div{font-size:12.5px;color:var(--muted)}
.chead .nums b{display:block;font-family:var(--mono);font-size:20px;color:var(--ink);font-weight:700;margin-top:2px}

/* segment rows */
.seg-list{display:flex;flex-direction:column}
.sr{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(120px,2fr) repeat(4,minmax(90px,1fr));gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}
.sr:last-child{border-bottom:0}
.sr.head{font-size:11.5px;color:var(--muted);padding:0 0 10px}
.sr.head span:not(:first-child):not(:nth-child(2)){text-align:right}
.sr .lb{font-size:14px;font-weight:500}
.sr .val{font-family:var(--mono);font-size:13px;text-align:right}
.sr .val small{display:block;font-family:var(--font);font-size:11px;color:var(--muted)}
.sbar{height:10px;border-radius:5px;background:var(--panel2);overflow:hidden}
.sbar i{display:block;height:100%;border-radius:5px;background:var(--gc,var(--cyan))}
.flag{display:inline-block;font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:5px;margin-left:8px;vertical-align:1px}
.flag.best{background:color-mix(in srgb,var(--green) 18%,transparent);color:var(--green)}
.flag.warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}
.read{margin-top:16px;padding:12px 14px;border-radius:10px;background:var(--panel2);font-size:13.5px;line-height:1.55}
.read b{font-weight:600}
@media (max-width:760px){
  .sr{grid-template-columns:1fr 1fr;gap:6px 14px}
  .sr .sbar{grid-column:1/-1;order:2}
  .sr .lb{grid-column:1/-1}
  .sr.head{display:none}
  .sr .val{text-align:left}
}

/* gender cards */
.gcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.gc{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:18px}
.gc .h{font-weight:600;font-size:15px;display:flex;align-items:center;gap:8px}
.gc .h i{width:10px;height:10px;border-radius:50%}
.gc .share{font-family:var(--mono);font-size:26px;font-weight:700;margin:10px 0 2px}
.gc .meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:14px;font-size:12px;color:var(--muted)}
.gc .meta b{display:block;font-family:var(--mono);font-size:14px;color:var(--ink);font-weight:500}
details.more{margin-top:18px}
details.more summary{cursor:pointer;font-size:13.5px;color:var(--cyan)}
details.more[open] summary{margin-bottom:12px}

/* funnels */
.fn{background:var(--panel);box-shadow:var(--glow);border-radius:16px;padding:22px 24px;border-left:4px solid var(--gc)}
.fn h3{font-size:16px;margin-bottom:4px;word-break:break-word}
.fn .sub{font-size:13px;color:var(--muted);margin-bottom:18px}
.fstep{display:grid;grid-template-columns:minmax(150px,1fr) minmax(160px,3fr) minmax(170px,1fr);gap:16px;align-items:center;padding:8px 0}
.fstep .l{font-size:14px}
.fstep .l b{display:block;font-family:var(--mono);font-size:16px}
.fbar{height:26px;border-radius:6px;background:color-mix(in srgb,var(--gc) 14%,transparent);position:relative;overflow:hidden}
.fbar i{position:absolute;left:0;top:0;bottom:0;border-radius:6px;background:linear-gradient(90deg,var(--gc),color-mix(in srgb,var(--gc) 55%,transparent))}
.fstep .r{font-size:12px;color:var(--muted);font-family:var(--mono);text-align:right;line-height:1.5}
.drop{color:var(--warn)}
@media (max-width:760px){.fstep{grid-template-columns:1fr;gap:6px}.fstep .r{text-align:left}}

/* creatives */
.fmt{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.tp{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:18px}
.tp .big{font-family:var(--mono);font-size:22px;font-weight:700;margin-top:10px}
.tp .meta{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:14px;font-size:12px;color:var(--muted)}
.tp .meta b{display:block;font-family:var(--mono);font-size:14px;color:var(--ink);font-weight:500}
.ty{display:inline-block;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:6px}
.ty.video{background:color-mix(in srgb,var(--cyan) 18%,transparent);color:var(--cyan)}
.ty.estatico{background:color-mix(in srgb,var(--pink) 18%,transparent);color:var(--pink)}
.ty.carrossel{background:color-mix(in srgb,var(--amber) 20%,transparent);color:var(--amber)}
.ty.outro{background:var(--line);color:var(--muted)}
.crs{display:flex;flex-direction:column;gap:14px}
.cr{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.cr .top{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.cr .rk{font-family:var(--mono);font-size:13px;color:var(--muted);margin-right:10px}
.cr .nm{font-size:15px;font-weight:600;word-break:break-word}
.cr .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;align-items:center;font-size:12px;color:var(--muted)}
.cr .grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:16px}
.cr .grid div{font-size:11.5px;color:var(--muted)}
.cr .grid b{display:block;font-family:var(--mono);font-size:14.5px;color:var(--ink);font-weight:500;margin-top:2px}
.cr .ret{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:10px;align-items:center;margin-top:14px;font-size:11.5px;color:var(--muted)}
.cr .ret .rb{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:4px}
.cr .ret .rb i{display:block;height:100%;background:var(--cyan)}
.cr .ret span b{font-family:var(--mono);color:var(--ink);font-weight:500}
.cr .ailine{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line);font-size:13px;line-height:1.5}
@media (max-width:760px){.cr .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cr .ret{grid-template-columns:repeat(2,minmax(0,1fr))}.cr .ret>span:first-child{grid-column:1/-1}}

.ai-list{margin:0;padding-left:18px;font-size:13.5px;line-height:1.6}
.ai-list li{margin-bottom:4px}
td.ai{white-space:normal;font-family:var(--font);font-size:12.5px;text-align:left;min-width:260px;max-width:340px;line-height:1.45}
.sel{font:inherit;font-size:13px;background:var(--panel2);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 10px}
.empty{padding:28px;text-align:center;color:var(--muted);font-size:14px;background:var(--panel);box-shadow:var(--glow);border-radius:16px}

.stgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.stc{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.stc .k{font-size:12.5px;color:var(--muted)}.stc .v{font-size:26px;font-weight:700;margin:4px 0 2px}.stc .s{font-size:12px;color:var(--muted)}
@media (max-width:600px){.stgrid{grid-template-columns:1fr}}
/* seletor de objetivo */
.objs{display:flex;flex-wrap:wrap;gap:8px}
.ob{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:10px;align-items:center;padding:10px 14px;border-radius:11px;border:1px solid var(--line);background:var(--panel2);font-size:14px;font-weight:500}
.ob i{width:10px;height:10px;border-radius:3px;background:var(--gc);flex:none}
.ob small{display:block;font-size:11.5px;color:var(--muted);font-weight:400}
.ob:hover{border-color:var(--gc)}
.ob:focus-visible{outline:2px solid var(--gc);outline-offset:2px}
.ob[aria-pressed="true"]{border-color:var(--gc);box-shadow:0 0 0 1px var(--gc);background:color-mix(in srgb,var(--gc) 10%,var(--panel2))}
/* funil agrupado por objetivo */
.fgroup{background:var(--panel);box-shadow:var(--glow);border-radius:18px;overflow:hidden}
.fgh{display:flex;gap:14px;align-items:center;padding:20px 26px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,color-mix(in srgb,var(--gc) 14%,transparent),transparent 70%)}
.fgh .dot{width:12px;height:12px;border-radius:4px;background:var(--gc);box-shadow:0 0 12px var(--gc);flex:none}
.fgh h3{font-size:18px;margin:0}
.fgh p{margin:3px 0 0;font-size:13px;color:var(--muted)}
.fbody{padding:22px 26px 26px;overflow-x:auto}
.fname{font-size:14px;font-weight:600;margin-bottom:14px;word-break:break-word}
.fsub{margin-top:30px;padding-top:24px;border-top:1px dashed var(--line)}

/* cidades */
.subh{font-size:14px;font-weight:600;margin:4px 0 12px;color:var(--ink)}
.subh:not(:first-child){margin-top:26px}
.mixsets{display:flex;flex-direction:column;gap:12px}
.mix{border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:14px 16px}
.mx-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:13.5px}
.mx-top .val{font-family:var(--mono);font-size:12.5px;color:var(--muted)}
.cities{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ctag{display:inline-flex;flex-direction:column;border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:5px 10px;font-size:13px}
.ctag small{font-size:11px;color:var(--muted)}

/* criativo com prévia */
.cr{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;align-items:start}
.media{position:relative;width:150px;aspect-ratio:9/16;border-radius:12px;overflow:hidden;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.media img{width:100%;height:100%;object-fit:cover;display:block}
.media .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:grid;place-items:center;font-size:15px;padding-left:3px}
.media .mlink{position:absolute;left:6px;right:6px;bottom:6px;text-align:center;font-size:11.5px;font-weight:600;color:#fff;background:rgba(0,0,0,.6);border-radius:7px;padding:5px 4px;text-decoration:none}
.media .mlink:hover{background:rgba(0,0,0,.8)}
.media .ph-msg{font-size:11.5px;color:var(--muted);text-align:center;padding:10px}
.copy{margin:14px 0 0;font-size:12.5px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}
@media (max-width:760px){.cr{grid-template-columns:1fr}.media{width:100%;max-width:220px;margin:0 auto}}



/* comercial v2 */
.dt{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
.dt th{font-weight:500;color:var(--muted);font-size:11.5px;text-align:right;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.dt td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:right;font-family:var(--mono);font-size:12.5px;white-space:nowrap}
.dt th:first-child,.dt td:first-child{text-align:left;font-family:var(--font);font-size:13px}
.dt tr:last-child td{border-bottom:0}
.dt tr.tot td{font-weight:700;border-top:1px solid var(--line)}
.dt .warn{color:var(--warn)} .dt .good{color:var(--green)} .dt a{color:var(--cyan);text-decoration:none}
.cm-hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cm-hero .h{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:18px 20px;position:relative;overflow:hidden}
.cm-hero .h::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--violet),var(--cyan))}
.cm-hero .h .k{font-size:13px;color:var(--muted)} .cm-hero .h .v{font-family:var(--mono);font-size:27px;font-weight:700;margin:6px 0 2px} .cm-hero .h .s{font-size:12px;color:var(--muted)}
.kgroups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.kg{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--panel)}
.kg h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px;font-weight:600}
.kg .r{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line)}
.kg .r:last-child{border-bottom:0}
.kg .r span{font-size:13.5px} .kg .r span small{display:block;font-size:11.5px;color:var(--muted)}
.kg .r b{font-family:var(--mono);font-size:15px;font-weight:700;white-space:nowrap}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.cm-como{font-size:13.5px;line-height:1.6;color:var(--muted)} .cm-como p{margin:8px 0}
.goal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:6px}
.goal .g2{background:var(--panel2);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.goal .g2 .k{font-size:13px;color:var(--muted)}.goal .g2 .v{font-family:var(--mono);font-size:28px;font-weight:700;margin:6px 0}
.goal .g2 .v small{font-size:15px;color:var(--muted);font-weight:500}
.gbar{position:relative;height:12px;border-radius:6px;background:var(--line);margin:10px 0 6px}
.gbar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--violet),var(--cyan))}
.gbar b{position:absolute;top:-4px;width:2px;height:20px;background:var(--ink);opacity:.5}
.gstat{font-size:13px;margin-top:4px}.gstat.ok{color:var(--green)}.gstat.bad{color:var(--warn)}
.gstrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.gstrip div{font-size:12.5px;color:var(--muted);background:var(--panel2);border:1px dashed var(--line);border-radius:12px;padding:12px 14px}
.gstrip b{display:block;font-family:var(--mono);font-size:17px;color:var(--ink);margin-top:3px}
.rows{display:flex;flex-direction:column}
.rw{display:grid;grid-template-columns:minmax(120px,1.4fr) minmax(90px,2fr) minmax(50px,.5fr) minmax(60px,.6fr);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.rw:last-child{border-bottom:0}.rw .val{font-family:var(--mono);font-size:12.5px;text-align:right}
.rw .sbar{height:9px;border-radius:5px;background:var(--panel2);overflow:hidden}.rw .sbar i{display:block;height:100%;border-radius:5px}
@media (max-width:980px){.cm-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.kgroups{grid-template-columns:1fr}.goal,.two-col{grid-template-columns:1fr}.gstrip{grid-template-columns:1fr}}
@media (max-width:560px){.cm-hero{grid-template-columns:1fr}}

.canvas-box.cm-sm{height:260px}
.cm-fun{align-items:start}
.cm-mes{height:230px;margin-top:18px}

.kpis{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important}
.kpi{padding:18px 20px!important}
.kpi .v{font-size:26px!important;margin-top:6px!important} .kpi .k{font-size:13.5px!important} .kpi .s{font-size:12.5px!important;margin-top:4px!important}
.gbar.mini{height:8px;margin:8px 0 2px}
.kpi .duo{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}.kpi .duo .v{margin-top:0}.kpi .duo .s{font-size:11.5px;margin-top:0}
.trf{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.trf .t{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.trf .t .k{font-size:12.5px;color:var(--muted)} .trf .t .v{font-family:var(--mono);font-size:20px;font-weight:700;margin:4px 0 2px} .trf .t .s{font-size:12px;color:var(--muted)}
@media (max-width:1100px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}.trf{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.trf{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* janela do criativo */
.media.clic{cursor:pointer}
.media .mlink{border:0;font:inherit;cursor:pointer}
.jn{position:fixed;inset:0;z-index:50;background:rgba(3,6,15,.72);display:flex;align-items:center;justify-content:center;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(16px + env(safe-area-inset-bottom,0px))}
.jn[hidden]{display:none}
.jn-box{background:var(--panel);border:1px solid var(--line);border-radius:18px;width:min(560px,100%);max-height:100%;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.jn-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 18px 8px}
.jn-h h3{font-size:16px;margin:0;word-break:break-word}.jn-h p{margin:2px 0 0;font-size:12.5px}
.jn-tabs{padding:0 18px 12px}
.jn-frame{flex:1;min-height:320px;overflow:auto;background:var(--panel2);display:flex;justify-content:center;align-items:flex-start;padding:14px}
.jn-frame iframe{border:0;border-radius:10px;background:#fff;display:block}
.jn-scale{overflow:hidden;border-radius:10px;flex:none}
.jn-frame{flex-direction:column;align-items:center}
.jn-copy{max-width:480px;margin:12px 0 0;font-size:13px;line-height:1.5;color:var(--muted);white-space:pre-line;max-height:120px;overflow:auto}
.jn-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 18px 14px;font-size:12.5px;flex-wrap:wrap}
.jn-foot a{color:var(--cyan);text-decoration:none;font-weight:600}

/* identidade Nanno */
body{font-variant-numeric:tabular-nums lining-nums;letter-spacing:.005em}
h1{font-weight:500;letter-spacing:.01em}
h2{font-weight:500;letter-spacing:.01em}
.acct{letter-spacing:.14em;text-transform:uppercase;font-size:11.5px}
.kpi .v,.cm-hero .h .v,.goal .g2 .v,.g .res,.stc .v,.trf .t .v,.chead .nums b{font-weight:500}
.tabbar button{letter-spacing:.04em}
.tabbar button[aria-selected="true"]{border-bottom-color:var(--violet)}
.kg h3{letter-spacing:.14em}
/* versão site */
.ai-bar{display:none!important}
#structBox .read{display:none}
