
/* Mesa de Luz (direção aprovada em 14/10): grafite e vidro em camadas, uma luz de fundo que diz como está o dia e um mapa plano.
   Cor: atenção (vence hoje ou atrasado) é vermelho, carmim com bordô; calmo é azul e verde; nada de laranja, âmbar, pêssego ou coral.
   Os nomes dos tokens do v4 continuam; os valores vêm da linguagem da Mesa de Luz (vision-final.md) */
:root {
  color-scheme: light;
  --canvas: 235 236 239; --surface: 250 250 251; --surface-2: 241 242 245; --line: 220 222 227;
  --ink: 22 24 29; --ink-2: 62 66 76; --ink-3: 86 91 101;
  --linha: 22 24 29; --linha-forca: .09;
  --primary: 22 24 29; --primary-hover: 50 54 62; --primary-fg: 255 255 255;
  --brand: 22 24 29; --brand-soft: 226 228 233;
  --pilula: 22 24 29; --pilula-tinta: 255 255 255;
  --positive: 29 120 84; --positive-fg: 20 96 64; --positive-soft: 222 239 230;
  --negative: 190 30 58; --negative-fg: 150 20 44; --negative-soft: 251 228 233;
  /* o segundo grau da atenção (vence hoje, espera alguém): um vermelho framboesa, da mesma família do carmim */
  --warning: 176 36 92; --warning-fg: 138 22 70; --warning-soft: 250 230 239;
  --info: 52 90 168; --info-fg: 40 72 146; --info-soft: 229 235 247;
  --chegada: 24 136 186;
  --calor-1: 136 141 151; --calor-2: 104 110 122; --calor-3: 70 76 88; --calor-4: 32 36 44;
  --fio: 255 255 255; --fio-forca: .95; --fio-forca-dock: .95;
  --vidro: 255 255 255; --v-frente: .7; --v-frente-cel: .76; --v-meio: .56; --v-fundo: .42; --v-flut: .8; --v-solido: .95; --flut: 255 255 255;
  --vidro-tinta: 255 255 255; --vidro-forca: .56;
  --vs-tinta: 255 255 255; --vs-forca: .42;
  --vf-tinta: 255 255 255; --vf-forca: .8;
  --folha-tinta: 250 250 251; --folha-forca: .95;
  --reflexo: 255 255 255; --reflexo-forca: .55; --reflexo-flut: .3; --reflexo-folha: .2;
  --refracao: 70 76 90; --refracao-base: .02; --refracao-forca: .02;
  --filtro-vidro: none;
  --filtro-frente: blur(24px) saturate(1.35);
  --filtro-flut: blur(28px) saturate(1.5);
  --filtro-folha: blur(18px);
  --filtro-dock: blur(28px) saturate(1.5);
  --dock-fundo: rgb(255 255 255 / .8);
  --sombra: 26 30 44;
  --sombra-frente: 0 34px 70px -28px rgb(26 30 44 / .32), 0 10px 24px -10px rgb(26 30 44 / .16);
  --sombra-flut: 0 18px 44px -18px rgb(26 30 44 / .3), 0 2px 6px rgb(26 30 44 / .06);
  --sombra-cartao: 0 1px 2px rgb(26 30 44 / .05), 0 10px 26px -14px rgb(26 30 44 / .16);
  --sombra-heroi: var(--sombra-frente);
  --cortina-fundo: rgb(235 236 239 / .42); --cortina-filtro: blur(6px);
  --prata-1: 132 144 168; --prata-1-forca: .2; --prata-2: 255 255 255; --prata-2-forca: .75;
  --halo-a: .6; --halo-b: .55; --heroi-luz: .2; --mapa-luz: .2;
  --palco-1: #f8f8fa; --palco-2: #e9eaef; --palco-3: #d8dbe2;
  --luz-forca: .72; --luz-forca-2: .56; --luz-at: .84; --luz-at-2: .68;
  --atencao-a: rgb(186 20 42); --atencao-b: rgb(96 8 28);
  --calma-a: rgb(110 190 156); --calma-b: rgb(126 160 226);
  --m-fundo: 244 245 247;
  --palco: radial-gradient(70% 60% at 12% 14%, rgb(from var(--luz-a) r g b / var(--mapa-luz)), transparent 70%), radial-gradient(60% 55% at 92% 92%, rgb(from var(--luz-b) r g b / var(--mapa-luz)), transparent 70%), radial-gradient(110% 90% at 50% 40%, rgb(var(--m-fundo) / .4), rgb(var(--m-fundo) / .78));
  --palco-solido: 244 245 247;
  --palco-doc: 212 214 219;
  /* o mapa: forma e cor andam juntas (cliente grafite, processo roxo, prazo carmim, empresa e órgão verde-azulado, pessoa azul, arquivo cinza) */
  --rede-cliente: 22 24 29; --rede-pessoa: 46 92 170; --rede-empresa: 14 116 128; --rede-processo: 104 72 168;
  --rede-arquivo: 108 114 126; --rede-prazo: 186 28 56; --rede-tarefa: 160 40 124;
  --rede-linha: 22 24 29; --rede-linha-forca: .2;
  --brilho-cliente: none; --halo-forca: .06;
  --marca-busca: 120 166 246; --marca-forca: .42; --marca-tinta: currentColor;
  --mono-1: 112 118 130; --mono-2: 70 75 86;
  /* uma cor fixa por pessoa do escritório */
  --p-livia: 116 56 196; --p-helena: 6 106 114; --p-bruno: 24 84 186; --p-caio: 62 62 196; --p-otavio: 20 108 64;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --canvas: 17 18 21; --surface: 30 31 36; --surface-2: 38 40 45; --line: 54 56 62;
    --ink: 243 244 246; --ink-2: 204 208 216; --ink-3: 184 189 198;
    --linha: 243 244 246; --linha-forca: .1;
    --primary: 240 241 244; --primary-hover: 255 255 255; --primary-fg: 17 18 21;
    --brand: 236 238 242; --brand-soft: 44 46 52;
    --pilula: 243 244 246; --pilula-tinta: 17 18 21;
    --positive: 108 190 150; --positive-fg: 150 214 182; --positive-soft: 26 48 39;
    --negative: 240 88 108; --negative-fg: 252 154 166; --negative-soft: 66 26 36;
    --warning: 236 104 150; --warning-fg: 248 170 200; --warning-soft: 62 26 44;
    --info: 132 162 226; --info-fg: 166 190 238; --info-soft: 31 39 62;
    --chegada: 110 196 232;
    --calor-1: 104 109 119; --calor-2: 140 145 156; --calor-3: 178 183 193; --calor-4: 228 231 236;
    --fio: 214 219 228; --fio-forca: .28; --fio-forca-dock: .4;
    --vidro: 255 255 255; --v-frente: .085; --v-frente-cel: .085; --v-meio: .055; --v-fundo: .035; --v-flut: .78; --v-solido: .94; --flut: 26 27 32;
    --vidro-tinta: 255 255 255; --vidro-forca: .055;
    --vs-tinta: 255 255 255; --vs-forca: .035;
    --vf-tinta: 26 27 32; --vf-forca: .78;
    --folha-tinta: 30 31 36; --folha-forca: .94;
    --reflexo-forca: .07; --reflexo-flut: .05; --reflexo-folha: .04;
    --refracao: 170 178 196; --refracao-base: 0; --refracao-forca: .02;
    --filtro-frente: blur(24px) saturate(1.25);
    --filtro-flut: blur(28px) saturate(1.2);
    --filtro-folha: blur(18px);
    --filtro-dock: blur(28px) saturate(1.2);
    --dock-fundo: rgb(26 27 32 / .78);
    --sombra: 0 0 0;
    --sombra-frente: 0 40px 80px -30px rgb(0 0 0 / .75), 0 12px 28px -12px rgb(0 0 0 / .5);
    --sombra-flut: 0 18px 44px -14px rgb(0 0 0 / .6);
    --sombra-cartao: 0 2px 10px rgb(0 0 0 / .26);
    --sombra-heroi: var(--sombra-frente);
    --cortina-fundo: rgb(0 0 0 / .32); --cortina-filtro: blur(10px) brightness(.6);
    --prata-1: 196 206 228; --prata-1-forca: .13; --prata-2: 150 160 182; --prata-2-forca: .1;
    --halo-a: .5; --halo-b: 0; --heroi-luz: .08; --mapa-luz: .07;
    --palco-1: #2a2c32; --palco-2: #19191d; --palco-3: #101114;
    --luz-forca: .15; --luz-forca-2: .11; --luz-at: .24; --luz-at-2: .2;
    --atencao-a: rgb(206 30 64); --atencao-b: rgb(150 18 56);
    --m-fundo: 20 21 25;
    --palco-solido: 24 25 29;
    --palco-doc: 11 12 14;
    --rede-cliente: 240 241 244; --rede-pessoa: 134 170 234; --rede-empresa: 98 196 206; --rede-processo: 182 156 238;
    --rede-arquivo: 158 164 176; --rede-prazo: 242 92 112; --rede-tarefa: 230 132 200;
    --rede-linha: 243 244 246; --rede-linha-forca: .15;
    --brilho-cliente: drop-shadow(0 0 7px rgb(220 226 238 / .32)); --halo-forca: .12;
    --marca-busca: 132 170 240; --marca-forca: .55; --marca-tinta: #fff;
    --p-livia: 222 186 255; --p-helena: 116 216 222; --p-bruno: 140 190 255; --p-caio: 176 176 255; --p-otavio: 126 216 162;
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --canvas: 17 18 21; --surface: 30 31 36; --surface-2: 38 40 45; --line: 54 56 62;
  --ink: 243 244 246; --ink-2: 204 208 216; --ink-3: 184 189 198;
  --linha: 243 244 246; --linha-forca: .1;
  --primary: 240 241 244; --primary-hover: 255 255 255; --primary-fg: 17 18 21;
  --brand: 236 238 242; --brand-soft: 44 46 52;
  --pilula: 243 244 246; --pilula-tinta: 17 18 21;
  --positive: 108 190 150; --positive-fg: 150 214 182; --positive-soft: 26 48 39;
  --negative: 240 88 108; --negative-fg: 252 154 166; --negative-soft: 66 26 36;
  --warning: 236 104 150; --warning-fg: 248 170 200; --warning-soft: 62 26 44;
  --info: 132 162 226; --info-fg: 166 190 238; --info-soft: 31 39 62;
  --chegada: 110 196 232;
  --calor-1: 104 109 119; --calor-2: 140 145 156; --calor-3: 178 183 193; --calor-4: 228 231 236;
  --fio: 214 219 228; --fio-forca: .28; --fio-forca-dock: .4;
  --vidro: 255 255 255; --v-frente: .085; --v-frente-cel: .085; --v-meio: .055; --v-fundo: .035; --v-flut: .78; --v-solido: .94; --flut: 26 27 32;
  --vidro-tinta: 255 255 255; --vidro-forca: .055;
  --vs-tinta: 255 255 255; --vs-forca: .035;
  --vf-tinta: 26 27 32; --vf-forca: .78;
  --folha-tinta: 30 31 36; --folha-forca: .94;
  --reflexo-forca: .07; --reflexo-flut: .05; --reflexo-folha: .04;
  --refracao: 170 178 196; --refracao-base: 0; --refracao-forca: .02;
  --filtro-frente: blur(24px) saturate(1.25);
  --filtro-flut: blur(28px) saturate(1.2);
  --filtro-folha: blur(18px);
  --filtro-dock: blur(28px) saturate(1.2);
  --dock-fundo: rgb(26 27 32 / .78);
  --sombra: 0 0 0;
  --sombra-frente: 0 40px 80px -30px rgb(0 0 0 / .75), 0 12px 28px -12px rgb(0 0 0 / .5);
  --sombra-flut: 0 18px 44px -14px rgb(0 0 0 / .6);
  --sombra-cartao: 0 2px 10px rgb(0 0 0 / .26);
  --sombra-heroi: var(--sombra-frente);
  --cortina-fundo: rgb(0 0 0 / .32); --cortina-filtro: blur(10px) brightness(.6);
  --prata-1: 196 206 228; --prata-1-forca: .13; --prata-2: 150 160 182; --prata-2-forca: .1;
  --halo-a: .5; --halo-b: 0; --heroi-luz: .08; --mapa-luz: .07;
  --palco-1: #2a2c32; --palco-2: #19191d; --palco-3: #101114;
  --luz-forca: .15; --luz-forca-2: .11; --luz-at: .24; --luz-at-2: .2;
  --atencao-a: rgb(206 30 64); --atencao-b: rgb(150 18 56);
  --m-fundo: 20 21 25;
  --palco-solido: 24 25 29;
  --palco-doc: 11 12 14;
  --rede-cliente: 240 241 244; --rede-pessoa: 134 170 234; --rede-empresa: 98 196 206; --rede-processo: 182 156 238;
  --rede-arquivo: 158 164 176; --rede-prazo: 242 92 112; --rede-tarefa: 230 132 200;
  --rede-linha: 243 244 246; --rede-linha-forca: .15;
  --brilho-cliente: drop-shadow(0 0 7px rgb(220 226 238 / .32)); --halo-forca: .12;
  --marca-busca: 132 170 240; --marca-forca: .55; --marca-tinta: #fff;
  --p-livia: 222 186 255; --p-helena: 116 216 222; --p-bruno: 140 190 255; --p-caio: 176 176 255; --p-otavio: 126 216 162;
}
/* destaque escolhido na legenda de cores (padrão: só cinza, como foi pedido; verde e azul são opções) */
:root[data-destaque="verde"] { --primary: 15 61 46; --primary-hover: 24 84 63; --primary-fg: 255 255 255; --brand: 29 99 75; --brand-soft: 224 236 230; }
:root[data-destaque="aco"] { --primary: 44 74 122; --primary-hover: 58 92 146; --primary-fg: 255 255 255; --brand: 46 84 148; --brand-soft: 226 233 245; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"])[data-destaque="verde"] { --primary: 46 114 88; --primary-hover: 56 132 102; --brand: 132 196 164; --brand-soft: 26 48 40; }
  :root:not([data-theme="light"])[data-destaque="aco"] { --primary: 64 102 160; --primary-hover: 78 118 178; --brand: 150 180 232; --brand-soft: 30 38 58; }
}
:root[data-theme="dark"][data-destaque="verde"] { --primary: 46 114 88; --primary-hover: 56 132 102; --brand: 132 196 164; --brand-soft: 26 48 40; }
:root[data-theme="dark"][data-destaque="aco"] { --primary: 64 102 160; --primary-hover: 78 118 178; --brand: 150 180 232; --brand-soft: 30 38 58; }
/* no só cinza o link tem a cor do texto: o sublinhado diz que dá para tocar */
:root:not([data-destaque]) .link { text-decoration: underline; text-underline-offset: 3px; }

/* Base */
[hidden] { display: none !important; }
*, *::before, *::after { box-sizing: border-box; }
/* o navegador põe 40 px à esquerda de todo dd: sem isto, o valor não começa junto do rótulo e transborda o quadro */
dd { margin: 0; }
body {
  margin: 0; min-height: 100vh; position: relative; isolation: isolate;
  background: rgb(var(--canvas)); color: rgb(var(--ink));
  font-family: Inter, "Segoe UI", system-ui, sans-serif; font-size: 15px; line-height: 1.45;
  font-feature-settings: "cv11", "ss01"; -webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent;
  overflow-x: clip;
}
body::before {
  content: ""; position: fixed; inset: -25%; z-index: -1; pointer-events: none;
  background-image: var(--aurora); background-size: var(--aurora-tam); background-position: var(--aurora-pos); background-repeat: no-repeat;
  will-change: transform, opacity;
  animation: aurora-deriva 37s ease-in-out infinite alternate, aurora-respira 53s ease-in-out infinite alternate;
}
body::after { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background-image: var(--fio-de-luz); }
@keyframes aurora-deriva { to { transform: translate3d(3.5%, 2.5%, 0) scale(1.12); } }
@keyframes aurora-respira { to { opacity: .68; } }
::selection { background: rgb(var(--brand) / .28); }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
h1, h2, h3, p { margin: 0; }
a { color: inherit; }
:focus-visible { outline: 2px solid rgb(var(--brand)); outline-offset: 2px; border-radius: 12px; }
* { scrollbar-width: thin; scrollbar-color: rgb(var(--ink) / .22) transparent; }
.ic { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.ic.p { width: 16px; height: 16px; stroke-width: 1.4; }
.ic.m { width: 14px; height: 14px; stroke-width: 1.6; }
.tnum { font-variant-numeric: tabular-nums; }
.nw { white-space: nowrap; }
.sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Matéria: as receitas do sistema de referência, uma regra por papel, tintas por token */
.vidro {
  background-color: rgb(var(--vidro-tinta) / var(--vidro-forca));
  background-image: linear-gradient(135deg, rgb(var(--reflexo) / var(--reflexo-forca)) 0%, transparent 38%, rgb(var(--refracao) / var(--refracao-base)) 100%);
  border: 1px solid rgb(var(--ink) / .1); border-top-color: rgb(var(--fio) / var(--fio-forca));
  -webkit-backdrop-filter: var(--filtro-vidro); backdrop-filter: var(--filtro-vidro);
}
.vidro-simples { background-color: rgb(var(--vs-tinta) / var(--vs-forca)); border: 1px solid rgb(var(--ink) / .1); }
.vidro-flutuante {
  background-color: rgb(var(--vf-tinta) / var(--vf-forca));
  background-image: linear-gradient(135deg, rgb(var(--reflexo) / var(--reflexo-flut)) 0%, transparent 34%, rgb(var(--refracao) / var(--refracao-forca)) 100%);
  border: 1px solid rgb(var(--ink) / .1); border-top-color: rgb(var(--fio) / var(--fio-forca));
  -webkit-backdrop-filter: var(--filtro-flut); backdrop-filter: var(--filtro-flut);
  box-shadow: var(--sombra-flut);
}
.vidro-dock { background-color: var(--dock-fundo); -webkit-backdrop-filter: var(--filtro-dock); backdrop-filter: var(--filtro-dock); border-top-color: rgb(var(--fio) / var(--fio-forca-dock)); }
.vidro-folha {
  background-color: rgb(var(--folha-tinta) / var(--folha-forca));
  background-image: linear-gradient(145deg, rgb(var(--reflexo) / var(--reflexo-folha)) 0%, transparent 38%, rgb(var(--refracao) / var(--refracao-forca)) 100%);
  border: 1px solid rgb(var(--ink) / .1); border-top-color: rgb(var(--fio) / var(--fio-forca));
  -webkit-backdrop-filter: var(--filtro-folha); backdrop-filter: var(--filtro-folha);
}
.cortina { background: var(--cortina-fundo); -webkit-backdrop-filter: var(--cortina-filtro); backdrop-filter: var(--cortina-filtro); }
@media (max-width: 768px) { .vidro-flutuante { --filtro-flut: blur(18px) saturate(1.5); } }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .vidro { background-color: rgb(var(--surface-2) / .92); }
  .vidro-flutuante, .vidro-dock { background-color: rgb(var(--surface-2) / .96); }
  .vidro-folha { background-color: rgb(var(--surface)); }
}
@media (prefers-reduced-transparency: reduce) {
  .vidro, .vidro-simples, .vidro-flutuante, .vidro-dock, .vidro-folha { background-color: rgb(var(--surface-2) / .97); background-image: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
}
.malha-prata {
  background-image:
    radial-gradient(120% 92% at 14% 6%, rgb(var(--prata-1) / var(--prata-1-forca)), transparent 58%),
    radial-gradient(105% 80% at 88% 18%, rgb(var(--prata-2) / var(--prata-2-forca)), transparent 62%),
    linear-gradient(158deg, rgb(var(--surface-2)) 0%, rgb(var(--surface)) 62%, rgb(var(--canvas)) 100%);
  border: 1px solid rgb(var(--ink) / .1); box-shadow: var(--sombra-heroi);
}
.malha-barro {
  background-image:
    radial-gradient(120% 92% at 15% 8%, rgb(var(--warning) / .18), transparent 58%),
    radial-gradient(105% 80% at 86% 16%, rgb(var(--negative) / .12), transparent 64%),
    linear-gradient(158deg, rgb(var(--surface-2)) 0%, rgb(var(--surface)) 62%, rgb(var(--canvas)) 100%);
  border: 1px solid rgb(var(--ink) / .1); box-shadow: var(--sombra-heroi);
}
.grao { position: relative; isolation: isolate; }
.grao::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: .055; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.numeral { font-family: Montserrat, Inter, system-ui, sans-serif; font-weight: 300; letter-spacing: -.035em; font-variant-numeric: tabular-nums; line-height: 1.25; }
.circulo-fino { display: inline-flex; width: 36px; height: 36px; flex: none; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid rgb(var(--ink) / .55); }

/* Tipografia e peças */
.titulo-pagina { font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 26px; line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; }
.pagina-linha { margin-top: 6px; font-size: 14px; color: rgb(var(--ink) / .8); max-width: 62ch; }
.pagina-cabeca { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 20px; margin-bottom: 20px; }
.rotulo { font-size: 11px; font-weight: 600; color: rgb(var(--ink) / .72); }
.cartao { border-radius: 30px; padding: 20px; box-shadow: var(--sombra-cartao); min-width: 0; }
.cartao-topo { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; min-height: 36px; }
.cartao-titulo { font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 16px; letter-spacing: -.01em; flex: 1; min-width: 0; }
.cartao-extra { font-size: 13px; color: rgb(var(--ink) / .75); white-space: nowrap; }

.botao {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px;
  font-size: 14px; font-weight: 600; white-space: nowrap; user-select: none;
  transition: transform .1s ease-out, background-color .15s, border-color .15s, box-shadow .15s;
}
.botao:active { transform: scale(.97); }
.botao.principal { background: rgb(var(--primary)); color: rgb(var(--primary-fg)); box-shadow: 0 6px 16px rgb(var(--sombra) / .16); }
@media (hover: hover) { .botao.principal:hover { background: rgb(var(--primary-hover)); transform: translateY(-1px); } .botao.principal:active { transform: scale(.97); } }
.botao.secundario { background: rgb(var(--vs-tinta) / var(--vs-forca)); border: 1px solid rgb(var(--ink-3)); color: rgb(var(--ink)); }
@media (hover: hover) { .botao.secundario:hover { border-color: rgb(var(--ink)); } }
.botao.fantasma { color: rgb(var(--ink) / .85); padding: 0 12px; font-weight: 500; }
@media (hover: hover) { .botao.fantasma:hover { background: rgb(var(--ink) / .07); } }
.botao.pequeno { min-height: 36px; padding: 0 14px; font-size: 13px; }
.botao.grande { min-height: 52px; font-size: 16px; padding: 0 24px; }
.botao.bloco { width: 100%; }
.botao[disabled] { opacity: .45; pointer-events: none; }
.link { color: rgb(var(--brand)); font-weight: 600; font-size: 14px; position: relative; text-align: left; }
.link::after { content: ""; position: absolute; inset: -12px -6px; }

.selo { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; border: 1px solid rgb(var(--ink) / .1); background: rgb(var(--ink) / .06); color: rgb(var(--ink) / .85); }
.selo.tom-neg { background: rgb(var(--negative-soft)); color: rgb(var(--negative-fg)); border-color: rgb(var(--negative) / .3); }
.selo.tom-alerta { background: rgb(var(--warning-soft)); color: rgb(var(--warning-fg)); border-color: rgb(var(--warning) / .35); }
.selo.tom-bom { background: rgb(var(--positive-soft)); color: rgb(var(--positive-fg)); border-color: rgb(var(--positive) / .3); }
.selo.tom-info { background: rgb(var(--info-soft)); color: rgb(var(--info-fg)); border-color: rgb(var(--info) / .3); }
.selo.tom-tinta { background: rgb(var(--ink)); color: rgb(var(--canvas)); border-color: transparent; }
/* dentro de uma linha da lista o selo quebra a linha em vez de empurrar a tela para o lado */
.linha-texto .selo, .processo-cartao .selo { white-space: normal; max-width: 100%; border-radius: 12px; line-height: 1.3; align-items: flex-start; }
.linha-texto .selo .ic, .processo-cartao .selo .ic { margin-top: 1px; }
.variacao { display: inline-flex; align-items: center; gap: 3px; padding: 2px 8px 2px 6px; border-radius: 999px; font-size: 11px; font-weight: 600; white-space: nowrap; background: rgb(var(--ink) / .07); color: rgb(var(--ink) / .8); }
.variacao.tom-bom { background: rgb(var(--positive-soft)); color: rgb(var(--positive-fg)); border: 1px solid rgb(var(--positive) / .25); }

.disco { display: inline-flex; width: 40px; height: 40px; flex: none; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid rgb(var(--ink) / .1); background: rgb(var(--ink) / .06); color: rgb(var(--ink) / .8); }
.disco.tom-neg { background: rgb(var(--negative-soft)); color: rgb(var(--negative-fg)); border-color: rgb(var(--negative) / .25); }
.disco.tom-alerta { background: rgb(var(--warning-soft)); color: rgb(var(--warning-fg)); border-color: rgb(var(--warning) / .3); }
/* cliente: monograma em disco de grafite, como os contatos da Apple */
.disco.tom-marca { background: linear-gradient(180deg, rgb(var(--mono-1)), rgb(var(--mono-2))); color: #fff; border-color: transparent; box-shadow: inset 0 1px 0 rgb(255 255 255 / .18); }
.disco.tom-info { background: rgb(var(--info-soft)); color: rgb(var(--info-fg)); border-color: rgb(var(--info) / .25); }
.disco.iniciais { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 13px; letter-spacing: .02em; }

.lista { display: flex; flex-direction: column; gap: 2px; margin: 0 -8px; padding: 0; list-style: none; }
.linha {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 56px; padding: 8px; border-radius: 16px; text-align: left;
  transition: background-color .12s, transform .1s;
}
button.linha:active, a.linha:active { background: rgb(var(--ink) / .09); }
@media (hover: hover) { button.linha:hover { background: rgb(var(--ink) / .05); } }
.linha-texto { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.linha-texto b { font-weight: 600; font-size: 14.5px; line-height: 1.3; }
.linha-texto small { font-size: 12.5px; color: rgb(var(--ink) / .78); line-height: 1.35; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.linha .seta { color: rgb(var(--ink) / .5); }
.linha.feita .linha-texto b { text-decoration: line-through; text-decoration-color: rgb(var(--ink) / .4); color: rgb(var(--ink) / .6); }
.bloco-data { width: 44px; flex: none; display: flex; flex-direction: column; align-items: center; line-height: 1.05; padding: 4px 0; border-radius: 12px; }
.bloco-data small { font-size: 11px; font-weight: 600; color: rgb(var(--ink) / .7); }
.bloco-data b { font-family: Montserrat, sans-serif; font-weight: 300; font-size: 22px; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.bloco-data.hoje { background: rgb(var(--ink)); color: rgb(var(--canvas)); }
.bloco-data.hoje small { color: rgb(var(--canvas) / .8); }
.bloco-data.atrasado { background: rgb(var(--negative-soft)); color: rgb(var(--negative-fg)); }
.bloco-data.atrasado small { color: rgb(var(--negative-fg)); }

.segmento { position: relative; display: inline-flex; padding: 3px; border-radius: 999px; gap: 2px; }
.segmento button { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 500; color: rgb(var(--ink) / .8); transition: color .2s; }
.segmento button[aria-checked="true"] { color: rgb(var(--canvas)); font-weight: 600; }
.pilula { position: absolute; top: 0; left: 0; z-index: 0; border-radius: 999px; background: rgb(var(--ink)); box-shadow: 0 2px 8px rgb(var(--sombra) / .18); pointer-events: none; }
.pilula.anda { transition: transform .3s cubic-bezier(.22, 1, .36, 1); }
/* quatro escolhas em partes iguais, na largura toda: o número (ou o ícone) em cima e o nome embaixo, para caber no celular */
.segmento.quatro { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); width: 100%; }
.segmento.quatro button { flex-direction: column; justify-content: center; gap: 1px; min-height: 52px; padding: 5px 0; font-size: 11px; line-height: 1.2; text-align: center; white-space: nowrap; }
.segmento.quatro.so-texto button { min-height: 44px; font-size: 12.5px; }
.segmento.quatro button b { font-family: Montserrat, Inter, sans-serif; font-size: 17px; font-weight: 600; line-height: 1.15; font-variant-numeric: tabular-nums; }
.segmento.quatro button .ic { width: 18px; height: 18px; }

/* Miniatura: a primeira página de verdade, em escala */
.miniatura { position: relative; width: 100%; aspect-ratio: 595 / 842; overflow: hidden; border-radius: 6px; background: #fff; box-shadow: 0 1px 2px rgb(0 0 0 / .2), 0 6px 16px rgb(var(--sombra) / .14); flex: none; }
.miniatura > .doc { position: absolute; top: 0; left: 0; transform: scale(var(--s, .2)); transform-origin: 0 0; pointer-events: none; }
/* a página em miniatura vai numa camada própria: a letra reduzida fica em tons de cinza, sem a franja colorida da suavização */
.miniatura > .doc { will-change: transform; }
.miniatura.lendo::after {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 34%;
  background: linear-gradient(180deg, transparent, rgb(var(--brand) / .2) 70%, rgb(var(--brand) / .8) 100%);
  animation: varrer 1.25s cubic-bezier(.45, 0, .55, 1) infinite;
}
@keyframes varrer { from { transform: translateY(-100%); } to { transform: translateY(300%); } }

/* Casca */
.casca { display: grid; grid-template-columns: minmax(0, 1fr); min-height: 100vh; }
.lateral { display: none; }
.coluna { min-width: 0; display: flex; flex-direction: column; }
.topo { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 30; padding: 12px 16px 0; }
.topo-capsula { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 6px 8px 6px 18px; border-radius: 30px; }
.marca { font-family: Montserrat, sans-serif; font-weight: 800; font-size: 18px; line-height: 1; white-space: nowrap; }
.marca i { font-style: normal; color: rgb(var(--brand)); letter-spacing: 0; }
.topo-escritorio { display: none; min-width: 0; }
.topo-escritorio b { display: block; font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topo-escritorio small { font-size: 12px; color: rgb(var(--ink) / .75); }
/* no celular a busca também mora na cápsula de cima, a um toque, como no computador */
.topo-busca { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; min-height: 44px; padding: 0 14px; border-radius: 999px; color: rgb(var(--ink) / .75); font-size: 14px; transition: border-color .15s; }
.topo-busca .longo { display: none; }
@media (hover: hover) { .topo-busca:hover { border-color: rgb(var(--ink) / .3); } }
body[data-tela="buscar"] .topo-busca { visibility: hidden; }
.topo .espaco { display: none; }
.botao-pessoa { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px; flex: none; }
.botao-pessoa .disco { width: 38px; height: 38px; background: rgb(var(--ink)); color: rgb(var(--canvas)); border-color: transparent; }
.botao-pessoa:active { transform: scale(.95); }
main { width: 100%; max-width: 1240px; margin: 0 auto; padding: 22px 16px calc(120px + env(safe-area-inset-bottom, 0px)); }
/* a barra do celular: quatro abas na pílula e o Adicionar num círculo à parte, do mesmo vidro */
.dock { position: fixed; left: 12px; right: 12px; bottom: 0; z-index: 40; padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)); pointer-events: none; display: flex; justify-content: center; align-items: center; gap: 10px; }
.dock ul { pointer-events: auto; position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; flex: 0 1 330px; min-width: 0; margin: 0; padding: 6px; list-style: none; border-radius: 999px; }
.dock-ponta { pointer-events: auto; flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 66px; height: 66px; border-radius: 999px; border: 1px solid rgb(var(--ink) / .1); font-size: 11px; font-weight: 600; color: rgb(var(--ink)); box-shadow: var(--sombra-flut); transition: transform .1s, background-color .2s, color .2s; }
.dock-ponta .ic { width: 23px; height: 23px; stroke-width: 1.7; }
.dock-ponta:active { transform: scale(.94); }
.dock-ponta[aria-current="page"] { background: rgb(var(--ink)); color: rgb(var(--canvas)); }
.dock a { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 54px; border-radius: 999px; font-size: 11px; font-weight: 500; text-decoration: none; color: rgb(var(--ink) / .85); transition: color .2s, transform .1s; }
.dock a:active { transform: scale(.95); }
.dock a .ic { width: 22px; height: 22px; transition: transform .25s; }
.dock a[aria-current="page"] { color: rgb(var(--canvas)); font-weight: 600; }
.dock a[aria-current="page"] .ic { transform: scale(1.08); }
@media (max-width: 959px) {
  .topo-capsula { --filtro-flut: blur(28px) saturate(1.4); }
  .dock ul, .dock-ponta { --filtro-dock: blur(28px) saturate(1.3); --dock-fundo: rgb(214 217 223 / .6); }
  :root[data-theme="dark"] :is(.dock ul, .dock-ponta) { --filtro-dock: blur(28px) saturate(1.05) brightness(.5); --dock-fundo: rgb(255 255 255 / .08); }
}
@media (max-width: 959px) and (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) :is(.dock ul, .dock-ponta) { --filtro-dock: blur(28px) saturate(1.05) brightness(.5); --dock-fundo: rgb(255 255 255 / .08); }
}
@media (min-width: 960px) {
  .casca { grid-template-columns: 272px minmax(0, 1fr); }
  .lateral { display: block; position: sticky; top: 0; height: 100vh; padding: 12px 0 12px 12px; }
  .dock { display: none; }
  .topo { padding: 12px 20px 0; }
  .topo-capsula { padding: 8px 10px 8px 22px; min-height: 64px; }
  .topo .marca, .topo .botao-pessoa { display: none; }
  .topo-escritorio { display: block; }
  .topo-busca { gap: 10px; max-width: 420px; margin: 0 auto; padding: 0 16px; }
  .topo-busca .curto { display: none; } .topo-busca .longo { display: inline; }
  main { padding: 26px 32px 48px; }
  .titulo-pagina { font-size: 30px; }
}
.lateral-painel { height: 100%; border-radius: 30px; display: flex; flex-direction: column; padding: 22px 14px 14px; overflow: hidden; }
.lateral-marca { padding: 0 10px 18px; flex: none; }
/* a lista de partes rola por dentro; a pessoa fica sempre embaixo */
.lateral-rolagem { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; margin: 0 -14px; padding: 0 14px 10px; }
.lateral nav ul + .lateral-grupo { margin-top: 16px; }
.lateral-marca small { display: block; margin-top: 8px; font-size: 12px; color: rgb(var(--ink) / .75); }
.lateral-grupo { margin: 14px 10px 6px; }
.lateral nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.lateral nav a, .lateral .atalho { display: flex; align-items: center; gap: 11px; min-height: 42px; padding: 0 12px; border-radius: 999px; font-size: 14px; font-weight: 500; color: rgb(var(--ink) / .82); text-decoration: none; transition: background-color .15s, transform .15s; width: 100%; text-align: left; }
/* no mouse a lista é compacta, como a lateral do Mac: as partes, os grupos e os mais abertos cabem numa tela de 800 px sem rolar */
@media (pointer: fine) {
  .lateral nav a, .lateral .atalho { min-height: 32px; font-size: 13.5px; }
  .lateral-grupo { margin: 12px 10px 4px; }
  .lateral nav ul + .lateral-grupo { margin-top: 12px; }
  .lateral-marca { padding-bottom: 14px; }
  .lateral .lateral-rodape .linha { min-height: 46px; }
}
@media (pointer: fine) and (max-height: 820px) { .lateral nav a, .lateral .atalho { min-height: 30px; } .lateral-grupo { margin: 10px 10px 3px; } .lateral nav ul + .lateral-grupo { margin-top: 10px; } }
@media (hover: hover) { .lateral nav a:hover, .lateral .atalho:hover { background: rgb(var(--ink) / .07); transform: translateX(2px); } }
.lateral nav a[aria-current="page"] { background: rgb(var(--ink)); color: rgb(var(--canvas)); font-weight: 600; box-shadow: 0 2px 8px rgb(var(--sombra) / .18); animation: surgir .25s cubic-bezier(.16, 1, .3, 1); }
.lateral .atalho span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lateral .ponto-cor { width: 8px; height: 8px; border-radius: 99px; background: rgb(var(--rede-cliente)); flex: none; margin: 0 6px; }
.lateral-rodape { flex: none; margin-top: auto; padding-top: 10px; border-top: 1px solid rgb(var(--ink) / .1); }
.lateral-rodape .linha { min-height: 52px; }
.lateral-rodape .linha-texto b { font-size: 13.5px; }
.lateral-rodape .disco { background: rgb(var(--ink)); color: rgb(var(--canvas)); border-color: transparent; }
@keyframes surgir { from { transform: scale(.96); opacity: .6; } to { transform: none; opacity: 1; } }

.tela.entrando { animation: tela-entra .38s cubic-bezier(.16, 1, .3, 1) backwards; }
.tela.no-lugar .cascata > *, .tela.no-lugar .col-hoje > * { animation: none; }
@keyframes tela-entra { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.cascata > * { animation: stagger .45s cubic-bezier(.16, 1, .3, 1) backwards; }
.cascata > *:nth-child(2) { animation-delay: .06s; } .cascata > *:nth-child(3) { animation-delay: .12s; } .cascata > *:nth-child(4) { animation-delay: .18s; }
.cascata > *:nth-child(5) { animation-delay: .24s; } .cascata > *:nth-child(6) { animation-delay: .3s; } .cascata > *:nth-child(n+7) { animation-delay: .36s; }
@keyframes stagger { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.voltar-barra { margin: -6px 0 10px -8px; }

/* Entrar */
.tela-entrar { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 40px 16px; position: relative; }
.entrar-coluna { width: 100%; max-width: 420px; }
.entrar-marca { text-align: center; margin-bottom: 32px; }
.entrar-marca .marca { font-size: 44px; }
.entrar-marca p { margin-top: 14px; font-size: 14px; color: rgb(var(--ink) / .8); }
.cartao-entrar { border-radius: 30px; padding: 26px 24px; display: flex; flex-direction: column; gap: 18px; box-shadow: var(--sombra-cartao); }
@media (min-width: 640px) { .cartao-entrar { padding: 32px; } }
.campo-grupo { display: flex; flex-direction: column; gap: 8px; }
.campo-grupo label, .campo-rotulo { font-size: 11px; font-weight: 600; color: rgb(var(--ink) / .8); }
.campo-linha { display: flex; justify-content: space-between; align-items: baseline; }
.campo { width: 100%; min-height: 50px; padding: 0 16px; border-radius: 20px; font-size: 16px; background: rgb(var(--vs-tinta) / var(--vs-forca)); border: 1px solid rgb(var(--ink-3)); outline: none; transition: border-color .15s, box-shadow .15s; }
.campo:focus { border-color: rgb(var(--brand)); box-shadow: 0 0 0 4px rgb(var(--brand) / .3); }
.campo-senha { position: relative; }
.campo-senha .campo { padding-right: 112px; }
.campo-senha button { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 500; color: rgb(var(--ink) / .8); }
.entrar-tema { position: absolute; top: calc(16px + env(safe-area-inset-top, 0px)); right: 16px; }

/* Hoje */
.grade-hoje { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.heroi { border-radius: 30px; padding: 20px; min-width: 0; }
.heroi > * { position: relative; z-index: 1; }
.num-principal { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 6px 14px; margin: 2px 0 14px; }
.num-principal .numeral { font-size: 64px; line-height: 1; }
.num-principal .num-rotulo { font-size: 15px; color: rgb(var(--ink) / .85); padding-bottom: 8px; }
.num-principal .variacao { margin-bottom: 10px; }
.num-principal .num-rotulo b { font-weight: 600; color: rgb(var(--negative-fg)); }
/* o que não é prazo fica com rótulo próprio, para não parecer a divisão do número grande */
.tambem { padding: 14px 0 12px; border-top: 1px solid rgb(var(--ink) / .1); }
.numeros { display: flex; flex-wrap: wrap; gap: 2px 28px; margin: 4px 0 0; }
.numeros > span { display: inline-flex; align-items: baseline; gap: 8px; font-size: 15px; color: rgb(var(--ink) / .85); }
.numeros .numeral { font-size: 32px; line-height: 1.1; color: rgb(var(--ink)); }
.caixa-grafico { border-radius: 20px; background: rgb(var(--surface)); padding: 12px 12px 10px; }
.leitura { min-height: 22px; font-size: 13px; line-height: 22px; color: rgb(var(--ink) / .8); margin-bottom: 6px; }
.leitura b { font-weight: 600; color: rgb(var(--ink)); }
.mapa { display: grid; grid-template-columns: 74px repeat(7, minmax(0, 1fr)); gap: 4px; align-items: center; touch-action: pan-y; user-select: none; border-radius: 10px; cursor: crosshair; }
.mapa-dia { font-size: 11px; text-align: center; color: rgb(var(--ink) / .72); line-height: 1.2; padding-bottom: 2px; }
.mapa-dia b { display: block; font-weight: 600; font-variant-numeric: tabular-nums; color: rgb(var(--ink) / .9); }
.mapa-dia.hoje b { display: block; width: fit-content; margin: 0 auto; min-width: 22px; text-align: center; border-radius: 99px; background: rgb(var(--ink)); color: rgb(var(--canvas)); padding: 0 4px; }
.mapa-rot { font-size: 12px; color: rgb(var(--ink) / .82); white-space: nowrap; }
.celula { height: 26px; border-radius: 7px; box-shadow: inset 0 0 0 1px rgb(var(--ink) / .12); transition: box-shadow .12s; }
.celula.n1 { background: rgb(var(--calor-1)); box-shadow: none; } .celula.n2 { background: rgb(var(--calor-2)); box-shadow: none; }
.celula.n3 { background: rgb(var(--calor-3)); box-shadow: none; } .celula.n4 { background: rgb(var(--calor-4)); box-shadow: none; }
.celula.foco { box-shadow: 0 0 0 2px rgb(var(--ink)); }
.mapa-escala { display: flex; justify-content: flex-end; align-items: center; gap: 5px; margin-top: 8px; font-size: 11.5px; color: rgb(var(--ink) / .75); }
.mapa-escala i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; }
.mapa-escala span + i { margin-left: 7px; }
.atencao { border-radius: 30px; padding: 20px; min-width: 0; }
.atencao > * { position: relative; z-index: 1; }
.tudo-em-dia { padding: 10px 0 4px; font-size: 14px; color: rgb(var(--ink) / .8); }
.faixa-arquivos { display: grid; grid-auto-flow: column; grid-auto-columns: 132px; gap: 14px; overflow-x: auto; padding: 4px 4px 10px; margin: 0 -4px; scroll-snap-type: x mandatory; }
.tile-arquivo { display: flex; flex-direction: column; gap: 8px; text-align: left; scroll-snap-align: start; border-radius: 10px; }
.tile-arquivo b { font-size: 13px; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tile-arquivo small { font-size: 12px; color: rgb(var(--ink) / .75); margin-top: -4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tile-arquivo .miniatura { transition: transform .2s cubic-bezier(.16, 1, .3, 1), box-shadow .2s; }
@media (hover: hover) { .tile-arquivo:hover .miniatura { transform: translateY(-3px); box-shadow: 0 2px 4px rgb(0 0 0 / .2), 0 14px 28px rgb(var(--sombra) / .2); } }
.tile-arquivo:active .miniatura { transform: scale(.97); }
.check { display: inline-flex; width: 26px; height: 26px; flex: none; align-items: center; justify-content: center; border-radius: 9px; border: 1.5px solid rgb(var(--ink-3)); color: transparent; transition: background-color .15s, border-color .15s, color .15s; }
.linha.feita .check { background: rgb(var(--primary)); border-color: rgb(var(--primary)); color: rgb(var(--primary-fg)); }
.check-alvo { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; margin: -8px -4px -8px -8px; flex: none; }
button.linha-texto { text-align: left; align-self: stretch; justify-content: center; border-radius: 12px; }
@media (hover: hover) { button.linha-texto:hover b { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgb(var(--ink) / .3); } }
/* arquivos que esperam: a primeira página e a pergunta, com a resposta ali mesmo */
.lista-guardar { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.guardar-linha { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 14px; align-items: start; padding: 12px 0; }
.guardar-linha:first-child { padding-top: 2px; }
.guardar-linha + .guardar-linha { border-top: 1px solid rgb(var(--ink) / .08); }
.guardar-linha > button { display: block; border-radius: 6px; }
.guardar-linha > button .miniatura { transition: transform .2s cubic-bezier(.16, 1, .3, 1); }
@media (hover: hover) { .guardar-linha > button:hover .miniatura { transform: translateY(-2px); } }
.guardar-linha > button:active .miniatura { transform: scale(.97); }
.guardar-texto b, .guardar-abrir { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.3; }
.guardar-abrir { position: relative; text-align: left; border-radius: 6px; }
.guardar-abrir::after { content: ""; position: absolute; inset: -10px -4px; }
@media (hover: hover) { .guardar-abrir:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgb(var(--ink) / .3); } }
.guardar-texto small { display: block; margin-top: 3px; font-size: 13px; line-height: 1.4; color: rgb(var(--ink) / .8); }
.guardar-texto .acoes-item { margin-top: 10px; }
/* no celular as colunas somem e os cartões seguem a ordem: precisa de você, semana, prazos, audiências, tarefas, arquivos */
.col-hoje { display: contents; }
@media (max-width: 959px) { .cascata .col-hoje > * { animation: stagger .45s cubic-bezier(.16, 1, .3, 1) .2s backwards; } }
@media (max-width: 959px) { .a-atencao { order: -1; } }
@media (min-width: 960px) {
  .grade-hoje { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 18px; }
  .a-heroi { grid-column: span 8; } .a-atencao { grid-column: span 4; }
  /* duas colunas independentes: o que tem data à esquerda, o que fazer à direita; nenhum cartão estica com vazio dentro */
  .col-hoje { display: flex; flex-direction: column; gap: 18px; min-width: 0; align-self: start; }
  .col-esq { grid-column: span 7; } .col-dir { grid-column: span 5; }
  .heroi, .atencao, .cartao { padding: 24px; }
  .num-principal .numeral { font-size: 72px; }
  .numeros .numeral { font-size: 36px; }
  .faixa-arquivos { grid-auto-flow: row; grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); grid-auto-columns: auto; overflow: visible; }
}

/* Cérebro */
.legenda { display: flex; flex-wrap: wrap; gap: 4px 14px; list-style: none; margin: 0 0 12px; padding: 0 2px; }
.legenda li { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; line-height: 20px; color: rgb(var(--ink) / .8); white-space: nowrap; }
.ponto-tipo { width: 10px; height: 10px; border-radius: 99px; flex: none; }
.t-cliente { --cor: var(--rede-cliente); } .t-pessoa { --cor: var(--rede-pessoa); } .t-empresa { --cor: var(--rede-empresa); }
.t-processo { --cor: var(--rede-processo); } .t-arquivo { --cor: var(--rede-arquivo); } .t-prazo { --cor: var(--rede-prazo); } .t-tarefa { --cor: var(--rede-tarefa); }
.ponto-tipo { background: rgb(var(--cor)); }
.palco { position: relative; height: max(420px, calc(100vh - 330px)); border-radius: 30px; overflow: hidden; background: var(--palco); border: 1px solid rgb(var(--ink) / .1); box-shadow: var(--sombra-cartao); }
@media (min-width: 960px) { .palco { height: max(480px, calc(100vh - 282px)); } }
.palco svg { display: block; width: 100%; height: 100%; touch-action: none; }
.palco-ferramentas { position: absolute; top: 12px; left: 12px; display: flex; gap: 8px; }
.palco-ferramentas .botao { min-height: 40px; background-color: rgb(var(--palco-solido) / .82); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.palco-dica { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); font-size: 12.5px; color: rgb(var(--ink) / .8); text-align: center; width: max-content; max-width: calc(100% - 24px); padding: 6px 14px; border-radius: 999px; background: rgb(var(--palco-solido) / .82); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); pointer-events: none; transition: opacity .2s; }
.cartao-no { position: absolute; left: 10px; right: 10px; bottom: 10px; max-height: 52%; overflow-y: auto; overscroll-behavior: contain; border-radius: 26px; padding: 14px 16px 12px; animation: sobe-cartao .38s cubic-bezier(.16, 1, .3, 1); }
@media (min-width: 720px) { .cartao-no { left: auto; right: 14px; top: 14px; bottom: auto; width: 340px; max-height: calc(100% - 28px); padding: 16px 16px 14px; } }
@keyframes sobe-cartao { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
.cartao-no-cabeca { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.cartao-no-cabeca .rotulo { flex: 1; }
.cartao-no h3 { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 18px; line-height: 1.25; letter-spacing: -.01em; }
.cartao-no .detalhe { margin-top: 4px; font-size: 13px; color: rgb(var(--ink) / .8); }
.cartao-no .lista { margin-top: 10px; }
.cartao-no .linha { min-height: 44px; padding: 6px 8px; }
.cartao-no .linha-texto b { font-size: 13.5px; font-weight: 500; }
.cartao-no-acoes { display: flex; gap: 8px; margin-top: 12px; }
.cartao-no-acoes .botao { flex: 1; }
@media (min-width: 720px) { .cartao-no-acoes .botao { flex: none; } }
.cartao-no .rotulo-lista { margin: 14px 0 0; }
.rede .aresta { stroke: rgb(var(--rede-linha) / var(--rede-linha-forca)); stroke-width: 1; transition: opacity .2s, stroke .2s; }
.rede .aresta.acesa { stroke: rgb(var(--ink) / .5); stroke-width: 1.4; }
.rede .aresta.longe { opacity: 0 !important; }
.rede .no.fora { opacity: 0 !important; pointer-events: none; }
.rede { animation: esmaecer .45s ease both; }
.rede .aresta.nova { stroke: rgb(var(--brand)); stroke-width: 1.8; stroke-dasharray: 120; stroke-dashoffset: 120; animation: desenhar-linha 1.1s .15s cubic-bezier(.16, 1, .3, 1) forwards; }
@keyframes desenhar-linha { to { stroke-dashoffset: 0; } }
.rede .no { cursor: pointer; transition: opacity .2s; outline: none; }
.rede .no-disco { fill: rgb(var(--cor)); stroke: rgb(var(--palco-solido)); stroke-width: 1.5; transition: transform .2s cubic-bezier(.16, 1, .3, 1); }
.rede .no.t-cliente .no-disco { stroke: rgb(var(--cor) / .35); stroke-width: 5; paint-order: stroke; filter: var(--brilho-cliente); }
.rede .no-toque { fill: transparent; }
.rede .no-anel { fill: none; stroke: rgb(var(--ink)); stroke-width: 2; opacity: 0; }
.rede .no.escolhido .no-anel { opacity: 1; }
.rede .no.novo .no-anel { opacity: 1; stroke: rgb(var(--brand)); animation: pulsar 1.6s ease-out 3; transform-box: fill-box; transform-origin: center; }
@keyframes pulsar { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(2.6); opacity: 0; } }
@media (hover: hover) { .rede .no:hover .no-disco { transform: scale(1.35); } }
.rede .no:focus-visible .no-anel { opacity: 1; stroke: rgb(var(--brand)); }
.rede .rotulo-no { fill: rgb(var(--ink) / .88); font-family: Inter, sans-serif; font-weight: 500; paint-order: stroke; stroke: rgb(var(--palco-solido) / .96); stroke-width: 4px; stroke-linejoin: round; pointer-events: none; transition: opacity .2s; text-anchor: middle; }
.rede .rotulo-no.t-cliente { fill: rgb(var(--ink)); font-family: Montserrat, sans-serif; font-weight: 600; }
.rede.focado .no:not(.vizinho) { opacity: .14; }
.rede.focado .rotulo-no:not(.vizinho) { opacity: 0; }
.rede.focado .aresta:not(.acesa) { opacity: .1; }
.rede .halo circle { transition: opacity .3s; }
.rede.focado .halo circle { opacity: .35; }
.rede .rotulo-no.oculto { opacity: 0 !important; }
/* título e "Ver em lista" na mesma linha; a frase do que é o cérebro ocupa a largura toda embaixo */
.cabeca-cerebro { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 12px; margin-bottom: 14px; }
.cabeca-cerebro .pagina-linha { grid-column: 1 / -1; }
@media (max-width: 719px) {
  .legenda { gap: 2px 12px; } .legenda li { font-size: 12px; }
  .cartao-no { max-height: 46%; }
  .cartao-no h3 { font-size: 16px; }
  .cartao-no .detalhe { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
.lista-rede { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
/* no computador, os cartões correm em duas colunas, como alvenaria: cada um logo embaixo do de cima, sem vão; a leitura desce a primeira coluna e depois a segunda */
@media (min-width: 960px) { .lista-rede { display: block; columns: 2 300px; column-gap: 16px; } .lista-rede > * { break-inside: avoid; margin-bottom: 16px; } .lista-rede > :last-child { margin-bottom: 0; } .lista.duas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; } }
.lista-rede .rotulo { margin: 14px 0 4px; }
.lista-rede .rotulo:first-of-type { margin-top: 0; }

/* Adicionar */
.soltar { position: relative; border-radius: 30px; padding: 30px 20px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 10px; transition: transform .2s, box-shadow .2s; }
.soltar::before { content: ""; position: absolute; inset: 10px; border-radius: 22px; border: 1.5px dashed rgb(var(--ink) / .28); pointer-events: none; transition: border-color .2s; }
.soltar.sobre { transform: scale(1.01); }
.soltar.sobre::before { border-color: rgb(var(--brand)); background: rgb(var(--brand) / .06); }
.soltar-arte { width: 64px; height: 64px; border-radius: 999px; display: flex; align-items: center; justify-content: center; background: rgb(var(--ink) / .06); color: rgb(var(--ink) / .85); border: 1px solid rgb(var(--ink) / .12); margin-bottom: 4px; }
.soltar-arte .ic { width: 28px; height: 28px; }
.soltar h2 { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 19px; }
.soltar p { font-size: 13.5px; color: rgb(var(--ink) / .8); max-width: 44ch; margin-bottom: 8px; }
.soltar-botoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; width: 100%; }
.soltar.compacto { flex-direction: row; flex-wrap: wrap; justify-content: center; padding: 18px 22px; gap: 10px 16px; }
.soltar.compacto .soltar-arte { width: 40px; height: 40px; margin: 0; }
.soltar.compacto .soltar-arte .ic { width: 20px; height: 20px; }
.soltar.compacto h2 { font-size: 15px; }
.soltar.compacto .soltar-botoes { width: auto; }
.escolher { border-radius: 30px; padding: 20px; display: flex; flex-direction: column; gap: 14px; }
.escolher p { font-size: 14px; color: rgb(var(--ink) / .85); }
.escolher .soltar-botoes .botao { flex: 1 1 0; }
.escolher.compacto { padding: 8px; border-radius: 999px; }
.fila-titulo { display: flex; align-items: baseline; gap: 10px; margin: 26px 2px 12px; }
.fila-titulo h2 { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 17px; }
.fila-titulo span { font-size: 13px; color: rgb(var(--ink) / .75); }
.fila { display: flex; flex-direction: column; gap: 14px; }
@media (min-width: 1100px) { .fila { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }
.item-fila { border-radius: 26px; padding: 14px; display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 14px; align-items: start; animation: stagger .45s cubic-bezier(.16, 1, .3, 1) both; }
@media (min-width: 640px) { .item-fila { grid-template-columns: 112px minmax(0, 1fr); padding: 16px; gap: 18px; } }
.ver-maior { display: flex; flex-direction: column; align-items: center; gap: 7px; width: 100%; font-size: 12px; font-weight: 600; color: rgb(var(--ink) / .8); border-radius: 8px; }
.ver-maior span { display: inline-flex; align-items: center; gap: 4px; min-height: 24px; }
.ver-maior .miniatura { transition: transform .2s cubic-bezier(.16, 1, .3, 1), box-shadow .2s; }
@media (hover: hover) { .ver-maior:hover .miniatura { transform: translateY(-2px); box-shadow: 0 2px 4px rgb(0 0 0 / .2), 0 12px 24px rgb(var(--sombra) / .2); } .ver-maior:hover { color: rgb(var(--ink)); } }
.ver-maior:active .miniatura { transform: scale(.97); }
.pergunta small { display: block; margin-top: 2px; font-size: 12.5px; color: rgb(var(--ink) / .75); font-variant-numeric: tabular-nums; }
.elo { list-style: none; margin: 8px 0 2px; padding: 0; }
.elo li { position: relative; padding: 0 0 10px 20px; font-size: 13.5px; line-height: 1.35; }
.elo li:last-child { padding-bottom: 2px; }
.elo li:not(:last-child)::after { content: ""; position: absolute; left: 4.25px; top: 14px; bottom: -4px; width: 1.5px; background: rgb(var(--ink) / .25); }
.elo li:nth-last-child(2)::after { background: rgb(var(--brand)); transform-origin: top; animation: crescer .7s .15s cubic-bezier(.16, 1, .3, 1) both; }
.elo li.novo { font-weight: 600; }
.elo .ponto-tipo { position: absolute; left: 0; top: 4px; z-index: 1; }
.elo li.novo .ponto-tipo { animation: pulso-elo 1.6s .5s ease-out 3; }
@keyframes crescer { from { transform: scaleY(0); } }
@keyframes pulso-elo { 0% { box-shadow: 0 0 0 0 rgb(var(--brand) / .6); } 100% { box-shadow: 0 0 0 10px rgb(var(--brand) / 0); } }
.item-fila .nome-arquivo { font-weight: 600; font-size: 14.5px; word-break: break-all; }
.item-fila .meta { font-size: 12.5px; color: rgb(var(--ink) / .75); margin-top: 2px; }
.estado-leitura { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 13.5px; color: rgb(var(--ink) / .85); }
.giro { width: 16px; height: 16px; border-radius: 99px; border: 2px solid rgb(var(--brand) / .25); border-top-color: rgb(var(--brand)); animation: girar .8s linear infinite; flex: none; }
@keyframes girar { to { transform: rotate(360deg); } }
.pergunta { margin-top: 12px; font-size: 15px; line-height: 1.5; }
.pergunta b { font-weight: 600; }
.motivo { margin-top: 6px; font-size: 12.5px; color: rgb(var(--ink) / .78); display: flex; gap: 6px; align-items: flex-start; }
.motivo .ic { margin-top: 1px; color: rgb(var(--brand)); }
.acoes-item { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
/* na coluna estreita do celular o botão longo quebra a linha em vez de passar da borda */
.acoes-item .botao { white-space: normal; max-width: 100%; padding-top: 8px; padding-bottom: 8px; line-height: 1.25; text-align: left; }
.resultado { margin-top: 12px; display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; animation: stagger .4s cubic-bezier(.16, 1, .3, 1) both; }
.resultado .disco { width: 32px; height: 32px; }
.resultado-acoes { display: flex; flex-wrap: wrap; gap: 4px; margin: 8px 0 0 -12px; }
.resultado > div { min-width: 0; flex: 1; }
.guardado-titulo { display: inline-flex; align-items: center; gap: 6px; color: rgb(var(--ink)); }
.guardado-titulo .ic { color: rgb(var(--positive)); }
.mini-rede { height: 300px; border-radius: 20px; background: var(--palco); border: 1px solid rgb(var(--ink) / .08); overflow: hidden; }
.mini-rede svg { width: 100%; height: 100%; display: block; }

/* Arquivo aberto */
.de-quem { display: flex; flex-wrap: nowrap; align-items: center; gap: 2px; margin: -6px 0 6px -8px; min-width: 0; }
.de-quem > .botao { flex: none; }
.caminho-arquivo { display: flex; align-items: center; gap: 2px; min-width: 0; font-size: 13.5px; }
.caminho-arquivo button { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 6px; border-radius: 10px; color: rgb(var(--ink) / .85); font-weight: 500; min-width: 0; flex: 0 1 auto; }
.caminho-arquivo button + .ic + button { flex: none; }
.caminho-arquivo button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.caminho-arquivo > .ic { color: rgb(var(--ink) / .45); }
@media (hover: hover) { .caminho-arquivo button:hover { background: rgb(var(--ink) / .06); color: rgb(var(--ink)); } }
.caminho-arquivo .sem-pasta { padding: 0 6px; color: rgb(var(--ink) / .75); white-space: nowrap; }
.chip { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 0 13px 0 10px; border-radius: 999px; font-size: 13px; font-weight: 500; max-width: 100%; }
.chip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (hover: hover) { button.chip:hover { border-color: rgb(var(--ink) / .3); } }
.arquivo-titulo { display: flex; flex-direction: column; gap: 10px; }
.arquivo-titulo .titulo-pagina { font-size: 22px; }
@media (min-width: 960px) { .arquivo-titulo { flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 20px; } .arquivo-titulo .titulo-pagina { font-size: 30px; } }
.arquivo-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 959px) { .arquivo-acoes .botao { min-height: 38px; padding: 0 14px; font-size: 13px; } }
.pergunta-arquivo { border-radius: 26px; padding: 16px 18px; margin-top: 14px; }
.pergunta-arquivo .pergunta { margin-top: 0; }
.pergunta-arquivo .acoes-item { margin-top: 12px; }
.achados { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; border-radius: 22px; padding: 5px 5px 5px 14px; margin: 14px 0 0; font-size: 13.5px; }
.achados .texto { flex: 1 1 100%; display: flex; gap: 8px; align-items: center; }
@media (min-width: 640px) { .achados .texto { flex: 1 1 auto; } }
.achados .botao:first-of-type { margin-left: auto; }
.achados mark { background: rgb(var(--marca-busca)); color: #1b1b1b; padding: 0 4px; border-radius: 4px; font-weight: 600; }
.leitor { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 14px; }
@media (min-width: 960px) { .leitor { grid-template-columns: 116px minmax(0, 1fr); } }
.leitor-miniaturas { display: none; }
@media (min-width: 960px) { .leitor-miniaturas { display: flex; flex-direction: column; gap: 14px; max-height: max(480px, calc(100vh - 300px)); overflow-y: auto; padding: 4px 6px 4px 2px; } }
.leitor-miniaturas button { display: flex; flex-direction: column; gap: 6px; align-items: center; font-size: 12px; color: rgb(var(--ink) / .75); border-radius: 8px; padding: 3px; }
.leitor-miniaturas button[aria-current="true"] { color: rgb(var(--ink)); font-weight: 600; }
.leitor-miniaturas button[aria-current="true"] .miniatura { box-shadow: 0 0 0 2.5px rgb(var(--ink)), 0 6px 16px rgb(var(--sombra) / .18); }
/* a barra de página e tamanho fica embaixo do papel, fora da área que rola: nunca por cima do texto */
.palco-doc-caixa { position: relative; display: flex; flex-direction: column; border-radius: 30px; overflow: hidden; background: rgb(var(--palco-doc)); border: 1px solid rgb(var(--ink) / .1); height: max(460px, calc(100vh - 300px)); }
@media (min-width: 960px) { .palco-doc-caixa { height: max(480px, calc(100vh - 272px)); } }
.palco-doc { position: relative; flex: 1 1 auto; min-height: 0; overflow: auto; overscroll-behavior: contain; touch-action: pan-x pan-y; }
.pagina-caixa { width: calc(595px * var(--s)); height: calc(842px * var(--s)); margin: 16px auto; position: relative; box-shadow: 0 2px 4px rgb(0 0 0 / .25), 0 18px 40px rgb(0 0 0 / .28); }
.pagina-caixa > .doc { transform: scale(var(--s)); transform-origin: 0 0; }
.pagina-caixa.vem-direita { animation: vem-d .32s cubic-bezier(.16, 1, .3, 1); } .pagina-caixa.vem-esquerda { animation: vem-e .32s cubic-bezier(.16, 1, .3, 1); }
@keyframes vem-d { from { transform: translateX(34px); opacity: .2; } to { transform: none; opacity: 1; } }
@keyframes vem-e { from { transform: translateX(-34px); opacity: .2; } to { transform: none; opacity: 1; } }
.leitor-barra { flex: none; align-self: center; margin: 10px 0 12px; display: flex; align-items: center; gap: 2px; padding: 5px; border-radius: 999px; z-index: 2; }
/* sobre a página branca o vidro claro some: a barra leva o cinza do tema quase opaco */
.leitor-barra.vidro-flutuante { background-color: rgb(var(--surface-2) / .9); background-image: none; border-color: rgb(var(--ink) / .14); }
.leitor-barra button { display: flex; flex-direction: column; align-items: center; gap: 1px; min-width: 48px; padding: 0 3px; min-height: 48px; justify-content: center; border-radius: 999px; font-size: 10.5px; font-weight: 500; color: rgb(var(--ink) / .88); }
.leitor-barra button:active { background: rgb(var(--ink) / .1); }
@media (hover: hover) { .leitor-barra button:hover { background: rgb(var(--ink) / .07); } }
.leitor-barra button[disabled] { opacity: .35; pointer-events: none; }
.leitor-barra .contador { font-size: 13px; font-weight: 600; padding: 0 2px; white-space: nowrap; text-align: center; min-width: 46px; line-height: 1.15; }
@media (min-width: 640px) { .leitor-barra button { min-width: 60px; } .leitor-barra .contador { min-width: 60px; padding: 0 6px; } }
.leitor-barra .contador small { display: block; font-size: 10.5px; font-weight: 500; color: rgb(var(--ink) / .75); }
.leitor-barra .sep { width: 1px; height: 28px; background: rgb(var(--ink) / .14); margin: 0 4px; }
/* no celular o leitor ocupa o lugar do dock: a barra de página e tamanho fica sempre à vista, no alcance do polegar */
@media (max-width: 959px) {
  body[data-tela="arquivo"] .dock { display: none; }
  body[data-tela="arquivo"] main { padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)); }
  .leitor-barra { position: fixed; left: 50%; transform: translateX(-50%); margin: 0; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); z-index: 40; }
}

/* Buscar */
.campo-busca { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 8px 0 18px; border-radius: 999px; border-color: rgb(var(--ink-3)); transition: border-color .15s, box-shadow .15s; }
.campo-busca:focus-within { border-color: rgb(var(--brand)); box-shadow: 0 0 0 4px rgb(var(--brand) / .25); }
.campo-busca input { flex: 1; min-width: 0; border: 0; background: none; outline: none; font-size: 17px; min-height: 52px; }
.campo-busca input::placeholder { color: rgb(var(--ink) / .62); }
.campo-busca input::-webkit-search-cancel-button { display: none; }
.campo-busca.pequeno { min-height: 48px; } .campo-busca.pequeno input { font-size: 16px; min-height: 44px; }
.recentes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.recentes .chip { min-height: 40px; }
.resumo-busca { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 20px 0 14px; }
.resumo-busca p { font-size: 14px; color: rgb(var(--ink) / .85); }
.resumo-busca p b { color: rgb(var(--ink)); }
.grade-busca { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1040px) { .grade-busca { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: start; } }
.grupo-titulo { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.grupo-titulo h2 { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 16px; flex: 1; }
.grupo-titulo .conta { font-size: 13px; color: rgb(var(--ink) / .75); }
.achado-doc { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; align-items: start; padding: 10px 8px; border-radius: 18px; text-align: left; width: 100%; }
@media (hover: hover) { .achado-doc:hover { background: rgb(var(--ink) / .05); } }
.achado-doc:active { background: rgb(var(--ink) / .09); }
.achado-doc b { font-size: 14.5px; font-weight: 600; display: block; }
.achado-doc .onde { font-size: 12.5px; color: rgb(var(--ink) / .78); display: block; margin-top: 1px; }
.achado-doc .onde .selo { padding: 1px 8px; font-size: 11.5px; }
.achado-doc q { display: block; margin-top: 7px; font-size: 13px; line-height: 1.5; color: rgb(var(--ink) / .88); quotes: none; font-family: Tinos, Georgia, serif; font-size: 14px; }
/* no escuro o marca-texto fica cheio, para ler bem em cima do azul */
.achado-doc q mark, .linha-texto mark { background: rgb(var(--marca-busca) / var(--marca-forca)); color: var(--marca-tinta); border-radius: 3px; padding: 0 2px; box-shadow: inset 0 -1px 0 rgb(var(--warning) / .6); }
.vazio-busca { text-align: center; padding: 36px 20px; border-radius: 30px; margin-top: 18px; }
.vazio-busca h2 { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 17px; margin: 12px 0 6px; }
.vazio-busca p { font-size: 13.5px; color: rgb(var(--ink) / .8); }

/* Fichas */
.grade-ficha { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.col-ficha { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
@media (max-width: 959px) { .grade-ficha > .col-ficha { display: contents; } .o0 { order: 0; } .o1 { order: 1; } .o2 { order: 2; } .o3 { order: 3; } .o4 { order: 4; } .o5 { order: 5; } .o6 { order: 6; } }
/* as grades do conteúdo passam a duas colunas em 1280 px, onde as duas cabem: em 960 px a lateral deixa 688 px para o conteúdo, e a coluna
   da direita ficava com uns 250 px; entre 960 e 1279 px o conteúdo fica em uma coluna, como no tablet, com a lateral */
@media (min-width: 1280px) { .grade-ficha { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 18px; align-items: start; } .grade-ficha > .inteira { grid-column: 1 / -1; } }
.cabeca-ficha { border-radius: 30px; padding: 22px 20px 20px; }
.cabeca-ficha > * { position: relative; z-index: 1; }
.cabeca-ficha .quem { display: flex; gap: 14px; align-items: center; }
.avatar { width: 56px; height: 56px; border-radius: 999px; display: flex; align-items: center; justify-content: center; flex: none; background: rgb(var(--ink)); color: rgb(var(--canvas)); font-family: Montserrat, sans-serif; font-weight: 600; font-size: 18px; letter-spacing: .02em; }
.cabeca-ficha h1 { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 23px; line-height: 1.2; letter-spacing: -.02em; text-wrap: balance; }
.cabeca-ficha .sob { margin-top: 4px; font-size: 13.5px; color: rgb(var(--ink) / .8); }
.fixos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 8px; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid rgb(var(--ink) / .1); }
@media (min-width: 560px) { .fixos { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.fixos dt { font-size: 11px; font-weight: 600; color: rgb(var(--ink) / .75); }
.fixos dd { margin: 2px 0 0; }
.fixos .numeral { font-size: 30px; line-height: 1.15; }
.ficha-acoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
@media (min-width: 960px) { .cabeca-ficha { padding: 26px 26px 24px; } .cabeca-ficha h1 { font-size: 28px; } .avatar { width: 64px; height: 64px; font-size: 20px; } }
.grade-pecas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 12px; }
@media (min-width: 640px) { .grade-pecas { grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); } }
.caminho { display: flex; flex-direction: column; gap: 0; margin-top: 4px; }
.caminho-passo { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 12px; align-items: center; position: relative; padding: 5px 0; }
.caminho-passo:not(:last-child)::after { content: ""; position: absolute; left: 17.5px; top: 38px; bottom: -8px; width: 1px; background: rgb(var(--ink) / .25); }
.caminho-passo .circulo-fino { background: rgb(var(--canvas) / .3); }
.caminho-passo b { font-size: 14px; font-weight: 600; display: block; }
.caminho-passo small { font-size: 12.5px; color: rgb(var(--ink) / .78); }
.processo-cartao { display: block; width: 100%; text-align: left; padding: 14px; border-radius: 20px; background: rgb(var(--ink) / .045); border: 1px solid rgb(var(--ink) / .08); transition: background-color .15s, transform .1s; }
@media (hover: hover) { .processo-cartao:hover { background: rgb(var(--ink) / .075); } }
.processo-cartao:active { transform: scale(.99); }
.processo-cartao .cnj { font-size: 13px; color: rgb(var(--ink) / .8); letter-spacing: .01em; }
.processo-cartao b { display: block; font-size: 15px; font-weight: 600; margin-top: 3px; line-height: 1.3; }
.processo-cartao .pe { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; margin-top: 10px; font-size: 12.5px; color: rgb(var(--ink) / .78); }
.pilha-processos { display: flex; flex-direction: column; gap: 10px; }
.cnj-grande { font-size: 19px; font-weight: 500; letter-spacing: .01em; word-break: break-word; }
.capa-fatos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin-top: 16px; padding-top: 16px; border-top: 1px solid rgb(var(--ink) / .1); }
@media (min-width: 640px) { .capa-fatos { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.capa-fatos dt { font-size: 11px; font-weight: 600; color: rgb(var(--ink) / .75); }
.capa-fatos dd { margin: 3px 0 0; font-size: 14px; font-weight: 500; }
.prazo-grande { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 22px; letter-spacing: -.015em; margin-top: 2px; }
.prazo-quando { display: flex; align-items: baseline; gap: 10px; margin-top: 8px; }
.prazo-quando .numeral { font-size: 44px; line-height: 1; }
.prazo-origem { margin-top: 12px; font-size: 13.5px; line-height: 1.5; color: rgb(var(--ink) / .85); }
.prazo-conferido { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 12.5px; color: rgb(var(--ink) / .78); }
.prazo-vazio { font-family: Montserrat, sans-serif; font-weight: 500; font-size: 17px; line-height: 1.35; margin-top: 2px; }
.partes .linha { min-height: 52px; }
.papel { font-size: 11px; font-weight: 600; color: rgb(var(--ink) / .72); }

/* Folha, avisos */
.folha-camada { position: fixed; inset: 0; z-index: 60; display: flex; align-items: flex-end; justify-content: center; }
.folha-camada .cortina { position: absolute; inset: 0; animation: esmaecer .25s ease both; }
@keyframes esmaecer { from { opacity: 0; } }
.folha { position: relative; width: 100%; max-height: 88vh; display: flex; flex-direction: column; border-radius: 30px 30px 0 0; padding: 8px 18px calc(18px + env(safe-area-inset-bottom, 0px)); animation: folha-sobe .42s cubic-bezier(.16, 1, .3, 1) both; touch-action: none; }
.folha-alca { width: 40px; height: 5px; border-radius: 99px; background: rgb(var(--ink) / .3); margin: 2px auto 8px; flex: none; }
.folha-cabeca { display: flex; align-items: center; gap: 10px; padding: 4px 0 10px; flex: none; }
.folha-cabeca h2 { flex: 1; font-family: Montserrat, sans-serif; font-weight: 600; font-size: 18px; }
/* a folga do corpo é a mesma da .linha e da .lista (8 px): a linha de ponta a ponta não perde o canto */
.folha-corpo { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; touch-action: pan-y; margin: 0 -8px; padding: 0 8px; }
@keyframes folha-sobe { from { transform: translateY(100%); } to { transform: none; } }
@media (min-width: 720px) {
  .folha-camada { align-items: center; padding: 24px; }
  .folha { max-width: 560px; border-radius: 30px; padding: 18px 22px 22px; animation: folha-cresce .3s cubic-bezier(.16, 1, .3, 1) both; }
  .folha-alca { display: none; }
  @keyframes folha-cresce { from { opacity: 0; transform: scale(.96) translateY(8px); } to { opacity: 1; transform: none; } }
}
.folha .mini-rede { height: min(420px, 52vh); }
/* a lista na folha vai até a borda do corpo (6px), sem os 8px do cartão: 2px a mais davam rolagem para o lado no celular */
.folha-corpo .lista { margin-left: -6px; margin-right: -6px; }
.folha-pe { flex: none; display: flex; flex-wrap: wrap; gap: 8px; padding-top: 14px; }
.folha-pe .botao { flex: 1 1 auto; }
.folha:focus { outline: none; }
.form-folha { display: flex; flex-direction: column; gap: 16px; padding: 2px 0 4px; }
select.campo { appearance: none; -webkit-appearance: none; padding-right: 42px; text-overflow: ellipsis; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23808591' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 18px; }
select.campo option { color: #16181d; background: #fff; }
.opcoes { display: flex; flex-wrap: wrap; gap: 8px; }
.opcao { position: relative; display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; font-size: 13.5px; font-weight: 500; border: 1px solid rgb(var(--ink-3)); cursor: pointer; transition: background-color .15s, color .15s, border-color .15s; }
.opcao input { position: absolute; opacity: 0; pointer-events: none; }
/* a opção dentro de um campo não herda o rótulo em maiúsculas do campo */
.campo-grupo .opcao { font-size: 13.5px; font-weight: 500; letter-spacing: normal; text-transform: none; color: rgb(var(--ink)); }
.trib .rotulo .selo { text-transform: none; letter-spacing: normal; }
.opcao:has(input:checked), .opcao[aria-checked="true"], .opcao[aria-pressed="true"] { background: rgb(var(--ink)); color: rgb(var(--canvas)); border-color: rgb(var(--ink)); font-weight: 600; }
.opcao:has(input:focus-visible) { outline: 2px solid rgb(var(--brand)); outline-offset: 2px; }
.campo-dica { font-size: 12.5px; color: rgb(var(--ink) / .75); }
.menu-quem { display: flex; align-items: center; gap: 12px; padding: 4px 0 18px; }
.menu-quem .disco { width: 48px; height: 48px; font-size: 15px; background: rgb(var(--ink)); color: rgb(var(--canvas)); border-color: transparent; }
.menu-quem b { display: block; font-size: 16px; font-weight: 600; }
.menu-quem small { font-size: 13px; color: rgb(var(--ink) / .78); }
.menu-bloco { padding: 16px 0; border-top: 1px solid rgb(var(--ink) / .1); display: flex; flex-direction: column; gap: 10px; }
.menu-bloco .segmento { align-self: flex-start; }
.pessoa-sob { font-size: 14px; color: rgb(var(--ink) / .85); }
.pessoa-sob small { display: block; margin-top: 2px; font-size: 13px; color: rgb(var(--ink) / .72); }
.contato-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 16px 0 6px; }
.contato-grade .botao { min-height: 56px; flex-direction: column; gap: 2px; border-radius: 20px; white-space: normal; line-height: 1.2; }
.contato-grade .botao small { font-size: 11.5px; font-weight: 500; color: inherit; opacity: .85; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
/* Legenda de cores (só no protótipo) */
.amostras { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 520px) { .amostras { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.amostras li { display: grid; grid-template-columns: 38px minmax(0, 1fr); column-gap: 10px; align-items: center; min-width: 0; }
.amostras i { width: 38px; height: 38px; border-radius: 12px; box-shadow: inset 0 0 0 1px rgb(var(--ink) / .14); }
.amostras b { font-size: 13px; font-weight: 600; line-height: 1.25; }
/* o cartão como aparece na tela: o vidro por cima do fundo, com o fio de luz no alto */
.amostras i { position: relative; overflow: hidden; }
.amostra-vidro { background: rgb(var(--canvas)); }
.amostra-vidro::after { content: ""; position: absolute; inset: 8px 6px 6px 8px; border-radius: 7px; background: linear-gradient(135deg, rgb(var(--reflexo) / var(--reflexo-forca)), transparent 60%), rgb(var(--vidro-tinta) / var(--vidro-forca)); border: 1px solid rgb(var(--ink) / .16); border-top-color: rgb(var(--fio) / .9); box-shadow: 0 2px 5px rgb(var(--sombra) / .18); }
.amostra-mapa { background: linear-gradient(90deg, rgb(var(--calor-1)) 0 25%, rgb(var(--calor-2)) 25% 50%, rgb(var(--calor-3)) 50% 75%, rgb(var(--calor-4)) 75%); }
.destaques { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.destaques button { display: flex; flex-direction: column; align-items: center; gap: 8px; min-height: 92px; padding: 12px 6px 10px; border-radius: 20px; border: 1px solid rgb(var(--ink) / .12); font-size: 12.5px; font-weight: 500; line-height: 1.25; text-align: center; color: rgb(var(--ink) / .85); transition: border-color .15s, background-color .15s; }
.destaques button[aria-checked="true"] { border-color: rgb(var(--ink)); box-shadow: inset 0 0 0 1px rgb(var(--ink)); color: rgb(var(--ink)); font-weight: 600; background: rgb(var(--ink) / .04); }
.destaques button:active { transform: scale(.97); }
.destaques .amostra-botao { display: inline-flex; align-items: center; justify-content: center; height: 30px; width: 100%; max-width: 92px; border-radius: 999px; font-size: 11.5px; font-weight: 600; box-shadow: 0 4px 12px rgb(var(--sombra) / .18); }
.paleta-nota { font-size: 13px; color: rgb(var(--ink) / .8); }
.entrar-tema { display: flex; gap: 8px; }
#avisos { position: fixed; left: 16px; right: 16px; bottom: calc(92px + env(safe-area-inset-bottom, 0px)); z-index: 70; display: flex; flex-direction: column; align-items: center; gap: 8px; pointer-events: none; }
@media (min-width: 960px) { #avisos { left: auto; right: 24px; bottom: 24px; align-items: flex-end; } }
.aviso { pointer-events: auto; display: flex; align-items: center; gap: 12px; max-width: 440px; padding: 10px 10px 10px 16px; border-radius: 20px; font-size: 14px; animation: stagger .35s cubic-bezier(.16, 1, .3, 1) both; }
.aviso .ic { color: rgb(var(--brand)); }
.aviso .botao { min-height: 36px; }
.aviso.saindo { opacity: 0; transform: translateY(8px); transition: opacity .2s, transform .2s; pointer-events: none; }
.veu-tema { position: fixed; inset: 0; z-index: 100; pointer-events: none; transition: opacity .26s ease; }
/* no dedo, todo botão tem pelo menos 44 px de altura; o botão grande, 56 */
@media (pointer: coarse) {
  .botao.pequeno, .aviso .botao, .arquivo-acoes .botao, .segmento button, .chip, .recentes .chip, .opcao, .palco-ferramentas .botao, .caminho-arquivo button, .campo-senha button { min-height: 44px; }
  .botao.grande { min-height: 56px; }
}
.vazio-lista { font-size: 13.5px; color: rgb(var(--ink) / .8); padding: 4px 0 2px; }
/* aviso com dois botões: no celular os botões descem para a linha de baixo */
.aviso { flex-wrap: wrap; }
.aviso-texto { flex: 1 1 160px; min-width: 0; }
@media (max-width: 719px) { .aviso.longo .aviso-texto { flex-basis: calc(100% - 40px); } }
/* o texto muito longo ocupa a largura do aviso também no computador, e os botões descem: três linhas no máximo, em vez de uma coluna estreita */
.aviso.muito-longo .aviso-texto { flex-basis: calc(100% - 40px); }
.aviso-botoes { display: flex; gap: 2px; margin-left: auto; }
/* arquivo sem pasta: o palpite e a pasta nova, embaixo do resultado da busca */
.achado-pasta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: -4px 0 8px 86px; font-size: 12.5px; color: rgb(var(--ink) / .8); }
.achado-pasta > span { flex: 1 1 100%; }
/* a pasta que acabou de nascer acende por um instante na lista */
.linha.recem { animation: recem 2.6s ease-out .35s both; }
@keyframes recem { 0%, 45% { background: rgb(var(--brand) / .1); box-shadow: inset 0 0 0 1.5px rgb(var(--brand) / .45); } 100% { background: transparent; box-shadow: inset 0 0 0 1.5px transparent; } }
.pasta-arquivo { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; align-items: center; }
.pasta-arquivo b { display: block; font-size: 14px; font-weight: 600; line-height: 1.3; }
.pasta-arquivo small { font-size: 12.5px; color: rgb(var(--ink) / .75); word-break: break-all; }
.tile-arquivo .selo { align-self: flex-start; margin-top: -4px; }
.mini-doc { width: 34px; flex: none; }
/* processo novo: o número primeiro; o "i" diz de onde vêm os dados */
.campo-cnj { font-size: 18px; letter-spacing: .02em; font-variant-numeric: tabular-nums; min-height: 56px; }
.campo-dica.erro { color: rgb(var(--negative-fg)); }
.botao-i { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 999px; border: 1.5px solid rgb(var(--ink) / .55); font: italic 700 13px/1 Tinos, Georgia, serif; color: rgb(var(--ink) / .85); transition: background-color .15s, color .15s; }
.botao-i::after { content: ""; position: absolute; inset: -10px; }
.botao-i[aria-expanded="true"] { background: rgb(var(--ink)); color: rgb(var(--canvas)); border-color: rgb(var(--ink)); }
.info-i { font-size: 13px; line-height: 1.5; padding: 10px 14px; border-radius: 16px; background: rgb(var(--ink) / .06); color: rgb(var(--ink) / .88); animation: stagger .3s cubic-bezier(.16, 1, .3, 1) both; }
.np-exemplos { font-size: 12.5px; color: rgb(var(--ink) / .78); }
.np-exemplos .recentes { margin-top: 8px; }
.trib { border-radius: 24px; padding: 16px; display: flex; flex-direction: column; gap: 16px; animation: stagger .4s cubic-bezier(.16, 1, .3, 1) both; }
.trib-achou { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; color: rgb(var(--positive-fg)); margin-bottom: 6px; }
.trib h3 { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 17px; line-height: 1.3; letter-spacing: -.01em; }
.trib-sob { font-size: 13px; color: rgb(var(--ink) / .8); margin-top: 2px; }
.trib .capa-fatos { margin: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 14px; }
.trib .rotulo { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.trib .lista { margin: 0 -8px; }
.trib .partes .linha { min-height: 52px; }
.trib-pecas { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.trib-pecas li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; align-items: center; }
.trib-pecas b { display: block; font-size: 13.5px; font-weight: 600; line-height: 1.3; }
.trib-pecas small { font-size: 12px; color: rgb(var(--ink) / .75); }
.opcao.pequena { min-height: 34px; padding: 0 11px; gap: 4px; font-size: 12.5px; flex: none; }
.opcao.pequena .ic { display: none; }
.opcao.pequena:has(input:checked) .ic { display: inline-block; }
button.opcao { background: none; }
.campo-linha .botao-i, .cartao-topo .botao-i { flex: none; }
.dois-campos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.marcar { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 14px; cursor: pointer; }
.marcar input { width: 20px; height: 20px; accent-color: rgb(var(--ink)); flex: none; margin: 0; }
button.pasta-arquivo { width: 100%; text-align: left; padding: 4px; margin: 0 -4px; border-radius: 12px; }
@media (hover: hover) { button.pasta-arquivo:hover { background: rgb(var(--ink) / .05); } }

/* Mais: as outras partes do sistema numa grade limpa, como ícones de aplicativo */
.grade-modulos { display: grid; gap: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (min-width: 720px) { .grade-modulos { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; } }
.modulo { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 0; padding: 16px 6px 14px; border-radius: 26px; text-align: center; text-decoration: none; color: rgb(var(--ink)); transition: transform .12s cubic-bezier(.16, 1, .3, 1); }
.modulo:active { transform: scale(.96); }
.modulo-icone { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 17px; color: #fff; background: linear-gradient(180deg, rgb(var(--mono-1)), rgb(var(--mono-2))); box-shadow: inset 0 1px 0 rgb(255 255 255 / .2), 0 4px 10px rgb(var(--sombra) / .16); }
.modulo-icone .ic { width: 24px; height: 24px; }
.modulo b { font-size: 13px; font-weight: 600; line-height: 1.2; }
.modulo small { font-size: 11.5px; font-weight: 600; color: rgb(var(--negative-fg)); margin-top: -4px; }
@media (hover: hover) { .modulo:hover .modulo-icone { transform: translateY(-2px); } .modulo-icone { transition: transform .2s cubic-bezier(.16, 1, .3, 1); } }

/* Agenda: o mês como calendário de calor, a semana e o dia em horas, os prazos com a origem da conta */
/* --conta-forca: o fundo do dia contado na conta do prazo; no escuro ele precisa de mais tinta para aparecer no grafite */
:root { --calor-tinta: 255 255 255; --conta-forca: .1; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --calor-tinta: 17 18 21; --conta-forca: .2; } }
:root[data-theme="dark"] { --calor-tinta: 17 18 21; --conta-forca: .2; }
.agenda-barra { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 16px; }
.agenda-nav { display: flex; align-items: center; gap: 2px; min-width: 0; }
.agenda-nav .periodo { font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 15px; letter-spacing: -.01em; text-align: center; white-space: nowrap; padding: 0 6px; }
/* .um no celular (um mês na tela), .dois no computador (dois meses): o título e a seta dizem o que está e o que entra */
.agenda-nav .dois { display: none; }
@media (min-width: 960px) { .agenda-nav .um { display: none; } .agenda-nav .dois { display: inline; } }
@media (max-width: 959px) { .agenda-nav { width: 100%; } .agenda-nav .periodo { flex: 1; min-width: 0; white-space: normal; text-wrap: balance; font-size: 14px; line-height: 1.25; } }
.segmento.visoes button .tnum { opacity: .7; }
/* as cinco formas de ver a agenda cabem na largura do celular */
@media (max-width: 959px) { .segmento.visoes button { padding: 0 9px; gap: 4px; } }
.grade-agenda { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.agenda-lado { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
@media (min-width: 1280px) { .grade-agenda { grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); gap: 18px; align-items: start; } .agenda-lado { gap: 18px; } }
@media (max-width: 1279px) { .dia-painel, .lado-dia { display: none; } }
.cal-cartao { border-radius: 30px; padding: 18px 14px 16px; min-width: 0; }
.cal-cartao > * { position: relative; z-index: 1; }
@media (min-width: 960px) { .cal-cartao { padding: 22px 24px 20px; } }
/* a leitura tem sempre a altura de duas linhas: o calendário não pula quando o dedo troca de dia */
.cal-cartao .leitura { padding: 0 4px; height: 44px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
@media (min-width: 960px) { .cal-cartao .leitura { height: 22px; -webkit-line-clamp: 1; } }
.meses { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); }
.mes + .mes { display: none; }
@media (min-width: 960px) { .meses { grid-template-columns: repeat(2, minmax(0, 1fr)); } .mes + .mes { display: block; } }
/* a Agenda mostra um mês só: ele ocupa o quadro inteiro, com o dia maior, como num calendário de parede; os dois meses lado a lado ficam
   para os calendários que mostram dois (Relatórios, calendário forense) */
@media (min-width: 960px) {
  #meses:has(> .mes:only-child) { grid-template-columns: minmax(0, 1fr); }
  #meses:has(> .mes:only-child) :is(.mes-semana, .mes-grade) { column-gap: 8px; }
  #meses:has(> .mes:only-child) .mes-grade { row-gap: 6px; }
  #meses:has(> .mes:only-child) .dia-num { height: 54px; font-size: 15px; border-radius: 12px; }
}
.mes-nome { font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 15px; margin: 2px 0 8px 4px; }
.mes-semana, .mes-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); column-gap: 4px; }
.mes-semana span { font-size: 11px; text-align: center; color: rgb(var(--ink) / .72); padding-bottom: 6px; }
.mes-grade { row-gap: 2px; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.dia { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 0; padding: 2px 0 4px; border-radius: 12px; }
.dia-num { display: flex; align-items: center; justify-content: center; width: 100%; height: 38px; border-radius: 11px; font-size: 14px; font-weight: 500; font-variant-numeric: tabular-nums; color: rgb(var(--ink)); box-shadow: inset 0 0 0 1px rgb(var(--ink) / .1); transition: box-shadow .12s, transform .15s cubic-bezier(.16, 1, .3, 1); }
@media (min-width: 960px) { .dia-num { height: 32px; font-size: 13px; border-radius: 9px; } }
.dia-num b { font-weight: inherit; min-width: 24px; padding: 1px 4px; border-radius: 99px; text-align: center; }
.dia.n1 .dia-num { background-color: rgb(var(--calor-1)); box-shadow: none; }
.dia.n2 .dia-num { background-color: rgb(var(--calor-2)); box-shadow: none; color: rgb(var(--calor-tinta)); }
.dia.n3 .dia-num { background-color: rgb(var(--calor-3)); box-shadow: none; color: rgb(var(--calor-tinta)); }
.dia.n4 .dia-num { background-color: rgb(var(--calor-4)); box-shadow: none; color: rgb(var(--calor-tinta)); font-weight: 600; }
.dia.fds.n0 .dia-num { color: rgb(var(--ink) / .5); box-shadow: none; }
.dia.feriado .dia-num { background-image: repeating-linear-gradient(135deg, rgb(var(--ink) / .16) 0 1.5px, transparent 1.5px 6px); color: rgb(var(--ink) / .6); box-shadow: none; }
.dia.hoje .dia-num b { background: rgb(var(--ink)); color: rgb(var(--canvas)); font-weight: 700; }
.dia.hoje:is(.n2, .n3, .n4) .dia-num b { background: rgb(var(--canvas)); color: rgb(var(--ink)); }
.dia-pontos { display: flex; justify-content: center; gap: 3px; height: 6px; }
.dia-pontos i { width: 6px; height: 6px; border-radius: 99px; background: rgb(var(--cor)); }
.dia.foco .dia-num { box-shadow: 0 0 0 2px rgb(var(--ink)); }
@media (min-width: 960px) { .dia[aria-pressed="true"] .dia-num { box-shadow: 0 0 0 2px rgb(var(--ink)); transform: scale(1.06); } }
@media (hover: hover) { .dia:hover .dia-num { transform: translateY(-1px); } }
.dia:active .dia-num { transform: scale(.94); }
.dia:focus-visible { outline: none; }
.dia:focus-visible .dia-num { box-shadow: 0 0 0 2px rgb(var(--brand)), 0 0 0 5px rgb(var(--brand) / .3); }
.cal-legenda { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 18px; margin-top: 14px; padding: 12px 4px 0; border-top: 1px solid rgb(var(--ink) / .1); font-size: 12px; color: rgb(var(--ink) / .8); }
.cal-legenda .legenda { margin: 0; padding: 0; gap: 4px 12px; }
.escala-calor { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.escala-calor i { width: 13px; height: 13px; border-radius: 4px; }
.escala-calor span + i { margin-left: 4px; }
.amostra-feriado { background-image: repeating-linear-gradient(135deg, rgb(var(--ink) / .2) 0 1.5px, transparent 1.5px 5px); box-shadow: inset 0 0 0 1px rgb(var(--ink) / .14); }
.aviso-feriado { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 16px; background: rgb(var(--ink) / .05); font-size: 13.5px; line-height: 1.4; margin-bottom: 10px; }
.aviso-feriado .ic { margin-top: 1px; color: rgb(var(--ink) / .7); }
.aviso-feriado small { display: block; font-size: 12px; color: rgb(var(--ink) / .75); margin-top: 2px; }
.disco.cor { background: rgb(var(--cor) / .13); color: rgb(var(--cor)); border-color: rgb(var(--cor) / .3); }
.linha-texto small.origem { -webkit-line-clamp: 3; color: rgb(var(--ink) / .72); }
.dia-painel .ficha-acoes { margin-top: 12px; }
/* semana: no celular, um cartão por dia; no computador, as horas em colunas */
.semana-lista { display: flex; flex-direction: column; gap: 12px; }
.dia-bloco { padding: 14px 16px 12px; }
.dia-bloco .cartao-topo { margin-bottom: 4px; }
.dia-bloco.vazio-dia { padding: 10px 16px; }
.dia-bloco.vazio-dia .cartao-topo { margin: 0; }
.grade-horas { display: grid; grid-template-columns: 46px repeat(var(--n), minmax(0, 1fr)); min-width: 0; }
.grade-horas.sete { display: none; }
.semana-cartao { display: none; border-radius: 30px; padding: 18px 18px 14px 8px; }
@media (min-width: 960px) { .semana-cartao { display: block; } .grade-horas.sete { display: grid; } .semana-lista { display: none; } }
.gh-cab { text-align: center; padding: 0 0 8px; font-size: 11px; line-height: 1.2; color: rgb(var(--ink) / .72); }
.gh-cab b { display: block; width: fit-content; min-width: 28px; margin: 3px auto 0; padding: 1px 6px; border-radius: 99px; font-size: 15px; font-weight: 600; color: rgb(var(--ink)); font-variant-numeric: tabular-nums; }
.gh-cab.hoje b { background: rgb(var(--ink)); color: rgb(var(--canvas)); }
.gh-cab.feriado b { color: rgb(var(--ink) / .5); }
.gh-rot { font-size: 11px; color: rgb(var(--ink) / .72); text-align: right; padding: 9px 8px 0 0; border-top: 1px solid rgb(var(--ink) / .1); line-height: 1.2; }
.gh-todo { display: flex; flex-direction: column; gap: 4px; min-width: 0; min-height: 48px; padding: 6px 4px; border-top: 1px solid rgb(var(--ink) / .1); border-left: 1px solid rgb(var(--ink) / .08); }
.gh-horas { position: relative; border-top: 1px solid rgb(var(--ink) / .1); }
.gh-horas span { position: absolute; right: 8px; margin-top: 3px; font-size: 11px; color: rgb(var(--ink) / .7); font-variant-numeric: tabular-nums; }
.gh-col { position: relative; min-width: 0; border-left: 1px solid rgb(var(--ink) / .08); border-top: 1px solid rgb(var(--ink) / .1); background-image: repeating-linear-gradient(180deg, transparent 0 calc(var(--h) - 1px), rgb(var(--ink) / .07) calc(var(--h) - 1px) var(--h)); }
.grade-horas.um .gh-col { border-left-color: rgb(var(--ink) / .12); }
.gh-evento { position: absolute; left: 3px; right: 3px; display: block; padding: 4px 8px; border-radius: 10px; overflow: hidden; font-size: 11.5px; line-height: 1.25; text-align: left; color: rgb(var(--ink)); background: rgb(var(--cor) / .15); border: 1px solid rgb(var(--cor) / .38); transition: background-color .12s, transform .1s; }
.gh-evento b { display: block; font-weight: 700; font-variant-numeric: tabular-nums; }
.gh-evento span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.grade-horas.um .gh-evento span { white-space: normal; }
.grade-horas.um .gh-evento { font-size: 13px; padding: 5px 10px; }
/* no dia, o bloco diz também de quem é e onde: até duas linhas embaixo do nome */
.grade-horas.um .gh-evento small { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 12px; line-height: 1.3; color: rgb(var(--ink) / .8); }
/* no celular o bloco de uma hora tem 56 px: o nome em até duas linhas e o lugar numa, com reticências; nada fica cortado sem aviso */
@media (max-width: 959px) { .grade-horas.um .gh-evento b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .grade-horas.um .gh-evento small { -webkit-line-clamp: 1; } }
@media (hover: hover) { button.gh-evento:hover { background: rgb(var(--cor) / .24); } }
button.gh-evento:active { transform: scale(.98); }
.chip-ag { display: flex; align-items: center; gap: 5px; width: 100%; min-width: 0; min-height: 26px; padding: 3px 7px; border-radius: 9px; font-size: 11.5px; line-height: 1.25; text-align: left; color: rgb(var(--ink)); background: rgb(var(--cor) / .1); }
.chip-ag .ponto-tipo { width: 7px; height: 7px; }
.chip-ag span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.chip-ag.feita span:last-child { text-decoration: line-through; opacity: .6; }
@media (hover: hover) { button.chip-ag:hover { background: rgb(var(--cor) / .2); } }
.chip-ag.mais { background: rgb(var(--ink) / .06); font-weight: 600; justify-content: center; }
/* na faixa "Dia todo" da semana o nome do prazo vai inteiro em até duas linhas; as tarefas viram um chip só ("3 tarefas") */
.gh-todo .chip-ag { align-items: flex-start; }
.gh-todo .chip-ag .ponto-tipo { margin-top: 4px; flex: none; }
.gh-todo .chip-ag span:last-child { white-space: normal; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.grade-horas.sete .gh-evento { padding: 4px 7px; }
.grade-horas.sete .gh-evento span { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.grade-horas.sete .gh-evento span b { display: inline; margin-right: 3px; }
.grade-dia { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1280px) { .grade-dia { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; } }
.grade-dia .grade-horas { margin: 4px 0 0 -8px; }
/* prazos: o número de cada situação no alto e a conta de cada prazo à vista */
.grade-prazos { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
/* a coluna com um cartão só cresce até o fim da linha, como o painel ao lado */
@media (min-width: 960px) { .grade-prazos { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; } .grade-prazos > .inteira { grid-column: 1 / -1; } .grade-prazos > .col-ficha > .cartao:only-child { flex-grow: 1; } }
.fixos.solto { margin: 0; padding: 0; border: 0; }
/* os dois números do cartão Honorários: lado a lado quando cabem; no cartão estreito (computador de 1024) um embaixo do outro */
.fixos.fixos-dois { display: flex; flex-wrap: wrap; }
.fixos-dois > div { flex: 1 1 0; min-width: max-content; }
.fixos .neg { color: rgb(var(--negative-fg)); }
.prazo-cabeca { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.prazo-cabeca .numeral { font-size: 48px; line-height: 1; }
.prazo-cabeca .dia-txt { font-size: 14px; color: rgb(var(--ink) / .85); }
.conferir { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 12px; font-size: 13px; color: rgb(var(--ink) / .8); }
.conferir .botao { margin-left: auto; }
.conta-caixa { border-radius: 22px; padding: 14px 16px 12px; }
.conta-topo { display: flex; align-items: center; gap: 10px; }
.conta-topo > div { flex: 1; min-width: 0; }
.conta-data { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin-top: 2px; font-size: 14px; color: rgb(var(--ink) / .85); }
.conta-data .numeral { font-size: 38px; line-height: 1.05; color: rgb(var(--ink)); }
.conta-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; margin-top: 12px; }
.conta-cal .cab { font-size: 10.5px; text-align: center; color: rgb(var(--ink) / .7); padding-bottom: 2px; }
.conta-cal .d { display: flex; align-items: center; justify-content: center; height: 30px; border-radius: 8px; font-size: 12px; font-variant-numeric: tabular-nums; color: rgb(var(--ink) / .5); white-space: nowrap; }
.conta-cal .d.conta { background: rgb(var(--ink) / var(--conta-forca)); color: rgb(var(--ink)); font-weight: 600; }
/* o prazo interno, a data de segurança do escritório: contorno tracejado, por cima do dia contado */
.conta-cal .d.interno { outline: 1.5px dashed rgb(var(--ink) / .75); outline-offset: -2px; }
.conta-cal .d.pub { box-shadow: inset 0 0 0 1.5px rgb(var(--ink) / .6); color: rgb(var(--ink)); }
.conta-cal .d.fer { background-image: repeating-linear-gradient(135deg, rgb(var(--negative) / .32) 0 1.5px, transparent 1.5px 5px); color: rgb(var(--negative-fg)); font-weight: 600; }
.conta-cal .d.fim { background: rgb(var(--ink)); color: rgb(var(--canvas)); font-weight: 700; }
.conta-legenda { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 10px; font-size: 12px; color: rgb(var(--ink) / .8); }
.conta-legenda span { display: inline-flex; align-items: center; gap: 6px; }
.conta-legenda i { width: 12px; height: 12px; border-radius: 4px; }
.conta-legenda i.conta { background: rgb(var(--ink) / var(--conta-forca)); box-shadow: inset 0 0 0 1px rgb(var(--ink) / .14); }
.conta-legenda i.interno { outline: 1.5px dashed rgb(var(--ink) / .75); outline-offset: -2px; }
.prazo-interno { display: flex; align-items: flex-start; gap: 8px; margin-top: 10px; font-size: 13.5px; line-height: 1.4; color: rgb(var(--ink) / .85); }
.prazo-interno .ic { margin-top: 1px; color: rgb(var(--ink) / .7); }
.prazo-interno b { color: rgb(var(--ink)); font-weight: 600; }
.prazo-interno.prazo-quem { margin-top: 6px; }
.conta-interno { margin-top: 4px; font-size: 13px; color: rgb(var(--ink) / .85); }
.conta-interno b { font-weight: 600; color: rgb(var(--ink)); }
.fixos .numeral small { font-size: 15px; letter-spacing: 0; color: rgb(var(--ink) / .72); }
.bloco-rotulo { display: flex; align-items: center; gap: 8px; }
.bloco-rotulo .rotulo { flex: 1; }
.conta-legenda i.pub { box-shadow: inset 0 0 0 1.5px rgb(var(--ink) / .6); }
.conta-legenda i.fer { background-image: repeating-linear-gradient(135deg, rgb(var(--negative) / .4) 0 1.5px, transparent 1.5px 4px); }
.conta-legenda i.fim { background: rgb(var(--ink)); }
/* no Corrigir prazo os dias do calendário escolhem o último dia */
.conta-cal.escolhe-dia button.d { border: 0; padding: 0; font: inherit; font-size: 12px; background-color: transparent; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.conta-cal.escolhe-dia button.d.conta { background-color: rgb(var(--ink) / var(--conta-forca)); }
.conta-cal.escolhe-dia button.d.fim { background-color: rgb(var(--ink)); }
@media (hover: hover) { .conta-cal.escolhe-dia button.d:hover { box-shadow: inset 0 0 0 1.5px rgb(var(--brand)); } }
.conta-cal.escolhe-dia button.d:active { transform: scale(.94); }
/* no dedo, cada dia do calendário do Corrigir prazo é um alvo de 44 px: a caixa abre espaço dos lados e o vão entre os dias encolhe */
@media (pointer: coarse) {
  .conta-caixa:has(> .conta-cal.escolhe-dia) { padding-left: 10px; padding-right: 10px; }
  .conta-cal.escolhe-dia { gap: 2px; }
  .conta-cal.escolhe-dia button.d { height: 44px; font-size: 14px; }
}
.conta-cal .d.sistema { box-shadow: inset 0 0 0 2px rgb(var(--ink)); color: rgb(var(--ink)); font-weight: 700; }
.conta-legenda i.sistema { box-shadow: inset 0 0 0 2px rgb(var(--ink)); }
.de-onde { padding: 12px 14px; border-radius: 20px; background: rgb(var(--ink) / .045); }
.de-onde .pasta-arquivo { margin-top: 2px; }
.de-onde .pasta-arquivo small, .menu-bloco .pasta-arquivo small { word-break: normal; }

/* Tarefas: o quadro com as quatro colunas e a carga de cada pessoa */
.chips-quem { display: flex; gap: 8px; overflow-x: auto; margin: 0 -16px 12px; padding: 2px 16px 4px; scrollbar-width: none; }
.chips-quem::-webkit-scrollbar { display: none; }
.chips-quem .opcao { flex: none; gap: 6px; }
.chips-quem .opcao span { opacity: .7; font-variant-numeric: tabular-nums; }
@media (min-width: 960px) { .chips-quem { margin: 0 0 14px; padding: 2px 0 4px; flex-wrap: wrap; } }
.quadro { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1280px) { .quadro { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; } }
.coluna-t { min-width: 0; padding: 12px; border-radius: 26px; transition: box-shadow .15s, background-color .15s; }
.coluna-t.alvo { box-shadow: inset 0 0 0 2px rgb(var(--ink) / .5); background-color: rgb(var(--ink) / .06); }
.coluna-cabeca { display: flex; align-items: center; gap: 10px; padding: 2px 4px 10px; }
.coluna-cabeca .circulo-fino { width: 32px; height: 32px; }
.coluna-cabeca h2 { flex: 1; min-width: 0; font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 15px; }
.coluna-cabeca .conta { font-size: 13px; font-weight: 600; color: rgb(var(--ink) / .75); font-variant-numeric: tabular-nums; }
.coluna-lista { display: flex; flex-direction: column; gap: 8px; min-height: 56px; }
.vazio-coluna { padding: 14px 8px; border-radius: 18px; border: 1.5px dashed rgb(var(--ink) / .18); font-size: 12.5px; text-align: center; color: rgb(var(--ink) / .7); }
.coluna-lista:has(.tarefa) .vazio-coluna { display: none; }
.tarefa { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 12px 12px 10px; border-radius: 20px; background: rgb(var(--surface)); border: 1px solid rgb(var(--ink) / .08); box-shadow: 0 1px 3px rgb(var(--sombra) / .08); }
@media (hover: hover) and (pointer: fine) { .tarefa { cursor: grab; user-select: none; -webkit-user-select: none; } .tarefa:hover { border-color: rgb(var(--ink) / .2); } }
.tarefa-abrir { display: flex; flex-direction: column; gap: 2px; text-align: left; border-radius: 10px; cursor: inherit; }
.tarefa-abrir b { font-size: 14px; font-weight: 600; line-height: 1.3; }
.tarefa-abrir small { font-size: 12.5px; line-height: 1.35; color: rgb(var(--ink) / .78); }
.tarefa.feita .tarefa-abrir b { text-decoration: line-through; text-decoration-color: rgb(var(--ink) / .4); color: rgb(var(--ink) / .6); }
.tarefa-ligas { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 12px; line-height: 1.3; color: rgb(var(--ink) / .8); }
.tarefa-ligas span { display: inline-flex; align-items: flex-start; gap: 4px; min-width: 0; }
.tarefa-ligas .ic { margin-top: 1px; }
.tarefa-pe { display: flex; align-items: center; gap: 8px; }
.tarefa-pe .disco { width: 28px; height: 28px; font-size: 10.5px; }
/* cliente e prazo correm como uma frase só e quebram a linha inteira; o ícone fica na margem, na altura da primeira linha */
.tarefa-quando { position: relative; padding-left: 19px; margin-top: -2px; font-size: 12.5px; line-height: 1.3; color: rgb(var(--ink) / .85); }
.tarefa-quando .ic { position: absolute; left: 0; top: 1px; }
.tarefa.atrasada .tarefa-quando { color: rgb(var(--negative-fg)); font-weight: 600; }
.tarefa-nome { flex: 1; min-width: 0; font-size: 12.5px; color: rgb(var(--ink) / .8); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* nas quatro colunas do computador o cartão é estreito: o botão fica mais justo para o nome curto caber ao lado da sigla */
@media (min-width: 960px) { .tarefa-pe { gap: 6px; } .tarefa-pe .botao.pequeno { padding: 0 12px; } .tarefa-pe .botao .ic { display: none; } }
.tarefa.atrasada { border-color: rgb(var(--negative) / .4); }
.tarefa-pe .botao { padding: 0 12px; }
.tarefa.lugar { opacity: .4; box-shadow: none; border-style: dashed; }
.tarefa.voando { position: fixed; top: 0; left: 0; z-index: 80; margin: 0; pointer-events: none; box-shadow: 0 18px 40px rgb(var(--sombra) / .28), 0 2px 6px rgb(var(--sombra) / .1); will-change: transform; }
body.arrastando, body.arrastando * { cursor: grabbing !important; }
.grade-carga { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 720px) { .grade-carga { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; } }
.pessoa-carga { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 16px; border-radius: 26px; text-align: left; transition: transform .12s cubic-bezier(.16, 1, .3, 1); }
.pessoa-carga:active { transform: scale(.98); }
@media (hover: hover) { .pessoa-carga:hover { transform: translateY(-2px); } }
.pc-topo { display: flex; align-items: center; gap: 10px; min-width: 0; }
.pc-topo .disco { background: rgb(var(--ink)); color: rgb(var(--canvas)); border-color: transparent; }
.pc-topo b { display: block; font-size: 15px; font-weight: 600; }
.pc-topo small { font-size: 12px; color: rgb(var(--ink) / .75); }
.pc-num { display: flex; align-items: baseline; gap: 8px; font-size: 13px; color: rgb(var(--ink) / .85); }
.pc-num .numeral { font-size: 40px; line-height: 1; color: rgb(var(--ink)); }
.barra-carga { display: flex; gap: 2px; width: var(--w); min-width: 8px; height: 8px; border-radius: 99px; overflow: hidden; }
.barra-carga i, .legenda-carga i { display: block; }
.c-pend { background: rgb(var(--calor-1)); }
.c-and { background: rgb(var(--ink)); }
.c-ag { background: repeating-linear-gradient(135deg, rgb(var(--calor-2)) 0 2px, rgb(var(--calor-1) / .35) 2px 4px); }
.pc-fatos { display: flex; flex-direction: column; gap: 4px; margin: 0; padding-top: 10px; border-top: 1px solid rgb(var(--ink) / .1); }
.pc-fatos div { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.pc-fatos dt { font-size: 12.5px; color: rgb(var(--ink) / .8); line-height: 1.3; }
.pc-fatos dd { margin: 0; font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.pc-fatos dd.neg { color: rgb(var(--negative-fg)); }
.legenda-carga { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 14px 2px 0; font-size: 12.5px; color: rgb(var(--ink) / .8); }
.legenda-carga span { display: inline-flex; align-items: center; gap: 6px; }
.legenda-carga i { width: 12px; height: 12px; border-radius: 4px; }
/* no celular o quadro mostra uma situação por vez: o segmento das quatro, com a contagem, troca a coluna à vista */
.quadro-segmento { margin-bottom: 12px; }
@media (min-width: 1280px) { .segmento.quadro-segmento { display: none; } }
@media (max-width: 1279px) { .quadro > .coluna-t:not(.ativa) { display: none; } .quadro .coluna-cabeca { display: none; } }
/* itens e repetição no cartão */
.tarefa-ligas .itens-feitos { font-variant-numeric: tabular-nums; }
/* carga em gráfico: barras deitadas por pessoa, colunas das concluídas por dia e o calendário de calor do "Fazer em" */
.grade-carga2 { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) { .grade-carga2 { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 18px; align-items: start; } }
.grade-carga2 .legenda-carga { margin: 0 0 8px; }
.barras { list-style: none; margin: 0 -8px; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.barra-linha { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; column-gap: 12px; row-gap: 7px; align-items: center; width: 100%; padding: 10px 8px; border-radius: 16px; text-align: left; transition: background-color .12s; }
@media (hover: hover) { .barra-linha:hover { background: rgb(var(--ink) / .05); } }
.barra-linha:active { background: rgb(var(--ink) / .09); }
.barra-linha .disco { width: 36px; height: 36px; grid-row: span 2; background: rgb(var(--ink)); color: rgb(var(--canvas)); border-color: transparent; }
.barra-linha .nome { min-width: 0; }
.barra-linha .nome b { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.3; }
.barra-linha .nome small { display: block; font-size: 12.5px; line-height: 1.35; color: rgb(var(--ink) / .78); }
.barra-linha .nome small .neg { color: rgb(var(--negative-fg)); font-weight: 600; }
.barra-linha .valor { font-family: Montserrat, Inter, sans-serif; font-weight: 300; font-size: 28px; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.barra-linha .barra-carga { grid-column: 2 / 4; }
.colunas { display: flex; align-items: flex-end; gap: 6px; height: 160px; margin-top: 4px; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.coluna-c { flex: 1; min-width: 0; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 5px; border-radius: 8px; }
.coluna-c .valor-c { font-size: 11.5px; font-weight: 600; font-variant-numeric: tabular-nums; color: rgb(var(--ink) / .85); min-height: 14px; }
.coluna-c i { display: block; width: 100%; max-width: 24px; min-height: 3px; border-radius: 6px 6px 2px 2px; background: rgb(var(--calor-2)); transition: background-color .12s, box-shadow .12s; }
.coluna-c.pico i { background: rgb(var(--calor-3)); }
.coluna-c.foco i { background: rgb(var(--calor-4)); box-shadow: 0 0 0 2px rgb(var(--ink) / .35); }
.coluna-c small { font-size: 10.5px; line-height: 1.2; text-align: center; color: rgb(var(--ink) / .72); }
.coluna-c small b { display: block; font-weight: 600; color: rgb(var(--ink) / .9); font-variant-numeric: tabular-nums; }
[data-grafico] { outline-offset: 4px; }
.calor-30 .mes-grade { margin-top: 2px; }
.calor-30 .dia.fora { visibility: hidden; }
.calor-30 .chips-quem { margin: 0 0 12px; padding: 2px 0 4px; flex-wrap: wrap; overflow: visible; }
/* fluxos de trabalho: os passos em escada, com o número de cada um */
.grade-fluxos { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) { .grade-fluxos { display: block; columns: 2 300px; column-gap: 18px; } .grade-fluxos > * { break-inside: avoid; margin-bottom: 18px; } .grade-fluxos > :last-child { margin-bottom: 0; } }
.fluxo-quando { font-size: 13px; color: rgb(var(--ink) / .8); margin: -6px 0 12px; }
/* .grade-fluxos na frente: a .escada da fase do processo (página do cliente) tem outras regras com o mesmo nome */
.grade-fluxos .escada { list-style: none; margin: 0; padding: 0; counter-reset: passo; }
.grade-fluxos .escada li { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 12px; padding-bottom: 14px; counter-increment: passo; }
.grade-fluxos .escada li::before { content: counter(passo); display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 99px; border: 1px solid rgb(var(--ink) / .45); background: rgb(var(--canvas) / .4); font: 600 12px/1 Montserrat, Inter, sans-serif; position: relative; z-index: 1; }
.grade-fluxos .escada li:not(:last-child)::after { content: ""; position: absolute; left: 13.5px; top: 30px; bottom: 2px; width: 1px; background: rgb(var(--ink) / .2); }
.grade-fluxos .escada b { display: block; font-size: 14px; font-weight: 600; line-height: 1.3; padding-top: 4px; }
.grade-fluxos .escada small { display: block; font-size: 12.5px; color: rgb(var(--ink) / .78); margin-top: 1px; }
.fluxo-uso { display: flex; align-items: center; gap: 8px; padding-top: 12px; margin-top: 2px; border-top: 1px solid rgb(var(--ink) / .1); font-size: 13px; color: rgb(var(--ink) / .85); }
.fluxo-uso .ic { color: rgb(var(--positive)); }
/* itens da tarefa e preparação da audiência: a caixa de marcar do Hoje, numa lista */
.lista-check .linha { min-height: 48px; padding: 4px 8px; }
.lista-check .linha-texto b { font-weight: 500; font-size: 14px; }
.lista-check .linha.feita .linha-texto b { text-decoration: line-through; text-decoration-color: rgb(var(--ink) / .4); color: rgb(var(--ink) / .6); }
.item-novo { display: flex; gap: 8px; margin-top: 6px; }
.item-novo .campo { min-height: 44px; border-radius: 16px; font-size: 15px; }
/* o aviso que pergunta: de quem a tarefa espera, ali mesmo */
/* triagem da publicação: as três respostas em partes iguais, na largura toda do cartão */
.triagem { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
/* o conteúdo começa no alto, onde ficava centrado com uma linha: o rótulo que quebra desce sem tirar o ícone da altura dos vizinhos */
.triagem .botao { flex-direction: column; justify-content: flex-start; gap: 3px; min-height: 54px; padding: 10px 4px 6px; font-size: 12.5px; line-height: 1.15; border-radius: 18px; white-space: normal; text-align: center; }
.aviso-escolhas { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 6px; padding: 0 0 2px 32px; }
.aviso-escolhas .opcao:not([aria-pressed="true"]) { background: rgb(var(--canvas) / .5); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  body::before { animation: none; }
  .miniatura.lendo::after { animation: none; opacity: .5; top: 30%; }
  /* sem movimento, a pasta nova fica marcada parada até a próxima visita */
  .linha.recem { background: rgb(var(--brand) / .1); box-shadow: inset 0 0 0 1.5px rgb(var(--brand) / .45); }
}

/* Financeiro e Relatórios: a faixa de tempo do sistema de referência (Semana, Mês, Ano, Outro), o cartão com os números que trocam a linha,
   os gráficos lidos com o dedo e o relatório para o cliente em papel. As peças da Agenda e das Tarefas (calendário de calor,
   colunas, leitura em cima) entram como estão */
.cabeca-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.selo-socios { vertical-align: 6px; margin-left: 8px; }
.faixa-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-bottom: 16px; }
.faixa-linha .segmento button { padding: 0 14px; }
.voo { border-radius: 26px; padding: 14px 12px 12px; margin: -6px 0 16px; animation: stagger .3s cubic-bezier(.16, 1, .3, 1) both; }
.voo-meses { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.voo-meses .opcao { min-width: 44px; justify-content: center; }
.voo-topo { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 4px 0 2px; }
.voo-topo b { font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 14px; text-align: center; flex: 1; }
.voo-topo .dois { display: none; }
@media (min-width: 960px) { .voo-topo .um { display: none; } .voo-topo .dois { display: inline; } }
.voo-seta { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 999px; flex: none; }
.voo-seta[disabled] { opacity: .35; pointer-events: none; }
@media (hover: hover) { .voo-seta:hover { background: rgb(var(--ink) / .07); } }
.voo .meses { gap: 24px; }
.voo .mes-nome { text-align: center; margin: 6px 0 4px; font-size: 13px; color: rgb(var(--ink) / .8); }
@media (max-width: 959px) { .voo .mes-nome { display: none; } }
.voo-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.voo-dia { position: relative; display: flex; align-items: center; justify-content: center; height: 44px; }
@media (min-width: 960px) and (pointer: fine) { .voo-dia { height: 38px; } }
.voo-dia::before { content: ""; position: absolute; top: 50%; height: 34px; margin-top: -17px; left: 0; right: 0; background: rgb(var(--ink) / .1); opacity: 0; }
.voo-dia.meio::before, .voo-dia.inicio::before, .voo-dia.fim::before { opacity: 1; }
.voo-dia.inicio::before { left: 50%; } .voo-dia.fim::before { right: 50%; } .voo-dia.inicio.fim::before { opacity: 0; }
.voo-dia b { position: relative; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 999px; font-size: 14px; font-weight: 500; font-variant-numeric: tabular-nums; transition: background-color .12s; }
.voo-dia.inicio b, .voo-dia.fim b { background: rgb(var(--ink)); color: rgb(var(--canvas)); font-weight: 600; }
.voo-dia.hoje b { box-shadow: inset 0 0 0 1.5px rgb(var(--ink) / .6); font-weight: 600; }
.voo-dia.hoje.inicio b, .voo-dia.hoje.fim b { box-shadow: 0 0 0 2px rgb(var(--canvas)), 0 0 0 3px rgb(var(--ink)); }
.voo-dia[disabled] b { color: rgb(var(--ink) / .42); }
.voo-dia[disabled] { pointer-events: none; }
@media (hover: hover) { .voo-dia:not(.inicio):not(.fim):hover b { background: rgb(var(--ink) / .08); } }
.voo-dica { font-size: 12.5px; color: rgb(var(--ink) / .78); text-align: center; margin-top: 6px; }

/* o cabeçalho do cartão principal: as datas à esquerda e o "contra ..." à direita, que abre o Comparar com */
.cab-faixa { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 12px; min-height: 32px; margin: -6px 0 8px; font-size: 13px; }
.cab-faixa > b { font-weight: 600; font-variant-numeric: tabular-nums; }
.contra { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; margin: -6px -6px -6px auto; padding: 0 6px; border-radius: 12px; color: rgb(var(--ink) / .8); text-align: right; font-size: 13px; }
.contra b { font-weight: 600; color: rgb(var(--ink)); font-variant-numeric: tabular-nums; }
button.contra:hover { background: rgb(var(--ink) / .05); color: rgb(var(--ink)); }
.comparar { border-radius: 22px; padding: 10px; margin: 0 0 10px; }
.comparar .radio { display: flex; gap: 10px; align-items: center; width: 100%; min-height: 48px; padding: 6px 8px; border-radius: 14px; text-align: left; }
@media (hover: hover) { .comparar .radio:not([aria-disabled="true"]):hover { background: rgb(var(--ink) / .05); } }
.comparar .radio > i { width: 18px; height: 18px; border-radius: 99px; border: 2px solid rgb(var(--ink) / .5); flex: none; }
.comparar .radio[aria-checked="true"] > i { border: 6px solid rgb(var(--ink)); }
.comparar .radio b { display: block; font-size: 14px; font-weight: 500; }
.comparar .radio small { display: block; font-size: 12px; color: rgb(var(--ink) / .78); font-variant-numeric: tabular-nums; }
.comparar .radio[aria-disabled="true"] { cursor: not-allowed; }
.comparar .radio[aria-disabled="true"] b, .comparar .radio[aria-disabled="true"] > i { opacity: .5; }

/* os números que trocam o que a linha mostra: o escolhido tem fundo e um traço embaixo */
.trocam { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; margin: 0 -8px 8px; }
.trocam.dois, .trocam.dois.dois { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 640px) { .trocam { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.troca { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; min-height: 76px; padding: 8px 10px 11px; border-radius: 18px; text-align: left; transition: background-color .15s; }
.troca.grande { grid-column: 1 / -1; padding-bottom: 12px; }
.troca .rotulo { font-size: 10.5px; line-height: 1.3; }
.troca .numeral { font-size: 26px; line-height: 1.12; color: rgb(var(--ink)); white-space: nowrap; }
.faixa-extra { margin-left: auto; }
@media (max-width: 639px) { .faixa-extra { margin-left: 0; } }
.troca.grande .numeral { font-size: 52px; line-height: 1.05; margin: 2px 0; }
@media (min-width: 960px) { .troca.grande .numeral { font-size: 60px; } }
.troca .numeral small, .numeral .rs { font-size: .5em; letter-spacing: 0; margin-right: 3px; color: rgb(var(--ink) / .75); font-weight: 400; }
.numeral .rs.cent { margin: 0 0 0 1px; }
.troca-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 3px 6px; min-height: 20px; font-size: 12px; color: rgb(var(--ink) / .78); }
button.troca[aria-pressed="true"] { background: rgb(var(--surface)); box-shadow: inset 0 0 0 1px rgb(var(--ink) / .08); }
button.troca[aria-pressed="true"]::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: rgb(var(--brand)); }
@media (hover: hover) { button.troca:hover { background: rgb(var(--ink) / .05); } button.troca[aria-pressed="true"]:hover { background: rgb(var(--surface)); } }
button.troca:active { transform: scale(.985); }
.variacao.tom-neg { background: rgb(var(--negative-soft)); color: rgb(var(--negative-fg)); border: 1px solid rgb(var(--negative) / .25); }
.ver-relatorio { display: flex; align-items: center; justify-content: space-between; width: calc(100% + 16px); min-height: 44px; margin: 4px -8px -8px; padding: 0 8px; border-radius: 14px; font-size: 14px; font-weight: 500; color: rgb(var(--ink) / .88); }
@media (hover: hover) { .ver-relatorio:hover { background: rgb(var(--ink) / .05); color: rgb(var(--ink)); } }

/* a linha com pontos: o desenho estica na largura e as marcas (pontos, nomes, alvos do dedo) são HTML por cima, sem medir nada */
.lg { position: relative; touch-action: pan-y; user-select: none; -webkit-user-select: none; border-radius: 14px; }
.lg .leitura { min-height: 44px; margin-bottom: 4px; }
@media (min-width: 960px) { .lg .leitura { min-height: 22px; } }
.lg-area { display: grid; grid-template-columns: 46px minmax(0, 1fr); margin-top: 26px; }
.lg-eixo { position: relative; }
.lg-eixo span { position: absolute; right: 8px; transform: translateY(-50%); font-size: 11px; color: rgb(var(--ink) / .72); font-variant-numeric: tabular-nums; white-space: nowrap; }
.lg-eixo .unid { top: -11px !important; transform: translateY(-100%); }
.lg-plot { position: relative; }
.lg-plot svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.lg-grade { stroke: rgb(var(--ink) / .1); stroke-width: 1; }
.lg-zero { stroke: rgb(var(--ink) / .3); stroke-width: 1; }
.lg-area-cheia { fill: rgb(var(--ink) / .06); }
.lg-atual { fill: none; stroke: rgb(var(--ink)); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
.lg-antes { fill: none; stroke: rgb(var(--ink) / .42); stroke-width: 1.75; stroke-dasharray: 5 5; stroke-linejoin: round; }
.lg-saldo { fill: none; stroke: rgb(var(--brand)); stroke-width: 2.25; stroke-dasharray: 6 5; stroke-linejoin: round; }
.lg-despesa { fill: none; stroke: rgb(var(--negative) / .75); stroke-width: 2; stroke-linejoin: round; }
.lg-fim { position: absolute; width: 11px; height: 11px; margin: -5.5px 0 0 -5.5px; border-radius: 99px; background: rgb(var(--ink)); box-shadow: 0 0 0 3px rgb(var(--surface)), 0 0 0 4.5px rgb(var(--ink) / .35); pointer-events: none; }
.lg-alvos { position: absolute; inset: -6px 0; }
.lg-alvo { position: absolute; top: 0; bottom: 0; }
.lg-alvo::before { content: ""; position: absolute; left: 50%; top: 6px; bottom: 6px; width: 1px; background: rgb(var(--ink) / .4); opacity: 0; }
.lg-alvo i { position: absolute; left: 50%; width: 9px; height: 9px; margin: -4.5px 0 0 -4.5px; border-radius: 99px; background: rgb(var(--ink)); box-shadow: 0 0 0 2px rgb(var(--surface)); opacity: 0; }
.lg-alvo i.antes { background: rgb(var(--surface)); box-shadow: inset 0 0 0 2px rgb(var(--ink) / .5); }
.lg-alvo i.saldo { background: rgb(var(--brand)); }
.lg-alvo i.despesa { background: rgb(var(--negative)); }
.lg-alvo.foco::before, .lg-alvo.foco i { opacity: 1; }
.lg-x { position: relative; height: 22px; margin-left: 46px; }
.lg-x span { position: absolute; top: 6px; transform: translateX(-50%); font-size: 11px; color: rgb(var(--ink) / .72); white-space: nowrap; font-variant-numeric: tabular-nums; }
.lg-x span:first-child { transform: none; } .lg-x span.ult { transform: translateX(-100%); }
.lg-legenda { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 6px; font-size: 12px; color: rgb(var(--ink) / .8); }
.lg-legenda span { display: inline-flex; align-items: center; gap: 6px; }
.lg-legenda i { display: inline-block; width: 18px; height: 0; border-top: 2.5px solid rgb(var(--ink)); }
.lg-legenda i.antes { border-top: 2px dashed rgb(var(--ink) / .5); }
.lg-legenda i.saldo { border-top: 2.5px dashed rgb(var(--brand)); }
.lg-legenda i.despesa { border-top-color: rgb(var(--negative) / .75); }

/* barras deitadas: o nome à esquerda, o valor à direita e a barra embaixo, relativa à maior; a linha inteira abre o que ela é */
.bd { list-style: none; margin: 0 -8px; padding: 0; display: flex; flex-direction: column; }
.bd-linha { display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; width: 100%; min-height: 48px; padding: 7px 8px; border-radius: 14px; text-align: left; }
button.bd-linha { transition: background-color .12s; }
@media (hover: hover) { button.bd-linha:hover { background: rgb(var(--ink) / .05); } }
button.bd-linha:active { background: rgb(var(--ink) / .09); }
.bd-topo { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 10px; }
.bd-nome { min-width: 0; font-size: 14px; line-height: 1.3; }
.bd-nome .selo { margin-left: 6px; padding: 1px 7px; font-size: 11px; vertical-align: 1px; }
.bd-valor { margin-left: auto; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.bd-valor small { margin-right: 8px; font-size: 12px; font-weight: 400; color: rgb(var(--ink) / .75); }
.bd-trilho { display: block; height: 6px; border-radius: 6px; background: rgb(var(--ink) / .08); overflow: hidden; }
.bd-trilho i { display: block; height: 100%; border-radius: 6px; background: rgb(var(--brand)); }
.bd-trilho i.claro { background: rgb(var(--calor-1)); }
.bd-trilho.duplo { display: flex; flex-direction: column; gap: 3px; height: auto; background: none; border-radius: 0; }
.bd-trilho.duplo > span { display: block; height: 6px; border-radius: 6px; background: rgb(var(--ink) / .08); overflow: hidden; }
.bd-par { display: flex; flex-wrap: wrap; gap: 2px 14px; font-size: 12px; color: rgb(var(--ink) / .8); font-variant-numeric: tabular-nums; }
.bd-par b { font-weight: 600; color: rgb(var(--ink)); }
@media (max-width: 959px) { .cinco-no-celular > li:nth-child(n+6) { display: none; } }

/* uma barra só em partes (como foram cumpridos os prazos), com a legenda embaixo */
.partes-barra { display: flex; gap: 2px; height: 14px; border-radius: 7px; overflow: hidden; margin: 6px 0 12px; }
.partes-barra i { display: block; min-width: 4px; }
.partes-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; }
.partes-lista li { display: flex; align-items: baseline; gap: 8px; font-size: 13px; line-height: 1.3; color: rgb(var(--ink) / .85); }
.partes-lista li > i { width: 10px; height: 10px; border-radius: 3px; flex: none; transform: translateY(1px); }
.partes-lista b { font-family: Montserrat, Inter, sans-serif; font-weight: 400; font-size: 22px; letter-spacing: -.02em; color: rgb(var(--ink)); font-variant-numeric: tabular-nums; }
.p-interno { background: rgb(var(--ink)); } .p-depois { background: rgb(var(--calor-2)); } .p-ultimo { background: rgb(var(--warning)); } .p-atraso { background: rgb(var(--negative)); }

/* os miúdos: um número grande e uma linha; o cartão inteiro abre o relatório */
.miudos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.miudos > :last-child:nth-child(odd) { grid-column: 1 / -1; }
.miudo { display: flex; flex-direction: column; gap: 2px; min-width: 0; min-height: 104px; padding: 12px 14px; border-radius: 24px; text-align: left; box-shadow: var(--sombra-cartao); transition: transform .12s cubic-bezier(.16, 1, .3, 1); }
.miudo:active { transform: scale(.98); }
@media (hover: hover) { .miudo:hover { transform: translateY(-2px); } }
.miudo-titulo { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 13px; font-weight: 500; color: rgb(var(--ink) / .82); }
.miudo .numeral { font-size: 26px; line-height: 1.15; margin-top: 4px; color: rgb(var(--ink)); white-space: nowrap; }
.miudo > small { display: flex; flex-wrap: wrap; gap: 2px 6px; align-items: center; font-size: 12px; line-height: 1.35; color: rgb(var(--ink) / .78); font-variant-numeric: tabular-nums; }

/* o cabeçalho do cartão que leva ao relatório dele */
button.cartao-topo.vai { width: calc(100% + 12px); margin: -6px -6px 8px; padding: 6px; border-radius: 16px; text-align: left; }
@media (hover: hover) { button.cartao-topo.vai:hover { background: rgb(var(--ink) / .045); } }
.vai-mais { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: rgb(var(--ink) / .8); white-space: nowrap; }

/* a tira dos 12 meses do contrato: pago cheio, em aberto vazado, vencido em vermelho */
.tira-cab, .tira { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3px; }
.tira-cab span { font-size: 11px; text-align: center; color: rgb(var(--ink) / .7); text-transform: lowercase; white-space: nowrap; overflow: hidden; }
.tira-cab span.hoje { color: rgb(var(--ink)); font-weight: 600; }
.tira i { display: block; height: 12px; border-radius: 4px; }
.tira i.pago { background: rgb(var(--calor-3)); }
.tira i.aberto { box-shadow: inset 0 0 0 1.5px rgb(var(--ink) / .5); }
.tira i.vencido { background: rgb(var(--negative)); }
.tira i.fora { background: repeating-linear-gradient(135deg, rgb(var(--ink) / .1) 0 1.5px, transparent 1.5px 5px); }
.tira i.foco { box-shadow: 0 0 0 2px rgb(var(--ink)); }
.contratos { list-style: none; margin: 4px -8px 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.contrato { display: flex; flex-direction: column; gap: 8px; width: 100%; padding: 10px 8px 12px; border-radius: 16px; text-align: left; }
@media (hover: hover) { .contrato:hover { background: rgb(var(--ink) / .045); } }
.contrato.encerrado { opacity: .62; }
.contrato-topo { display: flex; align-items: flex-start; gap: 10px; }
.contrato-topo .disco { width: 36px; height: 36px; font-size: 12px; }
.contrato-topo > span:nth-child(2) { flex: 1; min-width: 0; }
.contrato-topo b { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.3; }
.contrato-topo small { display: block; font-size: 12.5px; color: rgb(var(--ink) / .78); line-height: 1.35; }
.contrato-valor { text-align: right; font-size: 14.5px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.contrato-valor small { display: block; font-size: 12px; font-weight: 400; color: rgb(var(--ink) / .75); }
.tira-legenda { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 10px; font-size: 12px; color: rgb(var(--ink) / .8); }
.tira-legenda span { display: inline-flex; align-items: center; gap: 6px; }
.tira-legenda i { display: inline-block; width: 14px; height: 10px; border-radius: 3px; }
.meses-contrato { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 520px) { .meses-contrato { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mes-contrato { padding: 8px 10px; border-radius: 14px; background: rgb(var(--ink) / .045); font-size: 12px; line-height: 1.35; color: rgb(var(--ink) / .8); }
.mes-contrato b { display: block; font-size: 13px; font-weight: 600; color: rgb(var(--ink)); text-transform: capitalize; }
.mes-contrato.vencido { background: rgb(var(--negative-soft)); color: rgb(var(--negative-fg)); }
.mes-contrato.aberto { box-shadow: inset 0 0 0 1.5px rgb(var(--ink) / .3); background: none; }
.mes-contrato.fora { opacity: .55; }

/* o mapa dia da semana x hora: a grade de calor do Hoje, com as horas em colunas */
.mapa-h { display: grid; grid-template-columns: 34px repeat(var(--n, 12), minmax(0, 1fr)); gap: 3px; align-items: center; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.mapa-h .celula { height: 24px; border-radius: 6px; }
.mapa-h .mapa-rot { font-size: 11.5px; }
.mapa-h .hora { font-size: 10.5px; text-align: center; color: rgb(var(--ink) / .7); font-variant-numeric: tabular-nums; padding-top: 3px; }
@media (min-width: 960px) { .mapa-h .celula { height: 28px; } }

/* tabelas dos relatórios: no celular saem as colunas de menos peso */
.tabela-caixa { margin: 0 -4px; }
.tabela-rel { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.tabela-rel th { padding: 6px 6px 8px; font-size: .75rem; font-weight: 600; color: rgb(var(--ink) / .72); text-align: left; border-bottom: 1px solid rgb(var(--ink) / .12); }
.tabela-rel td { padding: 9px 6px; border-bottom: 1px solid rgb(var(--ink) / .07); vertical-align: top; line-height: 1.35; }
.tabela-rel tr:last-child td { border-bottom: 0; }
.tabela-rel .n { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tabela-rel td small { display: block; font-size: 12px; color: rgb(var(--ink) / .75); }
.tabela-rel tfoot td { font-weight: 600; border-top: 1px solid rgb(var(--ink) / .14); }
.tabela-rel button { text-align: left; font-weight: 600; border-radius: 6px; }
@media (hover: hover) { .tabela-rel button:hover { text-decoration: underline; text-underline-offset: 3px; } }
@media (max-width: 639px) { .tabela-rel .so-largo { display: none; } .tabela-rel { font-size: 13px; } }
@media (max-width: 959px) { .tabela-rel.cinco-no-celular tbody tr:nth-child(n+6) { display: none; } }
.mais-linhas { margin-top: 6px; font-size: 12.5px; color: rgb(var(--ink) / .75); }
@media (min-width: 960px) { .mais-linhas { display: none; } }

/* Financeiro e Relatórios em duas colunas independentes no computador; no celular uma coluna, na ordem dos o0 a o8 */
.grade-rel { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.rel-col, .rel-par { display: contents; }
@media (max-width: 959px) { .o7 { order: 7; } .o8 { order: 8; } .o9 { order: 9; } }
@media (min-width: 1280px) {
  .grade-rel { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 18px; }
  .rel-col { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
  .rel-par { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .grade-rel .inteira { grid-column: 1 / -1; }
}
.grade-rel .heroi, .grade-rel .cartao { min-width: 0; }

/* Ocultar valores: um toque desfoca todo valor em reais, em todas as telas, até a leitura dos gráficos */
.sensivel { transition: filter .2s ease; }
body.ocultar .sensivel { filter: blur(8px); user-select: none; -webkit-user-select: none; }
body.ocultar .lg-alvos, body.ocultar .lg-x { pointer-events: none; }
.aviso-linha { display: flex; align-items: flex-start; gap: 8px; margin-top: 12px; padding: 10px 12px; border-radius: 16px; background: rgb(var(--ink) / .05); font-size: 13px; line-height: 1.45; color: rgb(var(--ink) / .88); }
.aviso-linha .ic { margin-top: 1px; color: rgb(var(--ink) / .7); }
.aviso-linha .link { font-size: 13px; }

/* o relatório para o cliente: as escolhas à esquerda e o papel à direita */
.grade-papel { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1280px) { .grade-papel { grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: 22px; align-items: start; } .grade-papel > :first-child { position: sticky; top: 96px; } }
.papel-paginas { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 18px 12px; border-radius: 30px; background: rgb(var(--palco-doc)); border: 1px solid rgb(var(--ink) / .1); }
.papel-paginas .miniatura { max-width: 620px; border-radius: 3px; box-shadow: 0 2px 4px rgb(0 0 0 / .22), 0 16px 36px rgb(0 0 0 / .24); }
.chips-clientes { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 959px) { .so-computador { display: none; } }
.secoes-escolha .marcar { min-height: 44px; font-size: 14px; font-weight: 400; letter-spacing: normal; text-transform: none; color: rgb(var(--ink)); }
.lg-plot svg * { vector-effect: non-scaling-stroke; }

/* Financeiro e Relatórios, segunda rodada: as três partes do Financeiro, a lista dos lançamentos, as horas, a revisão do relatório e o risco */
@media (min-width: 960px) { .so-celular { display: none !important; } }
.cinco > li:nth-child(n+6) { display: none; }
.ver-todos { margin: 4px 0 0 -4px; }
.mais-linhas.no-computador { display: none; }
@media (min-width: 960px) { .mais-linhas.no-computador { display: block; } }
.linha-texto small.inteira { display: block; -webkit-line-clamp: unset; overflow: visible; }
.linha-texto small.atraso-dias { color: rgb(var(--negative-fg)); font-weight: 600; }
/* no celular a folha empilha o botão principal em cima; os outros dividem a linha de baixo ou descem quando não cabem */
@media (max-width: 719px) { .folha-pe { flex-wrap: wrap; } .folha-pe .botao { flex: 1 1 auto; } .folha-pe .botao.principal { flex-basis: 100%; } }
/* a linha das setas de um calendário, embaixo do título do cartão */
.cal-nav { width: 100%; justify-content: space-between; margin: -6px 0 4px; }
.cal-nav .periodo { flex: 1; min-width: 0; }
@media (max-width: 959px) { .meses.ultimo-no-celular > .mes:first-child { display: none; } .meses.ultimo-no-celular > .mes + .mes { display: block; } .meses.ultimo-no-celular .mes-nome { display: none; } }
/* os quatro números do cartão principal na mesma altura, mesmo quando um rótulo quebra em duas linhas */
@media (min-width: 640px) { .trocam:not(.dois) .troca .rotulo { min-height: 2.6em; display: flex; align-items: flex-end; } }
.abas-fin { margin: -4px 0 14px; }
.chips-fin { display: flex; flex-wrap: wrap; gap: 6px; margin: -4px 0 12px; }
.chips-fin .tnum { margin-left: 4px; opacity: .75; }
.filtros-fin { margin-bottom: 6px; }
.lanc-resumo { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; padding: 10px 0 8px; border-top: 1px solid rgb(var(--ink) / .1); font-size: 13px; color: rgb(var(--ink) / .8); }
.lanc-resumo b { font-weight: 600; color: rgb(var(--ink)); }
.lista-lanc { list-style: none; margin: 0 -8px; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.lanc { display: flex; align-items: center; border-radius: 16px; transition: background-color .12s; }
.lanc .check-alvo { margin: 0 -6px 0 2px; }
.lanc .check-alvo[disabled] { opacity: .3; }
.check-alvo[aria-checked="true"] .check { background: rgb(var(--primary)); border-color: rgb(var(--primary)); color: rgb(var(--primary-fg)); }
.lanc.marcado { background: rgb(var(--ink) / .06); }
.lanc-corpo { flex: 1; min-width: 0; display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 8px; border-radius: 16px; text-align: left; transition: background-color .12s; }
@media (hover: hover) { .lanc-corpo:hover { background: rgb(var(--ink) / .05); } }
.lanc-corpo:active { background: rgb(var(--ink) / .09); }
.lanc-corpo .linha-texto b { font-weight: 500; font-size: 14px; }
.lanc-corpo > .bd-valor { flex: none; align-self: flex-start; padding-top: 2px; }
.lanc-situ { display: block; margin-top: 4px; }
.lanc-situ .selo { padding: 2px 8px; font-size: 11px; }
.lote.vidro-flutuante { background-color: rgb(var(--surface-2) / .94); background-image: none; border-color: rgb(var(--ink) / .14); }
.lote { position: sticky; bottom: calc(96px + env(safe-area-inset-bottom, 0px)); z-index: 5; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin: 12px -6px 0; padding: 10px 10px 10px 16px; border-radius: 22px; font-size: 13.5px; }
@media (min-width: 960px) { .lote { bottom: 16px; } }
.lanc-mais { display: flex; flex-wrap: wrap; gap: 4px; margin: 12px -4px 0; padding-top: 10px; border-top: 1px solid rgb(var(--ink) / .1); }
/* Registrar pagamento: o botão principal do Financeiro com o Novo lançamento ao lado, sem moldura; no celular os dois numa linha */
.cabeca-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
@media (max-width: 719px) { .cabeca-acoes .botao.fantasma { padding: 0 10px; } .cabeca-acoes .botao.fantasma .ic { display: none; } }
/* a folha Pagamento recebido: o valor em número grande, a lista do que ele quita e a frase do resultado em cima do botão */
.pg-valor .campo { min-height: 60px; font-family: Montserrat, Inter, sans-serif; font-size: 28px; font-weight: 400; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.pg-valor .campo::placeholder { color: rgb(var(--ink) / .3); }
.pg-quita { display: flex; flex-direction: column; gap: 6px; }
.pg-quita:empty { display: none; }
.pg-item .check { transition: background-color .15s, border-color .15s, color .15s, transform .12s; }
.pg-item:active .check { transform: scale(.9); }
.pg-item[aria-checked="true"] .check, .pg-item[aria-checked="mixed"] .check { background: rgb(var(--primary)); border-color: rgb(var(--primary)); color: rgb(var(--primary-fg)); }
.pg-item[aria-checked="false"] .bd-valor { color: rgb(var(--ink) / .62); font-weight: 500; }
.pg-item .bd-valor { align-self: flex-start; padding-top: 2px; }
.pg-item .atraso-dias { color: rgb(var(--negative-fg)); font-weight: 600; }
.pg-nada { font-size: 14px; line-height: 1.45; color: rgb(var(--ink) / .85); }
.pg-avulso { display: flex; flex-direction: column; gap: 16px; }
.pg-avulso[hidden] { display: none; }
.folha-pe:has(.pg-resultado) { flex-wrap: wrap; }
.pg-resultado { flex-basis: 100%; min-height: 1.4em; font-size: 13.5px; line-height: 1.4; color: rgb(var(--ink) / .85); text-wrap: pretty; }
.pg-resultado b { font-weight: 600; color: rgb(var(--ink)); }
.pg-alerta { color: rgb(var(--warning-fg)); font-weight: 600; }
/* com o teclado aberto no celular, a frase do resultado mora embaixo do valor */
/* o Fechar da folha: alvo de dedo no celular, com ou sem ponteiro grosso */
@media (max-width: 719px) { .folha-cabeca .botao { min-height: 44px; } }
.botao.perigo { color: rgb(var(--negative-fg)); }
.capa-fatos dd small { display: block; font-size: 12px; font-weight: 400; color: rgb(var(--ink) / .75); }
.mam .bd-nome b { font-weight: 600; }
.mam .bd-nome small { font-size: 12px; color: rgb(var(--ink) / .7); }
.mam .bd-linha[aria-pressed="true"] { background: rgb(var(--ink) / .06); box-shadow: inset 0 0 0 1px rgb(var(--ink) / .08); }
.mam-soma { margin-top: 8px; font-size: 12.5px; color: rgb(var(--ink) / .78); }
.mam-soma b { color: rgb(var(--ink)); font-weight: 600; }
.bd-dono { display: block; font-size: 12px; color: rgb(var(--ink) / .75); }
.crono-tempo { font-size: 48px; line-height: 1.05; margin: -2px 0 6px; color: rgb(var(--ink)); }
.fora-fatura .linha-texto b { color: rgb(var(--ink) / .55); text-decoration: line-through; text-decoration-color: rgb(var(--ink) / .35); }
.formatos { margin-top: 14px; }
.formatos .botao small { display: block; font-size: 12px; }
/* o relatório para o cliente: escolhas, situação e histórico à esquerda; a revisão ou as páginas à direita */
.papel-lado { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.grade-papel > .papel-lado { position: static; }
.papel-direita { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.papel-direita > .segmento { align-self: flex-start; }
@media (max-width: 959px) { .papel-lado { display: contents; } }
.pagina-botao { display: block; width: 100%; max-width: 620px; border-radius: 3px; }
.pagina-botao:focus-visible { outline: 2px solid rgb(var(--brand)); outline-offset: 4px; }
.papel-dica { font-size: 12.5px; color: rgb(var(--ink) / .75); margin: -4px 0 0; }
.rev-lista { display: flex; flex-direction: column; gap: 12px; }
.rev-item { border-radius: 24px; padding: 14px 16px 12px; box-shadow: var(--sombra-cartao); }
.rev-cabeca { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.rev-cabeca b { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.3; }
.rev-cabeca small { display: block; font-size: 12px; color: rgb(var(--ink) / .7); }
.rev-par { display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .rev-par { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rev-original, .rev-rascunho { min-width: 0; border-radius: 16px; padding: 10px 12px; font-size: 13.5px; line-height: 1.45; }
.rev-original { background: rgb(var(--ink) / .045); }
.rev-rascunho { background: rgb(var(--surface)); box-shadow: inset 0 0 0 1px rgb(var(--ink) / .1); }
.rev-original .rotulo, .rev-rascunho .rotulo { display: block; margin-bottom: 6px; }
.rev-original ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.rev-original button { text-align: left; font-weight: 500; line-height: 1.35; }
.rev-original small { display: block; font-size: 12px; color: rgb(var(--ink) / .75); }
.rev-rascunho textarea { font: inherit; width: 100%; min-height: 132px; font-size: 14px; line-height: 1.45; resize: vertical; }
.rev-acoes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.progresso { height: 6px; margin-top: 8px; border-radius: 6px; background: rgb(var(--ink) / .08); overflow: hidden; }
.progresso i { display: block; height: 100%; border-radius: 6px; background: rgb(var(--positive)); transition: width .3s; }
.codigo-versao { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.codigo-versao b { font-family: Montserrat, Inter, sans-serif; font-size: 18px; font-weight: 600; letter-spacing: .04em; }
.envios, .hist-rel { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.envios li { display: flex; align-items: center; gap: 8px; font-size: 13px; color: rgb(var(--ink) / .85); }
.hist-rel li { padding-bottom: 10px; border-bottom: 1px solid rgb(var(--ink) / .08); font-size: 13.5px; line-height: 1.35; }
.hist-rel li:last-child { padding-bottom: 0; border-bottom: 0; }
.hist-rel small { display: block; margin-top: 2px; font-size: 12.5px; color: rgb(var(--ink) / .78); }
.hist-rel small.envio { display: flex; align-items: center; gap: 6px; }
/* o risco em três faixas: a avaliação atual acesa na cor do tamanho do risco */
.risco-faixas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; }
.risco-faixas span { display: flex; align-items: center; justify-content: center; min-height: 34px; border-radius: 10px; font-size: 12.5px; font-weight: 500; background: rgb(var(--ink) / .06); color: rgb(var(--ink) / .62); }
.risco-faixas span.atual { font-weight: 700; box-shadow: inset 0 0 0 1.5px currentColor; }
.risco-faixas .remota.atual { background: rgb(var(--positive-soft)); color: rgb(var(--positive-fg)); }
.risco-faixas .possivel.atual { background: rgb(var(--warning-soft)); color: rgb(var(--warning-fg)); }
.risco-faixas .provavel.atual { background: rgb(var(--negative-soft)); color: rgb(var(--negative-fg)); }

/* Calculadoras e Peças: o formulário à esquerda e o resultado à direita (no celular, um embaixo do outro, com o total
   sempre à vista); a fila de protocolo com a escada da situação; os modelos em página; o rascunho com o que falta em azul */
.abas-calc { max-width: 520px; margin: -4px 0 16px; }
.calc-processo { display: flex; align-items: center; gap: 8px; }
.calc-processo > span { flex: 1 1 0; min-width: 0; }
.calc-processo > .botao { flex: none; }
.calc-processo .ic { color: rgb(var(--ink) / .7); }
.grade-calc { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.calc-direita { display: flex; flex-direction: column; gap: 16px; min-width: 0; scroll-margin-top: 96px; }
@media (min-width: 1280px) { .grade-calc { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 18px; align-items: start; } .calc-direita { gap: 18px; } }
.form-calc { display: flex; flex-direction: column; gap: 16px; }
.segmento.cinco { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); width: 100%; }
.segmento.cinco button { justify-content: center; text-align: center; min-height: 52px; padding: 4px 2px; font-size: 12px; line-height: 1.2; white-space: normal; }
.campo-sufixo { position: relative; }
.campo-sufixo .campo { padding-right: 92px; }
.campo-sufixo span { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 14px; color: rgb(var(--ink) / .72); pointer-events: none; white-space: nowrap; }
.campo-indice { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 7px 14px 7px 16px; text-align: left; cursor: pointer; }
.campo-indice b { display: block; font-size: 15px; font-weight: 600; line-height: 1.25; }
.campo-indice b.vazio { font-weight: 500; color: rgb(var(--ink) / .64); }
.campo-indice small { display: block; font-size: 12.5px; color: rgb(var(--ink) / .75); }
.campo-indice .ic { color: rgb(var(--ink) / .6); }
@media (hover: hover) { .campo-indice:hover { border-color: rgb(var(--ink)); } }
.indice-ate { flex: none; text-align: right; line-height: 1.2; }
.indice-ate small { display: block; font-size: 11px; color: rgb(var(--ink) / .72); }
.indice-ate b { font-size: 14px; font-weight: 600; }
.lista-indices .linha[aria-pressed="true"] { background: rgb(var(--ink) / .07); box-shadow: inset 0 0 0 1.5px rgb(var(--ink) / .45); }
.lista-indices .linha[aria-pressed="true"] .disco { background: rgb(var(--ink)); color: rgb(var(--canvas)); border-color: transparent; }
.calc-total.numeral { font-size: 52px; line-height: 1.05; margin: 2px 0 6px; color: rgb(var(--ink)); }
@media (min-width: 960px) { .calc-total.numeral { font-size: 60px; } }
.numeral .cent { font-size: .48em; letter-spacing: 0; color: rgb(var(--ink) / .72); font-weight: 400; }
.calc-sub { font-size: 14px; line-height: 1.45; color: rgb(var(--ink) / .85); }
.fixos.calc-fixos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.calc-fixos > :last-child { grid-column: 1 / -1; }
.calc-fixos .numeral { font-size: 26px; }
@media (min-width: 640px) { .fixos.calc-fixos { grid-template-columns: repeat(3, minmax(0, 1fr)); } .calc-fixos > :last-child { grid-column: auto; } .calc-fixos .numeral { font-size: 24px; } }
@media (min-width: 1100px) { .calc-fixos .numeral { font-size: 28px; } }
.dois-campos.meses-campos { grid-template-columns: minmax(0, 1fr); }
.calc-fixos .numeral small { font-size: 15px; }
.calc-falta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 6px; padding: 12px 14px; border-radius: 18px; background: rgb(var(--ink) / .05); font-size: 14px; line-height: 1.4; }
.calc-falta > span { flex: 1 1 180px; }
.calc-falta .ic { color: rgb(var(--ink) / .7); }
.calc-partes { margin-top: 14px; padding-top: 10px; border-top: 1px solid rgb(var(--ink) / .1); }
.vazio-calc { font-weight: 500; color: rgb(var(--ink) / .62); }
.calc-heroi .ficha-acoes { margin-top: 16px; }
.calc-paginas { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 120px)); gap: 14px; }
.calc-paginas .tile-arquivo small { margin-top: -2px; }
.calc-resumo { display: none; }
@media (max-width: 959px) {
  .calc-resumo { position: sticky; bottom: calc(96px + env(safe-area-inset-bottom, 0px)); z-index: 5; display: flex; align-items: center; gap: 10px; margin: 16px -6px -4px; padding: 6px 6px 6px 16px; border-radius: 22px; font-size: 13.5px; }
  .calc-resumo span { flex: 1; min-width: 0; color: rgb(var(--ink) / .8); }
  .calc-resumo b { font-weight: 600; font-size: 15px; }
}
.calc-resumo.vidro-flutuante { background-color: rgb(var(--surface-2) / .94); background-image: none; border-color: rgb(var(--ink) / .14); }
.tabela-rolagem { max-height: 440px; overflow: auto; overscroll-behavior: contain; margin: 0 -4px; border-radius: 12px; }
.tabela-rolagem thead th { position: sticky; top: 0; z-index: 1; background: rgb(var(--surface-2)); }
.tabela-rolagem td small { white-space: nowrap; }

.fila-item .linha { align-items: flex-start; }
.fila-item .linha > .bloco-data, .fila-item .linha > .disco { margin-top: 2px; }
.fila-item .linha > .seta { align-self: center; }
.fila-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 5px; font-size: 12px; line-height: 1.35; color: rgb(var(--ink) / .78); }
.fila-meta .selo { padding: 2px 8px; font-size: 11px; }
.fila-acao { padding: 0 8px 10px 64px; }
.fila-filtro { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; padding: 6px 6px 6px 14px; border-radius: 22px; font-size: 13.5px; font-weight: 500; }
.fila-filtro > span { display: inline-flex; align-items: center; gap: 8px; }
.etapas { list-style: none; margin: 14px 0 4px; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); }
.etapa { position: relative; display: flex; flex-direction: column; align-items: center; gap: 7px; font-size: 11.5px; line-height: 1.25; text-align: center; color: rgb(var(--ink) / .62); }
.etapa::before { content: ""; position: absolute; top: 6px; right: 50%; width: 100%; height: 2px; background: rgb(var(--ink) / .14); }
.etapa:first-child::before { display: none; }
.etapa.feita::before, .etapa.atual::before { background: rgb(var(--ink) / .7); }
.etapa i { position: relative; z-index: 1; width: 14px; height: 14px; border-radius: 99px; border: 2px solid rgb(var(--ink) / .35); background: rgb(var(--surface)); }
.etapa.feita i { background: rgb(var(--ink) / .7); border-color: transparent; }
.etapa.atual { color: rgb(var(--ink)); font-weight: 600; }
.etapa.atual i { background: rgb(var(--ink)); border-color: rgb(var(--ink)); box-shadow: 0 0 0 4px rgb(var(--ink) / .14); }
.comprovante { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; align-items: center; padding: 10px; border-radius: 20px; background: rgb(var(--ink) / .045); }
.comprovante b { display: block; font-size: 14px; font-weight: 600; line-height: 1.3; word-break: break-word; }
.comprovante small { display: block; font-size: 12.5px; color: rgb(var(--ink) / .75); }
.modelos-barra { display: flex; flex-direction: column; gap: 12px; margin-bottom: 18px; }
.modelos-barra .campo-busca { max-width: 520px; }
.modelos-barra .chips-fin { margin: 0; }
.grade-modelos-p { display: grid; gap: 22px 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 720px) { .grade-modelos-p { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .grade-modelos-p { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px 18px; } }
.modelo-cartao { display: flex; flex-direction: column; gap: 10px; min-width: 0; text-align: left; border-radius: 8px; }
.modelo-cartao .miniatura { transition: transform .2s cubic-bezier(.16, 1, .3, 1), box-shadow .2s; }
@media (hover: hover) { .modelo-cartao:hover .miniatura { transform: translateY(-3px); box-shadow: 0 2px 4px rgb(0 0 0 / .2), 0 14px 28px rgb(var(--sombra) / .2); } }
.modelo-cartao:active .miniatura { transform: scale(.97); }
.modelo-nome b { display: block; font-size: 14px; font-weight: 600; line-height: 1.3; }
.modelo-nome small { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-top: 3px; font-size: 12.5px; color: rgb(var(--ink) / .75); }
.modelo-nome .selo { padding: 1px 8px; font-size: 11px; }
.chips-var { display: flex; flex-wrap: wrap; gap: 6px; }
.chip-var { display: inline-flex; align-items: center; min-height: 28px; padding: 0 11px; border-radius: 999px; font-size: 12.5px; font-weight: 500; background: rgb(var(--ink) / .06); border: 1px solid rgb(var(--ink) / .1); }
.grade-papel > .papel-lado .atencao { padding: 20px; }
/* o papel: a variável da biblioteca, o dado que falta e o texto para escrever */
.doc .var { font-family: Inter, sans-serif; font-size: 9.4px; font-weight: 600; letter-spacing: .01em; color: #33413a; background: #e7eee9; border: 1px solid #c4d1c9; border-radius: 4px; padding: 0 4px; text-indent: 0; text-transform: none; }
.doc mark.falta { background: #d6e4ff; color: #14306b; font-family: Inter, sans-serif; font-size: 9.4px; font-weight: 700; padding: 0 3px; border-radius: 3px; box-shadow: 0 0 0 1px #5b86d6; text-transform: none; }
.doc .lacuna { color: #3c4252; font-style: italic; background: #e9ecf2; box-shadow: 0 0 0 1px #c2c8d4; border-radius: 2px; }
/* o papel de escrever: a letra do tamanho da tela, o dado da pasta inteiro num destaque e o texto para escrever realçado */
.papel-editor { min-height: 56vh; padding: 26px 20px 36px; border-radius: 6px; background: #fff; color: #1d1d1b; font-family: Tinos, "Times New Roman", serif; font-size: 17px; line-height: 1.6; text-align: left; box-shadow: 0 2px 4px rgb(0 0 0 / .18), 0 16px 36px rgb(0 0 0 / .2); outline: none; caret-color: #111; overflow-wrap: anywhere; }
@media (min-width: 720px) { .papel-editor { padding: 54px 62px 62px; text-align: justify; hyphens: auto; } }
.papel-editor:focus-visible { box-shadow: 0 0 0 3px rgb(var(--ink) / .35), 0 16px 36px rgb(0 0 0 / .2); }
.papel-editor p { margin: 0 0 12px; }
.papel-editor h1 { font-size: 19px; font-weight: 700; text-align: center; letter-spacing: .04em; margin: 18px 0 14px; }
.papel-editor h2 { font-size: 17px; font-weight: 700; margin: 20px 0 8px; }
.papel-editor .end { font-weight: 700; text-transform: uppercase; margin-bottom: 22px; }
.papel-editor .dir { text-align: right; }
.papel-editor ol, .papel-editor ul { margin: 0 0 12px; padding-left: 28px; }
.papel-editor li { margin-bottom: 6px; }
.papel-editor .alta { text-transform: uppercase; }
.papel-editor .assina, .papel-editor .eletronica { margin: 26px auto 0; max-width: 300px; text-align: center; line-height: 1.35; }
.papel-editor .assina .linha-a { border-top: 1px solid #333; margin: 30px 0 6px !important; }
.papel-editor small { display: block; font-size: 14px; color: #555; }
.var-ed { font-family: Inter, sans-serif; font-size: .8em; font-weight: 600; font-style: normal; text-transform: none; padding: 1px 6px; border-radius: 6px; background: #e8ebe9; box-shadow: inset 0 0 0 1px #c6ccc8; color: #29302c; }
.var-ed.falta { background: #d6e4ff; box-shadow: inset 0 0 0 1px #5b86d6; color: #14306b; }
.lacuna-ed { font-style: italic; color: #3c4252; background: #e9ecf2; box-shadow: 0 0 0 1px #c2c8d4; border-radius: 4px; padding: 0 2px; cursor: text; }
.editor-barra { position: sticky; bottom: calc(96px + env(safe-area-inset-bottom, 0px)); z-index: 5; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; align-self: center; padding: 6px; border-radius: 22px; }
.editor-barra.vidro-flutuante { background-color: rgb(var(--surface-2) / .94); background-image: none; border-color: rgb(var(--ink) / .14); }
@media (min-width: 960px) { .editor-barra { bottom: 22px; } }
/* comparar índices: o escolhido é a linha do meio; cada índice anda para a direita (mais) ou para a esquerda (menos) */
.dif-trilho { position: relative; display: block; height: 8px; border-radius: 6px; background: rgb(var(--ink) / .06); }
.dif-trilho::before { content: ""; position: absolute; left: 50%; top: -4px; bottom: -4px; width: 2px; margin-left: -1px; border-radius: 1px; background: rgb(var(--ink) / .55); }
.dif-trilho i { position: absolute; top: 0; bottom: 0; border-radius: 6px; }
.dif-trilho i.mais { left: 50%; background: rgb(var(--brand)); }
.dif-trilho i.menos { right: 50%; background: rgb(var(--ink) / .4); }
.dif-eixo { display: flex; justify-content: space-between; margin: 2px 0 0; font-size: 11.5px; color: rgb(var(--ink) / .72); }
.dif-eixo span:nth-child(2) { font-weight: 600; color: rgb(var(--ink) / .85); }
/* a regra do cálculo no "i": uma parte por linha */
.regra-i .regra-l { display: block; }
.regra-i .regra-l + .regra-l { margin-top: 6px; }
/* a peça: o histórico, os modelos com Opções, o gerar com IA */
.historico { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 13px; line-height: 1.4; }
.historico li { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 10px; }
.historico li > :first-child { color: rgb(var(--ink) / .72); }
.modelo-abrir { display: flex; flex-direction: column; gap: 10px; min-width: 0; text-align: left; border-radius: 8px; }
.modelo-opcoes { align-self: flex-start; margin: -6px 0 0 -10px; }
.fixos dd.fixo-variacao { margin-top: 6px; }
.lista-ia { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; line-height: 1.4; }
.lista-ia li { display: flex; gap: 8px; align-items: flex-start; }
.lista-ia .ic { flex: none; margin-top: 2px; color: rgb(var(--ink) / .8); }
.lista-ia.fica .ic { color: rgb(var(--ink) / .55); }
.gerar-botao { width: 100%; margin-top: 14px; }
.ia-gerando { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; }
.esqueleto-papel { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.esqueleto-papel i { display: block; height: 10px; border-radius: 6px; background: rgb(var(--ink) / .08); animation: brilho-esq 1.2s ease-in-out infinite alternate; }
.esqueleto-papel i:nth-child(3n) { width: 70%; }
.esqueleto-papel i:nth-child(4n) { width: 86%; }
@keyframes brilho-esq { to { opacity: .45; } }
@media (prefers-reduced-motion: reduce) { .esqueleto-papel i { animation: none; } }
.vazio-ia { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 32px 20px; text-align: center; }
textarea.campo { font: inherit; font-size: 16px; padding-top: 12px; padding-bottom: 12px; line-height: 1.45; resize: vertical; }
textarea.campo-cresce { display: block; resize: none; field-sizing: content; max-height: calc(5lh + 26px); overflow-y: auto; }
@media (max-width: 719px) { textarea.campo-cresce { min-height: calc(2lh + 26px); } }
.doc .alta { text-transform: uppercase; }
/* dentro da página o negrito e o texto pequeno são os do papel: as regras das miniaturas (.tile-arquivo b, .pasta-arquivo b) não entram */
.doc b { display: inline; font-size: inherit; font-weight: 700; line-height: inherit; color: inherit; overflow: visible; -webkit-line-clamp: unset; }
.doc small { display: inline; margin: 0; font-size: smaller; color: inherit; white-space: normal; overflow: visible; text-overflow: clip; }

/* O mundo do papel: cores fixas, iguais nos dois temas (papel é papel) */
.doc { width: 595px; height: 842px; position: relative; overflow: hidden; background: #fff; color: #1d1d1b; font-family: Tinos, "Times New Roman", serif; font-size: 11.6px; line-height: 1.56; padding: 58px 60px 60px; text-align: justify; hyphens: auto; }
.doc .conteudo { position: relative; z-index: 1; }
.doc p { margin: 0 0 8px; text-indent: 34px; }
.doc p.sr0, .doc .sr0 { text-indent: 0; }
.doc h1 { font-size: 13.5px; text-align: center; font-weight: 700; letter-spacing: .04em; margin: 14px 0 12px; }
.doc h2 { font-size: 11.6px; font-weight: 700; margin: 14px 0 6px; letter-spacing: .02em; }
.doc .end { font-weight: 700; text-indent: 0; margin-bottom: 26px; text-transform: uppercase; }
.doc .dir { text-align: right; text-indent: 0; margin-top: 14px; }
.doc .centro { text-align: center; text-indent: 0; }
.doc ol, .doc ul { margin: 0 0 8px; padding-left: 30px; }
.doc li { margin-bottom: 4px; }
.doc .timbre { display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 1px solid #0f3d2e; padding-bottom: 8px; margin-bottom: 26px; font-family: Montserrat, Inter, sans-serif; text-align: left; }
.doc .timbre b { font-size: 12px; font-weight: 700; letter-spacing: .22em; color: #0f3d2e; display: block; }
.doc .timbre small { font-size: 7.5px; letter-spacing: .32em; color: #1f6b52; }
.doc .timbre span { font-size: 7.5px; color: #55635c; letter-spacing: .08em; }
.doc .timbre-oposto { border-bottom: 1px solid #555; padding-bottom: 6px; margin-bottom: 24px; font-family: Tinos, serif; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #444; text-align: center; }
.doc .corte { display: flex; gap: 12px; align-items: center; justify-content: center; text-align: center; margin-bottom: 20px; font-family: Tinos, serif; }
.doc .corte svg { width: 38px; height: 38px; flex: none; }
.doc .corte div { line-height: 1.35; }
.doc .corte .c1 { font-weight: 700; font-size: 11px; letter-spacing: .08em; }
.doc .corte .cn { font-size: 10px; letter-spacing: .04em; }
.doc .quadro-proc { border: 1px solid #999; padding: 8px 10px; margin-bottom: 16px; font-size: 10.4px; line-height: 1.5; text-align: left; }
.doc .quadro-proc div { text-indent: 0; }
.doc .assina { margin: 26px auto 0; width: 240px; text-align: center; font-size: 10.8px; line-height: 1.35; text-indent: 0; }
.doc .assina .linha-a { border-top: 1px solid #333; margin-bottom: 4px; }
.doc .assina small { font-size: 9.6px; color: #444; }
.doc .manuscrita { font-family: "Mrs Saint Delafield", cursive; font-size: 38px; line-height: .9; color: #213e93; transform: rotate(-4deg); margin-bottom: -4px; white-space: nowrap; }
.doc .eletronica { margin-top: 22px; text-align: center; font-size: 10.6px; line-height: 1.4; }
.doc .eletronica small { display: block; font-size: 9px; color: #555; }
.doc .rodape { position: absolute; left: 60px; right: 60px; bottom: 24px; display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; font-size: 8.4px; color: #666; border-top: 1px solid #ddd; padding-top: 6px; text-align: left; font-family: Inter, sans-serif; }
.doc .rodape svg { width: 44px; height: 44px; flex: none; }
.doc mark.achado { background: #cfe0ff; color: inherit; border-radius: 2px; box-shadow: 0 0 0 1.5px #cfe0ff; }
.doc mark.achado.atual { background: #9fc0ff; box-shadow: 0 0 0 2px #3d6fd6; }
.doc table { width: 100%; border-collapse: collapse; font-size: 10.8px; margin: 10px 0 14px; font-variant-numeric: tabular-nums; }
.doc th, .doc td { border: 1px solid #b9b9b9; padding: 5px 7px; text-align: left; }
.doc th { background: #eef1ef; font-weight: 700; }
.doc td.v { text-align: right; }
.doc .foto { display: block; width: 100%; height: 230px; margin: 6px 0 4px; border: 1px solid #aaa; }
.doc .legenda-foto { font-size: 9.6px; font-style: italic; text-align: center; text-indent: 0; color: #444; margin-bottom: 12px; }
.doc.scan { background: #f3f0e7; color: #2a2825; }
.doc.scan::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: .5; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .48 0 0 0 0 .44 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.doc.scan::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: linear-gradient(90deg, rgb(0 0 0 / .1), transparent 5%, transparent 94%, rgb(0 0 0 / .07)), linear-gradient(180deg, rgb(0 0 0 / .05), transparent 6%, transparent 92%, rgb(0 0 0 / .08)); }
.doc.scan .conteudo { transform: rotate(-.45deg); filter: contrast(1.05); }
.doc.maquina { font-family: "Courier Prime", "Courier New", monospace; font-size: 10.6px; line-height: 1.62; }
.doc.maquina h1 { font-family: "Courier Prime", monospace; }
.doc .carimbo { display: inline-block; border: 2px double #2d3f8f; color: #2d3f8f; padding: 6px 10px; font-family: "Courier Prime", monospace; font-size: 9px; line-height: 1.35; text-align: center; transform: rotate(-6deg); opacity: .78; text-indent: 0; font-weight: 700; }
.doc .form { border: 1.5px solid #333; text-align: left; }
.doc .form-cab { display: flex; justify-content: space-between; align-items: center; padding: 8px 10px; border-bottom: 1.5px solid #333; font-family: Inter, sans-serif; }
.doc .form-cab b { font-size: 11px; letter-spacing: .04em; display: block; }
.doc .form-cab small { font-size: 8.5px; letter-spacing: .06em; }
.doc .form-cab .num { font-size: 13px; font-weight: 700; font-family: "Courier Prime", monospace; }
.doc .campo-f { display: grid; grid-template-columns: 130px 1fr; border-bottom: 1px solid #555; min-height: 34px; }
.doc .campo-f > span:first-child { font-family: Inter, sans-serif; font-size: 8.5px; letter-spacing: .06em; text-transform: uppercase; padding: 5px 8px; border-right: 1px solid #555; background: rgb(0 0 0 / .03); }
.doc .campo-f > span:last-child { font-family: "Courier Prime", monospace; font-size: 11px; padding: 5px 9px; }
.doc .campo-f.alto { min-height: 88px; }
.doc .rabisco { font-family: "Mrs Saint Delafield", cursive; font-size: 30px; color: #1e2f6e; }
.doc.doc-foto { padding: 0; background: #fff; }
.doc.doc-foto img { display: block; width: 100%; height: 100%; object-fit: contain; }
.doc .generico { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; font-family: Inter, sans-serif; color: #55635c; padding: 60px; }
.doc .generico svg { width: 72px; height: 72px; fill: none; stroke: #8a9a92; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
.doc .generico b { font-size: 18px; color: #1d1d1b; word-break: break-word; }

/* Conversas, Assistente e Integrações: a caixa do WhatsApp e do e-mail com a pessoa ao lado, as respostas com a origem
   de cada frase e as conexões do escritório. Os balões seguem o Mensagens da Apple, em cinza: o que o escritório manda
   no tom do botão principal (acompanha a cor de destaque), o que chega no branco do cartão */
.selo-demo { vertical-align: 6px; margin-left: 8px; }
.seg-conv { margin-bottom: 14px; }
@media (min-width: 960px) { .seg-conv { max-width: 620px; } }
.grade-conv { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) {
  /* a grade vai até o pé da janela sem a página rolar: o topo dela (296 px com as abas e os filtros) mais o pé da página (16 px) */
  .grade-conv { grid-template-columns: minmax(0, 290px) minmax(0, 1fr) minmax(0, 248px); gap: 14px; height: max(420px, calc(100vh - 313px)); align-items: stretch; }
  .grade-conv > * { min-height: 0; }
  body[data-tela="conversas"] main { padding-bottom: 16px; }
}
@media (min-width: 960px) and (max-width: 1340px) { .grade-conv { grid-template-columns: minmax(0, 284px) minmax(0, 1fr) minmax(0, 208px); gap: 12px; } .conv-lado { padding: 14px 12px; } }
.conv-lista { border-radius: 26px; padding: 8px; min-width: 0; }
@media (min-width: 960px) { .conv-lista { overflow-y: auto; overscroll-behavior: contain; } }
.conv-lista .lista { margin: 0; }
.conv-linha { align-items: flex-start; min-height: 68px; }
.conv-linha .disco { margin-top: 2px; }
.conv-linha[aria-current="true"] { background: rgb(var(--ink) / .08); box-shadow: inset 0 0 0 1px rgb(var(--ink) / .08); }
.conv-linha .linha-texto small { -webkit-line-clamp: 1; }
.conv-topo { display: flex; align-items: baseline; gap: 8px; min-width: 0; }
.conv-topo b { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.conv-hora { flex: none; font-size: 12px; color: rgb(var(--ink) / .72); font-variant-numeric: tabular-nums; }
.conv-selos { display: flex; flex-wrap: wrap; gap: 4px 6px; margin-top: 5px; }
.conv-selos .selo { padding: 2px 8px; font-size: 11px; }
.nao-lidas { flex: none; align-self: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 99px; background: rgb(var(--primary)); color: rgb(var(--primary-fg)); font-size: 12px; font-weight: 700; line-height: 22px; text-align: center; font-variant-numeric: tabular-nums; }
.canal { display: inline-flex; align-items: center; gap: 3px; color: rgb(var(--ink) / .72); }
.canal .ic { width: 12px; height: 12px; }
/* a conversa aberta: cabeça, o que se fala e o campo de escrever, numa coluna que rola por dentro no computador */
.conv-meio { display: flex; flex-direction: column; min-width: 0; border-radius: 26px; }
@media (min-width: 960px) { .conv-meio { overflow: hidden; } }
.conv-cabeca { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-bottom: 1px solid rgb(var(--ink) / .08); flex: none; }
.conv-cabeca .linha-texto b { font-size: 15.5px; }
.conv-cabeca .linha-texto small { -webkit-line-clamp: 1; }
.conv-fio { flex: 1 1 auto; min-height: 0; padding: 14px 14px 18px; display: flex; flex-direction: column; gap: 6px; }
@media (min-width: 960px) { .conv-fio { overflow-y: auto; overscroll-behavior: contain; } }
.conv-dia { align-self: center; margin: 10px 0 4px; padding: 2px 10px; border-radius: 99px; font-size: 11.5px; font-weight: 600; color: rgb(var(--ink) / .75); background: rgb(var(--ink) / .06); }
.balao-linha { display: flex; flex-direction: column; align-items: flex-start; max-width: min(84%, 520px); }
.balao-linha.nos { align-self: flex-end; align-items: flex-end; }
.balao { position: relative; padding: 9px 13px; border-radius: 20px; font-size: 15px; line-height: 1.42; overflow-wrap: anywhere; background: rgb(var(--surface)); color: rgb(var(--ink)); box-shadow: 0 1px 2px rgb(var(--sombra) / .08), inset 0 0 0 1px rgb(var(--ink) / .07); }
.balao-linha:not(.nos) .balao { border-bottom-left-radius: 7px; }
.nos .balao { background: rgb(var(--primary)); color: rgb(var(--primary-fg)); box-shadow: none; border-bottom-right-radius: 7px; }
.nos .balao.automatico { background: rgb(var(--surface-2)); color: rgb(var(--ink)); box-shadow: inset 0 0 0 1.5px rgb(var(--ink) / .22); }
.balao-assunto { display: block; font-size: 12.5px; font-weight: 700; margin-bottom: 3px; }
.balao-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; margin: 3px 6px 6px; font-size: 11.5px; color: rgb(var(--ink) / .72); font-variant-numeric: tabular-nums; }
.balao-meta .ic { width: 12px; height: 12px; }
.balao-meta > span { display: inline-flex; align-items: center; gap: 3px; }
/* o arquivo que chegou: a primeira página de verdade e para onde ele foi */
.anexo { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 12px; align-items: center; width: min(320px, 72vw); padding: 10px; border-radius: 18px; text-align: left; background: rgb(var(--surface)); box-shadow: inset 0 0 0 1px rgb(var(--ink) / .08); }
button.anexo:active { transform: scale(.98); }
@media (hover: hover) { button.anexo:hover { box-shadow: inset 0 0 0 1px rgb(var(--ink) / .22); } }
.anexo .miniatura, .mini-doc .miniatura { display: block; }
.anexo b { display: block; font-size: 13.5px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
.anexo small { display: block; margin-top: 3px; font-size: 12px; line-height: 1.35; color: rgb(var(--ink) / .78); }
.anexo .selo { margin-top: 6px; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; padding: 2px 8px; font-size: 11px; }
/* a nota de voz: o desenho do som e o texto, que entra a conferir */
.voz { display: flex; align-items: center; gap: 10px; min-width: 210px; }
.voz-play { display: inline-flex; width: 32px; height: 32px; flex: none; align-items: center; justify-content: center; border-radius: 99px; background: rgb(var(--ink) / .08); }
.voz-onda { display: flex; align-items: center; gap: 2px; height: 26px; flex: 1; }
.voz-onda i { flex: 1; min-width: 2px; border-radius: 2px; background: rgb(var(--ink) / .45); }
.voz-tempo { font-size: 12px; font-variant-numeric: tabular-nums; color: rgb(var(--ink) / .75); }
.transcricao { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgb(var(--ink) / .1); font-size: 14px; }
.transcricao .conferir { margin-top: 8px; }
/* o número que o cérebro não conhece: um cartão de alerta com as três saídas, no topo da conversa */
.numero-novo { border-radius: 24px; padding: 16px; margin: 0 0 6px; }
.numero-novo > * { position: relative; z-index: 1; }
.numero-novo h3 { font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 16px; display: flex; align-items: center; gap: 8px; }
.numero-novo p { margin-top: 6px; font-size: 13.5px; line-height: 1.45; color: rgb(var(--ink) / .88); }
.tres-saidas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 12px; }
.tres-saidas .botao { flex-direction: column; justify-content: flex-start; gap: 3px; min-height: 56px; padding: 11px 4px 6px; font-size: 12.5px; line-height: 1.15; border-radius: 18px; white-space: normal; text-align: center; }
.numero-decidido { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 10px 12px; border-radius: 18px; background: rgb(var(--ink) / .05); font-size: 13.5px; margin-bottom: 6px; }
.numero-decidido > span { flex: 1 1 200px; }
.parece { display: flex; gap: 12px; align-items: center; padding: 12px; border-radius: 20px; background: rgb(var(--ink) / .05); margin-bottom: 4px; }
.parece .linha-texto small { -webkit-line-clamp: 3; }
/* o campo de escrever: no computador embaixo da conversa; no celular fixo no pé da tela, no lugar do dock */
.compositor { flex: none; display: flex; align-items: flex-end; gap: 8px; padding: 10px 12px; border-top: 1px solid rgb(var(--ink) / .08); }
.compositor textarea { flex: 1; min-width: 0; min-height: 44px; max-height: 140px; padding: 11px 14px; border-radius: 22px; resize: none; font: inherit; font-size: 15px; line-height: 1.4; background: rgb(var(--surface)); border: 1px solid rgb(var(--ink) / .16); color: rgb(var(--ink)); outline: none; }
.compositor textarea:focus { border-color: rgb(var(--brand)); box-shadow: 0 0 0 3px rgb(var(--brand) / .22); }
.compositor .botao { flex: none; }
/* no computador a coluna do meio é estreita: o texto ocupa a linha de cima, Modelos e Enviar ficam embaixo */
@media (min-width: 960px) { form.compositor { flex-wrap: wrap; } form.compositor textarea { flex: 1 1 100%; order: -1; } form.compositor button[type="submit"] { margin-left: auto; } }
.so-modelo { flex: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 13px; color: rgb(var(--ink) / .85); }
.so-modelo > span { flex: 1 1 180px; display: flex; align-items: center; gap: 8px; }
@media (max-width: 959px) {
  body[data-tela="conversas"].conversa-aberta .dock { display: none; }
  body[data-tela="conversas"].conversa-aberta main { padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px)); }
  body[data-tela="conversas"].conversa-aberta #avisos { bottom: calc(86px + env(safe-area-inset-bottom, 0px)); }
  .conv-meio.vidro { background: none; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .conv-meio .conv-cabeca { display: none; }
  .conv-meio .conv-fio { padding: 4px 0 8px; }
  .conv-meio .compositor { position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); z-index: 40; border: 1px solid rgb(var(--ink) / .12); border-radius: 28px; padding: 8px; }
  .conv-meio .compositor.vidro-flutuante { background-color: rgb(var(--surface-2) / .94); background-image: none; }
}
/* quem é, ao lado: o vínculo, os processos com o próximo prazo e os arquivos desta conversa */
.conv-lado { border-radius: 26px; padding: 16px; min-width: 0; }
@media (min-width: 960px) { .conv-lado { overflow-y: auto; overscroll-behavior: contain; } }
.conv-lado .quem { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 6px 0 12px; }
.conv-lado .quem b { font-family: Montserrat, Inter, sans-serif; font-size: 16px; font-weight: 600; line-height: 1.25; }
.conv-lado .quem small { font-size: 12.5px; color: rgb(var(--ink) / .78); }
.conv-lado .rotulo { display: block; margin: 14px 0 6px; }
.conv-lado .lista .linha { min-height: 48px; }
.conv-lado .processo-cartao { padding: 10px 12px; }
.conv-lado .processo-cartao b { font-size: 13.5px; }
.conv-lado .ficha-acoes { margin-top: 14px; }
.conv-lado .ficha-acoes .botao { flex: 1 1 auto; }
.tira-quem { display: flex; gap: 8px; overflow-x: auto; margin: 0 -16px 10px; padding: 2px 16px 4px; scrollbar-width: none; }
.tira-quem::-webkit-scrollbar { display: none; }
.tira-quem .chip { flex: none; background: rgb(var(--vs-tinta) / var(--vs-forca)); border: 1px solid rgb(var(--ink) / .12); }
.conv-barra { display: flex; align-items: center; gap: 6px; margin: -6px 0 8px -8px; }
.conv-barra .botao { flex: none; }
.conv-quem { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; }
.conv-quem .linha-texto b { font-family: Montserrat, Inter, sans-serif; font-size: 19px; font-weight: 600; letter-spacing: -.01em; line-height: 1.25; }
.conv-quem .linha-texto small { -webkit-line-clamp: 2; }
/* Para aprovar: o aviso que nasceu de um modelo aprovado espera um sócio, com o texto como vai sair */
.grade-aprovar { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) { .grade-aprovar { display: block; columns: 2 300px; column-gap: 16px; } .grade-aprovar > * { break-inside: avoid; margin-bottom: 16px; } .grade-aprovar > :last-child { margin-bottom: 0; } }
.aprovar { border-radius: 26px; padding: 16px; }
.aprovar .cartao-topo { margin-bottom: 10px; }
.aprovar .previa { display: flex; justify-content: flex-end; margin: 10px 0 4px; }
.aprovar .previa .balao { max-width: 92%; }
.aprovar .regra { display: flex; gap: 6px; align-items: flex-start; font-size: 12.5px; color: rgb(var(--ink) / .8); }
.aprovar .regra .ic { margin-top: 1px; }
.aprovar .acoes-item { margin-top: 12px; }
.chip-var.falta-wa { background: #d6e4ff; color: #14306b; border-color: #5b86d6; }
.lista-modelos-wa { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.lista-modelos-wa li { padding: 12px 14px; border-radius: 18px; background: rgb(var(--ink) / .045); }
.lista-modelos-wa .topo-m { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 6px; }
.lista-modelos-wa .topo-m b { flex: 1 1 auto; font-size: 14.5px; }
.lista-modelos-wa p { font-size: 13.5px; line-height: 1.5; }
.escolha-modelo .linha { align-items: flex-start; }
.escolha-modelo .linha[aria-pressed="true"] { background: rgb(var(--ink) / .07); box-shadow: inset 0 0 0 1.5px rgb(var(--ink) / .45); }

/* Assistente: a conversa no meio, o resumo do dia e os alertas ao lado; cada frase da resposta leva à origem */
.grade-assist { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.assist-lado, .assist-meio { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
@media (max-width: 959px) { .grade-assist > .assist-lado { display: contents; } .a-brief { order: 0; } .a-perg { order: 1; } .a-fio { order: 2; } .a-alertas { order: 5; } .assist-meio { display: contents; } }
@media (min-width: 960px) { .grade-assist { grid-template-columns: minmax(0, 1fr) minmax(0, 340px); gap: 18px; align-items: start; } .assist-meio { grid-column: 1; grid-row: 1; max-width: 760px; } .assist-lado { grid-column: 2; grid-row: 1; gap: 18px; } }
.perguntas-prontas { display: flex; flex-wrap: wrap; gap: 8px; }
.perguntas-prontas .chip { min-height: 40px; text-align: left; white-space: normal; }
.perguntas-prontas .chip span { white-space: normal; }
.fio-assist { display: flex; flex-direction: column; gap: 14px; }
.fio-assist:empty { display: none; }
.pergunta-feita { align-self: flex-end; max-width: 86%; padding: 9px 14px; border-radius: 20px 20px 7px 20px; background: rgb(var(--primary)); color: rgb(var(--primary-fg)); font-size: 15px; line-height: 1.4; }
.resposta { border-radius: 26px; padding: 16px 16px 14px; animation: stagger .4s cubic-bezier(.16, 1, .3, 1) both; }
.resposta-lead { font-size: 15.5px; line-height: 1.45; }
.resposta-lead b { font-weight: 600; }
.resposta .num-principal { margin: 8px 0 4px; }
.resposta .num-principal .numeral { font-size: 52px; }
.resp-linhas { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; }
.resp-linhas > li { padding: 10px 0; border-top: 1px solid rgb(var(--ink) / .08); }
.resp-linhas > li:first-child { border-top: 0; padding-top: 4px; }
.resp-texto { font-size: 14.5px; line-height: 1.45; }
.resp-texto b { font-weight: 600; }
.resp-texto small { display: block; margin-top: 2px; font-size: 12.5px; color: rgb(var(--ink) / .78); }
.fontes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.fonte { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; min-height: 30px; padding: 0 10px 0 8px; border-radius: 999px; font-size: 12.5px; font-weight: 500; color: rgb(var(--ink) / .88); background: rgb(var(--ink) / .055); border: 1px solid rgb(var(--ink) / .1); transition: background-color .12s, border-color .12s; }
.fonte span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fonte .ic { width: 13px; height: 13px; flex: none; }
@media (hover: hover) { .fonte:hover { background: rgb(var(--ink) / .09); border-color: rgb(var(--ink) / .25); } }
.fonte:active { transform: scale(.97); }
@media (pointer: coarse) { .fonte { min-height: 36px; } }
.resposta .ficha-acoes { margin-top: 12px; }
.rascunho-ia { margin-top: 10px; padding: 12px 14px; border-radius: 18px; background: rgb(var(--surface)); box-shadow: inset 0 0 0 1px rgb(var(--ink) / .1); font-size: 14.5px; line-height: 1.5; }
.pensando { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: rgb(var(--ink) / .8); padding: 4px 4px 0; }
.campo-assist { position: sticky; bottom: calc(96px + env(safe-area-inset-bottom, 0px)); z-index: 5; display: flex; align-items: center; gap: 8px; padding: 6px 6px 6px 16px; border-radius: 999px; }
.campo-assist.vidro-flutuante { background-color: rgb(var(--surface-2) / .94); background-image: none; border-color: rgb(var(--ink) / .14); }
@media (min-width: 960px) { .campo-assist { bottom: 18px; } }
.campo-assist input { flex: 1; min-width: 0; border: 0; background: none; outline: none; font-size: 16px; min-height: 44px; color: rgb(var(--ink)); }
.campo-assist input::placeholder { color: rgb(var(--ink) / .62); }
.campo-assist:focus-within { box-shadow: 0 0 0 3px rgb(var(--brand) / .25), var(--sombra-flut); }
.alertas-lista .linha { align-items: flex-start; }
.alertas-lista .linha .disco { margin-top: 2px; }
.nivel { display: block; margin-top: 5px; }
.nivel .selo { padding: 2px 8px; font-size: 11px; }

/* Administração e Integrações: a lista dos ajustes, como os Ajustes do iPhone, e um cartão por conexão */
.ajustes { border-radius: 26px; padding: 6px 8px; }
.ajustes .lista { margin: 0; }
.ajustes .linha { min-height: 64px; }
.ajustes .disco.ajuste { background: linear-gradient(180deg, rgb(var(--mono-1)), rgb(var(--mono-2))); color: #fff; border-color: transparent; border-radius: 12px; width: 36px; height: 36px; }
.ajustes .linha .selo { flex: none; }
/* Administração: no celular a lista em grupos e cada parte numa tela com Voltar; no computador a lista à esquerda e a parte ao lado, como os Ajustes do Mac */
.adm-grupo { display: block; margin: 20px 12px 8px; }
.adm-grupo:first-child { margin-top: 0; }
.adm-grade { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1280px) {
  .adm-grade { grid-template-columns: 268px minmax(0, 1fr); }
  .adm-indice { position: sticky; top: 96px; }
  .adm-indice .ajustes { padding: 4px 6px; border-radius: 22px; }
  .adm-indice .ajustes .linha { min-height: 54px; padding: 6px 8px; }
  .adm-indice .linha-texto small { -webkit-line-clamp: 1; }
  .adm-indice .seta { display: none; }
}
.adm-indice .linha[aria-current="page"] { background: rgb(var(--ink) / .09); }
.adm-secao { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.adm-cabeca { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; min-height: 44px; }
.titulo-secao { font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 21px; letter-spacing: -.02em; }
.adm-par { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
/* o cartão de um número só (o prazo interno) fica da altura do vizinho, com o número no meio, como um mostrador */
.adm-par > .cartao:has(> .passo-num) { display: flex; flex-direction: column; }
.adm-par > .cartao:has(> .passo-num) > .passo-num { margin-block: auto; }
@media (min-width: 1180px) { .adm-par { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.adm-secao .cal-cartao .agenda-nav { margin: 0 0 4px; justify-content: space-between; }
.adm-secao .linha-texto .selo { margin-top: 4px; }
.linha-texto > .selo { align-self: flex-start; }
.folha .menu-bloco .lista { margin-left: -6px; margin-right: -6px; }
/* o que cada função vê: no celular a função no segmento e a lista; no computador a tabela das três */
.ve { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; white-space: nowrap; color: rgb(var(--ink) / .88); }
.ve.tom-bom { color: rgb(var(--positive-fg)); }
.ve.tom-fora { color: rgb(var(--ink) / .66); font-weight: 500; }
.seg-funcao { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; }
.seg-funcao button { justify-content: center; }
.ve-lista { list-style: none; margin: 12px 0 0; padding: 0; }
.ve-lista li { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; border-top: 1px solid rgb(var(--ink) / .08); }
.ve-lista li:first-child { border-top: 0; }
.ve-nome { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; line-height: 1.3; min-width: 0; }
.ve-nome .ic, .ve-tabela tbody th .ic { color: rgb(var(--ink) / .7); flex: none; }
.ve-tabela { width: 100%; border-collapse: collapse; font-size: 14px; }
.ve-tabela th, .ve-tabela td { padding: 11px 8px; border-top: 1px solid rgb(var(--ink) / .08); text-align: left; }
.ve-tabela thead th { border-top: 0; padding-top: 0; font-size: .75rem; font-weight: 600; color: rgb(var(--ink) / .72); }
.ve-tabela tbody th { font-weight: 500; }
.ve-tabela tbody th .ve-nome { font-size: 14px; }
/* a chave de acesso: grande, para ditar e conferir letra por letra */
.codigo { font-family: "Courier Prime", ui-monospace, monospace; font-weight: 700; letter-spacing: .04em; }
.chave-grande { display: block; font-family: "Courier Prime", ui-monospace, monospace; font-size: 28px; font-weight: 700; letter-spacing: .08em; text-align: center; padding: 20px 12px; border-radius: 20px; background: rgb(var(--ink) / .06); border: 1px dashed rgb(var(--ink) / .3); user-select: all; overflow-wrap: anywhere; }
.campo-chave { font-family: "Courier Prime", ui-monospace, monospace; font-size: 18px; letter-spacing: .06em; text-transform: uppercase; }
.entrar-chave { display: block; margin: 20px auto 0; }
.acesso-linha { display: flex; align-items: center; gap: 12px; }
.acesso-linha > span { flex: 1; min-width: 0; }
.acesso-linha b { display: block; font-size: 15px; font-weight: 600; }
.acesso-linha small { display: block; font-size: 12.5px; color: rgb(var(--ink) / .75); }
/* o prazo interno: menos, o número e mais */
.passo-num { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.passo-num .numeral { font-size: 46px; line-height: 1; min-width: 1.1ch; text-align: center; }
.passo-num .redondo { width: 44px; padding: 0; }
.passo-texto { font-size: 14px; line-height: 1.35; color: rgb(var(--ink) / .85); }
/* automações: a frase inteira; o que já fizeram, com Desfazer na linha */
.auto-linha { align-items: flex-start; }
.auto-linha .disco { margin-top: 2px; }
.auto-linha .interruptor { margin-top: 5px; }
.exec { padding: 2px 4px 2px 0; }
.exec-alvo { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; padding: 6px; border-radius: 14px; text-align: left; }
@media (hover: hover) { .exec-alvo:hover { background: rgb(var(--ink) / .05); } }
.exec-alvo:active { background: rgb(var(--ink) / .09); }
@media (max-width: 959px) { .linha.acao-embaixo { flex-wrap: wrap; row-gap: 0; } .linha.acao-embaixo > .botao { margin: -2px 0 4px 52px; } .linha.exec.acao-embaixo > .botao { margin-left: 52px; } .linha.acao-embaixo > .linha-texto { flex-basis: calc(100% - 60px); } .linha.acao-embaixo > .exec-alvo { flex-basis: 100%; } }
.exec.desfeita .linha-texto b { text-decoration: line-through; text-decoration-color: rgb(var(--ink) / .45); color: rgb(var(--ink) / .72); }
/* lixeira: o arquivo aparece como a página; o resto pelo ícone */
.lixo-capa { width: 40px; flex: none; display: flex; justify-content: center; }
.lixo-capa .miniatura { width: 34px; border-radius: 3px; }
/* a pessoa com a entrada bloqueada: o resto da folha fica esmaecido e sem toque */
.esmaecido { opacity: .5; }
/* tornar sócio pede um segundo toque, dizendo o que a pessoa passa a ver */
.confirma-socio { display: flex; flex-direction: column; gap: 10px; padding: 12px 14px; border-radius: 18px; background: rgb(var(--warning-soft)); color: rgb(var(--warning-fg)); }
.confirma-socio p { display: flex; gap: 8px; align-items: flex-start; font-size: 13.5px; line-height: 1.45; }
.confirma-socio p .ic { flex: none; margin-top: 1px; }
.confirma-botoes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.disco.tom-neg { background: rgb(var(--negative-soft)); color: rgb(var(--negative-fg)); border-color: transparent; }
/* áreas: a barra dos processos embaixo do nome */
.area-barra { margin-top: 7px; max-width: 280px; }
/* conflitos: o campo e o botão na mesma linha, que quebra no celular */
.form-conflito { display: flex; flex-wrap: wrap; gap: 8px; }
.form-conflito .campo { flex: 1 1 220px; min-width: 0; }
/* valor-hora: o valor alinhado à direita, antes do Mudar */
.valor-hora { flex: none; font-size: 14px; font-weight: 600; white-space: nowrap; }
/* importar: as colunas do modelo, os três números da prévia e as linhas que ficam de fora */
.colunas-imp { display: flex; flex-wrap: wrap; gap: 6px; }
.imp-resumo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.imp-resumo > span { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 16px; background: rgb(var(--ink) / .05); font-size: 12.5px; line-height: 1.3; color: rgb(var(--ink) / .8); }
.imp-resumo .numeral { font-size: 26px; line-height: 1.1; color: rgb(var(--ink)); }
.imp-lista .imp-fora .linha-texto b { color: rgb(var(--ink) / .72); }
.integ-linha { margin: 0; }
.integ-linha .botao-i { margin-left: 8px; vertical-align: -1px; }
.adm-secao > .abas-fin { margin: 0; }
/* no celular, os botões pequenos e os segmentos da Administração têm 44 px, como o resto do toque */
@media (max-width: 959px) {
  .adm-secao .botao.pequeno, .adm-secao .segmento button, .adm-secao .opcao, .folha[data-folha^="adm"] .botao.pequeno, .folha[data-folha^="adm"] .segmento button { min-height: 44px; }
}
/* na coluna da Administração, as conexões em duas colunas até a tela larga, para os nomes caberem */
@media (min-width: 1100px) and (max-width: 1499px) { .adm-secao .grade-conectores { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* o nome da linha da tabela numa linha só, ao lado do ícone */
.ve-tabela tbody th .ve-nome { white-space: nowrap; }
/* histórico: o total, as colunas por dia, o mapa e a lista por dia */
.hist-topo { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
.hist-topo .numeral { font-size: 44px; line-height: 1; }
.hist-topo small { font-size: 13px; color: rgb(var(--ink) / .8); }
.dia-grupo { display: block; margin: 16px 0 4px; }
.dia-grupo:first-child { margin-top: 0; }
.antes-depois { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin: 14px 0 0; }
.antes-depois div { padding: 10px 14px; border-radius: 16px; background: rgb(var(--ink) / .05); }
.antes-depois dt { font-size: .75rem; font-weight: 600; color: rgb(var(--ink) / .72); }
.antes-depois dd { margin: 2px 0 0; font-size: 14.5px; line-height: 1.4; }
.efeito-dia { font-size: 13.5px; line-height: 1.45; }
.efeito-dia ul { margin: 6px 0 0; padding-left: 18px; }
.grade-conectores { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .grade-conectores { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .grade-conectores { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
.conector { display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 16px; border-radius: 26px; text-align: left; box-shadow: var(--sombra-cartao); transition: transform .12s cubic-bezier(.16, 1, .3, 1); }
.conector:active { transform: scale(.985); }
@media (hover: hover) { .conector:hover { transform: translateY(-2px); } }
.conector-topo { display: flex; align-items: center; gap: 12px; min-width: 0; }
.conector-topo .modulo-icone { width: 44px; height: 44px; border-radius: 14px; flex: none; }
.conector-topo .modulo-icone .ic { width: 22px; height: 22px; }
.conector-topo > span:nth-child(2) { flex: 1; min-width: 0; }
.conector-topo b { display: block; font-size: 15px; font-weight: 600; line-height: 1.3; }
.conector-topo small { display: block; font-size: 12.5px; color: rgb(var(--ink) / .78); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.conector-num { display: flex; align-items: baseline; gap: 8px; font-size: 13px; color: rgb(var(--ink) / .85); }
.conector-num .numeral { font-size: 30px; line-height: 1; color: rgb(var(--ink)); }
.conector-pe { display: flex; flex-direction: column; gap: 6px; padding-top: 10px; border-top: 1px solid rgb(var(--ink) / .1); font-size: 12.5px; color: rgb(var(--ink) / .8); }
.conector-pe .progresso { margin-top: 0; }
.conector-pe .progresso i { background: rgb(var(--ink) / .7); }
.para-ligar { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.para-ligar li { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 10px; align-items: center; min-height: 44px; font-size: 14px; line-height: 1.35; }
.para-ligar li > .ic { color: rgb(var(--ink) / .7); }
.para-ligar li.feito > .ic { color: rgb(var(--positive)); }
.para-ligar .selo { padding: 2px 8px; font-size: 11px; }
.conexao-ia .linha { min-height: 60px; }
.folha .conexao-ia, .folha .escolha-modelo { margin-left: -6px; margin-right: -6px; }
/* a área de toque do "i" na beira da folha (o ::after de 10 px) não pode abrir rolagem para o lado */
.folha .bloco-rotulo .botao-i::after { inset: -10px 0 -10px -10px; }
.confirma-perigo { color: rgb(var(--negative-fg)); }
.botao.perigo-cheio { background: rgb(var(--negative)); color: #fff; }
/* a caixa em quatro partes; as escolhas de cada parte em fichas logo abaixo, com a contagem */
.chips-conv { margin: 0 0 12px; }
.avisos-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 12px; }
.avisos-barra .chips-conv { margin: 0; flex: 1 1 auto; }
.aviso-linha.trava { background: rgb(var(--negative-soft)); color: rgb(var(--negative-fg)); }
.aviso-linha.trava .ic { color: rgb(var(--negative-fg)); }
.aviso-linha .botao-i { vertical-align: -6px; }
.enviou { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; width: 100%; }
.enviou b { font-size: 15px; margin-right: 4px; }
/* a tira dos processos: o tipo em cima, a data e o que vence embaixo */
.tira-chip { min-height: 46px; padding: 6px 13px 6px 10px; border-radius: 16px; max-width: 250px; }
.tira-texto { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; text-align: left; }
.tira-texto b { font-size: 12.5px; font-weight: 600; }
.tira-texto small { font-size: 12px; color: rgb(var(--ink) / .78); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* a conversa aberta no celular: a cabeça presa no alto, no lugar da cápsula, com fundo que cobre o que passa por baixo */
.conv-topo-fixo { position: sticky; top: calc(8px + env(safe-area-inset-top, 0px)); z-index: 30; display: flex; align-items: center; gap: 4px; margin: -12px -6px 12px; padding: 6px 8px 6px 2px; border-radius: 26px; }
.conv-topo-fixo.vidro-flutuante { background-color: rgb(var(--surface-2) / .96); background-image: none; border-color: rgb(var(--ink) / .12); }
.conv-topo-fixo > .botao { flex: none; }
.conv-quem-botao { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 4px 6px; border-radius: 16px; text-align: left; }
.conv-quem-botao:active { background: rgb(var(--ink) / .08); }
.conv-quem-botao .disco { width: 36px; height: 36px; flex: none; }
.conv-quem-botao .linha-texto b { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.conv-quem-botao .linha-texto small { -webkit-line-clamp: 1; }
@media (max-width: 959px) {
  body[data-tela="conversas"].conversa-aberta .topo { display: none; }
  body[data-tela="conversas"].conversa-aberta main { padding-top: calc(20px + env(safe-area-inset-top, 0px)); }
  .conv-alto { padding: 0; }
  /* a cápsula do topo cobre o que passa por baixo também onde o desfoque não chega */
  .topo-capsula.vidro-flutuante { background-color: rgb(var(--surface-2) / .9); }
}
.conv-alto { flex: none; padding: 12px 14px 0; }
.conv-alto .numero-novo, .conv-alto .numero-decidido { margin-bottom: 0; }
.conv-sistema { font-weight: 500; }
.lado-folha { padding: 0; border-radius: 0; }
.lado-folha .quem { padding-top: 0; }
/* o modelo escolhido aparece inteiro, em balão, logo acima do Enviar */
.pe-modelo { flex: 1; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.pe-modelo .balao-linha { max-width: 100%; align-self: stretch; align-items: flex-end; }
.pe-modelo .balao { max-height: 30vh; overflow-y: auto; }
/* E-mails */
.email-fora { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: rgb(var(--ink) / .8); }
.email-lote { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 12px; padding: 10px 12px 10px 14px; border-radius: 20px; font-size: 13.5px; }
.email-lote > span { flex: 1 1 200px; display: flex; align-items: center; gap: 8px; }
.email-corpo { margin-top: 14px; padding: 12px 14px; border-radius: 16px; background: rgb(var(--ink) / .045); font-size: 14.5px; line-height: 1.55; white-space: pre-wrap; }
.anexo-email .anexo { width: 100%; }
/* Contatos: por cliente, quem recebe e o que autorizou; a página do cliente embaixo */
.grade-contatos { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) { .grade-contatos { display: block; columns: 2 300px; column-gap: 16px; } .grade-contatos > * { break-inside: avoid; margin-bottom: 16px; } .grade-contatos > :last-child { margin-bottom: 0; } }
.contato-aviso { align-items: flex-start; }
.tipos-aviso { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.tipos-aviso .opcao .ic { display: inline-block; width: 12px; height: 12px; }
.acesso-cliente { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgb(var(--ink) / .1); }
.acesso-cliente p { display: flex; gap: 8px; align-items: flex-start; margin-top: 6px; font-size: 13.5px; }
/* Ver como o cliente: a página dele, fora do sistema, com a faixa do escritório no alto */
.cliente-ve { position: fixed; inset: 0; z-index: 70; overflow-y: auto; overscroll-behavior: contain; background: radial-gradient(120% 60% at 20% 0%, rgb(var(--surface-2)), rgb(var(--canvas)) 70%); animation: stagger .3s cubic-bezier(.16, 1, .3, 1) both; }
.cliente-faixa { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: 10px; padding: calc(10px + env(safe-area-inset-top, 0px)) 16px 10px; background: rgb(var(--ink)); color: rgb(var(--canvas)); font-size: 13.5px; font-weight: 500; }
.cliente-faixa > span { flex: 1; display: flex; align-items: center; gap: 8px; min-width: 0; }
.cliente-faixa .botao { flex: none; }
.cliente-coluna { max-width: 640px; margin: 0 auto; padding: 22px 16px 48px; display: flex; flex-direction: column; gap: 14px; }
.cliente-marca small { display: block; margin-top: 6px; font-size: 12.5px; color: rgb(var(--ink) / .75); }
/* .cliente-coluna na frente: a .escada dos passos do fluxo (Tarefas, Fluxos) tem outras regras com o mesmo nome */
.cliente-coluna .escada { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; margin: 12px 0 0; padding: 0; }
.cliente-coluna .escada li { position: relative; padding-top: 12px; font-size: 11.5px; font-weight: 500; color: rgb(var(--ink) / .6); text-align: center; }
.cliente-coluna .escada li::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 6px; border-radius: 99px; background: rgb(var(--ink) / .12); }
.cliente-coluna .escada li.feito::before { background: rgb(var(--ink) / .55); }
.cliente-coluna .escada li.agora { color: rgb(var(--ink)); font-weight: 700; }
.cliente-coluna .escada li.agora::before { background: rgb(var(--ink)); }
.lista-cliente { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.lista-cliente li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 10px; font-size: 14.5px; line-height: 1.45; }
.lista-cliente b { font-variant-numeric: tabular-nums; }
.docs-cliente { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.docs-cliente .anexo { width: 100%; }
/* Assistente: as origens curtas numa linha só no celular; a memória e as tarefas sem dono */
@media (max-width: 959px) { .fontes { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: -16px; padding-right: 16px; } .fontes::-webkit-scrollbar { display: none; } .fonte { flex: none; } .a-divisao, .a-memoria { order: 5; } }
.a-memoria .linha { align-items: flex-start; }
.a-memoria .linha-texto .rotulo { font-size: 11px; }
.memoria-texto { font-weight: 500 !important; }
.divisao-linha { align-items: flex-start; }
.divisao-linha .botao { flex: none; align-self: center; }
/* o assistente em qualquer tela: no computador, painel ao lado; a tela de trás continua usável */
.topo-perguntar { display: inline-flex; align-items: center; gap: 6px; flex: none; min-height: 44px; padding: 0 14px 0 12px; border-radius: 999px; font-size: 14px; font-weight: 500; color: rgb(var(--ink) / .85); }
.topo-perguntar .ic { width: 17px; height: 17px; }
body[data-tela="assistente"] .topo-perguntar { display: none; }
@media (max-width: 959px) { .topo-capsula { gap: 8px; } .topo-busca { padding: 0 12px; } .topo-perguntar { padding: 0 12px 0 10px; } }
.painel-assist { position: fixed; top: 12px; right: 12px; bottom: 12px; z-index: 35; width: 420px; display: flex; flex-direction: column; gap: 10px; padding: 14px 14px 12px; border-radius: 30px; box-shadow: var(--sombra-flut); animation: stagger .3s cubic-bezier(.16, 1, .3, 1) both; }
/* com folga, o painel empurra a tela; sem folga, fica por cima da beira direita e a tela continua usável à esquerda */
@media (min-width: 1440px) { body.com-painel .coluna { margin-right: 432px; } }
.topo-busca .longo { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.painel-cabeca { display: flex; align-items: center; gap: 4px; flex: none; }
.painel-cabeca h2 { flex: 1; display: flex; align-items: center; gap: 8px; font-family: Montserrat, Inter, sans-serif; font-size: 17px; font-weight: 600; }
.painel-rola { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; margin: 0 -6px; padding: 0 6px 6px; }
.painel-assist .campo-assist, .folha-pe .campo-assist { position: static; min-width: 0; }
.folha-pe .campo-assist { flex: 1; }
.painel-assist .campo-assist { flex: none; margin-top: auto; }
.folha-pe .campo-assist .botao { flex: none; }
.painel-corpo .resposta { padding: 14px; }
/* Integrações: as quatro partes; a chave como nos Ajustes */
.seg-integ { max-width: 100%; }
@media (max-width: 420px) { .seg-integ button { padding: 0 10px; font-size: 12.5px; } }
.conector-topo small { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.interruptor-linha { grid-column: 2 / span 2; display: flex; align-items: center; gap: 12px; }
.interruptor-linha > span { flex: 1; }
.interruptor { position: relative; flex: none; width: 51px; height: 31px; border-radius: 99px; background: rgb(var(--ink) / .2); transition: background-color .2s; }
.interruptor i { position: absolute; top: 2px; left: 2px; width: 27px; height: 27px; border-radius: 99px; background: #fff; box-shadow: 0 2px 6px rgb(0 0 0 / .2); transition: transform .25s cubic-bezier(.22, 1, .36, 1); }
.interruptor[aria-checked="true"] { background: rgb(var(--positive)); }
.interruptor[aria-checked="true"] i { transform: translateX(20px); }
.interruptor:focus-visible { outline: 2px solid rgb(var(--brand)); outline-offset: 2px; }
.grade-provedores { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); margin-bottom: 16px; }
@media (min-width: 900px) { .grade-provedores { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; } }
.provedor { padding: 16px; border-radius: 26px; }
.provedor.em-uso { box-shadow: inset 0 0 0 2px rgb(var(--ink) / .7), var(--sombra-cartao); }
.provedor .cartao-topo { margin-bottom: 10px; }
.provedor-dados { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.provedor-dados div { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 8px; font-size: 13.5px; line-height: 1.4; }
.provedor-dados dt { color: rgb(var(--ink) / .7); }
.provedor-dados dd { margin: 0; }
.provedor p.selo { display: inline-flex; }
.grade-fora, .grade-chatgpt { display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 960px) { .grade-fora, .grade-chatgpt { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; } }
.coluna-chatgpt { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.endereco-mcp { display: flex; align-items: center; gap: 8px; padding: 8px 8px 8px 12px; border-radius: 16px; background: rgb(var(--ink) / .05); }
.endereco-mcp code { flex: 1; min-width: 0; font-size: 12.5px; overflow-wrap: anywhere; }
.passos-ia { margin: 4px 0 0; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; font-size: 14px; line-height: 1.45; }
.passos-ia li::marker { font-weight: 700; }
.volta-destaque { padding: 14px; border-radius: 18px; background: rgb(var(--ink) / .06); text-align: center; }
.volta-destaque small { display: block; font-size: 12.5px; color: rgb(var(--ink) / .75); }
.volta-destaque b { display: block; margin-top: 4px; font-family: Montserrat, Inter, sans-serif; font-size: 20px; font-weight: 600; overflow-wrap: anywhere; }
.lista-simples { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 1.45; }
.pasta-linha { align-items: flex-start; }
.pasta-linha .botao, .pasta-linha > .selo { flex: none; align-self: center; }

/* Controladoria: o cliente e os processos à esquerda, a controladoria do processo escolhido à direita (spec-mesa-do-processo.md).
   No computador de 1200 px ou mais a página fica parada e cada lado rola por dentro, como a tela Conversas; abaixo disso, um lado por vez */
.mesa { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.mesa-esq { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.mesa-esq > .voltar-barra { margin: -6px 0 -6px -8px; }
.mesa-quem { padding: 20px; }
.mesa-quem .quem { align-items: flex-start; gap: 12px; }
.mesa-quem .avatar { width: 48px; height: 48px; font-size: 16px; }
.mesa-quem h1 { font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 22px; line-height: 1.2; letter-spacing: -.015em; text-wrap: balance; overflow-wrap: anywhere; }
.mesa-sob { margin-top: 4px; font-size: 13.5px; color: rgb(var(--ink) / .8); }
.mesa-desde { margin-top: 1px; font-size: 12.5px; color: rgb(var(--ink) / .75); }
.mesa-doc { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 2px; margin-top: 14px; font-size: 14px; font-weight: 500; }
.mesa-doc > span:first-child { margin-right: 2px; }
.mesa-doc .botao.pequeno { padding: 0 10px; gap: 6px; }
.mesa-doc .botao-i { margin-left: 8px; }
.mesa-doc.falta { gap: 8px; padding: 8px 8px 8px 12px; border-radius: 16px; background: rgb(var(--warning-soft)); color: rgb(var(--warning-fg)); }
.mesa-doc.falta > span { flex: 1 1 140px; margin: 0; }
.mesa-doc + .info-i { margin-top: 8px; }
.mesa-quem .mesa-ficha { margin: 6px 0 -8px -12px; }
.mesa-processos { padding: 16px 14px 14px; }
.mesa-processos .cartao-topo { margin-bottom: 10px; }
.mesa-processos .lista { margin-top: 0; }
.linha.mesa-proc { align-items: flex-start; min-height: 72px; padding: 10px; }
.mesa-proc .linha-texto b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mesa-selos { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 5px; }
.mesa-selos .selo { font-size: 11.5px; padding: 2px 7px; }
.mesa-proc .seta { align-self: center; }
.mesa-proc[aria-current="true"] { background: rgb(var(--ink) / .09); box-shadow: inset 0 0 0 1px rgb(var(--ink) / .16); }
.mesa-filtrar { margin: -4px 0 10px; }
.mesa-arquivados { margin: 6px 0 0 -8px; }
.mesa-dir { padding: 20px 22px; min-width: 0; }
.mesa-dir.sai > * { opacity: 0; transition: opacity .06s ease-out; }
.mesa-dir.chega > * { animation: aparece .14s ease-out; }
@keyframes aparece { from { opacity: 0; } }
.mesa-cabeca { display: flex; align-items: flex-start; gap: 10px; }
.mesa-cabeca h2 { flex: 1; min-width: 0; font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 19px; line-height: 1.25; letter-spacing: -.015em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mesa-cabeca .botao { flex: none; margin: -6px -10px 0 0; }
.mesa-cnj { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 6px; margin-top: 2px; font-size: 13.5px; }
.mesa-vara { margin-top: 1px; font-size: 12.5px; color: rgb(var(--ink) / .8); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mesa-como { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; }
.mesa-seletor { gap: 0; padding: 0 11px 0 14px; color: rgb(var(--ink)); white-space: pre-wrap; text-align: left; }
.mesa-seletor .ic { margin-left: 6px; color: rgb(var(--ink) / .6); transition: transform .2s cubic-bezier(.16, 1, .3, 1); }
.mesa-seletor[aria-expanded="true"] .ic { transform: rotate(180deg); }
.mesa-seletor[aria-expanded="true"] { border-color: rgb(var(--ink) / .5); background: rgb(var(--ink) / .07); }
.mesa-desde-linha { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0 4px; font-size: 12.5px; color: rgb(var(--ink) / .78); }
.mesa-desde-linha .botao { margin-left: -4px; }
.gaveta { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .2s cubic-bezier(.16, 1, .3, 1); }
.gaveta.aberta { grid-template-rows: 1fr; }
.gaveta > .gaveta-dentro { min-height: 0; overflow: clip; overflow-clip-margin: 6px; opacity: 0; transition: opacity .2s cubic-bezier(.16, 1, .3, 1); }
.gaveta.aberta > .gaveta-dentro { opacity: 1; }
.mesa-miolo { display: flex; flex-direction: column; gap: 10px; padding-top: 12px; }
.mesa-opcoes { gap: 6px; }
.mesa-miolo .rotulo { margin-bottom: -4px; }
.mesa-hist { list-style: none; margin: 0; padding: 10px 14px; border-radius: 16px; background: rgb(var(--ink) / .05); font-size: 13px; line-height: 1.5; display: flex; flex-direction: column; gap: 4px; }
.mesa-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.mesa-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.mesa-chip.tom-neg { background: rgb(var(--negative-soft)); color: rgb(var(--negative-fg)); border-color: rgb(var(--negative) / .3); }
.mesa-chip.tom-alerta { background: rgb(var(--warning-soft)); color: rgb(var(--warning-fg)); border-color: rgb(var(--warning) / .35); }
.mesa-chip.recem { animation: recem-chip 2.6s ease-out .35s both; }
/* a ficha do prazo quebra a linha em vez de cortar: o "a conferir" fica sempre à vista */
.mesa-chip { padding-top: 6px; padding-bottom: 6px; line-height: 1.3; text-align: left; }
.mesa-chip > span, .mesa-chip > span > span { white-space: normal; overflow: visible; }
.mesa-chip .nw, .mesa-chip .nw span { white-space: nowrap; }
@keyframes recem-chip { 0%, 45% { box-shadow: 0 0 0 2px rgb(var(--brand) / .5); } 100% { box-shadow: 0 0 0 2px transparent; } }
.mesa-pub { margin-top: 16px; }
.mesa-pub > .rotulo { display: block; margin-bottom: 4px; }
.mesa-movs { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgb(var(--ink) / .08); }
.mesa-movs-topo { display: flex; align-items: center; gap: 10px; min-height: 36px; }
.mesa-movs-topo .cartao-titulo { flex: none; }
.mesa-movs-topo .nova-mov { margin-left: auto; }
.mesa-movs > .info-i { margin-top: 8px; }
.mesa-filtro { margin-top: 12px; }
.mesa-form-caixa { margin-top: 12px; border-radius: 22px; padding: 16px; }
.mesa-mes { margin: 18px 0 4px; }
.mov-item { border-radius: 20px; }
.mov-item.aberta { margin: 2px 0; }
.linha.mov { min-height: 52px; padding: 6px 8px; }
.linha.mov .bloco-data { padding: 2px 0; }
.mov .linha-texto b { font-size: 14px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
/* aberta, a linha mostra o texto inteiro; na folha (celular, Hoje e fichas), o texto inteiro vem logo abaixo do título */
.linha.mov.aberta .linha-texto b { display: block; -webkit-line-clamp: unset; overflow: visible; }
.mov-texto-folha { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 4px; font-size: 15px; line-height: 1.4; }
.mov-texto-folha .ic { flex: none; margin-top: 2px; color: rgb(var(--ink) / .7); }
.mov-texto-folha b { font-weight: 600; overflow-wrap: anywhere; }
.mov-texto-folha.feita b { text-decoration: line-through; text-decoration-color: rgb(var(--ink) / .45); }
/* a ação principal da folha da movimentação tem 52 px (spec base 6.3) */
.folha[data-folha^="mov"] .folha-pe .botao.principal, .folha[data-folha^="mov"] .folha-pe .botao.perigo-cheio { min-height: 52px; }
.mov-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 1px 10px; margin-top: 2px; font-size: 12.5px; color: rgb(var(--ink) / .78); }
.mov-sub > span { display: inline-flex; align-items: center; gap: 4px; }
.mov-estado { flex: none; align-self: center; }
.mov-ok { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; font-weight: 500; color: rgb(var(--ink) / .7); white-space: nowrap; }
.mov-estado.acabou { animation: aparece .16s ease-out; }
.linha.mov.feita .bloco-data, .linha.mov.feita .mov-sub { opacity: .6; }
.mov-corpo { display: flex; flex-direction: column; gap: 8px; padding: 2px 12px 14px; font-size: 13.5px; line-height: 1.45; }
.mov-corpo.ver { padding-left: 64px; }
.mov-corpo .pasta-arquivo { margin: 0 -4px; }
.mov-prazo { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; }
.mov-prazo .mov-regra { flex: 1 1 100%; font-size: 12.5px; }
.mov-aviso { display: flex; gap: 8px; align-items: flex-start; color: rgb(var(--warning-fg)); }
.mov-aviso .ic { margin-top: 2px; }
.mov-guia, .mov-regra { color: rgb(var(--ink) / .75); }
.mov-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 4px; }
.mov-acoes .mov-regra { flex: 1 1 100%; }
.mesa-form { display: flex; flex-direction: column; gap: 14px; }
.mesa-form .campo-grupo { min-width: 0; }
.mesa-form-titulo { font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 15px; }
.mesa-form-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; }
.mesa-form-pe { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding-top: 2px; }
.mesa-form-pe > .campo-dica { flex: 1 1 200px; }
.mesa-form-botoes { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.mesa-rascunho { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 12.5px; color: rgb(var(--ink) / .78); }
.mesa-rascunho .link { font-size: 12.5px; }
.campo-dica.alerta { color: rgb(var(--warning-fg)); }
.mesa-form > .campo-dica { margin-top: -6px; }
.mesa-arqs { margin: 0 -8px; }
.linha.mesa-arq { min-height: 60px; padding: 6px 8px; }
.mesa-arq .miniatura, .mesa-doc-escolhido .miniatura { width: 40px; }
.mesa-arq .linha-texto > .selo { align-self: flex-start; margin-top: 3px; }
.mesa-doc-escolhido { grid-template-columns: 40px minmax(0, 1fr) auto; }
.mesa-prazo-campos { display: flex; flex-direction: column; gap: 14px; padding-top: 2px; }
.busca-dica { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 10px 6px 0; font-size: 13.5px; color: rgb(var(--ink) / .85); }
.busca-dica.erro { color: rgb(var(--negative-fg)); }
.mesa-pe { position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom, 0px)); z-index: 40; padding: 8px; border-radius: 30px; }
.mesa-pe.vidro-flutuante { background-color: rgb(var(--surface-2) / .94); background-image: none; }
.mesa-pe .botao.grande { min-height: 52px; }
.folha-pe .pe-frase { flex: 1 1 100%; margin: 0; }
/* Corrigir, Cancelar e Gerar prazo: no computador, Voltar à esquerda e a ação à direita, como no lugar (Controladoria); no celular, a ação fica em cima */
@media (min-width: 720px) { .folha-pe .pe-depois { order: 2; } }
@media (max-width: 719px) {
  .mesa-dois { grid-template-columns: minmax(0, 1fr); }
  /* no celular o selo longo ("Sem conferência há 2 dias") desce para baixo do texto, e o texto dessa linha vai inteiro, sem reticências */
  .linha.mov:has(> .selo.tom-neg.mov-estado) { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 12px; row-gap: 4px; }
  .linha.mov > .selo.tom-neg.mov-estado { grid-column: 2; justify-self: start; }
  .linha.mov:has(> .selo.tom-neg.mov-estado) .linha-texto b { display: block; -webkit-line-clamp: unset; overflow: visible; }
}
@media (max-width: 959px) {
  body[data-tela="controladoria"].processo-aberto .topo, body[data-tela="controladoria"].processo-aberto .dock { display: none; }
  body[data-tela="controladoria"].processo-aberto main { padding-top: calc(20px + env(safe-area-inset-top, 0px)); padding-bottom: calc(110px + env(safe-area-inset-bottom, 0px)); }
  body[data-tela="controladoria"].processo-aberto #avisos { bottom: calc(88px + env(safe-area-inset-bottom, 0px)); }
  body.processo-aberto .mesa-dir.vidro { background: none; border: 0; box-shadow: none; padding: 0; border-radius: 0; -webkit-backdrop-filter: none; backdrop-filter: none; }
  body.processo-aberto .mesa-cabeca .botao { margin-right: 0; }
  /* o celular mostra o apelido inteiro e quem cuida numa linha própria; nada fica com reticências no passo 2 */
  body.processo-aberto .mesa-cabeca h2 { display: block; -webkit-line-clamp: none; overflow: visible; text-wrap: balance; }
  body.processo-aberto .mesa-vara { white-space: normal; }
  body.processo-aberto .mesa-vara .mesa-sep { display: none; }
  body.processo-aberto .mesa-vara .mesa-cuida { display: block; }
  body.processo-aberto .mesa-cnj > .botao:last-child { margin-left: -6px; }
  .mesa-topo .linha-texto small { -webkit-line-clamp: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
  .linha.mov { min-height: 64px; }
}
@media (min-width: 1200px) {
  /* os campos de arquivo escondidos ficam no alto: embaixo da coluna eles faziam a página rolar 1 px */
  body[data-tela="controladoria"] > .sr { top: 0; }
  body[data-tela="controladoria"] .coluna { height: 100vh; height: 100dvh; }
  body[data-tela="controladoria"] main { flex: 1; min-height: 0; display: flex; flex-direction: column; padding-bottom: 24px; }
  body[data-tela="controladoria"] #tela-controladoria { flex: 1; min-height: 0; display: flex; flex-direction: column; }
  .mesa { flex: 1; min-height: 0; grid-template-columns: 320px minmax(0, 1fr); }
  .mesa.so-cliente { grid-template-columns: 320px; }
  .mesa-esq, .mesa-dir { min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
  .mesa-esq > .voltar-barra { margin-left: 0; }
}

/* Adendo (spec-adendo-linha-do-tempo.md): a linha do tempo nas três telas, as fichas mais curtas, as folhas que se corrigem e a conferência */
/* Hoje: o bloco "Para você conferir", com uma linha por tipo, alinhada ao texto do cabeçalho */
.conferir-cabeca { min-height: 48px; padding-bottom: 2px; }
.conferir-itens { margin: -4px 0 2px 52px; }
.conferir-itens .linha { min-height: 44px; padding: 6px 8px; }
.conferir-itens .linha-texto b { font-weight: 400; }
.linha.linha-nova { min-height: 52px; padding: 6px 8px; }
.linha-nova .linha-texto b { font-size: 15px; font-weight: 600; color: rgb(var(--ink)); }
.linha-nova .disco { width: 36px; height: 36px; }
.mesa-nova { margin-top: 10px; }
.cartao-tempo > .lista + .lista, .cartao-tempo > .lista + .vazio-lista { margin-top: 2px; }
.cartao-tempo .mesa-mes:first-of-type { margin-top: 10px; }
.tempo-vazio { padding: 6px 0 0; }
.ver-mais { margin: 6px 0 0 -6px; }
.cartao-topo .topo-acao { flex: none; margin-right: -8px; }
.cabeca-processo h1 { font-size: 23px; }
.cabeca-processo .sob { margin-top: 6px; }
.cnj-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 4px; margin-top: 12px; }
.cnj-linha .cnj-grande { font-size: 17px; margin-right: 6px; }
.ficha-como .mesa-como { margin-top: 10px; }
.ficha-cuida { margin-top: 10px; font-size: 13.5px; color: rgb(var(--ink) / .8); }
.ficha-cuida .link { font-size: 13.5px; }
.prazo-escolhido { margin-top: 6px; font-size: 12.5px; color: rgb(var(--ink) / .78); }
.tambem-aberto { margin: 16px 0 2px; }
.corpo-botao { display: block; width: calc(100% + 16px); margin: -6px -8px -8px; padding: 6px 8px 8px; border-radius: 18px; text-align: left; transition: background-color .12s; }
.corpo-botao > span { display: block; }
.corpo-botao .prazo-quando { display: flex; }
@media (hover: hover) { .corpo-botao:hover { background: rgb(var(--ink) / .05); } }
.corpo-botao:active { background: rgb(var(--ink) / .09); }
.cartao.cartao-linha { padding: 8px 12px; }
.cartao-linha .linha { margin: 0; min-height: 56px; }
.a-vencer { margin: 16px 0 4px; }
/* o contrato na ficha do cliente: a linha inteira é o botão (44 px ou mais), com a tira dentro, "Ver os meses" e a seta */
.linha.linha-contrato { margin: 10px -8px 0; width: calc(100% + 16px); min-height: 44px; padding: 8px; }
.linha-contrato .linha-texto { gap: 4px; }
.linha-contrato .leitura { display: block; margin: 0; }
.linha-contrato .tira-cab, .linha-contrato .tira { width: 100%; }
.linha-contrato .linha-texto > small { margin-top: 2px; }
.mov-gerar { margin-top: 2px; }
.fileira-corrigir { margin-top: 14px; }
.hist-coisa { list-style: none; margin: 8px 0 0; padding: 10px 14px; border-radius: 16px; background: rgb(var(--ink) / .05); font-size: 13px; line-height: 1.5; display: flex; flex-direction: column; gap: 8px; }
.hist-coisa small { display: block; font-size: 12px; color: rgb(var(--ink) / .72); }
.espera-linha { display: flex; gap: 8px; align-items: flex-start; margin-top: 12px; padding: 10px 12px; border-radius: 16px; background: rgb(var(--info-soft)); color: rgb(var(--info-fg)); font-size: 13px; line-height: 1.45; }
.espera-linha .ic { margin-top: 2px; flex: none; }
.conf-guia { font-size: 14px; color: rgb(var(--ink) / .8); }
.conf-rotulo { margin: 16px 0 8px; }
.conf-lista { display: flex; flex-direction: column; gap: 10px; }
.conf-bloco { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 22px; margin-top: 12px; }
.conf-lista .conf-bloco { margin-top: 0; }
.conf-nome { align-self: flex-start; text-align: left; font-size: 15px; font-weight: 600; min-height: 32px; }
.conf-mudou { font-size: 14px; line-height: 1.45; }
.conf-quem { font-size: 12.5px; color: rgb(var(--ink) / .78); line-height: 1.45; }
.conf-botoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.conf-grupo-caixa { margin-top: 18px; }
.conf-grupo-topo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.bloco-pagamento { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border-radius: 22px; font-size: 14px; }
.usar-conta { align-self: flex-start; margin: 4px 0 0 -10px; }
.aud-redes { margin-top: 12px; padding: 14px; border-radius: 22px; }
.ficha-cliente .cartao-processos .lista { margin-top: -4px; }
.ficha-cliente .linha.mesa-proc { padding: 8px 10px; }
.ficha-cliente .sob > span:last-child { white-space: nowrap; }
.cartao-tempo > .cartao-topo { margin-bottom: 8px; }
/* no computador, os botões da cabeça do cliente ficam ao lado do nome: os processos e a linha do tempo sobem para a primeira tela */
@media (min-width: 960px) {
  .ficha-cliente .cabeca-ficha { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 24px; }
  .ficha-cliente .cabeca-ficha { padding: 22px 24px; }
  .ficha-cliente .cabeca-ficha .quem { flex: 1 1 320px; min-width: 0; }
  .ficha-cliente .cabeca-ficha h1 { font-size: 24px; }
  .ficha-cliente .cabeca-ficha .ficha-acoes { margin-top: 0; }
}
@media (max-width: 959px) {
  .o7 { order: 7; } .o8 { order: 8; } .o9 { order: 9; } .o10 { order: 10; } .o11 { order: 11; }
  .linha.linha-nova { min-height: 56px; }
}
@media (pointer: coarse) { .conf-botoes .botao, .conf-nome, .usar-conta, .ver-mais { min-height: 44px; } }

/* Conversas, Arquivos (spec-conversas-arquivos.md): a entrada ao lado de onde se escreve, o painel do computador, a gaveta de vidro do
   celular, o leitor numa folha, a folha Antes de enviar e os balões do envio. Movimento com a curva .16,1,.3,1; Reduzir movimento deixa só a opacidade */
.conta-arq { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px; background: rgb(var(--primary)); color: rgb(var(--primary-fg)); font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.so-modelo-botoes { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.so-modelo > span:first-child { flex-basis: 100%; }
@media (max-width: 959px) {
  .compositor .compacto { flex-direction: column; gap: 1px; width: 44px; min-width: 44px; min-height: 44px; padding: 0; border: 0; background: none; border-radius: 14px; font-size: 11px; font-weight: 500; line-height: 1.1; color: rgb(var(--ink) / .85); position: relative; }
  .compositor .compacto .ic { width: 20px; height: 20px; }
  .compositor .compacto .conta-arq { position: absolute; top: -2px; right: -2px; }
  .compositor .compacto:active { background: rgb(var(--ink) / .08); }
}
.conv-arquivos { display: flex; flex-direction: column; min-height: 0; max-height: calc(100vh - 312px); align-self: start; border-radius: 26px; padding: 10px; gap: 8px; }
/* no computador, enquanto se escolhe, a coluna Quem é sai e o painel fica com metade da grade: o título lê inteiro e o Escolher fica pequeno ao lado */
@media (min-width: 960px) {
  .grade-conv:has(> .conv-arquivos) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .grade-conv:has(> .conv-arquivos) > .conv-lado { display: none; }
}
.conv-arquivos.entra { animation: arq-entra .22s cubic-bezier(.16, 1, .3, 1) both; }
.conv-arquivos.sai { animation: arq-sai .17s cubic-bezier(.7, 0, .84, 0) both; }
@keyframes arq-entra { from { opacity: 0; transform: translateX(-12px); } }
@keyframes arq-sai { to { opacity: 0; transform: translateX(-12px); } }
.arq-cabeca { display: flex; align-items: center; gap: 4px; min-height: 36px; padding-left: 6px; flex: none; }
@media (max-width: 959px) { .arq-cabeca h2 { font-size: 15px; } }
.arq-cabeca h2 { flex: 1; min-width: 0; font-family: Inter, sans-serif; font-weight: 600; font-size: 13.5px; line-height: 1.25; letter-spacing: -.01em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.arq-cabeca h2:focus { outline: none; }
.arq-cabeca .botao { padding: 0 6px; gap: 4px; }
.arq-cabeca h2:focus-visible { outline: 2px solid rgb(var(--brand)); }
.campo-busca.arq-busca { flex: none; min-height: 40px; padding-left: 14px; }
.campo-busca.arq-busca input { min-height: 38px; font-size: 15px; }
.arq-corpo { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 8px; }
.fichas-arq { flex: none; display: flex; gap: 6px; overflow-x: auto; margin: 0 -10px; padding: 0 10px; scrollbar-width: none; overscroll-behavior-x: contain; }
.fichas-arq::-webkit-scrollbar { display: none; }
.fichas-arq .opcao.pequena { min-height: 32px; white-space: nowrap; }
.fichas-arq .tnum { opacity: .75; }
.lista-escolha { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; margin: 0 -6px; padding: 0 6px; }
.lista-escolha .lista { margin: 0 -4px; }
.arq-secao { display: block; margin: 4px 6px 0; line-height: 16px; }
.arq-achados { margin: 4px 6px; font-size: 13px; font-weight: 600; color: rgb(var(--ink) / .8); }
.arq-vazio { padding: 10px 6px; }
/* a linha: a página, o título em até duas linhas e a data; o selo embaixo, na largura toda; a pílula no canto de cima, fora do selo */
.linha-escolha { position: relative; min-height: 76px; border-radius: 16px; }
.linha-escolha .arq-abrir { min-height: 76px; padding: 2px 6px; gap: 12px; align-items: flex-start; }
.linha-escolha .mini-doc { width: 44px; margin-top: 5px; }
.linha-escolha .linha-texto { min-width: 7rem; min-height: 72px; gap: 0; padding-top: 4px; }
.linha-escolha .linha-texto b { font-size: 14px; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.linha-escolha .linha-texto b, .linha-escolha .linha-texto > small { margin-right: 86px; }
.linha-escolha .linha-texto > small { font-size: 12px; line-height: 1.3; margin-top: 1px; }
.linha-escolha .linha-texto .selo { align-self: flex-start; margin-top: auto; padding: 1px 7px; font-size: 11px; }
.arq-dica { margin-top: 3px; margin-right: 0 !important; }
.linha-escolha .escolher { position: absolute; top: 6px; right: 4px; min-height: 44px; min-width: 82px; justify-content: center; transition: background-color .12s, color .12s, border-color .12s; }
.linha-escolha:not(:has(.escolher)) .linha-texto b, .linha-escolha:not(:has(.escolher)) .linha-texto > small { margin-right: 0; }
.linha-escolha .escolher[aria-pressed="true"] { background: rgb(var(--primary)); color: rgb(var(--primary-fg)); border-color: transparent; }
.linha-escolha .miniatura { transition: box-shadow .12s; }
.linha-escolha.escolhido .miniatura { box-shadow: 0 0 0 2px rgb(var(--primary)); }
.lista-escolha .lista { gap: 0; }
.pe-escolha { flex: none; animation: arq-pe .16s ease-out both; }
@keyframes arq-pe { from { opacity: 0; transform: translateY(8px); } }
@media (max-width: 959px) {
  .gaveta-arquivos { position: fixed; left: 10px; right: 10px; z-index: 39; border-radius: 28px; padding: 14px; display: flex; flex-direction: column; gap: 8px;
    top: calc(86px + env(safe-area-inset-top, 0px)); bottom: calc(10px + env(safe-area-inset-bottom, 0px) + var(--altura-campo, 62px) + 8px + var(--teclado, 0px)); touch-action: pan-y; }
  /* vidro mais espesso que o da barra: a conversa aparece embaçada atrás, e o texto da lista continua legível sobre um balão claro */
  .gaveta-arquivos.vidro-flutuante { background-color: rgb(var(--surface-2) / .8); background-image: none; --filtro-flut: blur(24px) saturate(1.3); }
  .gaveta-arquivos.com-escolha { bottom: calc(10px + env(safe-area-inset-bottom, 0px) + var(--teclado, 0px)); }
  .gaveta-arquivos.entra { animation: gaveta-sobe .24s cubic-bezier(.16, 1, .3, 1) both; }
  .gaveta-arquivos.sai { animation: gaveta-desce .17s cubic-bezier(.7, 0, .84, 0) both; }
  .gaveta-arquivos .arq-alca { margin: -6px auto -2px; flex: none; touch-action: none; }
  .gaveta-arquivos .arq-cabeca { touch-action: none; }
  .gaveta-arquivos .lista-escolha { margin: 0 -8px; padding: 0 8px; }
  .gaveta-arquivos .fichas-arq { margin: 0 -14px; padding: 0 14px 2px; }
}
@keyframes gaveta-sobe { from { opacity: 0; transform: translateY(24px); } }
@keyframes gaveta-desce { to { opacity: 0; transform: translateY(24px); } }
@media (prefers-reduced-transparency: reduce) { .gaveta-arquivos { background: rgb(var(--surface-2)); -webkit-backdrop-filter: none; backdrop-filter: none; } }
/* letra Muito grande: a pílula desce para baixo do título, as fichas quebram de linha e a folha empilha */
.letra-grande .linha-escolha .escolher { position: static; margin: 0 0 8px 62px; }
.letra-grande .linha-escolha .linha-texto { min-height: 0; }
.letra-grande .linha-escolha .linha-texto .selo { margin-top: 4px; }
.letra-grande .linha-escolha .linha-texto b, .letra-grande .linha-escolha .linha-texto > small { margin-right: 0; }
.letra-grande .fichas-arq { flex-wrap: wrap; overflow: visible; }
.letra-grande .para-envio, .letra-grande .arq-pe-linha { flex-wrap: wrap; }
/* o leitor numa folha: larga no computador, com as miniaturas à esquerda; de altura cheia no celular */
.folha.larga { max-width: 920px; height: 88vh; }
.folha-leitor .folha-corpo { display: flex; flex-direction: column; }
.folha-leitor .leitor { flex: 1 1 auto; min-height: 0; margin-top: 6px; grid-template-rows: minmax(0, 1fr); }
.folha-leitor .leitor-miniaturas { max-height: none; min-height: 0; }
.folha-leitor .palco-doc-caixa { height: auto; min-height: 0; border-radius: 22px; }
.folha-leitor .leitor-barra { position: static; transform: none; margin: 8px auto 10px; }
.folha-leitor .achados { margin-top: 4px; }
.folha-leitor .folha-cabeca h2 { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 17px; }
.leitor-voltar { display: none; }
.leitor-linha { display: flex; align-items: center; gap: 8px; font-size: 13px; color: rgb(var(--ink) / .82); margin-bottom: 4px; }
@media (max-width: 719px) {
  .folha.folha-leitor { height: calc(100dvh - 8px - env(safe-area-inset-top, 0px)); max-height: none; padding-left: 12px; padding-right: 12px; }
  .folha-leitor .leitor-voltar { display: inline-flex; flex: none; margin-left: -10px; }
  .folha-leitor .folha-cabeca:has(.leitor-voltar) > [data-acao="fechar-folha"]:last-child { display: none; }
}
.folha-camada.sobre { z-index: 80; }
/* a folha Antes de enviar */
.para-envio { display: flex; align-items: center; gap: 12px; padding: 2px 0 4px; }
.para-envio .linha-texto b { font-size: 16px; }
.para-envio .linha-texto { flex: 1 1 200px; }
.para-envio .linha-texto small { -webkit-line-clamp: 2; }
@media (max-width: 719px) { .para-envio { flex-wrap: wrap; row-gap: 6px; } .para-envio .selo { margin-left: 52px; } }
.para-envio .canal .tnum { color: rgb(var(--ink) / .85); }
.linhas-envio .aviso-linha { margin-top: 8px; }
.linhas-envio .aviso-linha > span { min-width: 0; }
.aviso-linha.conferir { background: rgb(var(--warning-soft)); color: rgb(var(--warning-fg)); }
.aviso-linha.conferir .ic { color: rgb(var(--warning-fg)); }
.aviso-linha .linha-arq { display: block; margin-top: 2px; font-size: 12px; opacity: .85; }
.saida-linha { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.saida-linha small { font-size: 12.5px; }
.linhas-envio .info-i { margin-top: 6px; }
.campo-envio { margin-top: 14px; display: flex; flex-direction: column; gap: 6px; }
.campo-envio label { font-size: 13px; font-weight: 600; }
.campo-envio textarea { min-height: 76px; resize: vertical; }
.rotulo-recebe { margin: 16px 0 8px; }
.moldura-recebe { display: flex; flex-direction: column; gap: 6px; padding: 12px; border-radius: 22px; background: rgb(var(--palco-solido)); box-shadow: inset 0 0 0 1px rgb(var(--ink) / .08); }
.moldura-recebe:empty { display: none; }
.moldura-recebe .balao-linha { max-width: 94%; }
.balao-modelo { display: flex; flex-direction: column; gap: 8px; }
.arq-previa { display: flex; flex-direction: column; gap: 4px; }
.arq-previa .anexo { width: min(320px, 100%); }
.arq-previa.compacto .anexo { grid-template-columns: 34px minmax(0, 1fr); padding: 8px; }
.arq-pe-linha { display: flex; align-items: center; gap: 4px 10px; flex-wrap: wrap; margin: 0 2px; font-size: 12px; color: rgb(var(--ink) / .8); }
.arq-pe-linha > span:first-child { flex: 1 1 auto; min-width: 0; }
.arq-pe-linha .botao.fantasma { min-height: 32px; padding: 0 8px; }
.arq-pe-linha > .selo:first-child { flex: 0 1 auto; margin: 0 auto 0 0; }
.segmento.mini { padding: 2px; }
.segmento.mini button { min-height: 28px; padding: 0 10px; font-size: 12px; }
.arq-fora { margin-top: 8px; opacity: .8; }
.cartao-email { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 18px; background: rgb(var(--surface)); box-shadow: inset 0 0 0 1px rgb(var(--ink) / .08); font-size: 13.5px; }
.email-cab { font-size: 12.5px; color: rgb(var(--ink) / .8); }
.email-texto { white-space: pre-wrap; line-height: 1.45; }
.email-anexos { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
@media (max-width: 959px) { .folha.folha-envio { bottom: var(--teclado, 0px); max-height: calc(100dvh - var(--teclado, 0px) - 8px - env(safe-area-inset-top, 0px)); } }
/* toda folha do celular sobe com o teclado: o corpo rola por dentro, o campo com o foco fica à vista e o pé (Salvar) fica logo acima do teclado */
@media (max-width: 959px) { .folha:not(.folha-envio):not(.folha-leitor) { bottom: var(--teclado, 0px); max-height: min(88vh, calc(100dvh - var(--teclado, 0px) - 8px - env(safe-area-inset-top, 0px))); } }
/* os balões do envio: "Enviando" a 60% e a borda tracejada de quem espera um sócio */
.balao-envio { gap: 4px; }
.enviados-rotulo { margin: 14px 0 2px; }
.linha-enviado .mini-doc { width: 34px; }
.balao-envio > .balao, .balao-envio > .anexo { transition: opacity .16s; }
.balao-envio.enviando > .balao, .balao-envio.enviando > .anexo { opacity: .6; }
.balao-envio.aprovando > .balao, .balao-envio.aprovando > .anexo { outline: 1.5px dashed rgb(var(--ink) / .45); outline-offset: 2px; }
.balao-envio .anexo { background: rgb(var(--surface)); }
.balao-email .balao-texto { display: block; }
.anexos-email { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.balao-email .anexo { color: rgb(var(--ink)); }
.balao-link { display: flex; gap: 6px; align-items: flex-start; }
.balao-link .ic, .balao-email .ic { margin-top: 4px; }
.balao-falha { margin-top: 4px; }
.aprovar .linhas-envio { margin-top: 4px; }
.aprovar .balao-envio { max-width: 100%; }
/* o rastro: no arquivo, na linha do tempo e na página do link */
.linha-envio { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 6px; font-size: 13.5px; color: rgb(var(--ink) / .85); }
.mov-envio > .linha { padding-bottom: 4px; }
.mov-envio .envio-arqs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 6px 64px; }
.envio-arq { min-height: 36px; padding: 4px 12px 4px 6px; border: 1px solid rgb(var(--ink) / .12); background: rgb(var(--vs-tinta) / var(--vs-forca)); max-width: 100%; }
.envio-arq .mini-doc { width: 20px; }
.link-arqs { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.link-arqs li { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.link-arqs .anexo { flex: 1 1 220px; }
.link-expirado { text-align: center; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
@media (prefers-reduced-motion: reduce) {
  .conv-arquivos.entra, .gaveta-arquivos.entra { animation: esmaecer .2s ease both; }
  .conv-arquivos.sai, .gaveta-arquivos.sai { animation: arq-some .17s ease both; }
  .pe-escolha { animation: esmaecer .16s ease both; }
}
@keyframes arq-some { to { opacity: 0; } }

/* ===================== Mesa de Luz: a camada que veste o v4 inteiro =====================
   Vem por último e vale sobre as regras de cima: palco e luz do dia, vidro em três espessuras, tipografia, a casca com seis destinos,
   a voz no alto, os nomes das pessoas em cor e as peças novas (cartão da frente, Opções da conversa, Todos os arquivos). */
:root {
  --mola: linear(0, 0.0454, 0.1465, 0.2678, 0.3895, 0.5015, 0.5993, 0.6819, 0.75, 0.8052, 0.8493, 0.884, 0.9113, 0.9324, 0.9487, 0.9612, 0.9707, 0.978, 0.9835, 0.9877, 0.9908, 0.9931, 0.9949, 0.9962, 1);
  --mola-solta: linear(0, 0.0417, 0.1406, 0.2666, 0.3993, 0.5257, 0.6387, 0.7348, 0.8134, 0.8753, 0.9223, 0.9567, 0.9809, 0.997, 1.0069, 1.0124, 1.0148, 1.0151, 1.0141, 1.0124, 1.0105, 1.0085, 1.0066, 1.005, 1.0036, 1.0025, 1.0016, 1.001, 1.0005, 1.0002, 1);
  --sai: cubic-bezier(.4, 0, 1, 1);
  --r-frente: 32px; --r-meio: 26px; --r-fundo: 22px;
  --lateral: 236px;
  --luz-a: var(--atencao-a); --luz-b: var(--atencao-b);
}
:root[data-luz="calma"] { --luz-a: var(--calma-a); --luz-b: var(--calma-b); }
body { line-height: 1.5; }
/* a aurora cinza que derivava sai: a luz do dia mora no palco, parada, e só muda quando o dia muda */
body::before, body::after { content: none; animation: none; }
#luz-fundo { position: fixed; inset: 0; z-index: -1; pointer-events: none; overflow: hidden;
  background: radial-gradient(120% 90% at 46% 22%, var(--palco-1) 0%, var(--palco-2) 58%, var(--palco-3) 100%); }
#ceu { position: absolute; inset: -12%; will-change: transform; }
#ceu i { position: absolute; border-radius: 50%; display: block; }
#ceu .l1 { left: -6%; top: -12%; width: 70%; height: 72%; }
#ceu .l2 { right: -8%; top: -6%; width: 56%; height: 60%; }
#ceu .l1.a { left: -18%; top: -22%; background: radial-gradient(closest-side, rgb(from var(--atencao-a) r g b / var(--luz-at)) 0%, rgb(from var(--atencao-a) r g b / calc(var(--luz-at) * .86)) 40%, transparent); }
#ceu .l2.a { background: radial-gradient(closest-side, rgb(from var(--atencao-b) r g b / var(--luz-at-2)) 0%, rgb(from var(--atencao-b) r g b / calc(var(--luz-at-2) * .8)) 36%, transparent); }
#ceu .l1.c { background: radial-gradient(closest-side, rgb(from var(--calma-a) r g b / var(--luz-forca)), transparent); }
#ceu .l2.c { background: radial-gradient(closest-side, rgb(from var(--calma-b) r g b / var(--luz-forca-2)), transparent); }
#ceu .a, #ceu .c { transition: opacity 1.8s ease; will-change: opacity; }
#ceu .c, :root[data-luz="calma"] #ceu .a { opacity: 0; }
:root[data-luz="calma"] #ceu .c { opacity: 1; }
#ceu .l3 { left: 26%; bottom: -24%; width: 62%; height: 56%; background: radial-gradient(closest-side, rgb(var(--ink) / .05), transparent); }
#clarao { position: absolute; inset: 0; opacity: 0; background: radial-gradient(70% 60% at 50% 30%, var(--clarao, rgb(255 255 255 / .3)), transparent 70%); }
#luz-fundo::after { content: ""; position: absolute; inset: 0; opacity: .045; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* Materiais: a espessura do vidro diz a importância. Meio (o trabalho), fundo (o recuado), flutuante (barras), sólido (folhas e avisos) e frente */
.vidro { background-color: rgb(var(--vidro) / var(--v-meio)); background-image: linear-gradient(150deg, rgb(var(--reflexo) / var(--reflexo-forca)) 0%, transparent 36%);
  border: 1px solid rgb(var(--linha) / var(--linha-forca)); border-top-color: rgb(var(--fio) / var(--fio-forca)); -webkit-backdrop-filter: none; backdrop-filter: none; }
.cartao.vidro, .cal-cartao, .semana-cartao, .coluna-t, .conv-lista, .conv-meio, .conv-lado { box-shadow: var(--sombra-cartao); }
.vidro-simples { background-color: rgb(var(--vidro) / var(--v-fundo)); border: 1px solid rgb(var(--linha) / var(--linha-forca)); }
.vidro-flutuante, .vidro-dock { background-color: rgb(var(--flut) / var(--v-flut)); background-image: none; border: 1px solid rgb(var(--linha) / var(--linha-forca)); border-top-color: rgb(var(--fio) / var(--fio-forca));
  -webkit-backdrop-filter: var(--filtro-flut); backdrop-filter: var(--filtro-flut); box-shadow: var(--sombra-flut); }
.vidro-folha { background-color: rgb(var(--surface) / var(--v-solido)); background-image: none; border: 1px solid rgb(var(--linha) / var(--linha-forca)); border-top-color: rgb(var(--fio) / var(--fio-forca));
  -webkit-backdrop-filter: var(--filtro-folha); backdrop-filter: var(--filtro-folha); box-shadow: var(--sombra-flut); }
/* a frente: a coisa mais importante da tela, com o halo nas duas cores da luz do dia */
.malha-prata, .malha-barro, .frente {
  position: relative; isolation: isolate; border-radius: var(--r-frente);
  background: linear-gradient(140deg, rgb(var(--reflexo) / var(--reflexo-forca)) 0%, transparent 42%), rgb(var(--vidro) / var(--v-frente));
  -webkit-backdrop-filter: var(--filtro-frente); backdrop-filter: var(--filtro-frente);
  border: 1px solid rgb(var(--linha) / var(--linha-forca)); border-top-color: rgb(var(--fio) / var(--fio-forca));
  box-shadow: var(--frente-anel, 0 0 0 0 transparent, 0 0 0 0 transparent), var(--sombra-frente), 0 40px 90px -36px rgb(from var(--luz-a) r g b / var(--halo-a)), 0 22px 60px -30px rgb(from var(--luz-b) r g b / var(--halo-b));
}
.malha-prata::before, .malha-barro::before, .frente::before { content: ""; position: absolute; inset: -1px; border-radius: inherit; z-index: -1; pointer-events: none;
  background: radial-gradient(90% 70% at 0% 0%, rgb(from var(--luz-a) r g b / var(--heroi-luz)), transparent 60%), radial-gradient(70% 60% at 100% 100%, rgb(from var(--luz-b) r g b / .1), transparent 70%); }
/* o que pede atenção tem a luz própria em carmim, qualquer que seja a luz do dia */
.malha-barro { box-shadow: var(--sombra-frente), 0 36px 80px -34px rgb(from var(--atencao-a) r g b / .5); }
.malha-barro::before { background: radial-gradient(95% 75% at 0% 0%, rgb(from var(--atencao-a) r g b / .16), transparent 62%), radial-gradient(70% 60% at 100% 100%, rgb(from var(--atencao-b) r g b / .1), transparent 70%); }
@media (max-width: 600px) { .malha-prata, .malha-barro, .frente { -webkit-backdrop-filter: none; backdrop-filter: none; background: linear-gradient(140deg, rgb(var(--reflexo) / var(--reflexo-forca)) 0%, transparent 42%), rgb(var(--vidro) / var(--v-frente-cel)); } }
@media (prefers-reduced-transparency: reduce) {
  .vidro, .vidro-simples, .vidro-flutuante, .vidro-dock, .vidro-folha, .malha-prata, .malha-barro, .frente { background: rgb(var(--surface)); -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-contrast: more) {
  :root { --linha-forca: .45; }
  .vidro, .vidro-simples, .vidro-flutuante, .vidro-dock, .vidro-folha, .malha-prata, .malha-barro, .frente { background: rgb(var(--surface)); }
}
.cartao, .coluna-t, .pessoa-carga, .item-fila, .escolher, .trib, .conv-arquivos { border-radius: var(--r-meio); }
.heroi, .atencao, .cabeca-ficha, .cal-cartao, .semana-cartao, .palco, .palco-doc-caixa, .vazio-busca, .soltar { border-radius: var(--r-frente); }
.cartao { padding: 20px; }

/* Tipografia: Montserrat para o que se lê primeiro, Inter para a interface, nada em caixa alta */
.numeral { font-weight: 200; letter-spacing: -.045em; }
.titulo-pagina { font-size: clamp(1.45rem, 1.2vw + 1.05rem, 1.6rem); letter-spacing: -.022em; line-height: 1.15; }
.cartao-titulo { font-size: 1.0625rem; letter-spacing: -.012em; }
.pagina-linha { color: rgb(var(--ink-2)); font-size: .8125rem; }
.rotulo, .campo-grupo label, .campo-rotulo, .bloco-data small, .fixos dt, .capa-fatos dt, .papel, .mapa-escala, .segmento.quatro button { text-transform: none; letter-spacing: 0; }
.rotulo, .campo-grupo label, .campo-rotulo, .fixos dt, .capa-fatos dt, .papel { font-size: 12px; font-weight: 600; color: rgb(var(--ink-2)); }
.bloco-data small { font-size: 11px; }
.marca { font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 1.25rem; letter-spacing: .02em; text-transform: none; line-height: 1; }
.marca i { display: none; }
.entrar-marca .marca { font-size: 3rem; }

/* Botões e selos */
.botao { transition: transform 100ms ease-out, background-color 160ms, border-color 160ms, box-shadow 160ms, opacity 160ms; }
.botao.principal { box-shadow: 0 8px 20px -8px rgb(var(--sombra) / .45); }
@media (hover: hover) { .botao.principal:hover { box-shadow: 0 12px 28px -10px rgb(var(--sombra) / .55); } }
.botao.secundario { background: rgb(var(--vidro) / var(--v-meio)); border: 1px solid rgb(var(--ink) / .26); }
@media (hover: hover) { .botao.secundario:hover { border-color: rgb(var(--ink) / .6); } }
.botao.fantasma { color: rgb(var(--ink-2)); }
.selo { padding: 3px 10px; gap: 5px; background: rgb(var(--ink) / .07); color: rgb(var(--ink-2)); border: 1px solid rgb(var(--ink) / .1); }
.selo.tom-neg { background: rgb(var(--negative-soft)); color: rgb(var(--negative-fg)); border-color: rgb(var(--negative) / .32); }
.selo.tom-alerta { background: rgb(var(--warning-soft)); color: rgb(var(--warning-fg)); border-color: rgb(var(--warning) / .32); }
.selo.tom-bom { background: rgb(var(--positive-soft)); color: rgb(var(--positive-fg)); border-color: rgb(var(--positive) / .32); }
/* "a conferir" é azul tracejado: o sistema calculou e espera alguém olhar */
.selo.tom-info { background: rgb(var(--info-soft) / .65); color: rgb(var(--info-fg)); border: 1.5px dashed rgb(var(--info) / .7); }
.disco { background: rgb(var(--ink) / .07); border-color: rgb(var(--ink) / .1); color: rgb(var(--ink-2)); }
.disco.tom-marca { background: linear-gradient(180deg, rgb(var(--mono-1)), rgb(var(--mono-2))); }
.opcao[aria-checked="true"], .opcao[aria-pressed="true"], .opcao:has(input:checked) { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); border-color: transparent; }
.segmento button[aria-checked="true"] { color: rgb(var(--pilula-tinta)); }
.pilula { background: rgb(var(--pilula)); box-shadow: 0 4px 14px rgb(var(--sombra) / .22); }
.pilula.anda { transition: transform 450ms var(--mola); }
.circulo-fino { border-color: rgb(var(--ink) / .3); color: rgb(var(--ink-2)); }
.bloco-data.hoje { background: rgb(var(--negative)); color: #fff; }
.mapa-dia.hoje b, .gh-cab.hoje b, .dia.hoje .dia-num b, .voo-dia.inicio b, .voo-dia.fim b, .conta-cal .d.fim { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); }
.bloco-data.hoje small { color: rgb(255 255 255 / .85); }
.campo { background: rgb(var(--surface) / .7); border-color: rgb(var(--ink) / .2); }
.campo:focus { border-color: rgb(var(--ink) / .6); box-shadow: 0 0 0 4px rgb(var(--ink) / .12); }
.achados mark { background: rgb(var(--marca-busca) / .5); color: inherit; }
.achado-doc q mark, .linha-texto mark { box-shadow: inset 0 -1px 0 rgb(var(--info) / .6); }
/* pessoas: um nome curto numa cor fixa por pessoa */
.gente { display: inline-flex; align-items: center; min-height: 22px; padding: 0 8px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1; white-space: nowrap; vertical-align: 1px;
  color: rgb(var(--cor)); background: rgb(var(--cor) / .1); border: 1px solid rgb(var(--cor) / .26); font-style: normal; }
.gente.livia { --cor: var(--p-livia); } .gente.helena { --cor: var(--p-helena); } .gente.bruno { --cor: var(--p-bruno); } .gente.caio { --cor: var(--p-caio); } .gente.otavio { --cor: var(--p-otavio); }
.linha-texto small .gente, .meta .gente { min-height: 19px; padding: 0 7px; font-size: 11.5px; }
.botao-i { border-color: rgb(var(--ink) / .4); color: rgb(var(--ink-2)); }

/* Casca: a barra lateral com seis destinos e a pílula que anda */
@media (min-width: 960px) {
  .casca { grid-template-columns: var(--lateral) minmax(0, 1fr); gap: 4px; }
  .lateral { padding: 16px 0 16px 16px; }
  .lateral-painel { padding: 20px 12px 14px; border-radius: 30px; }
  .lateral-marca { padding: 2px 12px 22px; }
  .lateral-marca .marca { font-size: 1.4rem; }
  .lateral-rolagem { margin: 0 -12px; padding: 0 12px 10px; }
  .lateral nav ul { position: relative; gap: 2px; }
  .lateral nav a { position: relative; z-index: 1; min-height: 44px; padding: 0 14px; gap: 12px; font-size: .9375rem; color: rgb(var(--ink-2)); transition: color 300ms, background-color 160ms; }
  .lateral nav a[aria-current="page"] { background: transparent; color: rgb(var(--pilula-tinta)); box-shadow: none; animation: none; }
  @media (hover: hover) { .lateral nav a:hover { transform: none; } .lateral nav a[aria-current="page"]:hover { background: transparent; } }
  .adicionar-lateral { width: 100%; margin-top: 18px; text-decoration: none; }
  .lateral-rodape { display: flex; align-items: center; gap: 4px; padding-top: 12px; }
  .lateral-rodape .pessoa-lateral { flex: 1; min-width: 0; min-height: 52px; padding: 6px; border-radius: 18px; }
  .lateral-rodape .disco { background: rgb(var(--cor, var(--ink))); color: rgb(var(--canvas)); border: 0; width: 38px; height: 38px; font-size: 12.5px; }
  .lateral-rodape .linha-texto small { color: rgb(var(--ink-2)); }
  .lateral-rodape .linha-texto b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .tema-lateral { width: 44px; padding: 0; flex: none; }
  .topo { padding: 16px 20px 0 12px; }
  .topo .marca, .topo .topo-mais { display: none; }
  main { padding: 20px 20px 48px 12px; }
}
/* a cápsula do alto: a voz do sistema, Buscar e o chip da luz */
.topo::before { content: ""; position: absolute; inset: 0 0 -14px; z-index: -1; pointer-events: none; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); -webkit-mask-image: linear-gradient(#000 55%, transparent); mask-image: linear-gradient(#000 55%, transparent); }
.topo { padding: 12px 12px 0; }
.topo-capsula { gap: 6px; min-height: 56px; padding: 6px 6px 6px 16px; border-radius: 28px; }
@media (min-width: 960px) { .topo-capsula { gap: 10px; min-height: 62px; padding-left: 14px; border-radius: 31px; } }
.topo .espaco { display: block; flex: 1; }
@media (min-width: 960px) { .topo .espaco { display: none; } }
.topo .botao-pessoa { display: none; }
.chip-topo { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: 999px; font-size: .8125rem; font-weight: 600; white-space: nowrap; color: rgb(var(--ink));
  border: 1px solid rgb(var(--ink) / .14); background: rgb(var(--vidro) / var(--v-meio)); text-decoration: none; transition: transform 100ms; flex: none; }
.chip-topo:active { transform: scale(.96); }
.chip-topo .bola { width: 10px; height: 10px; border-radius: 50%; background: linear-gradient(135deg, var(--luz-a), var(--luz-b)); box-shadow: 0 0 10px rgb(from var(--luz-a) r g b / .7); }
.topo-busca { flex: none; max-width: none; margin: 0; color: rgb(var(--ink-2)); font-weight: 500; }
@media (min-width: 960px) { .topo-busca { flex: 0 1 200px; justify-content: flex-start; } }
@media (max-width: 959px) { .topo-perguntar { display: none; } .chip-topo { padding: 0 11px; gap: 6px; } }

body[data-tela="buscar"] .topo-busca { visibility: visible; background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); }
.topo-mais[aria-current="page"] { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); border-color: transparent; }
.voz { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1; transition: opacity 160ms ease; }
.voz p { font-size: .9375rem; line-height: 1.35; min-width: 0; text-wrap: pretty; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.voz p .w { opacity: 0; transition: opacity .28s ease; }
.voz p .w.on { opacity: 1; }
.orbe { width: 26px; height: 26px; flex: none; border-radius: 50%; position: relative;
  background: radial-gradient(circle at 34% 30% in srgb, rgb(255 255 255 / .95), rgb(from var(--luz-a) r g b / .95) 42%, rgb(from var(--luz-b) r g b / .9) 78%);
  box-shadow: 0 0 18px rgb(from var(--luz-a) r g b / .55), inset 0 -2px 4px rgb(0 0 0 / .12); }
.orbe::after { content: ""; position: absolute; inset: -9px; border-radius: 50%; pointer-events: none; opacity: 0; background: radial-gradient(closest-side, rgb(from var(--luz-a) r g b / .55), transparent); }
.orbe.fala { animation: fala 1.1s ease-in-out 1; }
.orbe.fala::after { animation: fala-luz 1.1s ease-in-out 1; }
@keyframes fala { 50% { transform: scale(1.12); } }
@keyframes fala-luz { 50% { opacity: 1; } }
.topo .voz { display: none; }
.voz-tela { margin: 0 4px 16px; }
.voz-tela p { font-size: .9375rem; }
@media (min-width: 960px) { .topo .voz { display: flex; } .voz-tela { display: none; } }
body.com-aviso .voz { opacity: 0; }
body[data-tela="conversas"].conversa-aberta .voz-tela { display: none; }

/* A barra do celular: cinco destinos e o Adicionar num quadrado arredondado */
.dock { left: 0; right: 0; gap: 6px; padding: 0 8px calc(10px + env(safe-area-inset-bottom, 0px)); }
.dock ul { grid-template-columns: repeat(5, minmax(0, 1fr)); flex: 0 1 330px; padding: 5px; border-radius: 26px; gap: 0; }
.dock a { min-height: 52px; gap: 2px; border-radius: 18px; font-size: clamp(10px, 2.8vw, 11px); letter-spacing: -.01em; color: rgb(var(--ink-2)); }
.dock a span { white-space: nowrap; }
.dock a[aria-current="page"] { color: rgb(var(--pilula-tinta)); }
.dock .pilula { border-radius: 18px; }
.dock-ponta { width: 60px; height: 62px; border-radius: 24px; font-size: clamp(10px, 2.8vw, 11px); letter-spacing: -.01em; box-shadow: var(--sombra-flut); }
.dock-ponta[aria-current="page"] { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); }
/* no celular a barra e a cápsula ficam quase opacas: o que rola por baixo não aparece dentro delas */
@media (max-width: 959px) { .dock ul, .dock-ponta, .topo-capsula { background-color: rgb(var(--flut) / .93); } }
main { padding-top: 16px; }

/* Hoje: a coisa mais urgente na frente, com um botão; o resto em cartões do meio */
.frente { padding: 22px 22px 22px; min-width: 0; }
@media (min-width: 960px) { .frente { padding: 28px 30px 26px; } }
.frente > * { position: relative; z-index: 1; }
.frente-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.frente-cab .ctx { font-size: .8125rem; color: rgb(var(--ink-2)); }
.frente-cab .botao-i { margin-left: auto; }
.frente-titulo { margin-top: 14px; font-family: Montserrat, Inter, sans-serif; font-weight: 500; font-size: clamp(1.7rem, 2.2vw + .9rem, 2.35rem); line-height: 1.1; letter-spacing: -.025em; text-wrap: balance; }
.frente-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 12px; }
.relogio { display: flex; align-items: baseline; gap: 4px; margin-top: 18px; }
.relogio .numeral { font-size: clamp(3.4rem, 4.6vw + 1rem, 5rem); line-height: .95; }
.relogio small { font-family: Montserrat, sans-serif; font-weight: 300; font-size: 1.15rem; color: rgb(var(--ink-2)); margin-right: 10px; }
.frente-acoes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; align-items: center; }
.a-frente { order: -2; }
@media (max-width: 959px) { .a-semana { order: -1; } }
.a-semana .num-principal .numeral { font-size: 56px; }
@media (min-width: 960px) { .a-semana .num-principal .numeral { font-size: 60px; } }
.a-atencao .lista .linha-texto b { font-size: .9375rem; }

/* Conversas: Opções no lugar de Arquivos e Modelos; a fileira de sete envios abre sobre o campo */
.compositor .b-opcoes { flex: none; }
.opcoes-envio { flex: 1 1 100%; min-width: 0; max-width: 100%; order: -2; margin: 0 0 4px; padding: 8px; border-radius: 22px; animation: brota 450ms var(--mola) both; transform-origin: 20% 100%; }
.opcoes-envio[hidden] { display: none; }
@keyframes brota { from { opacity: 0; transform: translateY(10px) scale(.94); } }
.opcoes-grade { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
/* a gaveta de arquivos do celular é sólida: a conversa por baixo não aparece entre as linhas */
.gaveta-arquivos.vidro-flutuante { background-color: rgb(var(--surface) / .97); }
.modulo small { color: rgb(var(--ink-2)); }
.modulo small.atraso { color: rgb(var(--negative-fg)); }
.opcoes-grade .opcao-envio { display: inline-flex; gap: 6px; align-items: center; min-height: 40px; padding: 0 12px 0 9px; border-radius: 999px; border: 1px solid rgb(var(--ink) / .16); font-size: .8125rem; font-weight: 600; transition: background-color 160ms, transform 100ms; }
.opcoes-grade .opcao-envio:active { transform: scale(.98); }
@media (hover: hover) { .opcoes-grade .opcao-envio:hover, .opcoes-grade .opcao-envio:focus-visible { background: rgb(var(--ink) / .07); } }
.opcao-envio.sem-dado { opacity: .5; }
.opcoes-desc { min-height: 1.4em; padding: 6px 6px 0; font-size: .8125rem; color: rgb(var(--ink-2)); }
@media (max-width: 959px) {
  .opcoes-grade { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -8px; padding: 0 8px 2px; }
  .opcoes-grade::-webkit-scrollbar { display: none; }
  .opcoes-grade .opcao-envio { flex: none; }
}
form.compositor { flex-wrap: wrap; }
/* Arquivos: deste cliente ou de todo o escritório; o de outra pasta ganha o selo vermelho com a pasta dele */
.seg-arq { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin: 0 0 8px; border-radius: 999px; background: rgb(var(--ink) / .07); }
.seg-arq button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; padding: 0 10px; border-radius: 999px; font-size: .8125rem; font-weight: 600; color: rgb(var(--ink-2)); white-space: nowrap; transition: background-color 160ms, color 160ms; }
.seg-arq button[aria-checked="true"] { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); box-shadow: 0 2px 8px rgb(var(--sombra) / .2); }
.arq-grupo-tit { display: flex; align-items: baseline; gap: 8px; margin: 12px 4px 4px; font-size: .8125rem; font-weight: 600; color: rgb(var(--ink-2)); }
.arq-grupo-tit:first-child { margin-top: 2px; }
.selo.pasta-outra { background: rgb(var(--negative-soft)); color: rgb(var(--negative-fg)); border-color: rgb(var(--negative) / .32); }

/* Mais: as outras áreas numa lista limpa, e Sua conta no alto do celular */
.mais-conta { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; margin-bottom: 14px; border-radius: 22px; text-align: left; }
.mais-conta .disco { background: rgb(var(--cor, var(--ink))); color: rgb(var(--canvas)); border: 0; }
.mais-conta b { display: block; font-weight: 600; }
.mais-conta small { display: block; font-size: .8125rem; color: rgb(var(--ink-2)); }
@media (min-width: 960px) { .mais-conta { display: none; } }
.modulo { border-radius: var(--r-meio); }
.modulo-icone { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); box-shadow: 0 6px 16px -6px rgb(var(--sombra) / .35); }

/* Cérebro: o mapa plano, parado, com pontos redondos; o tipo se lê pela cor */
.palco { background: var(--palco); }
.rede .no.t-arquivo .no-disco, .rede .no.t-prazo .no-disco, .rede .no.t-tarefa .no-disco { stroke: rgb(var(--palco-solido)); stroke-width: 1; }
.rede .no.t-cliente .no-disco { stroke: rgb(var(--cor) / .35); }
.rede .aresta.acesa { stroke: rgb(var(--ink) / .55); }
.rede .no.novo .no-anel, .rede .aresta.nova { stroke: rgb(var(--chegada)); }
.palco-dica, .palco-ferramentas .botao { background-color: rgb(var(--surface) / .9); border: 1px solid rgb(var(--ink) / .12); }
.mini-rede { background: var(--palco); }
.luz-dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px 14px; align-items: center; margin: 4px 0 8px; }
.luz-dl dt { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.luz-dl dd { margin: 0; color: rgb(var(--ink-2)); }
.luz-dl .bola { width: 12px; height: 12px; border-radius: 50%; }

/* Avisos: opacos, um por vez */
.aviso.vidro-folha, .aviso { background: rgb(var(--surface)); }
.aviso .ic { color: rgb(var(--ink-2)); }

/* Movimento calmo: o ajuste do aparelho troca deslizar por esmaecer */
@media (prefers-reduced-motion: reduce) {
  #ceu .a, #ceu .c { transition: none; }
  .orbe.fala, .orbe.fala::after { animation: none; }
}

/* ===================== Mesa de Luz, rodada 2 (vision-final.html): a conversa como na mesa e o cérebro em pontos redondos =====================
   Vem depois de tudo e vale sobre o que está em cima. O mapa: todo ponto é redondo e o tipo se lê pela cor (cliente grafite, processo roxo,
   prazo carmim, audiência verde-azulado, equipe verde, parte e contato azul, tarefa magenta, arquivo cinza) */
:root {
  --m-cliente: 22 24 29; --m-processo: 104 72 168; --m-prazo: 186 28 56; --m-evento: 14 116 128; --m-equipe: 29 120 84;
  --m-pessoa: 46 92 170; --m-tarefa: 160 40 124; --m-arquivo: 108 114 126; --m-halo: 255 255 255; --m-grade: 22 24 29;
  --rede-empresa: var(--rede-pessoa);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --m-cliente: 240 241 244; --m-processo: 182 156 238; --m-prazo: 242 92 112; --m-evento: 98 196 206; --m-equipe: 108 190 150;
    --m-pessoa: 134 170 234; --m-tarefa: 230 132 200; --m-arquivo: 158 164 176; --m-halo: 17 18 21; --m-grade: 243 244 246;
  }
}
:root[data-theme="dark"] {
  --m-cliente: 240 241 244; --m-processo: 182 156 238; --m-prazo: 242 92 112; --m-evento: 98 196 206; --m-equipe: 108 190 150;
  --m-pessoa: 134 170 234; --m-tarefa: 230 132 200; --m-arquivo: 158 164 176; --m-halo: 17 18 21; --m-grade: 243 244 246;
}
/* o ponto da legenda e das marcas é sempre redondo, na cor do tipo */
.ponto-tipo, .t-prazo .ponto-tipo, .ponto-tipo.t-prazo, .t-arquivo .ponto-tipo, .t-tarefa .ponto-tipo, .t-processo .ponto-tipo { border-radius: 999px; transform: none; clip-path: none; box-shadow: none; background: rgb(var(--cor)); }
.t-evento { --cor: var(--m-evento); } .t-equipe { --cor: var(--m-equipe); }
.rede .no.t-processo .no-disco, .rede .no.t-arquivo .no-disco, .rede .no.t-prazo .no-disco, .rede .no.t-tarefa .no-disco { fill: rgb(var(--cor)); stroke: rgb(var(--palco-solido)); stroke-width: 1.5; }
.rede .no.t-cliente .no-disco { stroke: rgb(var(--palco-solido)); stroke-width: 1.5; }
svg.forma { width: 16px; height: 16px; flex: none; overflow: visible; }

/* a janela do cérebro: no painel da conversa e no Hoje, o mesmo mapa do Cérebro, pequeno e parado */
.mini-mapa { position: relative; height: 124px; border-radius: 18px; overflow: hidden; border: 1px solid rgb(var(--ink) / .08);
  background: radial-gradient(70% 60% at 12% 18%, rgb(from var(--luz-a) r g b / var(--mapa-luz)), transparent 70%), radial-gradient(60% 55% at 92% 92%, rgb(from var(--luz-b) r g b / var(--mapa-luz)), transparent 70%), rgb(var(--m-fundo) / .5); }
.mini-mapa canvas, .janela-mapa canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }

/* Conversas: as pessoas em pílulas em cima, a conversa no meio e o cliente à direita (sem título de página, sem abas, sem filtros) */
body[data-tela="conversas"] main { padding-bottom: 16px; }
.conv-grade2 { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.conv-pilulas { display: flex; align-items: center; gap: 8px; min-width: 0; }
.conv-rolo { flex: 1 1 auto; min-width: 0; display: flex; gap: 8px; overflow-x: auto; padding: 2px; scrollbar-width: none; overscroll-behavior-x: contain; }
.conv-rolo::-webkit-scrollbar { display: none; }
.conv-pilula { position: relative; flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 4px 18px; border-radius: 999px; white-space: nowrap; font-size: .875rem; font-weight: 600;
  color: rgb(var(--ink-2)); border: 1px solid rgb(var(--ink) / .14); background: rgb(var(--vidro) / var(--v-meio)); transition: background-color 160ms, color 160ms, transform 100ms; }
.conv-pilula:active { transform: scale(.97); }
.conv-pilula[aria-current="true"] { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); border-color: transparent; }
.conv-pilula .ic { width: 14px; height: 14px; }
@media (hover: hover) { .conv-pilula:not([aria-current="true"]):hover { border-color: rgb(var(--ink) / .4); } }
/* número novo: ponto vermelho; conversa sem ler: ponto azul do que chega */
.conv-pilula i { position: absolute; top: 6px; right: 7px; width: 8px; height: 8px; border-radius: 50%; }
.conv-pilula .ponto-novo { background: rgb(var(--negative)); box-shadow: 0 0 0 2px rgb(var(--negative) / .18); }
.conv-pilula .ponto-lida { background: rgb(var(--chegada)); box-shadow: 0 0 0 2px rgb(var(--chegada) / .18); }
.conv-caixa { position: relative; flex: none; }
.conv-caixa-botao { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; padding: 0 12px; border-radius: 999px; font-size: .8125rem; font-weight: 600;
  color: rgb(var(--ink-2)); border: 1px solid rgb(var(--ink) / .14); background: rgb(var(--vidro) / var(--v-meio)); transition: transform 100ms, background-color 160ms; }
.conv-caixa-botao:active { transform: scale(.96); }
.conv-caixa-botao[aria-expanded="true"], .conv-caixa-botao.aberta { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); border-color: transparent; }
.conv-menu { position: absolute; right: 0; top: calc(100% + 8px); z-index: 50; width: 248px; padding: 6px; border-radius: 22px; display: flex; flex-direction: column; gap: 2px; animation: brota 300ms var(--mola) both; transform-origin: 90% 0; }
.conv-menu[hidden] { display: none; }
.conv-menu-item { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 0 12px; border-radius: 14px; font-size: .875rem; font-weight: 500; text-align: left; color: rgb(var(--ink)); }
.conv-menu-item span:first-of-type { flex: 1; }
.conv-menu-conta { min-width: 22px; padding: 1px 7px; border-radius: 99px; font-size: .75rem; font-weight: 600; text-align: center; background: rgb(var(--ink) / .08); color: rgb(var(--ink-2)); }
@media (hover: hover) { .conv-menu-item:hover { background: rgb(var(--ink) / .07); } }
/* a conversa: cabeça, o que se fala, Opções e o campo de escrever */
.conv-grade2 .conv-meio { display: flex; flex-direction: column; min-width: 0; min-height: 0; padding: 0; overflow: hidden; border-radius: var(--r-meio); }
.conv-cab { flex: none; display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 12px 16px; border-bottom: 1px solid rgb(var(--ink) / .08); }
.conv-cab > b { flex: 1; min-width: 0; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.conv-cab .disco { width: 40px; height: 40px; }
.conv-cab-nome { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 2px 4px; border-radius: 14px; text-align: left; }
.conv-cab-nome:active { background: rgb(var(--ink) / .07); }
.conv-cab-nome .linha-texto b { font-size: .9375rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.conv-cab-nome .linha-texto small { -webkit-line-clamp: 1; font-size: .75rem; }
.conv-cab-nome > .ic { color: rgb(var(--ink-3)); }
.conv-grade2 .conv-alto { flex: none; padding: 12px 14px 0; }
.conv-grade2 .conv-fio { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 8px; padding: 16px; overflow-y: auto; overscroll-behavior: contain; }
.conv-grade2 .conv-dia { align-self: center; margin: 6px 0; padding: 3px 10px; border-radius: 999px; font-size: .75rem; font-weight: 500; color: rgb(var(--ink-2)); background: rgb(var(--ink) / .06); }
.conv-grade2 .balao-linha { max-width: 84%; gap: 2px; }
.conv-grade2 .balao { padding: 9px 13px 8px; border-radius: 20px; font-size: .9rem; line-height: 1.42; background: rgb(var(--vidro) / calc(var(--v-meio) + .05)); box-shadow: none; border: 1px solid rgb(var(--ink) / .08); }
.conv-grade2 .balao-linha:not(.nos) .balao { border-bottom-left-radius: 6px; }
.conv-grade2 .nos .balao { background: rgb(var(--pilula) / .92); color: rgb(var(--pilula-tinta)); border-color: transparent; border-bottom-right-radius: 6px; }
.conv-grade2 .nos .balao.automatico { background: rgb(var(--surface-2)); color: rgb(var(--ink)); border: 1.5px solid rgb(var(--ink) / .22); }
.conv-grade2 .balao-meta { margin: 1px 6px 4px; font-size: .6875rem; color: rgb(var(--ink-3)); }
/* o arquivo na conversa: a primeira página à vista e o nome embaixo */
.conv-grade2 .conv-fio .anexo, .previa-bolha .anexo { display: flex; flex-direction: column; align-items: stretch; gap: 5px; width: 116px; padding: 6px; border-radius: 14px; background: rgb(var(--vidro) / calc(var(--v-meio) + .05)); border: 1px solid rgb(var(--ink) / .08); box-shadow: none; }
.conv-grade2 .conv-fio .anexo b { font-size: .75rem; font-weight: 500; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.conv-grade2 .conv-fio .anexo small { font-size: .6875rem; margin-top: 0; }
.conv-grade2 .conv-fio .anexo .selo { font-size: .6875rem; padding: 2px 7px; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.conv-grade2 .balao-envio { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; }
.conv-grade2 .balao-envio > .balao { flex: 1 1 100%; }
.conv-grade2 .balao-envio > .balao-meta { flex: 1 1 100%; text-align: right; justify-content: flex-end; }
/* a prévia tracejada no fim da conversa: a página, o texto curto, Editar e Tirar; o Enviar do campo manda pela estrada única */
.previa-linha { align-self: flex-end; align-items: stretch; max-width: 84%; }
.previa-bolha { position: relative; padding: 9px 13px 9px; border-radius: 20px; border-bottom-right-radius: 6px; border: 1.5px dashed rgb(var(--ink) / .45); color: rgb(var(--ink)); font-size: .9rem; line-height: 1.42; animation: brota 300ms var(--mola) both; transform-origin: 90% 100%; }
.rot-previa { display: inline-flex; align-items: center; gap: 4px; font-size: .6875rem; font-weight: 700; letter-spacing: .02em; color: rgb(var(--ink-3)); margin-bottom: 6px; }
.pb-arqs { display: flex; flex-wrap: wrap; gap: 10px; margin: 2px 0 8px; }
.pb-item { display: flex; flex-direction: column; gap: 5px; width: 84px; min-width: 0; }
.pb-arqs.n1 .pb-item { width: 116px; }
.pb-item .miniatura { border-radius: 4px; }
.pb-nome { font-size: .75rem; font-weight: 500; line-height: 1.3; color: rgb(var(--ink-2)); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.pb-item.fora .pb-trava { display: flex; align-items: center; justify-content: center; aspect-ratio: 595 / 842; border-radius: 4px; border: 1.5px dashed rgb(var(--negative) / .6); color: rgb(var(--negative-fg)); background: rgb(var(--negative-soft) / .6); }
.pb-pastas { display: flex; flex-wrap: wrap; gap: 6px; margin: -2px 0 8px; }
.texto-previa { white-space: pre-wrap; overflow-wrap: anywhere; }
.texto-previa[contenteditable="true"] { outline: none; border-radius: 6px; box-shadow: 0 0 0 2px rgb(var(--ink) / .2); padding: 2px 4px; margin: -2px -4px; }
.previa-linhas { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
.previa-linhas .aviso-linha { margin: 0; font-size: .8125rem; padding: 7px 10px; border-radius: 12px; }
.previa-linhas .saida-linha { margin-top: 6px; }
.previa-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.previa-acoes .botao-i { margin-left: auto; }
.conv-grade2 .opcoes-envio { flex: none; margin: 0 10px 8px; padding: 10px 10px 8px; border-radius: 22px; background: rgb(var(--vidro) / var(--v-fundo)); border: 1px solid rgb(var(--linha) / var(--linha-forca)); animation: brota 450ms var(--mola) both; transform-origin: 20% 100%; order: initial; }
.conv-grade2 form.compositor { flex: none; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 10px 12px; border-top: 1px solid rgb(var(--ink) / .08); position: relative; background: none; box-shadow: none; }
.conv-grade2 form.compositor textarea { grid-column: 1 / -1; grid-row: 1; width: 100%; min-width: 0; min-height: 44px; max-height: 120px; resize: none; padding: 11px 14px; border-radius: 22px; border: 1px solid rgb(var(--ink) / .16); background: rgb(var(--surface) / .7); line-height: 1.35; font-size: 15px; order: initial; flex: initial; }
.conv-grade2 form.compositor textarea:disabled { opacity: .7; }
.conv-grade2 form.compositor .b-opcoes { grid-column: 1; grid-row: 2; justify-self: start; }
.conv-grade2 form.compositor .janela-i { grid-column: 2; grid-row: 2; justify-self: start; }
.conv-grade2 form.compositor .b-enviar { grid-column: 3; grid-row: 2; justify-self: end; margin: 0; }
.conv-grade2 form.compositor .b-enviar[aria-disabled="true"] { opacity: .45; }
.conv-grade2 form.compositor .info-i { grid-column: 1 / -1; }
/* o cliente da conversa, à direita: o que ele espera, o que prometeu, o que já foi, a janela do cérebro, os processos e os honorários */
.painel-cli { min-width: 0; padding: 18px; border-radius: var(--r-meio); }
.painel-cli > section { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgb(var(--ink) / .08); }
.painel-cli h3 { font-size: .8125rem; font-weight: 600; color: rgb(var(--ink-2)); margin-bottom: 6px; }
.painel-cab { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.painel-cab h2 { flex: 1; min-width: 0; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; text-wrap: balance; }
.painel-cab .link { align-self: flex-start; margin-top: 2px; }
.painel-sub { font-size: .8125rem; color: rgb(var(--ink-2)); }
.espera-dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 12px; align-items: baseline; margin: 0; }
.espera-dl dt { font-size: .75rem; font-weight: 600; color: rgb(var(--ink-2)); }
.espera-dl dd { margin: 0; font-size: .9375rem; font-weight: 500; line-height: 1.35; }
.mini-proc { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 36px; padding: 2px 0; font-size: .875rem; text-align: left; border-radius: 10px; }
.mini-proc b { font-weight: 600; flex: none; }
.mini-proc small { min-width: 0; font-size: .8125rem; color: rgb(var(--ink-2)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mini-proc .selo { margin-left: auto; flex: none; }
@media (hover: hover) { .mini-proc:hover b { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgb(var(--ink) / .3); } }
.honor { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.honor .t-peq { font-size: .8125rem; color: rgb(var(--ink-2)); }
.env-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.env-item { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; align-items: center; width: 100%; padding: 2px 0; text-align: left; border-radius: 10px; }
.env-pag .miniatura { border-radius: 3px; }
.env-txt b { display: block; font-size: .8125rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.env-txt small { display: flex; align-items: center; gap: 4px; font-size: .75rem; color: rgb(var(--ink-2)); }
.env-txt small .ic { color: rgb(var(--positive)); width: 12px; height: 12px; }
.conv-secao { margin-top: 16px; }
.conv-secao-cab { display: flex; align-items: center; gap: 10px; margin: 0 4px 12px; }
.conv-secao-cab h2 { flex: 1; font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 1.0625rem; letter-spacing: -.012em; }
.conv-vazio { padding: 32px 20px; text-align: center; color: rgb(var(--ink-2)); border-radius: var(--r-meio); }
@media (min-width: 960px) {
  .conv-grade2 { grid-template-columns: minmax(0, 1fr) 340px; grid-template-rows: auto minmax(0, 1fr); height: max(520px, calc(100dvh - 112px)); }
  .conv-grade2 > .conv-pilulas { grid-column: 1; grid-row: 1; }
  .conv-grade2 > .conv-meio { grid-column: 1; grid-row: 2; }
  .conv-grade2 > .painel-cli { grid-column: 2; grid-row: 1 / span 2; overflow-y: auto; overscroll-behavior: contain; }
}
/* no celular a conversa toma a tela entre a cápsula e a barra: o nome abre o cliente numa folha; Opções vira uma fileira que rola para o lado */
@media (max-width: 959px) {
  body[data-tela="conversas"].conversa-aberta .topo { display: block; }
  body[data-tela="conversas"].conversa-aberta .dock { display: flex; }
  body[data-tela="conversas"].conversa-aberta main { padding-top: 16px; padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  body[data-tela="conversas"].conversa-aberta .voz-tela { display: flex; }
  body[data-tela="conversas"].conversa-aberta #avisos { bottom: calc(92px + env(safe-area-inset-bottom, 0px)); }
  .conv-grade2 .conv-meio.vidro { background-color: rgb(var(--vidro) / var(--v-meio)); border: 1px solid rgb(var(--linha) / var(--linha-forca)); box-shadow: var(--sombra-cartao); }
  .conv-grade2 .conv-meio { height: calc(100dvh - var(--conv-y, 170px) - 96px - env(safe-area-inset-bottom, 0px)); min-height: 440px; }
  .conv-grade2 .conv-meio .conv-cab { display: flex; padding: 8px 8px 8px 12px; gap: 6px; min-height: 60px; }
  .conv-grade2 .conv-meio .conv-cab .disco { width: 34px; height: 34px; }
  .conv-grade2 .conv-meio .compositor { position: relative; left: auto; right: auto; bottom: auto; z-index: auto; border: 0; border-top: 1px solid rgb(var(--ink) / .08); border-radius: 0; }
  .conv-grade2 form.compositor { grid-template-columns: auto minmax(0, 1fr) auto; align-items: end; padding: 8px 10px; }
  .conv-grade2 form.compositor textarea { grid-column: 2; grid-row: 1; min-height: 48px; padding: 13px 14px; border-radius: 24px; }
  .conv-grade2 form.compositor .b-opcoes { grid-column: 1; grid-row: 1; }
  .conv-grade2 form.compositor .janela-i { display: none; }
  .conv-grade2 form.compositor .b-enviar { grid-column: 3; grid-row: 1; }
  .conv-grade2 form.compositor .botao { flex-direction: column; gap: 1px; width: 58px; min-width: 58px; min-height: 48px; padding: 0; border-radius: 18px; font-size: .6875rem; }
  .conv-grade2 .opcoes-envio { margin: 0 8px 6px; padding: 8px 8px 10px; }
  .conv-grade2 .opcoes-grade { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -8px; padding: 0 8px 2px; }
  .conv-grade2 .opcoes-grade::-webkit-scrollbar { display: none; }
  .conv-grade2 .opcoes-grade .opcao-envio { flex: none; }
  .conv-grade2 .balao-linha .tag-proc { display: none; }
  .conv-caixa .conv-menu { position: fixed; left: 12px; right: 12px; top: auto; width: auto; }
}
.folha-painel { padding: 0; }
.folha-painel .mini-mapa { height: 160px; }
/* Arquivos: a folha que abre da direita, como na mesa. Deste cliente ou Todos os arquivos; Sem pasta primeiro; a primeira página de cada
   arquivo com a marca redonda de escolher; Continuar embaixo */
@media (min-width: 720px) {
  .folha-camada.lado { align-items: stretch; justify-content: flex-end; padding: 24px; }
  .folha-camada.lado .folha { width: 440px; max-width: 440px; max-height: none; height: auto; border-radius: 28px; padding: 18px 20px 0; animation: entra-dir 450ms var(--mola) both; }
  @keyframes entra-dir { from { opacity: 0; transform: translateX(30px) scale(.98); } }
}
.folha-camada.lado .folha-cabeca > [data-acao="fechar-folha"] { width: 44px; min-width: 44px; height: 44px; padding: 0; border-radius: 50%; font-size: 0; gap: 0; background: rgb(var(--ink) / .07); }
.folha-camada.lado .folha-cabeca > [data-acao="fechar-folha"] .ic { width: 20px; height: 20px; }
.folha-arquivos .folha-corpo { display: flex; flex-direction: column; gap: 12px; overflow: hidden; }
.ea-seg { flex: none; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 999px; background: rgb(var(--ink) / .07); }
.ea-seg button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; padding: 0 10px; border-radius: 999px; font-size: .8125rem; font-weight: 600; color: rgb(var(--ink-2)); white-space: nowrap; transition: background-color 160ms, color 160ms; }
.ea-seg button[aria-checked="true"] { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); box-shadow: 0 2px 8px rgb(var(--sombra) / .2); }
.ea-busca { flex: none; }
.ea-grade { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; margin: 0 -20px; padding: 2px 20px 12px; touch-action: pan-y; }
.ea-grupo + .ea-grupo { margin-top: 16px; }
.ea-grupo h3 { display: flex; align-items: baseline; gap: 8px; font-size: .8125rem; font-weight: 600; color: rgb(var(--ink-2)); margin-bottom: 8px; }
.ea-grupo h3 .tnum { font-weight: 500; color: rgb(var(--ink-3)); }
.ea-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 10px 8px; }
.ea-card { position: relative; display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 6px; border-radius: 16px; text-align: left; border: 1.5px solid transparent; transition: background-color 160ms, border-color 160ms, transform 100ms; }
.ea-card:active { transform: scale(.97); }
.ea-card .miniatura { border-radius: 4px; box-shadow: 0 0 0 1px rgb(201 204 210), 0 4px 10px rgb(0 0 0 / .1); }
.ea-nome { font-size: .75rem; font-weight: 500; line-height: 1.3; color: rgb(var(--ink-2)); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.ea-marca { position: absolute; top: 2px; right: 2px; z-index: 1; width: 24px; height: 24px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: transparent;
  background: rgb(255 255 255 / .92); border: 1.5px solid rgb(93 98 108 / .5); box-shadow: 0 1px 4px rgb(0 0 0 / .18); transition: background-color 160ms, color 160ms; }
.ea-marca .ic { width: 13px; height: 13px; stroke-width: 2.2; }
.ea-card[aria-pressed="true"] { background: rgb(var(--ink) / .06); border-color: rgb(var(--ink) / .5); }
.ea-card[aria-pressed="true"] .ea-marca { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); border-color: transparent; }
.ea-card.espera .ea-marca { border-style: dashed; background: rgb(255 255 255 / .8); }
.ea-card .selo { align-self: flex-start; max-width: 100%; overflow: hidden; text-overflow: ellipsis; line-height: 1.2; font-size: .6875rem; padding: 3px 8px; }
.ea-card .selo .ic { display: none; }
@media (hover: hover) { .ea-card:not([aria-pressed="true"]):hover { background: rgb(var(--ink) / .05); } }
.folha-arquivos .folha-pe { flex-wrap: nowrap; align-items: center; gap: 8px 10px; margin: 0 -20px; padding: 12px 20px calc(16px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid rgb(var(--ink) / .08); }
.folha-arquivos .folha-pe .botao { flex: none; }
.ea-resumo { flex: 1; min-width: 0; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: .8125rem; font-weight: 600; }
.folha-arquivos .folha-pe .botao[aria-disabled="true"] { opacity: .45; }
@media (max-width: 719px) { .folha.folha-arquivos { height: min(88vh, calc(100dvh - 16px)); padding-bottom: 0; } .folha-arquivos .folha-pe { margin: 0 -18px; padding-left: 18px; padding-right: 18px; } .ea-grade { margin: 0 -18px; padding: 2px 18px 12px; } }
@media (prefers-reduced-motion: reduce) {
  .previa-bolha, .conv-grade2 .opcoes-envio, .conv-menu { animation: none; }
  .folha-camada.lado .folha { animation: esmaecer .2s ease both; }
}
/* ===================== Mesa de Luz, rodada 2, parte 2 (vision-final.html): a tela de hoje, o cérebro inteiro e a troca de tela ===================== */
:root { --fio-brilho: .3; --t-toque: 100ms; --t-curto: 160ms; --t-medio: 300ms; --t-mola: 450ms; --t-solta: 600ms; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --fio-brilho: .16; } }
:root[data-theme="dark"] { --fio-brilho: .16; }

/* o dia em duas colunas: a frente e a Fila; ao lado, a janela do cérebro e a pilha de folhas */
.h-grade { position: relative; display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
.h-principal, .h-lado { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
@media (min-width: 720px) and (max-width: 1179px) { .h-lado { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }
@media (min-width: 1180px) { .h-grade { grid-template-columns: minmax(0, 1fr) 380px; gap: 20px; } }

/* a frente: o selo, o nome, o número fino e dois botões; ela sai para cima e a próxima sobe */
.h-frente { container-type: inline-size; transition: transform var(--t-mola) var(--mola), opacity var(--t-medio), border-color var(--t-medio), box-shadow var(--t-medio); }
/* com o fio à vista, a frente ganha a borda fina na cor do fio e um brilho leve em volta, e o fio sai dela. A borda acende junto com a
   entrada do fio e passa para a frente nova na troca; sem fio (janela estreita), a borda volta a ser a do vidro */
.h-frente.com-fio { border-color: rgb(var(--m-prazo) / .6); --frente-anel: 0 0 0 .5px rgb(var(--m-prazo) / .6), 0 0 14px -6px rgb(var(--m-prazo) / .4); }
.h-frente .frente-cab .botao-i.h-i { width: 44px; height: 44px; margin: -6px -8px -6px auto; border: 1px solid rgb(var(--ink) / .22); font: inherit; color: rgb(var(--ink-2)); }
.h-frente .botao-i.h-i .ic { width: 20px; height: 20px; }
@media (hover: hover) { .h-frente .botao-i.h-i:hover { background: rgb(var(--ink) / .07); } }
.h-frente .relogio { margin-top: 20px; }
.h-frente .relogio-pe { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 8px; }
.h-frente .info-i { margin-top: 12px; }
.h-frente .h-sub { margin-top: 10px; color: rgb(var(--ink-2)); }
.h-frente.sai { transform: translateY(-26px) scale(.94); opacity: 0; transition: transform 380ms var(--sai), opacity 300ms var(--sai); }
.h-frente.entra { animation: h-entra var(--t-solta) var(--mola-solta) both; }
.h-frente.entra.depois { animation-delay: 200ms; }
.h-principal { position: relative; }
.h-velha { position: absolute; left: 0; right: 0; margin: 0; z-index: 3; pointer-events: none; }
@keyframes h-entra { from { transform: translateY(40px) scale(.96); opacity: 0; } }
@media (max-width: 600px) { .h-frente .frente-cab .ctx { display: none; } .h-frente .frente-acoes .botao.grande { min-height: 48px; padding: 0 18px; font-size: .9375rem; } }

/* a Fila: uma linha, uma linha menor e um botão; os pontos acendem em verde quando um item sai */
.h-fila .cartao-topo { margin-bottom: 10px; }
.h-pontos { display: flex; gap: 5px; }
.h-pontos i { width: 8px; height: 8px; border-radius: 50%; background: rgb(var(--ink) / .16); }
.h-pontos i.on { background: rgb(var(--positive)); transform: scale(1.15); }
.h-pontos i.novo { animation: h-ponto var(--t-solta) var(--mola-solta) both; }
@keyframes h-ponto { from { transform: scale(.4); background: rgb(var(--ink) / .16); } }
.h-fila-lista { display: flex; flex-direction: column; gap: 2px; margin: 0 -8px; padding: 0; list-style: none; }
.h-item { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px; border-radius: 18px;
  transition: transform var(--t-mola) var(--mola), opacity var(--t-medio), background-color var(--t-curto); }
.h-item-txt { min-width: 0; text-align: left; padding: 2px 0; }
.h-item-txt b { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-weight: 600; font-size: .9375rem; line-height: 1.3; }
.h-item-txt small { display: block; font-size: .8125rem; color: rgb(var(--ink-2)); line-height: 1.4; margin-top: 3px; }
.h-item.sai { opacity: 0; transform: translateX(28px); transition: transform 280ms var(--sai), opacity 220ms var(--sai); }
@media (hover: hover) { .h-item:hover { background: rgb(var(--ink) / .045); } }
.h-fila-vazia { padding: 6px 0 2px; color: rgb(var(--ink-3)); }
@media (max-width: 600px) { .h-item { grid-template-columns: 40px minmax(0, 1fr); } .h-item > .botao { grid-column: 2; justify-self: start; } }

/* a janela do cérebro: o mesmo mapa, parado no cliente da frente; o nome e o Abrir por cima */
.janela-mapa { position: relative; border-radius: var(--r-meio); overflow: hidden; min-height: 230px; height: 290px;
  border: 1px solid rgb(var(--linha) / var(--linha-forca)); border-top-color: rgb(var(--fio) / var(--fio-forca));
  background: radial-gradient(70% 60% at 12% 18%, rgb(from var(--luz-a) r g b / var(--mapa-luz)), transparent 70%), radial-gradient(60% 55% at 92% 92%, rgb(from var(--luz-b) r g b / var(--mapa-luz)), transparent 70%), radial-gradient(120% 100% at 50% 40%, rgb(var(--m-fundo) / .35), rgb(var(--m-fundo) / .7));
  box-shadow: inset 0 1px 30px rgb(var(--sombra) / .08); }
.janela-mapa canvas { touch-action: pan-y; -webkit-mask-image: linear-gradient(transparent 46px, #000 66px); mask-image: linear-gradient(transparent 46px, #000 66px); }
.janela-mapa .rotulo-janela { position: absolute; left: 12px; top: 12px; right: 12px; display: flex; align-items: center; justify-content: space-between; gap: 8px; pointer-events: none; z-index: 2; }
.janela-mapa .rotulo-janela > * { pointer-events: auto; }
.janela-mapa .rotulo-janela b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: .875rem; padding: 6px 12px; border-radius: 999px; background: rgb(var(--surface) / .82); border: 1px solid rgb(var(--ink) / .08); }
.janela-mapa .botao { background: rgb(var(--surface) / .86); flex: none; }
.fio-svg { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; z-index: 1; }
.fio-svg path { fill: none; stroke-linecap: round; }
.fio-svg .fio-luz { opacity: .38; }
.fio-svg path.entra { animation: fio-entra 800ms var(--mola) 250ms both; }
.fio-svg circle.entra { animation: esmaecer var(--t-medio) ease both; }
@keyframes fio-entra { from { stroke-dashoffset: 1; } }
/* a tomada: o ponto na cor do prazo sobre a borda acesa da frente, onde o fio sai. No mapa, um anel fixo em volta do prazo diz "é aqui"
   e, com movimento, duas ondas saem dele a cada 4 s; o anel e as ondas passam por baixo dos rótulos do mapa (a máscara fura cada um) */
.fio-svg .fio-tomada { fill: rgb(var(--m-prazo)); }
.fio-svg .fio-anel { fill: none; stroke: rgb(var(--m-prazo)); stroke-width: 1.5; opacity: .6; }
.fio-svg .fio-anel.onda { opacity: 0; transform-box: fill-box; transform-origin: center; vector-effect: non-scaling-stroke; animation: fio-onda 4s cubic-bezier(.2, .7, .3, 1) 1.1s infinite; }
.fio-svg .fio-anel.onda + .fio-anel.onda { animation-delay: 1.8s; }
@keyframes fio-onda { 0% { opacity: .55; transform: scale(1); } 55%, 100% { opacity: 0; transform: scale(2.2); } }

/* a pilha: a folha da frente inteira; as de trás recuadas, com o nome e a conta à vista, e um toque traz cada uma para a frente */
.h-pilha { position: relative; --folha-h: 356px; height: calc(var(--folha-h) + (var(--n-folhas, 4) - 1) * 32px); }
.h-folha { position: absolute; left: 0; right: 0; bottom: 0; height: var(--folha-h); transform-origin: 50% 0; overflow: hidden; border-radius: var(--r-meio);
  background: linear-gradient(150deg, rgb(var(--reflexo) / var(--reflexo-forca)) 0%, transparent 36%), rgb(var(--surface) / .93);
  border: 1px solid rgb(var(--linha) / var(--linha-forca)); border-top-color: rgb(var(--fio) / var(--fio-forca)); box-shadow: var(--sombra-cartao);
  transition: transform var(--t-mola) var(--mola), box-shadow var(--t-medio); }
.h-folha::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; background: rgb(var(--canvas)); opacity: 0; transition: opacity var(--t-medio); }
.h-folha[data-d="0"] { z-index: 4; transform: none; }
.h-folha[data-d="1"] { z-index: 3; transform: translateY(-32px) scale(.955); }
.h-folha[data-d="2"] { z-index: 2; transform: translateY(-64px) scale(.91); }
.h-folha[data-d="3"] { z-index: 1; transform: translateY(-96px) scale(.865); }
.h-folha[data-d="1"]::before { opacity: .3; } .h-folha[data-d="2"]::before { opacity: .5; } .h-folha[data-d="3"]::before { opacity: .66; }
.h-folha-cab { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 32px; padding: 7px 18px 0; font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: .9375rem; letter-spacing: -.01em; color: rgb(var(--ink)); text-align: left; }
.h-folha-cab .conta { font-family: Inter, sans-serif; font-weight: 500; margin-left: auto; color: rgb(var(--ink-2)); font-size: .8125rem; font-variant-numeric: tabular-nums; }
.h-folha[data-d="0"] .h-folha-cab { padding-top: 16px; font-size: 1.0625rem; cursor: default; }
.h-folha-corpo { padding: 12px 18px 18px; }
.h-folha:not([data-d="0"]) .h-folha-corpo { visibility: hidden; }
@media (hover: hover) { .h-folha[data-d="1"]:hover { transform: translateY(-38px) scale(.955); } .h-folha[data-d="2"]:hover { transform: translateY(-70px) scale(.91); } .h-folha[data-d="3"]:hover { transform: translateY(-102px) scale(.865); } }
.h-folha .t-peq { font-size: .8125rem; line-height: 1.4; color: rgb(var(--ink-2)); }
.h-mais { margin: 8px 0 0 -10px; }

/* Desde ontem */
.h-ontem-lista, .h-dia-lista { list-style: none; margin: 0; padding: 0; }
.h-ontem-lista { display: flex; flex-direction: column; }
.h-ontem-lista li + li { border-top: 1px solid rgb(var(--ink) / .07); }
.h-ontem { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 10px; width: 100%; padding: 8px 0; text-align: left; border-radius: 12px; }
.h-ontem .disco { width: 32px; height: 32px; }
.h-ontem-txt { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: .875rem; line-height: 1.4; min-width: 0; }
.h-ontem small { font-size: .75rem; color: rgb(var(--ink-2)); white-space: nowrap; font-variant-numeric: tabular-nums; }
@media (hover: hover) { .h-ontem:hover .h-ontem-txt { text-decoration: underline; text-underline-offset: 3px; } }

/* Duas semanas: os números da semana, o calendário com um ponto por tipo e o que cai no dia tocado */
.h-rotulo { font-size: .75rem; font-weight: 600; color: rgb(var(--ink-3)); }
.h-nums { display: flex; flex-wrap: wrap; gap: 2px 18px; margin: 2px 0 6px; }
.h-nums > span { display: inline-flex; align-items: baseline; gap: 6px; font-size: .875rem; color: rgb(var(--ink-2)); }
.h-nums .numeral { font-size: 2rem; line-height: 1.1; color: rgb(var(--ink)); }
.h-nums b { color: rgb(var(--negative-fg)); font-weight: 600; }
.h-semana > .variacao { margin-bottom: 4px; }
#h-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; align-items: stretch; margin-top: 10px; cursor: default; border-radius: 0; }
.h-sem { font-size: .6875rem; font-weight: 600; color: rgb(var(--ink-2)); text-align: center; }
.h-dia { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; min-height: 52px; padding: 6px 2px; border-radius: 14px;
  background: rgb(var(--ink) / .045); border: 1px solid transparent; transition: background-color var(--t-curto), transform var(--t-toque); }
.h-dia:active { transform: scale(.95); }
.h-dia b { font-family: Montserrat, Inter, sans-serif; font-weight: 300; font-size: 1.1rem; letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.h-dia .marcas { display: flex; gap: 3px; flex-wrap: wrap; justify-content: center; }
.h-dia .marcas i, .h-dia-item > i { width: 7px; height: 7px; border-radius: 50%; flex: none; }
.h-dia .marcas i.hm-prazo, .h-dia-item > i.hm-prazo { background: rgb(var(--m-prazo)); }
.h-dia .marcas i.hm-evento, .h-dia-item > i.hm-evento { background: rgb(var(--m-evento)); }
.h-dia .marcas i.hm-tarefa, .h-dia-item > i.hm-tarefa { background: rgb(var(--m-tarefa)); }
.h-dia .marcas i.hm-feito, .h-dia-item > i.hm-feito { background: rgb(var(--positive)); }
.h-dia.hoje { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); }
.h-dia.passou b { color: rgb(var(--ink-3)); }
.h-dia.fds { background: transparent; border-color: rgb(var(--ink) / .07); }
.h-dia[aria-pressed="true"]:not(.hoje) { border-color: rgb(var(--ink) / .5); }
#h-cal.monta .h-dia { animation: h-monta var(--t-solta) var(--mola-solta) both; animation-delay: calc(var(--i) * 28ms); }
@keyframes h-monta { from { opacity: 0; transform: translate(-8px, -8px) scale(.85); } }
.h-leitura { margin: 10px 0 0; line-height: 1.45; min-height: 0; }
.h-dia-lista { padding-top: 8px; font-size: .8125rem; }
.h-dia-item { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 32px; padding: 2px 0; text-align: left; }
.h-dia-item > span { min-width: 0; }

/* os honorários do mês, só sócios */
.h-mes-num { display: flex; align-items: baseline; gap: 6px; }
.h-mes-num small { font-family: Montserrat, Inter, sans-serif; font-weight: 300; font-size: 1.1rem; color: rgb(var(--ink-2)); }
.h-mes-num .numeral { font-size: 3.1rem; line-height: 1; }
.h-mes-linha { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 6px; }
.h-mes-falta { margin-top: 4px; }
.h-barras { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 10px; align-items: end; height: 108px; margin-top: 14px; }
.h-barras .b { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 6px; height: 100%; }
.h-barras .b i { display: block; width: 100%; max-width: 38px; border-radius: 8px 8px 4px 4px; background: rgb(var(--ink) / .5); height: var(--h); transform-origin: 50% 100%; transition: transform var(--t-solta) var(--mola-solta); }
.h-barras .b i.prev { background: repeating-linear-gradient(135deg, rgb(var(--info) / .5) 0 4px, transparent 4px 8px); border: 1px solid rgb(var(--info) / .7); }
.h-barras .b small { font-size: .6875rem; color: rgb(var(--ink-3)); white-space: nowrap; }
.h-barras.zero .b i { transform: scaleY(0); }
.h-folha .legenda-mini { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 10px; font-size: .75rem; color: rgb(var(--ink-3)); }
.h-folha .legenda-mini span { display: inline-flex; align-items: center; gap: 6px; }
.h-leg-rec, .h-leg-prev { width: 10px; height: 10px; border-radius: 3px; }
.h-leg-rec { background: rgb(var(--ink) / .5); }
.h-leg-prev { border: 1px solid rgb(var(--info)); background: repeating-linear-gradient(135deg, rgb(var(--info) / .55) 0 2px, transparent 2px 4px); }
.h-atraso { margin: 10px -8px 0; width: calc(100% + 16px); }

/* as Gavetas: o número grande e o nome; a aberta mostra as linhas de sempre logo embaixo */
.h-gavetas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.h-gaveta { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: 18px; text-align: left; background: rgb(var(--ink) / .05); border: 1px solid rgb(var(--ink) / .08); transition: transform var(--t-toque), background-color var(--t-curto); }
.h-gaveta:active { transform: scale(.97); }
.h-gaveta .numeral { font-size: 2.2rem; line-height: 1; }
.h-gaveta > span:last-child { font-size: .8125rem; line-height: 1.3; color: rgb(var(--ink-2)); }
.h-gaveta[aria-expanded="true"] { background: rgb(var(--ink) / .1); }
@media (hover: hover) { .h-gaveta:hover { background: rgb(var(--ink) / .08); } }
.h-gaveta-lista { grid-column: 1 / -1; min-width: 0; }
.h-gaveta-pe { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }

/* o Cérebro inteiro: o mapa em canvas, a busca, as três perguntas, a legenda que mostra e esconde, os botões, o cartão e o que chegou */
.cerebro { position: relative; height: calc(100dvh - 220px); min-height: 460px; border-radius: var(--r-meio); overflow: hidden;
  border: 1px solid rgb(var(--linha) / var(--linha-forca)); border-top-color: rgb(var(--fio) / var(--fio-forca));
  background: radial-gradient(55% 50% at 14% 12%, rgb(from var(--luz-a) r g b / var(--mapa-luz)), transparent 70%), radial-gradient(50% 50% at 90% 92%, rgb(from var(--luz-b) r g b / var(--mapa-luz)), transparent 70%), radial-gradient(110% 90% at 50% 40%, rgb(var(--m-fundo) / .3), rgb(var(--m-fundo) / .72)); }
.cerebro canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; touch-action: none; cursor: grab; outline: none; }
.cerebro canvas.arrasta { cursor: grabbing; }
.cerebro canvas.sobre { cursor: pointer; }
.cerebro canvas:focus-visible { box-shadow: inset 0 0 0 2px rgb(var(--ink) / .6); }
.c-topo { position: absolute; left: 12px; right: 12px; top: 12px; z-index: 6; display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-start; pointer-events: none; }
.c-topo > * { pointer-events: auto; }
.c-busca { position: relative; flex: 1 1 240px; max-width: 340px; }
.c-busca input { width: 100%; min-height: 44px; padding: 0 14px 0 40px; border-radius: 999px; border: 1px solid rgb(var(--ink) / .16); background: rgb(var(--surface) / .92); color: rgb(var(--ink)); font: inherit; font-size: .875rem; }
.c-busca > .ic { position: absolute; left: 14px; top: 12px; color: rgb(var(--ink-3)); pointer-events: none; }
.c-sugestoes { position: absolute; left: 0; right: 0; top: calc(100% + 6px); padding: 6px; border-radius: 20px; max-height: 280px; overflow: auto; }
.c-sugestoes button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 40px; padding: 4px 10px; border-radius: 12px; font-size: .875rem; text-align: left; }
.c-sugestoes button[aria-selected="true"], .c-sugestoes button:hover { background: rgb(var(--ink) / .08); }
.c-sugestoes small { color: rgb(var(--ink-3)); margin-left: auto; font-size: .75rem; }
.c-perguntas { display: flex; flex-wrap: wrap; gap: 6px; }
.c-perguntas .botao, #c-perg-cel, .c-zoom .botao { background: rgb(var(--surface) / .92); border: 1px solid rgb(var(--ink) / .14); }
.c-perguntas .botao[aria-pressed="true"] { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); border-color: transparent; }
@media (max-width: 959px) { .c-busca { flex: 1 1 0; max-width: none; } .c-perguntas { flex-direction: column; align-items: flex-start; width: 100%; } .c-perguntas:not(.aberto) { display: none; } }
.c-resposta { position: absolute; left: 12px; right: 12px; margin: 0 auto; width: fit-content; top: 66px; z-index: 3; display: flex; align-items: center; gap: 10px; max-width: min(560px, calc(100% - 24px)); padding: 10px 10px 10px 14px; border-radius: 22px; font-size: .9rem; }
.c-resposta .orbe { width: 20px; height: 20px; }
.c-resposta p { flex: 1; }
.c-legenda { position: absolute; left: 12px; bottom: 12px; z-index: 3; padding: 10px; border-radius: 22px; width: 236px; }
.c-legenda h3 { font-size: .75rem; font-weight: 600; color: rgb(var(--ink-3)); padding: 0 6px 6px; }
.c-legenda button { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 8px; width: 100%; min-height: 32px; padding: 0 8px; border-radius: 10px; font-size: .8125rem; text-align: left; }
.c-legenda button[aria-pressed="false"] { opacity: .5; }
.c-legenda button[aria-pressed="false"] span { text-decoration: line-through; }
.c-legenda button small { color: rgb(var(--ink-3)); font-variant-numeric: tabular-nums; }
.c-legenda .linhas { display: grid; gap: 4px; margin-top: 6px; padding: 8px 8px 2px; border-top: 1px solid rgb(var(--ink) / .08); font-size: .75rem; color: rgb(var(--ink-3)); }
.c-legenda .linhas span { display: flex; align-items: center; gap: 8px; }
@media (hover: hover) { .c-legenda button:hover { background: rgb(var(--ink) / .07); } }
.c-zoom { position: absolute; right: 12px; bottom: 12px; z-index: 3; display: flex; gap: 6px; align-items: center; }
.c-cartao { position: absolute; right: 12px; top: 68px; z-index: 4; width: 320px; max-height: calc(100% - 140px); overflow: auto; padding: 18px; border-radius: 26px; animation: brota-dir var(--t-mola) var(--mola) both; }
@keyframes brota-dir { from { opacity: 0; transform: translateX(14px) scale(.97); } }
.c-cartao .tipo, .c-chegou .tipo { display: flex; align-items: center; gap: 8px; font-size: .75rem; font-weight: 600; color: rgb(var(--ink-3)); }
.c-cartao h3 { font-family: Montserrat, Inter, sans-serif; font-size: 1.25rem; font-weight: 500; letter-spacing: -.02em; line-height: 1.2; margin-top: 8px; padding-right: 30px; }
.c-cartao p { font-size: .875rem; margin-top: 8px; color: rgb(var(--ink-2)); }
.c-acoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; align-items: center; }
.c-cartao .ligacoes { margin-top: 12px; display: flex; flex-direction: column; gap: 2px; }
.c-cartao .ligacoes button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 38px; padding: 0 8px; border-radius: 12px; font-size: .8125rem; text-align: left; }
.c-cartao .ligacoes button span { min-width: 0; }
.c-cartao .ligacoes button small { margin-left: auto; color: rgb(var(--ink-3)); font-size: .75rem; white-space: nowrap; }
@media (hover: hover) { .c-cartao .ligacoes button:hover { background: rgb(var(--ink) / .07); } }
.c-cartao .fechar { position: absolute; right: 10px; top: 10px; width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: rgb(var(--ink-2)); }
.c-chegou { position: absolute; left: 12px; right: 12px; top: 66px; margin: 0 auto; width: fit-content; max-width: min(680px, calc(100% - 24px)); z-index: 4;
  display: flex; align-items: center; gap: 16px; padding: 12px 12px 12px 18px; border-radius: 24px; animation: brota var(--t-mola) var(--mola) both; }
.c-chegou .chegou-txt { min-width: 0; }
.c-chegou b { display: block; font-weight: 600; margin-top: 2px; }
.c-chegou p { font-size: .875rem; color: rgb(var(--ink-2)); margin-top: 2px; }
.c-chegou .c-acoes { margin: 0; flex: none; flex-wrap: nowrap; }
.c-lista { position: absolute; inset: 64px 12px 68px; z-index: 5; overflow: auto; padding: 12px 18px 16px; border-radius: 24px; }
.c-lista .lista-cab { display: flex; align-items: center; gap: 10px; }
.c-lista .lista-cab h2 { flex: 1; font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 1.0625rem; letter-spacing: -.012em; }
.c-lista h3 { font-size: .9375rem; font-weight: 600; margin: 10px 0 4px; }
.c-lista li { font-size: .875rem; padding: 3px 0; }
.c-lista li .link, .c-lista h3 .link { font-size: inherit; }
@media (min-width: 960px) { .cerebro { height: calc(100dvh - 118px); } }
@media (max-width: 959px) {
  .c-legenda { left: 12px; right: auto; bottom: 72px; width: min(260px, calc(100% - 24px)); }
  .c-cartao, .c-chegou { left: 12px; right: 12px; top: auto; bottom: 64px; width: auto; max-height: 40%; animation-name: sobe; }
  .c-chegou { top: 64px; bottom: auto; max-width: none; display: block; padding: 14px 16px; }
  .c-chegou .c-acoes { margin-top: 10px; }
  .cerebro.ocupado .c-chegou { display: none; }
  .c-resposta { top: auto; bottom: 72px; }
  .cerebro { height: calc(100dvh - 272px - env(safe-area-inset-bottom, 0px)); min-height: 400px; }
}
@keyframes sobe { from { opacity: 0; transform: translateY(30px) scale(.98); } }

/* a troca de tela: o navegador esmaece de uma tela para a outra; a janela do mapa cresce até o Cérebro e a voz nova entra sem a antiga embaixo */
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 260ms; }
::view-transition-old(mapa), ::view-transition-old(voz) { animation: none; opacity: 0; }
::view-transition-new(mapa), ::view-transition-new(voz) { animation: none; }
@media (min-width: 960px) {
  #tela-hoje:not([hidden]) #hoje-mapa, #tela-conversas:not([hidden]) .painel-cli .mini-mapa, #tela-cerebro:not([hidden]) #cerebro { view-transition-name: mapa; }
  ::view-transition-group(mapa) { animation-duration: 480ms; animation-timing-function: cubic-bezier(.2, .8, .2, 1); }
  #voz-topo p { view-transition-name: voz; }
}
@media (max-width: 959px) { #voz-tela p { view-transition-name: voz; } }

/* menos texto na casca: o Perguntar do topo fica só no ícone (o nome está no rótulo) */
.topo-perguntar > span { display: none; }
.topo-perguntar.chip-topo { width: 44px; padding: 0; justify-content: center; }
/* ===================== Mesa de Luz, rodada 3: a lateral com todas as partes, o painel Mais do celular e as conversas em coluna ===================== */
/* a lateral: os cinco destinos, um fio fino e as outras sete; a conta vermelha fica à direita do item */
.nav-divisor { height: 1px; margin: 6px 14px; background: rgb(var(--ink) / .12); }
.nav-conta { margin-left: auto; flex: none; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: rgb(var(--negative)); color: rgb(var(--canvas));
  font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; font-variant-numeric: tabular-nums; }
.nav-conta[hidden] { display: none; }
/* vermelho só para o que está atrasado; o resto da conta fica no azul calmo, o mesmo das não lidas */
.nav-conta.calma { background: rgb(var(--info)); }
/* em janela baixa os itens ficam mais justos: a lista inteira cabe a 1280 x 800 sem rolar */
@media (min-width: 960px) and (max-height: 920px) {
  .lateral nav a { min-height: 38px; }
  .lateral-marca { padding-bottom: 14px; }
  .adicionar-lateral { margin-top: 12px; }
}

/* o Mais do celular: um painel de vidro que entra pela direita, com margem em cima e embaixo e cantos redondos, sobre o fundo escurecido */
.folha-camada.mais-lado { align-items: stretch; justify-content: flex-end; padding: max(12px, env(safe-area-inset-top, 0px)) 12px max(12px, env(safe-area-inset-bottom, 0px)); }
.folha-camada.mais-lado .folha { width: min(320px, 84vw); max-width: none; height: auto; max-height: none; border-radius: 28px; padding: 14px 12px 12px; touch-action: auto;
  animation: mais-entra 520ms var(--mola-solta) both; }
@keyframes mais-entra { from { transform: translateX(calc(100% + 24px)); } }
.folha-camada.mais-lado .folha-alca { display: none; }
.folha-camada.mais-lado .folha-cabeca { padding: 0 0 8px 8px; }
.folha-camada.mais-lado .folha-cabeca > [data-acao="fechar-folha"] { width: 44px; min-width: 44px; height: 44px; padding: 0; border-radius: 50%; font-size: 0; gap: 0; background: rgb(var(--ink) / .07); }
.folha-camada.mais-lado .folha-cabeca > [data-acao="fechar-folha"] .ic { width: 20px; height: 20px; }
.folha-camada.mais-lado .folha-corpo { display: flex; flex-direction: column; }
.mais-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.mais-nav a { display: flex; align-items: center; gap: 12px; min-height: 44px; padding: 0 14px; border-radius: 999px; font-size: .9375rem; font-weight: 500; color: rgb(var(--ink-2)); text-decoration: none; }
.mais-nav a:active { background: rgb(var(--ink) / .07); }
.mais-nav a[aria-current="page"] { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); font-weight: 600; }
.mais-nav .ic { width: 20px; height: 20px; flex: none; }
.mais-pessoa { flex: none; margin-top: auto; min-height: 56px; padding: 8px 6px; border-top: 1px solid rgb(var(--ink) / .1); border-radius: 0; }
.mais-pessoa .disco { width: 38px; height: 38px; background: rgb(var(--cor, var(--ink))); color: rgb(var(--canvas)); border: 0; font-size: 12.5px; }
@media (prefers-reduced-motion: reduce) { .folha-camada.mais-lado .folha { animation: esmaecer .2s ease both !important; } }

/* as conversas em coluna, como no WhatsApp: a lista à esquerda, a conversa no meio e o cliente à direita a partir de 1440 px */
.conv-coluna { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 0; padding: 0; overflow: hidden; border-radius: var(--r-meio); box-shadow: var(--sombra-cartao); }
.conv-coluna-topo { flex: none; display: flex; align-items: center; gap: 8px; padding: 10px 10px 10px 12px; border-bottom: 1px solid rgb(var(--ink) / .08); }
.conv-busca { position: relative; flex: 1; min-width: 0; display: flex; }
.conv-busca > .ic { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: rgb(var(--ink-3)); pointer-events: none; }
.conv-busca input { width: 100%; min-height: 42px; padding: 0 12px 0 36px; border-radius: 999px; border: 1px solid rgb(var(--ink) / .14); background: rgb(var(--surface) / .7); color: rgb(var(--ink)); font: inherit; font-size: .875rem; }
.conv-lista2 { flex: 1 1 auto; min-height: 0; list-style: none; margin: 0; padding: 6px; overflow-y: auto; overscroll-behavior: contain; }
.conv-item2 { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 10px; align-items: center; width: 100%; padding: 8px 10px; border-radius: 16px; text-align: left; color: rgb(var(--ink)); transition: background-color 160ms; }
.conv-item2 .disco { width: 44px; height: 44px; }
.conv-item2[aria-current="true"] { background: rgb(var(--ink) / .08); box-shadow: inset 3px 0 0 rgb(var(--ink) / .55); }
@media (hover: hover) { .conv-item2:not([aria-current="true"]):hover { background: rgb(var(--ink) / .05); } }
.ci-txt { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ci-topo, .ci-baixo { display: flex; align-items: center; gap: 8px; min-width: 0; }
.ci-topo b { flex: 1; min-width: 0; font-size: .9375rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ci-topo small { flex: none; font-size: .75rem; color: rgb(var(--ink-3)); }
.ci-previa { flex: 1; min-width: 0; display: flex; align-items: center; gap: 4px; font-size: .8125rem; color: rgb(var(--ink-2)); }
.ci-previa > span[data-registro] { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ci-previa .ic { width: 14px; height: 14px; flex: none; }
.ci-conta { flex: none; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: rgb(var(--info)); color: rgb(var(--canvas)); font-size: .6875rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.ci-novo { flex: none; width: 10px; height: 10px; border-radius: 50%; background: rgb(var(--negative)); box-shadow: 0 0 0 3px rgb(var(--negative) / .18); }
.conv-sem-busca { padding: 18px 12px; font-size: .875rem; color: rgb(var(--ink-2)); text-align: center; }
/* .conv-grade2 na frente: sem ele, ".conv-grade2 .conv-meio" (padding: 0; overflow: hidden) ganha, e a lista do painel fica cortada, sem rolar */
.conv-grade2 .conv-meio-secao { padding: 4px 16px 16px; overflow-y: auto; overscroll-behavior: contain; }
.conv-meio-secao .conv-secao { margin-top: 12px; }
.conv-meio-vazio { align-items: center; justify-content: center; text-align: center; color: rgb(var(--ink-2)); }
.conv-voltar { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; color: rgb(var(--ink)); }
.conv-voltar:active { background: rgb(var(--ink) / .08); }
.conv-cab > .conv-caixa { margin-left: auto; }
@media (min-width: 960px) {
  .conv-grade2.conv-zap { grid-template-columns: 300px minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); height: calc(100dvh - var(--conv-alto, 118px)); min-height: 480px; }
  .conv-grade2.conv-zap.com-painel { grid-template-columns: 300px minmax(0, 1fr) 320px; }
  .conv-grade2.conv-zap > .conv-coluna { grid-column: 1; grid-row: 1; }
  .conv-grade2.conv-zap > .conv-meio { grid-column: 2; grid-row: 1; }
  .conv-grade2.conv-zap > .painel-cli { grid-column: 3; grid-row: 1; overflow-y: auto; overscroll-behavior: contain; }
  body[data-tela="conversas"] main { padding-bottom: 0; }
}
@media (min-width: 1600px) {
  .conv-grade2.conv-zap { grid-template-columns: 340px minmax(0, 1fr); }
  .conv-grade2.conv-zap.com-painel { grid-template-columns: 340px minmax(0, 1fr) 340px; }
}
@media (max-width: 959px) {
  .conv-grade2.conv-zap { grid-template-columns: minmax(0, 1fr); }
  .conv-zap .conv-lista2 { overflow: visible; padding: 4px; }
  .conv-zap .conv-coluna-topo { padding: 10px; }
  /* a conversa aberta ocupa a tela inteira, como no WhatsApp: a cápsula, a voz e a barra de baixo saem; a volta fica na cabeça da conversa */
  body[data-tela="conversas"].conversa-aberta .topo { display: none; }
  body[data-tela="conversas"].conversa-aberta .dock { display: none; }
  body[data-tela="conversas"].conversa-aberta .voz-tela { display: none; }
  body[data-tela="conversas"].conversa-aberta main { padding-top: calc(10px + env(safe-area-inset-top, 0px)); padding-bottom: 10px; }
  body[data-tela="conversas"].conversa-aberta .conv-zap > .conv-meio { height: calc(100dvh - var(--conv-y, 10px) - 10px - env(safe-area-inset-bottom, 0px)); min-height: 420px; }
  body[data-tela="conversas"].conversa-aberta #avisos { bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  .conv-zap .conv-meio .conv-cab { padding: 6px 8px 6px 4px; gap: 2px; }
}
/* ===================== Mesa de Luz, rodada 4: a dica que brota e a espiada do celular ===================== */
.dica { position: fixed; z-index: 95; left: 0; top: 0; max-width: min(320px, calc(100vw - 16px)); overflow: auto; overscroll-behavior: contain; padding: 10px 13px; border-radius: 16px;
  font-size: .8125rem; line-height: 1.45; color: rgb(var(--ink)); text-align: left; white-space: normal;
  background: rgb(var(--surface) / .96); border: 1px solid rgb(var(--linha) / var(--linha-forca)); border-top-color: rgb(var(--fio) / var(--fio-forca));
  -webkit-backdrop-filter: blur(16px) saturate(1.3); backdrop-filter: blur(16px) saturate(1.3); box-shadow: var(--sombra-flut); }
.dica[hidden] { display: none; }
.dica.brota { animation: dica-brota 220ms var(--mola) both; }
@keyframes dica-brota { from { opacity: 0; transform: scale(.96); } }
.dica p + p, .dica p + ul, .dica ul + p { margin-top: 6px; }
.dica .selo, .dica .gente { vertical-align: 1px; }
.dica.peek { max-width: min(380px, calc(100vw - 32px)); padding: 16px 18px; border-radius: 26px; font-size: .9375rem; }
.dica.peek.brota { animation: dica-sobe 420ms var(--mola-solta) both; }
@keyframes dica-sobe { from { opacity: 0; transform: translateY(24px) scale(.96); } }
#dica-veu { position: fixed; inset: 0; z-index: 94; background: rgb(var(--sombra) / .22); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); animation: esmaecer 200ms ease both; }
#dica-veu[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .dica.brota, .dica.peek.brota { animation: esmaecer 160ms ease both !important; } }
/* no celular, só a linha, o botão e o chip que abrem a espiada perdem o menu do toque longo; o texto de dado continua selecionável */
@media (hover: none) { button[data-dica], a[data-dica], .linha[data-dica], [role="button"][data-dica], .selo[data-dica], .gente[data-dica], [data-acao="info"] { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; } }
/* o "i" ao lado do título que recebeu a explicação */
h1 > .botao-i, h2 > .botao-i, h3 > .botao-i, label > .botao-i, legend > .botao-i, .rotulo > .botao-i, .cartao-titulo > .botao-i, .campo-rotulo > .botao-i { margin-left: 8px; vertical-align: 2px; }
.dica-fonte[hidden] { display: none !important; }
.aviso-texto[data-dica] { cursor: default; }
/* o texto que tem dica: um sublinhado pontilhado discreto diz que há mais */
.tem-dica { text-decoration: underline dotted rgb(var(--ink) / .35); text-decoration-thickness: 1px; text-underline-offset: 4px; cursor: help; }
/* copiar: o ícone aparece à direita do valor com o ponteiro em cima; o visto com "Copiado" fica 1,2 s */
/* escondido, o ícone não ocupa lugar; com o ponteiro no valor ele abre na hora e fica 0,4 s depois que o ponteiro sai, para dar tempo de chegar nele */
.copiar, .lapis-ed { display: inline-flex; align-items: center; justify-content: center; gap: 4px; vertical-align: middle; height: 28px; max-width: 0; min-width: 0; margin-left: 0; padding: 0; overflow: hidden; border-radius: 999px;
  color: rgb(var(--ink-2)); opacity: 0; font-size: .6875rem; font-weight: 600; white-space: nowrap;
  transition: opacity 160ms 260ms, max-width 0s 420ms, min-width 0s 420ms, margin 0s 420ms, padding 0s 420ms, background-color 160ms; }
.copiar .ic { width: 15px; height: 15px; }
[data-copiar]:hover + .copiar, .copiar:hover, .copiar:focus-visible, .copiar.ok, [data-copiar]:has(~ .lapis-ed:hover) + .copiar,
[data-editar]:hover + .lapis-ed, [data-editar]:hover + .copiar + .lapis-ed, .copiar:hover + .lapis-ed, .lapis-ed:hover, .lapis-ed:focus-visible {
  max-width: 96px; min-width: 28px; margin-left: 4px; padding: 0 6px; opacity: 1; transition-delay: 0s; }
@media (hover: hover) { .copiar:hover { background: rgb(var(--ink) / .07); } }
.copiar.ok { color: rgb(var(--positive-fg)); }
@media (hover: none) { .copiar:not(.ok) { display: none; } [data-copiar] { cursor: pointer; } .lapis-ed { max-width: 32px; min-width: 28px; margin-left: 2px; opacity: .6; transition: none; } }
.legenda-ag[hidden] { display: none; }
.agenda-nav .um { display: inline !important; } .agenda-nav .dois { display: none !important; }
/* rodada 4, parte A: o papel da pessoa mora na dica da lateral; botões só com ícone; o nome do mês do calendário fica na navegação */
.lateral-rodape .pessoa-lateral small { display: none; }
.botao.so-ic { padding: 0; width: 36px; justify-content: center; gap: 0; }
.mesa-doc .botao.so-ic { padding: 0; width: 36px; }
#meses .mes:only-child .mes-nome { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* ===================== rodada 4, parte C: o processo na palma da mão ===================== */
.resumo-proc { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; }
.resumo-proc > * { max-width: 100%; }
.rp-partes { font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 1rem; line-height: 1.3; letter-spacing: -.01em; text-wrap: balance; color: rgb(var(--ink)); }
.rp-ficha .rp-partes { font-size: 1.4375rem; line-height: 1.2; }
.rp-x { font-weight: 500; color: rgb(var(--ink) / .55); }
.rp-parte.nosso { color: rgb(var(--ink)); }
.rp-linha { display: block; }
.rp-lado { display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 999px; vertical-align: .2em; font-family: Inter, sans-serif; font-size: .6875rem; font-weight: 600; letter-spacing: .02em; color: rgb(var(--ink) / .7); background: rgb(var(--ink) / .06); }
.rp-cnj .tnum { font-variant-numeric: tabular-nums; font-size: 1.0625rem; font-weight: 500; letter-spacing: .01em; }
.rp-ficha .rp-cnj .tnum { font-size: 1.1875rem; }
.rp-vara { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 4px; font-size: .8125rem; color: rgb(var(--ink) / .82); }
.rp-mapa { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 999px; color: rgb(var(--ink-2)); }
.rp-mapa:hover { background: rgb(var(--ink) / .07); }
.rp-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.rp-chips:empty { display: none; }
.rp-valor { font-variant-numeric: tabular-nums; font-size: .8125rem; font-weight: 600; padding: 3px 10px; border-radius: 999px; background: rgb(var(--ink) / .06); }
.rp-prox { display: flex; flex-wrap: wrap; gap: 6px; }
.rp-decisao { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; max-width: 100%; padding: 8px 12px; border-radius: 14px; text-align: left; background: rgb(var(--ink) / .05); font-size: .8125rem; }
.rp-decisao:hover { background: rgb(var(--ink) / .09); }
.rp-dec-quando { font-weight: 600; color: rgb(var(--ink) / .7); white-space: nowrap; }
.rp-dec-texto { color: rgb(var(--ink)); }
.rp-acoes { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 2px; }
.rp-acao { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-width: 44px; min-height: 44px; padding: 6px 8px; border-radius: 14px; color: rgb(var(--ink-2)); font-size: .6875rem; font-weight: 600; }
.rp-acao:hover { background: rgb(var(--ink) / .07); color: rgb(var(--ink)); }
.rp-acao.ok { color: rgb(var(--positive-fg)); }
.rp-rot { white-space: nowrap; }
/* no computador, a ficha e a resposta da Busca ficam só com os ícones (o nome vem na dica); na dica, na espiada e no celular, o nome aparece */
@media (min-width: 960px) { .rp-ficha .rp-rot, .resposta-busca .rp-rot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .rp-ficha .rp-acao, .resposta-busca .rp-acao { min-width: 40px; min-height: 40px; padding: 0; border-radius: 999px; } }
.rp-dica { gap: 6px; min-width: min(294px, calc(100vw - 48px)); }
.rp-dica .rp-acoes { margin: 2px -6px 0; }
.dica .rp-acao { min-width: 40px; min-height: 40px; padding: 4px 6px; }
.dica.peek .copiar { display: inline-flex; opacity: 1; max-width: 96px; min-width: 28px; margin-left: 4px; padding: 0 6px; transition: none; }
.dica.peek .rp-dica { min-width: 0; }
.cabeca-processo .ficha-como .mesa-como { margin-top: 0; }
.cabeca-processo .resumo-proc { gap: 10px; }
/* a resposta da Busca: o resumo antes dos grupos, com os processos do cliente em fichas */
.resposta-busca { margin-bottom: 16px; padding: 18px 20px; }
.rp-abas { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.rp-abas .chip[aria-selected="true"] { background: rgb(var(--ink)); color: rgb(var(--canvas)); }
/* a carteira do dia: só no celular, logo abaixo do cartão da frente; um cartão por compromisso, de lado */
.h-carteira { margin: 12px -16px 4px; }
.hc-trilho { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 2px 16px 8px; scrollbar-width: none; overscroll-behavior-x: contain; }
.hc-trilho::-webkit-scrollbar { display: none; }
.hc-cartao { flex: 0 0 min(84%, 330px); scroll-snap-align: center; padding: 14px 16px; border-radius: 24px; display: flex; flex-direction: column; gap: 8px; }
.hc-quando { font-size: .8125rem; line-height: 1.5; }
.hc-quando .gente { margin-left: 4px; vertical-align: 1px; }
.hc-local { display: block; }
.hc-quando b { font-size: .9375rem; }
.hc-local { color: rgb(var(--ink) / .75); }
.hc-titulo { font-weight: 600; font-size: .9375rem; line-height: 1.35; }
.rp-carteira .rp-partes { font-size: .875rem; }
.rp-carteira .rp-cnj .tnum { font-size: .9375rem; }
@media (min-width: 960px) { .h-carteira { display: none; } }
/* mudar no lugar: o lápis aparece com o ponteiro em cima; o campo abre no lugar do valor */
.lapis-ed .ic { width: 15px; height: 15px; }
@media (hover: hover) { .lapis-ed:hover { background: rgb(var(--ink) / .07); } }
[data-editar]:not(button) { cursor: text; }
.editando { display: inline-flex; flex-direction: column; gap: 4px; }
.ed-input { min-height: 36px; padding: 4px 10px; border-radius: 10px; font: inherit; font-size: max(16px, 1em); color: rgb(var(--ink)); background: rgb(var(--surface)); border: 1px solid rgb(var(--ink) / .3); box-shadow: 0 0 0 3px rgb(var(--info) / .18); max-width: calc(100vw - 64px); }
.ed-input[aria-invalid="true"] { border-color: rgb(var(--negative)); box-shadow: 0 0 0 3px rgb(var(--negative) / .15); }
.ed-erro { font-size: .75rem; font-weight: 600; color: rgb(var(--negative-fg)); }
.ed-erro[hidden] { display: none; }
.cad-falta { font-size: .8125rem; color: rgb(var(--warning-fg)); }
.doc-cliente { font-variant-numeric: tabular-nums; }
.cadastro { display: grid; gap: 10px; margin-top: 4px; }
.cadastro > div { display: flex; align-items: center; gap: 10px; min-width: 0; font-size: .875rem; }
.cadastro dt { flex: none; display: inline-flex; color: rgb(var(--ink) / .6); }
.cadastro dd { min-width: 0; overflow-wrap: anywhere; }
/* o registro rápido */
.rr-proc { font-size: .875rem; font-weight: 600; margin-bottom: 10px; }
.rr-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.rr-chips .chip[aria-pressed="true"] { background: rgb(var(--ink)); color: rgb(var(--canvas)); }
/* no celular, o resumo do processo é a primeira tela; o prazo urgente vem logo depois */
@media (max-width: 959px) { .ficha-processo .cabeca-processo { order: -1; } .rp-ficha .rp-partes { font-size: 1.25rem; } }
.rp-carteira .rp-acoes { flex-wrap: nowrap; justify-content: space-between; width: 100%; gap: 0; }
.rp-carteira .rp-acao { min-width: 0; flex: 1 1 auto; padding: 6px 2px; }
/* ===================== rodada 4, parte D: a Reunião ===================== */
.rp-estrategia { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: .8125rem; }
.rotulo-estr { font-size: .75rem; font-weight: 600; color: rgb(var(--ink) / .6); }
.estr-sit { cursor: pointer; }
.reu-progresso { position: relative; display: flex; align-items: center; gap: 12px; margin: -4px 0 18px; }
.reu-progresso i { flex: 1; height: 6px; border-radius: 999px; background: rgb(var(--ink) / .08); overflow: hidden; position: relative; }
.reu-progresso i::after { content: ''; position: absolute; inset: 0; width: calc(var(--p) * 100%); border-radius: inherit; background: rgb(var(--positive)); transition: width 420ms var(--mola); }
.reu-progresso span { font-size: .8125rem; font-weight: 600; color: rgb(var(--ink) / .75); }
.reu-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); gap: 16px; }
/* as decisões ficam da altura das estratégias: o campo no alto, Gerar ata no pé, e as decisões anotadas no meio */
.reu-cartao[data-reu="decisoes"] { display: flex; flex-direction: column; }
.reu-ata-pe { margin-top: auto; padding-top: 10px; }
.reu-cartao .cartao-topo { align-items: center; }
.reu-check { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px 0 8px; border-radius: 999px; font-size: .8125rem; font-weight: 600; color: rgb(var(--ink) / .7); }
.reu-check:hover { background: rgb(var(--ink) / .06); }
.reu-check[aria-checked="true"] { color: rgb(var(--positive-fg)); }
.reu-check[aria-checked="true"] .check { background: rgb(var(--positive)); border-color: rgb(var(--positive)); color: #fff; }
.reu-cartao.discutido { opacity: .78; }
.reu-cartao.discutido .cartao-titulo { text-decoration: line-through; text-decoration-color: rgb(var(--ink) / .35); }
.reu-grupo { margin: 4px 0 6px; font-size: .75rem; font-weight: 600; color: rgb(var(--ink) / .6); display: flex; align-items: center; gap: 8px; }
.reu-nums { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px; margin: 0 0 12px; }
.reu-num { padding: 10px 12px; border-radius: 16px; background: rgb(var(--ink) / .045); cursor: default; }
.reu-num:focus-visible { outline: 2px solid rgb(var(--info)); outline-offset: 2px; }
.reu-num dt { font-size: .75rem; color: rgb(var(--ink) / .72); }
.reu-num dd { display: flex; align-items: center; gap: 6px; margin-top: 2px; }
.reu-num b { font-family: Montserrat, Inter, sans-serif; font-weight: 600; font-size: 1.375rem; letter-spacing: -.01em; }
.reu-seta { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 999px; }
.reu-seta.tom-bom { color: rgb(var(--positive-fg)); background: rgb(var(--positive-soft)); }
.reu-seta.tom-neg { color: rgb(var(--negative-fg)); background: rgb(var(--negative-soft)); }
.reu-linha { margin: 10px 0 12px; font-size: .875rem; }
.reu-cliente { margin: 10px 0 2px; font-size: .75rem; font-weight: 600; color: rgb(var(--ink) / .65); }
.reu-estr { align-items: center; }
.reu-estr .estr-texto { white-space: normal; }
.reu-decidir { display: grid; grid-template-columns: 1fr minmax(0, 150px) auto; gap: 8px; align-items: center; }
.reu-decidir #reu-dec-texto { grid-column: 1 / -1; }
.reu-decidir input, .reu-decidir select { min-height: 40px; padding: 0 10px; border-radius: 12px; font: inherit; font-size: max(16px, .875rem); color: rgb(var(--ink)); background: rgb(var(--surface)); border: 1px solid rgb(var(--ink) / .2); min-width: 0; }
@media (max-width: 600px) { .reu-decidir { grid-template-columns: 1fr 1fr; } .reu-decidir .botao { grid-column: 1 / -1; } }
.reu-carga .bd-nome .gente { font-size: .8125rem; }
/* a ata */
.ata { font-size: .875rem; line-height: 1.55; }
.ata .ata-escritorio { font-size: .75rem; font-weight: 600; color: rgb(var(--ink) / .6); }
.ata h3 { font-family: Montserrat, Inter, sans-serif; font-size: 1.125rem; margin: 2px 0 6px; }
.ata h4 { margin: 14px 0 4px; font-size: .8125rem; font-weight: 700; }
.ata ul { margin: 0; padding-left: 18px; }
/* Apresentar: a camada cobre a tela; um cartão por vez, em letra grande */
.apresentar { position: fixed; inset: 0; z-index: 120; display: flex; flex-direction: column; background: rgb(var(--canvas)); padding: clamp(16px, 4vh, 48px) clamp(16px, 6vw, 120px) 16px; }
.ap-palco { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; overflow: auto; }
.ap-palco .reu-cartao { width: min(1180px, 100%); max-height: 100%; overflow: auto; font-size: clamp(1rem, 1.35vw, 1.5rem); padding: clamp(20px, 3vw, 44px); border-radius: 36px; }
.ap-palco .cartao-titulo { font-size: 1.6em; }
/* no celular, o título fica com a linha toda ao lado do ícone, e o Discutido desce para a linha de baixo */
@media (max-width: 599px) { .ap-palco .reu-cartao .cartao-topo { flex-wrap: wrap; } .ap-palco .reu-cartao .cartao-titulo { flex-basis: calc(100% - 48px); } }
.ap-palco .reu-num b { font-size: 2.2em; }
.ap-palco .reu-num dt, .ap-palco .linha-texto b, .ap-palco .bd-nome { font-size: 1em; }
.ap-palco .linha-texto small, .ap-palco .reu-grupo { font-size: .8em; }
.ap-palco .reu-nums { grid-template-columns: repeat(auto-fill, minmax(clamp(150px, 14vw, 240px), 1fr)); gap: 14px; }
.ap-pe { display: flex; align-items: center; justify-content: center; gap: 12px; padding-top: 12px; }
.ap-conta { min-width: 64px; text-align: center; font-weight: 600; }
body.apresentando { overflow: hidden; }
.apresentar { touch-action: pan-y; }
.reu-num b { white-space: nowrap; }
.reu-num.sensivel b { font-size: 1.125rem; }
/* os valores em reais pedem a lousa mais larga, para a seta caber ao lado (ajuste da coordenação na parte D) */
.reu-nums:has(> .reu-num.sensivel) { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
.ap-palco .reu-num.sensivel b { font-size: 1.35em; }
/* os quatro valores em reais em duas colunas, dois e dois (cada coluna com pelo menos metade da largura), e uma só no celular */
.ap-palco .reu-nums:has(> .reu-num.sensivel) { grid-template-columns: repeat(auto-fit, minmax(max(240px, calc((100% - 14px) / 2)), 1fr)); }
@media (min-width: 960px) { .rp-decisao.rp-so-cel { display: none; } }
.tarefa-icones { display: inline-flex; gap: 6px; margin-left: 8px; color: rgb(var(--ink) / .6); vertical-align: middle; }
.variacao.so-seta { padding: 0; width: 22px; height: 22px; justify-content: center; }
.ver-mais ~ .vazio-coluna { display: none; }
/* ===================== rodada 4, parte E: as finanças ===================== */
.fin-mes-topo { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 14px; }
.fin-mes-topo .agenda-nav { width: auto; }
.fm-num { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.fm-num .numeral { font-size: 1.375rem; }
.fm-tabela { width: 100%; border-collapse: collapse; font-size: .8125rem; margin: 4px 0 8px; }
.fm-tabela th, .fm-tabela td { padding: 7px 6px; text-align: right; border-bottom: 1px solid rgb(var(--ink) / .08); font-variant-numeric: tabular-nums; }
.fm-tabela th:first-child, .fm-tabela td:first-child { text-align: left; }
.fm-tabela thead th { font-size: .75rem; font-weight: 600; color: rgb(var(--ink) / .6); }
.fm-tabela .neg { color: rgb(var(--negative-fg)); }
.fm-transf .linha { align-items: center; }
.fm-partes { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: .875rem; margin: 0 0 6px; }
.fm-pct { display: inline-flex; align-items: center; gap: 6px; margin: 4px 10px 4px 0; font-size: .875rem; }
.fm-pct input { width: 84px; }
.fm-pcts-linha { display: flex; flex-wrap: wrap; }
.interruptor { margin-top: 6px; }
.div-ext { display: grid; grid-template-columns: minmax(0, 1fr) 76px 120px auto auto; gap: 6px; align-items: center; margin-bottom: 8px; }
.div-ext select[hidden] { display: none; }
@media (max-width: 600px) { .div-ext { grid-template-columns: 76px minmax(0, 1fr) auto 40px; } .div-ext input[name^="ext-nome"] { grid-column: 1 / -1; } }
.linha-divisao { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 10px 0 0; font-size: .875rem; }
.cartao-divisao .linha-divisao { padding: 0; }
.lista-k .linha { align-items: center; }
/* os contratos em linhas compactas, com a divisória fina; a seta à direita, no meio da altura (parte K1) */
.lista-k > li + li { border-top: 1px solid rgb(var(--ink) / .08); }
.lista-k .linha { min-height: 0; padding: 10px 6px; border-radius: 12px; }
.k-pe { display: flex; align-items: center; gap: 8px; margin-top: 5px; min-width: 0; }
.k-pe .selo { flex: none; }
.k-pe small { min-width: 0; -webkit-line-clamp: 1; }
.lista-k .seta { flex: none; }

.form-folha > .marcar, .form-div > .marcar, #form-div > .marcar { width: 100%; }
.marcar > span { flex: 1; min-width: 0; }
.fm-previa { font-size: .875rem; line-height: 1.5; margin: 0; }
/* as cinco abas do Financeiro (e as da Administração) cabem na largura do celular: a pílula mais justa, sem rolar para o lado */
@media (max-width: 719px) {
  .abas-fin .segmento { display: flex; width: 100%; }
  .abas-fin .segmento button { flex: 1 1 auto; justify-content: center; padding: 0 6px; font-size: 12.5px; }
}
@media (max-width: 400px) { .fm-tabela { font-size: .75rem; } .fm-tabela th, .fm-tabela td { padding: 6px 3px; } }

/* ===================== rodada 4, parte H: os Arquivos ===================== */
.arq-busca { margin: 0 0 12px; }
.arq-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: -4px 0 18px; }
.chip-filtro { position: relative; display: inline-flex; align-items: center; min-height: 38px; border-radius: 999px; background: rgb(var(--ink) / .06); color: rgb(var(--ink-2)); transition: background-color 160ms, color 160ms; }
.chip-filtro select { appearance: none; -webkit-appearance: none; border: 0; background: transparent; color: inherit; font: inherit; font-size: .8125rem; font-weight: 600; min-height: 38px; max-width: 230px; field-sizing: content; padding: 0 30px 0 14px; border-radius: 999px; cursor: pointer; text-overflow: ellipsis; }
.chip-filtro > .ic { position: absolute; right: 11px; width: 14px; height: 14px; pointer-events: none; }
.chip-filtro.ativo { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); }
.chip-filtro select:focus-visible { outline: 2px solid rgb(var(--ink)); outline-offset: 2px; }
@media (hover: hover) { .chip-filtro:not(.ativo):hover { background: rgb(var(--ink) / .1); } }
@media (max-width: 719px) { .chip-filtro select { max-width: 160px; } }
.abas-arq { margin: 0 0 18px; }
.abas-arq .segmento button .ic { width: 16px; height: 16px; flex: none; }
.abas-arq .arq-n { opacity: .7; font-weight: 600; }
@media (max-width: 719px) {
  .abas-arq .segmento { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); width: 100%; border-radius: 24px; }
  .abas-arq .segmento .pilula, .abas-arq .segmento button { border-radius: 20px; }
  .abas-arq .segmento button { flex-direction: column; justify-content: center; gap: 3px; min-height: 56px; padding: 5px 1px; font-size: 10.5px; line-height: 1.15; text-align: center; white-space: normal; }
  .abas-arq .segmento button .ic { width: 18px; height: 18px; }
  .abas-arq .arq-n { position: absolute; top: 3px; left: calc(50% + 7px); min-width: 17px; height: 17px; padding: 0 4px; border-radius: 999px; font-size: 10px; line-height: 17px; background: rgb(var(--ink) / .14); opacity: 1; }
}
/* Recentes: a primeira página de cada arquivo, por dia; no computador os dias pequenos dividem a linha, como num álbum de fotos */
.arq-recentes { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 26px 32px; }
.arq-grupo { flex: 0 1 auto; min-width: 0; max-width: 100%; }
.arq-grupo-tit { display: flex; align-items: baseline; gap: 8px; margin: 0 0 12px; font-family: Montserrat, sans-serif; font-size: .9375rem; font-weight: 600; }
.arq-grupo-tit .tnum { font-family: Inter, sans-serif; font-size: .8125rem; font-weight: 500; color: rgb(var(--ink) / .62); }
.arq-grade { display: flex; flex-wrap: wrap; gap: 20px 16px; }
.arq-card { display: flex; flex-direction: column; gap: 9px; width: 148px; min-width: 0; }
@media (max-width: 719px) { .arq-recentes { display: block; } .arq-grupo + .arq-grupo { margin-top: 24px; } .arq-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; } .arq-card { width: auto; } }
.arq-abrir { display: block; width: 100%; border-radius: 6px; }
.arq-abrir .miniatura { transition: transform .2s cubic-bezier(.16, 1, .3, 1), box-shadow .2s; }
@media (hover: hover) { .arq-abrir:hover .miniatura { transform: translateY(-3px); box-shadow: 0 2px 4px rgb(0 0 0 / .2), 0 14px 28px rgb(var(--sombra) / .2); } }
.arq-abrir:active .miniatura { transform: scale(.97); }
.arq-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.arq-nome-linha { display: flex; align-items: flex-start; min-width: 0; }
.arq-nome { flex: 0 1 auto; min-width: 0; font-size: .8125rem; font-weight: 600; line-height: 1.3; overflow: hidden; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.arq-onde, .arq-meta { font-size: .75rem; line-height: 1.35; color: rgb(var(--ink) / .72); min-width: 0; }
.arq-onde { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.arq-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.arq-meta .selo, .arq-onde .selo { font-size: .6875rem; padding: 1px 7px; }
.selo-segredo { gap: 0; }
.arq-mais { display: flex; justify-content: center; margin-top: 22px; }
/* Por cliente: o cliente, os processos e os arquivos, cada nível com a conta */
.arq-arvore { display: flex; flex-direction: column; gap: 12px; }
.arq-cli.cartao { padding: 0; }
.arq-cli-topo { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 64px; padding: 10px 18px; text-align: left; border-radius: inherit; }
.arq-cli-topo b { flex: 1; min-width: 0; font-family: Montserrat, sans-serif; font-size: 1rem; font-weight: 600; }
.arq-conta { font-size: .8125rem; color: rgb(var(--ink) / .66); white-space: nowrap; }
.arq-seta { flex: none; transition: transform .2s; }
.arq-cli-topo[aria-expanded="true"] .arq-seta { transform: rotate(180deg); }
.arq-cli-topo:focus-visible { outline: 2px solid rgb(var(--ink)); outline-offset: -2px; }
.arq-proc { padding: 0 18px 14px; }
.arq-proc h3 { display: flex; align-items: baseline; gap: 8px; margin: 2px 0 4px; font-size: .8125rem; font-weight: 600; color: rgb(var(--ink-2)); }
.arq-proc h3 .tnum { font-weight: 500; color: rgb(var(--ink) / .62); }
.arq-proc-nome { font: inherit; color: inherit; border-radius: 6px; text-align: left; }
@media (hover: hover) { .arq-proc-nome:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgb(var(--ink) / .35); } }
.arq-linhas { list-style: none; margin: 0; padding: 0; }
.arq-linha { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; align-items: center; padding: 8px 0; }
.arq-linha + .arq-linha { border-top: 1px solid rgb(var(--ink) / .07); }
.arq-abrir.mini, .arq-abrir.mini .miniatura { border-radius: 4px; }
.arq-linha .linha-texto { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
/* a busca nos arquivos: a página achada, com o termo marcado */
.arq-resumo { margin: 0 0 10px; font-size: .875rem; }
.arq-achados { padding: 8px; display: flex; flex-direction: column; gap: 2px; }
/* a peça nova: o modelo fica pequeno, embaixo */
.peca-modelo { margin: 4px 0 0; }
/* os Modelos ficam quietos, por último: a página menor que a dos Recentes */
#tela-arquivos .grade-modelos-p { grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 18px 14px; }
@media (max-width: 719px) { #tela-arquivos .grade-modelos-p { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 10px; } }
/* a pergunta do Adicionar dentro da linha do Sem pasta: o texto corre na linha, como no Adicionar */
.guardar-texto .pergunta { margin-top: 8px; font-size: 14px; }
.guardar-texto .pergunta b { display: inline; font-size: inherit; line-height: inherit; }
.guardar-texto .pergunta small { margin-top: 2px; font-size: 12.5px; }

/* ===================== rodada 4, parte F: o Drive ao vivo ===================== */
.drive-vivo { gap: 6px; }
.drive-vivo i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 0 currentColor; animation: drive-pulso 2.4s ease-out infinite; }
@keyframes drive-pulso { 0% { box-shadow: 0 0 0 0 rgb(var(--positive-fg) / .45); } 70%, 100% { box-shadow: 0 0 0 7px rgb(var(--positive-fg) / 0); } }
@media (prefers-reduced-motion: reduce) { .drive-vivo i { animation: none; } }
.drive-topo { margin-bottom: 14px; }
.drive-topo .cartao-topo { flex-wrap: wrap; }
.drive-pasta { margin: 2px 0 0; font-size: .8125rem; color: rgb(var(--ink) / .75); }
.drive-nome { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; min-width: 0; }
.drive-nome .guardar-abrir { min-width: 0; overflow-wrap: anywhere; }
.drive-selos { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: .75rem; color: rgb(var(--ink) / .7); }
.drive-selos .selo { font-size: .6875rem; padding: 1px 8px; }
.drive-caminho { margin: 3px 0 0; font-size: .75rem; line-height: 1.4; color: rgb(var(--ink) / .7); overflow-wrap: anywhere; }
.drive-resultado { margin: 6px 0 0; font-size: .875rem; line-height: 1.45; }
.drive-resultado b, .guardar-texto .drive-resultado b { display: inline; font-size: inherit; line-height: inherit; }
.drive-linha .disco { width: 60px; height: 60px; }
.drive-repetidos { margin-top: 6px; border-top: 1px solid rgb(var(--ink) / .08); }
.drive-rep-topo { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 4px 0; text-align: left; font-size: .875rem; font-weight: 600; color: rgb(var(--ink-2)); border-radius: 8px; }
.drive-rep-topo > span { flex: 1; }
.drive-rep-topo[aria-expanded="true"] .arq-seta { transform: rotate(180deg); }
.drive-rep-topo:focus-visible { outline: 2px solid rgb(var(--ink)); outline-offset: 2px; }
/* o cartão do Drive em Integrações: abrir, os selos, a conta e o Simular chegada */
.conector-drive .conector-abrir { display: block; width: 100%; text-align: left; border-radius: 16px; }
.drive-selos-cartao { display: flex; flex-wrap: wrap; gap: 6px; }
.drive-pe { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }

/* ===================== rodada 4: os pontos abertos da auditoria de encaixe ===================== */
/* a página do modelo: o painel "O sistema preenche" acompanha a rolagem das páginas (é curto e cabe na janela) */
@media (min-width: 960px) { #tela-modelo .grade-papel > .papel-lado { position: sticky; top: 96px; } }
/* o Cérebro estreito: Legenda, Lista e Mostrar tudo ficam dentro do mapa; o que não cabe desce para outra linha */
@media (max-width: 400px) { .c-zoom { left: 12px; flex-wrap: wrap; justify-content: flex-end; } }

/* ===================== rodada 4, parte G: as prioridades de cada um ===================== */
.prior-lista { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; }
.prior-linha { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 4px 0; }
.prior-linha + .prior-linha { border-top: 1px solid rgb(var(--ink) / .07); }
.prior-linha .disco { width: 34px; height: 34px; flex: none; }
.prior-nome { flex: 1; min-width: 0; font-size: .9375rem; font-weight: 500; line-height: 1.3; border-radius: 6px; }
.prior-linha.ligada .prior-nome { font-weight: 600; }
.prior-ordem { flex: none; width: 26px; height: 26px; border-radius: 50%; font-size: .75rem; font-weight: 700; font-variant-numeric: tabular-nums; background: rgb(var(--ink) / .08); color: rgb(var(--ink-2)); }
.prior-ordem[aria-disabled="true"] { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); cursor: default; }
@media (hover: hover) { .prior-ordem:not([aria-disabled="true"]):hover { background: rgb(var(--ink) / .14); } }
.prior-linha .interruptor { flex: none; }
/* a Minha área do Hoje */
.h-area .cartao-topo { gap: 10px; }
.h-area-abas { display: flex; gap: 4px; margin-left: auto; }
.h-area-aba { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; color: rgb(var(--ink-2)); background: rgb(var(--ink) / .06); }
.h-area-aba[aria-selected="true"] { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); }
@media (hover: hover) { .h-area-aba:not([aria-selected="true"]):hover { background: rgb(var(--ink) / .12); } }
.h-area-aba .ic { width: 17px; height: 17px; }
.h-area-nome { display: flex; align-items: center; gap: 8px; margin: -2px 0 4px; font-size: .8125rem; font-weight: 600; color: rgb(var(--ink) / .72); }
.h-area-nome .ic { width: 15px; height: 15px; }
.h-area-pe { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 6px; }
.h-area-extra { font-size: .8125rem; color: rgb(var(--ink) / .75); }
.h-area-quando { flex: none; font-size: .8125rem; color: rgb(var(--ink) / .72); white-space: nowrap; }

/* ===================== rodada 4, parte F (ampliada): a Entrada, quatro portas ===================== */
/* arrastar sobre qualquer tela: a janela inteira vira o lugar de soltar */
.soltar-tudo { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 24px; pointer-events: none; background: rgb(var(--canvas) / .38); -webkit-backdrop-filter: blur(12px) saturate(1.2); backdrop-filter: blur(12px) saturate(1.2); animation: soltar-entra .22s ease-out both; }
.soltar-tudo[hidden] { display: none; }
.soltar-tudo-caixa { display: grid; justify-items: center; gap: 10px; width: min(560px, 100%); padding: 52px 28px; border-radius: 36px; border: 2px dashed rgb(var(--ink) / .38); background: rgb(var(--surface) / .72); box-shadow: 0 30px 80px rgb(var(--sombra) / .25); text-align: center; animation: soltar-respira 1.8s ease-in-out infinite alternate; }
.soltar-tudo-caixa .ic { width: 46px; height: 46px; }
.soltar-tudo-caixa b { font-family: Montserrat, sans-serif; font-size: 1.375rem; font-weight: 600; }
.soltar-tudo-caixa span { font-size: .9375rem; color: rgb(var(--ink) / .75); }
@keyframes soltar-entra { from { opacity: 0; } }
@keyframes soltar-respira { to { transform: scale(1.015); border-color: rgb(var(--ink) / .55); } }
@media (prefers-reduced-motion: reduce) { .soltar-tudo, .soltar-tudo-caixa { animation: none; } }
/* o cartão da leitura: Lendo 12 de 40, que encolhe */
.entrada-prog { position: fixed; right: 20px; bottom: 20px; z-index: 80; display: grid; gap: 8px; width: min(340px, calc(100vw - 32px)); padding: 14px 16px; border-radius: 22px; }
.entrada-prog[hidden] { display: none; }
@media (max-width: 959px) { .entrada-prog { right: 16px; bottom: calc(100px + env(safe-area-inset-bottom, 0px)); } }
.ep-topo { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: .9375rem; }
.ep-min { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; flex: none; }
@media (hover: hover) { .ep-min:hover { background: rgb(var(--ink) / .08); } }
.ep-barra { height: 6px; border-radius: 99px; background: rgb(var(--ink) / .1); overflow: hidden; }
.ep-barra i { display: block; height: 100%; border-radius: inherit; background: rgb(var(--ink)); transition: width .25s; }
.ep-nome { min-width: 0; font-size: .75rem; color: rgb(var(--ink) / .72); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.entrada-prog .botao { justify-self: start; }
.entrada-prog.min { width: auto; padding: 8px 8px 8px 16px; }
.entrada-prog.min .ep-barra, .entrada-prog.min .ep-nome, .entrada-prog.min .botao { display: none; }
/* a aba Entrada: o lugar de soltar, a caixa de colar, o Drive e a porta de cada chegada */
.entrada-soltar { margin-bottom: 14px; }
.entrada-portas { display: grid; gap: 10px; margin-bottom: 14px; }
.colar-rotulo { font-size: .875rem; font-weight: 600; }
.colar-aqui { min-height: 96px; resize: vertical; }
.entrada-drive { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 4px 12px; font-size: .8125rem; color: rgb(var(--ink) / .78); }
.entrada-drive .ic { width: 16px; height: 16px; }
.entrada-porta { display: inline-flex; align-items: center; gap: 4px; font-size: .75rem; font-weight: 600; color: rgb(var(--ink-2)); }
.entrada-porta .ic { width: 13px; height: 13px; }
.texto-lido { display: none; }
/* a foto de papel que chega do WhatsApp */
.doc.doc-papel-foto { background: linear-gradient(160deg, #6f6a62, #4b4741); }
.doc-papel-foto .foto-papel { position: absolute; inset: 70px 60px; padding: 60px 50px; background: #f3efe6; box-shadow: 0 18px 40px rgb(0 0 0 / .35); transform: rotate(-1.6deg); }
/* com o cartão da leitura à vista, os avisos sobem para cima dele */
html.lendo #avisos { bottom: calc(92px + env(safe-area-inset-bottom, 0px) + var(--prog-h, 0px) + 12px); }
@media (min-width: 960px) { html.lendo #avisos { bottom: calc(20px + var(--prog-h, 0px) + 12px); } }

/* ===================== rodada 4, parte I: o que o sistema atual tinha ===================== */
/* a cápsula: o chip da luz conta os avisos novos */
.chip-topo .chip-n { margin-left: 0; }
/* a lista dos avisos: o novo em negrito, com o ponto azul; o lido mais leve */
.avisos-grupo { margin: 2px 0 4px; }
.avisos-grupo + .avisos-lista { margin-bottom: 10px; }
.aviso-item .linha-texto small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aviso-item.lido b { font-weight: 500; color: rgb(var(--ink) / .78); }
.aviso-ponto { flex: none; width: 9px; height: 9px; margin-left: auto; border-radius: 50%; background: rgb(var(--info)); }
.avisos-rodape { margin-top: 10px; padding-top: 8px; border-top: 1px solid rgb(var(--ink) / .08); }
.bola-luz { display: block; width: 14px; height: 14px; border-radius: 50%; background: linear-gradient(135deg, var(--calma-a), var(--calma-b)); }
html[data-luz="atencao"] .bola-luz { background: linear-gradient(135deg, var(--atencao-a), var(--atencao-b)); }
/* o aviso de teste: a faixa do celular e do computador, aqui dentro da página */
.banner-teste { position: fixed; top: 16px; right: 16px; z-index: 140; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 12px;
  width: min(380px, calc(100vw - 32px)); padding: 12px 14px; border-radius: 20px; animation: banner-entra .32s cubic-bezier(.16, 1, .3, 1) both; transition: opacity .3s, transform .3s; }
.banner-teste.saindo { opacity: 0; transform: translateY(-10px); }
.banner-marca { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: rgb(var(--ink)); color: rgb(var(--canvas)); font-size: 12px; font-weight: 800; letter-spacing: -.02em; }
.banner-teste b { display: block; font-size: .875rem; line-height: 1.3; }
.banner-teste p { margin: 2px 0 0; font-size: .8125rem; line-height: 1.35; color: rgb(var(--ink) / .78); overflow-wrap: anywhere; }
.banner-teste small { font-size: .75rem; color: rgb(var(--ink) / .6); white-space: nowrap; }
@keyframes banner-entra { from { opacity: 0; transform: translateY(-14px); } }
@media (prefers-reduced-motion: reduce) { .banner-teste { animation: none; transition: none; } }
@media (max-width: 719px) { .banner-teste { top: calc(10px + env(safe-area-inset-top, 0px)); right: 16px; left: 16px; width: auto; } }
/* a senha: as regras que acendem enquanto se digita, e o código de 6 números */
.regras-senha { list-style: none; margin: 2px 0 6px; padding: 0; display: grid; gap: 6px; font-size: .8125rem; color: rgb(var(--ink) / .72); }
.regras-senha li { display: flex; align-items: center; gap: 8px; }
.regras-senha li.ok { color: rgb(var(--positive-fg)); }
.regras-senha.erro li:not(.ok) { color: rgb(var(--negative-fg)); }
.campo-codigo { font-size: 1.25rem; letter-spacing: .3em; max-width: 220px; }
.seg-lista .linha { cursor: default; }
.seg-lista button.linha { cursor: pointer; }
/* os CNPJs do cliente, no cartão Cadastro */
.cnpjs { margin-top: 12px; padding-top: 10px; border-top: 1px solid rgb(var(--ink) / .08); }
.cnpjs-lista { list-style: none; margin: 4px 0 6px; padding: 0; display: grid; gap: 6px; }
.cnpjs-lista li { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; font-size: .875rem; min-height: 28px; }
/* as notas do cliente */
.notas-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.nota-item + .nota-item { padding-top: 12px; border-top: 1px solid rgb(var(--ink) / .07); }
.nota-texto { margin: 0; font-size: .9375rem; line-height: 1.45; overflow-wrap: anywhere; }
.nota-quem { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 6px 0 0; font-size: .8125rem; color: rgb(var(--ink) / .66); }
/* a área no alto do processo e a linha de cada parte */
.rp-area { display: inline-flex; align-items: center; gap: 5px; margin-left: 10px; font-size: .8125rem; font-weight: 500; color: rgb(var(--ink) / .72); white-space: nowrap; }
.parte-linha { gap: 10px; }
.parte-linha .linha-texto { min-width: 0; }
.parte-linha .parte-abrir { flex: none; margin-left: auto; width: 40px; min-width: 40px; height: 40px; padding: 0; justify-content: center; }
.parte-linha .selo + .parte-abrir { margin-left: 0; }
/* a tarefa urgente: a bandeira vermelha antes do título */
.t-urgente { display: inline-flex; vertical-align: -2px; margin-right: 6px; color: rgb(var(--negative)); }
.t-urgente .ic { width: 15px; height: 15px; }
.t-urgente-linha { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; font-size: .8125rem; font-weight: 600; color: rgb(var(--negative-fg)); }
.t-detalhes { margin: 8px 0 0; font-size: .9375rem; line-height: 1.45; overflow-wrap: anywhere; }
/* a importação: cada coluna da planilha com o campo que ela vira */
.imp-passo { margin: 14px 0 6px; }
.imp-colunas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr)); gap: 8px; }
.imp-coluna { display: grid; gap: 4px; min-width: 0; font-size: .8125rem; font-weight: 600; }
.imp-coluna > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.imp-coluna .campo { min-height: 40px; font-size: .875rem; }
/* a folha da reunião, da perícia e da diligência */
.comp-dados { margin-top: 12px; }
/* Minhas horas, sem valores */
.minhas-horas .imp-resumo { margin-top: 4px; }
.o12 { order: 12; }
/* com a conta dos avisos no chip da luz, o Buscar do celular fica só com a lupa até 420 px: a cápsula cabe inteira a 390 */

/* a área ao lado do número do processo; sem lugar, desce inteira para a linha de baixo, alinhada à esquerda */
.rp-cnj:has(> .rp-area) { display: flex; flex-wrap: wrap; align-items: center; column-gap: 10px; row-gap: 2px; }
.rp-cnj > .rp-area { margin-left: 0; }
/* no celular, Baixar e Restaurar descem para baixo do texto da cópia, alinhados com ele */
@media (max-width: 959px) { .linha.acao-embaixo > .acoes-item { margin: -2px 0 4px 52px; } }
/* sobras da auditoria do encaixe (rodada-4h3): na Reunião em tela inteira, os seis números do Trabalho em três e três (a 1280 ficavam
   cinco e um); no cartão de anexo de 116 px, o nome do arquivo numa linha só, com reticências, e o nome inteiro na dica */
.ap-palco .reu-nums:not(:has(> .reu-num.sensivel)) { grid-template-columns: repeat(auto-fit, minmax(max(150px, calc((100% - 28px) / 3)), 1fr)); }
.conv-grade2 .conv-fio .anexo b, .previa-bolha .anexo b { display: block; -webkit-line-clamp: unset; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; overflow-wrap: normal; }
/* Minhas horas: os dois números em duas colunas (a grade de três da importação apertava "21h00" a 960) */
.minhas-horas .imp-resumo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* a parte: o "Nosso cliente" desce para baixo do nome, e o nome fica com a largura da linha */
.parte-linha .linha-texto .selo { align-self: flex-start; margin-top: 4px; }

/* ===================== rodada 4, parte J1: prazos e chegadas ===================== */
/* o visto na folha do prazo: ao lado de quem cuida; o que falta (sem abrir, sem começar perto do prazo interno) pede atenção */
.prazo-quem { flex-wrap: wrap; align-items: center; }
.visto-txt { font-size: 13px; color: rgb(var(--ink) / .7); }
.visto-txt.pede { color: rgb(var(--warning-fg)); font-weight: 600; }
/* o tribunal como autor do andamento que chegou sozinho */
.gente.tribunal { --cor: var(--ink-2); }
/* a intimação explicada: Aconteceu e Fazer, o rótulo curto na frente; a sugestão (a conferir) e a troca de dias úteis por corridos */
.pub-ler { display: grid; gap: 3px; margin-top: 8px; font-size: 13px; line-height: 1.4; color: rgb(var(--ink) / .86); }
.pub-ler p { margin: 0; overflow-wrap: anywhere; }
.pub-rot { margin-right: 2px; font-size: .75rem; font-weight: 600; color: rgb(var(--ink-3)); }
.pub-fazer { display: inline; padding: 0; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; border-radius: 4px; }
@media (hover: hover) { .pub-fazer:hover { text-decoration: underline; text-underline-offset: 3px; } }
.pub-sug { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 4px; }
.pub-sug .pub-contar { min-height: 30px; padding: 0 10px; font-size: 12.5px; }
.lista-guardar .triagem.dois { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* o texto com o trecho do prazo marcado (a folha do texto, a explicação do Novo prazo e o detalhe) */
.pub-texto mark, .explica-trecho mark, .dica mark { background: rgb(var(--marca-busca) / var(--marca-forca)); color: var(--marca-tinta); border-radius: 3px; padding: 0 2px; box-shadow: inset 0 -1px 0 rgb(var(--warning) / .6); }
.pub-texto { margin: 10px 0 0; font-size: 14.5px; line-height: 1.55; overflow-wrap: anywhere; }
.pub-conta { margin: 12px 0 0; padding: 10px 12px; border-radius: 16px; background: rgb(var(--ink) / .05); font-size: 13px; line-height: 1.5; }
.pub-conta small { display: block; margin-top: 4px; color: rgb(var(--ink) / .66); }
/* a explicação no alto do Novo prazo */
.explica { display: grid; gap: 8px; padding: 12px 14px; border-radius: 20px; }
.explica .pub-ler { margin-top: 0; }
.explica-trecho { margin: 0; font-size: 13px; line-height: 1.5; color: rgb(var(--ink) / .8); overflow-wrap: anywhere; }
.explica-conf { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font-size: 12.5px; color: rgb(var(--ink) / .72); }
/* a publicação que cita um cliente: a linha no alto do Novo processo */
.de-cita { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 8px; margin: 0 0 4px; font-size: 13px; line-height: 1.45; color: rgb(var(--ink) / .85); }
.h-item-txt small .selo { margin-right: 4px; vertical-align: 1px; }
/* o aviso do prazo parado: Cliente · Processo e os chips (o que falta, quem cuida) quebram a linha no celular */
.aviso-item.parado .linha-texto small { white-space: normal; }
/* a pessoa do prazo que pede atenção (sem abrir, ou parado perto do prazo interno): o contorno tracejado */
.gente.pede { border-style: dashed; border-color: rgb(var(--warning) / .7); }
/* o próximo prazo no resumo do processo (a resposta da Busca): o título longo termina em reticências dentro do cartão, no celular */
.rp-prox .selo { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: top; }
.rp-prox .selo .ic { margin-right: 5px; vertical-align: -2px; }

/* ===================== rodada 4, parte J2: gestão e dinheiro ===================== */
/* o dinheiro do cliente: o total a repassar, a conta do levantamento e a miniatura da prestação de contas */
.din-total { display: flex; align-items: baseline; gap: 8px; margin: 2px 0 8px; }
.din-total small { font-size: .8125rem; color: rgb(var(--ink) / .7); }
.conta-cliente { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 10px 0 12px; }
.conta-cliente dt { font-size: .75rem; color: rgb(var(--ink) / .64); }
.conta-cliente dd { margin: 2px 0 0; font-size: .9375rem; font-weight: 600; }
.conta-cliente dd .selo { margin-top: 4px; }
@media (max-width: 519px) { .conta-cliente { grid-template-columns: minmax(0, 1fr); } }
.prestacao-mini { width: 160px; max-width: 100%; margin: 4px 0 6px; }
/* o pacote da fase */
.pacote-lista .linha { cursor: default; }
/* de quem é a vez: o lado na cor dele */
.vez-linha { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; margin-top: 10px; }
.vez-lado { display: inline-flex; align-items: center; gap: 5px; min-height: 26px; padding: 0 10px; border-radius: 999px; font-size: 12.5px; font-weight: 600; white-space: nowrap;
  --cor: var(--ink-2); color: rgb(var(--cor)); background: rgb(var(--cor) / .09); border: 1px solid rgb(var(--cor) / .24); }
.vez-lado.tribunal { --cor: var(--info); } .vez-lado.cliente { --cor: var(--warning); } .vez-lado.parceiro { --cor: var(--positive); }
.linha-texto small .vez-lado { min-height: 19px; padding: 0 7px; font-size: 11.5px; }
/* a peça na fila: com quem está e o Passar a vez */
.vez-peca { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; color: rgb(var(--ink) / .72); }
.gente.cliente { --cor: var(--warning); }
/* a carga: a nota e a tabela de tempo por complexidade */
.reu-nota { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; font-size: .8125rem; color: rgb(var(--ink) / .7); }
.tabela-tempo { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 6px; }
.tabela-tempo li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 10px; }
.tabela-tempo small { color: rgb(var(--ink) / .66); }
/* quanto rende: os meses até o trânsito à direita */
.quanto-rende .linha { cursor: default; }
.rende-meses { flex: none; margin-left: auto; font-size: .8125rem; color: rgb(var(--ink) / .66); }
.rende-dica { margin-top: -6px; }
/* ===================== rodada 4, parte K1: a barra de baixo, o Adicionar, o Fotografar e A confirmar ===================== */
/* a barra de baixo do celular: o "+" no meio, redondo, maior e cheio, na cor de destaque, um pouco acima da linha da barra */
.dock-meio { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; }
.dock-novo { display: grid; place-items: center; width: 56px; height: 56px; margin-top: -20px; border-radius: 50%; background: rgb(var(--primary)); color: rgb(var(--primary-fg)); box-shadow: 0 10px 24px -8px rgb(var(--sombra) / .6); transition: transform .12s; }
.dock-novo .ic { width: 26px; height: 26px; stroke-width: 2; transition: transform .2s; }
.dock-novo:active { transform: scale(.94); }
.dock-novo[aria-expanded="true"] .ic { transform: rotate(45deg); }
@media (max-width: 380px) { .dock-novo { width: 52px; height: 52px; } }
/* a ponta direita é o Mais: aberto ou na parte em que se está, fica aceso */
.dock-ponta[aria-expanded="true"] { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); }
/* o fim de cada tela fica acima do "+" e do Mais */
@media (max-width: 959px) { main { padding-bottom: calc(136px + env(safe-area-inset-bottom, 0px)); } }

/* o painel do Adicionar: as opções em linhas grandes, o Colar aqui e os atalhos */
.add-lista { margin: 0 0 10px; }
.add-colar { display: block; margin: 2px 0 12px; }
.add-colar .colar-aqui { min-height: 52px; }
.add-atalhos { display: flex; flex-wrap: wrap; gap: 8px; }
/* do tablet para cima, o painel abre junto do botão, sem escurecer a tela */
@media (min-width: 720px) {
  .folha-camada.add-junto { display: block; padding: 0; }
  .folha-camada.add-junto .cortina { background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .folha-camada.add-junto .folha { position: fixed; max-width: calc(100vw - 32px); max-height: calc(100dvh - 32px); border-radius: 26px; padding: 14px 16px 16px; box-shadow: var(--sombra-flut); }
}

/* Fotografar documento: as páginas em miniatura, com o número e o tirar */
.fotos-vazio { margin: 2px 0 12px; font-size: 14px; color: rgb(var(--ink-2)); }
.fotos-paginas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 12px; }
.fotos-paginas li { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.foto-pe { display: flex; align-items: center; justify-content: space-between; gap: 4px; font-size: 12.5px; color: rgb(var(--ink-2)); }

/* A confirmar: o que é o documento e o resumo, em duas linhas */
.conf-leitura { display: flex; flex-direction: column; gap: 1px; margin: 6px 0 0; font-size: 13px; line-height: 1.4; }
.guardar-texto .conf-leitura b { display: block; font-size: 13.5px; font-weight: 600; line-height: 1.35; }
.conf-leitura span { color: rgb(var(--ink-2)); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

/* as abas dos Arquivos no celular: o rótulo longo (A confirmar) quebra em duas linhas, sem encostar na borda da pílula */
@media (max-width: 719px) { .abas-arq .segmento button { padding: 5px 4px; } }

/* as Conversas no celular, com a lista à vista: o fim dela fica acima do "+" e do Mais (a conversa aberta tira a barra e tem o seu) */
@media (max-width: 959px) { body[data-tela="conversas"]:not(.conversa-aberta) main { padding-bottom: calc(136px + env(safe-area-inset-bottom, 0px)); } }
/* ===================== rodada 4, parte K2: escolher arquivos e levar para fora ===================== */
/* escolhendo: cada arquivo ganha o círculo de marcar no canto; o escolhido fica com o contorno e o círculo cheio, com o visto */
body.selecionando :is(.arq-abrir, .tile-arquivo)[data-id] { position: relative; }
body.selecionando :is(.arq-abrir, .tile-arquivo)[data-id]::after { content: ""; position: absolute; top: 6px; right: 6px; z-index: 1; width: 22px; height: 22px; border-radius: 50%; border: 2px solid rgb(var(--ink) / .5); background: rgb(var(--surface) / .92); box-sizing: border-box; }
body.selecionando .arq-abrir.mini[data-id]::after { top: 2px; right: 2px; width: 18px; height: 18px; }
body.selecionando :is(.arq-abrir, .tile-arquivo)[aria-pressed="true"]::after, .sel-pasta[aria-pressed="true"]::after { border-color: rgb(var(--primary)); background: rgb(var(--primary)); }
body.selecionando :is(.arq-abrir, .tile-arquivo)[aria-pressed="true"] { outline: 2px solid rgb(var(--primary)); outline-offset: 2px; }
body.selecionando :is(.arq-abrir, .tile-arquivo)[aria-pressed="true"]::before, .sel-pasta[aria-pressed="true"]::before { content: ""; position: absolute; z-index: 2; top: 10px; right: 14px; width: 6px; height: 11px; border: solid rgb(var(--primary-fg)); border-width: 0 2px 2px 0; box-sizing: border-box; transform: rotate(45deg); }
body.selecionando .arq-abrir.mini[aria-pressed="true"]::before { top: 5px; right: 8.5px; width: 5px; height: 9px; }
.cartao-acao { margin-left: 4px; }
/* a pasta inteira, em Por cliente: o círculo no lugar da pasta do cliente (o nome fica onde estava) e antes do nome de cada processo */
.sel-pasta { position: relative; flex: none; width: 44px; height: 44px; border-radius: 50%; }
.sel-pasta::after { content: ""; position: absolute; inset: 10px; border-radius: 50%; border: 2px solid rgb(var(--ink) / .5); background: rgb(var(--surface) / .92); box-sizing: border-box; }
.sel-pasta[aria-pressed="true"]::before { top: 15px; right: auto; left: 19px; }
.sel-pasta:focus-visible { outline: 2px solid rgb(var(--ink)); outline-offset: -2px; }
body.selecionando .arq-cli[data-cli] { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; }
body.selecionando .arq-cli[data-cli] > .arq-cli-corpo { grid-column: 1 / -1; }
body.selecionando .arq-cli-topo { padding-left: 8px; }
body.selecionando .arq-cli-topo > .circulo-fino { display: none; }
.arq-cli > .sel-pasta { margin-left: 14px; }
body.selecionando .arq-proc h3 { align-items: center; }
.arq-proc h3 .sel-pasta { width: 28px; height: 28px; margin: -4px -2px -4px -4px; }
.arq-proc h3 .sel-pasta::after { inset: 4px; }
.arq-proc h3 .sel-pasta[aria-pressed="true"]::before { top: 8px; left: 11.5px; width: 5px; height: 9px; }
/* a barra da escolha: no computador, embaixo e no meio; no celular, no lugar da barra de baixo (como no Fotos do iPhone), e o x devolve
   a barra; o fim de cada tela fica acima dela */
.barra-sel { position: fixed; z-index: 45; left: 50%; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); width: min(620px, calc(100vw - 24px)); display: flex; flex-direction: column; gap: 8px; padding: 10px 12px 12px; border-radius: 26px; box-shadow: var(--sombra-flut); }
@media (max-width: 959px) { .barra-sel { bottom: calc(12px + env(safe-area-inset-bottom, 0px)); } body.selecionando .dock { display: none; } }
.bs-topo { display: flex; align-items: center; gap: 6px; min-height: 36px; padding-left: 6px; }
.bs-topo b { flex: 1; min-width: 0; font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bs-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.bs-acoes .botao { flex: 1 1 auto; justify-content: center; }
body.selecionando main { padding-bottom: calc(220px + env(safe-area-inset-bottom, 0px)); }
/* Levar para o Claude: o caminho bom em cima, o que fica de fora (com o motivo), os arquivos que vão e o pedido pronto */
.claude-caminho { display: flex; align-items: flex-start; gap: 10px; margin: 0 0 14px; padding: 12px 14px; border-radius: 16px; background: rgb(var(--ink) / .05); font-size: 14px; line-height: 1.45; }
.claude-caminho .ic { flex: none; margin-top: 2px; }
.claude-lista { margin: 0 0 12px; }
.claude-lista li { padding: 6px 0 6px 6px; }
.claude-lista.fora .linha-texto b { font-weight: 500; color: rgb(var(--ink-2)); }
#pedido-claude { min-height: 150px; font-size: 14px; line-height: 1.45; }
.dica-arrastar { margin-top: 6px; font-size: 12.5px; color: rgb(var(--ink-2)); }
/* escolhendo, o Selecionar do alto sai: a barra de baixo é quem manda */
body.selecionando [data-acao="sel-entrar"] { display: none; }
/* ===================== rodada 4, parte K3: o pente fino no celular ===================== */
/* as abas dos Arquivos no celular: uma fileira só, que rola de lado; cada aba numa linha (o ícone ao lado do rótulo), todas da mesma
   altura, a cápsula escolhida da altura das outras, e o número de A confirmar ao lado do rótulo */
@media (max-width: 719px) {
  .abas-arq .segmento { display: flex; flex-wrap: nowrap; width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; border-radius: 999px; }
  .abas-arq .segmento .pilula, .abas-arq .segmento button { border-radius: 999px; }
  .abas-arq .segmento button { flex: none; flex-direction: row; gap: 6px; min-height: 44px; padding: 0 14px; font-size: 13px; line-height: 1.2; white-space: nowrap; }
  .abas-arq .segmento button .ic { width: 16px; height: 16px; }
  .abas-arq .arq-n { position: static; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; font-size: 11px; line-height: 18px; }
  /* os filtros e as fichas de escolha: uma fileira só, que rola de lado (nenhuma ficha sozinha na segunda linha) */
  .arq-filtros, .chips-fin { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
  .arq-filtros > *, .chips-fin > * { flex: none; }
  /* os filtros dos Arquivos e as categorias dos modelos vão até a borda da tela: a ficha que continua aparece cortada na borda */
  .arq-filtros, #tela-arquivos .modelos-barra .chips-fin { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; scroll-padding-inline: 16px; }
  :is(.abas-arq .segmento, .arq-filtros, .chips-fin)::-webkit-scrollbar { display: none; }
  /* a ponta que continua esmaece: a fileira mostra que tem mais para o lado */
  :is(.abas-arq .segmento, .arq-filtros, .chips-fin, .chips-quem)[data-rola="dir"] { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent); }
  :is(.abas-arq .segmento, .arq-filtros, .chips-fin, .chips-quem)[data-rola="esq"] { -webkit-mask-image: linear-gradient(to left, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to left, #000 calc(100% - 36px), transparent); }
  :is(.abas-arq .segmento, .arq-filtros, .chips-fin, .chips-quem)[data-rola="esq dir"] { -webkit-mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent); }
  /* os modelos: duas colunas, com o nome e a categoria inteiros */
  #tela-arquivos .grade-modelos-p { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 12px; }
}
/* a linha de cima da tela no celular: a voz à esquerda e a ação da tela à direita, na mesma linha (o botão sozinho numa linha embaixo da
   voz, e a bolinha calada sozinha em cima, deixavam duas linhas quase vazias); a voz calada sem ação ao lado sai. A classe voz-com-acao
   vem do celular-k3.js: a tela à vista tem a ação no topo */
@media (max-width: 959px) {
  /* a voz fica por cima do começo da linha da ação (fora do fluxo; a flutuação quebrava a troca de tela com View Transitions) */
  main { position: relative; }
  body.voz-com-acao #voz-tela { position: absolute; left: 20px; top: 16px; max-width: calc(100% - 40px); min-height: 44px; margin: 0; }
  body.voz-com-acao .tela:not([hidden]) > .pagina-cabeca:first-child { min-height: 44px; align-items: center; margin-bottom: 16px; }
  body:not(.voz-com-acao) #voz-tela:has(> p:empty) { display: none; }
  /* E-mails e Avisos, no meio das Conversas: o painel tem a altura do que mostra (a altura da tela deixava um vão embaixo) */
  .conv-grade2 .conv-meio.conv-meio-secao { height: auto; min-height: 0; overflow: visible; }
}
/* o canto que vira oval: a caixa baixa fica com o canto até um terço da altura; os controles do pé da conversa e a barra de baixo, idem,
   com a pílula de dentro concêntrica (o canto de fora menos o respiro) */
.cartao.cartao-linha, .arq-cli.cartao, .cartao.dia-bloco, .mais-conta, .conv-topo-fixo { border-radius: 20px; }
.calc-resumo, .editor-barra, .email-lote, .conta-caixa { border-radius: 16px; }
.adm-indice .ajustes { border-radius: 20px; }
.mesa-pe { border-radius: 22px; }
.aviso-linha { border-radius: 12px; }
.rp-decisao { border-radius: 11px; }
.campo { border-radius: 16px; }
@media (max-width: 959px) {
  .conv-grade2 form.compositor .botao { border-radius: 16px; }
  .dock ul { border-radius: 20px; }
  .dock .pilula, .dock a { border-radius: 15px; }
  .dock-ponta { border-radius: 20px; }
}
/* o nome que quebra: a última linha nunca fica com uma palavra só; o título se equilibra em linhas parecidas */
.linha-texto > b, .linha-texto > strong { text-wrap: pretty; }
.cartao-titulo, .conv-secao-cab h2 { text-wrap: balance; }
/* no toque, o lápis do nome do cliente vem colado ao nome (o nome em bloco deixava o lápis sozinho na linha de baixo) */
/* o nome reserva no fim da última linha o lugar do lápis (o respiro só vale no fim do nome), e o lápis volta para dentro dele: os dois
   ficam sempre na mesma linha */
@media (hover: none) { .cabeca-ficha h1[data-editar] { display: inline; padding-right: 34px; } .cabeca-ficha h1[data-editar] ~ .lapis-ed { margin-left: -32px; }
  /* o mesmo no texto que se edita no lugar (o e-mail, o endereço): o lápis fica no fim da última linha, nunca sozinho embaixo */
  :is(span, b)[data-editar]:not(.rp-valor, .rp-vara-nome, .estr-texto):is(:has(+ .lapis-ed), :has(+ .copiar + .lapis-ed)) { padding-right: 30px; }
  :is(span, b)[data-editar]:not(.rp-valor, .rp-vara-nome, .estr-texto):is(:has(+ .lapis-ed), :has(+ .copiar + .lapis-ed)) ~ .lapis-ed { margin-left: -28px; }
  /* a vara do processo (item de uma fileira que quebra, com o lápis e o lugar no mapa): o nome deixa ao lado o lugar dos dois */
  .rp-vara .rp-vara-nome:has(+ .lapis-ed) { max-width: calc(100% - 64px); }
  /* a estratégia (item de uma fileira que quebra): o texto deixa ao lado o lugar do lápis */
  .rp-estrategia .estr-texto:has(+ .lapis-ed) { max-width: calc(100% - 40px); } }
/* o compromisso no dia da Agenda, no celular: o título e a linha de baixo numa linha cada, com reticências (o título longo empurrava a
   linha de baixo para fora da caixa de 40 px); o texto inteiro fica no título do botão e na folha que ele abre */
@media (max-width: 719px) { .grade-horas.um .gh-evento :is(b, small) { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } }
/* o seletor de cinco opções (Como foi fixada, na Calculadora): a escolha de duas linhas virava um círculo que cortava as letras na
   largura do celular; os cantos ficam de retângulo arredondado, e o texto cabe na caixa inteira */
.segmento.cinco { border-radius: 20px; }
.segmento.cinco .pilula, .segmento.cinco button { border-radius: 15px; }
/* o celular estreito (até 380 px): o botão com menos respiro dos lados, para as duas ações da tela caberem numa linha (Registrar pagamento
   e Novo lançamento; Marcar feito e Ver peça; Registrar pagamento e Excluir) */
@media (max-width: 380px) {
  .botao:not(.so-ic):not(.pequeno) { padding-inline: 14px; gap: 6px; }
  .botao.fantasma:not(.so-ic):not(.pequeno) { padding-inline: 10px; }
  /* com duas ações na fileira, o botão cheio fica só com o rótulo */
  :is(.cabeca-acoes, .ficha-acoes):has(> .botao ~ .botao) > .botao:not(.fantasma):not(.so-ic) .ic { display: none; }
}
/* as perguntas prontas ao assistente quebram em duas linhas de propósito: retângulo de canto suave, para a pergunta longa não virar oval */
.perguntas-prontas .chip { border-radius: 13px; }
/* os cantos que viravam ovais: o dia da semana do Hoje (estreito no celular e na janela de 960), o campo baixo, a lista do histórico */
.h-dia { border-radius: 12px; }
.imp-coluna .campo, .item-novo .campo, .hist-coisa { border-radius: 12px; }
/* o celular estreito: a linha do repasse leva o valor e o Pago para baixo do nome (o nome espremido em três linhas cruzava o valor), e o selo
   do prazo na lista deixa o ícone (o texto cabe em duas linhas) */
@media (max-width: 380px) {
  .linha:has(> .bd-valor):has(> .botao, > .selo) { flex-wrap: wrap; row-gap: 6px; }
  .linha:has(> .bd-valor):has(> .botao, > .selo) > .linha-texto { flex: 1 1 100%; }
  .linha:has(> .bd-valor):has(> .botao, > .selo) > .bd-valor { margin-left: auto; }
  .linha-texto .selo > .ic:first-child { display: none; }
}
/* os botões de duas linhas da grade de contato e de formatos (PDF, Word): o canto até um terço da altura */
.contato-grade .botao { border-radius: 18px; }
/* as tabelas dos relatórios no celular estreito: a tabela rola de lado e o nome fica inteiro (o nome espremido em quatro linhas) */
@media (max-width: 380px) {
  .tabela-caixa { overflow-x: auto; overscroll-behavior-x: contain; }
  .tabela-caixa .tabela-rel td:first-child, .tabela-caixa .tabela-rel th:first-child { min-width: 132px; }
}
/* os botões de decisão no celular (A confirmar, Para aprovar): cada fileira se completa, e o botão que desce para a linha de baixo ocupa a
   linha inteira (os botões de larguras diferentes, um embaixo do outro, pareciam sobras) */
@media (max-width: 719px) { .acoes-item > .botao { flex: 1 1 auto; justify-content: center; } }
/* ===================== rodada 4, parte K4: o editor de PDF ===================== */
.pdf-cabeca .cabeca-acoes .botao[disabled] { opacity: .45; }
/* as ferramentas: no computador, uma fileira; no celular, a fileira rola de lado, com a ponta que continua */
.pdf-ferramentas { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.pdf-ferramentas .botao[aria-pressed="true"] { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); border-color: transparent; }
@media (max-width: 719px) {
  .pdf-ferramentas { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; margin: 0 -16px 16px; padding: 0 16px; }
  .pdf-ferramentas::-webkit-scrollbar { display: none; }
  .pdf-ferramentas > * { flex: none; }
  .pdf-ferramentas[data-rola="dir"] { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent); }
  .pdf-ferramentas[data-rola="esq"] { -webkit-mask-image: linear-gradient(to left, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to left, #000 calc(100% - 36px), transparent); }
  .pdf-ferramentas[data-rola="esq dir"] { -webkit-mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent); }
}
.pdf-travado { align-items: center; margin: 0 0 14px; }
.pdf-travado span { flex: 1; min-width: 0; }
/* a grade das páginas: duas colunas no celular, mais no computador */
.pdf-grade { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 14px; }
@media (min-width: 720px) { .pdf-grade { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .pdf-grade { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.pdf-pag { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: 0; -webkit-touch-callout: none; user-select: none; -webkit-user-select: none; transition: transform .18s ease; }
.pdf-pag-botao { position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; width: 100%; padding: 6px; border-radius: 14px; touch-action: manipulation; }
.pdf-pag-botao:focus-visible { outline: 2px solid rgb(var(--ink)); outline-offset: 2px; }
.pdf-folha { position: relative; display: block; width: 100%; aspect-ratio: 595 / 842; }
.pdf-folha > .miniatura { position: absolute; inset: 0; transform: rotate(var(--giro, 0deg)); transition: transform .25s cubic-bezier(.2, .8, .2, 1); }
.pdf-folha.deitada > .miniatura { transform: rotate(var(--giro, 0deg)) scale(.7067); }
.pdf-num { min-width: 28px; padding: 1px 8px; border-radius: 999px; font-size: 12px; font-weight: 600; text-align: center; background: rgb(var(--ink) / .08); color: rgb(var(--ink-2)); }
.pdf-carimbo { position: absolute; left: 50%; bottom: 5%; transform: translateX(-50%); padding: 0 5px; font-size: 9px; line-height: 1.5; border-radius: 4px; background: rgb(255 255 255 / .92); color: #333; white-space: nowrap; pointer-events: none; }
/* a página escolhida: o contorno e o círculo cheio com o visto, como na escolha dos arquivos */
.pdf-pag-botao::after { content: ""; position: absolute; top: 10px; right: 10px; z-index: 1; width: 22px; height: 22px; border-radius: 50%; border: 2px solid rgb(var(--ink) / .45); background: rgb(var(--surface) / .92); box-sizing: border-box; }
.pdf-pag.escolhida .pdf-pag-botao { outline: 2px solid rgb(var(--primary)); outline-offset: 0; }
.pdf-pag.escolhida .pdf-pag-botao::after { border-color: rgb(var(--primary)); background: rgb(var(--primary)); }
.pdf-pag.escolhida .pdf-pag-botao::before { content: ""; position: absolute; z-index: 2; top: 14px; right: 18px; width: 6px; height: 11px; border: solid rgb(var(--primary-fg)); border-width: 0 2px 2px 0; box-sizing: border-box; transform: rotate(45deg); }
/* mover para antes e para depois: à vista no foco e no mouse; no toque, sempre */
.pdf-mover { display: flex; gap: 2px; }
.pdf-mover .botao.so-ic { width: 32px; min-height: 32px; height: 32px; }
@media (hover: hover) { .pdf-mover { opacity: 0; transition: opacity .15s; } .pdf-pag:hover .pdf-mover, .pdf-pag:focus-within .pdf-mover { opacity: 1; } }
/* o arrastar: a página sobe e segue o dedo ou o ponteiro; a vizinha mostra de que lado ela entra */
.pdf-pag.arrastando { z-index: 30; opacity: .92; transition: none; filter: drop-shadow(0 14px 24px rgb(var(--sombra) / .3)); pointer-events: none; }
body.pdf-arrastando { cursor: grabbing; user-select: none; -webkit-user-select: none; }
.pdf-pag.alvo-antes::before, .pdf-pag.alvo-depois::after { content: ""; position: absolute; top: 6px; bottom: 30px; width: 3px; border-radius: 3px; background: rgb(var(--primary)); }
.pdf-pag.alvo-antes::before { left: -9px; }
.pdf-pag.alvo-depois::after { right: -9px; }
@media (prefers-reduced-motion: reduce) { .pdf-folha > .miniatura, .pdf-pag { transition: none; } }
/* a barra da escolha das páginas, no lugar da barra de baixo do celular; o fim da grade fica acima dela */
body.pdf-escolhendo main { padding-bottom: calc(var(--barra-pdf-h, 204px) + 36px + env(safe-area-inset-bottom, 0px)); }
/* a barra da escolha dos arquivos ganhou o Juntar em um PDF: o fim da tela sobe a altura dela, medida */
body.selecionando main { padding-bottom: calc(var(--barra-sel-h, 184px) + 36px + env(safe-area-inset-bottom, 0px)); }
@media (max-width: 959px) { body.pdf-escolhendo .dock { display: none; } }
/* as folhas do editor */
.pdf-pasta { margin: 14px 0 0; }
.pdf-pasta-linha { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 6px; }
.pdf-pasta-linha b { flex: 1 1 auto; min-width: 0; font-weight: 600; }
.pdf-resumo { margin: 14px 0 0; font-size: 13.5px; line-height: 1.5; color: rgb(var(--ink-2)); }
.pdf-inserir-mini { flex: none; width: 40px; }
.pdf-inserir-mini .miniatura { border-radius: 4px; }
.pdf-niveis { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
.pdf-niveis button { justify-content: center; }
.pdf-nivel-texto { margin: 12px 0 0; font-size: 13.5px; line-height: 1.5; }
.pdf-tamanhos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 14px 0 0; }
.pdf-tamanhos dt { font-size: 12px; font-weight: 600; color: rgb(var(--ink-2)); }
.pdf-tamanhos dd { margin: 2px 0 0; font-size: 15px; font-weight: 600; }
.pdf-partes { margin-top: 12px; }
.arquivo-hist { margin: 4px 0 0; font-size: 13px; line-height: 1.45; color: rgb(var(--ink-2)); }
/* a senha do PDF: o campo e o botão numa fileira que quebra */
.form-senha-pdf { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.form-senha-pdf .campo-senha-pdf { flex: 1 1 180px; min-width: 0; }
/* o cartão da leitura que já acabou fica atrás da folha aberta (ele cobria o pé da folha); volta quando a folha fecha */
body:has(#lugar-folha .folha-camada) .entrada-prog.feito { display: none; }
/* ===================== depois da K4: o pente fino do celular pedido pelo dono (19/10) ===================== */
/* o Mais dentro da barra de baixo, igual às outras abas (antes ficava solto na ponta direita); a barra ocupa a largura */
.dock ul { flex: 0 1 400px; }
.dock .dock-mais { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 100%; min-height: 52px; border-radius: 18px; font-size: clamp(10px, 2.8vw, 11px); font-weight: 500; letter-spacing: -.01em; color: rgb(var(--ink-2)); transition: color .2s, transform .1s; }
.dock .dock-mais:active { transform: scale(.95); }
.dock .dock-mais .ic { width: 22px; height: 22px; }
.dock .dock-mais span { white-space: nowrap; }
.dock .dock-mais[aria-current="page"] { color: rgb(var(--pilula-tinta)); font-weight: 600; }
@media (max-width: 719px) {
  /* a carteira do Hoje: os compromissos um embaixo do outro, inteiros (de lado, o segundo cartão ficava cortado na borda e pedia puxar) */
  .h-carteira { margin: 12px 0 4px; }
  .hc-trilho { flex-direction: column; overflow: visible; scroll-snap-type: none; padding: 0; }
  .hc-cartao { flex: none; }
  /* o par de botões ocupa a linha inteira, metade cada um quando cabe (encostado à esquerda, deixava um vão torto à direita); o rótulo
     que não cabe na metade fica inteiro, e o outro botão fica com o resto */
  :is(.frente-acoes, .ficha-acoes, .cabeca-acoes):has(> .botao + .botao):not(:has(> .botao + .botao + .botao)) > .botao { flex: 1 1 0; min-width: max-content; justify-content: center; }
  .pagina-cabeca > .cabeca-acoes:has(> .botao + .botao) { flex: 1 1 100%; }
  /* as ações do resumo do processo: três colunas iguais, cada ação num ladrilho (em cinco e quatro, a segunda fileira desalinhava) */
  .rp-ficha .rp-acoes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 8px; width: 100%; align-self: stretch; }
  /* os arquivos do cliente: grade de três colunas, os 6 primeiros e o Ver tudo (de lado, o terceiro ficava cortado na borda) */
  .faixa-arquivos { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-columns: auto; gap: 16px 10px; overflow: visible; scroll-snap-type: none; margin: 0; padding: 4px 0 6px; }
  .rp-ficha .rp-acao { min-height: 56px; padding: 8px 4px; border-radius: 16px; background: rgb(var(--ink) / .06); }
  /* a linha com data e selo: o selo desce para baixo do título, que fica com a largura toda (o selo à direita apertava o título em três
     ou quatro linhas); a data e a seta ficam no meio da altura */
  .linha:has(> .bloco-data + .linha-texto + .selo) { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 12px; row-gap: 6px; }
  .linha:has(> .bloco-data + .linha-texto + .selo) > .bloco-data { grid-column: 1; grid-row: 1 / span 2; }
  .linha:has(> .bloco-data + .linha-texto + .selo) > .linha-texto { grid-column: 2; grid-row: 1; }
  .linha:has(> .bloco-data + .linha-texto + .selo) > .selo { grid-column: 2; grid-row: 2; justify-self: start; }
  .linha:has(> .bloco-data + .linha-texto + .selo) > svg { grid-column: 3; grid-row: 1 / span 2; }
  /* a barra de baixo: o + no meio com folga dos dois lados (a pílula da aba escolhida, Clientes ou Agenda, encostava nele) */
  .dock ul { grid-template-columns: repeat(2, minmax(0, 1fr)) clamp(64px, 20vw, 88px) repeat(2, minmax(0, 1fr)); }
  /* a conversa aberta: as opções e o enviar viram botões redondos de ícone, dos dois lados do campo, como no WhatsApp (o nome segue
     para o leitor de tela); a seta solta depois do nome, no topo, sai: tocar o nome já abre o painel */
  .conv-grade2 form.compositor :is(.b-opcoes, .b-enviar) { width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 50%; flex: none; }
  .conv-grade2 form.compositor :is(.b-opcoes, .b-enviar) > span:not(.conta-arq) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .conv-cab-nome > .ic { display: none; }
  /* Avisos e E-mails: a moldura de fora sai (cartão dentro de cartão estreitava as mensagens) */
  .conv-meio.conv-meio-secao { padding: 0; background: none; border: 0; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
/* ===================== parte L1: as Diligências, na Agenda ===================== */
/* o Waze em azul claro, a cor dele, só no ícone e no fundo de leve */
:root { --waze: 51 204 255; --waze-tinta: 0 112 150; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --waze-tinta: 120 220 252; } }
:root[data-theme="dark"] { --waze-tinta: 120 220 252; }
/* a aba nova cabe nas abas que rolam de lado no celular (o padrão da parte K3): cada aba numa linha, a escolhida à vista, a ponta que
   continua esmaecida */
@media (max-width: 719px) {
  .agenda-barra .segmento.visoes { display: flex; flex-wrap: nowrap; width: 100%; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
  .agenda-barra .segmento.visoes::-webkit-scrollbar, .dl-saidas::-webkit-scrollbar { display: none; }
  .agenda-barra .segmento.visoes button { flex: none; min-height: 44px; padding: 0 14px; white-space: nowrap; }
  :is(.agenda-barra .segmento.visoes, .dl-saidas)[data-rola="dir"] { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent); }
  :is(.agenda-barra .segmento.visoes, .dl-saidas)[data-rola="esq"] { -webkit-mask-image: linear-gradient(to left, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to left, #000 calc(100% - 36px), transparent); }
  :is(.agenda-barra .segmento.visoes, .dl-saidas)[data-rola="esq dir"] { -webkit-mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to right, transparent, #000 36px, #000 calc(100% - 36px), transparent); }
}
/* a tela: a saída em cima e os pendentes embaixo; no computador largo, lado a lado, para arrastar de um para o outro */
.dl-grade { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); align-items: start; }
@media (min-width: 1200px) { .dl-grade { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: 18px; } }
/* no computador, as duas colunas (a saída e os pendentes) ficam presas na rolagem, como o índice da Administração: a mais curta acompanha a outra, e o lugar de soltar segue à vista enquanto se arrasta */
@media (min-width: 1200px) { .dl-grade > .cartao { position: sticky; top: 96px; } }
.dl-saidas { display: flex; gap: 6px; margin: -4px 0 14px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; }
.dl-saidas .chip { flex: none; }
.dl-saidas .chip[aria-pressed="true"] { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); border-color: transparent; }
.dl-saida-cab { display: flex; align-items: center; gap: 12px; min-height: 36px; }
.dl-saida-cab .cartao-titulo { min-width: 0; }
.dl-editar { margin-left: -6px; }
.dl-rot { font-size: 12px; font-weight: 600; color: rgb(var(--ink-2)); }
/* quem vai e com quem está: a ficha de cada pessoa (o x tira; fica sempre uma) e o + */
.dl-quem, .dl-com { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.dl-quem { margin-top: 12px; }
.dl-quem .dl-rot, .dl-com .dl-rot { margin-right: 2px; }
.dl-ficha { position: relative; min-height: 28px; padding: 0 10px; gap: 4px; font-size: 12.5px; }
button.dl-ficha { cursor: pointer; }
button.dl-ficha .ic { width: 13px; height: 13px; margin-right: -3px; opacity: .8; }
button.dl-ficha::after { content: ""; position: absolute; inset: -8px -3px; }
.dl-mais-pessoa { position: relative; display: inline-flex; width: 28px; height: 28px; flex: none; align-items: center; justify-content: center; border-radius: 50%; border: 1.5px dashed rgb(var(--ink) / .35); color: rgb(var(--ink-2)); transition: border-color 160ms, background-color 160ms; }
.dl-mais-pessoa::after { content: ""; position: absolute; inset: -8px; }
.dl-mais-pessoa .ic { width: 14px; height: 14px; }
@media (hover: hover) { .dl-mais-pessoa:hover { border-color: rgb(var(--ink) / .7); background: rgb(var(--ink) / .05); } }
/* a conta "2 de 7 feitas", com a barra */
.dl-progresso { display: flex; align-items: center; gap: 12px; margin-top: 14px; }
.dl-barra { flex: 1; height: 6px; border-radius: 999px; background: rgb(var(--ink) / .1); overflow: hidden; }
.dl-barra i { display: block; height: 100%; border-radius: inherit; background: rgb(var(--positive)); }
.dl-conta { font-size: 13px; font-weight: 600; color: rgb(var(--ink-2)); white-space: nowrap; }
/* as paradas: o número da ordem, o lugar e o endereço numa linha, o Waze */
.dl-paradas { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; }
/* cada parada é um bloco da lista, sem caixa em volta (a caixa dentro do cartão apertava o texto no celular); a linha fina separa as paradas */
.dl-parada { position: relative; padding: 10px 0 12px; border-radius: 20px; }
.dl-parada + .dl-parada { border-top: 1px solid rgb(var(--ink) / .09); border-top-left-radius: 0; border-top-right-radius: 0; }
.dl-parada-cab { display: flex; align-items: center; gap: 10px; min-height: 48px; }
.dl-ordem { display: inline-flex; width: 28px; height: 28px; flex: none; align-items: center; justify-content: center; border-radius: 50%; background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); font-size: 13px; font-weight: 700; }
.dl-ordem .ic { width: 15px; height: 15px; stroke-width: 2.4; }
.dl-parada.feita .dl-ordem { background: rgb(var(--positive)); color: #fff; }
.dl-parada.sem-lugar .dl-ordem { background: rgb(var(--ink) / .08); color: rgb(var(--ink-2)); }
.dl-parada-pega { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 1px; min-height: 44px; padding: 2px 4px; border-radius: 12px; text-align: left; cursor: grab; touch-action: manipulation; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
.dl-parada-pega.sem-lugar { cursor: default; }
.dl-lugar { max-width: 100%; font-size: .9375rem; font-weight: 600; line-height: 1.3; letter-spacing: -.005em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dl-end { max-width: 100%; font-size: .78125rem; line-height: 1.35; color: rgb(var(--ink-2)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dl-parada.feita .dl-lugar { color: rgb(var(--ink-2)); }
.dl-waze { display: inline-flex; width: 44px; height: 44px; flex: none; align-items: center; justify-content: center; border-radius: 50%; background: rgb(var(--waze) / .16); color: rgb(var(--waze-tinta)); transition: transform 100ms ease-out, background-color 160ms; }
.dl-waze .ic { width: 24px; height: 24px; }
.dl-waze:active { transform: scale(.94); }
@media (hover: hover) { .dl-waze:hover { background: rgb(var(--waze) / .26); } }
.dl-proxima { width: 100%; justify-content: center; margin-top: 10px; text-decoration: none; }
.dl-proxima .ic { color: rgb(var(--waze-tinta)); }
/* o item: a caixa de marcar, grande; o que fazer numa linha; "Cliente · Processo" numa linha menor; o "i"; o + ou o tirar */
.dl-itens { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.dl-item { position: relative; display: flex; align-items: center; min-height: 58px; padding: 3px 0 3px 2px; border-radius: 16px; background: rgb(var(--surface) / .6); border: 1px solid rgb(var(--ink) / .06);
  touch-action: manipulation; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; transition: background-color 160ms; }
.dl-pendentes .dl-item { background: rgb(var(--ink) / .03); }
.dl-marca { margin: 0; }
.dl-marca .check { width: 28px; height: 28px; border-radius: 9px; }
.dl-marca .check .ic { width: 16px; height: 16px; stroke-width: 2.6; }
/* o texto e o "i" são um toque só (abre o resumo); o "i" fica no fim da linha, e o texto fica com a largura que sobra */
.dl-texto { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 6px 8px 6px 2px; border-radius: 12px; text-align: left; cursor: grab; }
.dl-linhas { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 1px; }
.dl-oque { max-width: 100%; font-size: .90625rem; font-weight: 600; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dl-motivo { font-weight: 500; color: rgb(var(--ink-2)); }
.dl-sub { display: block; max-width: 100%; font-size: .78125rem; line-height: 1.35; color: rgb(var(--ink-2)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dl-pedida { color: rgb(var(--ink-3)); }
.dl-i { flex: none; pointer-events: none; }
.dl-i::after { content: none; }
.dl-mover { display: inline-flex; width: 44px; height: 44px; flex: none; align-items: center; justify-content: center; border-radius: 50%; color: rgb(var(--ink-2)); transition: background-color 160ms, transform 100ms ease-out; }
.dl-mover .ic { width: 20px; height: 20px; }
.dl-mover:active { transform: scale(.92); }
@media (hover: hover) { .dl-mover:hover { background: rgb(var(--ink) / .07); color: rgb(var(--ink)); } }
.dl-item.feita { background: transparent; border-color: transparent; }
.dl-item.feita .dl-oque { color: rgb(var(--ink-3)); text-decoration: line-through; text-decoration-thickness: 1.5px; }
.dl-item.feita .dl-sub { color: rgb(var(--ink-3)); }
.dl-item.feita .dl-texto { cursor: pointer; }
.dl-item.recem { animation: dl-recem 1.2s ease-out; }
@keyframes dl-recem { from { background: rgb(var(--info) / .18); } }
/* os pendentes, por lugar */
.dl-grupo + .dl-grupo { margin-top: 18px; }
.dl-grupo-nome { margin: 0 0 2px 4px; font-size: .8125rem; font-weight: 600; color: rgb(var(--ink-2)); }
/* o arrastar: o que se arrasta sobe; onde cai se acende; a linha mostra onde a parada entra */
.dl-item.arrastando, .dl-parada.arrastando { z-index: 40; opacity: .96; transition: none; pointer-events: none; box-shadow: 0 18px 40px -14px rgb(var(--sombra) / .5); background: rgb(var(--surface)); }
body.dl-arrastando { cursor: grabbing; -webkit-user-select: none; user-select: none; }
.dl-solta { display: none; margin: 12px 0 0; padding: 14px 16px; border: 1.5px dashed rgb(var(--ink) / .25); border-radius: 14px; text-align: center; font-size: .8125rem; line-height: 1.4; color: rgb(var(--ink-2)); }
.dl-saida:not(:has(.dl-paradas)) .dl-solta, #tela-agenda.dl-move-vai .dl-saida .dl-solta, #tela-agenda.dl-move-volta .dl-pendentes .dl-solta-volta { display: block; }
.dl-solta-volta { margin-top: 14px; }
[data-zona].dl-alvo .dl-solta { border-color: rgb(var(--info)); color: rgb(var(--info-fg)); background: rgb(var(--info-soft) / .5); }
.dl-parada.dl-junta { box-shadow: 0 0 0 2px rgb(var(--info) / .75); }
.dl-parada.alvo-antes::before, .dl-parada.alvo-depois::after { content: ""; position: absolute; left: 14px; right: 14px; height: 3px; border-radius: 3px; background: rgb(var(--info)); }
.dl-parada.alvo-antes::before { top: -8px; }
.dl-parada.alvo-depois::after { bottom: -8px; }
.dl-saida-pe { display: flex; justify-content: flex-end; margin-top: 16px; }
/* no celular, o que fazer e o nome do lugar descem para a segunda linha quando não cabem (cortados no meio da palavra, perdiam o sentido) */
@media (max-width: 719px) {
  .dl-oque, .dl-lugar { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; text-wrap: pretty; }
}
@media (max-width: 719px) { .dl-saida-pe .botao { flex: 1; justify-content: center; } }
/* o resumo do "i": o que fazer e procurar, o processo, o lugar com o Waze, até quando, com quem está, as notas e o histórico */
.dl-resumo { display: flex; flex-direction: column; gap: 16px; }
.dl-bloco { display: flex; flex-direction: column; gap: 2px; margin: 0; font-size: .90625rem; line-height: 1.45; }
.dl-resumo .resumo-proc, .dl-recorte { padding: 14px 16px; border-radius: 18px; background: rgb(var(--ink) / .045); }
.dl-recorte .aviso-linha { margin: 10px 0 0; }
.dl-onde { display: flex; align-items: center; gap: 12px; padding: 12px 12px 12px 16px; border-radius: 18px; background: rgb(var(--waze) / .08); border: 1px solid rgb(var(--waze) / .22); }
.dl-onde-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.dl-onde-txt b { font-size: .90625rem; line-height: 1.3; }
.dl-onde-txt small { font-size: .78125rem; line-height: 1.35; color: rgb(var(--ink-2)); }
.dl-waze-botao { flex: none; text-decoration: none; }
.dl-waze-botao .ic { color: rgb(var(--waze-tinta)); }
.dl-meta { margin: 0; font-size: .8125rem; line-height: 1.45; color: rgb(var(--ink-2)); }
.dl-passar { margin-left: auto; }
.dl-feita { display: flex; align-items: center; gap: 6px; margin: 0; font-size: .84375rem; font-weight: 600; color: rgb(var(--positive-fg)); }
.dl-anotar { display: flex; gap: 8px; align-items: center; }
.dl-anotar .campo { flex: 1; min-width: 0; }
.dl-notas ul, .dl-hist ul { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: .84375rem; line-height: 1.4; }
.dl-notas small, .dl-hist small { display: block; font-size: .75rem; color: rgb(var(--ink-3)); }
.dl-hist { padding-top: 12px; border-top: 1px solid rgb(var(--ink) / .08); }
.folha-dil .folha-pe { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.folha-dil .folha-pe .botao { justify-content: center; min-width: 0; }
.folha-dil .folha-pe .botao:last-child:nth-child(odd) { grid-column: 1 / -1; }
/* o aviso antes de compartilhar com quem não acessa o processo */
.dl-aviso-antes { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 14px 16px; border-radius: 16px; font-size: .875rem; font-weight: 500; line-height: 1.45; background: rgb(var(--warning-soft)); color: rgb(var(--warning-fg)); border: 1px solid rgb(var(--warning) / .3); }
.dl-aviso-antes .ic { flex: none; margin-top: 2px; }
/* encerrar: o feito, o que ficou e o texto para copiar */
.dl-encerrar { display: flex; flex-direction: column; gap: 18px; }
.dl-lista-curta { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.dl-lista-curta li { display: flex; flex-direction: column; min-width: 0; }
.dl-lista-curta .dl-oque { font-size: .875rem; }
.dl-texto-saida { margin: 6px 0 8px; padding: 12px 14px; max-height: 220px; overflow: auto; border-radius: 14px; background: rgb(var(--ink) / .045); white-space: pre-wrap; overflow-wrap: anywhere; font: 400 .8125rem/1.5 Inter, system-ui, sans-serif; color: rgb(var(--ink)); }
.dl-encerrar .botao.pequeno { align-self: flex-start; }
@media (prefers-reduced-motion: reduce) { .dl-item.recem { animation: none; } }
/* a linha de processo sem selo (sem data marcada, sem segredo e sem a pessoa; na demonstração, o p43, parado lá): o título fica na altura da seta */
.linha.mesa-proc:not(:has(.mesa-selos)) { align-items: center; }
/* ===================== parte L2: os cartões do Hoje ===================== */
/* a pilha com cinco folhas (os sócios, com o Dinheiro do mês): a quinta fica atrás de todas, recuada como as outras */
.h-folha[data-d="4"] { z-index: 0; transform: translateY(-128px) scale(.82); }
.h-folha[data-d="4"]::before { opacity: .78; }
@media (hover: hover) { .h-folha[data-d="4"]:hover { transform: translateY(-134px) scale(.82); } }
/* o Calendário: o mês com o nome no alto, as setas e o Hoje; a grade de segunda a domingo; os dias de fora do mês apagados; os pontos nas
   cores da Agenda; o dia escolhido embaixo */
.hc-cal { margin-top: 12px; }
.hc-cab { display: flex; align-items: center; gap: 2px; min-height: 44px; }
.hc-mes { flex: 1; min-width: 0; text-align: center; font-family: Montserrat, Inter, sans-serif; font-size: .9375rem; font-weight: 600; letter-spacing: -.01em; }
.hc-cab .hc-hoje { margin-left: 4px; }
.hc-grade { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; margin-top: 6px; }
.hc-grade .h-sem { padding-bottom: 2px; }
.hc-dia { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 44px; padding: 4px 0; border-radius: 12px; border: 1px solid transparent;
  background: rgb(var(--ink) / .045); transition: background-color var(--t-curto), transform var(--t-toque); }
.hc-dia:active { transform: scale(.94); }
.hc-dia b { font-family: Montserrat, Inter, sans-serif; font-weight: 300; font-size: 1rem; letter-spacing: -.02em; line-height: 1; font-variant-numeric: tabular-nums; }
.hc-dia.fds { background: transparent; border-color: rgb(var(--ink) / .07); }
.hc-dia.passou b { color: rgb(var(--ink-3)); }
.hc-dia.hoje { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); border-color: transparent; }
.hc-dia.hoje b { color: inherit; }
.hc-dia[aria-pressed="true"]:not(.hoje) { border-color: rgb(var(--ink) / .55); }
.hc-dia.fora { background: transparent; opacity: .32; }
.hc-pontos { display: flex; gap: 2px; height: 6px; }
.hc-pontos i { width: 5px; height: 5px; border-radius: 50%; background: rgb(var(--cor)); }
.hc-dia.hoje .hc-pontos i { box-shadow: 0 0 0 1px rgb(var(--pilula)); }
#h-cal.monta .hc-dia:not(.fora) { animation: h-monta var(--t-solta) var(--mola-solta) both; animation-delay: calc(var(--i) * 22ms); }
/* no celular, cada dia e as setas com 44 px: a grade entra um pouco no respiro do cartão */
@media (max-width: 719px) {
  .hc-grade { margin: 6px -14px 0; gap: 2px; }
  .hc-cab .botao.so-ic { width: 44px; min-width: 44px; height: 44px; }
  .hc-cab .hc-hoje { min-height: 44px; }
  .hc-mes { font-size: .875rem; }
}
.hc-dia-escolhido { margin-top: 12px; padding-top: 10px; border-top: 1px solid rgb(var(--ink) / .08); }
.hc-lista-t { margin: 0 0 4px; font-size: .8125rem; font-weight: 600; color: rgb(var(--ink-2)); }
.hc-dia-escolhido .h-dia-lista { padding-top: 0; }
.hc-dia-escolhido .h-dia-item { min-height: 36px; }
.hc-dia-escolhido .ponto-tipo { width: 8px; height: 8px; }
/* Diligências: a saída de hoje, a próxima parada com o Waze, as pedidas e quantas esperam saída */
.h-dil { display: flex; flex-direction: column; gap: 12px; }
.hdl-nome { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; font-size: .9375rem; }
.hdl-nome b { font-family: Montserrat, Inter, sans-serif; font-weight: 600; letter-spacing: -.01em; margin-right: 2px; }
.h-dil .dl-progresso { margin-top: 10px; }
.hdl-prox { display: flex; align-items: center; gap: 12px; margin-top: 12px; padding: 10px 10px 10px 14px; border-radius: 16px; background: rgb(var(--waze) / .08); border: 1px solid rgb(var(--waze) / .22); }
.hdl-prox-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.hdl-prox-txt small { font-size: .75rem; color: rgb(var(--ink-2)); }
.hdl-prox-txt b { font-size: .90625rem; line-height: 1.3; }
.hdl-prox-txt span { font-size: .78125rem; color: rgb(var(--ink-2)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hdl-tudo, .hdl-sem { margin: 0; }
.hdl-pedidas { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.hdl-pedidas .h-dia-item { min-height: 44px; }
.hdl-pedidas .h-dia-item span { display: flex; flex-direction: column; min-width: 0; }
.hdl-pedidas .h-dia-item b { font-size: .84375rem; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hdl-pedidas .h-dia-item small { font-size: .75rem; color: rgb(var(--ink-2)); }
.hdl-pe { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding-top: 10px; border-top: 1px solid rgb(var(--ink) / .08); }
.hdl-espera { display: inline-flex; align-items: baseline; gap: 6px; margin: 0; font-size: .875rem; color: rgb(var(--ink-2)); }
.hdl-espera .numeral { font-size: 1.75rem; line-height: 1.1; color: rgb(var(--ink)); }
.hdl-botoes { display: flex; gap: 8px; }
/* no celular, o Abrir e o Montar saída dividem a linha, metade cada um (o padrão do par de botões, 19/10) */
@media (max-width: 719px) { .hdl-pe { flex-direction: column; align-items: stretch; gap: 10px; } .hdl-botoes .botao { flex: 1 1 0; justify-content: center; } }
/* Dinheiro do mês: o esperado e o que entrou, a barra, o que falta, o faturado, as despesas, o resultado e a sua parte */
.h-dinheiro { display: flex; flex-direction: column; }
.hd-topo { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 36px; }
.hd-topo .h-rotulo { margin: 0; }
.hd-entrou { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 6px; margin: 2px 0 8px; }
.hd-entrou small { font-size: .875rem; color: rgb(var(--ink-2)); }
.hd-entrou .numeral { font-size: 2rem; line-height: 1.05; }
.hd-entrou .t-peq { margin-left: 2px; }
.hd-barra { display: block; height: 6px; border-radius: 999px; background: rgb(var(--ink) / .1); overflow: hidden; }
.hd-barra i { display: block; height: 100%; border-radius: inherit; background: rgb(var(--positive)); }
.hd-falta { margin: 8px 0 0; }
.hd-linhas { display: grid; gap: 6px; margin: 14px 0 0; padding-top: 12px; border-top: 1px solid rgb(var(--ink) / .08); }
.hd-linhas > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.hd-linhas dt { font-size: .8125rem; color: rgb(var(--ink-2)); }
.hd-linhas dd { margin: 0; font-size: .875rem; font-weight: 600; }
.hd-linhas dd.neg { color: rgb(var(--negative-fg)); }
.hd-parte { margin-top: 14px; padding: 12px 14px; border-radius: 16px; background: rgb(var(--positive) / .08); border: 1px solid rgb(var(--positive) / .2); }
.hd-parte .h-rotulo { margin: 0; }
.hd-parte-num { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; margin: 2px 0; }
.hd-parte-num b { font-family: Montserrat, Inter, sans-serif; font-size: 1.375rem; font-weight: 500; letter-spacing: -.02em; }
.hd-parte-num small { font-size: .78125rem; color: rgb(var(--ink-2)); }
.hd-parte .t-peq { margin: 0; }
.hd-conferir { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; font-size: .75rem; color: rgb(var(--ink-2)); }
@media (prefers-reduced-motion: reduce) { #h-cal.monta .hc-dia { animation: none; } }
/* ===================== parte L3: o lucro dividido ===================== */
/* a divisão do mês termina no Para os sócios, a soma das partes, numa linha embaixo da tabela */
.fm-para-socios { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: -2px 0 10px; padding: 0 6px; font-size: .8125rem; font-weight: 600; }
.fm-acerto-regra { margin: -2px 0 8px; color: rgb(var(--ink-2)); }
/* no computador, a divisão e o acerto moram na coluna estreita do Mês: a tabela compacta, como no celular (a parte L3 trouxe a parte
   de cada sócio em todas as despesas, com valores mais largos) */
@media (min-width: 960px) { .fin-mes .fm-tabela { font-size: .75rem; } .fin-mes .fm-tabela th, .fin-mes .fm-tabela td { padding: 7px 3px; } }
/* ===================== a marca do escritório e o papel timbrado (21/10) ===================== */
.marca { display: inline-flex; align-items: center; gap: 10px; color: rgb(var(--ink)); font-size: 0; line-height: 0; }
.marca svg, .banner-marca svg { display: block; flex: none; fill: currentColor; }
.marca-sinal { width: 32px; height: 34px; }
.marca-nome { width: 108px; height: 36px; }
svg.marca-logo { display: block; width: 210px; height: 160px; margin: 0 auto; fill: currentColor; }
.topo .marca-nome { display: none; }
.topo .marca-sinal { width: 28px; height: 30px; }
.banner-marca .marca-sinal { width: 22px; height: 24px; }
.doc:has(.timbre) { padding: 113px 57px 71px 85px; }
.doc .timbre { position: absolute; left: -85px; right: -57px; top: -113px; height: 100px; margin: 0; padding: 0; border: 0; background: #0f3d2e url(data:image/png;base64,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) no-repeat right 28px center / auto 82.5px; }
.doc .rodape.rodape-timbre { left: 85px; right: 57px; bottom: 20px; display: block; text-align: center; border-top: .75px solid #0f3d2e; padding-top: 5px; font-family: Arial, sans-serif; font-size: 8px; line-height: 1.45; }
.rodape-timbre span, .rodape-timbre b { display: block; font-weight: 400; }
.rodape-timbre span { color: #666; }
.rodape-timbre b { color: #0f3d2e; }
.rodape-timbre small { position: absolute; right: 0; bottom: 0; font-size: 7.5px; color: #888; }
/* a página que ainda não foi desenhada e a lista do que não entrou (S3) */
.doc.doc-pend .generico span { font-size: 14px; color: #6d7a73; }
.doc.doc-pend .generico .botao { margin-top: 6px; }
.miniatura .doc-pend .generico { padding: 12px; gap: 6px; }
.miniatura .doc-pend .generico svg { width: 28px; height: 28px; }
.miniatura .doc-pend .generico b { font-size: 11px; }
.miniatura .doc-pend .generico span, .miniatura .doc-pend .generico .botao { display: none; }
.entrada-erros { margin-bottom: 14px; }
.entrada-erros-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 10px; }
.entrada-erros-topo h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 1rem; }
.drive-resultado.sem-leitura { color: rgb(var(--ink) / .7); }
/* a sessão que voltou a pedir a entrada e a etapa do erro (S3D) */
#entrar-motivo { margin-bottom: 12px; }
body[data-tela="entrar"] #entrada-prog { display: none; }
.drive-etapa { font-size: 12px; margin: 2px 0 0; color: rgb(var(--ink) / .62); }
/* A confirmar em grupos por cliente sugerido (S3D) */
.conf-grupo { margin-top: 16px; }
.conf-grupo:first-of-type { margin-top: 6px; }
.conf-grupo-topo { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 6px; }
.conf-grupo-topo b { font-size: 1rem; }
.conf-grupo-topo .botao { margin-left: auto; }
/* o Excluir visível (S3E) */
.arq-card, .arq-linha, .guardar-linha { position: relative; }
.arq-excluir { position: absolute; z-index: 2; top: 4px; right: 4px; min-width: 40px; min-height: 40px; }
.arq-card-acoes { display: flex; justify-content: flex-end; margin-top: 2px; }
.arq-card .arq-excluir { position: static; }
.arq-linha.com-excluir, .guardar-linha.com-excluir { padding-right: 44px; }
.arq-linha .arq-excluir, .guardar-linha .arq-excluir { top: 50%; transform: translateY(-50%); right: 0; }
.guardar-linha .arq-excluir { top: 12px; transform: none; }
.arq-excluir .ic { width: 18px; height: 18px; }
.texto-confirma { margin: 0 0 6px; font-size: 1rem; line-height: 1.45; }
body.selecionando .guardar-linha:has([aria-pressed="true"]) { outline: 2px solid rgb(var(--primary)); outline-offset: 2px; border-radius: 12px; }
body.selecionando .arq-excluir { display: none; }
/* o cartão sem prévia (S3E) */
.doc-sem-previa .generico svg { opacity: .8; }
.doc-sem-previa .botao { margin-top: 8px; }
/* a prévia da reimportação (S3F) */
.imp-mudam li, .imp-saem li, .imp-ficam li { overflow-wrap: anywhere; }
.imp-conta { font-size: 12.5px; color: rgb(var(--ink) / .75); margin: 2px 0 8px; }
/* a Entrada recolhida (S3G) */
.lr { margin-bottom: 14px; }
.lr-topo { display: flex; align-items: center; justify-content: space-between; gap: 8px 10px; flex-wrap: wrap; }
.lr-topo h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 1rem; }
.lr-neg .lr-topo h2 .ic { color: rgb(var(--negative)); }
.lr-acoes { display: flex; flex-wrap: wrap; gap: 6px; }
.lr-motivos { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 4px; font-size: .875rem; line-height: 1.4; }
.lr-etapa { font-size: .75rem; color: rgb(var(--ink) / .62); }
.lr-lista { list-style: none; margin: 8px 0 0; padding: 0; }
.lr-lista.aberta { max-height: min(60vh, 440px); overflow-y: auto; overscroll-behavior: contain; border-radius: 8px; }
.lr-linha { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 2px 0; }
.lr-linha + .lr-linha { border-top: 1px solid rgb(var(--ink) / .07); }
.lr-lista.aberta .lr-linha { min-height: 34px; padding: 0; }
.lr-texto { flex: 1 1 auto; min-width: 0; display: flex; align-items: baseline; gap: 8px; overflow: hidden; white-space: nowrap; }
.lr-nome { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .875rem; font-weight: 600; text-align: left; }
button.lr-nome { color: inherit; }
.lr-sub { flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .75rem; color: rgb(var(--ink) / .7); }
.lr-meta { flex: none; font-size: .75rem; color: rgb(var(--ink) / .7); }
.lr-porta { flex: none; display: inline-flex; color: rgb(var(--ink) / .6); }
.lr-selo { flex: none; font-size: .6875rem; padding: 1px 8px; }
.lr-botoes { flex: none; display: inline-flex; gap: 2px; }
.lr-botoes:empty { display: none; }
.lr-linha .botao.so-ic, .lr-linha .arq-excluir { position: static; transform: none; width: 32px; min-width: 32px; height: 32px; min-height: 32px; }
.lr-linha .arq-excluir .ic { width: 16px; height: 16px; }
.lr-ver { margin-top: 6px; min-height: 36px; padding: 0 6px; font-size: .8125rem; font-weight: 600; color: rgb(var(--ink-2)); border-radius: 8px; }
@media (hover: hover) { .lr-ver:hover { background: rgb(var(--ink) / .06); } }
.lr-ver:focus-visible, .lr-lista.aberta:focus-visible { outline: 2px solid rgb(var(--ink)); outline-offset: 2px; }
@media (max-width: 479px) { .lr-quando { display: none; } }
body.selecionando .lr-linha:has([aria-pressed="true"]) { outline: 2px solid rgb(var(--primary)); outline-offset: 2px; border-radius: 8px; }
/* o cartão da leitura que some sozinho (S3G) */
.entrada-prog { transition: opacity .28s ease, transform .28s ease; }
.entrada-prog.saindo { opacity: 0; transform: translateY(10px) scale(.98); }
/* a janela do Hoje sem ponto (S3I) */
.janela-vazia { position: absolute; inset: 46px 16px 16px; display: grid; place-items: center; margin: 0; text-align: center; font-size: .875rem; color: rgb(var(--ink) / .72); }
/* o Mudar a pasta na linha do arquivo (S3I) */
.arq-linha.com-mudar { padding-right: 88px; }
.arq-linha .arq-mudar { position: absolute; z-index: 2; top: 50%; right: 44px; transform: translateY(-50%); min-width: 40px; min-height: 40px; }
.arq-linha.com-mudar:not(.com-excluir) .arq-mudar { right: 0; }
.arq-card-acoes .arq-mudar { min-width: 40px; min-height: 40px; }
.arq-mudar .ic { width: 18px; height: 18px; }
body.selecionando .arq-mudar { display: none; }
/* o cartão de espera e o "Sem prévia" na miniatura: do tamanho dela, legíveis, sem a escala da página de 595 px; o motivo aparece quando cabe (S3L) */
.miniatura > .doc.doc-pend { width: 100%; height: 100%; padding: 0; transform: none; container-type: size; }
.miniatura > .doc.doc-pend .generico { padding: 8cqw; gap: 4cqw; }
.miniatura > .doc.doc-pend .generico svg { width: 36cqw; height: 36cqw; }
.miniatura > .doc.doc-pend .generico b { font-size: clamp(8px, 13cqw, 15px); line-height: 1.2; }
@container (min-width: 120px) { .miniatura > .doc.doc-pend .generico span { display: block; font-size: clamp(8px, 8cqw, 12px); line-height: 1.3; } }
/* ===================== S4 (23/10): o cérebro vira rede ===================== */
/* o filtro do alto: Tudo, Pessoas, Processos e Arquivos, numa linha só (no celular, com rolagem para o lado quando não cabe) */
.c-filtros { display: flex; gap: 6px; flex: 1 0 100%; flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; padding: 2px; margin: -2px; }
.c-filtros::-webkit-scrollbar { display: none; }
.c-filtros .botao { flex: none; background: rgb(var(--surface) / .92); border: 1px solid rgb(var(--ink) / .14); }
.c-filtros .botao[aria-pressed="true"] { background: rgb(var(--pilula)); color: rgb(var(--pilula-tinta)); border-color: transparent; }
/* o que fica embaixo do alto (a resposta, o que chegou, o cartão, a lista e o aviso da ligação) desce a altura da linha do filtro */
.cerebro .c-resposta, .cerebro .c-chegou, .cerebro .c-lista { top: 112px; }
.cerebro .c-cartao { top: 112px; max-height: calc(100% - 184px); }
.c-ligar { position: absolute; left: 12px; right: 12px; top: 112px; margin: 0 auto; width: fit-content; max-width: min(560px, calc(100% - 24px)); z-index: 5;
  display: flex; align-items: center; gap: 10px; padding: 6px 6px 6px 14px; border-radius: 999px; font-size: .875rem; animation: brota var(--t-mola) var(--mola) both; }
.c-ligar p { display: flex; align-items: center; gap: 8px; }
.cerebro canvas.ligando { cursor: crosshair; }
/* enquanto se escolhe o outro ponto, o que chegou e a resposta saem da frente do aviso */
.cerebro.ligando-ativo .c-chegou, .cerebro.ligando-ativo .c-resposta { display: none; }
/* o cartão: as ligações, cada uma com o ponto e, embaixo, o que a ligação diz, o "i" da fonte e o desfazer */
.c-lig-titulo { margin: 14px 0 0; }
.c-cartao .ligacoes .lig-linha { display: flex; flex-direction: column; }
.c-cartao .ligacoes .lig-frases { display: flex; flex-direction: column; gap: 2px; padding: 0 8px 6px 36px; }
.c-cartao .ligacoes .lig-frase { display: flex; align-items: center; gap: 4px; font-size: .75rem; line-height: 1.35; color: rgb(var(--ink-2)); }
.lig-frase .lig-texto { flex: 1 1 auto; min-width: 0; }
.c-cartao .ligacoes .lig-frase .lig-x { flex: none; width: 32px; min-width: 32px; height: 32px; min-height: 32px; padding: 0; justify-content: center; border-radius: 50%; color: rgb(var(--ink-2)); }
.c-cartao .ligacoes .lig-frase .botao-i { flex: none; width: 24px; min-width: 24px; height: 24px; min-height: 24px; padding: 0; margin: 0 4px; justify-content: center; border-radius: 999px; }
.c-cartao .ligacoes .lig-fonte { font-size: .75rem; padding: 0 8px 6px 36px; color: rgb(var(--ink-2)); }
.lig-outro { display: none; }
.lig-outro.aberto { display: block; }
/* a legenda: o "Ocultar arquivos" direto, no alto, e as ligações em duas colunas */
.c-legenda .c-leg-arq[aria-pressed="false"] { opacity: 1; }
.c-legenda .c-leg-arq[aria-pressed="false"] span { text-decoration: none; }
.c-legenda .c-leg-arq { margin-bottom: 4px; box-shadow: inset 0 0 0 1px rgb(var(--ink) / .1); }
.c-legenda .linhas { grid-template-columns: 1fr 1fr; column-gap: 10px; }
/* a frase da janela do Hoje sem dados fica embaixo: o escritório e a equipe ocupam o meio */
.janela-mapa .janela-vazia { inset: auto 16px 12px; display: block; }
/* quem é da equipe, na ficha do cliente */
.eq-da-pessoa { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; font-size: .875rem; color: rgb(var(--ink-2)); }
.imp-s4 li { overflow-wrap: anywhere; }
@media (max-width: 959px) {
  .cerebro .c-cartao { top: auto; max-height: 40%; padding: 14px 16px; }
  .c-cartao .c-voltar-cel { margin: -4px 0 6px -8px; }
  .c-filtros { gap: 4px; }
  .c-filtros .botao { padding-left: 12px; padding-right: 12px; }
  .cerebro .c-resposta { top: auto; }
  .c-cartao .ligacoes .lig-frase .lig-x { width: 40px; min-width: 40px; height: 40px; min-height: 40px; }
}
/* a abertura que falhou, na entrada (S3K) */
#entrar-falha { margin-bottom: 12px; flex-wrap: wrap; align-items: center; }
