/* nucleo.css — o CSS do núcleo do Node Hub (index.html). Stark A (agente de IA, núcleo).
   V5.0, ciclos 3 e 4 (24/09/2026): saiu do <style> do index.html para o arquivo principal ficar no teto de ~600 KB
   (CHECKPOINT-V5.0 §C3.5). Publica-se JUNTO com o index.html: o núcleo confere a versão abaixo e avisa se vier outra.
   Ordem na página: depois dos mod-*.css, como era o <style> (a cascata não muda). */
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url("fonts/InterVariable.woff2") format("woff2")}
:root{--nucleo-css:"5.3"}
/* Node Hub (até 21/09 "Tarefas e Esteira Node") — V3.2, a semente do Node OS.
   Stark (agente de IA, coordenação técnica), 21/09/2026. Brief: apps/os/BRIEF-V3.md.
   Formato Artifact: este arquivo é o conteúdo do <body>. Tema só claro, por pedido do Duds.
   Cores e curvas vêm de _site_NODE/base/tokens.css e base/src/10_style.html (o kit do site). */
:root{
  /* V5.1: os tokens do site vêm de tokens.css (cópia de base/tokens.css, publicada junto e carregada antes deste arquivo;
     testes/t-fiocampo.mjs confere a cópia e o valor). Aqui, só os que a base não tem: */
  --tk-green-rgb:15,185,133;--tk-red-rgb:216,73,63;--tk-profundo:#113652;
  /* só do OS */
  --tk-ambar:#C98A0B;--tk-ambar-rgb:201,138,11;   /* "Revisão" e "esperando": semântico, não decorativo (brief §4) */
  --tk-branco:#FFFFFF;
  /* verde e vermelho como TEXTO (AA): #0A7A57 = 5,3:1 no branco e 4,8:1 no papel; #B3261E = 6,6:1 e 5,9:1.
     #0FB985 e #D8493F ficam para preenchimento, bolinha, barra e botão. (Lince, 21/09) */
  --tk-verde-txt:#0A7A57;--tk-vermelho-txt:#B3261E;                            /* superfície dos cards e da gaveta: "sempre tema WHITE" (Duds, 21/09) */

  --paper:var(--tk-paper);--card:var(--tk-card);--sup:var(--tk-branco);
  --ink:var(--tk-ink);
  --ink2:rgba(var(--tk-ink-rgb),.7);   /* secundária — 7,6:1 no branco */
  --ink3:rgba(var(--tk-ink-rgb),.6);   /* terciária de texto — 5,1:1 no branco, 4,9:1 no papel (AA) */
  --ink4:rgba(var(--tk-ink-rgb),.34);  /* só ornamento e item desativado, nunca texto de leitura */
  --line:rgba(var(--tk-ink-rgb),.11);--line2:rgba(var(--tk-ink-rgb),.22);
  --hover:rgba(var(--tk-ink-rgb),.035);--hover2:rgba(var(--tk-ink-rgb),.06);
  --chip:rgba(var(--tk-ink-rgb),.055);
  --verde-txt:var(--tk-verde-txt);--vermelho-txt:var(--tk-vermelho-txt);--green:var(--tk-green);--neblina:var(--tk-neblina);--blue:var(--tk-blue);--red:var(--tk-red);--ambar:var(--tk-ambar);
  --st-afazer:rgba(var(--tk-ink-rgb),.34);--st-fazendo:var(--tk-blue);--st-revisao:var(--tk-ambar);--st-feito:var(--tk-green);
  --font:Inter,'Helvetica Neue',Helvetica,Arial,sans-serif;   /* V5.4 (Duds, 02/10): Inter no Hub inteiro, a mesma do site (OFL 1.1, fonts/InterVariable.woff2); a Helvetica Neue fica de reserva */
  --ease:cubic-bezier(.16,1,.3,1);--ease-y:cubic-bezier(.2,0,.05,1);
  --sh-vidro:0 3px 3px rgba(var(--tk-shadow-rgb),.1);
  --sh-gaveta:0 30px 80px -20px rgba(var(--tk-shadow-rgb),.32),0 2px 8px rgba(var(--tk-shadow-rgb),.06);
  --sh-arraste:0 22px 44px -14px rgba(var(--tk-shadow-rgb),.34);
  --lat:240px;--lat-rec:64px;--m:12px;
  /* vidro (§16 F/G). Gaveta .88: menor valor que mantém o texto terciário em 4,5:1 mesmo com preto puro atrás
     (4,56:1; com .80 caía a 4,38:1 sobre a imagem da Aprovação). A CPU do vidro se resolve no descanso do campo de
     pontos (seção 18); o raio do blur quase não pesa. Se ainda precisar recuar: --vidro-raia-blur, depois --vidro-card-blur 8px */
  /* V4: apelidos para os módulos (CONTRATO-MODULOS.md) e o laranja da §2.4 (prioridade alta e prazo próximo) */
  --verde:var(--green);--vidro:var(--vidro-card);--vidro-forte:var(--vidro-card-hover);
  --azul-txt:#1D6FB0;   /* link e texto azul: 5,3:1 no branco (o --blue #2E8AD2 fica para ícone, borda e ponto); pedido do Stark B */
  --laranja:#D9730D;--laranja-txt:#9E4F00;   /* 4,7:1 no chip laranja sobre o papel (o pior caso); #B25A00 dava 4,1:1 (Lince) */
  --laranja-rgb:217,115,13;
  --vidro-gaveta:.88;--vidro-card-blur:12px;--vidro-raia-blur:6px;
  --vidro-card:rgba(255,255,255,.74);--vidro-card-hover:rgba(255,255,255,.9);
  --vidro-card-linha:inset 0 0 0 1px rgba(255,255,255,.8),0 0 0 1px rgba(14,14,14,.07);
  --vidro-chao:rgba(255,255,255,.65);
  /* V5.0 ciclo 2 — escalas com nome (DESIGN-HUB §2.7). Os módulos novos usam só estes; o CSS antigo migra quando for mexido */
  --t-rotulo:11px;--t-micro:11.5px;--t-meta:12.5px;--t-ui:13.5px;--t-corpo:14px;--t-item:15px;--t-janela:18px;--t-ficha:24px;--t-modulo:30px;--t-numero:40px;
  --e-0:2px;--e-1:4px;--e-2:8px;--e-3:12px;--e-4:16px;--e-5:20px;--e-6:24px;--e-8:32px;--e-9:36px;--e-10:40px;
  --r-kbd:5px;--r-chip:6px;--r-campo:8px;--r-item:10px;--r-card:12px;--r-menu:14px;--r-bloco:16px;--r-painel:18px;--r-gaveta:20px;--r-pilula:999px;
  --h-chip:22px;--h-pl:24px;--h-s:30px;--h-ico:32px;--h-campo:34px;--h-btn:36px;--h-linha:40px;--h-toque:44px;--h-topo:52px;
  --dur-1:.15s;--dur-2:.25s;--dur-3:.35s;--dur-pulso:.7s;
  --z-lateral:40;--z-massa:45;--z-ficha:50;--z-veu:55;--z-gaveta:60;--z-cobre:70;--z-menu:80;--z-toast:90;--z-arraste:95;
  --ficha-l:min(605px,calc(100vw - 35px));   /* V5.4: 15 px a menos, a calha de rolagem agora é de todos os módulos */
  --line-campo:rgba(var(--tk-ink-rgb),.45);   /* contorno de campo de formulário: 3,09:1 no branco (WCAG 1.4.11); o --line2 dava 1,64 */
  --verde-txt-forte:#08694B;                  /* verde em texto SOBRE fundo verde (chip "ok"): 5,44:1; o --verde-txt dava 4,33 */
  color-scheme:light;
}
*{box-sizing:border-box}
html{background:var(--paper);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 14px/1.55 var(--font);-webkit-font-smoothing:antialiased;min-height:100vh}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}
button{cursor:pointer;background:none;border:0;padding:0;text-align:inherit;text-transform:inherit}
h1,h2,h3,h4,p,ul,ol,figure{margin:0;padding:0}
ul,ol{list-style:none}
b,strong,th{font-weight:500}
a{color:var(--azul-txt);text-decoration:none}
a:hover{text-decoration:underline}
::selection{background:rgba(var(--tk-blue-rgb),.3)}
::placeholder{color:rgba(var(--tk-ink-rgb),.6);opacity:1}
:focus{outline:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
.ic{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lbl{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);font-variant-numeric:tabular-nums}
.num{font-variant-numeric:tabular-nums}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- fundo de pontos vivo (porte de base/src/40_core.html, sem os estágios escuros) ---------- */
#campo{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.app{position:relative;z-index:1}

/* ---------- barra lateral: painel de vidro do site ---------- */
.lateral{position:fixed;z-index:40;left:var(--m);top:var(--m);bottom:var(--m);width:var(--lat);display:flex;flex-direction:column;gap:16px;padding:14px 10px 10px;
  border-radius:18px;background:var(--tk-panel-light);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);
  box-shadow:var(--sh-vidro),inset 0 0 0 1px rgba(var(--tk-ink-rgb),.05);overflow:hidden auto;overscroll-behavior:contain;scrollbar-width:none}
.lat-topo{display:flex;align-items:center;gap:8px;min-height:32px;padding:0 4px 0 8px}
.logo{display:flex;align-items:center;gap:9px;color:var(--ink);min-width:0}
.logo svg{height:19px;width:auto;flex:none;display:block}
.logo .lbl{color:var(--ink2);transform:translateY(1px)}
.lat-rec{margin-left:auto;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--ink2);flex:none}
.lat-rec:hover{background:var(--hover2);color:var(--ink)}
.pessoa{display:flex;gap:2px;padding:3px;border-radius:12px;background:var(--chip)}
.pessoa button{flex:1;display:flex;align-items:center;gap:8px;height:34px;padding:0 9px;border-radius:9px;font-size:13px;font-weight:500;color:var(--ink2);min-width:0}
.pessoa button:hover{color:var(--ink)}
.pessoa button[aria-pressed=true]{background:var(--sup);color:var(--ink);box-shadow:0 1px 2px rgba(var(--tk-shadow-rgb),.08)}
.lat-grupo{display:flex;flex-direction:column;gap:2px}
.lat-grupo>.lbl{padding:4px 10px 6px}
.nv{position:relative;display:flex;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px 0 22px;border-radius:10px;font-size:13.5px;font-weight:500;color:var(--ink2);white-space:nowrap}
.nv::before{content:"";position:absolute;left:9px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%}
.nv:hover{background:var(--hover2);color:var(--ink)}
.nv[aria-current=page]{background:var(--sup);color:var(--ink);box-shadow:0 1px 2px rgba(var(--tk-shadow-rgb),.06)}
.nv[aria-current=page]::before{background:var(--green)}
.nv .ic{width:17px;height:17px}
.nv-t{overflow:hidden;text-overflow:ellipsis}
.nv-n{margin-left:auto;font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums}
.lat-pe{margin-top:auto;display:flex;flex-direction:column;gap:2px;padding-top:10px;border-top:1px solid var(--line)}
.conexao{display:flex;align-items:center;gap:9px;height:30px;padding:0 10px;font-size:12.5px;color:var(--ink2);white-space:nowrap}
.conexao i{width:7px;height:7px;border-radius:50%;background:var(--ink4);flex:none}
.conexao.vivo i{background:var(--green);box-shadow:0 0 0 3px rgba(var(--tk-green-rgb),.18)}
.conexao.ro i{background:var(--red)}
.nv kbd,.kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:5px;background:var(--chip);font:500 11px/1 var(--font);color:var(--ink2)}
.nv kbd{margin-left:auto}
.recolhida .lateral{width:var(--lat-rec);padding-inline:8px}
.recolhida .lat-topo{flex-direction:column;gap:10px;padding:0}
.recolhida .logo .lbl,.recolhida .lat-grupo>.lbl,.recolhida .nv-t,.recolhida .nv-n,.recolhida .nv kbd,.recolhida .p-nome,.recolhida .conexao span{display:none}
.recolhida .logo svg{height:14px}
.recolhida .lat-rec{margin:0}
.recolhida .pessoa{flex-direction:column}
.recolhida .pessoa button{justify-content:center;padding:0}
.recolhida .nv{justify-content:center;padding:0}
.recolhida .nv::before{left:3px}
.recolhida .conexao{justify-content:center;padding:0}

/* ---------- barra inferior (celular) ---------- */
.barra-inf{position:fixed;z-index:40;left:0;right:0;bottom:0;display:none;align-items:center;justify-content:space-around;gap:4px;
  padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));background:var(--tk-panel-light);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);
  box-shadow:0 -1px 0 var(--line),0 -3px 12px rgba(var(--tk-shadow-rgb),.05)}
.bi{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;min-width:0;height:50px;font-size:11px;font-weight:500;color:var(--ink2);border-radius:12px}
.bi .ic{width:20px;height:20px}
.bi[aria-current=page]{color:var(--ink)}
.bi[aria-current=page]::after{content:"";position:absolute;top:3px;left:50%;margin-left:13px;width:6px;height:6px;border-radius:50%;background:var(--green)}
.bi-n{position:absolute;top:2px;left:50%;margin-left:6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--ambar);color:var(--ink);font-size:10px;font-weight:500;display:grid;place-items:center}
.topo-m-acoes{display:flex;align-items:center;gap:2px}
.topo-m-acoes .g-b[aria-current=page]{color:var(--ink);background:var(--hover2)}
.bi-mais{flex:none;width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;margin:0 4px}
.bi-mais .ic{width:20px;height:20px}
.bi-mais[disabled]{opacity:.3}

/* ---------- conteúdo ---------- */
.conteudo{position:relative;min-width:0;padding:26px 28px calc(var(--fab-folga) + 8px) calc(var(--m) + var(--lat) + 28px)}   /* V5.0 c3: 96 de fundo, a última linha sai de baixo do botão da Nina (AUDITORIA C02) */
.recolhida .conteudo{padding-left:calc(var(--m) + var(--lat-rec) + 28px)}
.topo-m{display:none}
.mh{display:flex;flex-direction:column;gap:14px;margin-bottom:22px}
.aqui{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 14px 0 12px;border-radius:999px;background:var(--tk-glass-light);
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--sh-vidro);font:500 11.5px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
.aqui::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);flex:none}
.aqui span{color:var(--ink3)}
.mh-l1{display:flex;align-items:flex-end;justify-content:space-between;gap:14px 20px;flex-wrap:wrap}
.mh-h{font-size:30px;line-height:1.05;font-weight:500;letter-spacing:-.03em;min-width:0}
.mh-acoes{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.resumo{display:flex;flex-wrap:wrap;align-items:center;gap:2px 4px;font-size:14px;color:var(--ink2);margin-left:-8px}
.resumo .rs-sep{display:none}
.rs{display:inline-flex;align-items:baseline;gap:5px;padding:3px 8px;border-radius:8px;color:var(--ink2);white-space:nowrap}
.rs b{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}
.rs:hover{background:var(--hover2);color:var(--ink)}
.rs.on{background:var(--sup);box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink)}
.rs.alerta,.rs.alerta b{color:var(--vermelho-txt)}
.rs.hoje b{color:var(--laranja-txt)}
.rs-sep{color:var(--ink4);padding:0 1px}
.filtros{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fc{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:8px;background:var(--chip);font-size:12.5px;font-weight:500;color:var(--ink2);white-space:nowrap;max-width:100%}
.fc:hover{background:var(--hover2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.fc .ic{width:13px;height:13px}
.fc.on{background:var(--sup);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2);padding-right:4px}
.fc-v{overflow:hidden;text-overflow:ellipsis;max-width:180px}
.fc-x{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;color:var(--ink2)}
.fc-x:hover{background:var(--hover2);color:var(--ink)}
.fc-limpar{font-size:12.5px;font-weight:500;color:var(--ink2);padding:0 6px;height:30px}
.fc-limpar:hover{color:var(--ink);text-decoration:underline}

/* botões pílula do site */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.72);
  color:var(--ink);font:500 13px/1 var(--font);letter-spacing:-.005em;white-space:nowrap;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.btn:hover{border-color:var(--ink);text-decoration:none}
.btn .ic{width:15px;height:15px}
.btn-p{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn-p:hover{background:var(--green);border-color:var(--green);color:var(--tk-on-green)}
.btn-v{background:var(--green);border-color:var(--green);color:var(--tk-on-green)}
.btn-v:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn-s{height:30px;padding:0 12px;font-size:12.5px}
.btn-ic{width:36px;padding:0}
.btn-s.btn-ic{width:30px}
.btn[disabled],.btn[aria-disabled=true]{opacity:.35;pointer-events:none}
.seg{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--chip)}
.seg button{text-align:center;height:30px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:500;color:var(--ink2);white-space:nowrap}
.seg button:hover{color:var(--ink)}
.seg button[aria-pressed=true],.seg button[role=tab][aria-selected=true]{background:var(--sup);color:var(--ink);box-shadow:0 1px 2px rgba(var(--tk-shadow-rgb),.08)}
.busca{display:flex;align-items:center;height:36px;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.72);overflow:hidden;transition:width .35s var(--ease-y);width:36px}
.busca.aberta{width:240px;border-color:var(--ink)}
.busca:not(.aberta){overflow:visible}
.busca>button{width:34px;height:34px;display:grid;place-items:center;flex:none;color:var(--ink2)}
.busca input{flex:1;min-width:0;height:34px;border:0;background:none;padding:0 12px 0 0;font-size:13.5px}
.busca input::-webkit-search-cancel-button{display:none}
.busca:focus-within{box-shadow:0 0 0 2px var(--blue)}

.aviso{display:flex;align-items:flex-start;gap:12px;margin:-6px 0 18px;padding:11px 12px 11px 14px;border-radius:12px;background:rgba(var(--tk-red-rgb),.08);color:#8f2b24;font-size:13.5px;box-shadow:inset 0 0 0 1px rgba(var(--tk-red-rgb),.25)}
.aviso p{flex:1}
.aviso button{color:#8f2b24;display:grid;place-items:center;width:22px;height:22px;border-radius:6px}
.nota-vazia{max-width:520px;margin:40px auto;padding:28px;border-radius:16px;background:var(--sup);box-shadow:inset 0 0 0 1px var(--line);text-align:center;color:var(--ink2);font-size:14.5px}
.nota-vazia b{display:block;color:var(--ink);font-size:17px;margin-bottom:6px}

/* ---------- peças pequenas ---------- */
.av{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font:500 11px/1 var(--font);flex:none;box-shadow:0 0 0 2px var(--sup);
  background:var(--av-f,rgba(var(--tk-ink-rgb),.12));color:var(--av-t,var(--ink2))}
.av-anel{box-shadow:inset 0 0 0 1.5px var(--ink),0 0 0 2px var(--sup)}
.av-2{font-size:9.5px;letter-spacing:-.03em}
.av-mais{background:var(--sup);color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line2),0 0 0 2px var(--sup);font-size:10px;letter-spacing:-.02em}
.av-vz{box-shadow:none}
.av-fora{background:var(--chip);color:var(--ink2)}
.pessoa-it{display:inline-flex;align-items:center;gap:6px;margin-right:8px;white-space:nowrap}
.pessoa-it .av{box-shadow:none}
.pessoa-it .av-anel{box-shadow:inset 0 0 0 1.5px var(--ink)}
.avs{display:inline-flex;align-items:center;flex:none}
.avs .av+.av{margin-left:-2px}   /* avatar de duas letras (LG, RC) não pode ter a letra coberta */
.pessoa .av{box-shadow:none;width:20px;height:20px;font-size:10.5px}
.prio{display:inline-flex;align-items:flex-end;gap:2px;height:12px;flex:none}
.prio i{width:3px;border-radius:1px;box-shadow:inset 0 0 0 1px var(--line2)}
.prio i:nth-child(1){height:4px}.prio i:nth-child(2){height:6.5px}.prio i:nth-child(3){height:9px}.prio i:nth-child(4){height:12px}
.prio i.on{background:var(--ink);box-shadow:none}
.prio.urg i{background:var(--red);box-shadow:none}
.prio.desc i{box-shadow:inset 0 0 0 1px var(--ink4)}
.chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:6px;background:var(--chip);font-size:11.5px;letter-spacing:.005em;color:var(--ink2);white-space:nowrap;max-width:100%;min-width:0}
.chip>span{overflow:hidden;text-overflow:ellipsis;padding-right:1px}
.chip i.dot{width:7px;height:7px;border-radius:50%;flex:none;background:var(--c,var(--ink4))}
.chip.cheio{height:24px}
.chip.esp{background:rgba(var(--tk-ambar-rgb),.12);color:#7a5406}
.ic.pr{width:14px;height:14px;stroke-width:2}
.pr-urgente{color:var(--vermelho-txt)}.pr-alta{color:var(--ink)}.pr-media,.pr-baixa{color:var(--ink3)}
.chip.pr-chip{gap:4px;padding:0 8px 0 5px;color:var(--ink)}
.chip.pr-c-urgente{background:rgba(var(--tk-red-rgb),.08);color:var(--vermelho-txt)}
.chip.pr-c-baixa{color:var(--ink3)}
.ag{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ag::before{content:"";width:11px;height:11px;border-radius:50%;border:1.5px dashed currentColor;flex:none;box-sizing:border-box;opacity:.8}
.pl{display:inline-flex;align-items:center;gap:7px;height:24px;padding:0 10px 0 9px;border-radius:999px;font-size:12.5px;font-weight:500;color:var(--ink);white-space:nowrap;
  background:color-mix(in srgb,var(--c) 13%,var(--tk-branco))}
.pl::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c);flex:none}
.pt{width:8px;height:8px;border-radius:50%;flex:none;background:var(--c)}
.pt.vaz{background:none;box-shadow:inset 0 0 0 1.5px var(--ink2)}   /* V5.0: "ainda não é job" (Proposta); a neblina dava 1,39:1 e sumia */

/* ---------- colunas e cards ---------- */
.quadro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.col{display:flex;flex-direction:column;gap:8px;min-width:0;padding:6px 8px 8px;border-radius:16px;background:rgba(255,255,255,.38);box-shadow:inset 0 0 0 1px var(--line);
  -webkit-backdrop-filter:blur(var(--vidro-raia-blur));backdrop-filter:blur(var(--vidro-raia-blur));transition:background .15s,box-shadow .15s}
.col.alvo{background:rgba(var(--tk-neblina-rgb),.16);box-shadow:inset 0 0 0 1.5px rgba(var(--tk-green-rgb),.55)}
.col.alvo{outline:1.5px dashed rgba(var(--tk-green-rgb),.7);outline-offset:-1.5px;box-shadow:none}
.col-cab{display:flex;align-items:center;gap:8px;height:34px;padding:0 2px 0 6px}
.col-cab .lbl{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.col-n{font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums}
.col-mais{margin-left:auto;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--ink2);flex:none}
.col-mais:hover{background:var(--hover2);color:var(--ink)}
.col-lista{display:flex;flex-direction:column;gap:8px;min-height:44px}
.col-vazia{padding:14px 10px;border-radius:12px;border:1px dashed var(--line2);color:var(--ink3);font-size:12.5px;text-align:center}
.col-pe{align-self:flex-start;font-size:12.5px;font-weight:500;color:var(--ink2);padding:4px 6px;border-radius:6px}
.col-pe:hover{color:var(--ink);background:var(--hover2)}
.qa{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:var(--sup);box-shadow:inset 0 0 0 1.5px var(--ink)}
.qa input{border:0;background:none;padding:0;font-size:15px;font-weight:500;letter-spacing:-.005em;width:100%}
.qa small{font-size:11.5px;color:var(--ink3)}

.card{position:relative;display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:12px;background:var(--vidro-card);box-shadow:var(--vidro-card-linha);
  -webkit-backdrop-filter:blur(var(--vidro-card-blur)) saturate(1.3);backdrop-filter:blur(var(--vidro-card-blur)) saturate(1.3);
  cursor:pointer;user-select:none;-webkit-user-select:none;transition:box-shadow .15s,opacity .2s;touch-action:manipulation}
.card:hover{background:var(--vidro-card-hover);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 0 0 1px rgba(14,14,14,.14)}
.card.pend{opacity:.6}
.card.fant{opacity:.3}
.card-topo{display:flex;align-items:center;gap:8px;min-height:22px;min-width:0}
.card-topo .chip{flex:0 1 auto}
/* a prioridade nunca vira "A.." (V3.2): no card normal quem encolhe é a frente; no compacto (Semana e painel) fica só a seta,
   com o nome no title e no aria-label do ícone */
.card-topo .chip.pr-chip{flex:none}
.card.comp .pr-chip{padding:0 5px}.card.comp .pr-chip>span{display:none}
.card-topo .esp{flex:1 1 0;min-width:0}
.card-mais{width:24px;height:22px;border-radius:6px;display:grid;place-items:center;color:var(--ink2);visibility:hidden;flex:none}
.card-mais:hover{background:var(--hover2);color:var(--ink)}
.card:hover .card-mais,.card:focus-within .card-mais,.card-mais[aria-expanded=true]{visibility:visible}
/* card compacto (Semana, 147px no pior caso): o "Mais ações" invisível roubava 24px da linha e empurrava o 3º avatar para
   fora. Com mouse, ele flutua no canto e só aparece no hover/foco; no toque fica na linha, como antes */
@media (hover:hover) and (min-width:900px){
  .card.comp .card-mais{position:absolute;top:6px;right:6px;z-index:1;background:var(--vidro-card-hover);box-shadow:0 0 0 1px var(--line)}
  .card.comp .card-mais:hover{background:#fff}
}
.card-tit{font-size:15px;line-height:1.35;font-weight:500;letter-spacing:-.005em;color:var(--ink);overflow-wrap:anywhere;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-ok{position:absolute;left:-9px;top:39px;width:20px;height:20px;border-radius:50%;background:var(--sup);box-shadow:inset 0 0 0 1.5px var(--line2),0 1px 3px rgba(var(--tk-shadow-rgb),.12);
  display:grid;place-items:center;color:transparent;opacity:0;transition:opacity .15s,background .15s,color .15s}
.card-ok .ic{width:12px;height:12px;stroke-width:2.2}
.card:hover .card-ok,.card-ok:focus-visible{opacity:1}
.card-ok:hover{background:var(--green);color:var(--tk-on-green);box-shadow:none}
.card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 12px;font-size:12.5px;line-height:1.3;color:var(--ink2);min-width:0}
.card-meta:empty{display:none}
.mt{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0}
.mt .ic{width:13px;height:13px;color:var(--ink3)}
.mt.atraso,.mt.atraso .ic{color:var(--vermelho-txt)}
.mt.hoje,.mt.hoje .ic{color:var(--verde-txt)}
.mt.fraco{color:var(--ink3)}
.mt.ag{max-width:100%}
.mini{display:inline-block;width:22px;height:3px;border-radius:2px;background:var(--line2);overflow:hidden;position:relative}
.mini i{position:absolute;inset:0;right:auto;background:var(--green);border-radius:2px}
.card.comp{padding:9px 10px;gap:7px;border-radius:10px}
.card.comp .card-tit{font-size:14px;line-height:1.35;-webkit-line-clamp:3}
.card.recuo{padding:10px 14px;gap:6px}
.card-linha{display:flex;align-items:flex-start;gap:8px;min-width:0}
.card-linha .card-tit{flex:1;min-width:0;font-size:14px;line-height:1.35;color:var(--ink2)}
.card-linha .card-mais{margin-top:-1px}

.card.comp .card-ok{top:9px}
.sk{pointer-events:none;gap:10px}
.sk i{display:block;height:10px;border-radius:5px;background:rgba(var(--tk-ink-rgb),.07)}
.sk i:nth-child(1){width:40%}.sk i:nth-child(2){width:88%;height:13px}.sk i:nth-child(3){width:60%}
.fantasma{position:fixed;z-index:95;pointer-events:none;margin:0;transform:rotate(2deg);box-shadow:var(--sh-arraste),inset 0 0 0 1px var(--line2)!important;opacity:1;background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}

/* ---------- lista ---------- */
.tabela-wrap{border-radius:16px;background:var(--sup);box-shadow:inset 0 0 0 1px var(--line);overflow-x:auto;overscroll-behavior-x:contain}
.tabela{width:100%;border-collapse:separate;border-spacing:0;font-size:13.5px}
.tabela th{position:sticky;top:0;text-align:left;padding:0;height:40px;border-bottom:1px solid var(--line);background:var(--sup);white-space:nowrap}
.tabela th button{display:flex;align-items:center;gap:6px;width:100%;height:40px;padding:0 10px}
.tabela th button:hover{color:var(--ink)}
.tabela th .ic{width:12px;height:12px}
.tabela td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap;color:var(--ink2)}
.tabela tr.ln{cursor:pointer}
.tabela tr.ln:hover td{background:var(--hover)}
.tabela tr.ln.pend td{opacity:.6}
.tabela td.t{white-space:normal;min-width:220px;max-width:300px;width:30%}
.tabela td.t b{display:block;font-size:14px;font-weight:500;color:var(--ink);line-height:1.35}
.tabela td.t small{display:block;font-size:12.5px;color:var(--ink3);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:290px}
.tabela tr.grp td{padding:0;background:var(--card);border-bottom:1px solid var(--line)}
.tabela tr.grp button{display:flex;align-items:center;gap:9px;width:100%;height:38px;padding:0 12px}
.tabela tr.grp .ic{width:14px;height:14px;color:var(--ink2);transition:transform .2s var(--ease)}
.tabela tr.grp.fechado .ic{transform:rotate(-90deg)}
.tabela tr.grp .lbl{color:var(--ink)}
.tabela .vz{color:var(--ink3)}
.tabela td.col1,.tabela th.col1{position:sticky;left:0;z-index:1;background:var(--sup)}
.tabela th.col1{z-index:2}
.tabela tr.ln:hover td.col1{background:#FAFAF9}

/* ---------- semana ---------- */
.nav-per{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.nav-per .per{font-size:15px;font-weight:500;letter-spacing:-.01em;margin:0 6px;font-variant-numeric:tabular-nums;white-space:nowrap}
.sem-l{display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:12px;align-items:start}
.sem-l.fechado{grid-template-columns:minmax(0,1fr) 72px}   /* V5.2: a aba fechada escreve "atrasadas" e "sem prazo" por inteiro */
.semana{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) var(--sab,56px) var(--dom,56px);gap:4px;align-items:stretch;min-width:0}
.sem-col.estreita{padding-inline:2px;align-items:center}
.sem-col.estreita .sem-cab{flex-direction:column;height:auto;gap:2px;padding:4px 0}
.sem-fds.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.sem-painel{display:flex;flex-direction:column;gap:6px;padding:6px 6px 8px;border-radius:16px;min-width:0}
.sp-topo{display:flex;justify-content:flex-end}
.sp-esc{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:8px;font-size:12px;font-weight:500;color:var(--ink2)}
.sp-esc:hover{background:var(--hover2);color:var(--ink)}
.sp-esc .ic{width:14px;height:14px}
.sp-sec{display:flex;flex-direction:column;gap:6px;border-radius:12px;padding:0 0 4px}
.sp-sec.alvo{background:rgba(var(--tk-neblina-rgb),.16);outline:1.5px dashed rgba(var(--tk-green-rgb),.7);outline-offset:-1.5px}
.sp-cab{display:flex;align-items:center;gap:7px;height:32px;padding:0 6px;border-radius:8px;width:100%}
.sp-cab:hover{background:var(--hover)}
.sp-cab .ic{width:13px;height:13px;color:var(--ink3);transition:transform .2s var(--ease)}
.sp-sec.fechado .sp-cab .ic{transform:rotate(-90deg)}
.sp-cab .lbl{color:var(--ink)}
.sp-cab .lbl.atr{color:var(--vermelho-txt)}
.sp-aba{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0;border-radius:14px;color:var(--ink2);font-variant-numeric:tabular-nums}
.sp-aba:hover{box-shadow:inset 0 0 0 1px var(--line2);color:var(--ink)}
.sp-aba .ic{width:15px;height:15px;margin-bottom:6px}
.sp-aba b{font-size:14px;font-weight:500;color:var(--ink)}
.sp-aba b.atr{color:var(--vermelho-txt)}
.sp-aba small{font-size:11px;color:var(--ink3);margin-bottom:6px;letter-spacing:.02em}
.sem-raias{display:flex;flex-direction:column;gap:6px;min-width:0}
.sem-raias .sem-col{min-height:0}
.sem-col{display:flex;flex-direction:column;gap:6px;min-width:0;padding:6px 4px 8px;border-radius:14px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px var(--line);min-height:420px}
.sem-col.raia{background:rgba(var(--tk-ink-rgb),.03)}
.sem-col.passado{background:rgba(255,255,255,.3)}
.sem-col.hoje{background:rgba(255,255,255,.85);box-shadow:inset 0 0 0 1px var(--line2)}
.sem-col.alvo{background:rgba(var(--tk-neblina-rgb),.16);outline:1.5px dashed rgba(var(--tk-green-rgb),.7);outline-offset:-1.5px}
.sem-cab{display:flex;align-items:center;gap:6px;height:30px;padding:0 4px;white-space:nowrap}
.sem-cab .lbl{color:var(--ink)}
.sem-cab .d{font-size:13px;font-weight:500;color:var(--ink2);font-variant-numeric:tabular-nums}
.sem-col.hoje .sem-cab::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}
.sem-col.raia.atr:not(.zero) .sem-cab .lbl{color:var(--vermelho-txt)}
.sem-m{display:none}

