/* Portal do cliente · tema claro do kit do Grupo Diga (Sora + Space Grotesk, neutros frios, um azul de ação).
   A cor do cliente entra como acento (--cli) e só vira cor de botão se tiver contraste com branco (o JS decide). */
:root{
  --bg:#F4F5F7; --sup:#FFFFFF; --sup2:#F8F9FB; --sup3:#EEF0F3; --borda:#E1E4E9; --linha:#ECEEF1;
  --tx:#14171C; --tx2:#454C57; --tx3:#646B76;
  --acao:#2563C9; --acao-h:#1D4FA3; --acao-tx:#FFFFFF; --acao-f:#E9F0FB;
  --cli:#2563C9; --cli-f:#E9F0FB;
  --ok:#17794C; --ok-f:#E3F3EA; --at:#875800; --at-f:#FBF0D9; --fo:#B23C17; --fo-f:#FCEBE5;
  --az:#1F5BB8; --az-f:#E7EFFB; --vi:#6542C2; --vi-f:#EEE9FA; --ne:#525A66; --ne-f:#EEF0F3;
  --f-tit:'Sora',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-txt:'Space Grotesk',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --r:16px; --r-s:10px; --sombra:0 1px 2px rgba(20,23,28,.04),0 8px 24px rgba(20,23,28,.05);
  --lado:max(16px,env(safe-area-inset-left,0px)); --lado-d:max(16px,env(safe-area-inset-right,0px));
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--tx);font:400 15px/1.6 var(--f-txt);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:40;background:var(--sup)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
a{color:var(--acao)}
img,video{max-width:100%}
h1,h2,h3{font-family:var(--f-tit);margin:0;text-wrap:balance;font-weight:400}
p{margin:0}
:focus-visible{outline:2px solid var(--acao);outline-offset:2px;border-radius:6px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}
.num{font-variant-numeric:tabular-nums}
[hidden]{display:none!important}
.carregando{min-height:60vh;display:grid;place-items:center;color:var(--tx3)}

