:root{--bg:#0E0E10;--s1:#161619;--s2:#1E1E22;--line:#2A2A2F;--gold:#C9A94E;--on-gold:#1A1408;--ink:#ECEAE5;--soft:#A6A6AC;--mute:#88888E;--bad:#C96A5A}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font:14px/1.45 Inter,system-ui,sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
input,select,textarea{background:var(--s2);border:1px solid var(--line);padding:8px 10px;width:100%}
input:focus,select:focus,textarea:focus{outline:1px solid var(--gold);border-color:var(--gold)}
input[type=date]{color-scheme:dark}
.app{height:100dvh;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:22px;padding:14px 20px;border-bottom:1px solid var(--line);flex:none}
.marca{font-family:Antonio,sans-serif;font-weight:300;font-size:20px;letter-spacing:.04em;white-space:nowrap}
.marca b{color:var(--gold);font-weight:300}
.abas{display:flex;gap:18px}
.abas a{padding:4px 0;color:var(--soft);border-bottom:1px solid transparent;white-space:nowrap}
.abas a:hover{color:var(--ink)}
.abas a.on{color:var(--ink);border-color:var(--gold)}
.busca{margin-left:auto;width:240px}
.novo{background:var(--gold);color:var(--on-gold);font-weight:600;padding:8px 14px;white-space:nowrap}
.corpo-wrap{flex:1;min-height:0;display:flex;flex-direction:column}
.hoje{display:flex;align-items:baseline;gap:10px;padding:12px 20px;border-bottom:1px solid var(--line);flex:none}
.hoje strong{font-family:Antonio,sans-serif;font-weight:300;font-size:26px;color:var(--gold)}
.hoje span{color:var(--soft)}
.corpo{flex:1;display:flex;min-height:0;position:relative}
.quadro{flex:1;display:grid;grid-template-columns:repeat(var(--cols),minmax(170px,1fr)) 112px;min-width:0;overflow:auto}
.col{border-right:1px solid var(--line);padding:12px;min-width:0}
.col h3,.fim h3{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);display:flex;justify-content:space-between}
.card{display:block;background:var(--s1);border:1px solid var(--line);padding:10px 11px;margin-bottom:8px}
.card:hover{border-color:#44444b}
.card.on{border-color:var(--gold)}
.card .n{font-weight:600;overflow-wrap:anywhere}
.card .f{color:var(--soft);font-size:12.5px}
.card .q{display:flex;justify-content:space-between;gap:8px;margin-top:7px;font-size:11.5px;color:var(--mute)}
.card .q .h{color:var(--gold)}
.card .q .a{color:var(--bad)}
.fim{padding:12px}
.fim div{padding:10px 0;border-bottom:1px solid var(--line);color:var(--soft);font-size:12.5px}
.fim b{display:block;font-family:Antonio,sans-serif;font-weight:300;font-size:24px;color:var(--ink)}
.lista{display:none;flex:1;overflow:auto;padding:12px}
.det{width:340px;flex:none;border-left:1px solid var(--line);background:var(--s1);padding:20px;overflow:auto}
.vazio-det p,.vazio{color:var(--mute)}
.det h2{margin:0;font-family:Antonio,sans-serif;font-weight:300;font-size:30px;line-height:1.14;overflow-wrap:anywhere}
.det .sub{color:var(--soft);margin:4px 0 16px}
.wa{display:block;background:var(--gold);color:var(--on-gold);font-weight:600;padding:11px;text-align:center;margin-bottom:18px}
.lb{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:14px 0 6px}
.camp{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.camp div{background:var(--s2);padding:8px 10px;font-size:13px;overflow-wrap:anywhere}
.camp .larga{grid-column:1/-1}
small{display:block;color:var(--mute);font-size:11px}
.et{display:flex;flex-wrap:wrap;gap:6px}
.et button{border:1px solid var(--line);padding:5px 9px;font-size:12.5px;color:var(--soft)}
.et button.on,.ret button.on{border-color:var(--gold);color:var(--gold)}
.ret{display:flex;gap:6px}
.ret button{flex:1;background:var(--s2);border:1px solid transparent;padding:8px 4px;font-size:12.5px}
.ret input{flex:1.3;min-width:0;padding:6px 4px;font-size:12px}
.nota{background:var(--s2);padding:10px;font-size:13px;color:var(--soft);margin-top:6px;overflow-wrap:anywhere}
.notaform{display:grid;gap:6px}
.botao{display:inline-block;border:1px solid var(--gold);color:var(--gold);padding:7px 12px}
.apagar{display:block;margin-top:24px;color:var(--mute);font-size:12px;text-decoration:underline}
.apagar:hover{color:var(--bad)}
.link{color:var(--gold)}
.fecha{display:none;position:absolute;top:10px;right:10px;color:var(--soft);font-size:22px;padding:4px 12px}
.pagina{flex:1;overflow:auto;padding:24px max(20px,calc((100% - 1240px)/2)) 60px;width:100%}
.titulo{font-family:Antonio,sans-serif;font-weight:300;font-size:30px;margin:0 0 18px}
.tabela{width:100%;border-collapse:collapse}
.tabela th,.tabela td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
.tabela th{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:600}
.tabela td a{color:var(--ink)}
.bloco{border-top:1px solid var(--line);padding:18px 0 24px}
.bloco h3{margin:0 0 12px;font-family:Antonio,sans-serif;font-weight:300;font-size:21px}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:12px}
.tiles div{background:var(--s1);border:1px solid var(--line);padding:12px;color:var(--soft);font-size:12.5px}
.tiles b{display:block;font-family:Antonio,sans-serif;font-weight:300;font-size:26px;color:var(--ink)}
.barra{display:grid;grid-template-columns:170px 1fr auto;gap:12px;align-items:center;padding:5px 0;font-size:13px}
.barra .rot{color:var(--soft)}
.barra .tr{background:var(--s2);height:10px;display:block}
.barra i{display:block;height:100%;background:var(--gold)}
.periodo{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:18px}
.periodo a{color:var(--soft);padding:8px 2px;border-bottom:1px solid transparent}
.periodo a.on{color:var(--ink);border-color:var(--gold)}
.periodo label{font-size:12px;color:var(--mute)}
.cfg{list-style:none;margin:0 0 12px;padding:0}
.cfg li{display:flex;gap:8px;align-items:center;padding:4px 0}
.cfg li input{max-width:320px}
.cfg li span{min-width:220px}
.cfg button{color:var(--soft);padding:6px 8px}
.cfg button:hover{color:var(--ink)}
.adiciona{display:flex;gap:8px;max-width:420px}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:end;font-size:12.5px;color:var(--soft)}
dialog{background:var(--s1);color:var(--ink);border:1px solid var(--line);padding:22px;width:min(380px,calc(100vw - 32px))}
dialog::backdrop{background:rgba(0,0,0,.6)}
dialog h3{margin:0 0 12px;font-family:Antonio,sans-serif;font-weight:300;font-size:22px}
dialog label,.login label{display:grid;gap:4px;margin-bottom:10px;font-size:12.5px;color:var(--soft)}
.dlg-acoes{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}
.dlg-erro,.erro{color:var(--bad);font-size:13px}
.tela-login{display:grid;place-items:center;padding:16px}
.login{width:min(340px,100%)}
.login .marca{font-size:30px;margin-bottom:20px}
.login .novo{width:100%}
.toast.ok{background:#2f5d46}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--bad);color:#fff;padding:10px 16px;z-index:9}
.grade-painel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.quad{background:var(--s1);border:1px solid var(--line);padding:18px;min-width:0}
.quad.larga{grid-column:1/-1}
.quad h3{margin:0 0 14px;font-family:Antonio,sans-serif;font-weight:300;font-size:21px}
.quad svg{display:block;width:100%;height:auto}
.quad .tiles{margin-bottom:12px}
.quad .tiles div{background:var(--s2);border:0}
.grade{stroke:var(--line);stroke-width:1}
.eixo{fill:var(--mute);font:11px Inter,sans-serif}
.rot{fill:var(--soft);font:13px Inter,sans-serif}
.val{fill:var(--ink);font:300 20px Antonio,sans-serif}
.centro{fill:var(--ink);font:300 30px Antonio,sans-serif}
.centro.grande{font-size:36px}
.alvo{cursor:default}
.alvo:hover{opacity:.82}
.rosca{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:20px;align-items:center}
.legenda{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:7px;font-size:13px;color:var(--soft)}
.legenda li{display:flex;align-items:center;gap:8px}
.legenda i{width:10px;height:10px;border-radius:3px;flex:none}
.legenda b{margin-left:auto;font-weight:500;color:var(--ink)}
.tira{display:flex;gap:2px;height:16px}
.tira i{display:block;min-width:4px}
.tira i:first-child{border-radius:6px 0 0 6px}
.tira i:last-child{border-radius:0 6px 6px 0}
.medidor{max-width:280px;margin:0 auto 14px}
.nota-grafico{margin:10px 0 0;color:var(--mute);font-size:12.5px}
.dica{position:fixed;left:0;top:0;background:#000;border:1px solid var(--line);color:var(--ink);padding:6px 9px;font-size:12.5px;pointer-events:none;z-index:20;white-space:nowrap}
.duas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.linha{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.linha small{font-size:12.5px}
.duas .bloco{max-height:340px;overflow:auto}
input[type=date],input[type=datetime-local]{color-scheme:dark}
@media (max-width:760px){
 .grade-painel,.duas{grid-template-columns:1fr}
 .rosca{grid-template-columns:1fr}
 .rosca svg{max-width:200px;margin:0 auto}
 .top{gap:12px;padding:12px 14px;flex-wrap:wrap}
 .abas{order:3;width:100%;overflow:auto}
 .novo{padding:6px 10px;margin-left:auto}
 .busca{order:4;width:100%;margin:0}
 .hoje{padding:10px 14px}
 .quadro{display:none}
 .lista{display:block}
 .det{position:absolute;inset:0;width:auto;border:0;display:none;z-index:2}
 .det.aberto{display:block}
 .fecha{display:block}
 .op{display:none}
 .barra{grid-template-columns:110px 1fr auto}
 .cfg li{flex-wrap:wrap}
}

.acoes{display:flex;gap:8px;margin-bottom:18px}
.acoes .wa{flex:1;margin:0}
.wa.ig{background:transparent;color:var(--gold);border:1px solid var(--gold)}
.msg-lead{background:var(--s2);border:1px solid var(--line);padding:10px;margin-bottom:8px}
.msg-lead small{margin-bottom:6px}
.msg-lead textarea,.msg textarea{width:100%;resize:vertical;line-height:1.5;margin-bottom:8px;font-size:13.5px}
.falta{color:var(--gold);font-size:12.5px;margin:0 0 8px}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.campos label{display:grid;gap:3px;font-size:11px;color:var(--mute)}
.campos .larga{grid-column:1/-1}
.campos input.pede{border-color:var(--gold)}
.mensagens .msg{background:var(--s1);border:1px solid var(--line);padding:14px;margin-bottom:10px}
.msg-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:8px}
.msg-top small{display:inline}
.mensagens .grupo{font-family:Antonio,sans-serif;font-weight:300;font-size:19px;margin:22px 0 10px;color:var(--soft)}
.mensagens .ret button[disabled]{opacity:.35;cursor:default}
.salvo{align-self:center;color:var(--mute);font-size:12px;min-width:40px}
.segmentos{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.segmentos label{display:grid;gap:4px;font-size:12px;color:var(--mute);min-width:220px}
.segmentos .nota-grafico{flex-basis:100%}
.campos-ajuda p,.checklist{color:var(--soft);font-size:13px;line-height:1.7;margin:0}
code{background:var(--s2);padding:1px 6px;font-size:12.5px;color:var(--gold)}
.dica-form{color:var(--mute);font-size:12.5px;margin:-4px 0 12px}
dialog details{margin-bottom:10px;color:var(--soft);font-size:12.5px}
dialog summary{cursor:pointer;margin-bottom:8px}
.info{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;border:1px solid var(--mute);color:var(--soft);font:600 10.5px/1 Inter,sans-serif;font-style:italic;margin-left:6px;vertical-align:middle;padding:0;text-transform:none;letter-spacing:0}
.info:hover,.info:focus-visible{border-color:var(--gold);color:var(--gold)}
.dica{max-width:min(320px,calc(100vw - 16px));white-space:normal;line-height:1.45}
.ajuda{margin-left:12px;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);color:var(--soft);font-weight:600}
.ajuda:hover{border-color:var(--gold);color:var(--gold)}
.top .ajuda + .novo{margin-left:12px}
.tour-alvo{position:relative;z-index:31;outline:2px solid var(--gold);outline-offset:4px;box-shadow:0 0 0 9999px rgba(0,0,0,.55)}
.tour-balao{position:fixed;left:0;top:0;background:var(--s1);border:1px solid var(--gold);padding:16px;z-index:40;box-shadow:0 10px 40px rgba(0,0,0,.6)}
.tour-balao small{color:var(--mute);font-size:11px;letter-spacing:.06em}
.tour-balao h4{margin:4px 0 6px;font-family:Antonio,sans-serif;font-weight:300;font-size:22px;color:var(--ink)}
.tour-balao p{margin:0 0 14px;color:var(--soft);font-size:13.5px;line-height:1.55}
.tour-acoes{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tour-acoes [data-tsair]{color:var(--mute);font-size:12.5px;text-decoration:underline}
.tour-faca{color:var(--gold);font-size:12.5px}
.tour-menu{display:grid;gap:8px;margin-bottom:12px}
.tour-menu button{text-align:left}
.larga-grade{grid-column:1/-1;margin:6px 0 0}

.rot-seg{font-size:12px;color:var(--mute);align-self:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.segmentos select{min-width:220px}
.campos input:disabled{opacity:.45}
@media (max-width:760px){ .top .ajuda{margin-left:auto} .top .ajuda + .novo{margin-left:8px} }
.oauth h1{font-family:Antonio,sans-serif;font-weight:300;font-size:26px;margin:0 0 8px}
.oauth p{color:var(--soft);line-height:1.6}
.oauth b{color:var(--ink)}
.permissoes{color:var(--soft);line-height:1.6;padding-left:18px;margin:0 0 12px}
.oauth .dlg-acoes button{padding:9px 14px}