/* ---------- esteira ---------- */
.trilho-wrap{position:relative;margin:0 0 16px}
.trilho-rolo{overflow-x:auto;padding:2px 0 4px;scrollbar-width:none}
.trilho-rolo::-webkit-scrollbar{display:none}
.trilho-wrap::before,.trilho-wrap::after{content:"";position:absolute;top:0;bottom:0;width:32px;z-index:2;pointer-events:none;opacity:0;transition:opacity .2s}
.trilho-wrap::before{left:0;background:linear-gradient(90deg,var(--paper),rgba(var(--tk-paper-rgb),0))}
.trilho-wrap::after{right:0;background:linear-gradient(270deg,var(--paper),rgba(var(--tk-paper-rgb),0))}
.trilho-wrap.esq::before,.trilho-wrap.dir::after{opacity:1}
.trilho{position:relative;display:grid;grid-template-columns:repeat(7,minmax(96px,1fr));min-width:680px}
.trilho::before{content:"";position:absolute;left:calc(100% / 14);right:calc(100% / 14);top:15px;height:1.5px;background:var(--line2)}
.tr-no{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;padding:0 4px;text-align:center;border-radius:12px;cursor:pointer}
.tr-no:hover .tr-p{box-shadow:inset 0 0 0 1.5px var(--ink)}
.tr-no:hover b{color:var(--ink)}
.tr-no:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:12px}
.tr-p{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--line);font-size:13px;font-weight:500;color:var(--ink3);font-variant-numeric:tabular-nums;transition:box-shadow .15s,background .15s,color .15s}
.tr-no.cheio .tr-p{box-shadow:inset 0 0 0 1.5px var(--line2);color:var(--ink)}
.tr-no.aprov.cheio .tr-p{background:color-mix(in srgb,var(--ambar) 16%,var(--tk-branco));box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ambar) 40%,transparent);color:#5a3e04}
.tr-no b{font-size:13px;font-weight:500;color:var(--ink2);white-space:nowrap}
@media (max-width:560px){
  .trilho{grid-template-columns:repeat(7,minmax(56px,1fr));min-width:0}
  .trilho::before{top:13px}
  .tr-p{width:26px;height:26px;font-size:12.5px}
  .tr-no b{font-size:12.5px}
  .tr-no small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tr-nota{display:none}
}
.tr-no small{font-size:11.5px;color:var(--ink3);line-height:1.25}
.tr-no small.tr-nota{margin-top:-4px}
.rolo-wrap{position:relative}
.rolo-wrap::before,.rolo-wrap::after{content:"";position:absolute;top:0;bottom:0;width:48px;z-index:3;pointer-events:none;opacity:0;transition:opacity .2s}
.rolo-wrap::before{left:0;background:linear-gradient(90deg,var(--paper),rgba(var(--tk-paper-rgb),0))}
.rolo-wrap::after{right:0;background:linear-gradient(270deg,var(--paper),rgba(var(--tk-paper-rgb),0))}
.rolo-wrap.esq::before,.rolo-wrap.dir::after{opacity:1}
.rolo{overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:8px;scrollbar-width:thin}
/* V5.2: a coluna tem a largura que faz caber um número inteiro delas (--pipe-col, medido pelo núcleo); sem a medida, 272 px */
.pipe{display:grid;grid-template-columns:repeat(7,var(--pipe-col,272px));gap:12px;align-items:start;width:max-content}
.col.aprov .col-cab{background:rgba(var(--tk-ambar-rgb),.12);border-radius:10px;margin:0 -2px;padding-inline:8px 4px}
.col-dono{font-size:11.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.col-cab2{flex-direction:column;align-items:flex-start;justify-content:center;height:auto;min-height:44px;gap:1px;padding:5px 6px}
.col-cab-l{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%}
.col-cab2 .col-dono{padding-left:16px}
.canal{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:var(--ink2);white-space:nowrap;min-width:0}
.canal .ic{width:14px;height:14px;color:var(--c,var(--ink3))}
.canal.vz{color:var(--ink3);font-weight:400}

/* calendário */
.cal-l{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:14px;align-items:start}
.cal-wrap{overflow-x:auto;border-radius:16px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px var(--line)}
.cal{display:grid;grid-template-columns:repeat(7,minmax(104px,1fr));min-width:760px}
.cal-h{padding:10px 10px 8px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px;min-width:0}
.cal-h .lbl{color:var(--ink)}
.cal-h small{font-size:12px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-d{min-height:112px;padding:6px 6px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px;min-width:0}
.cal-d:nth-child(7n){border-right:0}
.cal-d.fora{background:rgba(var(--tk-ink-rgb),.025)}
.cal-d.fora .cal-n{color:var(--ink3)}
.cal-d.alvo{background:rgba(var(--tk-neblina-rgb),.18);outline:1.5px dashed rgba(var(--tk-green-rgb),.7);outline-offset:-2px}
.cal-n{display:flex;align-items:center;gap:6px;height:22px;padding:0 4px;font-size:12.5px;font-weight:500;color:var(--ink2);font-variant-numeric:tabular-nums}
.cal-d.hoje .cal-n{color:var(--ink)}
.cal-d.hoje .cal-n::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}
/* Iris 5 — linha 1: canal e hora; linha 2: o título na largura toda */
.pc{display:grid;grid-template-columns:6px minmax(0,1fr);column-gap:6px;row-gap:2px;align-items:center;padding:5px 7px 6px;border-radius:7px;
  background:color-mix(in srgb,var(--c,#999) 12%,var(--tk-branco));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c,#999) 28%,transparent);
  font-size:12px;color:var(--ink);cursor:pointer;user-select:none;-webkit-user-select:none;min-width:0;text-align:left;width:100%}
.pc i{width:6px;height:6px;border-radius:50%;background:var(--c,#999)}
.pc b{font-size:11px;font-weight:500;color:var(--ink2);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pc span{grid-column:1/-1;font-size:12px;line-height:1.3;font-weight:500;color:var(--ink);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.pc.pend{opacity:.6}
.semdata{display:flex;flex-direction:column;gap:8px;padding:6px 8px 10px;border-radius:16px;min-height:200px}
.semdata.alvo{background:rgba(var(--tk-neblina-rgb),.16);outline:1.5px dashed rgba(var(--tk-green-rgb),.7);outline-offset:-1.5px}
.agenda{display:none}

/* ---------- início ---------- */
.ini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.bloco{display:flex;flex-direction:column;border-radius:16px;min-width:0;overflow:hidden}
/* o mesmo vidro dos cards nos blocos do Início, cards de Agentes e painéis da Semana e do Calendário */
.bloco,.semdata,.sem-painel,.sp-aba,.agc,.moldura,.apv-fila,.apv-dec{background:var(--vidro-card);box-shadow:var(--vidro-card-linha);
  -webkit-backdrop-filter:blur(var(--vidro-card-blur)) saturate(1.3);backdrop-filter:blur(var(--vidro-card-blur)) saturate(1.3)}
.bloco-cab{display:flex;align-items:center;gap:8px;height:46px;padding:0 16px;border-bottom:1px solid var(--line)}
.bloco-cab .lbl{color:var(--ink)}
.bloco-cab .col-n{margin-left:2px}
.bloco-cab .btn{margin-left:auto}
.it{display:flex;align-items:flex-start;gap:10px;width:100%;padding:11px 16px;border-bottom:1px solid var(--line);text-align:left;min-width:0}
.it:last-child{border-bottom:0}
.it:hover{background:var(--hover)}
.it-m{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.it-t{font-size:14px;line-height:1.35;font-weight:500;color:var(--ink);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.it-s{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:12.5px;color:var(--ink2)}
.it .prio,.it .pt,.it .ic.lead{margin-top:5px}
.it .avs{margin-top:1px}
.bloco-vz{padding:22px 16px;color:var(--ink3);font-size:13.5px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.ini-es{margin-top:18px;padding:16px 16px 12px;border-radius:16px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px var(--line)}
.ini-es .bloco-cab{height:auto;padding:0 0 12px;border:0}
.ini-es .trilho-wrap{margin:0}
.dicas{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:22px;font-size:12.5px;color:var(--ink3)}
.dicas span{display:inline-flex;align-items:center;gap:7px}

/* ---------- gaveta ---------- */
.veu{position:fixed;inset:0;z-index:55;background:rgba(var(--tk-ink-rgb),.12);opacity:0;transition:opacity .25s var(--ease-y)}
.veu.on{opacity:1}
/* Lateral (padrão): flutua a 10px, como a barra lateral. Central: janela no meio. Vidro nas duas. */
.gaveta{position:fixed;z-index:60;top:10px;right:10px;bottom:10px;width:min(620px,calc(100vw - 20px));display:flex;flex-direction:column;border-radius:20px;overflow:hidden;
  background:rgba(251,250,247,var(--vidro-gaveta));-webkit-backdrop-filter:blur(28px) saturate(1.5);backdrop-filter:blur(28px) saturate(1.5);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 0 0 1px rgba(14,14,14,.08),0 24px 60px -20px rgba(0,0,0,.28);
  transform:translateX(24px);opacity:0;transition:transform .35s var(--ease),opacity .2s var(--ease-y)}
.gaveta.on{transform:none;opacity:1}
.gaveta.central{top:50%;left:50%;right:auto;bottom:auto;width:min(780px,calc(100vw - 48px));height:86vh;border-radius:22px;transform:translate(-50%,-50%) scale(.98)}
.gaveta.central.on{transform:translate(-50%,-50%)}
.gaveta.central .g-miolo{padding:28px 40px 40px}
.gaveta:focus,.gaveta:focus-visible{outline:none}
.g-topo{display:flex;align-items:center;gap:6px;height:52px;padding:0 12px 0 24px;padding-top:env(safe-area-inset-top,0px);box-sizing:content-box;border-bottom:1px solid rgba(14,14,14,.08);flex:none}
.g-cam{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.g-cam b{color:var(--ink2);font-weight:500}
.g-b{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:var(--ink2);flex:none}
.g-b:hover{background:var(--hover2);color:var(--ink)}
.g-b[disabled]{opacity:.3;pointer-events:none}
.g-b .ic{width:17px;height:17px}
.g-sep{width:1px;height:18px;background:var(--line);margin:0 4px}
.g-rolo{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:20px}
.g-miolo{padding:26px 32px 40px;display:flex;flex-direction:column;gap:36px}
.g-tit{width:calc(100% + 16px);margin:0 -8px;border:0;border-radius:8px;background:none;resize:none;overflow:hidden;padding:3px 8px;font-size:24px;line-height:1.15;font-weight:500;letter-spacing:-.02em;color:var(--ink);display:block}
.g-tit:hover{background:var(--hover)}
.g-tit:focus{outline:none;background:var(--vidro-chao);box-shadow:inset 0 0 0 1.5px var(--blue)}
.g-tit:read-only{cursor:default}
.props{display:flex;flex-direction:column;gap:1px;margin-top:-20px}
.prop{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:start;min-height:34px}
.prop-k{display:flex;align-items:center;gap:8px;height:34px;font-size:13px;color:var(--ink2);white-space:nowrap;overflow:hidden}
.prop-k .ic{width:14px;height:14px;color:var(--ink3)}
.prop-v{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-height:34px;padding:5px 8px;border-radius:8px;font-size:14px;color:var(--ink);width:100%;text-align:left;min-width:0}
button.prop-v:hover,.prop-v.txt:hover{background:var(--hover)}
.prop-v .vz,.vz{color:var(--ink3)}
.prop-v .atraso{color:var(--vermelho-txt)}
.prop-v small{font-size:12.5px;color:var(--ink3)}
.prop-v.ro{cursor:default}
.prop-v.txt{padding:0}
.prop-v.txt input{width:100%;height:34px;border:0;border-radius:8px;background:none;padding:0 8px;font-size:14px}
.prop-v.txt input::placeholder{color:var(--ink3)}
.prop-v.txt input:focus{background:var(--vidro-chao);box-shadow:inset 0 0 0 1.5px var(--blue)}
.prop-v.ro-t{color:var(--ink3);font-size:13px}
.claude{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:10px 10px 10px 14px;border-radius:12px;background:var(--vidro-chao);box-shadow:inset 0 0 0 1px var(--line)}
.claude-t{flex:1 1 200px;font-size:13.5px;color:var(--ink2);min-width:0}
.claude-t b{color:var(--ink)}
.claude details{flex-basis:100%;font-size:12.5px;color:var(--ink3)}
.claude summary{cursor:pointer;width:max-content}
.claude details input{width:100%;margin-top:8px;height:32px;border-radius:8px;border:1px solid var(--line2);background:var(--sup);padding:0 10px;font-size:12.5px;color:var(--ink)}
.claude textarea{flex-basis:100%;min-height:120px;border-radius:8px;border:1px solid var(--line2);padding:8px 10px;font-size:12.5px;background:var(--sup)}
.sec{display:flex;flex-direction:column;gap:4px}
.sec-cab{display:flex;align-items:center;gap:10px;min-height:22px}
.sec-cab .lbl{color:var(--ink2)}
.sec-cab .cont{font-size:12.5px;color:var(--ink3);font-variant-numeric:tabular-nums}
.sec-cab .cont.alem{color:var(--vermelho-txt)}
.barra{flex:1;max-width:160px;height:3px;border-radius:2px;background:var(--line);overflow:hidden;position:relative}
.barra i{position:absolute;inset:0;right:auto;background:var(--green);border-radius:2px;transition:width .3s var(--ease)}
.txa{width:100%;min-height:40px;border:0;border-radius:10px;background:none;resize:none;overflow:hidden;padding:8px 10px;margin:0 -10px;width:calc(100% + 20px);font-size:14px;line-height:1.55;color:var(--ink);display:block}
.txa:hover{background:var(--hover)}
.txa:focus{background:var(--vidro-chao);box-shadow:inset 0 0 0 1.5px var(--blue)}
.txa:read-only{background:none;box-shadow:none}
.ck{display:flex;flex-direction:column}
.cki{position:relative;display:flex;align-items:flex-start;gap:10px;padding:6px 30px 6px 22px;margin-left:-22px;border-radius:8px;min-height:34px}
.cki:hover{background:var(--hover)}
.cki input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--green);cursor:pointer}
.cki label{flex:1;font-size:14px;line-height:1.45;overflow-wrap:anywhere;cursor:pointer}
.cki.ok label{color:var(--ink3);text-decoration:line-through;text-decoration-color:var(--ink4)}
.cki-x,.cki-g{position:absolute;top:6px;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;color:var(--ink3);opacity:0}
.cki-x{right:4px}
.cki-g{left:0;cursor:grab;touch-action:none}
.cki:hover .cki-x,.cki:hover .cki-g,.cki-x:focus-visible{opacity:1}
.cki-x:hover{background:var(--hover2);color:var(--ink)}
.cki-x .ic,.cki-g .ic{width:14px;height:14px}
.cki.arr{opacity:.4}
.cki.linha-antes{box-shadow:inset 0 2px 0 var(--blue)}
.cki.linha-depois{box-shadow:inset 0 -2px 0 var(--blue)}
.novo-it{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;margin:0 -10px;border-radius:8px}
.novo-it .ic{color:var(--ink3)}
.novo-it input{flex:1;min-width:0;height:34px;border:0;background:none;font-size:14px;padding:0}
.novo-it:focus-within{background:var(--vidro-chao);box-shadow:inset 0 0 0 1.5px var(--blue)}
.lk{display:flex;align-items:center;gap:10px;min-height:36px;padding:4px 30px 4px 10px;margin:0 -10px;border-radius:8px;position:relative}
.lk:hover{background:var(--hover)}
.lk .ic{color:var(--ink3)}
.lk a,.lk>span{font-size:14px;font-weight:500;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk a:hover{color:var(--azul-txt)}
.lk small{font-size:12.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.lk:hover .cki-x{opacity:1}
.lk-form{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:var(--vidro-chao);box-shadow:inset 0 0 0 1px var(--line)}
.lk-form .lin{display:flex;gap:8px;flex-wrap:wrap}
.campo{height:34px;border-radius:8px;border:1px solid var(--line-campo);background:var(--sup);padding:0 10px;font-size:13.5px;min-width:0;flex:1}
.campo:focus{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.sug{display:flex;flex-wrap:wrap;gap:6px}
.sug button{height:24px;padding:0 9px;border-radius:6px;background:var(--chip);font-size:12px;color:var(--ink2)}
.sug button:hover,.sug button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.lk-add{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px;margin-left:-10px;border-radius:8px;font-size:13.5px;color:var(--ink2)}
.lk-add:hover{background:var(--hover);color:var(--ink)}
.atv{display:flex;flex-direction:column;gap:0}
.atv li{display:grid;grid-template-columns:106px minmax(0,1fr);gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.45;color:var(--ink2)}
.atv li:last-child{border-bottom:0}
.atv time{font-size:12.5px;color:var(--ink3);font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:1px}
.atv b{color:var(--ink);font-weight:500;margin-right:6px}
.atv span{overflow-wrap:anywhere}
.coment{display:flex;align-items:center;gap:10px;height:40px;padding:0 6px 0 10px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line2);background:var(--vidro-chao)}
.coment:focus-within{box-shadow:inset 0 0 0 1.5px var(--blue)}
.coment input{flex:1;min-width:0;border:0;background:none;height:38px;font-size:14px}
.coment .av{box-shadow:none}
.g-pe{display:flex;align-items:center;gap:12px;height:52px;padding:0 20px 0 24px;padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:content-box;border-top:1px solid rgba(14,14,14,.08);flex:none;font-size:12.5px;color:var(--ink3)}
.g-pe .salvo{display:inline-flex;align-items:center;gap:7px}
.g-pe .salvo::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}
.g-pe .salvo.ind::before{background:var(--ink4)}
.g-pe .salvo.erro{color:var(--vermelho-txt)}
.g-pe .salvo.erro::before{background:var(--red)}
.g-pe .salvo button{color:var(--vermelho-txt);text-decoration:underline}
.g-exc{margin-left:auto;font-size:13px;font-weight:500;color:var(--vermelho-txt);padding:6px 8px;border-radius:8px}
.g-exc:hover{background:rgba(var(--tk-red-rgb),.08)}
.stepper{display:flex;align-items:flex-start;margin-top:-20px;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.stp{position:relative;flex:1 1 0;min-width:62px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 2px;border-radius:8px}
.stp::before{content:"";position:absolute;top:8px;left:-50%;right:50%;height:1.5px;background:var(--line2)}
.stp:first-child::before{display:none}
.stp.passou::before,.stp.atual::before{background:var(--neblina)}
.stp i{position:relative;width:17px;height:17px;border-radius:50%;background:var(--sup);box-shadow:inset 0 0 0 1.5px var(--line2);transition:transform .15s}
.stp.passou i{background:var(--neblina);box-shadow:none}
.stp.atual i{background:var(--green);box-shadow:0 0 0 4px rgba(var(--tk-green-rgb),.18)}
.stp span{font-size:11.5px;color:var(--ink3);white-space:nowrap}
.stp.atual span{color:var(--ink);font-weight:500}
.stp:hover i{transform:scale(1.15)}
.stp[disabled]{cursor:default}
.stp[disabled]:hover i{transform:none}

/* ---------- menus, paleta, atalhos, toasts ---------- */
.menu{position:fixed;z-index:80;min-width:220px;max-width:calc(100vw - 16px);max-height:min(440px,calc(100vh - 16px));overflow:auto;padding:6px;border-radius:14px;
  background:var(--sup);box-shadow:0 18px 48px -12px rgba(var(--tk-shadow-rgb),.28),0 0 0 1px var(--line);overscroll-behavior:contain}
.mi{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;padding:6px 10px;border-radius:8px;font-size:13.5px;color:var(--ink);text-align:left}
.mi:hover,.mi.ativo{background:var(--hover2);outline:none}
.mi:focus-visible{background:rgba(var(--tk-ink-rgb),.08);outline:none;box-shadow:inset 0 0 0 2px var(--blue)}
[data-ptr] .mi:focus-visible{background:none;box-shadow:none}
[data-ptr] .mi:hover:focus-visible{background:rgba(var(--tk-ink-rgb),.08)}
.mi .ic{width:15px;height:15px;color:var(--ink2)}
.mi .mi-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mi .mi-d{font-size:12px;color:var(--ink3);white-space:nowrap;font-variant-numeric:tabular-nums}
.mi .ok{width:15px;height:15px;color:var(--verde-txt)}
.mi .ok.no{visibility:hidden}
.mi.perigo,.mi.perigo .ic{color:var(--vermelho-txt)}
.mi[aria-disabled=true]{opacity:.4;pointer-events:none}
.m-sep{height:1px;background:var(--line);margin:5px 4px}
.m-lbl{padding:8px 10px 4px}
.m-nota{padding:6px 10px 4px;font-size:12px;color:var(--ink3)}
.m-in{padding:6px}
.m-in input{width:100%}
.m-volta{display:flex;align-items:center;gap:8px;width:100%;height:32px;padding:0 8px;border-radius:8px;font-size:12.5px;font-weight:500;color:var(--ink2)}
.m-volta:hover{background:var(--hover2)}
.cobre{position:fixed;inset:0;z-index:70;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;background:rgba(var(--tk-ink-rgb),.18)}
.paleta{width:min(640px,100%);border-radius:18px;background:var(--tk-panel-light);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 30px 80px -20px rgba(var(--tk-shadow-rgb),.4),inset 0 0 0 1px rgba(255,255,255,.6);overflow:hidden;display:flex;flex-direction:column;max-height:min(560px,76vh)}
.pal-in{display:flex;align-items:center;gap:10px;height:56px;padding:0 18px;border-bottom:1px solid var(--line)}
.pal-in .ic{width:18px;height:18px;color:var(--ink2)}
.pal-in input{flex:1;min-width:0;border:0;background:none;font-size:16px;height:54px}
.pal-in input:focus-visible{outline:none}
.pal-l{overflow:auto;padding:6px;flex:1}
.pal-l .m-lbl{padding:10px 12px 4px}
.pal-it{display:flex;align-items:center;gap:12px;width:100%;min-height:42px;padding:8px 12px;border-radius:10px;text-align:left;font-size:14px}
.pal-it.ativo{background:rgba(255,255,255,.9);box-shadow:0 1px 2px rgba(var(--tk-shadow-rgb),.08)}
.pal-it .ic{width:16px;height:16px;color:var(--ink2)}
.pal-it .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.pal-it .d{font-size:12.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}
.pal-pe{display:flex;gap:16px;padding:10px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--ink3)}
.pal-vz{padding:22px 14px;color:var(--ink3);font-size:13.5px}
.atalhos{width:min(460px,100%);border-radius:18px;background:var(--tk-panel-light);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 30px 80px -20px rgba(var(--tk-shadow-rgb),.4);padding:20px 22px}
.atalhos h2{font-size:18px;font-weight:500;letter-spacing:-.01em;margin-bottom:12px;display:flex;align-items:center}
.atalhos h2 button{margin-left:auto}
.atalhos dl{display:grid;grid-template-columns:auto 1fr;gap:9px 16px;margin:0;font-size:13.5px}
.atalhos dt{display:flex;gap:4px}
.atalhos dd{margin:0;color:var(--ink2)}
.at-forma{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;color:var(--ink2)}
.toasts{position:fixed;z-index:90;left:50%;bottom:24px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;width:max-content;max-width:calc(100vw - 24px)}
.toast{display:flex;align-items:center;gap:14px;min-height:40px;padding:0 6px 0 16px;border-radius:12px;background:var(--tk-panel-light);-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);
  box-shadow:0 8px 24px -8px rgba(var(--tk-shadow-rgb),.25),inset 0 0 0 1px rgba(var(--tk-ink-rgb),.08);font-size:13.5px;font-weight:500;pointer-events:auto;animation:tin .35s var(--ease)}
.toast.so{padding-right:16px}
.toast button{height:30px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:500;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
.toast button:hover{background:var(--ink);color:var(--paper);box-shadow:none}
@keyframes tin{from{opacity:0;transform:translateY(10px)}}

/* adendo §14 */
.split{display:inline-flex;align-items:stretch}
.split .split-a{border-radius:999px 0 0 999px;padding-right:13px}
.split .split-b{border-radius:0 999px 999px 0;width:32px;padding:0 2px 0 0;border-left:1px solid rgba(var(--tk-paper-rgb),.22)}
.split .split-b .ic{width:14px;height:14px}
.mi-linha{display:flex;align-items:center;gap:2px}
.mi-linha .mi{flex:1;min-width:0}
.mi-x{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--ink3);flex:none}
.mi-x:hover{background:rgba(var(--tk-red-rgb),.08);color:var(--red)}
.mi-x .ic{width:14px;height:14px}
.m-acao{display:flex;justify-content:flex-end}
.rt{min-height:40px;padding:8px 10px;margin:0 -10px;border-radius:10px;font-size:14px;line-height:1.55;color:var(--ink);cursor:text;overflow-wrap:anywhere}
.rt:hover{background:var(--hover)}
.rt[role=button]:focus-visible{outline-offset:0}
.rt p+p,.rt p+ul,.rt p+ol,.rt ul+p,.rt ol+p{margin-top:9px}
.rt ul{list-style:disc;padding-left:20px}
.rt ol{list-style:decimal;padding-left:22px}
.rt li+li{margin-top:3px}
.rt a,.atv a{color:var(--azul-txt);text-decoration:underline;text-decoration-color:rgba(var(--tk-blue-rgb),.35);text-underline-offset:2px;overflow-wrap:anywhere}
.rt code,.atv code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;padding:1px 5px;border-radius:5px;background:var(--chip)}
.rt b{font-weight:500}
.rt-ph{color:rgba(var(--tk-ink-rgb),.6)}
.cki.com-ref{padding-right:58px}
.cki.com-v{padding-right:142px}   /* o "Virar tarefa" nunca cobre o texto (Lince 2) */
.cki-v{position:absolute;right:30px;top:5px;display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px 0 7px;border-radius:7px;background:var(--sup);box-shadow:inset 0 0 0 1px var(--line2);
  font-size:12px;font-weight:500;color:var(--ink2);opacity:0;white-space:nowrap}
.cki-v .ic{width:13px;height:13px}
.cki:hover .cki-v,.cki-v:focus-visible{opacity:1}
.cki-v:hover{background:var(--ink);color:var(--paper);box-shadow:none}
.cki-ref{position:absolute;right:30px;top:6px;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;color:var(--blue)}
.cki-ref:hover{background:rgba(var(--tk-blue-rgb),.1)}
.cki-ref[disabled]{color:var(--ink4)}
.cki-ref .ic{width:14px;height:14px}
.lk.rel{gap:9px}
.rel-t{font-size:14px;font-weight:500;color:var(--ink);text-align:left;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}
.rel-t:hover{color:var(--azul-txt)}
.lk.rel .pl{flex:none;height:22px;font-size:12px}
.lk.rel small{flex:none}
.rel-vz{font-size:13.5px;padding:2px 0 4px}
.g-pe .editada{color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.lista-barra{flex-wrap:wrap}
.lista-n{font-size:13px;color:var(--ink2);font-variant-numeric:tabular-nums}
.lista-dica{font-size:12.5px;color:var(--ink3);margin-left:auto}
.tabela th.sel,.tabela td.sel{width:34px;padding:0 0 0 12px}
.tabela td.sel input,.tabela th.sel input{width:16px;height:16px;margin:0;accent-color:var(--green);cursor:pointer;vertical-align:middle}
.tabela tr.ln.on td{background:rgba(var(--tk-blue-rgb),.06)}
.massa{position:fixed;z-index:45;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:2px;padding:6px;border-radius:16px;
  background:var(--tk-panel-light);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 14px 40px -12px rgba(var(--tk-shadow-rgb),.34),inset 0 0 0 1px rgba(var(--tk-ink-rgb),.08);
  max-width:calc(100vw - 24px);overflow-x:auto;scrollbar-width:none}
.massa-n{padding:0 10px 0 8px;font-size:13px;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}
.massa-b{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:9px;font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;flex:none}
.massa-b:hover,.massa-b[aria-expanded=true]{background:rgba(255,255,255,.85)}
.massa-b .ic{width:13px;height:13px}
.massa-b.perigo{color:var(--vermelho-txt)}
.massa-x{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:var(--ink2);flex:none}
.massa-x:hover{background:rgba(255,255,255,.85);color:var(--ink)}
body.com-massa .toasts{bottom:82px}
.bloco-fr{grid-column:1/-1}
.fr-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;padding:10px}
.fr{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 14px 14px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);text-align:left;min-width:0}
.fr:hover{background:var(--hover);box-shadow:inset 0 0 0 1px var(--line2)}
.fr-n{font-size:13px;color:var(--ink2)}
.fr-n b{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}
.fr .barra{flex:none;height:3px;width:100%;max-width:none;background:var(--line2)}
/* §15 — perfil "Você é", filtro de responsável */
.perfil{display:flex;align-items:center;gap:10px;width:100%;margin-top:6px;padding:8px;border-radius:12px;text-align:left;min-width:0}
.perfil:hover,.perfil[aria-expanded=true]{background:var(--hover2)}
.perfil .av,.perfil-m .av{width:30px;height:30px;font-size:12.5px;box-shadow:none}
.perfil .av-2,.perfil-m .av-2{font-size:11px}
.perfil .av-anel,.perfil-m .av-anel,.mi-pessoa .av-anel,.fc .av-anel{box-shadow:inset 0 0 0 1.5px var(--ink)}
.perfil-t{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.25}
.perfil-t b{font-size:13.5px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.perfil-t small{font-size:11.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.perfil>.ic{width:14px;height:14px;color:var(--ink3)}
.recolhida .perfil{justify-content:center;padding:6px 0}
.recolhida .perfil-t,.recolhida .perfil>.ic{display:none}
.perfil-m{width:40px;height:40px;border-radius:50%;display:grid;place-items:center}
.perfil-m .av{width:34px;height:34px;font-size:13.5px}
.mi-pessoa{align-items:center}
.mi-pessoa .av{box-shadow:none;width:26px;height:26px;font-size:11px}
.mi-pessoa .av-2{font-size:9.5px}
.mi-pessoa .mi-t{display:flex;flex-direction:column;line-height:1.25;white-space:normal}
.mi-pessoa small{font-size:11.5px;color:var(--ink3)}
.mi .av{box-shadow:none}
.fc-av{display:inline-flex;align-items:center;gap:6px}
.fc-av .av{width:20px;height:20px;font-size:10px;box-shadow:0 0 0 2px var(--sup)}
.fc-av .av-2{font-size:8.5px}
.fc.minhas{border-radius:999px;padding:0 12px 0 5px;gap:7px}
.fc.minhas .av{width:20px;height:20px;font-size:10px;box-shadow:none}
.fc.minhas .av-2{font-size:8.5px}
.fc.minhas.on{background:var(--ink);color:var(--paper);box-shadow:none;padding-right:12px}
.fc.minhas.on:hover{background:var(--ink);color:var(--paper)}
/* Iris 4 — com a gaveta aberta, o toast sai do conteúdo e fica na coluna da gaveta */
body.com-gaveta .toasts{left:calc(100vw - 320px);bottom:78px;max-width:596px}
body.com-gaveta.gaveta-central .toasts{left:50%;bottom:12px;max-width:calc(100vw - 48px)}
@media (max-width:899px){body.com-gaveta .toasts{left:50%;bottom:calc(68px + env(safe-area-inset-bottom,0px));max-width:calc(100vw - 24px)}}

/* anel que não é cortado por quem rola ou recorta (Lince 8) */
.it:focus-visible,.tr-no:focus-visible,.stp:focus-visible,.tabela th button:focus-visible,.tabela tr.grp button:focus-visible,.tabela tr.ln:focus-visible,.pal-it:focus-visible,.fr:focus-visible{outline-offset:-2px}
/* campos que já desenham o próprio anel: sem o segundo */
.prop-v.txt input:focus-visible,.coment input:focus-visible,.novo-it input:focus-visible,.qa input:focus-visible,.busca input:focus-visible,.txa:focus-visible,.campo:focus-visible,.g-tit:focus-visible{outline:none}
.fr-n .rs-sep{color:var(--ink3)}

/* ---------- §16: menus de duas linhas, chips novos ---------- */
.mi-2l{align-items:flex-start;padding:9px 10px}
.mi-2l>.ic{margin-top:2px}
.mi-2l .mi-t{display:flex;flex-direction:column;gap:2px;white-space:normal;line-height:1.3}
.mi-2l small{font-size:12px;color:var(--ink3);line-height:1.35}
.chip.ch-ag{background:rgba(var(--tk-ink-rgb),.055);color:var(--ink2)}
.chip.ch-ag .ic{width:12px;height:12px}
.chip.ch-ok{background:rgba(var(--tk-green-rgb),.12);color:var(--verde-txt-forte)}
.sub-m{font-size:14px;color:var(--ink2);margin-top:-6px}

/* ---------- Agentes ---------- */
.ag-filtro{margin-bottom:2px}
.ag-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.agc{display:flex;flex-direction:column;gap:10px;padding:16px 16px 14px;border-radius:16px;cursor:pointer;min-width:0;transition:box-shadow .15s}
.agc:hover{box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 0 0 1px rgba(14,14,14,.14)}
/* planejado: esmaecido pelo chão (tracejado, sem vidro), não por opacidade — opacity .6 levava o texto a 2,4:1 (Lince, V3.2) */
.agc.plan{background:rgba(255,255,255,.3);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);outline:1px dashed rgba(var(--tk-ink-rgb),.22);outline-offset:-1px;-webkit-backdrop-filter:none;backdrop-filter:none}
.agc.plan .mono{border-color:rgba(var(--tk-ink-rgb),.45);color:var(--ink2);background:transparent}
.agc.plan .agc-id b{color:var(--ink2)}
.agc-topo{display:flex;align-items:center;gap:12px;min-width:0}
.mono{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;flex:none;background:var(--sup);box-shadow:inset 0 0 0 1.5px transparent;
  border:1.5px dashed var(--ink);font:500 16px/1 var(--font);color:var(--ink)}
.mono.g{width:56px;height:56px;font-size:22px}
/* avatares v1 dos agentes (24/09): pixel art; o lado vem do JS e só pode ser 32, 64 ou 128 (divisor do arquivo de 256) */
.ag-av{display:inline-block;width:var(--ag-av,64px);height:var(--ag-av,64px);border-radius:50%;overflow:hidden;flex:none;background:var(--sup);vertical-align:middle}
.ag-av img{display:block;width:100%;height:100%;image-rendering:crisp-edges;image-rendering:pixelated;-webkit-user-drag:none}
.ag-av-sem{display:inline-grid;place-items:center;border:1.5px dashed var(--ink);font:500 16px/1 var(--font);color:var(--ink)}
.agc-id{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.agc-id b{font-size:18px;line-height:1.15;font-weight:500;letter-spacing:-.01em;color:var(--ink)}
.agc-id .lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip.est{flex:none}
.chip.est-ativo::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}
.chip.est-apoio{color:var(--ink)}
.chip.est-planejado{color:var(--ink3)}
.agc-pers{font-size:12.5px;line-height:1.45;color:var(--ink3)}
.agc-faz{font-size:14px;line-height:1.5;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.agc-pe{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}
.agc-pe .esp{flex:1}
.agc-cmd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:var(--ink2)}
.agc-tar{font-size:12.5px;font-weight:500;color:var(--ink2);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px;padding:2px 0}
.agc-tar:hover{color:var(--ink)}
.ag-cab{display:flex;align-items:center;gap:14px;margin-top:-4px}
.ag-cab-t{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.ag-nome{font-size:24px;line-height:1.15;font-weight:500;letter-spacing:-.02em}
.ag-l{list-style:disc;padding-left:20px;display:flex;flex-direction:column;gap:5px;font-size:14px;line-height:1.5}
.ag-q{display:flex;flex-direction:column;gap:6px}
.ag-q blockquote{margin:0;padding:6px 12px;border-left:2px solid var(--line2);font-size:14px;line-height:1.45;color:var(--ink2)}
.ag-p{font-size:14px;line-height:1.55}
.ag-p b{font-weight:500}
.ag-nota{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;color:var(--ink2);padding:6px 10px;border-radius:8px;background:var(--chip);overflow-wrap:anywhere}
.ag-tar{display:flex;flex-direction:column;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;background:var(--vidro-chao)}

/* ---------- Arte e mídia, materiais, envios ---------- */
.mg-zona{border-radius:12px;padding:6px;margin:0 -6px;transition:background .15s,box-shadow .15s}
.mg-zona.alvo{background:rgba(var(--tk-neblina-rgb),.16);box-shadow:inset 0 0 0 1.5px rgba(var(--tk-green-rgb),.7)}
.mg{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.mg-vz{font-size:13.5px;grid-column:1/-1;padding:4px 0}
.mg-it{position:relative;aspect-ratio:4/5;border-radius:10px;overflow:hidden;background:rgba(var(--tk-ink-rgb),.05);box-shadow:inset 0 0 0 1px var(--line);cursor:grab;touch-action:none;user-select:none}
.mg-it .mm-img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.mg-it.arr{opacity:.4}
.mg-it.m-antes{box-shadow:inset 3px 0 0 var(--blue)}
.mg-it.m-depois{box-shadow:inset -3px 0 0 var(--blue)}
.mg-n{position:absolute;left:6px;top:6px;min-width:20px;height:20px;padding:0 5px;border-radius:6px;background:rgba(255,255,255,.88);font-size:11.5px;font-weight:500;display:grid;place-items:center;font-variant-numeric:tabular-nums}
.mg-tipo{position:absolute;left:6px;bottom:6px;height:20px;padding:0 6px;border-radius:6px;background:rgba(14,14,14,.72);color:var(--tk-fog);font-size:11px;display:grid;place-items:center}
.mg-x{position:absolute;right:5px;top:5px;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;background:rgba(255,255,255,.9);color:var(--ink2);opacity:0}
.mg-it:hover .mg-x,.mg-x:focus-visible{opacity:1}
.mg-x .ic{width:13px;height:13px}
.mg-acoes{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px}
.mg-dica{font-size:12.5px;color:var(--ink3)}
.mm-ic{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;color:var(--ink2);background:rgba(var(--tk-ink-rgb),.05)}
.mm-ic small{font-size:11px;color:var(--ink3)}
.up{display:grid;grid-template-columns:minmax(0,1fr) 90px;align-items:center;gap:2px 10px;padding:6px 0;font-size:13px}
.up-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.up-b{height:3px;border-radius:2px;background:var(--line2);overflow:hidden;position:relative}
.up-b i{position:absolute;top:0;bottom:0;width:35%;background:var(--green);border-radius:2px;animation:upb 1.1s var(--ease-y) infinite}
.up.ok .up-b i{width:100%;animation:none;left:0}
.up.erro .up-b i{background:var(--red);width:100%;animation:none}
.up small{grid-column:1/-1;font-size:12px;color:var(--ink3)}
.up.erro small{color:var(--vermelho-txt)}
@keyframes upb{from{left:-35%}to{left:100%}}
.mat-l{display:flex;flex-direction:column;gap:2px}
.mat-it{display:flex;align-items:center;gap:10px;min-height:44px;padding:4px 0}
.mat-mini{width:40px;height:40px;border-radius:8px;object-fit:cover;flex:none;overflow:hidden}
.mat-mini.mm-ic .ic{width:16px;height:16px}
.mat-t{display:flex;flex-direction:column;min-width:0;flex:1}
.mat-t a,.mat-t b{font-size:14px;font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mat-t a:hover{color:var(--azul-txt)}
.mat-t small{font-size:12px;color:var(--ink3)}
.mat-x{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--ink3);flex:none}
.mat-x:hover{background:var(--hover2);color:var(--ink)}
.rt-ro{cursor:default}
.rt-ro:hover{background:none}

/* ---------- compositor "Pedir aos agentes" ---------- */
.cp-tit{font-size:24px;line-height:1.15;font-weight:500;letter-spacing:-.02em}
.cp-pedido{width:100%;min-height:132px;border:0;border-radius:12px;resize:none;overflow:hidden;padding:12px 14px;font-size:15px;line-height:1.55;color:var(--ink);background:var(--vidro-chao);box-shadow:inset 0 0 0 1px var(--line2)}
.cp-pedido:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--blue)}
.cp-props{margin-top:0}
.cp-zona{padding:14px;margin:4px 0;border:1.5px dashed var(--line2);color:var(--ink2);font-size:13.5px}
.cp-zona p{display:flex;align-items:center;gap:8px}
.cp-zona .ic{color:var(--ink3)}
.cp-escolher{font-weight:500;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.cp-link{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap}
.cp-link .campo{flex:1 1 140px}
.cp-acao{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-top:4px}
.cp-enviar{height:44px;padding:0 20px;font-size:14px}
.cp-nota{font-size:12.5px;color:var(--ink3);max-width:48ch}
.cp-ok{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:12px}
.cp-ok-ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(var(--tk-green-rgb),.14);color:var(--verde-txt)}
.cp-ok-ic .ic{width:22px;height:22px;stroke-width:2}
.cp-ok-t{font-size:15px;color:var(--ink2)}
.cp-ok-acoes{display:flex;flex-wrap:wrap;gap:8px}

/* ---------- Aprovações ---------- */
.apv{display:grid;grid-template-columns:280px minmax(0,1fr) 300px;gap:16px;align-items:start}
.apv-topo-m{display:none}
.apv-fila{position:sticky;top:16px;display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:16px;max-height:calc(100vh - 32px);overflow:auto;min-width:0}
.apv-n{font-size:11px;color:var(--ink3);font-variant-numeric:tabular-nums}
.apv-lista{display:flex;flex-direction:column;gap:2px}
.apv-vz{padding:14px 8px;font-size:13.5px}
.apv-it{display:flex;align-items:center;gap:10px;width:100%;padding:7px;border-radius:12px;text-align:left;min-width:0}
.apv-it:hover{background:var(--hover2)}
.apv-it.on{background:var(--sup);box-shadow:0 1px 3px rgba(0,0,0,.08),inset 0 0 0 1px var(--line)}
.apv-it .mm-img,.apv-it .mm-ic{width:44px;height:55px;border-radius:8px;object-fit:cover;flex:none;overflow:hidden}
.apv-it .mm-ic small{font-size:9.5px}
.apv-it-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.apv-it-t b{font-size:13.5px;line-height:1.3;font-weight:500;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.apv-it-t small{font-size:12px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.apv-centro{display:flex;justify-content:center;min-width:0}
.apv-nada{margin:0;width:100%}
.m-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}
.moldura{width:100%;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.moldura.m-li{max-width:520px}
.moldura.m-ig{max-width:460px}
.moldura.m-livre{max-width:520px}
.m-legenda-cab{font-size:12.5px;color:var(--ink3);text-align:center}
.m-cab{display:flex;align-items:center;gap:10px;padding:14px 16px 10px}
.m-av,.m-cab .av{width:40px;height:40px;font-size:15px;box-shadow:none}
.m-node{display:inline-grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--paper);font:500 18px/1 var(--font);flex:none}
.m-nome{display:flex;flex-direction:column;line-height:1.25}
.m-nome b{font-size:14px;font-weight:500}
.m-nome small{font-size:12px;color:var(--ink3)}
.m-leg-w{padding:4px 16px 12px}
.m-ig .m-leg-w{padding:12px 16px 16px}
.m-livre .m-leg-w{padding:14px 16px 16px}
.m-leg{margin:0;padding:0;cursor:default;font-size:14px;line-height:1.55;min-height:0}
.m-leg:hover{background:none}
.m-li .m-leg:not(.aberta){max-height:4.65em;overflow:hidden}
.m-leg-nome{font-weight:500}
.m-vermais{font-size:13.5px;color:var(--ink3);margin-top:2px}
.m-vermais:hover{color:var(--ink);text-decoration:underline}
.m-palco{position:relative;background:rgba(var(--tk-ink-rgb),.05);aspect-ratio:4/5;margin:0 12px 12px;border-radius:12px;overflow:hidden}
.m-ig .m-palco{margin:12px 12px 0}
.m-livre .m-palco{margin:12px 12px 0}
.m-palco.video{aspect-ratio:auto;background:#0E0E0E}
.m-img{width:100%;height:100%;object-fit:contain;display:block}
.m-vid{width:100%;max-height:70vh;display:block;background:#0E0E0E}
.m-pdf{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--ink)}
.m-pdf .ic{width:28px;height:28px}
.m-pdf small{font-size:12px;color:var(--ink3)}
.m-seta{position:absolute;top:50%;margin-top:-18px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);box-shadow:0 2px 8px rgba(0,0,0,.15);color:var(--ink)}
.m-seta.esq{left:10px}.m-seta.dir{right:10px}
.m-seta[disabled]{opacity:0;pointer-events:none}
.m-cont{position:absolute;right:10px;top:10px;height:24px;padding:0 8px;border-radius:12px;background:rgba(14,14,14,.66);color:var(--tk-fog);font-size:12px;font-weight:500;display:grid;place-items:center;font-variant-numeric:tabular-nums}
.m-ig .m-cont{display:none}
.m-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:5px}
.m-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);box-shadow:0 0 0 1px rgba(14,14,14,.15)}
.m-dots i.on{background:var(--blue)}
.m-sem{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:220px;margin:0 12px 12px;border-radius:12px;background:rgba(var(--tk-ink-rgb),.04);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink2);text-align:center}
.m-ig .m-sem,.m-livre .m-sem{margin:12px 12px 0}
.m-sem .ic{width:24px;height:24px;color:var(--ink3)}
.m-sem b{font-size:14px;font-weight:500}
.m-sem small{font-size:12.5px;color:var(--ink3)}
.apv-dec{position:sticky;top:16px;display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:16px;min-width:0;max-height:calc(100vh - 32px);overflow:auto}
.apv-dec-t{font-size:17px;line-height:1.3;font-weight:500;letter-spacing:-.01em}
.apv-info{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 12px;margin:0;font-size:13.5px}
.apv-info dt{color:var(--ink3);font-size:12.5px;padding-top:2px}
.apv-info dd{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}
.apv-brief summary{cursor:pointer;font-size:13px;font-weight:500;color:var(--ink2)}
.apv-brief .rt{margin:6px 0 0;padding:8px 10px;font-size:13.5px;background:var(--vidro-chao);border-radius:10px}
.apv-rod{display:flex;flex-direction:column;gap:4px;padding-top:10px;border-top:1px solid var(--line)}
.apv-rod b{font-size:14px;font-weight:500}
.apv-hist{display:flex;flex-direction:column;gap:6px;margin-top:4px;font-size:12.5px;color:var(--ink2)}
.apv-hist time{display:block;font-size:11.5px;color:var(--ink3);font-variant-numeric:tabular-nums}
.apv-est{font-size:13px;line-height:1.5;color:var(--ink2);padding:10px 12px;border-radius:10px;background:var(--vidro-chao)}
.apv-acoes{display:flex;flex-direction:column;gap:8px;padding-top:4px}
.apv-b{width:100%;height:44px;font-size:14px;justify-content:center;gap:10px}
.apv-b .kbd{background:rgba(255,255,255,.35);color:inherit}
.apv-ok .kbd{background:rgba(4,19,13,.12)}
.apv-abrir{align-self:center;font-size:12.5px;font-weight:500;color:var(--ink2);text-decoration:underline;text-underline-offset:3px;padding:4px}
.apv-abrir:hover{color:var(--ink)}
.apv-aj{display:flex;flex-direction:column;gap:8px}
.apv-aj-t{font-size:14px;font-weight:500}
.apv-alvo{display:flex}
.apv-alvo button{flex:1}
.apv-com{height:auto;min-height:96px;padding:8px 10px;resize:vertical;line-height:1.45}
.apv-aj-n{font-size:12px;color:var(--ink3)}
.apv-aj-b{display:flex;gap:8px}
.apv-aj-b .apv-b{flex:1}
.apv-sel-m .ic{width:14px;height:14px}

/* larguras dos módulos novos */
@media (max-width:1180px){
  .ag-grade{grid-template-columns:repeat(2,minmax(0,1fr))}
  .apv{grid-template-columns:240px minmax(0,1fr) 280px;gap:12px}
}
@media (max-width:899px){
  .apv{grid-template-columns:minmax(0,1fr);gap:14px;padding-bottom:76px}
  .apv-fila{display:none}
  .apv-topo-m{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
  .apv-sel-m{align-self:flex-start}
  /* sem vidro no celular: backdrop-filter faz do painel o bloco de contenção do position:fixed e a barra de decisão
     ficava presa dentro dele, fora da tela (achado na V3.2) */
  .apv-dec{position:static;max-height:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}
  .apv-acoes{position:fixed;z-index:44;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom,0px));flex-direction:row;flex-wrap:wrap;padding:8px;border-radius:16px;
    background:var(--tk-panel-light);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 8px 28px -8px rgba(0,0,0,.28),inset 0 0 0 1px rgba(14,14,14,.06)}
  .apv-acoes .apv-b{flex:1;width:auto;height:46px}
  .apv-acoes .apv-abrir{display:none}
  .apv-acoes .kbd{display:none}
  .apv-acoes.com-form{position:static;background:none;box-shadow:none;padding:0;-webkit-backdrop-filter:none;backdrop-filter:none}
  .apv-acoes.com-form .apv-aj{width:100%}
  .moldura.m-li,.moldura.m-ig,.moldura.m-livre{max-width:none}
  .m-aparelho{height:auto;width:100%;max-width:360px;margin:0 auto}
}
@media (max-width:640px){
  .ag-grade{grid-template-columns:minmax(0,1fr)}
}

/* ---------- larguras ---------- */
@media (max-width:1180px){
  .lateral{width:var(--lat-rec);padding-inline:8px}
  .lateral .lat-topo{flex-direction:column;gap:10px;padding:0}
  .lateral .logo .lbl,.lateral .lat-grupo>.lbl,.lateral .nv-t,.lateral .nv-n,.lateral .nv kbd,.lateral .p-nome,.lateral .conexao span,.lateral .lat-rec{display:none}
  .lateral .logo svg{height:14px}
  .lateral .logo-hub{display:none}
  .lateral .pessoa{flex-direction:column}
  .lateral .pessoa button{justify-content:center;padding:0}
  .lateral .nv{justify-content:center;padding:0}
  .lateral .nv::before{left:3px}
  .lateral .conexao{justify-content:center;padding:0}
  .lateral .perfil{justify-content:center;padding:6px 0}
  .lateral .perfil-t,.lateral .perfil>.ic{display:none}
  .conteudo,.recolhida .conteudo{padding-left:calc(var(--m) + var(--lat-rec) + 24px);padding-right:24px}
  .ini{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:899px){
  .lateral{display:none}
  .barra-inf{display:flex}
  .conteudo,.recolhida .conteudo{padding:14px 16px calc(74px + var(--fab-lado) + 6px + env(safe-area-inset-bottom,0px))}
  .topo-m{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
  .topo-m .pessoa{background:var(--chip)}
  .topo-m .pessoa button{height:30px;padding:0 10px}
  .mh{gap:12px;margin-bottom:18px}
  .mh .aqui{display:none}
  .dicas{display:none}
  .topo-m .logo svg{height:18px}
  .topo-m .pessoa button{gap:7px}
  .mh-h{font-size:27px}
  .mh-acoes .btn-nova,.mh-acoes .busca{display:none}
  .mh-acoes{width:100%}
  .mh-acoes .seg{flex:1}
  .mh-acoes .seg button{flex:1;padding:0 8px}
  .quadro{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ini{grid-template-columns:minmax(0,1fr)}
  .semana{display:none}
  .sem-m{display:flex;flex-direction:column;gap:16px}
  .cal-l{grid-template-columns:minmax(0,1fr)}
  .toasts{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .massa{bottom:calc(74px + env(safe-area-inset-bottom,0px))}
  body.com-massa .toasts{bottom:calc(132px + env(safe-area-inset-bottom,0px))}
  .g-miolo{padding:20px 18px 32px;gap:30px}
  .g-topo{padding-left:16px}
  .g-pe{padding-left:18px;padding-right:14px}
  .prop{grid-template-columns:112px minmax(0,1fr)}
  .card-mais{visibility:visible}
  .gaveta,.gaveta.central{top:0;left:0;right:0;bottom:0;width:100vw;height:auto;border-radius:0;transform:none;background:#FBFAF7;
    -webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
  .gaveta.on,.gaveta.central.on{transform:none}
  .g-exp{display:none}
  .cobre{padding-top:8vh}
}
@media (max-width:640px){
  .quadro{grid-template-columns:minmax(0,1fr)}
  .proj-grade{grid-template-columns:minmax(0,1fr)}
  .proj-quadro.disc{grid-template-columns:minmax(0,1fr)}
  .cfg-perfil,.cfg-l{grid-template-columns:minmax(0,1fr)}
  .cfg-l-pasta .cfg-nota{grid-column:auto}
  .cfg-eq-l{grid-template-columns:28px minmax(0,1fr) auto}
  .cfg-eq-l .cfg-eq-a,.cfg-eq-l .chip{display:none}
  .ag-nina{flex-direction:column;padding:18px}
  .ag-dia{grid-template-columns:64px minmax(0,1fr)}
  .np-grade{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .proj-busca{min-width:0;width:100%}
  .cal-l .cal-wrap{display:none}
  .agenda{display:flex;flex-direction:column;gap:14px}
  .atv li{grid-template-columns:minmax(0,1fr);gap:0}
  .pal-it{display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:12px;row-gap:1px;align-items:center}
  .pal-it .d{grid-column:2;max-width:none;font-size:12px}
  .tabela thead{display:none}
  .tabela,.tabela tbody{display:block}
  .tabela tr.grp,.tabela tr.grp td{display:block}
  .tabela tr.ln{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;padding:12px 14px;border-bottom:1px solid var(--line)}
  .tabela tr.ln td{display:inline-flex;align-items:center;padding:0;border:0;background:none!important;position:static}
  .tabela tr.ln td.t{display:block;flex-basis:100%;min-width:0;max-width:none;width:auto}
  .tabela td.t small{max-width:none;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .tabela tr.ln td:has(> .vz){display:none}
  .tabela-wrap{overflow:hidden}
  .stp{min-width:0}
  .stp:not(.atual) span{visibility:hidden}
  .rolo-wrap::before,.rolo-wrap::after{width:18px}
  .tabela tr.ln{position:relative}
  .tabela tr.ln td.sel{position:absolute!important;right:12px;top:13px;padding:0;width:auto}
  .tabela tr.ln td.t{padding-right:34px}
  .massa{flex-wrap:wrap;justify-content:center;width:calc(100vw - 24px)}
  .lista-dica{display:none}
}
@media (hover:none){
  .card-mais{visibility:visible}
  .card-ok{display:none}
  .cki-x{opacity:1}
  .cki-g{display:none}
  .cki-v{opacity:1;padding:0;width:28px;height:28px;top:3px;justify-content:center}
  .cki.com-v{padding-right:64px}
  .dicas{display:none}
  .cki-v span{display:none}
}
.sem-dia{display:flex;flex-direction:column;gap:6px}
.sem-dia-cab{display:flex;align-items:center;gap:8px;padding:0 2px}
.sem-dia-cab .lbl{color:var(--ink)}
.sem-dia-cab small{font-size:12.5px;color:var(--ink3)}
.sem-dia.hoje .sem-dia-cab::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green)}
.sem-dia .nada{font-size:12.5px;color:var(--ink3);padding:2px 2px 0}
.ag-sem{display:flex;flex-direction:column;gap:8px}
.sem-dia.vazio{flex-direction:row;align-items:center}
.sem-dia.vazio .sem-dia-cab .lbl{color:var(--ink3)}
.sem-dia.passado .sem-dia-cab .lbl{color:var(--ink3)}
.tr-no small.tr-nota{margin-top:-4px}
.atv li.atv-vz{display:block;color:var(--ink3);border:0}

.ag-sem>.lbl{padding:0 2px}


/* ---------- V4: logo "hub" (§2.1), pílula (§2.3), Ver como, foto no avatar, módulos ---------- */
.logo{align-items:flex-end}
/* §2.1: "hub" encostado no canto inferior direito do "node", base alinhada (medido: 0,3px), vão de ~3,8px */
.logo-hub{font:500 13px/1 var(--font);color:#0FB985;margin-left:-6.5px;letter-spacing:0;text-transform:none;transform:translateY(1px);flex:none}
.recolhida .logo-hub{display:none}
.aqui{padding-top:2px}.aqui::before{transform:translateY(-1px)}
.faixa-ver{display:flex;align-items:center;gap:10px;align-self:flex-start;margin:0 0 14px;padding:5px 5px 5px 6px;border-radius:999px;background:rgba(var(--tk-green-rgb),.14);font-size:13px;color:var(--ink);width:max-content;max-width:100%}
.faixa-ver[hidden]{display:none}
.faixa-ver button{height:26px;padding:0 12px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line);font:500 12.5px/1 var(--font);color:var(--ink)}
.av-foto{overflow:hidden;background:var(--sup)}
.av-foto img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.mod-ext{min-width:0}
.mh-ext{margin-bottom:14px}
/* módulo externo que ocupa a altura livre (Chat, Nina): sem os 72px de respiro embaixo, a página não rola à toa */
@media (min-width:900px){.conteudo:has(#vista>.mod-cheio){padding-bottom:14px}}   /* V5.0 revisão 1: só o de altura cheia (mod-cheio); Clientes e Colaboradores rolam a página e ficam com o fundo */
.mi-n{margin-left:auto;font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums}


/* ---------- V4 §2.4: mais cor onde importa (prioridade alta em laranja, prazo por proximidade) ---------- */
.pr-alta{color:var(--laranja)}
.chip.pr-c-alta{background:rgba(var(--laranja-rgb),.1);color:var(--laranja-txt)}
.mt.hoje,.mt.hoje .ic{color:var(--laranja-txt)}
.mt.hoje{background:rgba(var(--laranja-rgb),.12);padding:2px 7px 2px 5px;border-radius:7px}
.mt.breve,.mt.breve .ic{color:var(--laranja-txt)}
.ch-proj{font-variant-numeric:tabular-nums;font-weight:500}
.ch-proj .ic{width:12px;height:12px}
.seg-area{height:32px}
.seg-area button{padding:0 12px;font-size:12.5px}
/* ---------- V4 §4.1: Minhas tarefas ---------- */
.mn-wrap{display:flex;flex-direction:column;gap:18px;max-width:860px}
.mn-cab{display:flex;align-items:center;gap:8px;height:30px;padding:0 4px;border-radius:8px;color:var(--ink)}
.mn-cab h2{font:500 15px/1 var(--font);letter-spacing:-.005em}
.mn-cab .mn-seta{width:14px;height:14px;color:var(--ink3);transition:transform .2s var(--ease)}
.mn-cab[aria-expanded=false] .mn-seta{transform:rotate(-90deg)}
.mn-n{font-size:12.5px;color:var(--ink3);font-variant-numeric:tabular-nums}
.mn-atr h2,.mn-atr .mn-n{color:var(--vermelho-txt)}
.mn-hoje h2{color:var(--laranja-txt)}
.mn-lista{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.mn-it{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:14px;background:var(--vidro-card);box-shadow:var(--vidro-card-linha);cursor:pointer;
  -webkit-backdrop-filter:blur(var(--vidro-card-blur)) saturate(1.3);backdrop-filter:blur(var(--vidro-card-blur)) saturate(1.3);transition:background .15s}
.mn-it:hover{background:var(--vidro-card-hover)}
.mn-it.feita .mn-t{color:var(--ink3);text-decoration:line-through;text-decoration-color:rgba(var(--tk-ink-rgb),.3)}
.mn-ok{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#fff;box-shadow:inset 0 0 0 1.5px rgba(var(--tk-ink-rgb),.28);color:transparent;margin-top:-2px;transition:background .15s,box-shadow .15s,color .15s}
.mn-ok .ic{width:15px;height:15px;stroke-width:2.2}
.mn-ok:hover{box-shadow:inset 0 0 0 1.5px var(--green);color:var(--green)}
.mn-ok.on{background:var(--green);box-shadow:none;color:var(--tk-on-green)}
.mn-c{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}
.mn-t{font:500 15px/1.35 var(--font);color:var(--ink);letter-spacing:-.005em}
.mn-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-width:0}


/* ---------- V4 §5: Projetos ---------- */
.seg-proj{align-self:flex-start}
.seg-n{margin-left:6px;font-size:11.5px;color:var(--ink3);font-variant-numeric:tabular-nums}
.proj-busca{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px var(--line);min-width:240px}
.proj-busca input{border:0;background:none;font-size:13.5px;width:100%;outline:none}
.fr-extra{font-size:13px;color:var(--ink3);margin-left:14px}
.proj-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.pj{display:flex;flex-direction:column;gap:12px;padding:16px 18px;border-radius:16px;cursor:pointer;background:var(--vidro-card);box-shadow:var(--vidro-card-linha);
  -webkit-backdrop-filter:blur(var(--vidro-card-blur)) saturate(1.3);backdrop-filter:blur(var(--vidro-card-blur)) saturate(1.3);transition:background .15s,box-shadow .15s;min-width:0}
.pj:hover{background:var(--vidro-card-hover);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 0 0 1px rgba(14,14,14,.14)}
.pj-topo{display:flex;align-items:flex-start;gap:14px;min-width:0}
.pj-num{font:500 30px/1 var(--font);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);min-width:52px}
.pj-id{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.pj-nome{font:500 16px/1.3 var(--font);letter-spacing:-.005em;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pj-cli{font-size:13px;color:var(--ink3);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pj-seta{color:var(--ink3)}
.pj-chips,.proj-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
.pj-pe{display:flex;align-items:center;gap:10px;min-width:0}
.pj-pe .esp{flex:1}
.pj-disc{display:flex;flex-wrap:wrap;gap:5px}
.ch-st .pt{margin-right:1px}
.ch-np{background:rgba(var(--tk-ambar-rgb),.12);color:#7A5200}
.ch-np .ic{width:12px;height:12px}
.ch-rank{font-weight:500}
.mt.prog{gap:7px;font-variant-numeric:tabular-nums}
.barra-p{display:inline-block;width:64px;height:4px;border-radius:2px;background:rgba(var(--tk-ink-rgb),.1);overflow:hidden}
.barra-p b{display:block;height:100%;background:var(--green);border-radius:2px}
.voltar-proj{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px 0 6px;border-radius:8px;font-size:13px;color:var(--ink2);margin:-4px 0 -6px -6px}
.voltar-proj:hover{background:var(--hover);color:var(--ink)}
.proj-h{font-size:30px}
.proj-col{display:flex;flex-direction:column;gap:30px;max-width:1100px}
.proj-props{margin-top:0;max-width:720px}
.pj-sec{display:flex;flex-direction:column;gap:12px}
.pj-sec>.lbl{display:flex;align-items:baseline;gap:6px}
.pj-resumo{font-size:14.5px;line-height:1.55;color:var(--ink);max-width:720px}
.pj-resumo p+p{margin-top:10px}
.proj-quadro .col{min-height:120px}
.prop-b{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 6px;border-radius:8px}
.prop-b:hover{background:var(--hover)}
.eq-w{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.eq-l{display:flex;flex-direction:column;gap:6px}
.eq-l .pessoa-it small{color:var(--ink3)}
.budget{font-variant-numeric:tabular-nums;font-weight:500}
.prop-b .atraso{color:var(--vermelho-txt)}
.prop-b .ent-hoje{color:var(--laranja-txt);background:rgba(var(--laranja-rgb),.12);padding:2px 7px;border-radius:7px}
.prop-b .ent-breve{color:var(--laranja-txt)}
.prop-b .vz{color:var(--ink3)}
.links-l{display:flex;flex-direction:column;gap:4px;list-style:none;padding:0}
.links-l a{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink)}
.links-l small{color:var(--ink3)}
.nota-brain{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nota-brain code{font-size:12.5px;color:var(--ink2)}
.campo.campo-data{height:32px;width:auto;max-width:190px;padding:0 8px}
.np{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:16px;margin-bottom:16px;max-width:900px}
.np-cab{display:flex;align-items:center;justify-content:space-between}
.np-cab h2{font:500 16px/1 var(--font)}
.np-grade{display:grid;grid-template-columns:110px minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:12px}
.np-grade .np-c:nth-child(5),.np-grade .np-c:nth-child(6){grid-column:span 2}
.np-c{display:flex;flex-direction:column;gap:6px;min-width:0}
.np-c .campo{height:38px;padding:0 10px;flex:none;width:100%}
.np-aviso{color:var(--vermelho-txt);font-size:13.5px;font-weight:500}
.np-acoes{display:flex;align-items:center;justify-content:space-between;gap:12px}
.np-acoes small{font-size:12.5px;color:var(--ink3)}
@media (max-width:480px){.np-acoes{flex-wrap:wrap}.np-acoes small{flex-basis:100%}} /* V5.0 r2 (Lince N1): a dica desce para a linha de cima, inteira */


/* ---------- V4 §6.2 versões ---------- */
.vs-l{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.vs{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:999px;background:rgba(var(--tk-ink-rgb),.06)}
.vs-p{position:relative;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border-radius:999px;font:500 12.5px/1 var(--font);color:var(--ink2)}
.vs-p:hover{color:var(--ink)}
.vs-p.on{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}
.vs-at{width:6px;height:6px;border-radius:50%;background:var(--green)}
.vs-in{height:28px;width:180px;padding:0 10px;border-radius:999px;border:0;box-shadow:inset 0 0 0 1.5px var(--green);font:500 12.5px/1 var(--font);background:#fff}
.vs-x{color:var(--ink3)}
.vs-x:hover{color:var(--vermelho-txt)}
/* Iris V4 §2: um acento por tela; o verde fica só em "Chamar a Nina no Claude" */
.ag-grade .btn-v{background:rgba(255,255,255,.72);border-color:var(--line2);color:var(--ink)}
.ag-grade .btn-v:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
/* Iris V4 §8: no celular o ponto verde não cobre o número */
.bi[aria-current=page]:has(.bi-n)::after{display:none}
/* Iris V4 §3: "+ N mais" nas colunas do Início */
.ini-mais{display:flex;align-items:center;width:100%;height:40px;padding:0 16px 0 40px;border-top:1px solid var(--line);font-size:13px;font-weight:500;color:var(--ink2);text-align:left}
.ini-mais:hover{color:var(--ink);background:var(--hover)}
/* ---------- V4 §7.1 fila com mais ar ---------- */
.apv{grid-template-columns:320px minmax(0,1fr) 300px}
.apv-fila{gap:10px;padding:10px}
.apv-n{display:inline-grid;place-items:center;min-width:20px;height:18px;padding:0 5px;border-radius:999px;background:rgba(var(--tk-ink-rgb),.07);font-size:11px;color:var(--ink2);font-variant-numeric:tabular-nums}
.apv-lista{display:flex;flex-direction:column;gap:6px}
.apv-it{gap:12px;padding:12px;border-radius:14px}
.apv-it .mm-img,.apv-it .mm-ic{width:56px;height:56px;border-radius:10px}
.apv-it-t{gap:4px}
.apv-it-t b{font-size:14px;line-height:1.35}
.apv-it-t small{font-size:12.5px}
.apv-it.on{background:var(--vidro-card-hover);box-shadow:inset 0 0 0 1.5px rgba(var(--tk-ink-rgb),.14),0 2px 8px -2px rgba(0,0,0,.1)}
.apv-so-ver{font-size:13px;color:var(--ink3);line-height:1.45}
/* ---------- V4 §7.2 molduras ---------- */
.apv-c{display:flex;flex-direction:column;gap:12px;align-items:center;width:100%}
.apv-cmp-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;width:100%;align-items:start}
.apv-cmp-c{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
.m-rede{align-self:center;margin-bottom:-2px}
.moldura.m-ig{max-width:clamp(380px,calc((100vh - 440px)*.8 + 24px),500px)}
/* com as pílulas de versão (+46px) a fórmula da Iris passava de 900px; ali o mínimo desce para 360px */
.apv-c:has(.apv-vs) .moldura.m-ig{max-width:clamp(360px,calc((100vh - 490px)*.8 + 24px),500px)}
.apv-c:has(.apv-vs) .moldura.m-li{max-width:clamp(400px,calc(100vh - 530px),540px)}
.moldura.m-li{max-width:clamp(420px,calc(100vh - 480px),540px)}
.m-cab .m-mais{margin-left:auto;width:18px;height:18px;color:var(--ink3)}
.m-dots-fora{position:static;display:flex;justify-content:center;gap:4px;margin:-4px 0 2px}
.m-dots-fora i{width:6px;height:6px;border-radius:50%;background:rgba(var(--tk-ink-rgb),.2)}
.m-dots-fora i.on{background:var(--blue)}
.m-acoes{display:flex;align-items:center;gap:14px;padding:4px 16px 2px;color:var(--ink)}
.m-acoes .ic{width:22px;height:22px;stroke-width:1.6}
.m-acoes .esp{flex:1}
.m-ig-feed .m-leg-w{padding:6px 16px 0}
.m-ig-feed .m-leg:not(.aberta){max-height:3.1em;overflow:hidden}
.m-ig-feed .m-vermais{padding:0}
.m-data{padding:6px 16px 14px;font-size:11.5px;color:var(--ink3);text-transform:none}
.m-aparelho{width:auto;max-width:none;height:min(78vh,720px);aspect-ratio:9/19.5;padding:10px;border-radius:36px;background:rgba(255,255,255,.55);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 0 0 1px rgba(14,14,14,.1),0 24px 60px -24px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.m-tela{position:relative;width:100%;height:100%;border-radius:27px;overflow:hidden;background:#0E0E0E;color:#fff}
.m-tela .m-sem{height:100%;background:#1c1c1c;color:rgba(255,255,255,.8)}
.m-cheia,.m-tela .m-vid.m-cheia{position:absolute;inset:0;width:100%;height:100%;max-height:none;max-width:none;object-fit:cover;border-radius:0}
.m-play{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border-radius:50%;display:grid;place-items:center;background:rgba(14,14,14,.45);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:3}
.m-play .ic{width:26px;height:26px;fill:#fff;stroke:none;margin-left:3px}
.m-play.tocando{opacity:0}.m-play.tocando:hover,.m-play.tocando:focus-visible{opacity:1}
.m-sob{position:absolute;left:0;right:0;z-index:2;padding:14px 16px;pointer-events:none}
.m-sob-topo{top:0;padding-bottom:56px;background:linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.4) 55%,transparent)}
.m-sob b,.m-sob small,.m-sob p,.m-msg{text-shadow:0 1px 3px rgba(0,0,0,.45)}
.m-sob-topo b{font:500 17px/1 var(--font)}
.m-sob-pe{bottom:0;padding-bottom:18px;background:linear-gradient(transparent,rgba(0,0,0,.6));display:flex;flex-direction:column;gap:8px}
.m-quem{display:flex;align-items:center;gap:8px;font-size:13.5px}
.m-quem small{font-size:12px;color:rgba(255,255,255,.75)}
.m-tela .m-node{width:30px;height:30px;box-shadow:0 0 0 1.5px rgba(255,255,255,.9)}
.m-node svg{width:26px;height:auto;display:block;color:var(--paper)}
.m-tela .m-node svg{width:20px}
.m-leg2{font-size:13px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:80%}
.m-audio{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.85)}
.m-audio .ic{width:13px;height:13px}
.m-trilho{position:absolute;right:10px;bottom:96px;z-index:2;display:flex;flex-direction:column;gap:20px;pointer-events:none}
.m-trilho .ic{width:26px;height:26px;color:#fff}
.m-barras{display:flex;gap:4px;margin-bottom:12px}
.m-barras i{flex:1;height:2.5px;border-radius:2px;background:rgba(255,255,255,.35)}
.m-barras i.cheia{background:#fff}
.m-barras i.atual{background:linear-gradient(90deg,#fff 45%,rgba(255,255,255,.35) 45%)}
.m-st-pe{flex-direction:row;align-items:center;gap:14px;padding-top:56px;background:linear-gradient(transparent,rgba(0,0,0,.4) 45%,rgba(0,0,0,.7))}
.m-msg{flex:1;height:40px;display:flex;align-items:center;padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.75);font-size:13px;color:rgba(255,255,255,.9)}
.m-st-pe .ic{width:24px;height:24px;color:#fff}
.m-meia{position:absolute;top:70px;bottom:80px;width:50%;z-index:1}
.m-meia.esq{left:0}.m-meia.dir{right:0}
.m-meia:disabled{cursor:default}
.m-cont-st{position:absolute;top:44px;right:14px;z-index:2}
.m-doc{margin:0 12px 12px;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.m-doc-cab{display:flex;align-items:baseline;gap:8px;padding:10px 14px;background:rgba(var(--tk-ink-rgb),.04);font-size:13px}
.m-doc-cab small{color:var(--ink3)}
.m-doc-sl{position:relative;aspect-ratio:1/1;background:rgba(var(--tk-ink-rgb),.05)}
.m-doc-sl .m-img{width:100%;height:100%;object-fit:contain}
.m-doc-pe{display:flex;justify-content:center;padding:8px;font-size:12.5px;color:var(--ink2);font-variant-numeric:tabular-nums;background:rgba(var(--tk-ink-rgb),.04)}
.m-palco.li{margin:0 12px 12px}
.m-reacoes{display:flex;justify-content:space-around;gap:6px;padding:6px 10px 10px;border-top:1px solid var(--line);margin-top:2px}
.m-reacoes span{display:inline-flex;align-items:center;gap:6px;padding:8px 6px;font-size:12.5px;font-weight:500;color:var(--ink2)}
.m-reacoes .ic{width:18px;height:18px}
.m-li .m-cab small{font-size:11.5px}


/* ---------- V4 §4.3/§4.6 gaveta ---------- */
.prop-proj-n{font-size:14px;color:var(--ink)}
.m-busca{width:100%;height:34px;padding:0 10px;margin-bottom:6px;border-radius:8px;border:0;box-shadow:inset 0 0 0 1px var(--line2);font-size:13.5px}
.mp-l{max-height:300px;overflow:auto;display:flex;flex-direction:column}
.rel-proj .rel-t{font-weight:500}
.lnk{display:inline;padding:0;font-size:13px;font-weight:500;color:var(--ink2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(var(--tk-ink-rgb),.3)}
.lnk:hover{color:var(--ink)}
/* ---------- V4 §4.5 Semana ---------- */
.sem-col{min-height:60vh}
/* cards do tamanho do Quadro em coluna estreita: a linha de cima quebra e o "Mais ações" flutua */
.sem-col .card-topo{flex-wrap:wrap;row-gap:6px}
.sem-col .card-topo .chip:not(.pr-chip){max-width:100%}
@media (hover:hover) and (min-width:900px){
  .sem-col .card .card-mais{position:absolute;top:6px;right:6px;z-index:1;background:var(--vidro-card-hover);box-shadow:0 0 0 1px var(--line)}
}
/* ---------- V4 §8 Nina em destaque ---------- */
.ag-nina{display:flex;align-items:flex-start;gap:20px;padding:22px 24px;margin-bottom:14px;border-radius:18px;background:var(--vidro-card-hover);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 0 0 1px rgba(var(--tk-green-rgb),.35),0 12px 32px -18px rgba(var(--tk-green-rgb),.55);-webkit-backdrop-filter:blur(var(--vidro-card-blur)) saturate(1.3);backdrop-filter:blur(var(--vidro-card-blur)) saturate(1.3)}
.ag-nina-mono{width:64px;height:64px;font-size:26px;border:0;box-shadow:0 0 0 3px var(--green),0 0 0 7px rgba(var(--tk-green-rgb),.16);background:#fff}
.ag-nina-c{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1}
.ag-nina-t{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ag-nina-t b{font:500 24px/1.1 var(--font);letter-spacing:-.015em}
.ag-nina-f{font-size:15.5px;line-height:1.45;color:var(--ink);max-width:720px}
.ag-nina-b{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:4px}
.ch-cmd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
/* ---------- V4 §9 Configurações ---------- */
.cfg{display:flex;flex-direction:column;gap:14px;max-width:860px}
.cfg-sec{display:flex;flex-direction:column;gap:14px;padding:20px 22px;border-radius:16px}
.cfg-cab{display:flex;align-items:baseline;gap:10px}
.cfg-cab h2{font:500 17px/1.2 var(--font);letter-spacing:-.01em}
.cfg-cab small{font-size:12.5px;color:var(--ink3)}
.cfg-perfil{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;align-items:start}
.cfg-fw{display:flex;flex-direction:column;align-items:center;gap:10px}
.cfg-foto .av{box-shadow:0 0 0 3px #fff,0 0 0 4px var(--line)}
.cfg-campos{display:flex;flex-direction:column;gap:12px}
.cfg-c{display:flex;flex-direction:column;gap:6px}
.cfg-c .campo{height:38px;padding:0 10px;max-width:420px;flex:none;width:100%}
.cfg-eq-l .chip{justify-self:start}
.cfg-ro{font-size:14px;color:var(--ink)}
.cfg-nota{font-size:12.5px;color:var(--ink3);line-height:1.45}
.cfg-l{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:12px;min-height:40px}
.cfg-k{font-size:14px;color:var(--ink2)}
.cfg-l .seg{justify-self:start}
.cfg-l-pasta{align-items:start}
.cfg-l-pasta .cfg-nota{grid-column:2}
.cfg-pasta-w{display:flex;gap:8px;align-items:center}
.cfg-pasta{height:36px;padding:0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;max-width:460px}
.cfg-eq{display:flex;flex-direction:column}
.cfg-eq-l{display:grid;grid-template-columns:28px minmax(0,1.4fr) 110px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;border-top:1px solid var(--line)}
.cfg-eq-l:first-child{border-top:0}
.cfg-eq-l .av{width:28px;height:28px;font-size:12px}
.cfg-eq-n{display:flex;flex-direction:column;gap:2px;min-width:0}
.cfg-eq-n b{font-size:14px;font-weight:500}
.cfg-eq-n small,.cfg-eq-a{font-size:12.5px;color:var(--ink3)}
/* ---------- V4 §2.6 Agenda e §5 projetos no Início ---------- */
.bloco-ag,.bloco-pj{grid-column:1/-1}
.bloco-ic{width:14px;height:14px;color:var(--ink3);margin-right:-2px}
.ag-sub{font-size:12px;color:var(--ink3);margin-left:4px}
.ag-dias{display:flex;flex-direction:column;padding:4px 12px 10px}
.ag-dia{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;align-items:start;padding:8px 0;border-top:1px solid var(--line)}
.ag-dia:first-child{border-top:0}
.ag-dia.vazio{padding:3px 0}
.ag-d{font-size:13px;font-weight:500;color:var(--ink2);padding-top:5px;text-transform:capitalize}
.ag-dia.hoje .ag-d{color:var(--laranja-txt)}
.ag-dia.vazio .ag-d{font-weight:400;color:var(--ink3);padding-top:2px}
.ag-vz{font-size:12.5px;color:var(--ink3);padding-top:2px}
.ag-its{display:flex;flex-wrap:wrap;gap:6px}
.ag-it{display:inline-flex;align-items:center;gap:7px;max-width:100%;height:30px;padding:0 11px 0 9px;border-radius:9px;background:#fff;box-shadow:0 0 0 1px var(--line);font-size:13px;color:var(--ink);min-width:0}
.ag-it:hover{box-shadow:0 0 0 1px var(--line2),0 2px 6px -2px rgba(0,0,0,.12)}
.ag-it .ic{width:14px;height:14px;color:var(--ink3)}
.ag-it.proj .ic{color:var(--laranja)}
.ag-h{font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums}
.ag-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pj-mini{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;padding:6px 12px 12px}
.pj-m{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--line);text-align:left;min-width:0}
.pj-m:hover{box-shadow:0 0 0 1px var(--line2),0 2px 6px -2px rgba(0,0,0,.12)}
.pj-m-n{font:500 22px/1 var(--font);font-variant-numeric:tabular-nums;min-width:44px}
.pj-m-c{display:flex;flex-direction:column;gap:5px;min-width:0}
.pj-m-c b{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ---------- V4 §2.5 Início com destaque (variante B) ---------- */
.ini-destaque #b-hoje{background:var(--vidro-card-hover);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8),0 0 0 1px rgba(var(--laranja-rgb),.28),0 10px 28px -16px rgba(var(--laranja-rgb),.5)}
.ini-destaque #b-hoje .bloco-cab h2{font-size:13px;color:var(--laranja-txt)}
.ini-destaque #b-hoje .bloco-ic{color:var(--laranja)}
.ini-destaque #b-espera .bloco-ic{color:var(--ambar)}
.ini-destaque #b-agenda .bloco-ic{color:var(--blue)}
.ini-destaque #b-prox .bloco-ic{color:var(--green)}
.ini-destaque #b-projetos .bloco-ic{color:var(--laranja)}
.ini-destaque .bloco-cab{background:linear-gradient(rgba(255,255,255,.5),rgba(255,255,255,0))}
/* ---------- V4 §9 Vidro desligado (a mesma saída do "reduzir transparência") ---------- */
html.sem-vidro{--tk-panel-light:#EEEEEC}
html.sem-vidro *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html.sem-vidro .card,html.sem-vidro .bloco,html.sem-vidro .semdata,html.sem-vidro .sem-painel,html.sem-vidro .sp-aba,html.sem-vidro .agc:not(.plan),html.sem-vidro .moldura,html.sem-vidro .apv-fila,html.sem-vidro .apv-dec,html.sem-vidro .pj,html.sem-vidro .mn-it,html.sem-vidro .ag-nina{background:#fff}
html.sem-vidro .col{background:rgba(255,255,255,.6)}
html.sem-vidro .gaveta{background:#FBFAF7}


/* ---------- V4.1 §4 ---------- */
/* 6. concluir no canto inferior direito; some da área de arrastar e não empurra o título */
.card-ok{left:auto;top:auto;right:10px;bottom:10px;width:22px;height:22px;opacity:.35;visibility:visible;background:rgba(255,255,255,.9)}
.card-ok .ic{width:13px;height:13px}
.card:hover .card-ok,.card-ok:focus-visible,.card-ok.on{opacity:1}
.card-ok.on{background:var(--green);color:var(--tk-on-green);box-shadow:none}
.card-ok:hover{background:var(--green);color:var(--tk-on-green);box-shadow:none;opacity:1}
.card.comp .card-ok{top:auto;right:8px;bottom:8px}
.card .card-meta,.card-linha{padding-right:26px}
/* 5. uma família só de caixas de canto arredondado na barra de filtros e nas visões */
.filtros{gap:8px;row-gap:8px}
.fc{height:34px;padding:0 12px;border-radius:10px}
.fc.minhas{padding:0 12px 0 6px;border-radius:10px}
.seg{padding:3px;border-radius:12px}
.seg button{height:28px;padding:0 12px;border-radius:9px}
.seg-area{height:34px;border-radius:10px;padding:3px}
.seg-area button{height:28px;padding:0 12px;border-radius:9px;font-size:12.5px}
/* §8 V4.1: uma altura só de chip (24px) em toda a página */
.chip,.chip.cheio{height:24px}
.mh-acoes .seg{height:34px;align-items:center}
.busca{height:34px}
.seg-arr button{cursor:grab}
.seg-arr.arrastando button{cursor:grabbing}
.seg-arr button.arr{opacity:.6}
.seg-arr button.v-antes{box-shadow:inset 2px 0 0 var(--green)}
.seg-arr button.v-depois{box-shadow:inset -2px 0 0 var(--green)}
/* 4. Semana com mais ar */
.sem-col{gap:10px;padding:12px}
.sem-col .card{min-height:72px}
.sem-cab{height:34px;padding:0 2px;gap:8px}
.sem-cab .lbl{color:var(--ink3)}
.sem-cab .d{font-size:15px;font-weight:500;color:var(--ink)}
.sem-col .card-topo .avs{top:14px;right:14px}

/* ---------- V4.1 lote 1 ---------- */
/* §3 saudação e data */
.mh-data{margin-top:-8px;color:var(--ink3)}
.mh-noite{font-size:13px;color:var(--ink3);margin-top:-6px}
/* §6 a área vazia do quadro arrasta */
.rolo.agarrando,.rolo.agarrando *{cursor:grabbing!important;user-select:none}
#pipe-rolo{cursor:default}
#pipe-rolo:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;border-radius:12px}
/* §8 menus de marcar: largura pelo conteúdo, foto primeiro, marca à direita */
.menu.m-marcar{min-width:200px;max-width:280px;width:max-content;padding:6px}
.menu.m-marcar .mi{height:34px;padding:0 10px;gap:8px;border-radius:8px}
.menu.m-marcar .mi+.mi{margin-top:4px}
.menu.m-marcar .mi .av{order:-1}
.menu.m-marcar .mi>.ic.ok{order:9;margin-left:auto}
/* capa e logo do projeto (§3 V4.2: card retangular, imagem à direita) */
.pj{padding:0;overflow:hidden;flex-direction:row;align-items:stretch;gap:0;min-height:150px}
.pj-c{display:flex;flex-direction:column;gap:10px;padding:16px 18px;min-width:0;flex:1}
.pj-c .pj-pe{margin-top:auto}
.pj-img{flex:0 0 40%;min-width:220px;max-width:320px;align-self:stretch;overflow:hidden;border-radius:0 16px 16px 0;background:rgba(var(--tk-ink-rgb),.05)}
.pj-img img{width:100%;height:100%;object-fit:cover;display:block}
.pj-logo{width:24px;height:24px;object-fit:contain;border-radius:5px;background:#fff;flex:none}
.proj-capa{margin:0 0 18px;height:220px;border-radius:16px;overflow:hidden;box-shadow:var(--vidro-card-linha)}
.proj-capa img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- V4.1 §5 Projetos ---------- */
.pj-conta{font-size:12.5px;color:var(--ink3);margin-top:-4px}
.proj-capa{position:relative}
.pj-capa-b{position:absolute;right:12px;bottom:12px;background:rgba(255,255,255,.92)}
.pj-capa-vazia{align-self:flex-start;margin-bottom:14px}
.prop-in{width:100%;height:34px;border:0;border-radius:8px;background:none;padding:0 8px;font-size:14px;color:var(--ink);min-width:0}
.prop-in:hover{background:var(--hover)}
.prop-in:focus{outline:none;background:#fff;box-shadow:inset 0 0 0 1.5px var(--blue)}
.prop-in::placeholder{color:var(--ink3)}
.pj-tb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.pj-tarefas-w{display:flex;flex-direction:column;min-width:0}
.pj-lista{display:flex;flex-direction:column;gap:8px;max-width:860px}
.proj-quadro.disc{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.col-rola .col-lista{max-height:620px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.pl-add{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.pl-add .campo{height:34px;flex:1 1 180px;max-width:280px}
.links-l li{display:flex;align-items:center;gap:8px}
.links-l .cki-x{position:static;opacity:.5}
.links-l li:hover .cki-x{opacity:1}

/* ---------- V4.1 §6 ---------- */
.col-mais-pe{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:34px;border-radius:9px;font-size:12.5px;font-weight:500;color:var(--ink2)}
.col-mais-pe:hover{background:var(--hover);color:var(--ink)}
/* ---------- tela de login (V4.1 §2; refeita na V5.2, Duds 29/09) ----------
   Palco escuro da marca, o Campo vivo atrás (canvas), um brilho de neblina que deriva, a caixa e os perfis em vidro escuro.
   O fio com pulso liga a porta da caixa à porta do perfil escolhido. Abaixo de 860 px as colunas empilham e o fio some. */
.login{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;overflow:auto;background:var(--tk-night);color:var(--tk-fog);color-scheme:dark;
  --lg-tinta:rgba(var(--tk-fog-rgb),.72);--lg-tinta2:rgba(var(--tk-fog-rgb),.62);--lg-linha:rgba(var(--tk-fog-rgb),.14);--lg-linha2:rgba(var(--tk-fog-rgb),.3)}
.login[hidden]{display:none}
.lg-campo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.lg-brilho{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.lg-brilho::before{content:"";position:absolute;inset:-20%;background:radial-gradient(42% 46% at 32% 42%,rgba(var(--tk-neblina-rgb),.17),transparent 70%),radial-gradient(36% 40% at 74% 62%,rgba(var(--tk-blue-rgb),.13),transparent 72%);
  animation:lg-deriva 18s var(--mv-curva-deriva) infinite alternate}
@keyframes lg-deriva{from{transform:translate3d(-3%,-2%,0) scale(1)}to{transform:translate3d(4%,3%,0) scale(1.08)}}
.lg-parado .lg-brilho::before{animation:none}
.lg-fios{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}
.lg-fio{fill:none;stroke:rgba(var(--tk-neblina-rgb),.34);stroke-width:1.3}
.lg-cm{fill:none;stroke:var(--tk-neblina);stroke-linecap:round;opacity:0}
.lg-cm-h{stroke-width:9}.lg-cm-m{stroke-width:5}.lg-cm-k{stroke-width:2.6}
.lg-palco{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,380px) minmax(0,340px);gap:clamp(56px,9vw,132px);align-items:center;justify-content:center;width:min(900px,100%);margin:auto}
.lg-caixa,.lg-quem{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:14px;min-width:0}
.lg-caixa{padding:30px 28px 26px;border-radius:var(--r-gaveta);background:var(--tk-panel-dark);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);
  box-shadow:0 40px 90px -30px rgba(var(--tk-shadow-rgb),.8),inset 0 0 0 1px var(--lg-linha),inset 0 1px 0 rgba(var(--tk-white-rgb),.08)}
.lg-logo{align-self:flex-start;margin-bottom:6px;color:var(--tk-fog)}
.lg-logo svg{height:24px}
.login .lg-logo .logo-hub{color:var(--tk-neblina)}
.lg-t{font:500 30px/1.1 var(--font);letter-spacing:-.025em}
.lg-campos{display:flex;flex-direction:column;gap:10px}
.lg-c{display:flex;flex-direction:column;gap:6px}
.login .lbl{color:var(--lg-tinta2)}
.login .lg-c .campo{height:44px;flex:none;width:100%;border-radius:var(--r-item);background:rgba(var(--tk-white-rgb),.06);border-color:var(--lg-linha2);color:var(--tk-fog)}
.login .lg-c .campo::placeholder{color:var(--lg-tinta2)}
.login .lg-c .campo:focus{border-color:var(--tk-neblina);box-shadow:0 0 0 1px var(--tk-neblina)}
.lg-entrar{height:46px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.login .lg-google{height:44px;width:100%;background:transparent;color:var(--tk-fog);box-shadow:inset 0 0 0 1px var(--lg-linha2)}
.login .lg-google:hover{background:rgba(var(--tk-white-rgb),.07)}
.lg-g{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--tk-fog);font:500 11px/1 var(--font);color:var(--tk-ink)}
.lg-nota,.lg-dica{font-size:var(--t-meta);line-height:1.45;color:var(--lg-tinta2)}
.lg-quem-t{padding-left:4px}
.lg-rostos{display:flex;flex-direction:column;gap:8px}
.lg-rosto{position:relative;display:flex;align-items:center;gap:12px;min-height:64px;padding:8px 14px 8px 12px;border-radius:var(--r-menu);text-align:left;color:var(--lg-tinta);
  background:rgba(var(--tk-white-rgb),.045);box-shadow:inset 0 0 0 1px var(--lg-linha);transition:transform var(--mv-dur-hover) var(--mv-curva-estado),background-color var(--mv-dur-hover),box-shadow var(--mv-dur-hover),color var(--mv-dur-hover);transform-origin:left center}
.lg-rosto:hover{background:rgba(var(--tk-white-rgb),.09);color:var(--tk-fog)}
.lg-rosto .av{box-shadow:0 0 0 2px rgba(var(--tk-fog-rgb),.16)}
.lg-r-t{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
/* o nome inteiro: quebra só entre palavras ("Luiz Guilherme" em uma linha, ou "Luiz" / "Guilherme"), nunca no meio */
.lg-r-n{font:500 15px/1.25 var(--font);letter-spacing:-.005em;color:var(--tk-fog);word-break:keep-all;overflow-wrap:normal;hyphens:none;text-wrap:balance}
.lg-r-f{font-size:var(--t-micro);line-height:1.3;color:var(--lg-tinta2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lg-r-ok{width:18px;height:18px;flex:none;color:var(--tk-neblina);opacity:0;transform:scale(.6);transition:opacity var(--mv-dur-hover),transform var(--mv-dur-micro) var(--mv-curva-estado)}
.lg-rosto.on{color:var(--tk-fog);background:rgba(var(--tk-neblina-rgb),.13);transform:scale(1.035);
  box-shadow:inset 0 0 0 2px var(--tk-neblina),0 0 0 4px rgba(var(--tk-neblina-rgb),.14),0 18px 44px -18px rgba(var(--tk-neblina-rgb),.55)}
.lg-rosto.on .av{box-shadow:0 0 0 2px var(--tk-neblina)}
.lg-rosto.atual .lg-r-ok{opacity:1;transform:none}   /* quem está usando; o destaque (.on) é do ponteiro e do foco */
.login :focus-visible{outline:2px solid var(--tk-neblina);outline-offset:3px}
.lg-porta{position:absolute;left:-5px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--tk-night);box-shadow:0 0 0 1.5px rgba(var(--tk-fog-rgb),.3);z-index:3}
.lg-porta-s{left:auto;right:-5px;box-shadow:0 0 0 1.5px var(--tk-neblina);background:var(--tk-neblina)}
.lg-rosto.on .lg-porta{background:var(--tk-neblina);box-shadow:0 0 0 1.5px var(--tk-neblina),0 0 12px 2px rgba(var(--tk-neblina-rgb),.6)}
.lg-x{position:fixed;z-index:4;top:16px;right:16px;width:40px;height:40px;border-radius:var(--r-item);display:grid;place-items:center;color:var(--lg-tinta);background:rgba(var(--tk-white-rgb),.06)}
.lg-x:hover{background:rgba(var(--tk-white-rgb),.12);color:var(--tk-fog)}
@media (max-width:859px){
  .login{place-items:start center;padding:64px 16px 28px}
  .lg-palco{grid-template-columns:minmax(0,1fr);gap:22px;width:min(440px,100%)}
  .lg-quem{order:-1}
  .lg-fios,.lg-porta{display:none}
  .lg-rostos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .lg-rosto{flex-direction:column;align-items:center;text-align:center;gap:8px;padding:14px 8px 12px;min-height:0;transform-origin:center}
  .lg-r-t{align-items:center;flex:none;width:100%}
  .lg-r-n{font-size:14px}
  .lg-r-f{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .lg-r-ok{position:absolute;top:8px;right:8px}
  .lg-rosto.on{transform:scale(1.02)}
  .lg-caixa{padding:24px 20px 22px}
  .lg-t{font-size:26px}
  .lg-dica{display:none}
}
@media (prefers-reduced-motion:reduce){.lg-rosto.on{transform:none}}
@media (prefers-reduced-transparency:reduce){.lg-caixa{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--tk-night)}}
/* ---------- V4.1 §9 ---------- */
.cfg-l-ordem{align-items:start}
.cfg-ordem{display:flex;flex-direction:column;gap:4px;min-width:0}
.cfg-mi{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px var(--line);cursor:grab}
.cfg-mi.off{opacity:.55}
.cfg-mi.arr{opacity:.6}
.cfg-mi.m-antes{box-shadow:0 0 0 1px var(--line),inset 0 2px 0 var(--green)}
.cfg-mi.m-depois{box-shadow:0 0 0 1px var(--line),inset 0 -2px 0 var(--green)}
.cfg-mi-g{display:grid;place-items:center;color:var(--ink4)}
.cfg-mi-n{font-size:13.5px;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cfg-mi-gr{color:var(--ink3)}
.cfg-mi-f{font-size:12px;color:var(--ink3)}
/* V5.5: Configurações › Painel do Mac (seletores de hora e listas sem arrasto) */
.cfg-sel{flex:none;width:auto;min-width:92px;padding:0 8px;border-radius:10px;font-variant-numeric:tabular-nums}
.cfg-par{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;font-size:13.5px;color:var(--ink3)}
.cfg-par label{display:flex;align-items:center;gap:6px}
.cfg-mi.fx{cursor:default}
.cfg-mi.fx .lnk:disabled{opacity:.35;cursor:default}
/* densidade compacta */
html.compacta .card{padding:9px 12px;gap:6px}
html.compacta .it{padding:8px 14px}
html.compacta .mn-it{padding:10px 14px}
html.compacta .tabela td{padding:6px 10px}
html.compacta .pj{padding:12px 14px;gap:9px}
html.compacta .bloco-cab{height:40px}
html.compacta .prop{min-height:30px}
html.compacta .prop-k,html.compacta .prop-v,html.compacta .prop-in{height:30px;min-height:30px}

/* ---------- V4.1 §7 acabamento das Aprovações ---------- */
.apv{align-items:start}
.apv-fila{padding:16px;gap:12px}
.apv-dec{padding:16px}
.apv-centro{padding-top:0}
.apv-c{gap:0}
.apv-cab{display:flex;align-items:center;gap:12px;width:100%;max-width:560px;min-height:34px;margin-bottom:12px}
.vs-drop{gap:5px;height:28px;padding:0 8px 0 11px}
.vs-drop .ic{width:13px;height:13px;color:var(--ink3)}
.vs-drop .vs-at{width:6px;height:6px;border-radius:50%;background:var(--green);flex:none}
.apv-cab .m-rede{flex:0 1 auto;min-width:0;margin:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.apv-acoes{gap:8px}
.apv-acoes .apv-b{width:100%}
.apv-it{padding:12px;gap:12px}
.apv-it .mm-img,.apv-it .mm-ic{width:56px;height:56px;border-radius:10px;align-self:flex-start}
/* carrossel: setas no hover da mídia, contador em pílula escura no canto de cima */
.m-palco .m-seta,.m-doc-sl .m-seta{opacity:0;transition:opacity .15s var(--ease)}
.m-palco:hover .m-seta,.m-doc-sl:hover .m-seta,.m-seta:focus-visible{opacity:1}
.m-cont{top:10px;right:10px;bottom:auto;left:auto;background:rgba(14,14,14,.72);color:#fff;box-shadow:none}
/* ---------- V4.1 §8 passe geral: uma família de caixas por tamanho ---------- */
.proj-busca{height:34px}
.btn-s{height:30px;border-radius:9px}
.np-c .campo,.cfg-c .campo{height:34px;border-radius:10px}
.pl-add .campo{height:34px;border-radius:10px}
.cfg-pasta{height:34px;border-radius:10px}
.seg-proj{height:34px;border-radius:12px;padding:3px}
.seg-proj button{height:28px;border-radius:9px}
.vs{padding:3px;border-radius:12px}
.vs-p{height:28px;border-radius:9px}

/* ---------- V4.2 §1 reprovar ---------- */
.apv-reprovar{align-self:center;height:32px;padding:0 12px;border-radius:9px;font-size:13px;font-weight:500;color:var(--vermelho-txt);display:inline-flex;align-items:center;gap:8px}
.apv-reprovar:hover{background:rgba(var(--tk-red-rgb),.08)}
.apv-reprovar .kbd{color:var(--vermelho-txt)}
.apv-rep-ok{background:var(--vermelho-txt);border-color:var(--vermelho-txt);color:#fff}
.apv-rep-ok:hover:not(:disabled){background:#8E1C16;border-color:#8E1C16;color:#fff}
.chip.ch-rep{background:rgba(var(--tk-red-rgb),.1);color:var(--vermelho-txt)}
/* ---------- V4.2 §7 a fila lê ---------- */
.apv{grid-template-columns:340px minmax(0,1fr) 320px}
.apv-fila{overflow-x:hidden}
.apv-lista{gap:8px}
.apv-it{padding:14px;gap:12px}
.apv-it .mm-img,.apv-it .mm-ic{width:64px;height:64px}
.apv-it-t b{font-size:14.5px;line-height:1.35}
.apv-it-t small{font-size:12.5px}
.apv-dec{overflow-x:hidden}
.apv-c{max-width:100%}

/* §3 V4.2 no celular: a imagem vira faixa embaixo do conteúdo */
@media (max-width:899px){
  .pj{flex-direction:column}
  .pj-img{flex:none;width:100%;max-width:none;min-width:0;height:150px;border-radius:0}
}

/* ---------- V4.2 §6: a navegação do Pipeline ---------- */
.pipe-wrap{position:relative}
/* V5.2: sem `scroll-behavior:smooth` (atrasava a roda e o arrasto). No computador o encaixe é do núcleo, depois do gesto; no toque, do navegador.
   A barra de cima é a rolagem à vista; a nativa, lá embaixo das colunas, fica escondida. */
#pipe-rolo{padding-bottom:2px;cursor:grab}   /* V5.3: a rolagem lateral padrão do navegador fica à vista (a barra desenhada saiu) */
#pipe-rolo .card,#pipe-rolo button{cursor:pointer}
@media (hover:none),(pointer:coarse){#pipe-rolo{scroll-snap-type:x mandatory;cursor:auto}#pipe-rolo .col{scroll-snap-align:start}}
#pipe-rolo:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;border-radius:12px}
.pipe-setas{position:sticky;top:44vh;height:0;z-index:3}
.pipe-seta{position:absolute;top:0;width:36px;height:36px;margin-top:-18px;border-radius:50%;display:grid;place-items:center;z-index:3;
  background:rgba(255,255,255,.92);box-shadow:0 2px 10px -2px rgba(var(--tk-shadow-rgb),.25),inset 0 0 0 1px var(--line);color:var(--ink);transition:opacity .15s var(--ease)}
.pipe-seta.esq{left:-6px}.pipe-seta.dir{right:-6px}
.pipe-seta:hover{background:#fff}
.pipe-seta.fim{opacity:.25;pointer-events:none}
.pipe-barra{position:relative;height:8px;margin:0 2px 14px;border-radius:999px;background:var(--line);cursor:pointer}
.pipe-barra[hidden]{display:none}
.pipe-barra i{position:absolute;top:0;left:0;height:8px;border-radius:999px;background:rgba(var(--tk-ink-rgb),.3);transition:background .15s var(--ease)}
.pipe-barra:hover i,.pipe-barra.on i{background:rgba(var(--tk-ink-rgb),.55)}

/* ---------- V4.2 §9: multi-escolha ---------- */
.menu.m-multi{min-width:220px;max-width:300px;width:max-content;padding:6px}
.mm-l{max-height:300px;overflow:auto;display:flex;flex-direction:column;gap:2px}
.mm-i{height:34px;padding:0 10px;gap:9px;border-radius:8px}
.mm-cx{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:5px;flex:none;box-shadow:inset 0 0 0 1.5px var(--line2);color:transparent}
.mm-cx.on{background:var(--ink);box-shadow:none;color:var(--paper)}
.mm-cx .ic{width:12px;height:12px;stroke-width:2.4}
.mm-i.on{background:var(--hover)}
.mm-pe{display:flex;align-items:center;gap:8px;padding:6px 6px 2px;margin-top:4px;border-top:1px solid var(--line)}
.mm-limpar{font-size:12.5px;font-weight:500;color:var(--ink3);padding:4px 6px;border-radius:7px}
.mm-limpar:hover{color:var(--vermelho-txt);background:var(--hover)}
.mm-n{flex:1;font-size:12px;color:var(--ink3)}
.chips-sel{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}
.ch-sel{padding-right:3px;gap:5px}
.ch-sel .av{width:18px;height:18px;font-size:9px;box-shadow:none}
.ch-x{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:5px;color:var(--ink3)}
.ch-x .ic{width:11px;height:11px}
.ch-x:hover{background:rgba(var(--tk-ink-rgb),.1);color:var(--ink)}
.ch-mais{color:var(--ink3)}

/* ---------- V4.2 §8: pedido e materiais editáveis ---------- */
.ped-acoes{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}
.ped-acoes .esp{flex:1}
.mat-cab{margin-top:14px}
.mat-ed{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;color:var(--ink3);opacity:0}
.mat-it:hover .mat-ed,.mat-ed:focus-visible{opacity:1}
.mat-ed:hover{background:var(--hover);color:var(--ink)}
.mat-in{flex:1;min-width:0;height:28px;padding:0 8px;border-radius:7px;border:0;box-shadow:inset 0 0 0 1.5px var(--blue);font-size:13.5px}
.ml-f{display:flex;flex-direction:column;gap:8px;padding:4px}
.ml-f .campo{height:34px;flex:none;width:100%}

/* ---------- V4.2: peça em mais de uma rede ---------- */
.tags-canais{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.canal-n{gap:4px}
.canal-n .cn-i{display:inline-grid;place-items:center}
.canal-n .cn-i+.cn-i{margin-left:-2px}
.canal-n>span{margin-left:3px;overflow:hidden;text-overflow:ellipsis}
.apv-canais{align-self:center;margin-bottom:10px}
.apv-canais button{height:28px;padding:0 10px}
.apv-canais .canal{pointer-events:none}

/* ---------- V4.3: perfil e Inbox no topo, Nina flutuante ---------- */
.mh{position:relative}
.mh-topo{position:absolute;top:0;right:0;display:flex;align-items:center;gap:8px;z-index:5}
.top-ico{position:relative;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:var(--ink2);flex:none}
.top-ico:hover{background:var(--hover2);color:var(--ink)}
.top-ico.on{background:var(--hover2);color:var(--ink)}
.top-ico .ic{width:19px;height:19px}
.top-n{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--ambar);color:#3a2900;font:500 10.5px/16px var(--font);text-align:center;box-shadow:0 0 0 2px var(--paper)}
.perfil-topo{width:auto;margin:0;padding:5px 8px 5px 6px;gap:8px;border-radius:12px}
.perfil-topo .perfil-t{flex:none;max-width:150px}
.perfil-topo .perfil-t small{display:none}
.perfil-topo>.ic{width:13px;height:13px}
/* botão flutuante da Nina */
.nina-fab{position:fixed;right:24px;bottom:24px;z-index:60;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:var(--paper);box-shadow:0 6px 20px -6px rgba(var(--tk-shadow-rgb),.45),inset 0 0 0 2px var(--green);transition:transform .15s var(--ease),box-shadow .15s}
.nina-fab:hover{transform:translateY(-1px);box-shadow:0 10px 26px -8px rgba(var(--tk-shadow-rgb),.5),inset 0 0 0 2px var(--green)}
.nina-fab .av{width:44px;height:44px;font-size:16px;box-shadow:none}
/* com o avatar: o botão tem o lado do retrato (64) e o anel verde vai para fora, porque a imagem cobriria a sombra interna */
.nina-fab.com-av,.nina-fab.com-av:hover{width:64px;height:64px;box-shadow:0 6px 20px -6px rgba(var(--tk-shadow-rgb),.45),0 0 0 2px var(--green)}
.nina-fab.com-av.on{box-shadow:0 6px 20px -6px rgba(var(--tk-shadow-rgb),.45),0 0 0 2px var(--ink)}
.nina-fab.on{box-shadow:0 6px 20px -6px rgba(var(--tk-shadow-rgb),.45),inset 0 0 0 2px var(--ink)}
.nina-fab:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
/* painel sobreposto da Nina */
.nina-ov{position:fixed;right:24px;bottom:92px;z-index:59;width:400px;max-width:calc(100vw - 48px);height:min(680px,calc(100vh - 120px));
  display:flex;flex-direction:column;background:var(--paper);border-radius:18px;box-shadow:0 24px 60px -12px rgba(var(--tk-shadow-rgb),.5),inset 0 0 0 1px var(--line);
  overflow:hidden;opacity:0;transform:translateY(10px) scale(.98);transform-origin:100% 100%;transition:opacity .18s var(--ease),transform .18s var(--ease)}
.nina-ov.aberto{opacity:1;transform:none}
.nina-ov-cab{display:flex;align-items:center;gap:10px;padding:14px 14px 12px;border-bottom:1px solid var(--line)}
.nina-ov-cab .av{width:26px;height:26px;font-size:11px;box-shadow:none;flex:none}
.nina-ov-t{display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.2}
.nina-ov-t b{font-size:14px;font-weight:500}
.nina-ov-t small{font-size:11.5px;color:var(--ink3)}
.nina-ov-x{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--ink3);flex:none}
.nina-ov-x:hover{background:var(--hover);color:var(--ink)}
.nina-ov-x .ic{width:15px;height:15px}
.nina-ov-corpo{flex:1;min-height:0;overflow:hidden;padding:0;display:flex;--mod-topo:0px;--mod-base:0px}
/* o mod-nina tem cabeçalho e moldura próprios; no painel uso meu cabeçalho e encaixo só o chat */
.nina-ov .m-nina{flex:1;min-width:0;height:100%}
.nina-ov .m-nina .nina-painel{height:100%;min-height:0;flex:1;margin:0;border-radius:0;background:none;box-shadow:none;max-width:none}
.nina-ov .m-nina .nina-cab{display:none}
.nina-ov .m-nina .nina-log{padding:16px 16px 8px}
/* ---------- Lince V4 ---------- */
/* 2. a Lista cabe em 1177px (1500) e em 1132px (1440): o título tem teto de 240px */
.tabela td.t{min-width:200px;max-width:240px}
.tabela td.t small{max-width:230px}
/* 12. "6 páginas" numa linha só */
.m-doc-cab{min-width:0}
.m-doc-cab b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.m-doc-cab small{white-space:nowrap;flex:none}
/* 15. Aprovações: a barra de rolagem que aparece e some não empurra a coluna de decisão */
html{scrollbar-gutter:stable}   /* V5.4: a mesma calha em todos os módulos, para o cabeçalho não pular ao navegar (Lince; Duds aprovou em 02/10) */
/* 16. Semana: avatar numa coluna própria à direita, alinhado ao topo; o "Mais ações" vai para baixo */
.sem-col .card-topo{padding-right:28px}
.sem-col .card-topo:has(.avs>.av:nth-child(2)){padding-right:46px}
.sem-col .card-topo:has(.avs>.av:nth-child(3)){padding-right:64px}
.sem-col .card-topo .avs{position:absolute;top:12px;right:14px}
@media (hover:hover) and (min-width:900px){.sem-col .card .card-mais{top:auto;bottom:6px}}
/* 18. */
.nw{white-space:nowrap}
.ag-cab-l{text-wrap:balance}

@media (max-width:1199px) and (min-width:900px){
  .apv{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"fila fila" "centro dec"}
  .apv-fila{grid-area:fila;position:static;max-height:none;flex-direction:row;align-items:stretch;gap:10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
  .apv-lista{flex-direction:row;gap:8px}
  .apv-it{width:300px;flex:none}
  .apv-centro{grid-area:centro}
  .apv-dec{grid-area:dec}
}

/* V4 no celular: fica DEPOIS dos blocos da V4 (regra da casa: CSS de largura vem por último; as regras da V4 entraram
   depois das media queries antigas e anulavam a versão de celular, ex.: a decisão das Aprovações espremida à direita) */
@media (max-width:899px){
  /* §6 V4.2: no celular o dedo arrasta — as setas só cobririam o canto do card; a barra fica, de mapa */
  .pipe-setas{display:none}
  /* §3/§4/§5 V4.3: no celular o Inbox e o perfil ficam no topo-m; o cluster do cabeçalho some */
  .mh-topo{display:none}
  .nina-fab{right:16px;bottom:calc(74px + env(safe-area-inset-bottom,0px));width:52px;height:52px}
  .nina-fab .av{width:40px;height:40px;font-size:15px}
  .nina-fab.com-av{width:64px;height:64px}
  .nina-ov{right:8px;left:8px;width:auto;max-width:none;bottom:calc(134px + env(safe-area-inset-bottom,0px));max-height:64vh;transform-origin:100% 100%}
  .apv{grid-template-columns:minmax(0,1fr)}
  .apv-cmp-g{grid-template-columns:minmax(0,1fr)}
  .moldura.m-li,.moldura.m-ig,.moldura.m-livre{max-width:none}
  .m-aparelho{height:auto;width:100%;max-width:340px;margin:0 auto}
  .proj-grade{grid-template-columns:minmax(0,1fr)}
  .np-grade{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .proj-busca{min-width:0;width:100%}
  .proj-h{font-size:24px}
  .seg-proj{max-width:100%;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}
  .seg-proj button{flex:none;padding:0 10px}
  .seg-proj::-webkit-scrollbar{display:none}
  .pj-mini{grid-template-columns:minmax(0,1fr)}
  .cfg-perfil,.cfg-l{grid-template-columns:minmax(0,1fr)}
  .cfg-l-pasta .cfg-nota{grid-column:auto}
  .cfg-eq-l{grid-template-columns:28px minmax(0,1fr) auto}
  .cfg-eq-l .cfg-eq-a,.cfg-eq-l .chip{display:none}
  .ag-nina{flex-direction:column;padding:18px}
  .ag-dia{grid-template-columns:64px minmax(0,1fr)}
  .mn-it{padding:12px 14px}
  /* Lince 3: reações do LinkedIn só com ícone no celular */
  .m-reacoes .m-r-t{display:none}
  .m-reacoes span{padding:8px 14px}
  /* Lince 4: módulo de altura cheia sem sobra embaixo (a altura dele já desconta a barra de baixo) */
  .conteudo:has(#vista>.mod-cheio),.recolhida .conteudo:has(#vista>.mod-cheio){padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
  /* Lince 7: o painel Atrasadas/Sem prazo é do desktop; a lista do celular já tem os dois blocos */
  .sem-painel,.sp-aba{display:none}
  /* Lince 10: as abas de Projetos rolam com um degradê na borda */
  .seg-proj{padding-right:28px;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent)}
}

/* "Reduzir transparência" do sistema (Windows: Efeitos de transparência desligados; macOS: Reduzir transparência).
   Tira todo o vidro e põe chão sólido. É também a saída para máquina sem aceleração de GPU: medido sem GPU,
   rolar o Quadro com vidro custa um núcleo inteiro e cai para 33 fps (60 sem vidro). Fica por último para vencer tudo. */
/* ---------- V5.0 ciclo 2: ficha única e componentes (DIRECAO-V5.0 §2, §3, §7; DESIGN-HUB §6.10 a §6.14) ---------- */
.ficha{position:fixed;z-index:var(--z-gaveta);top:10px;right:10px;bottom:10px;width:var(--ficha-l);display:flex;flex-direction:column;border-radius:var(--r-gaveta);overflow:hidden;
  background:rgba(251,250,247,var(--vidro-gaveta));-webkit-backdrop-filter:blur(28px) saturate(1.5);backdrop-filter:blur(28px) saturate(1.5);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 0 0 1px rgba(14,14,14,.08),0 24px 60px -20px rgba(0,0,0,.28);
  transform:translateX(24px);opacity:0;transition:transform var(--dur-3) var(--ease),opacity .2s var(--ease-y)}
.ficha.lado{z-index:var(--z-ficha)}
.ficha.on{transform:none;opacity:1}
.ficha:focus,.ficha:focus-visible{outline:none}
body.com-ficha-lado .conteudo{padding-right:calc(var(--ficha-l) + 30px)}
body.com-ficha .nina-fab{display:none}   /* a ficha tem o próprio "Perguntar à Nina"; o botão flutuante cobria o pé */
/* V5.0 c3 (AUDITORIA §1, item 1): o botão da Nina nunca fica em cima de uma ação — some com a gaveta de tarefa e de peça,
   com a barra de ações das Aprovações no celular e com a conversa do Chat aberta no celular; na gaveta do celular sai o "Continuar no Claude" (item 9) */
body.com-gaveta .nina-fab{display:none}
@media (max-width:899px){body:has(.apv-acoes) .nina-fab,body:has(.m-chat.chat-mob-conversa) .nina-fab{display:none}#g-claude-bloco{display:none}}
.prop-v.txt textarea,.prop-ta{display:block;width:100%;min-height:34px;height:34px;padding:7px 8px;border:0;border-radius:8px;background:none;font:inherit;font-size:14px;line-height:20px;color:var(--ink);resize:none;overflow:hidden;overflow-wrap:anywhere}
.prop-v.txt textarea::placeholder,.prop-ta::placeholder{color:var(--ink3)}
.prop-v.txt textarea:focus,.prop-ta:focus{outline:none;background:var(--vidro-chao);box-shadow:inset 0 0 0 1.5px var(--blue)}
.prop-ta:hover{background:var(--hover)}
html.compacta .prop-ta{min-height:30px;padding-top:5px;padding-bottom:5px}
.f-topo{display:flex;align-items:center;gap:6px;height:var(--h-topo);padding:0 12px 0 16px;padding-top:env(safe-area-inset-top,0px);box-sizing:content-box;border-bottom:1px solid rgba(14,14,14,.08);flex:none}
.f-mig{display:flex;align-items:center;min-width:0;flex:1;font-size:13px;margin-right:auto}
.f-mig-b{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink2);padding:2px 0;flex:none}
.f-mig-b:hover{color:var(--ink);text-decoration:underline}
.f-mig-s{color:var(--ink3);margin:0 6px;flex:none}
.f-mig-a{font-weight:500;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.f-corpo{flex:1;overflow:auto;overscroll-behavior:contain;padding:24px 32px 40px;display:flex;flex-direction:column;gap:var(--e-9);transition:opacity .12s linear}
.f-corpo.troca{opacity:0;transition:none}
.f-pe{display:flex;align-items:center;gap:8px;height:var(--h-topo);padding:0 20px 0 24px;padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:content-box;border-top:1px solid rgba(14,14,14,.08);flex:none}
.f-pe-b{margin-left:auto;display:flex;gap:8px}
.f-so-cel{display:none}
.f-lbl{margin-bottom:var(--e-1)}
.f-cab{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.f-marca{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--chip);color:var(--ink2);font:500 17px/1 var(--font);overflow:hidden}
.f-marca.org{border-radius:var(--r-item)}
.f-marca img{width:100%;height:100%;object-fit:cover}
.f-nome{font-size:var(--t-ficha);line-height:1.15;font-weight:500;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.f-nome:focus{outline:none}
.f-sub{font-size:13px;color:var(--ink2);margin-top:2px}
.f-linha{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.f-tipo{font-size:13px;color:var(--ink2)}
.f-est-b{border-radius:999px}
.f-est-b:hover .pl{box-shadow:inset 0 0 0 1px var(--line2)}
.chip.ch-perigo{background:rgba(var(--tk-red-rgb),.08);color:var(--vermelho-txt)}
.pl.pl-vaz::before{background:none;box-shadow:inset 0 0 0 1.5px var(--ink2)}
.f-agora{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:0 4px;min-height:var(--h-linha);padding:8px 12px;border-radius:var(--r-card);background:var(--vidro-chao);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;text-align:left;width:100%}
button.f-agora:hover{background:var(--vidro-card-hover)}
.f-agora-t b{font-weight:500}
.f-agora-m{font-size:var(--t-meta);color:var(--ink3);font-variant-numeric:tabular-nums}
.rel-node{width:9px;height:9px;border-radius:50%;background:var(--c,var(--ink4));box-shadow:0 0 0 1.5px var(--c,var(--ink4));justify-self:center;flex:none;transition:transform var(--dur-1) var(--ease)}
.rel-node.vaz{background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--ink3)}
.rel-node.ativo{box-shadow:0 0 0 3px rgba(var(--tk-green-rgb),.18)}
.rel-grupos{display:flex;flex-direction:column;gap:var(--e-6)}
.rel-cab{display:flex;gap:8px;margin-bottom:var(--e-1)}
.rel-n{color:var(--ink3);font-variant-numeric:tabular-nums}
.rel-l{position:relative}
.rel-l:has(>:nth-child(2))::before{content:"";position:absolute;left:5.25px;top:18px;bottom:18px;width:1.5px;background:var(--line2)}
.rel-it{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto auto;align-items:center;gap:0 6px;width:100%;min-height:36px;padding:0 8px 0 0;border-radius:var(--r-campo);text-align:left}
.rel-it .rel-node{justify-self:start;margin-left:1px}
button.rel-it:hover{background:var(--hover)}
button.rel-it:hover .rel-t{color:var(--azul-txt)}
button.rel-it:hover .rel-node{transform:scale(1.15)}
.rel-t{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rel-m{font-size:var(--t-meta);color:var(--ink3);font-variant-numeric:tabular-nums;white-space:nowrap}
.rel-sai{font-size:12px;color:var(--ink3)}
.rel-vz{font-size:13.5px;color:var(--ink3)}
.rel-ver{margin-top:4px;font-size:13px}
.curto{display:grid;grid-template-columns:20px auto auto minmax(0,1fr);align-items:center;gap:0 8px;padding:10px 12px;border-radius:var(--r-card);box-shadow:inset 0 0 0 1px var(--line);margin:2px 0}
.curto-n{font-size:14px;font-weight:500}
.curto-f{font-size:var(--t-meta);color:var(--ink3);grid-column:2/-1}
.f-brain-box{border-radius:var(--r-card);background:var(--vidro-chao);box-shadow:inset 0 0 0 1px var(--line);padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px}
.f-brain-cab{display:flex;align-items:center;gap:10px;min-height:30px}
.f-meta{font-size:var(--t-meta);color:var(--ink3)}
.f-corrigir{margin-left:auto}
.f-bloco-r{display:block;font-size:var(--t-meta);color:var(--ink3)}
.f-bloco-t{font-size:14px;line-height:1.55;max-width:60ch}
.f-fonte{font-size:var(--t-meta)}
.f-contato{font-size:13.5px;color:var(--ink2)}
.f-previa{display:flex;flex-direction:column;gap:var(--e-6)}
.f-pv-cab{display:flex;gap:14px;align-items:flex-start}
.f-pv-n{font-size:30px;line-height:1;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.f-pv-nome{font-size:var(--t-janela);font-weight:500;line-height:1.25;margin-bottom:6px}
.f-pv-nome:focus{outline:none}
.f-pv-eq{display:flex;flex-wrap:wrap;gap:6px 4px}
button.f-pv-p:hover{color:var(--azul-txt)}
.f-pv-abrir{align-self:flex-start}
.tl-l{position:relative}
.tl-l:has(>:nth-child(2))::before{content:"";position:absolute;left:74.25px;top:16px;bottom:16px;width:1.5px;background:var(--line2)}
.tl-it{position:relative;display:grid;grid-template-columns:64px 20px minmax(0,1fr);align-items:center;min-height:32px;width:100%;text-align:left;border-radius:var(--r-campo)}
button.tl-it:hover{background:var(--hover)}
.tl-d{font-size:var(--t-meta);color:var(--ink3);font-variant-numeric:tabular-nums}
.tl-node{width:7px;height:7px;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--ink3);justify-self:center}
.tl-t{font-size:14px}
.tl-t b{font-weight:500}
.tl-ult{font-size:var(--t-meta);color:var(--ink3);margin-top:6px}
.sd-b{display:flex;align-items:center;gap:8px;width:100%;height:var(--h-linha);padding:0 12px;border-radius:var(--r-item);box-shadow:inset 0 0 0 1px var(--line);font-size:13.5px;color:var(--ink2)}
.sd-b .ic{width:14px;height:14px;color:var(--ink3)}
.sd-b .sd-seta{margin-left:auto;transition:transform var(--dur-1) var(--ease)}
.sd-b[aria-expanded=true] .sd-seta{transform:rotate(180deg)}
.sd-l{padding:6px 12px 0}
.sd-dono{padding:8px 0 2px}
.sd-it{display:flex;justify-content:space-between;align-items:center;min-height:32px;font-size:13.5px;gap:12px}
.sd-cod,.sdc small{font-size:var(--t-meta);color:var(--ink3)}
.sdc{font-size:14px;color:var(--ink2)}
.fz{display:flex;align-items:center;justify-content:center;gap:16px;padding:28px;text-align:left}
.fz-svg{width:132px;height:36px;flex:none;overflow:visible}
.fz-fio{stroke:var(--line2);stroke-width:1.5}
.fz-n{fill:rgba(var(--tk-ink-rgb),.38)}
.fz-v{fill:var(--green)}
.fz-halo{fill:rgba(var(--tk-green-rgb),.18)}
.fz-cometa{stroke:var(--green);stroke-width:2;stroke-linecap:round;stroke-dasharray:14 200;stroke-dashoffset:14;opacity:0;animation:fzc var(--dur-pulso) cubic-bezier(.65,0,.35,1) 1}
@keyframes fzc{0%{opacity:1;stroke-dashoffset:14}90%{opacity:1}100%{opacity:0;stroke-dashoffset:-112}}
.fz-t b{display:block;font-size:14px;font-weight:500}
.fz-t small{display:block;font-size:var(--t-meta);color:var(--ink3)}
.lista-d{container-type:inline-size}
.lista-vz{font-size:13.5px;color:var(--ink3);padding:12px 2px}
.tab-d th.dir,.tab-d td.dir{text-align:right;font-variant-numeric:tabular-nums}
.tab-d th .th-t{display:flex;align-items:center;height:40px;padding:0 10px}
.tab-d td.c-marca,.tab-d th.c-marca{width:44px;padding:0 0 0 12px}
.tab-d td.c-nome{font-size:14px;font-weight:500;color:var(--ink);max-width:0;width:40%;overflow:hidden;text-overflow:ellipsis}
.tab-d td.c-l2{display:none}
.tab-d tr.ln:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.tab-d tr.ln.atual td{background:rgba(var(--tk-ink-rgb),.05)}
.tab-d tr.ln.atual td:first-child{box-shadow:inset 2px 0 0 var(--ink)}
@container (max-width:719px){.tab-d .s1{display:none}}
@container (max-width:559px){.tab-d .s2{display:none}}
@container (max-width:469px){.tab-d .s3{display:none}}
@media (max-width:1179px) and (min-width:900px){.ficha:not(.lado){box-shadow:var(--sh-gaveta)}}
@media (max-width:899px){
  .ficha{inset:0;width:auto;border-radius:0;background:#FBFAF7;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;transform:none}
  .f-corpo{padding:20px 18px calc(32px + 64px + env(safe-area-inset-bottom,0px))}
  .f-pe{position:absolute;left:0;right:0;bottom:0;height:64px;padding:0 12px env(safe-area-inset-bottom,0px);background:#FBFAF7}
  .f-pe .salvo,.f-pe .f-brain{display:none}
  .f-pe-b{margin:0;flex:1}
  .f-pe-b .btn{height:var(--h-toque)}
  .f-nina{flex:1;justify-content:center}
  .f-so-cel{display:inline-flex}
  .rel-it{min-height:var(--h-toque)}
  .ficha .prop{grid-template-columns:112px minmax(0,1fr)}
}
@media (max-width:640px){
  .tab-d thead{display:none}
  .tab-d,.tab-d tbody{display:block}
  .tab-d tr.ln{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:2px 10px;min-height:56px;padding:12px 14px;border-bottom:1px solid var(--line)}
  .tab-d tr.ln td{display:none;padding:0;border:0}
  .tab-d tr.ln td.c-marca,.tab-d tr.ln td.c-nome,.tab-d tr.ln td.c-estado{display:block}
  .tab-d td.c-nome{max-width:none;width:auto;white-space:nowrap}
  .tab-d tr.ln td.c-l2{display:block;grid-column:2/-1;font-size:var(--t-meta);color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tab-d tr.grp{display:block}
}
@media (prefers-reduced-transparency:reduce){.ficha{background:#FBFAF7}}
html.sem-vidro .ficha{background:#FBFAF7;-webkit-backdrop-filter:none;backdrop-filter:none}

/* ---------- V5.0 ciclo 2: menu em 4 grupos (DIRECAO-V5.0 §1; DESIGN-HUB §6.1) ---------- */
.lat-busca{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--ink2);flex:none;margin-left:auto}
.lat-busca:hover{background:var(--hover2);color:var(--ink)}
.lat-busca+.lat-rec{margin-left:0}
.recolhida .lat-busca{margin:0}
/* V5.2: a tecla não aparece mais no item do menu (Duds, 29/09); o número da seção fica sempre à vista */
.recolhida .lat-grupo:not(.sem-rot)::before{content:"";display:block;width:24px;height:1px;margin:0 auto 7px;background:var(--line)}
@media (max-width:1180px) and (min-width:900px){.lateral .lat-grupo:not(.sem-rot)::before{content:"";display:block;width:24px;height:1px;margin:0 auto 7px;background:var(--line)}}
@media (min-width:1181px) and (max-height:859px){.lateral{gap:12px;padding-top:12px;padding-bottom:8px}.lat-grupo>.lbl{padding:2px 10px 4px}.nv{height:32px}}
@media (min-width:1181px) and (max-height:760px){.lateral{gap:8px}.nv{height:29px}}   /* V5.1 c2: com Propostas e Financeiro o menu do admin tem 13 itens; a 1280×720 cabe sem rolar */
.menu.m-folha{left:8px!important;right:8px;top:auto!important;bottom:calc(72px + env(safe-area-inset-bottom,0px));width:auto;max-width:none;max-height:70vh;border-radius:18px;padding:6px 6px 10px}
.menu.m-folha .m-lbl{padding:12px 14px 4px}
.menu.m-folha .mi{min-height:var(--h-toque)}
.menu.m-folha .mi .ic{width:20px;height:20px}
.cfg-mi-grupo{padding:12px 2px 2px}
.cfg-mi-grupo:first-child{padding-top:0}
.cfg-mi-gr kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:var(--r-kbd);background:var(--chip);font:500 11px/1 var(--font);color:var(--ink2)}

/* V5.0 ciclo 2 (DH §3.3, item 4): com a gaveta sobre a tela de Aprovações (arte escura atrás), o vidro vai a .96:
   verde 4,68:1 e azul 4,66:1 no pior caso. Nas outras telas fica .88. */
html[data-modulo=aprovacoes]{--vidro-gaveta:.96}
/* DH §4.2: no celular, campo de digitar com 16 px (abaixo disso o Safari do iPhone dá zoom ao focar). O título grande fica. */
@media (max-width:899px){input:not(.g-tit):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea:not(.g-tit),select{font-size:16px!important}}
@media (prefers-reduced-transparency:reduce){
  :root{--tk-panel-light:#EEEEEC}
  *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .card,.bloco,.semdata,.sem-painel,.sp-aba,.agc:not(.plan),.moldura,.apv-fila,.apv-dec{background:#fff}
  .col{background:rgba(255,255,255,.6)}
  .gaveta,.gaveta.central{background:#FBFAF7}
}

/* ===================== V5.0 ciclos 3 e 4 (Stark A): Projetos ligados ao CRM, numeração, abas, filtros, busca ===================== */
/* título do projeto: número em tinta, tabular, e o nome ao lado (AUDITORIA item 3); a pasta na meta */
.proj-h{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;overflow-wrap:anywhere}
.proj-num{font-variant-numeric:tabular-nums;color:var(--ink);flex:none}
.proj-nome{min-width:0}
.proj-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;margin:6px 0 2px;font-size:12.5px;color:var(--ink3);min-width:0}
.proj-pasta{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.proj-meta .lnk{display:inline-flex;align-items:center;gap:4px;font-size:12.5px}
.proj-meta .lnk .ic,.pb-props .lnk .ic{width:13px;height:13px}
/* relações clicáveis na página (RELATORIO §5.3) */
.ligs{display:flex;flex-wrap:wrap;gap:4px 10px;min-width:0}
.lig{display:inline-flex;align-items:baseline;gap:4px;padding:0;font:inherit;font-size:14px;color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(var(--tk-ink-rgb),.28);text-align:left}
.lig:hover{text-decoration-color:var(--ink)}
.lig:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
.lig small,.lig-t small{color:var(--ink3);font-size:12.5px;text-decoration:none}
.lig-t{font-size:14px;color:var(--ink)}
.lig-v{display:flex;align-items:center;gap:8px;min-height:34px;padding:4px 8px;border-radius:8px}
.lig-v .ligs,.lig-v .eq-l{flex:1;min-width:0}
.lig-ed{flex:none;width:28px;height:28px;margin-left:auto}
.lig-ed .ic{width:14px;height:14px}
/* Novo projeto: cliente e marca das bases */
.np-lig{display:flex;align-items:center;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px}
.np-lig .vz{color:var(--ink3)}
.np-tipo{margin-top:6px;height:34px;padding:0 8px;font-size:13.5px}
.btn-n{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--ambar);color:var(--ink);font-size:11px;display:inline-grid;place-items:center;font-variant-numeric:tabular-nums}
.btn.on{background:var(--sup);border-color:var(--ink)}
/* painel de saúde da numeração (admin) */
.saude{gap:14px;padding:18px;margin-bottom:16px;max-width:900px;background:var(--tk-panel-light);box-shadow:inset 0 0 0 1px var(--line)}
.saude-cab{display:flex;align-items:center;gap:12px}
.saude-cab h2{font:500 16px/1 var(--font)}
.saude-g{display:flex;flex-direction:column;gap:6px}
.saude-g .lbl{display:flex;gap:8px}
.saude-d{font-size:12.5px;color:var(--ink3)}
.saude-l{display:flex;flex-direction:column}
.saude-it{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:34px;padding:0 8px;border-radius:8px;text-align:left;font-size:14px}
.saude-it:hover{background:var(--hover)}
.saude-n{font-variant-numeric:tabular-nums;color:var(--ink2)}
.saude-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.saude-m{font-size:12.5px;color:var(--ink3);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.saude-nums{font-size:13.5px;font-variant-numeric:tabular-nums;color:var(--ink2);line-height:1.6}
/* "Do brain" na página do projeto */
.pb-cab{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-bottom:6px}
.pb-cab .esp{flex:1}
.pb-props .prop-v{height:auto;min-height:34px;flex-wrap:wrap;gap:4px 10px}
.pb-v{min-width:0;overflow-wrap:anywhere;white-space:normal}
.pb-pend{margin-top:10px}
.pb-pend .lbl{display:flex;gap:8px}
.pb-l{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.45;list-style:disc}
.pb-l li>p{margin:0}
.f-pv-ligs{display:flex;flex-direction:column;min-width:0}
/* abas que rolam (AUDITORIA item 7) */
.abas-w{max-width:100%;min-width:0;align-self:flex-start}
.abas-w>.seg{max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.abas-w>.seg::-webkit-scrollbar{display:none}
.abas-w::before,.abas-w::after{width:24px}
/* filtros: no celular, "Filtros · N" em folha (AUDITORIA item 8) */
.flt-cel{display:none}
.flt-w{container-type:inline-size;min-width:0}
@container (max-width:719px){.flt-fila{display:none!important}.flt-cel{display:inline-flex!important}}
@media (max-width:640px){.flt-w .flt-fila{display:none}.flt-cel{display:inline-flex}}
.menu.flt-folha .mm-pe{position:sticky;bottom:-10px;background:inherit;padding-top:8px}
.mm-livre .mi-t{font-weight:500}
/* busca Ctrl+K (DIRECAO §6) */
.pal-it mark{background:rgba(46,138,210,.16);color:inherit;border-radius:3px;padding:0 1px}
.pal-marca{flex:none;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;background:var(--chip);color:var(--ink2);font:500 8.5px/1 var(--font);letter-spacing:0}
.pal-marca.pessoa{border-radius:50%}
.pal-nina{flex:none;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--sup);box-shadow:inset 0 0 0 1.5px var(--green)}
.pal-nina .ic{width:12px;height:12px;color:var(--ink)}
.pal-esp{flex:none;width:16px}
.pal-ver .t{font-weight:500;font-size:13px;color:var(--ink2)}
.pal-it.off{opacity:1;cursor:default}
.pal-it.off .t{font-weight:400;color:var(--ink3)}
.pal-k{font-variant-numeric:tabular-nums}
.pal-cancelar{display:none;flex:none;font-size:15px;font-weight:500;color:var(--ink2);padding:0 2px}
@media (max-width:640px){
  #paleta.cobre{padding:0;align-items:stretch}
  #paleta .paleta{width:100%;height:100dvh;max-height:none;border-radius:0;box-shadow:none}
  #paleta .pal-in{height:56px;padding:0 14px}
  #paleta .pal-in input{font-size:16px}
  #paleta .pal-cancelar{display:inline-block}
  #paleta .pal-pe{display:none}
  #paleta .pal-it{min-height:52px}
}
/* medidor de uso (Configurações) */
.uso-v{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap;font-size:14px}
.uso-b{flex:none;width:160px;height:6px;border-radius:3px;background:var(--chip);overflow:hidden}
.uso-b i{display:block;height:100%;background:rgba(var(--tk-ink-rgb),.55);border-radius:3px}
.uso-b.alto i{background:var(--ambar)}
.uso-cols{font-size:13px;color:var(--ink2);font-variant-numeric:tabular-nums;line-height:1.6}

/* ---------- V5.0 revisão 1 (Stark A, 24/09): consertos do Lince e da Iris (REVISAO-LINCE-V5.0-r1 §2; DIRECAO-V5.0 §13) ---------- */
/* Lince 2 e 3 · DIRECAO §13.10: a folga do botão da Nina vem do tamanho dele. --fab-folga = botão + 24 (88 px) é o que um rolo
   próprio deixa no fim (padding-bottom), para a última linha sair de baixo do botão; o .conteudo usa folga + 8 (96; 144 no celular) */
:root{--fab-lado:64px;--fab-folga:calc(var(--fab-lado) + 24px)}
/* no Chat o botão some em qualquer largura: o compositor ocupa o pé da tela e o "Enviar" fica no canto do botão (Lince 2) */
html[data-modulo="chat"] .nina-fab{display:none}
.nina-fab.com-av,.nina-fab.com-av:hover{width:var(--fab-lado);height:var(--fab-lado)}
/* Lince 4 (e Iris): na linha de relação o nome é o que se procura, então é o último a encolher. O nome fica com a largura dele
   (até a linha inteira) e a meta leva o resto, com reticências e alinhada à direita; o "↗" tem coluna própria. Abaixo de 480 px
   a meta desce para uma segunda linha (12.5, --ink3) e a linha passa a 52 px */
.rel-it{grid-template-columns:20px minmax(0,max-content) minmax(0,1fr) auto}
.rel-it>.rel-node{grid-column:1}
.rel-it>.rel-t{grid-column:2}
.rel-it>.rel-m{grid-column:3;justify-self:stretch;text-align:right;overflow:hidden;text-overflow:ellipsis}
.rel-it>.rel-sai{grid-column:4}
@media (max-width:479px){
  .rel-it{grid-template-columns:20px minmax(0,1fr) auto}
  .rel-it>.rel-sai{grid-column:3}
  .rel-it:has(>.rel-m){grid-template-rows:auto auto;min-height:52px;padding-top:6px;padding-bottom:6px}
  .rel-it:has(>.rel-m)>.rel-node{grid-row:1/span 2}
  .rel-it:has(>.rel-m)>.rel-t{grid-column:2;grid-row:1}
  .rel-it>.rel-m{grid-column:2;grid-row:2;justify-self:start;text-align:left;max-width:100%;font-size:var(--t-meta);line-height:1.4}
  .rel-it:has(>.rel-m)>.rel-sai{grid-row:1/span 2}
}
/* Lince 5 (e Iris): no item de menu o texto é o que se escolhe, o último a encolher; a dica (cargo, rodada, atalho) leva o resto,
   com reticências. Nos seletores de pessoa o nome vai a 14/500 e o cargo a 12.5 --ink3 */
.mi .mi-t{flex:0 1 auto}
.mi:not(:has(>.mi-d))>.mi-t{flex:1 1 auto}   /* sem dica, o texto empurra a seta do submenu para a borda, como antes */
.mi .mi-d{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:right}
.menu.m-pessoas .mi-t{font-size:var(--t-corpo);font-weight:500}
.menu.m-pessoas .mi-d{font-size:var(--t-meta);text-align:left}
/* Lince 6: a 390 os rótulos do passo a passo da Esteira se sobrepunham (7 passos de 56 px para "Aprovação" de ~62). Cada passo
   ganha a largura do rótulo mais longo; a trilha já rola e tem o degradê na borda que tem mais */
@media (max-width:560px){.trilho{grid-template-columns:repeat(7,minmax(84px,1fr))}}
/* Lince 7, parte 5.0 (DIRECAO §13.11; AUDITORIA 5.0, item 10): nenhum texto corta no meio da palavra. O título do card quebra
   por palavra e hifeniza onde o navegador tem o dicionário (a página é pt-BR); só a palavra maior que a linha inteira ainda parte */
.card-tit{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
/* nos dias da Semana o prazo vai numa linha própria, no fim da meta, e o círculo de concluir fica numa faixa embaixo, fora dela;
   o "Mais ações" (no hover) vai para a esquerda da faixa, para não cair em cima do círculo */
.sem-col .card:has(>.card-ok){padding-bottom:40px}
.sem-col .card>.card-ok{right:10px;bottom:10px}
.sem-col .card .card-meta{padding-right:0}
.sem-col .card .card-meta>.prazo{flex-basis:100%;order:9;white-space:normal}
@media (hover:hover) and (min-width:900px){.sem-col .card .card-mais{top:auto;bottom:9px;right:auto;left:10px}}
/* a etiqueta que não cabe some (o núcleo mede depois de desenhar a Semana e marca .nao-cabe), em vez de virar "A." */
.sem-col .card .card-topo .chip{flex:none;max-width:none}
.sem-col .card-topo .chip.nao-cabe{display:none}
.sem-col .card-topo .chip.pr-chip.so-ico>span{display:none}
/* Iris NOVO (DIRECAO §13.1): na lista densa a coluna com largura declarada não cresce, e quem estica é o nome (mínimo de 180 px).
   A tabela é fixa: cada coluna fica com a largura do cabeçalho e o nome com o resto; a célula corta com reticências (o texto inteiro
   vai para o title). A largura mínima vem do uiLista (--tab-min…) e acompanha as colunas que somem no modo estreito. Linha de 40 px */
.tab-d{table-layout:fixed;min-width:var(--tab-min,0px)}
@container (max-width:719px){.tab-d{min-width:var(--tab-min1,0px)}}
@container (max-width:559px){.tab-d{min-width:var(--tab-min2,0px)}}
@container (max-width:469px){.tab-d{min-width:var(--tab-min3,0px)}}
.tab-d td{overflow:hidden;text-overflow:ellipsis}
.tab-d td.c-nome{max-width:none;width:auto}
.tab-d tr.ln td{height:40px;padding-top:0;padding-bottom:0}
html.compacta .tab-d tr.ln td{height:34px}
@media (max-width:640px){.lista-d .tab-d{min-width:0}.lista-d .tab-d tr.ln td{height:auto}}
/* no modo estreito a coluna que sai fica com 0 px em vez de sair da tabela: com a tabela fixa, a linha de grupo (colspan com todas as
   colunas) criaria colunas sem largura, que dividiriam o espaço com o nome (medido: Clientes com a ficha, nome de 44 px) */
@container (max-width:719px){.tab-d th.s1,.tab-d td.s1{display:table-cell;width:0!important;padding:0!important;border-width:0;overflow:hidden;visibility:hidden}}
@container (max-width:559px){.tab-d th.s2,.tab-d td.s2{display:table-cell;width:0!important;padding:0!important;border-width:0;overflow:hidden;visibility:hidden}}
@container (max-width:469px){.tab-d th.s3,.tab-d td.s3{display:table-cell;width:0!important;padding:0!important;border-width:0;overflow:hidden;visibility:hidden}}
/* V5.1 — Início: as abas "Hoje · Painéis" e os Painéis (BRIEF-V5.1 §2 D; DIRECAO-V5.1 §5; CONTRATO §16). Stark A, 25/09.
   Só tokens de escala e as cores do :root. Barras em tinta clara, número grande em 300, cor só onde pede ação (DH §6.20). */
.ini-abas{margin:0 0 var(--e-4)}
.pn{display:flex;flex-direction:column;gap:var(--e-9)}
.pn-topo{margin:0 0 calc(-1 * var(--e-6));font-size:var(--t-meta);color:var(--ink3)}
.pn-grupo-t{margin:0 0 var(--e-3)}
.pn-grade{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--e-3);align-items:start}
.pn-c4{grid-column:span 4}.pn-c6{grid-column:span 6}.pn-c12{grid-column:span 12}
.pn-card{padding:var(--e-4) var(--e-5) var(--e-5)}
.pn-cab{display:flex;align-items:center;gap:var(--e-2);min-height:28px}
.pn-t{margin:0;font-size:var(--t-item);font-weight:500;color:var(--ink)}
.pn-ver{margin-left:auto;display:inline-flex;align-items:center;min-height:var(--h-pl);padding:0 var(--e-1);font-size:var(--t-meta)}
.pn-corpo{display:flex;flex-direction:column;gap:var(--e-3);margin-top:var(--e-2);min-width:0}
.pn-nums{display:flex;gap:var(--e-6);flex-wrap:wrap}
.pn-num{display:flex;flex-direction:column;align-items:flex-start;gap:var(--e-0);min-width:0;background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left}
.pn-n{font-size:var(--t-numero);font-weight:300;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink)}
.pn-n.medio{font-size:var(--t-ficha);font-weight:400}
.pn-n.alerta{color:var(--vermelho-txt)}
.pn-r{font-size:var(--t-meta);color:var(--ink3)}
.pn-barras{display:flex;flex-direction:column;gap:var(--e-0)}
.pn-barra{display:grid;grid-template-columns:minmax(0,140px) minmax(0,1fr) auto;align-items:center;gap:var(--e-3);min-height:var(--h-s);background:none;border:0;padding:0 var(--e-2);margin:0 calc(-1 * var(--e-2));border-radius:var(--r-chip);font:inherit;color:inherit;text-align:left}
.pn-c12 .pn-barra{grid-template-columns:minmax(0,180px) minmax(0,1fr) auto}
button.pn-barra{cursor:pointer}
button.pn-barra:hover{background:var(--hover)}
.pn-bl{display:flex;align-items:center;gap:var(--e-2);min-width:0;font-size:var(--t-meta);color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn-bl>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.pn-bl .av{flex:none}
.pn-bb{position:relative;height:8px;border-radius:var(--r-pilula);background:var(--chip);overflow:hidden}
.pn-bb i{position:absolute;left:0;top:0;display:block;height:100%;border-radius:var(--r-pilula);background:var(--c,var(--ink2))}
.pn-bb i.pn-parte{background:var(--red)}
.pn-bn{font-weight:500;font-size:var(--t-meta);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.pn-bn.txt{font-weight:400;color:var(--ink2)}
.pn-lista{display:flex;flex-direction:column}
.pn-it{display:flex;align-items:center;gap:var(--e-3);min-height:var(--h-ico);padding:var(--e-1) var(--e-2);margin:0 calc(-1 * var(--e-2));background:none;border:0;border-radius:var(--r-chip);font:inherit;color:inherit;text-align:left;cursor:pointer}
.pn-it:hover{background:var(--hover)}
.pn-it .av{flex:none}
.pn-it-d{flex:none;width:80px;font-size:var(--t-meta);color:var(--ink3);font-variant-numeric:tabular-nums}
.pn-it-d.atencao{color:var(--laranja-txt)}
.pn-it-t{flex:1;min-width:0;font-size:var(--t-ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pn-it-m{flex:none;font-size:var(--t-meta);color:var(--ink3)}
.pn-it-m.atencao{color:var(--laranja-txt)}
.pn-it-m.alerta{color:var(--vermelho-txt)}
.pn-mais,.pn-nota{margin:0;font-size:var(--t-meta);color:var(--ink3)}
.pn-card .trilho-wrap{margin:0}
@media (max-width:1180px){.pn-c4{grid-column:span 6}}
/* V5.1 revisão 1 (Lince 6 A): o bloco da borda direita sai de baixo do botão da Nina (o "Ver ↗" e os números da direita); a classe vem do pnFimDaLinha */
@media (min-width:1181px){.pn-card.pn-fim-l{padding-right:var(--fab-folga)}}
@media (min-width:721px) and (max-width:1180px){.pn-card.pn-fim-m{padding-right:var(--fab-folga)}}
@media (max-width:720px){.pn-grade{grid-template-columns:minmax(0,1fr)}.pn-c4,.pn-c6,.pn-c12{grid-column:auto}.pn-it,.pn-barra{min-height:var(--h-toque)}.pn-barra,.pn-c12 .pn-barra{grid-template-columns:minmax(0,110px) minmax(0,1fr) auto}}
/* V5.1 — sem a casca do Hub (DIRECAO-V5.1 §7.0): o módulo com `casca: false` ocupa a tela inteira */
html.sem-casca #lateral,html.sem-casca #barra-inf,html.sem-casca #topo-m,html.sem-casca #mh,html.sem-casca #faixa-ver,html.sem-casca #nina-fab{display:none!important}
html.sem-casca .conteudo,html.sem-casca .recolhida .conteudo{padding:0}
/* V5.1 — baixos do F.3 (CHECKPOINT-V5.0), núcleo */
.mi.mm-livre{flex-wrap:wrap;row-gap:0}                              /* Lince N3: a dica do "Criar cliente “…”" desce para a linha de baixo, inteira */
.mi.mm-livre .mi-t{flex:1 1 calc(100% - 25px)}
.mi.mm-livre .mi-d{flex:1 0 100%;padding-left:25px;text-align:left}
.aqui .aqui-lnk{font:inherit;color:inherit;padding:0;text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--line2)}   /* Lince 17 */
@media (max-width:899px){
  .pal-it .d.pal-k{display:none}                                      /* Lince 14: sem o número do atalho na paleta do celular */
  .menu.m-folha{box-shadow:0 0 0 100vmax rgba(var(--tk-ink-rgb),.18),0 12px 40px rgba(var(--tk-shadow-rgb),.18)}   /* Lince 13: o véu da folha Mais */
}
/* =====================================================================
   V5.1, ciclo 2 (Stark A, 25/09) — as peças do §1 da DIRECAO-V5.1, Projetos 2.0, Tarefas e o resto dos Painéis (nucleo-proj.js)
   ===================================================================== */
/* §1.2 dinheiro: código na frente, tabular; "Ocultar valores" troca só a classe da raiz (a largura não muda) */
.din{font-variant-numeric:tabular-nums;white-space:nowrap;position:relative}
.din.neg{color:var(--vermelho-txt)}
html.valores-ocultos .din{color:transparent}
html.valores-ocultos .din::after{content:attr(data-oculto);position:absolute;right:0;top:0;color:var(--ink2);letter-spacing:.08em}
.btn-olho[aria-pressed=true]{background:var(--sup);border-color:var(--line2)}
/* §1.1 a caixa tracejada: o que a máquina propõe e uma pessoa ainda não aceitou (sem fundo, sem sombra) */
.trac{border:1.5px dashed var(--line2);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;background:none;box-shadow:none;min-width:0}
.trac-cab{display:flex;align-items:center;gap:8px;min-height:28px}
.trac-cab .ic{width:16px;height:16px;color:var(--ink3)}
.trac-r{font-size:12.5px;font-weight:500;color:var(--ink2)}
.trac-t{margin:0;font-size:14px;color:var(--ink2);line-height:1.45}
.trac-car{margin:0;font-size:13.5px;color:var(--ink3)}
.trac-erro{margin:0;font-size:13.5px;color:var(--vermelho-txt);display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.trac-acoes{display:flex;align-items:center;gap:14px}
.chip.trac{background:none;border:1.5px dashed var(--line2);color:var(--ink);font-size:12.5px;font-weight:500;height:24px}
.anel-ag{display:inline-block;width:16px;height:16px;border-radius:50%;border:1.5px dashed currentColor;flex:none;opacity:.8;box-sizing:border-box}
/* §1.3 a tabela larga (só Financeiro e Manifest): caixa branca de raio 16 com rolagem própria, 2 primeiras presas, linha de 36 */
.tlg-caixa{border-radius:16px;background:var(--sup);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;min-width:0;max-width:100%}
.tlg-rolo{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.tabela.larga{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;font-size:13.5px}
.tabela.larga th{position:sticky;top:0;height:36px;padding:0 10px;text-align:left;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);background:var(--sup);border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1}
.tabela.larga td{height:36px;padding:0 10px;border-bottom:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--sup);vertical-align:middle}
.tabela.larga tr:last-child td{border-bottom:0}
.tabela.larga .presa{position:sticky;left:0;z-index:2}
.tabela.larga th.presa{z-index:3}
.tlg-caixa.rolada .tabela.larga .presa{box-shadow:6px 0 8px -6px rgba(14,14,14,.12)}
.tabela.larga tfoot td{position:sticky;bottom:0;background:var(--card);border-top:1px solid var(--line2);font-weight:500}
/* §1.4 o stepper de etapas (fechamento): 3 nodes de 17, fio de 1,5; a feita em neblina, a atual verde com halo */
.sec-cab .esp,.agora .esp,.fc-rank .esp,.eqv-it .esp,.np-cab .esp,.np-pe .esp,.pn-it-acao .esp{flex:1 1 0;min-width:0}
.sec-cab{display:flex;align-items:center;gap:8px;min-height:30px;flex-wrap:wrap}
.sec-cab>.lbl{margin:0}
.chip.est-parcial{background:rgba(var(--laranja-rgb),.10);color:var(--laranja-txt)}
.fstp{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:560px;gap:0}
.fstp-i{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding-right:8px}
.fstp-n{width:30px;height:30px;margin:0 0 4px -6px;display:grid;place-items:center;border-radius:50%;background:none;border:0;padding:0;cursor:pointer;position:relative;z-index:1}
.fstp-no{display:block;width:17px;height:17px;border-radius:50%;border:1.5px solid var(--ink3);background:var(--paper);box-sizing:border-box;transition:box-shadow var(--dur-2) var(--ease)}
.fstp-i.feita .fstp-no{background:var(--neblina);border-color:var(--neblina)}
.fstp-i.atual .fstp-no{background:var(--green);border-color:var(--green);box-shadow:0 0 0 4px rgba(var(--tk-green-rgb),.18)}
.fstp-i.aberta .fstp-n{outline:1.5px solid var(--line2);outline-offset:1px}
.fstp-fio{position:absolute;left:18px;right:-4px;top:14.25px;height:1.5px;background:var(--line2)}
.fstp-fio.feito{background:var(--neblina)}
.fstp-i.cometa .fstp-fio::after{content:"";position:absolute;top:-1.5px;left:0;width:18px;height:4.5px;border-radius:3px;background:linear-gradient(90deg,transparent,var(--green));animation:fstp-cometa .7s var(--ease) forwards}
@keyframes fstp-cometa{from{left:0;opacity:1}to{left:calc(100% - 18px);opacity:0}}
@media (prefers-reduced-motion:reduce){.fstp-i.cometa .fstp-fio::after{animation:none;opacity:0}}
.fstp-r{font-size:12.5px;font-weight:500;color:var(--ink)}
.fstp-s{font-size:11.5px;color:var(--ink3)}
/* o checklist do fechamento */
.fech-ck{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.fech-g{display:flex;flex-direction:column}
.fech-g>.lbl{margin:0 0 4px}
.fech-it{display:flex;align-items:center;gap:10px;min-height:36px;font-size:14px}
.fech-it.ok .fech-t{color:var(--ink2)}
.fech-cx{width:18px;height:18px;flex:none;border-radius:5px;border:1.5px solid var(--ink3);background:var(--sup);display:grid;place-items:center;padding:0;color:var(--tk-on-green)}
.fech-cx.on{background:var(--green);border-color:var(--green)}
.fech-cx .ic{width:12px;height:12px;stroke-width:2.6}
.fech-cx[disabled]{opacity:1;cursor:default}
.fech-it.auto .fech-cx{border-style:dashed}
.fech-it.auto.ok .fech-cx{border-style:solid}
.fech-t{flex:1;min-width:0;line-height:1.4}
.fech-q{flex:none;font-size:12.5px;color:var(--ink3);font-variant-numeric:tabular-nums}
.fech-fonte{margin:0;font-size:12.5px;color:var(--ink3)}
.agora{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border-radius:12px;background:var(--vidro-chao);box-shadow:inset 0 0 0 1px var(--line);font-size:14px;flex-wrap:wrap}
.ag-no{width:9px;height:9px;border-radius:50%;background:var(--green);flex:none}
.ag-no.sd-laranja{background:var(--laranja)}.ag-no.sd-vermelho{background:var(--red)}
.agora-c{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 220px}
.agora-f{font-size:13.5px;color:var(--ink2)}
.atlas-w{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.atlas-m{margin:0;font-size:12.5px;color:var(--ink3);text-align:right}
/* §6.4 a ficha de case */
.fc-doc{display:flex;flex-direction:column;gap:16px;max-width:760px;padding:20px 24px 24px;border-radius:16px;background:var(--vidro-chao);box-shadow:inset 0 0 0 1px var(--line)}
.fc-meta{font-size:12.5px;color:var(--ink3)}
.fc-vz{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--ink3)}
.fc-props{display:flex;flex-direction:column;gap:2px}
.fc-p{display:grid;grid-template-columns:160px minmax(0,1fr);gap:12px;align-items:baseline;min-height:30px}
.fc-k{font-size:12.5px;color:var(--ink3)}
.fc-v{font-size:14px;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.fc-chips{display:inline-flex;flex-wrap:wrap;gap:6px}
.fc-cred{font-size:13.5px}
.fc-quem{display:flex;flex-wrap:wrap;gap:4px 12px}
.fc-duas{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fc-duas p{margin:4px 0 0;font-size:14px;line-height:1.5}
.fc-mat{display:flex;flex-direction:column;gap:8px}
.fc-cam{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fc-c ul{margin:4px 0 0;padding-left:18px;font-size:13.5px}
.fc-c-vz{margin:4px 0 0;font-size:13.5px;color:var(--ink3)}
.chip.ch-np-f{background:rgba(var(--tk-red-rgb),.08);color:var(--vermelho-txt)}
.fc-rank{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line)}
.fc-prop{display:flex;flex-direction:column;gap:4px}
.fc-pq{margin:0;font-size:13.5px;color:var(--ink2)}
.fc-pe{display:flex;justify-content:flex-end}
/* §6.3 o manifest */
.mf-resumo{display:flex;gap:6px;flex-wrap:wrap}
.mf-f{display:inline-flex;align-items:baseline;gap:4px;height:30px;padding:0 12px;border-radius:999px;background:var(--chip);font-size:13px;color:var(--ink2)}
.mf-f b{font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
.mf-f.alerta b{color:var(--vermelho-txt)}.mf-f.atencao b{color:#7A5406}
.mf-f.on{background:var(--sup);box-shadow:inset 0 0 0 1px var(--ink)}
.mf-tab td.mf-c{cursor:text}
.mf-tab td.mf-c:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.mf-tab td.ed{padding:0 4px}
.mf-in{width:100%;height:30px;border-radius:6px;border:1px solid var(--ink);background:var(--sup);padding:0 8px;font:inherit;font-size:13.5px}
.mf-cab{padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:underline dotted;text-underline-offset:3px}
.mf-v{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden}
.mf-c-caminho .mf-v{color:var(--ink2);font-size:12.5px}
.mf-cam{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}
.mf-cam bdi{direction:ltr;unicode-bidi:isolate}
.mf-copiar{width:24px;height:24px;opacity:0}
.mf-tab tr:hover .mf-copiar,.mf-copiar:focus-visible{opacity:1}
.mf-stb{padding:0;background:none;border:0}
.mf-c-x .g-b{width:28px;height:28px;opacity:.5}
.mf-c-x .g-b:hover{opacity:1}
.pl.mf-pl{height:22px;font-size:12px}
.pl.mf-entregue{background:rgba(var(--tk-green-rgb),.12);color:var(--verde-txt-forte)}
.pl.mf-falta{background:rgba(var(--tk-red-rgb),.10);color:var(--vermelho-txt)}
.pl.mf-bloqueada{background:rgba(var(--tk-ambar-rgb),.14);color:#7A5406}
.pt.mf-pt-entregue{--c:var(--green)}.pt.mf-pt-falta{--c:var(--red)}.pt.mf-pt-bloqueada{--c:var(--ambar)}
.mf-cards{display:flex;flex-direction:column;gap:8px}
.mf-card{display:flex;flex-direction:column;gap:4px;min-height:56px;padding:10px 12px;border-radius:12px;background:var(--sup);box-shadow:inset 0 0 0 1px var(--line);text-align:left;width:100%}
.mf-card[disabled]{opacity:1}
.mf-l1{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:14px}
.mf-l1 b{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mf-l2{font-size:12.5px;color:var(--ink3)}
.mf-fl{display:flex;flex-direction:column;gap:4px}
.mf-fl .campo{height:40px;flex:none}
.mf-zona{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:120px;border:1.5px dashed var(--line2);border-radius:12px;color:var(--ink2);font-size:13.5px;cursor:pointer;text-align:center;padding:16px}
.mf-zona.sobre{border-color:var(--ink);background:var(--hover)}
.mf-zona .ic{width:20px;height:20px}
.mf-prev{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.mf-prev-t th{position:static;text-transform:none;letter-spacing:0;font-size:12.5px;color:var(--ink)}
.mf-map{height:30px;font-size:12.5px;width:100%}
/* a folha do núcleo (gaveta central de 780; tela cheia no celular) */
.np-veu{position:fixed;inset:0;z-index:var(--z-gaveta);background:rgba(var(--tk-ink-rgb),.18);display:grid;place-items:center;padding:24px}
.np-folha{width:min(560px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;border-radius:var(--r-gaveta);background:var(--vidro-gaveta,var(--paper));backdrop-filter:blur(24px);box-shadow:var(--sh-gaveta);overflow:hidden}
.np-folha.larga{width:min(780px,100%)}
.np-cab{display:flex;align-items:center;gap:8px;padding:14px 16px 8px 20px}
.np-cab h2{margin:0;font-size:17px;font-weight:500}
.np-corpo{padding:8px 20px 12px;overflow:auto;display:flex;flex-direction:column;gap:12px;min-height:0}
.np-pe{display:flex;align-items:center;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--line)}
/* §6.7 feedback, saúde, direitos e IA */
.fb-so{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--ink3)}
.fb-so .ic{width:14px;height:14px}
.fb-form{display:flex;flex-direction:column;gap:8px;max-width:760px}
.fb-ta{height:auto;min-height:64px;padding:8px 10px;resize:vertical;font:inherit;font-size:14px}
.fb-acoes{display:flex;gap:8px;justify-content:flex-end}
.fb-l{display:flex;flex-direction:column;max-width:900px}
.fb-it{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:44px;border-bottom:1px solid var(--line)}
.fb-d{font-size:12.5px;color:var(--ink3);font-variant-numeric:tabular-nums}
.fb-t{font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pl.pl-saude .pt{--c:currentColor}
.pl.sd-verde{background:rgba(var(--tk-green-rgb),.13);color:var(--verde-txt-forte)}
.pl.sd-laranja{background:rgba(var(--laranja-rgb),.12);color:var(--laranja-txt)}
.pl.sd-vermelho{background:rgba(var(--tk-red-rgb),.10);color:var(--vermelho-txt)}
button.pl-saude{cursor:pointer;border:0}
.pt.sd-pt-verde{--c:var(--green)}.pt.sd-pt-laranja{--c:var(--laranja)}.pt.sd-pt-vermelho{--c:var(--red)}
.pt-saude{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:middle;background:var(--green)}
.pt-saude.sd-laranja{background:var(--laranja)}.pt-saude.sd-vermelho{background:var(--red)}
.chip.chip-add{background:none;border:1px dashed var(--line2);color:var(--ink3);cursor:pointer}
.props-g{grid-column:1/-1;margin:14px 0 2px}
.uso-nao{color:var(--vermelho-txt)}
.prop-seg{padding:3px 0}
.seg.seg-s button{height:26px;padding:0 10px;font-size:12.5px}
.props-nota{margin:2px 0 0;font-size:12.5px;color:var(--ink3)}
/* §6.6 a equipe com as vagas */
.eqv-l{display:flex;flex-direction:column;position:relative}
.eqv-l::before{content:"";position:absolute;left:4px;top:18px;bottom:18px;width:1.5px;background:var(--line2)}
.eqv-it{display:flex;align-items:center;gap:10px;min-height:36px;position:relative;font-size:14px}
.eqv-no{width:9px;height:9px;border-radius:50%;background:var(--ink2);flex:none;position:relative;z-index:1}
.eqv-no.vaz{background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--ink3)}
.eqv-n{min-width:0}
.eqv-n small{color:var(--ink3);font-size:12.5px}
.eqv-oc{font-size:12.5px;color:var(--laranja-txt);white-space:nowrap}
.eqv-d{font-weight:500}
.eqv-ad{color:var(--ink3)}
.eqv-l.cometa .eqv-it.novo .eqv-no{animation:eqv-chega .7s var(--ease)}
@keyframes eqv-chega{from{box-shadow:0 0 0 0 rgba(var(--tk-green-rgb),.6)}to{box-shadow:0 0 0 8px rgba(var(--tk-green-rgb),0)}}
@media (prefers-reduced-motion:reduce){.eqv-l.cometa .eqv-it.novo .eqv-no{animation:none}}
.m-escalar .esc-l{max-height:360px;overflow:auto}
/* §6.9 o quadro por status da aba Todos */
.seg-vista{margin-top:4px}
.chip.chip-f{cursor:pointer;background:var(--sup);box-shadow:inset 0 0 0 1px var(--line2)}
.chip.chip-f .ic{width:12px;height:12px}
.pq-rolo{overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
.pq{display:flex;gap:12px;align-items:flex-start;min-width:max-content}
.pq-col{width:264px;flex:none;display:flex;flex-direction:column;gap:8px;border-radius:14px;padding:8px;background:var(--vidro-chao);box-shadow:inset 0 0 0 1px var(--line)}
.pq-col.sobre{box-shadow:inset 0 0 0 1.5px var(--ink)}
.pq-col.rec{width:48px;padding:0}
.pq-rec{width:48px;min-height:220px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 0;border-radius:14px}
.pq-rec-t{writing-mode:vertical-rl;font-size:12.5px;font-weight:500;color:var(--ink2)}
.pq-rec b{font-size:12px;font-weight:500;color:var(--ink3)}
.pq-cab{display:flex;align-items:center;gap:6px;min-height:30px;padding:0 4px}
.pq-nome{font-size:13px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pq-cab .g-b{margin-left:auto;width:26px;height:26px}
.pq-cards{display:flex;flex-direction:column;gap:8px}
.pq-vz{margin:4px;font-size:12.5px;color:var(--ink3)}
.pqc{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:var(--vidro-card);box-shadow:var(--sh-vidro),inset 0 0 0 1px var(--vidro-card-linha);cursor:pointer;min-width:0}
.pqc:hover{background:var(--vidro-card-hover)}
.pqc.arrastando{opacity:.5}
.pqc-n{font-size:12.5px;color:var(--ink3);font-variant-numeric:tabular-nums}
.pqc-t{margin:0;font-size:15px;font-weight:500;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pqc-m{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;color:var(--ink2);min-width:0}
.pqc-cli{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pqc-pe{display:flex}
.pq-cel{display:flex;flex-direction:column;gap:8px;margin-top:12px}
/* §6.10 a linha do tempo dos projetos */
.tlp-ctl{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.tlp{display:grid;grid-template-columns:240px minmax(0,1fr);border-radius:16px;background:var(--sup);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.tlp-fixa{border-right:1px solid var(--line);min-width:0}
.tlp-fixa-cab{height:40px;border-bottom:1px solid var(--line)}
.tlp-rot{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;font-size:13.5px;white-space:nowrap;overflow:hidden;min-width:0}
.tlp-num{font-variant-numeric:tabular-nums;color:var(--ink3);flex:none}
.tlp-nome{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tlp-w{min-width:0}
.tlp-rolo{overflow-x:auto;scrollbar-width:thin}
.tlp-area{position:relative}
.tlp-eixo{position:relative;height:40px;border-bottom:1px solid var(--line)}
.tlp-mes{position:absolute;top:14px;padding-left:6px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);white-space:nowrap;border-left:1px solid var(--line);height:26px;top:14px}
.tlp-hoje-r{position:absolute;top:2px;transform:translateX(-50%);font-size:11px;font-weight:500;color:var(--verde-txt)}
.tlp-corpo{position:relative}
.tlp-grade{position:absolute;top:0;bottom:0;width:1px;background:var(--line)}
.tlp-hoje{position:absolute;top:0;bottom:0;width:1.5px;background:var(--green);z-index:2}
.tlp-lin{position:relative;height:36px}
.tlp-b{position:absolute;top:8px;height:20px;border-radius:6px;background:color-mix(in srgb,var(--c) 13%,transparent);box-shadow:inset 3px 0 0 var(--c);padding:0 6px 0 8px;display:flex;align-items:center;justify-content:flex-end;overflow:hidden;cursor:pointer;border:0}
.tlp-b.atrasado{outline:1.5px solid var(--red);outline-offset:-1.5px}
.tlp-b.f0{top:8px;height:9px}.tlp-b.f1{top:19px;height:9px}
.tlp-bt{font-size:12px;color:var(--ink);white-space:nowrap}
.chip.tlp-atr{position:absolute;top:7px;z-index:3;background:color-mix(in srgb,rgb(var(--tk-red-rgb)) 10%,var(--sup));color:var(--vermelho-txt)}
.tlp-sem{display:inline-block;margin-top:12px}
/* §6.11 tarefas: passagem, versão e rodada */
.pr-auto{margin-left:6px;font-size:12.5px;color:var(--ink3)}
.prop-cont{display:flex;align-items:center;gap:8px}
.prop-cont .btn-ic{width:30px;height:30px;padding:0;font-size:16px}
.cont-v{min-width:44px;text-align:center;font-variant-numeric:tabular-nums;font-size:14px}
.cont-v.alem{color:var(--laranja-txt)}
.alem-t{font-size:12.5px;color:var(--laranja-txt)}
.mt.de-disc{font-size:12.5px;color:var(--ink3)}
.chip.chip-v,.chip.chip-r{font-variant-numeric:tabular-nums}
.chip.chip-r.alem{background:rgba(var(--laranja-rgb),.10);color:var(--laranja-txt)}
/* §4.7 os atalhos de módulo no card do projeto (o Financeiro) */
.pj-atalhos{display:inline-flex;gap:4px}
.pj-at{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;color:var(--ink3)}
.pj-at:hover{background:var(--hover);color:var(--ink)}
.pj-at .ic{width:15px;height:15px}
/* §5 o resto dos Painéis */
.pn-seg{align-self:flex-start}
.pn-barra-c{grid-template-columns:minmax(0,180px) minmax(0,1fr) auto minmax(0,220px)}
.pn-chips{display:flex;gap:4px;justify-content:flex-end;min-width:0;overflow:hidden}
.pn-barra-f{grid-template-columns:minmax(0,120px) minmax(0,1fr) 44px auto}
.pn-fila{font-size:12.5px;white-space:nowrap}
.pn-pm{display:flex;flex-direction:column;gap:2px}
.pn-pm-l{display:grid;grid-template-columns:96px minmax(0,1fr) 32px;align-items:end;gap:10px;min-height:36px}
.pn-pm-c{font-size:12.5px;color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;align-self:center}
.pn-pm-bs{display:flex;gap:8px;align-items:flex-end;height:36px}
.pn-pm-b{position:relative;width:12px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.pn-pm-b i{display:block;width:12px;border-radius:3px 3px 0 0;background:var(--ink2)}
.pn-pm-b small{font-size:10.5px;color:var(--ink2);line-height:1;margin-bottom:2px;font-variant-numeric:tabular-nums}
.pn-pm-b.antes::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--line2)}
.pn-pm-t{font-size:13px;font-weight:500;text-align:right;align-self:center;font-variant-numeric:tabular-nums}
.pn-pm-eixo{min-height:18px;align-items:start}
.pn-pm-eixo .pn-pm-bs{height:auto}
.pn-pm-d{width:12px;font-size:11px;color:var(--ink3);white-space:nowrap;display:flex;justify-content:center;overflow:visible}
.pn-pm-d:nth-child(odd){visibility:visible}.pn-pm-d:nth-child(even){visibility:hidden}
.pn-it-acao{cursor:default}
.pn-it-acao:hover{background:none}
.lnk-it{min-height:24px;padding:0;background:none;border:0;font:inherit;font-size:var(--t-ui);text-align:left;cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.lnk-it:hover{text-decoration:underline;text-underline-offset:3px}
@media (max-width:720px){
  .pn-secoes{position:sticky;top:calc(var(--h-topo) + 4px);z-index:5;margin-bottom:4px;align-self:flex-start;box-shadow:0 4px 12px rgba(var(--tk-shadow-rgb),.08)}
  .pn-barra-c{grid-template-columns:minmax(0,110px) minmax(0,1fr) auto}
  .pn-barra-c .pn-chips{display:none}
  .pn-barra-f{grid-template-columns:minmax(0,96px) minmax(0,1fr) 40px}
  .pn-barra-f .pn-fila{display:none}
  .pn-it-acao{flex-wrap:wrap;padding-top:6px;padding-bottom:6px}
  .pn-it-acao .btn{margin-left:auto}
  .lnk-it{min-height:var(--h-toque)}
}
/* §6.12 celular */
@media (max-width:640px){
  .fstp-r{font-size:12px}
  .fech-it{min-height:44px}
  .fech-q{display:none}
  .fc-doc{padding:16px}
  .fc-p{grid-template-columns:minmax(0,1fr);gap:2px;padding:4px 0}
  .fc-duas,.fc-cam{grid-template-columns:minmax(0,1fr)}
  .fc-rank .seg{width:100%}
  .fb-it{grid-template-columns:56px minmax(0,1fr);padding:8px 0}
  .fb-it>:last-child{grid-column:2;justify-self:start}
  .tlp{grid-template-columns:120px minmax(0,1fr)}
  .np-veu{padding:0;place-items:stretch}
  .np-folha,.np-folha.larga{width:100%;max-height:100vh;border-radius:0}
  .sec-cab{row-gap:6px}
  .atlas-w{align-items:stretch}.atlas-m{text-align:left}
  .eqv-it{min-height:44px;flex-wrap:wrap}
}

/* =====================================================================
   V5.2 (29/09/2026) — pente fino do Duds. Stark A (agente de IA, núcleo).
   Fica no fim para vencer as camadas anteriores das mesmas telas.
   ===================================================================== */
/* ---------- Aprovações: uma seleção de fila só, o comparativo lado a lado e a versão da decisão ---------- */
.apv-fila-sel{width:100%;height:var(--h-linha);justify-content:flex-start;gap:var(--e-2);padding:0 var(--e-3) 0 var(--e-4);border-radius:var(--r-card);background:var(--sup);border-color:var(--line);font-size:var(--t-corpo);font-weight:500;flex:none}
.apv-fila-sel:hover{border-color:var(--ink)}
.apv-fila-sel .apv-fila-t{min-width:0;overflow:hidden;text-overflow:ellipsis}
.apv-fila-sel .apv-n{background:rgba(var(--tk-green-rgb),.16);color:var(--verde-txt-forte)}
.apv-fila-sel>.ic{margin-left:auto;color:var(--ink3)}
.menu.m-fila .mi-d{flex:none;min-width:22px;padding:0 6px;height:18px;line-height:18px;border-radius:var(--r-pilula);background:var(--chip);text-align:center;font-size:var(--t-rotulo);color:var(--ink2);margin-left:auto}
.apv-cab{max-width:none}
.apv-cab-n{margin-left:auto;font-size:var(--t-meta);color:var(--ink3);white-space:nowrap}
.apv-cmp-w{width:100%}
.apv-cmp-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e-4);width:100%;align-items:start}
.apv-cmp-c{display:flex;flex-direction:column;align-items:stretch;gap:var(--e-2);min-width:0;padding:var(--e-2);border-radius:var(--r-painel);box-shadow:inset 0 0 0 1px transparent;transition:box-shadow var(--dur-2) var(--ease),background-color var(--dur-2) var(--ease)}
.apv-cmp-c.alvo{background:rgba(var(--tk-green-rgb),.07);box-shadow:inset 0 0 0 1.5px rgba(var(--tk-green-rgb),.5),0 14px 34px -22px rgba(var(--tk-green-rgb),.7)}
.apv-cmp-cab{display:flex;align-items:center;gap:var(--e-2);min-height:var(--h-s);padding:0 var(--e-1)}
.apv-cmp-v{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border-radius:9px;background:var(--sup);box-shadow:inset 0 0 0 1px var(--line);font-size:var(--t-meta);font-weight:500}
.apv-cmp-c.alvo .apv-cmp-v,.apv-cmp-c.alvo .vs-drop{background:var(--green);color:var(--tk-on-green);border-color:var(--green);box-shadow:none}
.apv-cmp-c.alvo .vs-at{background:var(--tk-on-green)}
.apv-cmp-c.alvo .vs-drop .ic{color:var(--tk-on-green)}
.apv-cmp-m{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-micro);color:var(--ink3)}
.apv-cmp-c .m-wrap{width:100%}
.apv-cmp-c .moldura{max-width:100%}
.apv-qual{display:flex;align-items:center;gap:var(--e-3);padding-top:var(--e-3);border-top:1px solid var(--line)}
.apv-qual .seg{flex:1}
.apv-qual .seg button{flex:1}
.apv-qual .seg button[aria-pressed=true],.apv-qual .seg button[role=tab][aria-selected=true]{background:var(--green);color:var(--tk-on-green)}
/* com comparativo, a fila sobe para uma faixa e a prévia ganha a largura: as duas versões precisam de espaço para se ler */
.apv.com-cmp{grid-template-columns:minmax(0,1fr) 300px;grid-template-areas:"fila fila" "centro dec"}
.apv.com-cmp .apv-fila{grid-area:fila;position:static;max-height:none;flex-direction:row;align-items:stretch;gap:var(--e-3);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.apv.com-cmp .apv-fila-sel{width:auto;min-width:190px;height:auto;min-height:var(--h-linha)}
.apv.com-cmp .apv-lista{flex-direction:row;gap:var(--e-2)}
.apv.com-cmp .apv-it{width:280px;flex:none;padding:var(--e-2) var(--e-3)}
.apv.com-cmp .apv-it .mm-img,.apv.com-cmp .apv-it .mm-ic{width:44px;height:44px}
.apv.com-cmp .apv-centro{grid-area:centro}
.apv.com-cmp .apv-dec{grid-area:dec}
.apv.com-cmp .apv-c:has(.apv-cmp-g) .moldura.m-ig,.apv.com-cmp .apv-c:has(.apv-cmp-g) .moldura.m-li{max-width:100%}
@media (max-width:1180px) and (min-width:900px){
  .apv-fila .apv-fila-sel{width:auto;min-width:190px;height:auto;min-height:var(--h-linha)}
}
@media (max-width:899px){
  .apv-topo-m{flex-direction:row;align-items:center;gap:var(--e-2)}
  .apv-topo-m .apv-fila-sel{flex:1 1 auto;width:auto;min-width:0;height:var(--h-toque)}
  .apv-topo-m .apv-sel-m{align-self:auto;flex:none;height:var(--h-toque)}
  .apv.com-cmp{grid-template-columns:minmax(0,1fr);grid-template-areas:none}
  .apv.com-cmp .apv-centro,.apv.com-cmp .apv-dec{grid-area:auto}
  /* no celular as duas versões ficam lado a lado numa faixa que desliza, uma coluna por vez */
  .apv-cmp-g{grid-template-columns:repeat(2,minmax(286px,86%));overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:var(--e-1)}
  .apv-cmp-g::-webkit-scrollbar{display:none}
  .apv-cmp-c{scroll-snap-align:center}
  .apv-qual{flex-wrap:wrap}
}
/* ---------- a caixa "Ajuste pedido" na peça aberta ---------- */
.sec-ajuste{margin:0}
.aj-cx{display:flex;flex-direction:column;gap:var(--e-2);padding:var(--e-3) var(--e-4);border-radius:var(--r-card);background:rgba(var(--laranja-rgb),.09);box-shadow:inset 0 0 0 1px rgba(var(--laranja-rgb),.34),inset 3px 0 0 var(--laranja)}
.aj-r{display:flex;align-items:center;gap:6px;color:var(--laranja-txt)}
.aj-r .ic{width:14px;height:14px}
.aj-t{font-size:var(--t-ui);line-height:1.45;color:var(--ink2)}
.aj-t b{color:var(--ink)}
.aj-c{font-size:var(--t-corpo);line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
.aj-b{display:flex;flex-wrap:wrap;align-items:center;gap:var(--e-2);padding-top:var(--e-1)}
.aj-ok{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-meta);color:var(--verde-txt)}
.aj-ok .ic{width:14px;height:14px}
.menu.m-fila .mi-t{flex:1 1 auto}
/* ---------- Projetos: logo do cliente (ou as iniciais) no card, na página e na prévia; as pastas do job ---------- */
.pj-logo{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:var(--r-campo);background:var(--chip);color:var(--ink2);font:500 12px/1 var(--font);letter-spacing:.01em;flex:none;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line);object-fit:initial}
/* o logo fica num ícone de fundo escuro próprio: vários logos são brancos (rodada 3) */
.pj-logo.com-img,.f-marca.com-img{background:var(--tk-night);box-shadow:inset 0 0 0 1px rgba(var(--tk-white-rgb),.12)}
.f-marca.com-img img{object-fit:contain;padding:5px}
.pj-logo img{width:100%;height:100%;object-fit:contain;padding:3px;display:block}
.pj-logo.media{width:40px;height:40px;border-radius:var(--r-item);font-size:15px}
.pj-logo.grande{width:48px;height:48px;border-radius:var(--r-card);font-size:17px;box-shadow:inset 0 0 0 1px var(--line),0 6px 16px -10px rgba(var(--tk-shadow-rgb),.4)}
.pj-logo.grande img{padding:5px}
.proj-l1{align-items:center;gap:var(--e-4);justify-content:flex-start}
.proj-l1 .proj-h{min-width:0}
.pj-pastas{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}
.pj-pasta{gap:6px;padding:0 10px;color:var(--ink)}
.pj-pasta .ic{width:14px;height:14px}
.pj-pasta .pj-pasta-sai{width:12px;height:12px;color:var(--ink3)}
.f-pv-props .pj-pastas{padding:3px 0}
@media (max-width:899px){.pj-logo.grande{width:40px;height:40px;font-size:15px}.pj-pasta{height:var(--h-btn)}}
/* ---------- Tarefas: compartilhar e falar no chat (no topo da tarefa aberta); a aba fechada da Semana por extenso ---------- */
.g-b.g-b-t{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;width:auto;gap:6px;padding:0 10px;font-size:var(--t-meta);font-weight:500;color:var(--ink2)}
.g-b.g-b-t:hover{color:var(--ink)}
.g-b.g-b-t .ic{width:15px;height:15px}
.menu.m-compartilhar{padding:8px}
.cmp-texto{margin:2px 4px 8px;padding:var(--e-3);border-radius:var(--r-item);background:var(--vidro-chao);box-shadow:inset 0 0 0 1px var(--line);font:400 var(--t-meta)/1.5 var(--font);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;user-select:text}
.menu.m-compartilhar a.mi{text-decoration:none;color:inherit}
.menu.m-compartilhar a.mi .ic:last-child{margin-left:auto;width:13px;height:13px;color:var(--ink3)}
.sp-aba small{font-size:10.5px;letter-spacing:0;text-align:center;line-height:1.2}
@media (max-width:899px){.g-b.g-b-t .g-b-r{display:none}.g-b.g-b-t{width:var(--h-ico);padding:0;justify-content:center}}
/* ---------- o trilho das etapas (Início e Painéis): "Duds, Rapha ou Ju" é mais comprido; no celular o dono quebra em duas linhas em vez de cortar ---------- */
@media (max-width:560px){.tr-no small{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal}}

/* =====================================================================
   V5.3 (29/09/2026) — o retorno do Duds sobre a V5.2 publicada. Stark A (agente de IA, núcleo).
   Fica no fim para vencer as camadas anteriores das mesmas telas.
   ===================================================================== */
/* ---------- cabeçalho: sem a etiqueta que repetia o título; a visão ao lado do título; a regra das Aprovações na linha do título ---------- */
.mh .aqui{display:none}
.mh .aqui:has(.aqui-lnk){display:inline-flex}
.mh .mh-l1{padding-right:var(--mh-topo,0px)}
.mh.mh-baixo{padding-top:calc(var(--h-toque) + var(--e-2))}   /* pedido B1: a linha do título desce para baixo da Inbox e do perfil quando a reserva a faria quebrar */
.mh-visao{margin-left:var(--e-2);font-size:var(--t-item);font-weight:400;color:var(--ink3);letter-spacing:0;white-space:nowrap}
.mh-visao::before{content:"/ ";color:var(--line2)}
.mh-l1-apv{align-items:baseline;gap:var(--e-4)}
.mh-l1-apv .sub-m{margin:0}
@media (max-width:899px){.mh-l1-apv{flex-direction:column;align-items:flex-start;gap:2px}}
/* ---------- o ícone do logo, limpo: o tom vem do arquivo (l-claro, l-escuro, l-cheio); logo horizontal alarga o ícone ---------- */
.pj-logo{--l-h:30px}
.pj-logo.media{--l-h:40px}
.pj-logo.grande{--l-h:48px}
.f-marca{--l-h:44px}
.pj-logo.com-img,.f-marca.com-img{background:transparent;box-shadow:none}
.pj-logo.grande.com-img{box-shadow:0 6px 16px -10px rgba(var(--tk-shadow-rgb),.4)}
.pj-logo.l-mede img,.f-marca.l-mede img{opacity:0}
.pj-logo.l-claro,.f-marca.l-claro{background:var(--tk-night)}
.pj-logo.l-escuro,.f-marca.l-escuro,.pj-logo.l-neutro,.f-marca.l-neutro{background:var(--sup);box-shadow:inset 0 0 0 1px var(--line)}
.pj-logo.l-cheio img,.f-marca.l-cheio img{padding:2px}
.pj-logo.l-cheio.l-quadro img,.f-marca.l-cheio.l-quadro img{padding:0;object-fit:cover}
.pj-logo.l-larga,.f-marca.org.l-larga{width:calc(var(--l-h) * var(--l-r,2))}
.pj-logo.l-larga img{padding:3px 5px}
.pj-logos{display:inline-flex;align-items:flex-end;gap:4px;flex:none}
.pj-logos .pj-logo.sec{--l-h:20px;width:20px;height:20px;border-radius:5px;font-size:9px}
.pj-logos.media .pj-logo.sec{--l-h:24px;width:24px;height:24px;font-size:10px}
.pj-logos.grande .pj-logo.sec{--l-h:28px;width:28px;height:28px;border-radius:7px;font-size:11px}
.pj-logos .pj-logo.sec.l-larga{width:calc(var(--l-h) * var(--l-r,2))}
.pj-logos .pj-logo.sec img{padding:2px}
/* ---------- Peças: cada coluna rola por dentro; a rolagem lateral é a padrão do navegador ---------- */
#pipe-rolo{scrollbar-width:none;padding-bottom:6px}   /* V5.3.1 (Duds, 30/09): a barra lateral fica invisível; a rolagem continua (trackpad, Shift+roda, setas, arrasto) */
#pipe-rolo::-webkit-scrollbar{display:none}
@media (min-width:900px){
  #pipe-rolo .col-lista{max-height:var(--pipe-alt,none);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;padding:2px 2px 2px 0;margin:-2px 0}
  #pipe-rolo .col-lista.rola{padding-right:4px}
}
/* ---------- Aprovações: a fila numa faixa em cima, a peça e a decisão embaixo, em todos os estados ---------- */
.apv,.apv.com-cmp{grid-template-columns:minmax(0,1fr) 320px;grid-template-areas:"fila fila" "centro dec";gap:var(--e-4);align-items:start}
.apv .apv-fila,.apv.com-cmp .apv-fila{grid-area:fila;position:static;flex-direction:row;align-items:center;gap:var(--e-3);padding:var(--e-2);height:88px;min-height:0;max-height:none;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}
.apv .apv-fila-sel,.apv.com-cmp .apv-fila-sel{width:auto;min-width:190px;height:auto;min-height:var(--h-toque);align-self:stretch}
.apv .apv-lista,.apv.com-cmp .apv-lista{flex-direction:row;gap:var(--e-2);flex:1 1 auto;min-width:0}
.apv .apv-it,.apv.com-cmp .apv-it{width:280px;height:68px;flex:none;padding:6px var(--e-3);align-items:center;box-sizing:border-box}
.apv .apv-it .mm-img,.apv .apv-it .mm-ic,.apv.com-cmp .apv-it .mm-img,.apv.com-cmp .apv-it .mm-ic{width:44px;height:44px;border-radius:8px;align-self:center}
.apv .apv-it-t b{-webkit-line-clamp:2}
.apv .apv-vz{padding:0 var(--e-3);font-size:var(--t-ui);color:var(--ink2);white-space:nowrap}
.apv .apv-centro,.apv.com-cmp .apv-centro{grid-area:centro;align-items:flex-start}
.apv .apv-dec,.apv.com-cmp .apv-dec{grid-area:dec;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}
.apv-dec-vazia,html.sem-vidro .apv-dec-vazia{min-height:180px;background:transparent;box-shadow:inset 0 0 0 1.5px var(--line);opacity:.6}
.apv-centro.vazio .apv-nada{min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px}
.apv-c{gap:var(--e-3);align-items:stretch}
.apv-um{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:var(--e-4);width:100%}
.apv-um .m-wrap{flex:0 1 auto;width:auto;max-width:100%;min-width:min(100%,360px)}
.apv-um.com-vagas .vg{flex:1 1 300px;max-width:420px}
.apv-c:has(.apv-cmp-g) .moldura.m-ig,.apv-c:has(.apv-cmp-g) .moldura.m-li{max-width:100%}
.apv-cmp-v{max-width:100%;min-width:0}
.apv-cmp-vt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.apv-cmp-cab .vs-drop{max-width:100%;min-width:0}
.apv-cmp-cab .vs-drop .vs-drop-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* a decisão: todas as versões, uma por linha, nome inteiro; o botão diz só "Aprovar", com a versão por cima */
.apv-qual{flex-direction:column;align-items:stretch;gap:var(--e-2)}
.apv-qual-l{display:flex;flex-direction:column;gap:4px}
.apv-qual-v{display:flex;align-items:flex-start;gap:var(--e-2);width:100%;min-height:var(--h-btn);padding:7px 10px;border-radius:var(--r-item);text-align:left;font-size:var(--t-ui);line-height:1.35;color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line);background:var(--sup)}
.apv-qual-v:hover{color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.apv-qual-v.on{background:rgba(var(--tk-green-rgb),.1);box-shadow:inset 0 0 0 1.5px rgba(var(--tk-green-rgb),.6);color:var(--ink)}
.apv-qual-r{flex:none;width:14px;height:14px;margin-top:2px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line2);background:var(--sup)}
.apv-qual-v.on .apv-qual-r{background:var(--green);box-shadow:inset 0 0 0 3px var(--sup),inset 0 0 0 4.5px var(--green)}
.apv-qual-t{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
.apv-qual-v small{flex:none;font-size:var(--t-rotulo);color:var(--ink3);margin-top:3px}
.apv-sobre{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;margin:0;font-size:var(--t-ui);line-height:1.35;overflow-wrap:anywhere}
.apv-sobre b{font-weight:500;color:var(--ink)}
.apv-b{min-width:0;white-space:normal;overflow-wrap:anywhere}
/* as molduras: as bolinhas do carrossel na linha dos ícones; o nome da conta separado da legenda; o botão de tela cheia */
.m-acoes{position:relative}
.m-acoes .esp{display:flex;align-items:center;justify-content:center}
.m-acoes .m-dots-fora{position:static;margin:0;gap:4px}
.m-leg .m-leg-nome,.rt .m-leg-nome{font-weight:600;margin-right:5px}
.m-wrap{position:relative}
.m-tc{position:absolute;top:8px;right:8px;z-index:2;width:var(--h-ico);height:var(--h-ico);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.92);box-shadow:0 2px 10px -2px rgba(var(--tk-shadow-rgb),.3),inset 0 0 0 1px var(--line);color:var(--ink);opacity:.85;transition:opacity var(--dur-1) var(--ease)}
.m-tc:hover,.m-tc:focus-visible{opacity:1;background:#fff}
.m-tc .ic{width:15px;height:15px}
.m-ig-feed .m-cab .m-mais,.m-li .m-cab .m-mais{visibility:hidden}
.m-wrap.m-t-ig-reels .m-tc,.m-wrap.m-t-ig-stories .m-tc{top:12px;right:12px}
.m-livre .m-cont{right:auto;left:10px}
/* a tela cheia */
.tc{position:fixed;inset:0;width:100vw;height:100dvh;z-index:85;display:flex;flex-direction:column;background:rgba(11,11,12,.96);color:var(--tk-fog);color-scheme:dark}
html.com-tc{overflow:hidden}
.tc-topo{display:flex;align-items:center;gap:var(--e-3);height:var(--h-topo);padding:0 var(--e-3) 0 var(--e-4);flex:none}
.tc-t{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-ui);font-weight:500}
.tc-n{flex:none;font-size:var(--t-meta);color:rgba(var(--tk-fog-rgb),.7);font-variant-numeric:tabular-nums}
.tc-x{flex:none;width:var(--h-toque);height:var(--h-toque);border-radius:50%;display:grid;place-items:center;color:var(--tk-fog);background:rgba(var(--tk-white-rgb),.08)}
.tc-x:hover,.tc-x:focus-visible{background:rgba(var(--tk-white-rgb),.18)}
.tc-x .ic{width:18px;height:18px}
.tc-palco{flex:1 1 auto;min-height:0;display:grid;place-items:center;padding:0 72px 24px}
.tc-media{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;border-radius:4px;box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.tc-texto{max-width:640px;padding:var(--e-4);font-size:var(--t-item);line-height:1.6;background:rgba(var(--tk-white-rgb),.06);border-radius:var(--r-bloco)}
.tc-texto .lbl{color:rgba(var(--tk-fog-rgb),.6);margin-bottom:var(--e-2)}
.tc-pdf{color:var(--tk-fog)}
.tc-seta{position:absolute;top:50%;margin-top:-24px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(var(--tk-white-rgb),.1);color:var(--tk-fog)}
.tc-seta:hover,.tc-seta:focus-visible{background:rgba(var(--tk-white-rgb),.22)}
.tc-seta.esq{left:12px}.tc-seta.dir{right:12px}
.tc-seta[disabled]{opacity:.25}
.tc-seta .ic{width:22px;height:22px}
.tc :focus-visible{outline:2px solid var(--tk-fog);outline-offset:2px}
/* as vagas de imagem: as opções de cada slide, a escolhida marcada */
.vg{display:flex;flex-direction:column;gap:var(--e-2);width:100%;padding:var(--e-3);border-radius:var(--r-card);background:var(--vidro-chao);box-shadow:inset 0 0 0 1px var(--line)}
.vg-t{display:flex;align-items:center;gap:6px}
.vg-t .ic{width:14px;height:14px}
.vg-t .cont{margin-left:auto;font-size:var(--t-rotulo);color:var(--ink3);text-transform:none;letter-spacing:0}
.vg-l{display:flex;flex-direction:column;gap:6px;padding:6px;border-radius:var(--r-item);box-shadow:inset 0 0 0 1px transparent}
.vg-l.atual{background:rgba(var(--tk-ink-rgb),.04);box-shadow:inset 0 0 0 1px var(--line)}
.vg-n{display:flex;align-items:baseline;gap:6px;min-width:0;font-size:var(--t-meta)}
.vg-n b{font-weight:500;flex:none}
.vg-n small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink3);font-size:var(--t-rotulo)}
.vg-ops{display:flex;flex-wrap:wrap;gap:6px}
.vg-op{position:relative;width:56px;height:56px;border-radius:var(--r-campo);overflow:hidden;background:rgba(var(--tk-ink-rgb),.05);box-shadow:inset 0 0 0 1px var(--line);padding:0;flex:none}
.vg-op .mm-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.vg-op .mm-ic{width:100%;height:100%;border-radius:0}
.vg-op:hover:not([disabled]){box-shadow:inset 0 0 0 1.5px var(--ink)}
.vg-op.on{box-shadow:inset 0 0 0 2px var(--green)}
.vg-op[disabled]:not(.on){opacity:.55;cursor:default}
.vg-ok{position:absolute;right:3px;bottom:3px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:var(--tk-on-green)}
.vg-ok .ic{width:11px;height:11px;stroke-width:2.4}
.vg-fixa{font-size:var(--t-rotulo);color:var(--ink3);padding:0 6px}
@media (max-width:1180px) and (min-width:900px){.apv,.apv.com-cmp{grid-template-columns:minmax(0,1fr) 280px}}
@media (max-width:899px){
  .apv,.apv.com-cmp{grid-template-columns:minmax(0,1fr);grid-template-areas:none}
  .apv .apv-fila,.apv.com-cmp .apv-fila{display:none}
  .apv .apv-centro,.apv .apv-dec,.apv.com-cmp .apv-centro,.apv.com-cmp .apv-dec{grid-area:auto;position:static;max-height:none}
  .apv-dec-vazia{display:none}
  .apv-um{flex-direction:column;align-items:stretch}
  .apv-um.com-vagas .vg{max-width:none}
  .tc-palco{padding:0 12px 64px}
  .tc-seta{top:auto;bottom:10px;margin-top:0}
}
/* ---------- V5.3, revisão do Lince (30/09) ---------- */
/* 1: o cabeçalho da ficha abre a coluna do ícone para o logo largo; o nome não fica por baixo */
.f-cab{grid-template-columns:auto minmax(0,1fr)}
/* 4: nas Aprovações, a coluna da decisão fica à esquerda do botão da Nina (como o bloco da borda direita dos Painéis) */
@media (min-width:900px){.apv{padding-right:calc(var(--fab-folga) - 20px)}}
/* 5: na coluna estreita, a barra do LinkedIn fica só com os ícones */
.moldura.m-li{container-type:inline-size}
@container (max-width:470px){.m-reacoes .m-r-t{display:none}.m-reacoes span{padding:8px 14px}}
/* 6: no celular, o card da lista mostra só o logo principal e o logo largo tem teto menor; o título respira */
@media (max-width:899px){.pj .pj-logos .pj-logo.sec{display:none}.pj .pj-logo.l-larga{width:calc(var(--l-h) * min(var(--l-r,2), 2))}}
/* 10: "Aprovar a" sempre numa linha e a versão embaixo, com qualquer nome */
.apv-sobre{flex-direction:column;align-items:flex-start;gap:2px}
/* 13: as setas do quadro das peças ficam na margem, fora dos cards */
.pipe-seta{width:28px;height:28px;margin-top:-14px}
.pipe-seta .ic{width:15px;height:15px}
.pipe-seta.esq{left:-27px}.pipe-seta.dir{right:-27px}
/* a tela cheia: a imagem ocupa a altura do palco (a imagem menor que a tela crescia só até o próprio tamanho) */
.tc-palco img.tc-media,.tc-palco video.tc-media{height:calc(100dvh - var(--h-topo) - 24px);width:auto;max-width:100%;object-fit:contain}
@media (max-width:899px){.tc-palco img.tc-media,.tc-palco video.tc-media{height:calc(100dvh - var(--h-topo) - 64px)}}
/* 15: no celular, o rótulo comprido do campo quebra linha em vez de cortar */
@media (max-width:899px){.prop-k{white-space:normal;height:auto;min-height:34px;line-height:1.25;padding:6px 0}}

.mh-reserva{height:76px}
@media (max-width:899px){.mh-reserva{height:110px}}
/* V5.4 — alvo de toque de 44 px no celular sem mudar o desenho: a área sensível cresce por fora do botão (Lince, 02/10) */
@media (max-width:899px){
  .g-b,.perfil-m,.rs,.seg button,.btn:not(.apv-b),.fc.flt-cel,.apv-reprovar,.chat-mais,.ini-mais,.lnk,.mm-limpar,.chat-voltar,.voltar-proj{position:relative}
  .g-b::after,.top-ico::after,.perfil-m::after,.rs::after,.seg:not(.apv-qual-v) button::after,.btn:not(.apv-b)::after,.fc.flt-cel::after,.apv-reprovar::after,.chat-mais::after,.ini-mais::after,.lnk::after,.mm-limpar::after,.chat-voltar::after,.voltar-proj::after{content:"";position:absolute;inset:-9px}
}

/* V5.4 — quem só vê: o controle desabilitado não se desenha como ativo (Lince, perfis, 3) */
.seg button:disabled{cursor:default;color:var(--ink3)}
.seg button:disabled[aria-pressed=true]{background:none;color:var(--ink2);box-shadow:inset 0 0 0 1px var(--line2)}
/* celular: a faixa de texto "Você acompanha" repete o cabeçalho e cobria a legenda; sem botão, a barra de ações não existe (Lince, perfis, 1 e 2) */
@media (max-width:899px){
  #apv-so-ver{display:none}
  .apv-acoes:not(:has(.apv-b,.apv-reprovar)){display:none}
}

.menu.m-folha{max-height:calc(100dvh - 150px)}
.menu.m-folha .m-folha-pe{position:sticky;bottom:-10px;background:var(--sup);box-shadow:0 -8px 12px -8px rgba(var(--tk-shadow-rgb),.12);margin:0 -6px;padding:0 6px 10px;border-radius:0 0 18px 18px}
/* V5.4 (Lince, perfis 4): `.pn-c12 .pn-barra` (3 colunas) vencia `.pn-barra-c` (4): os chips de disciplina caíam numa linha própria e pareciam ser da pessoa de baixo */
@media (min-width:721px){.pn-c12 .pn-barra.pn-barra-c{grid-template-columns:minmax(0,180px) minmax(0,1fr) auto minmax(0,220px)}.pn-c12 .pn-barra.pn-barra-f{grid-template-columns:minmax(0,120px) minmax(0,1fr) 44px auto}}
/* V5.4 (Lince, geral 6): no celular "Reprovar" ganha forma de botão, como "Aprovar" e "Pedir ajuste" */
@media (max-width:899px){.apv-reprovar{height:40px;padding:0 16px;border-radius:12px;box-shadow:inset 0 0 0 1px rgba(var(--tk-red-rgb),.35);flex:0 0 auto}}
/* V5.4 (Lince, geral 5 e 12): o cabeçalho do comparativo quebra em duas linhas em vez de cortar "atual · de 1 ou…"; o rótulo da barra da Linha do tempo termina em reticências */
.apv-cmp-cab{flex-wrap:wrap;align-items:flex-start;padding-top:4px;padding-bottom:4px}
.apv-cmp-m{white-space:normal;overflow:visible;text-overflow:clip;flex:1 1 100%}
.tlp-bt{min-width:0;overflow:hidden;text-overflow:ellipsis}
/* V5.4 (pendente da V5.3, pedido B3): no celular o aviso "Tarefa criada…" não cobre o último item do menu aberto */
@media (max-width:899px){body:has(.menu) .toasts{opacity:0;pointer-events:none}}