/* ---------- topo e navegação ---------- */
.sim{position:sticky;top:env(safe-area-inset-top,0px);z-index:31;display:flex;gap:8px;align-items:center;justify-content:center;background:#14171C;color:#fff;font:500 13px/1.3 var(--f-txt);padding:8px var(--lado-d) 8px var(--lado)}
.topo{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--borda);padding-left:var(--lado);padding-right:var(--lado-d)}
.sim+.topo{top:calc(env(safe-area-inset-top,0px) + 36px)}
.topo-in{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:16px;min-height:62px}
.logo-cli{display:flex;align-items:center;text-decoration:none;color:var(--tx);min-width:0;flex:none}
.logo-img{display:block;height:34px;width:auto;max-width:150px;object-fit:contain}
.wm{font:600 15px/1.2 var(--f-tit);letter-spacing:.04em;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw}
.abas{display:none;gap:2px;margin-left:8px;flex:1;min-width:0;overflow-x:auto}
.aba{display:inline-flex;align-items:center;gap:7px;color:var(--tx2);text-decoration:none;font-weight:500;font-size:14px;padding:8px 12px;border-radius:999px;white-space:nowrap}
.aba:hover{background:var(--sup3);color:var(--tx)}
.aba[aria-current]{background:var(--cli-f);color:var(--tx)}
.aba[aria-current] svg{color:var(--cli)}
.bdg{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--acao);color:var(--acao-tx);font:600 11px/18px var(--f-txt);text-align:center}
.eu{position:relative;margin-left:auto;flex:none}
.eu-b{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;border:1px solid var(--borda);background:var(--sup)}
.eu-b:hover{background:var(--sup2)}
.av{width:30px;height:30px;border-radius:50%;background:var(--cli-f);color:var(--tx);display:grid;place-items:center;font:600 11.5px var(--f-txt)}
.eu-n{font-weight:500;font-size:14px;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.menu{position:absolute;right:0;top:calc(100% + 8px);width:min(300px,calc(100vw - 32px));background:var(--sup);border:1px solid var(--borda);border-radius:var(--r);box-shadow:0 14px 40px rgba(20,23,28,.14);padding:8px;display:flex;flex-direction:column;z-index:50}
.menu-h{display:flex;flex-direction:column;padding:8px 10px 10px;border-bottom:1px solid var(--linha);margin-bottom:6px;font-size:13px;color:var(--tx3);word-break:break-word}
.menu-h b{font-weight:500;font-size:14.5px;color:var(--tx)}
.menu a,.menu button{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r-s);text-decoration:none;color:var(--tx);font-size:14px;text-align:left;width:100%}
.menu a:hover,.menu button:hover{background:var(--sup3)}
.menu-n{font-size:12px;color:var(--tx3);padding:0 10px 8px 36px}
.sw{margin-left:auto;width:34px;height:20px;border-radius:999px;background:var(--borda);position:relative;flex:none;transition:background .2s}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .2s}
.sw.on{background:var(--acao)} .sw.on::after{transform:translateX(14px)}
.baixo{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--borda);padding:6px var(--lado-d) calc(6px + env(safe-area-inset-bottom,0px)) var(--lado)}
.baixo a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;color:var(--tx3);text-decoration:none;font-size:11px;font-weight:500;border-radius:var(--r-s);position:relative;min-width:0}
.baixo a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.baixo a[aria-current]{color:var(--tx)} .baixo a[aria-current] svg{color:var(--cli)}
.baixo .bdg{position:absolute;top:0;left:calc(50% + 6px);min-width:16px;height:16px;line-height:16px;font-size:10px}
.fab{position:fixed;right:var(--lado-d);bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:29;display:inline-flex;align-items:center;gap:6px;background:var(--tx);color:#fff;text-decoration:none;font-weight:500;font-size:14px;padding:11px 16px;border-radius:999px;box-shadow:0 6px 20px rgba(20,23,28,.22)}
.fab:hover{background:#2A2F37}
.so-cel{display:flex}
.aba.extra{display:none}
@media (min-width:760px){
  .abas{display:flex} .baixo{display:none}
  .fab{bottom:calc(28px + env(safe-area-inset-bottom,0px))}
}
@media (min-width:760px) and (max-width:959px){ .aba svg{display:none} .aba{padding:8px 10px} }
/* Financeiro e Pessoas (gestor) só cabem como abas em tela larga; antes disso ficam no menu da pessoa */
@media (min-width:1200px){ .aba.extra{display:inline-flex} .so-cel{display:none!important} }

/* ---------- página ---------- */
.pg{max-width:1080px;margin:0 auto;padding:28px var(--lado-d) 150px var(--lado);display:flex;flex-direction:column;gap:30px}
@media (min-width:760px){.pg{padding-bottom:110px;padding-top:36px}}
.estreito{max-width:760px;width:100%;display:flex;flex-direction:column;gap:22px}
.ola{font:300 clamp(26px,4vw,34px)/1.15 var(--f-tit);letter-spacing:-.01em}
.tit{font:300 clamp(26px,4vw,34px)/1.15 var(--f-tit);letter-spacing:-.01em}
.sub{color:var(--tx2);max-width:62ch}
.ph{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;justify-content:space-between}
.ph>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.sec{display:flex;flex-direction:column;gap:12px}
.sec>h2,.sec-h h2{font:400 18px/1.3 var(--f-tit)}
.sec-h{display:flex;align-items:center;gap:10px}
.sec-h .n{font:500 12px/20px var(--f-txt);min-width:22px;height:20px;text-align:center;border-radius:999px;background:var(--acao);color:var(--acao-tx);padding:0 6px}
.voltar{display:inline-flex;align-items:center;gap:4px;color:var(--tx2);text-decoration:none;font-size:14px;font-weight:500;align-self:flex-start;padding:4px 8px 4px 2px;border-radius:var(--r-s)}
.voltar:hover{color:var(--tx);background:var(--sup3)}
.vazio{background:var(--sup);border:1px dashed var(--borda);border-radius:var(--r);padding:20px;color:var(--tx3);font-size:14px}
.nota{font-size:13px;color:var(--tx3)}
.txt{white-space:pre-wrap;word-break:break-word}
.rod{max-width:1080px;margin:0 auto;padding:0 var(--lado-d) 110px var(--lado);display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--tx3)}
@media (min-width:760px){.rod{padding-bottom:36px}}
.assin{display:inline-flex;align-items:center;gap:7px}
.ponto{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--tx3);flex:none}

/* ---------- elementos ---------- */
.chip{display:inline-flex;align-items:center;gap:5px;font:500 12px/1.4 var(--f-txt);padding:2px 9px;border-radius:999px;background:var(--ne-f);color:var(--ne);white-space:nowrap}
.chip svg{flex:none}
.chip.ok{background:var(--ok-f);color:var(--ok)} .chip.at{background:var(--at-f);color:var(--at)} .chip.fo{background:var(--fo-f);color:var(--fo)}
.chip.az{background:var(--az-f);color:var(--az)} .chip.vi{background:var(--vi-f);color:var(--vi)} .chip.am{background:var(--at-f);color:var(--at)} .chip.ne{background:var(--ne-f);color:var(--ne)}
.chip.cli{background:var(--cli-f);color:var(--tx)}
.bt{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 18px;border-radius:999px;font-weight:500;font-size:14.5px;line-height:1.2;text-decoration:none;border:1px solid var(--borda);background:var(--sup);color:var(--tx);text-align:center}
.bt:hover{background:var(--sup3)}
.bt.pri{background:var(--acao);border-color:var(--acao);color:var(--acao-tx)}
.bt.pri:hover{background:var(--acao-h);border-color:var(--acao-h)}
.bt.lk{border-color:transparent;background:none;color:var(--acao);padding-left:10px;padding-right:10px}
.bt.lk:hover{background:var(--acao-f)}
.bt.perigo{color:var(--fo);border-color:#F1C9BC}
.bt.perigo:hover{background:var(--fo-f)}
.bt.p{min-height:34px;padding:6px 13px;font-size:13.5px}
.bt.grande{min-height:50px;font-size:15.5px;padding:12px 24px}
.bt[disabled]{opacity:.55;cursor:default;pointer-events:none}
.acoes{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.card{background:var(--sup);border:1px solid var(--borda);border-radius:var(--r);padding:18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.msg{background:var(--sup);border:1px solid var(--borda);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.msg b{font-weight:500}
.msg.at{background:var(--at-f);border-color:#F0DDB2}
.msg.fo{background:var(--fo-f);border-color:#F1C9BC}
.msg.ok{background:var(--ok-f);border-color:#BFE3CF}
.msg.az{background:var(--acao-f);border-color:#C9DAF5}

/* ---------- início ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.cv{background:var(--sup);border:1px solid var(--borda);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;min-width:0}
.cv .k{font:500 11px/1.4 var(--f-txt);letter-spacing:.08em;text-transform:uppercase;color:var(--tx3)}
.cv .k.urg{color:var(--fo)}
.cv b{font-weight:500;font-size:15px;line-height:1.4;word-break:break-word}
.cv .s{font-size:13px;color:var(--tx3)}
.cv .bt{margin-top:auto}
.nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.nums>*{background:var(--sup);border:1px solid var(--borda);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--tx);min-width:0}
.nums a:hover{border-color:#CBD0D8}
.nums b{font:300 28px/1.1 var(--f-tit);font-variant-numeric:tabular-nums}
.nums span{font-size:12.5px;color:var(--tx3);line-height:1.35}
.duas{display:grid;grid-template-columns:1fr;gap:30px}
@media (min-width:900px){.duas{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}
.contato dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin:0;font-size:14px}
.contato dt{color:var(--tx3)} .contato dd{margin:0;word-break:break-word}

/* ---------- linha do projeto ---------- */
.mini{display:flex;flex-direction:column;gap:10px}
.mini-b{display:flex;gap:3px}
.mini-b i{flex:1;height:7px;border-radius:4px;background:var(--borda)}
.mini-b i.f{background:var(--cli)} .mini-b i.a{background:var(--cli);box-shadow:0 0 0 2px var(--sup),0 0 0 3.5px var(--cli)}
.mini p{font-size:14px;color:var(--tx2)} .mini p b{color:var(--tx);font-weight:500}
.mini .bt,.card>.bt{align-self:flex-start}
.linha{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.linha li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:0 12px;position:relative;padding-bottom:16px}
.linha li:last-child{padding-bottom:0}
.linha li::before{content:"";position:absolute;left:13px;top:24px;bottom:-2px;width:2px;background:var(--borda)}
.linha li:last-child::before{display:none}
.linha li.feita::before{background:var(--cli)}
.linha .bol{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--borda);background:var(--sup);color:var(--tx3);z-index:1}
.linha li.feita .bol{background:var(--cli);border-color:var(--cli);color:#fff}
.linha li.atual .bol{border-color:var(--cli);color:var(--cli);box-shadow:0 0 0 4px var(--cli-f)}
.linha .lt{display:flex;flex-direction:column;gap:2px;padding-top:3px;min-width:0}
.linha .lt b{font-weight:500}
.linha li.futura .lt b{color:var(--tx3);font-weight:400}
.linha .lt span{font-size:13px;color:var(--tx3)}

/* ---------- listas ---------- */
.lst{list-style:none;margin:0;padding:0;background:var(--sup);border:1px solid var(--borda);border-radius:var(--r);overflow:hidden}
.lst li+li{border-top:1px solid var(--linha)}
.lst a.it,.lst .it{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:14px 16px;text-decoration:none;color:var(--tx)}
.lst a.it:hover{background:var(--sup2)}
.it-i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--ne-f);color:var(--ne)}
.it-i.fo{background:var(--fo-f);color:var(--fo)} .it-i.az{background:var(--az-f);color:var(--az)} .it-i.vi{background:var(--vi-f);color:var(--vi)} .it-i.am{background:var(--at-f);color:var(--at)} .it-i.ok{background:var(--ok-f);color:var(--ok)} .it-i.at{background:var(--at-f);color:var(--at)}
.it-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.it-t b{font-weight:500;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}
.it-t span{font-size:12.5px;color:var(--tx3);display:flex;flex-wrap:wrap;gap:2px 10px}
.it-f{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
@media (max-width:560px){
  .lst a.it,.lst .it{grid-template-columns:auto minmax(0,1fr)}
  .it-f{grid-column:2;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start}
}
.filtros{display:flex;flex-direction:column;gap:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip-s{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--borda);background:var(--sup);border-radius:999px;padding:7px 13px;font-size:13.5px;font-weight:500;color:var(--tx2);min-height:38px}
.chip-s:hover{border-color:#C6CCD5;color:var(--tx)}
.chip-s[aria-pressed="true"]{border-color:var(--acao);background:var(--acao-f);color:var(--tx)}
.chip-s[aria-pressed="true"] svg{color:var(--acao)}
.chip-s small{font-size:12px;color:var(--tx3);font-variant-numeric:tabular-nums}
.chip-s.fo[aria-pressed="true"]{border-color:var(--fo);background:var(--fo-f)} .chip-s.fo svg{color:var(--fo)}
.chip-s.vi svg{color:var(--vi)} .chip-s.az svg{color:var(--az)} .chip-s.am svg{color:var(--at)}
.vis{display:none;gap:4px;background:var(--sup3);border-radius:999px;padding:3px}
.vis button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:500;color:var(--tx2)}
.vis button[aria-pressed="true"]{background:var(--sup);color:var(--tx);box-shadow:0 1px 2px rgba(0,0,0,.06)}
.quadro{display:none}
@media (min-width:900px){
  .vis{display:inline-flex}
  .quadro{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:start}
  .quadro.on+.lst-wrap{display:none}
}
.quadro:not(.on){display:none}
.col{background:var(--sup3);border-radius:var(--r);padding:10px;display:flex;flex-direction:column;gap:8px;min-width:0}
.col h3{font:500 13px/1.3 var(--f-txt);color:var(--tx2);display:flex;justify-content:space-between;padding:2px 4px}
.qc{display:flex;flex-direction:column;gap:6px;background:var(--sup);border:1px solid var(--borda);border-radius:12px;padding:10px 12px;text-decoration:none;color:var(--tx);min-width:0}
.qc:hover{border-color:#C6CCD5}
.qc b{font-weight:500;font-size:13.5px;line-height:1.35;word-break:break-word}
.qc span{font-size:12px;color:var(--tx3)}
.qc .chips{gap:4px}

/* ---------- detalhe ---------- */
.det{display:flex;flex-direction:column;gap:16px}
.det-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.det-t{font:300 clamp(22px,3.2vw,28px)/1.25 var(--f-tit);word-break:break-word}
.porque{background:var(--sup);border:1px solid var(--borda);border-radius:var(--r);padding:12px 14px;font-size:14.5px;color:var(--tx2)}
.porque b{color:var(--tx);font-weight:500}
.dica{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--tx2)}
.dica svg{color:var(--cli);flex:none;margin-top:2px}
.dica b{color:var(--tx);font-weight:500}
.alt{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:14px;color:var(--tx3)}
.resp{background:var(--sup);border:1px solid var(--borda);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.resp-h{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:13px;color:var(--tx3)}
.resp-h b{color:var(--tx);font-weight:500;font-size:14px}
.tempo-l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.tempo-l li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px}
.tl-i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--ne-f);color:var(--ne)}
.tl-i.ok{background:var(--ok-f);color:var(--ok)} .tl-i.az{background:var(--az-f);color:var(--az)} .tl-i.at{background:var(--at-f);color:var(--at)}
.tl-c{display:flex;flex-direction:column;gap:6px;min-width:0;background:var(--sup);border:1px solid var(--borda);border-radius:var(--r);padding:12px 14px}
.tl-c .resp-h{margin:0}
.dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 16px;margin:0;font-size:14px}
.dl dt{color:var(--tx3)} .dl dd{margin:0;word-break:break-word}

/* ---------- anexos exibidos ---------- */
.axs{display:flex;flex-direction:column;gap:8px}
.ax{display:flex;flex-direction:column;gap:6px;min-width:0}
.ax-img img{display:block;max-height:260px;width:auto;border-radius:12px;border:1px solid var(--borda)}
.ax-m{display:flex;flex-direction:column;gap:6px;min-width:0}
.ax-n{display:inline-flex;gap:6px;align-items:center;font-size:13px;color:var(--tx2);word-break:break-all}
.ax-m audio{width:100%;max-width:420px}
.ax-m video{width:100%;max-width:560px;border-radius:12px;background:#000}
.ax-doc{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--borda);border-radius:12px;background:var(--sup2);text-decoration:none;color:var(--tx);font-size:13.5px;max-width:100%;align-self:flex-start}
.ax-doc span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ax-doc small{color:var(--tx3);flex:none}
.ax-doc:hover{border-color:#C6CCD5}
.ax-tr{font-size:13.5px;color:var(--tx2);background:var(--sup2);border:1px solid var(--linha);border-radius:12px;padding:8px 12px}
.ax-tr summary{cursor:pointer;font-weight:500;color:var(--tx)}
.ax-tr p{margin-top:6px;white-space:pre-wrap}
.ax-nota{font-size:12.5px;color:var(--tx3)}

/* ---------- compositor ---------- */
.comp{display:flex;flex-direction:column;gap:12px}
.comp-bts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:640px){.comp-bts{grid-template-columns:repeat(4,minmax(0,1fr))}}
.cb{display:flex;align-items:center;gap:10px;text-align:left;padding:12px;border:1px solid var(--borda);border-radius:14px;background:var(--sup);color:var(--tx);cursor:pointer;min-width:0;min-height:62px;position:relative}
.cb:hover{border-color:#C6CCD5;background:var(--sup2)}
.cb:focus-within{outline:2px solid var(--acao);outline-offset:2px}
.cb svg{flex:none;color:var(--acao)}
.cb span{display:flex;flex-direction:column;min-width:0}
.cb b{font-weight:500;font-size:14px;line-height:1.25}
.cb small{font-size:11.5px;color:var(--tx3);line-height:1.3}
.cb.pri{background:var(--acao);border-color:var(--acao);color:var(--acao-tx);grid-column:1/-1}
.cb.pri svg,.cb.pri small{color:var(--acao-tx)}
.cb.pri small{opacity:.88}
.cb.pri:hover{background:var(--acao-h)}
@media (min-width:640px){.cb.pri{grid-column:auto}}
.cb input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.comp-bts.off .cb{opacity:.5;pointer-events:none}
.comp-dica{font-size:13px;color:var(--tx3)}
.comp-tx{width:100%;min-height:88px;resize:vertical;border:1px solid var(--borda);border-radius:14px;background:var(--sup);padding:12px 14px;line-height:1.5}
.comp-tx:focus{outline:2px solid var(--acao);outline-offset:1px}
.so-leitura{font-size:13.5px;color:var(--tx3);background:var(--sup3);border-radius:12px;padding:10px 12px}
.comp-rec{background:var(--sup);border:1px solid var(--borda);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:12px}
.rec-h{display:flex;align-items:center;gap:10px;font-weight:500;flex-wrap:wrap}
.rec-dot{width:11px;height:11px;border-radius:50%;background:#D93025;animation:pulso 1.4s ease-in-out infinite;flex:none}
.rec-dot.pausa{animation:none;background:var(--tx3)}
@keyframes pulso{50%{opacity:.35}}
.rec-t{font:400 22px/1 var(--f-tit);font-variant-numeric:tabular-nums}
.rec-max{font-size:12.5px;color:var(--tx3)}
.rec-prev audio{width:100%}
.rec-prev video{width:100%;max-height:340px;border-radius:12px;background:#000}
.rec-av{font-size:14px;color:var(--tx2);background:var(--at-f);border-radius:12px;padding:10px 12px}
.comp-anx{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.comp-anx:empty{display:none}
.ai{background:var(--sup);border:1px solid var(--borda);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.ai-l{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}
.ai-l>svg{color:var(--tx3)}
.ai-t{display:flex;flex-direction:column;min-width:0}
.ai-t b{font-weight:500;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-s{font-size:12.5px;color:var(--tx3)}
.ai-s.ok{color:var(--ok)} .ai-s.fo{color:var(--fo)}
.ic{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--tx3)}
.ic:hover{background:var(--sup3);color:var(--tx)}
.barra{height:6px;border-radius:999px;background:var(--sup3);overflow:hidden}
.barra i{display:block;height:100%;width:0;background:var(--acao);transition:width .2s}
.ai-acoes{display:flex;flex-wrap:wrap;gap:8px}
.ai-tr{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--tx3)}
.ai-tr textarea{width:100%;min-height:70px;resize:vertical;border:1px solid var(--borda);border-radius:10px;padding:8px 10px;font-size:14px;color:var(--tx);background:var(--sup2);line-height:1.5}
.ai-nota{font-size:12.5px;color:var(--tx3)}
.ai audio{width:100%;height:38px}

/* ---------- formulários ---------- */
.form{display:flex;flex-direction:column;gap:14px}
.campo{display:flex;flex-direction:column;gap:6px;min-width:0}
.campo>span,.rot{font-size:13px;font-weight:500;color:var(--tx2)}
.campo input,.campo select,.campo textarea,.inp{width:100%;min-height:44px;border:1px solid var(--borda);border-radius:12px;background:var(--sup);padding:10px 12px}
.campo input:focus,.campo select:focus,.campo textarea:focus,.inp:focus{outline:2px solid var(--acao);outline-offset:1px}
.campo input[readonly]{background:var(--sup3);color:var(--tx2)}
.campo small{font-size:12.5px;color:var(--tx3)}
fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;min-width:0}
legend{padding:0;margin-bottom:8px}
.ck{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;cursor:pointer}
.ck input{width:20px;height:20px;margin-top:1px;accent-color:var(--acao);flex:none}
.grade2{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width:640px){.grade2{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- financeiro e pessoas ---------- */
.mes{display:flex;flex-direction:column;gap:8px}
.mes h3{font:500 13px/1.3 var(--f-txt);letter-spacing:.08em;text-transform:uppercase;color:var(--tx3)}
.parc{background:var(--sup);border:1px solid var(--borda);border-radius:var(--r);padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:start}
.parc-v{font:300 22px/1.1 var(--f-tit);font-variant-numeric:tabular-nums;text-align:right}
.parc-v small{display:block;font:400 12px var(--f-txt);color:var(--tx3);margin-top:4px}
.parc-d{display:flex;flex-direction:column;gap:4px;min-width:0}
.parc-d b{font-weight:500}
.parc-d span{font-size:13px;color:var(--tx3)}
.parc-a{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ld{display:flex;gap:6px;align-items:center;grid-column:1/-1;min-width:0}
.ld input{flex:1;min-width:0;font:13px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;border:1px solid var(--borda);border-radius:10px;background:var(--sup2);padding:9px 10px;color:var(--tx2)}
.pes{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:center;padding:14px 16px}
.pes .av{width:36px;height:36px}
.pes-t{display:flex;flex-direction:column;min-width:0}
.pes-t b{font-weight:500}
.pes-t span{font-size:13px;color:var(--tx3);word-break:break-all}
.pes-a{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;align-items:center}

/* ---------- entrada (login, convite) ---------- */
.ent{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px var(--lado-d) 32px var(--lado)}
.ent-c{width:100%;max-width:400px;background:var(--sup);border:1px solid var(--borda);border-radius:22px;box-shadow:var(--sombra);padding:32px 28px;display:flex;flex-direction:column;gap:18px}
@media (max-width:420px){.ent-c{padding:26px 20px}}
.ent-logo{display:flex;align-items:center;min-height:40px}
.ent-logo .logo-img{height:44px;max-width:220px}
.ent-logo .wm{font-size:18px;max-width:100%}
.ent-eb{font:500 11.5px/1.4 var(--f-txt);letter-spacing:.14em;text-transform:uppercase;color:var(--tx3)}
.ent h1{font:300 26px/1.2 var(--f-tit);letter-spacing:-.01em;word-break:break-word}
.ent-msg{font-size:14px;border-radius:12px;padding:10px 12px;background:var(--fo-f);color:var(--fo)}
.ent-msg.ok{background:var(--ok-f);color:var(--ok)}
.ent-msg.ne{background:var(--sup3);color:var(--tx2)}
.ent-n{font-size:13px;color:var(--tx3)}
.ent-rod{font-size:12.5px;color:var(--tx3);display:inline-flex;align-items:center;gap:7px}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:calc(140px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(10px);z-index:60;max-width:min(520px,calc(100vw - 32px));background:#14171C;color:#fff;font-size:14px;padding:11px 16px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;text-align:center}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
@media (min-width:760px){.toast{bottom:calc(32px + env(safe-area-inset-bottom,0px))}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
