/* Teodora UI v3 · base visual e moldura do app (dono: MOLDURA).
   Carregada depois das folhas legadas. Contém: tokens --v3-*, máscaras dos ícones próprios (bloco gerado por
   qa/v3_icones.cjs a partir de static/v3-icons.js), a moldura (menu lateral no canvas, trilho, barra superior, folha
   branca, rodapé), os primitivos .v3-*, cabeçalho de página, avisos, toast, cartão da sincronização, menus, dica,
   paleta ⌘K, folha de atalhos e esqueletos; e a moldura de /configuracoes e /cadastro-perito.
   Regras: nada herdável em html/body/:root (só --v3-*, fundo, padding, margin, min-height); nenhum token legado
   redefinido; nada que pinte .state-chip ou .vara-marker (paleta docs/39); nada dentro da prévia do papel timbrado;
   fonte do sistema. Diálogos (dialog.record-dialog, .cell-editor, #connection-page) são da folha v3-dialogos.css.
   O lint tests/test_v3_css.py confere estas regras em todas as static/v3-*.css. */

/* ------------------------------------------------------------------ tokens */
:root {
  --v3-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  /* escala tipográfica (polimento r2): seis tamanhos e quatro pesos (400, 500, 600, 700) em todas as telas; fora dela só
     o logotipo, a tipografia de exibição da entrada, o número dos KPIs (22) e o texto editável das peças (14) */
  --v3-fs-xs: 11px;
  --v3-fs-sm: 12px;
  --v3-fs-md: 13px;
  --v3-fs-lg: 15px;
  --v3-fs-xl: 20px;
  --v3-fs-2xl: 26px;
  --v3-mono: ui-monospace, "SF Mono", Menlo, monospace;
  --v3-canvas: #f4f4f5;
  --v3-sheet: #ffffff;
  --v3-surface-2: #fafafa;
  --v3-surface-3: #f4f4f5;
  --v3-sunken: #ececef;
  --v3-side-hover: #e9e9ec;
  --v3-row-hover: #f7f7f8;
  --v3-row-selected: #fff6f0;
  --v3-line: #e4e4e7;
  --v3-line-soft: #efeff1;
  --v3-line-strong: #d4d4d8;
  --v3-text: #18181b;
  --v3-text-2: #3f3f46;
  --v3-muted: #52525b;
  --v3-subtle: #6b6b73;
  --v3-faint: #a1a1aa;
  --v3-on-dark: #fafafa;
  --v3-on-dark-2: #c4c4c8;
  --v3-brand: #ff4c00;
  --v3-brand-hover: #ff6a26;
  --v3-brand-text: #c63700;
  --v3-brand-soft: #fff3ec;
  --v3-brand-tint: #ffe5d6;
  --v3-brand-line: #ffd2bd;
  --v3-ink: #18181b;
  --v3-ink-hover: #2b2b30;
  --v3-lime: #f3fe97;
  --v3-mint: #acffc5;
  --v3-warn-bg: #fff4dc;
  --v3-warn-fg: #7a5212;
  --v3-warn-line: #f3dfae;
  --v3-warn-icon: #b7791f;
  --v3-danger-bg: #fdeeee;
  --v3-danger-fg: #9b2c2c;
  --v3-danger-line: #f3caca;
  --v3-danger-icon: #c53030;
  --v3-ok-bg: #e7f6ec;
  --v3-ok-fg: #1f6b43;
  --v3-ok-line: #c4e8d1;
  --v3-ok-icon: #1f9d55;
  --v3-info-bg: #f1f1f3;
  --v3-info-fg: #52525b;
  --v3-info-line: #e4e4e7;
  --v3-info-icon: #71717a;
  --v3-r-xs: 4px;
  --v3-r-sm: 6px;
  --v3-r-md: 8px;
  --v3-r-lg: 12px;
  --v3-r-xl: 14px;
  --v3-r-2xl: 16px;
  --v3-r-pill: 999px;
  --v3-sh-ring: 0 0 0 1px rgb(24 24 27 / .07);
  --v3-sh-1: 0 0 0 1px rgb(24 24 27 / .07), 0 1px 2px rgb(24 24 27 / .05);
  --v3-sh-sheet: 0 0 0 1px rgb(24 24 27 / .05), 0 1px 2px rgb(24 24 27 / .04), 0 12px 32px -20px rgb(24 24 27 / .18);
  --v3-sh-pop: 0 0 0 1px rgb(24 24 27 / .08), 0 2px 6px rgb(24 24 27 / .05), 0 12px 28px -8px rgb(24 24 27 / .18);
  --v3-sh-overlay: 0 0 0 1px rgb(24 24 27 / .08), 0 4px 12px rgb(24 24 27 / .06), 0 28px 72px -16px rgb(24 24 27 / .34);
  --v3-sh-btn-ink: inset 0 1px 0 rgb(255 255 255 / .12), 0 1px 2px rgb(24 24 27 / .3);
  --v3-sh-btn-brand: inset 0 1px 0 rgb(255 255 255 / .25), 0 1px 2px rgb(198 55 0 / .35);
  --v3-focus: 0 0 0 3px rgb(255 76 0 / .20);
  /* seleção (cartão, chip ou linha escolhidos): sempre o mesmo desenho; laranja fica só para foco e marca */
  --v3-selected-ring: inset 0 0 0 1.5px var(--v3-ink);
  --v3-selected-bg: var(--v3-surface-2);
  --v3-open-bg: var(--v3-surface-3);
  --v3-s-1: 4px;
  --v3-s-2: 6px;
  --v3-s-3: 8px;
  --v3-s-4: 12px;
  --v3-s-5: 16px;
  --v3-s-6: 20px;
  --v3-s-7: 24px;
  --v3-s-8: 32px;
  --v3-s-10: 40px;
  --v3-dur-1: 120ms;
  --v3-dur-2: 180ms;
  --v3-dur-3: 240ms;
  --v3-ease: cubic-bezier(.2, 0, 0, 1);
  --v3-ease-out: cubic-bezier(.16, 1, .3, 1);
  --v3-side-w: 244px;
  --v3-bar-h: 60px;
  --v3-sheet-pad: 28px;
  --v3-gap: 8px;
  --v3-drawer-w: 400px;
  --v3-props-w: 320px;
  --v3-pdf-w: clamp(420px, 42vw, 760px);
}
@media (max-width: 1439px) {
  :root { --v3-sheet-pad: 20px; }
}
@media (max-width: 1359px) {
  :root { --v3-drawer-w: 360px; --v3-props-w: 296px; }
}

/* ------------------------------------------------------------------ ícones (máscaras) */
/* v3-icones:inicio */
:root{
--v3-icon-grid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='6.5' height='6.5' rx='1.6'/%3E%3Crect x='13.5' y='4' width='6.5' height='6.5' rx='1.6'/%3E%3Crect x='4' y='13.5' width='6.5' height='6.5' rx='1.6'/%3E%3Crect x='13.5' y='13.5' width='6.5' height='6.5' rx='1.6'/%3E%3C/svg%3E");
--v3-icon-idcard:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2.5'/%3E%3Ccircle cx='9' cy='11' r='2.1'/%3E%3Cpath d='M5.9 16.2c.6-1.5 1.7-2.3 3.1-2.3s2.5.8 3.1 2.3M14.5 10h4M14.5 13.5h3'/%3E%3C/svg%3E");
--v3-icon-sliders:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h9M17 7h3M4 17h3M11 17h9'/%3E%3Ccircle cx='15' cy='7' r='2'/%3E%3Ccircle cx='9' cy='17' r='2'/%3E%3C/svg%3E");
--v3-icon-logout:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 4H6.5A2.5 2.5 0 0 0 4 6.5v11A2.5 2.5 0 0 0 6.5 20H10M15 8l4 4-4 4M19 12H9.5'/%3E%3C/svg%3E");
--v3-icon-refresh:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19.5 10.5A7.5 7.5 0 0 0 6.2 7L4.5 8.7M4.5 4.5v4.2h4.2M4.5 13.5A7.5 7.5 0 0 0 17.8 17l1.7-1.7M19.5 19.5v-4.2h-4.2'/%3E%3C/svg%3E");
--v3-icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m20 20-4.2-4.2'/%3E%3C/svg%3E");
--v3-icon-panel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='15' rx='2.5'/%3E%3Cpath d='M9.5 4.5v15'/%3E%3C/svg%3E");
--v3-icon-chevronR:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9.5 6 6 6-6 6'/%3E%3C/svg%3E");
--v3-icon-chevronL:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14.5 6-6 6 6 6'/%3E%3C/svg%3E");
--v3-icon-chevronD:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9.5 6 6 6-6'/%3E%3C/svg%3E");
--v3-icon-chevronU:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 14.5 6-6 6 6'/%3E%3C/svg%3E");
--v3-icon-chevronsUD:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 9.5 4-4 4 4M8 14.5l4 4 4-4'/%3E%3C/svg%3E");
--v3-icon-briefcase:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='7' width='17' height='12.5' rx='2.2'/%3E%3Cpath d='M9 7V5.6A1.6 1.6 0 0 1 10.6 4h2.8A1.6 1.6 0 0 1 15 5.6V7M3.5 12.5h17M10.5 12.5v1.5h3v-1.5'/%3E%3C/svg%3E");
--v3-icon-calendar:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='2.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4M8 14h2M14 14h2M8 17h2'/%3E%3C/svg%3E");
--v3-icon-clipboard:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4.5' width='14' height='16' rx='2.2'/%3E%3Cpath d='M9 4.5V3.6h6v.9M8.8 10.5h6.4M8.8 14h6.4M8.8 17.5h3.6'/%3E%3C/svg%3E");
--v3-icon-scale:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v16M8 20h8M5.5 7.5h13'/%3E%3Cpath d='M5.5 7.5 3 13.5a2.7 2.7 0 0 0 5 0L5.5 7.5zM18.5 7.5 16 13.5a2.7 2.7 0 0 0 5 0l-2.5-6z'/%3E%3C/svg%3E");
--v3-icon-wallet:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='13.5' rx='2.5'/%3E%3Cpath d='M3 10.5h18M15.5 15h2.5M6.5 3.5h11'/%3E%3C/svg%3E");
--v3-icon-inbox:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 13.5 6.2 5.5h11.6l2.7 8V18a2 2 0 0 1-2 2h-13a2 2 0 0 1-2-2v-4.5z'/%3E%3Cpath d='M3.5 13.5H8.2l1.5 2.4h4.6l1.5-2.4h4.7'/%3E%3C/svg%3E");
--v3-icon-banknote:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='6' width='19' height='12' rx='2.2'/%3E%3Ccircle cx='12' cy='12' r='2.6'/%3E%3Cpath d='M6.2 9.6v.01M17.8 14.4v.01'/%3E%3C/svg%3E");
--v3-icon-landmark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 9.2 12 4.5l8.5 4.7M5.5 10v7M9.8 10v7M14.2 10v7M18.5 10v7M3.5 20h17'/%3E%3C/svg%3E");
--v3-icon-file:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3.5H7.2A2.2 2.2 0 0 0 5 5.7v12.6a2.2 2.2 0 0 0 2.2 2.2h9.6a2.2 2.2 0 0 0 2.2-2.2V8.5L14 3.5z'/%3E%3Cpath d='M14 3.5v5h5'/%3E%3C/svg%3E");
--v3-icon-fileText:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3.5H7.2A2.2 2.2 0 0 0 5 5.7v12.6a2.2 2.2 0 0 0 2.2 2.2h9.6a2.2 2.2 0 0 0 2.2-2.2V8.5L14 3.5z'/%3E%3Cpath d='M14 3.5v5h5M8.8 12.5h6.4M8.8 15.5h6.4M8.8 18.5h3.6'/%3E%3C/svg%3E");
--v3-icon-movement:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3Cpath d='M3.5 12h5.3M15.2 12h5.3'/%3E%3C/svg%3E");
--v3-icon-eye:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.6 12s3.4-6.3 9.4-6.3 9.4 6.3 9.4 6.3-3.4 6.3-9.4 6.3S2.6 12 2.6 12z'/%3E%3Ccircle cx='12' cy='12' r='2.7'/%3E%3C/svg%3E");
--v3-icon-download:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4v10.5M7.6 10.4 12 14.8l4.4-4.4M5 19.5h14'/%3E%3C/svg%3E");
--v3-icon-pen:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 19.5h4l10-10a2.1 2.1 0 0 0-3-3l-10 10v3z'/%3E%3Cpath d='m14 8 3 3'/%3E%3C/svg%3E");
--v3-icon-quote:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 17.5c2.6-.6 4-2.4 4-5.2V7.5H5v4.5h3M14 17.5c2.6-.6 4-2.4 4-5.2V7.5h-4v4.5h3'/%3E%3C/svg%3E");
--v3-icon-x:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E");
--v3-icon-plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5.5v13M5.5 12h13'/%3E%3C/svg%3E");
--v3-icon-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12h13'/%3E%3C/svg%3E");
--v3-icon-alert:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.6 4.8 3 18.2A1.6 1.6 0 0 0 4.4 20.6h15.2a1.6 1.6 0 0 0 1.4-2.4L13.4 4.8a1.6 1.6 0 0 0-2.8 0z'/%3E%3Cpath d='M12 10v4M12 17.2v.01'/%3E%3C/svg%3E");
--v3-icon-error:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.8v4.8M12 16v.01'/%3E%3C/svg%3E");
--v3-icon-info:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 11v5M12 8v.01'/%3E%3C/svg%3E");
--v3-icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 12.5 4.2 4.2 8.8-9.2'/%3E%3C/svg%3E");
--v3-icon-checkCircle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='m8.4 12.2 2.5 2.5 4.8-5'/%3E%3C/svg%3E");
--v3-icon-history:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.8 12a8.2 8.2 0 1 0 2.4-5.8L4 8.4'/%3E%3Cpath d='M4 4.2v4.2h4.2M12 8v4.3l2.9 1.8'/%3E%3C/svg%3E");
--v3-icon-clock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E");
--v3-icon-lock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10.5' width='14' height='10' rx='2.2'/%3E%3Cpath d='M8.2 10.5V8a3.8 3.8 0 0 1 7.6 0v2.5M12 14.5v2'/%3E%3C/svg%3E");
--v3-icon-user:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8.5' r='3.6'/%3E%3Cpath d='M5 20c.9-3.6 3.6-5.6 7-5.6s6.1 2 7 5.6'/%3E%3C/svg%3E");
--v3-icon-users:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8.5' r='3.2'/%3E%3Cpath d='M3.5 19c.7-3 2.8-4.8 5.5-4.8s4.8 1.8 5.5 4.8M15.5 5.6a3.2 3.2 0 0 1 0 5.8M17.5 14.6c1.6.6 2.6 2.1 3 4.4'/%3E%3C/svg%3E");
--v3-icon-building:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3.5' width='14' height='17' rx='2'/%3E%3Cpath d='M9 7.5h.01M12 7.5h.01M15 7.5h.01M9 11h.01M12 11h.01M15 11h.01M9 14.5h.01M15 14.5h.01M10.5 20.5V17h3v3.5'/%3E%3C/svg%3E");
--v3-icon-mapPin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0c0 5.4-6.5 11-6.5 11z'/%3E%3Ccircle cx='12' cy='10' r='2.4'/%3E%3C/svg%3E");
--v3-icon-copy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8.5' y='8.5' width='11' height='11' rx='2.2'/%3E%3Cpath d='M15.5 8.5V6.2A1.7 1.7 0 0 0 13.8 4.5H6.2a1.7 1.7 0 0 0-1.7 1.7v7.6a1.7 1.7 0 0 0 1.7 1.7h2.3'/%3E%3C/svg%3E");
--v3-icon-clip:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19.5 11.4-7.4 7.4a4.7 4.7 0 0 1-6.6-6.6l7.9-7.9a3.1 3.1 0 0 1 4.4 4.4l-7.8 7.8a1.55 1.55 0 0 1-2.2-2.2l7-7'/%3E%3C/svg%3E");
--v3-icon-plug:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3.5v4.5M15 3.5v4.5M6.5 8h11v3.3a5.5 5.5 0 0 1-11 0V8zM12 16.8v3.7'/%3E%3C/svg%3E");
--v3-icon-shield:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5 5 6.2v5.4c0 4.4 2.9 7.6 7 8.9 4.1-1.3 7-4.5 7-8.9V6.2l-7-2.7z'/%3E%3Cpath d='m9.2 12 2 2 3.6-3.8'/%3E%3C/svg%3E");
--v3-icon-folder:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 7.2a2 2 0 0 1 2-2h3.8l2 2.3h7.2a2 2 0 0 1 2 2V17a2 2 0 0 1-2 2h-13a2 2 0 0 1-2-2V7.2z'/%3E%3C/svg%3E");
--v3-icon-list:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6.5h11M9 12h11M9 17.5h11M4.5 6.5v.01M4.5 12v.01M4.5 17.5v.01'/%3E%3C/svg%3E");
--v3-icon-layout:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='15' rx='2.5'/%3E%3Cpath d='M3.5 10h17M10 10v9.5'/%3E%3C/svg%3E");
--v3-icon-columns:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='4.5' width='17' height='15' rx='2.5'/%3E%3Cpath d='M9.2 4.5v15M14.8 4.5v15'/%3E%3C/svg%3E");
--v3-icon-filter:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5h16l-6.2 7.3v5.4l-3.6 1.8v-7.2L4 5.5z'/%3E%3C/svg%3E");
--v3-icon-menu:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E");
--v3-icon-more:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5.5' cy='12' r='.6'/%3E%3Ccircle cx='12' cy='12' r='.6'/%3E%3Ccircle cx='18.5' cy='12' r='.6'/%3E%3C/svg%3E");
--v3-icon-bookmark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 4.5h11v15.5L12 16.2 6.5 20V4.5z'/%3E%3C/svg%3E");
--v3-icon-dot:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
--v3-icon-keyboard:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='12' rx='2.2'/%3E%3Cpath d='M7 10h.01M10 10h.01M13 10h.01M16 10h.01M7.5 14h9'/%3E%3C/svg%3E");
--v3-icon-command:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6.5a2.5 2.5 0 1 0-2.5 2.5H17.5A2.5 2.5 0 1 0 15 6.5v11a2.5 2.5 0 1 0 2.5-2.5h-11A2.5 2.5 0 1 0 9 17.5v-11z'/%3E%3C/svg%3E");
--v3-icon-layers:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 4 8.5 4.3L12 12.6 3.5 8.3 12 4z'/%3E%3Cpath d='m3.5 12.2 8.5 4.3 8.5-4.3M3.5 16l8.5 4.3 8.5-4.3'/%3E%3C/svg%3E");
--v3-icon-external:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4.5h5.5V10M19.5 4.5 11 13M17 14v4.2a1.8 1.8 0 0 1-1.8 1.8H6.3a1.8 1.8 0 0 1-1.8-1.8V8.8A1.8 1.8 0 0 1 6.3 7H10'/%3E%3C/svg%3E");
--v3-icon-arrowL:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5.5M10.5 6.5 5 12l5.5 5.5'/%3E%3C/svg%3E");
--v3-icon-arrowR:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h13.5M13.5 6.5 19 12l-5.5 5.5'/%3E%3C/svg%3E");
--v3-icon-arrowU:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 19V5.5M6.5 10.5 12 5l5.5 5.5'/%3E%3C/svg%3E");
--v3-icon-arrowD:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v13.5M6.5 13.5 12 19l5.5-5.5'/%3E%3C/svg%3E");
--v3-icon-arrowUD:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 19V5.5M4.5 9 8 5.5 11.5 9M16 5v13.5M12.5 15l3.5 3.5 3.5-3.5'/%3E%3C/svg%3E");
--v3-icon-eyeOff:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.2 5.9A9.6 9.6 0 0 1 12 5.7c6 0 9.4 6.3 9.4 6.3a16.4 16.4 0 0 1-2.6 3.4M6.4 7.6C3.9 9.3 2.6 12 2.6 12s3.4 6.3 9.4 6.3a9 9 0 0 0 4.3-1.1M4 4l16 16M10.1 10.2a2.7 2.7 0 0 0 3.7 3.7'/%3E%3C/svg%3E");
--v3-icon-spinner:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5a8.5 8.5 0 1 0 8.5 8.5'/%3E%3C/svg%3E");
--v3-icon-mail:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2.5'/%3E%3Cpath d='m4 7.5 8 5.5 8-5.5'/%3E%3C/svg%3E");
--v3-icon-phone:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='3.5' width='10' height='17' rx='2.5'/%3E%3Cpath d='M11 17h2'/%3E%3C/svg%3E");
--v3-icon-monitor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='12' rx='2.2'/%3E%3Cpath d='M9 20h6M12 16.5V20'/%3E%3C/svg%3E");
--v3-icon-selecao:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 4.5h1.2c1 0 1.8.8 1.8 1.8v11.4c0 1-.8 1.8-1.8 1.8H9M15 4.5h-1.2c-1 0-1.8.8-1.8 1.8v11.4c0 1 .8 1.8 1.8 1.8H15'/%3E%3Cpath d='M4.5 9v6M19.5 9v6'/%3E%3C/svg%3E");
}
.v3-i-grid{--v3-icon:var(--v3-icon-grid)}
.v3-i-idcard{--v3-icon:var(--v3-icon-idcard)}
.v3-i-sliders{--v3-icon:var(--v3-icon-sliders)}
.v3-i-logout{--v3-icon:var(--v3-icon-logout)}
.v3-i-refresh{--v3-icon:var(--v3-icon-refresh)}
.v3-i-search{--v3-icon:var(--v3-icon-search)}
.v3-i-panel{--v3-icon:var(--v3-icon-panel)}
.v3-i-chevronR{--v3-icon:var(--v3-icon-chevronR)}
.v3-i-chevronL{--v3-icon:var(--v3-icon-chevronL)}
.v3-i-chevronD{--v3-icon:var(--v3-icon-chevronD)}
.v3-i-chevronU{--v3-icon:var(--v3-icon-chevronU)}
.v3-i-chevronsUD{--v3-icon:var(--v3-icon-chevronsUD)}
.v3-i-briefcase{--v3-icon:var(--v3-icon-briefcase)}
.v3-i-calendar{--v3-icon:var(--v3-icon-calendar)}
.v3-i-clipboard{--v3-icon:var(--v3-icon-clipboard)}
.v3-i-scale{--v3-icon:var(--v3-icon-scale)}
.v3-i-wallet{--v3-icon:var(--v3-icon-wallet)}
.v3-i-inbox{--v3-icon:var(--v3-icon-inbox)}
.v3-i-banknote{--v3-icon:var(--v3-icon-banknote)}
.v3-i-landmark{--v3-icon:var(--v3-icon-landmark)}
.v3-i-file{--v3-icon:var(--v3-icon-file)}
.v3-i-fileText{--v3-icon:var(--v3-icon-fileText)}
.v3-i-movement{--v3-icon:var(--v3-icon-movement)}
.v3-i-eye{--v3-icon:var(--v3-icon-eye)}
.v3-i-download{--v3-icon:var(--v3-icon-download)}
.v3-i-pen{--v3-icon:var(--v3-icon-pen)}
.v3-i-quote{--v3-icon:var(--v3-icon-quote)}
.v3-i-x{--v3-icon:var(--v3-icon-x)}
.v3-i-plus{--v3-icon:var(--v3-icon-plus)}
.v3-i-minus{--v3-icon:var(--v3-icon-minus)}
.v3-i-alert{--v3-icon:var(--v3-icon-alert)}
.v3-i-error{--v3-icon:var(--v3-icon-error)}
.v3-i-info{--v3-icon:var(--v3-icon-info)}
.v3-i-check{--v3-icon:var(--v3-icon-check)}
.v3-i-checkCircle{--v3-icon:var(--v3-icon-checkCircle)}
.v3-i-history{--v3-icon:var(--v3-icon-history)}
.v3-i-clock{--v3-icon:var(--v3-icon-clock)}
.v3-i-lock{--v3-icon:var(--v3-icon-lock)}
.v3-i-user{--v3-icon:var(--v3-icon-user)}
.v3-i-users{--v3-icon:var(--v3-icon-users)}
.v3-i-building{--v3-icon:var(--v3-icon-building)}
.v3-i-mapPin{--v3-icon:var(--v3-icon-mapPin)}
.v3-i-copy{--v3-icon:var(--v3-icon-copy)}
.v3-i-clip{--v3-icon:var(--v3-icon-clip)}
.v3-i-plug{--v3-icon:var(--v3-icon-plug)}
.v3-i-shield{--v3-icon:var(--v3-icon-shield)}
.v3-i-folder{--v3-icon:var(--v3-icon-folder)}
.v3-i-list{--v3-icon:var(--v3-icon-list)}
.v3-i-layout{--v3-icon:var(--v3-icon-layout)}
.v3-i-columns{--v3-icon:var(--v3-icon-columns)}
.v3-i-filter{--v3-icon:var(--v3-icon-filter)}
.v3-i-menu{--v3-icon:var(--v3-icon-menu)}
.v3-i-more{--v3-icon:var(--v3-icon-more)}
.v3-i-bookmark{--v3-icon:var(--v3-icon-bookmark)}
.v3-i-dot{--v3-icon:var(--v3-icon-dot)}
.v3-i-keyboard{--v3-icon:var(--v3-icon-keyboard)}
.v3-i-command{--v3-icon:var(--v3-icon-command)}
.v3-i-layers{--v3-icon:var(--v3-icon-layers)}
.v3-i-external{--v3-icon:var(--v3-icon-external)}
.v3-i-arrowL{--v3-icon:var(--v3-icon-arrowL)}
.v3-i-arrowR{--v3-icon:var(--v3-icon-arrowR)}
.v3-i-arrowU{--v3-icon:var(--v3-icon-arrowU)}
.v3-i-arrowD{--v3-icon:var(--v3-icon-arrowD)}
.v3-i-arrowUD{--v3-icon:var(--v3-icon-arrowUD)}
.v3-i-eyeOff{--v3-icon:var(--v3-icon-eyeOff)}
.v3-i-spinner{--v3-icon:var(--v3-icon-spinner)}
.v3-i-mail{--v3-icon:var(--v3-icon-mail)}
.v3-i-phone{--v3-icon:var(--v3-icon-phone)}
.v3-i-monitor{--v3-icon:var(--v3-icon-monitor)}
.v3-i-selecao{--v3-icon:var(--v3-icon-selecao)}
/* v3-icones:fim */
.v3-i {
  display: inline-block;
  flex: none;
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: var(--v3-icon) center / contain no-repeat;
  mask: var(--v3-icon) center / contain no-repeat;
}
.v3-ico-before::before {
  content: "";
  display: inline-block;
  flex: none;
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: var(--v3-icon) center / contain no-repeat;
  mask: var(--v3-icon) center / contain no-repeat;
}
.v3-i.v3-i-spinner { animation: v3-spin .8s linear infinite; }
@keyframes v3-spin { to { transform: rotate(360deg); } }
.v3-sr {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

/* ------------------------------------------------------------------ moldura: corpo e contêineres */
body.v3.v3-shell {
  padding-left: var(--v3-side-w);
  background: var(--v3-canvas);
  min-height: 100vh;
}
body.v3-shell.v3-rail { --v3-side-w: 64px; }
body.v3-shell.v3-snug { --v3-sheet-pad: 12px; }
body.v3-shell.page-perito { background: var(--v3-canvas) !important; }

body.v3-shell .app-sidebar,
body.v3-shell > header.v3-topbar,
body.v3-shell #workspace-page,
.v3-menu, .v3-palette, .v3-keys, .v3-tip, .v3-toast {
  font-family: var(--v3-font);
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}
body.v3-shell .app-sidebar, body.v3-shell .app-sidebar *, body.v3-shell .app-sidebar *::before, body.v3-shell .app-sidebar *::after,
body.v3-shell > header.v3-topbar, body.v3-shell > header.v3-topbar *, body.v3-shell > header.v3-topbar *::before,
.v3-menu, .v3-menu *, .v3-palette, .v3-palette *, .v3-keys, .v3-keys *, .v3-scrim, .v3-tip, .v3-toast, .v3-toast *,
body.v3-shell #workspace-page, body.v3-shell #workspace-page .v3-skel-page * {
  box-sizing: border-box;
}
body.v3-shell .app-sidebar :is(a, button):focus-visible,
body.v3-shell > header.v3-topbar :is(a, button):focus-visible,
.v3-menu :is(a, button):focus-visible, .v3-palette :is(button, [role=option]):focus-visible, .v3-keys button:focus-visible {
  outline: 2px solid var(--v3-brand);
  outline-offset: 2px;
}

/* ------------------------------------------------------------------ menu lateral */
body.v3-shell .app-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 40;
  display: flex;
  flex-direction: column;
  width: var(--v3-side-w);
  height: auto;
  padding: 0 12px 12px;
  margin: 0;
  background: var(--v3-canvas);
  border: 0;
  box-shadow: none;
  color: var(--v3-text-2);
  font-size: 13px;
  line-height: 1.4;
  overflow: visible;
  transition: width var(--v3-dur-2) var(--v3-ease);
}
body.v3-shell .app-sidebar .v3-side-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  height: var(--v3-bar-h);
  padding: 0 0 0 6px;
  flex: none;
}
body.v3-shell .app-sidebar .brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  height: 36px;
  margin: 0;
  padding: 0 6px 0 0;
  border: 0;
  border-radius: var(--v3-r-md);
  background: none;
  box-shadow: none;
  color: var(--v3-text);
  font: 700 17px/1 var(--v3-font);
  letter-spacing: -.02em;
  text-decoration: none;
}
body.v3-shell .app-sidebar .brand-mark {
  display: grid;
  place-items: center;
  flex: none;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: var(--v3-brand);
  box-shadow: var(--v3-sh-btn-brand);
  color: var(--v3-ink);
  font: 750 18px/1 var(--v3-font);
  letter-spacing: -.02em;
}
body.v3-shell .app-sidebar .v3-side-label,
body.v3-shell .app-sidebar .view-group.v3-side-label {
  display: block;
  margin: 14px 0 6px;
  padding: 0 10px;
  color: var(--v3-subtle);
  font: 600 11px/14px var(--v3-font);
  letter-spacing: .06em;
  text-transform: uppercase;
}
body.v3-shell .app-sidebar .v3-side-nav { display: flex; flex-direction: column; gap: 2px; flex: none; margin: 4px 0 0; padding: 6px 0 0; border-top: 1px solid var(--v3-line); }
body.v3-shell .app-sidebar .v3-side-nav > .v3-side-label { margin-top: 6px; }
body.v3-shell .app-sidebar .v3-side-nav a {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 32px;
  min-height: 0;
  padding: 0 10px;
  border-radius: var(--v3-r-md);
  background: transparent;
  color: var(--v3-text-2);
  font: 500 13px/1 var(--v3-font);
  text-decoration: none;
}
body.v3-shell .app-sidebar .v3-side-nav a .v3-i { color: var(--v3-muted); }
body.v3-shell .app-sidebar .v3-side-nav a:hover { background: var(--v3-side-hover); color: var(--v3-text-2); }
body.v3-shell .app-sidebar .v3-side-nav a.active {
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-1);
  color: var(--v3-text);
  font-weight: 600;
}
body.v3-shell .app-sidebar .v3-side-nav a.active .v3-i { color: var(--v3-brand); }
body.v3-shell .app-sidebar .v3-label { min-width: 0; overflow: hidden; line-height: 18px; text-overflow: ellipsis; white-space: nowrap; }

/* visões da carteira (portfolio-view.js no "/", v3-nav.js fora dele) */
body.v3-shell #portfolio-navigation {
  flex: 1 1 auto;
  min-height: 0;
  margin: 0 -12px;
  padding: 0 12px 12px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--v3-line-strong) transparent;
}
body.v3-shell .app-sidebar .portfolio-views { display: block; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; position: static; }
body.v3-shell .app-sidebar .portfolio-views > h2,
body.v3-shell .app-sidebar .portfolio-views > .views-note { display: none; }
body.v3-shell .app-sidebar .v3-view-group { margin: 0 0 2px; }
body.v3-shell .app-sidebar .view-group:not(.v3-side-label) { margin: 0; padding: 0; font: inherit; letter-spacing: 0; text-transform: none; color: inherit; }
body.v3-shell .app-sidebar .v3-group-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 32px;
  min-height: 0;
  margin: 0;
  padding: 0 8px 0 10px;
  border: 0;
  border-radius: var(--v3-r-md);
  background: transparent;
  color: var(--v3-text-2);
  font: 500 13px/1 var(--v3-font);
  text-align: left;
  cursor: pointer;
}
body.v3-shell .app-sidebar .v3-group-toggle:hover { background: var(--v3-side-hover); }
body.v3-shell .app-sidebar .v3-group-toggle > .v3-i:first-child { color: var(--v3-muted); }
body.v3-shell .app-sidebar .v3-group-name { flex: 1 1 auto; min-width: 0; overflow: hidden; line-height: 18px; text-overflow: ellipsis; white-space: nowrap; }
body.v3-shell .app-sidebar .v3-group-chevron { width: 14px; height: 14px; color: var(--v3-faint); transition: transform var(--v3-dur-2) var(--v3-ease); }
body.v3-shell .app-sidebar .is-collapsed .v3-group-chevron { transform: rotate(-90deg); }
body.v3-shell .app-sidebar .v3-view-group:not(.is-collapsed) .v3-group-toggle .v3-group-sum { display: none; }
body.v3-shell .app-sidebar .has-active > .view-group .v3-group-toggle { color: var(--v3-text); font-weight: 600; }
body.v3-shell .app-sidebar .has-active > .view-group .v3-group-toggle > .v3-i:first-child { color: var(--v3-text); }
body.v3-shell .app-sidebar .v3-view-items {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1px;
  margin: 1px 0 6px;
  padding: 0 0 0 22px;
}
body.v3-shell .app-sidebar .v3-view-group:not(.is-single) > .v3-view-items::before {
  content: "";
  position: absolute;
  top: 3px;
  bottom: 3px;
  left: 17px;
  width: 1px;
  background: var(--v3-line-strong);
}
body.v3-shell .app-sidebar .is-single > .v3-view-items { padding: 0; margin: 0 0 4px; }
body.v3-shell .app-sidebar .is-collapsed .view-button:not([aria-pressed=true]) { display: none; }
body.v3-shell .app-sidebar .is-collapsed > .v3-view-items { margin: 0; }
body.v3-shell .app-sidebar .view-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  height: 30px;
  min-height: 0;
  margin: 0;
  padding: 0 4px 0 10px;
  border: 0;
  border-radius: var(--v3-r-md);
  background: transparent;
  color: var(--v3-text-2);
  font: 400 13px/1 var(--v3-font);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
/* line-height de 18 px no texto cortado com "…": com o 1 do botão, o overflow cortava o pé do j, do p e do ç */
body.v3-shell .app-sidebar .view-button > span:first-child { min-width: 0; overflow: hidden; line-height: 18px; text-overflow: ellipsis; white-space: nowrap; }
body.v3-shell .app-sidebar .view-button:hover { background: var(--v3-side-hover); color: var(--v3-text-2); }
body.v3-shell .app-sidebar .view-button.is-zero { color: var(--v3-subtle); }
body.v3-shell .app-sidebar .view-button.is-zero:hover { color: var(--v3-text-2); }
body.v3-shell .app-sidebar .is-single .view-button { gap: 10px; justify-content: flex-start; height: 32px; padding-right: 6px; font-size: 13px; font-weight: 500; }
body.v3-shell .app-sidebar .is-single .view-button::before {
  content: "";
  flex: none;
  width: 16px;
  height: 16px;
  background: currentColor;
  opacity: .78;
  -webkit-mask: var(--v3-icon-briefcase) center / contain no-repeat;
  mask: var(--v3-icon-briefcase) center / contain no-repeat;
}
body.v3-shell .app-sidebar .is-single .view-button > span:first-child { flex: 1 1 auto; }
body.v3-shell .app-sidebar .view-button .view-count,
body.v3-shell .app-sidebar .v3-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  min-width: 20px;
  height: 18px;
  margin: 0;
  padding: 0 6px;
  border-radius: var(--v3-r-pill);
  background: transparent;
  color: var(--v3-subtle);
  font: 600 11px/1 var(--v3-font);
  font-variant-numeric: tabular-nums;
  opacity: 1;
}
body.v3-shell .app-sidebar .v3-group-sum.v3-count { background: var(--v3-sheet); box-shadow: var(--v3-sh-ring); color: var(--v3-muted); }
body.v3-shell .app-sidebar .view-button[aria-pressed=true] {
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-1);
  color: var(--v3-text);
  font-weight: 600;
}
body.v3-shell .app-sidebar .view-button[aria-pressed=true]::before { opacity: 1; background: var(--v3-brand); }
body.v3-shell .app-sidebar .view-button[aria-pressed=true] .view-count { background: var(--v3-surface-3); color: var(--v3-text-2); }
/* contagem ainda não conhecida (fora do "/", enquanto a carteira salva é lida): sem selo; carteira com falha: traço */
body.v3-shell .app-sidebar .view-count:empty:not(.is-unknown),
body.v3-shell .app-sidebar .v3-group-sum:not(.is-unknown):has(> span[aria-hidden]:empty) { display: none; }
body.v3-shell .app-sidebar .view-count.is-unknown:empty::after,
body.v3-shell .app-sidebar .v3-group-sum.is-unknown > span[aria-hidden]:empty::after { content: "—"; color: var(--v3-faint); }

/* bloco do usuário e seu menu */
body.v3-shell .app-sidebar .sidebar-end.v3-user {
  position: relative;
  display: block;
  flex: none;
  margin: 8px 0 0;
  padding: 0;
}
body.v3-shell .app-sidebar .v3-user-button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 48px;
  min-height: 0;
  padding: 0 8px;
  border: 0;
  border-radius: 10px;
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-1);
  color: var(--v3-text);
  font: 600 13px/1.2 var(--v3-font);
  text-align: left;
  cursor: pointer;
}
body.v3-shell .app-sidebar .v3-user-button:hover { background: var(--v3-surface-2); }
body.v3-shell .app-sidebar .v3-user-button[aria-expanded=true] { box-shadow: 0 0 0 1px rgb(24 24 27 / .14), 0 1px 2px rgb(24 24 27 / .05); }
body.v3-shell .app-sidebar .avatar-mini {
  display: grid;
  place-items: center;
  flex: none;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--v3-ink);
  color: #fff;
  font: 700 12px/1 var(--v3-font);
}
body.v3-shell .app-sidebar .v3-user-text { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; }
body.v3-shell .app-sidebar .v3-user-text > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.v3-shell .app-sidebar .v3-user-text > small { margin: 0; padding: 0; color: var(--v3-subtle); font: 500 11px/1.2 var(--v3-font); letter-spacing: 0; text-transform: none; }
body.v3-shell .app-sidebar .v3-user-button > .v3-i { color: var(--v3-subtle); }
body.v3-shell .app-sidebar .v3-user-menu { position: absolute; left: 0; right: 0; bottom: calc(100% + 6px); }

/* trilho de 64 px: só ícones, dicas e popovers */
body.v3-rail .app-sidebar { padding: 0 10px 10px; }
body.v3-rail .app-sidebar .v3-side-top { flex-direction: column; justify-content: center; gap: 6px; height: auto; padding: 14px 0 8px; }
body.v3-rail .app-sidebar .brand { padding: 0; gap: 0; }
body.v3-rail .app-sidebar .v3-brand-name,
body.v3-rail .app-sidebar .v3-label,
body.v3-rail .app-sidebar .v3-group-name,
body.v3-rail .app-sidebar .v3-group-chevron,
body.v3-rail .app-sidebar .v3-user-text,
body.v3-rail .app-sidebar .v3-user-button > .v3-i,
body.v3-rail .app-sidebar .is-single .view-button > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
body.v3-rail .app-sidebar .v3-side-label,
body.v3-rail .app-sidebar .view-group.v3-side-label {
  position: relative;
  height: 1px;
  margin: 10px 8px;
  padding: 0;
  overflow: hidden;
  visibility: hidden;
}
body.v3-rail .app-sidebar .v3-side-label::after { content: ""; position: absolute; inset: 0; background: var(--v3-line-strong); visibility: visible; }
body.v3-rail .app-sidebar .v3-side-nav a,
body.v3-rail .app-sidebar .v3-group-toggle,
body.v3-rail .app-sidebar .is-single .view-button {
  position: relative;
  justify-content: center;
  width: 44px;
  height: 36px;
  padding: 0;
}
body.v3-rail .app-sidebar .v3-view-group:not(.is-single) > .v3-view-items { display: none; }
body.v3-rail .app-sidebar .v3-view-group { margin: 0 0 2px; }
body.v3-rail .app-sidebar .v3-view-group .v3-group-toggle .v3-group-sum {
  display: inline-flex;
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 16px;
  height: 15px;
  padding: 0 4px;
  border-radius: var(--v3-r-pill);
  background: var(--v3-sheet);
  box-shadow: 0 0 0 2px var(--v3-canvas), inset 0 0 0 1px var(--v3-line-strong);
  color: var(--v3-muted);
  font-size: 11px;
  line-height: 15px;
}
body.v3-rail .app-sidebar .is-single .view-button .view-count { display: none; }
body.v3-rail .app-sidebar .has-active .v3-group-toggle { background: var(--v3-sheet); box-shadow: var(--v3-sh-1); }
body.v3-rail .app-sidebar .has-active .v3-group-sum { color: var(--v3-text); }
body.v3-rail .app-sidebar .is-single .view-button[aria-pressed=true] { background: var(--v3-sheet); box-shadow: var(--v3-sh-1); }
body.v3-rail .app-sidebar .v3-side-nav { margin-top: 6px; }
body.v3-rail .app-sidebar .v3-group-toggle.v3-pop-open { background: var(--v3-side-hover); }
body.v3-rail .app-sidebar .has-active .v3-group-toggle.v3-pop-open { background: var(--v3-sheet); box-shadow: 0 0 0 1px rgb(24 24 27 / .14); }
body.v3-rail .app-sidebar .v3-user-button { justify-content: center; width: 44px; height: 44px; padding: 0; }
body.v3-rail .app-sidebar .v3-user-menu { left: calc(100% + 10px); right: auto; bottom: 0; width: 232px; }

/* ------------------------------------------------------------------ barra superior */
body.v3-shell > header.v3-topbar {
  position: sticky;
  top: 0;
  /* acima do painel de pré-visualização da carteira (z 35, começa logo abaixo da barra): o menu do PJe abre por cima dele */
  z-index: 36;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  max-width: none;
  height: var(--v3-bar-h);
  margin: 0;
  padding: 0 var(--v3-gap) 0 4px;
  border: 0;
  background: var(--v3-canvas);
  box-shadow: none;
  color: var(--v3-text-2);
  font-size: 13px;
  line-height: 1.4;
  transition: box-shadow var(--v3-dur-2) var(--v3-ease);
}
body.v3-shell > header.v3-topbar.is-scrolled { box-shadow: 0 1px 0 var(--v3-line); }
body.v3-shell > header.v3-topbar .v3-crumbs { flex: 1 1 auto; min-width: 0; }
body.v3-shell > header.v3-topbar .v3-crumbs-list { display: flex; align-items: center; gap: 2px; min-width: 0; margin: 0; padding: 0; list-style: none; }
body.v3-shell > header.v3-topbar .v3-crumb-item { display: flex; align-items: center; gap: 2px; min-width: 0; }
body.v3-shell > header.v3-topbar .v3-crumb-item + .v3-crumb-item::before {
  content: "";
  flex: none;
  width: 14px;
  height: 14px;
  background: var(--v3-faint);
  -webkit-mask: var(--v3-icon-chevronR) center / contain no-repeat;
  mask: var(--v3-icon-chevronR) center / contain no-repeat;
}
body.v3-shell > header.v3-topbar .v3-crumb {
  display: inline-block;
  max-width: 340px;
  height: 28px;
  margin: 0;
  padding: 0 7px;
  border: 0;
  border-radius: var(--v3-r-sm);
  background: transparent;
  color: var(--v3-muted);
  font: 500 13px/28px var(--v3-font);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.v3-shell > header.v3-topbar button.v3-crumb { cursor: pointer; }
body.v3-shell > header.v3-topbar button.v3-crumb:hover { background: var(--v3-side-hover); color: var(--v3-text); }
body.v3-shell > header.v3-topbar .v3-crumb.is-current { color: var(--v3-text); font-weight: 600; font-variant-numeric: tabular-nums; }
body.v3-shell > header.v3-topbar .v3-pager {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex: none;
  height: 32px;
  padding: 0 2px;
  border-radius: var(--v3-r-md);
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-1);
}
body.v3-shell > header.v3-topbar .v3-pager[hidden] { display: none; }
body.v3-shell > header.v3-topbar .v3-pager-text { padding: 0 4px; color: var(--v3-muted); font: 600 12px/1 var(--v3-font); font-variant-numeric: tabular-nums; white-space: nowrap; }
body.v3-shell > header.v3-topbar .v3-topbar-end { display: flex; align-items: center; gap: 8px; flex: none; margin-left: auto; }
body.v3-shell > header.v3-topbar .v3-search-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 300px;
  height: 32px;
  margin: 0;
  padding: 0 5px 0 10px;
  border: 0;
  border-radius: var(--v3-r-md);
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-1);
  color: var(--v3-subtle);
  font: 400 13px/1 var(--v3-font);
  text-align: left;
  cursor: pointer;
}
body.v3-shell > header.v3-topbar .v3-search-trigger:hover { box-shadow: 0 0 0 1px rgb(24 24 27 / .14), 0 1px 2px rgb(24 24 27 / .05); color: var(--v3-muted); }
body.v3-shell > header.v3-topbar .v3-search-text { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.v3-shell > header.v3-topbar .v3-pje { position: relative; display: flex; }
body.v3-shell > header.v3-topbar #pje-status-indicator {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 32px;
  margin: 0;
  padding: 0 12px 0 11px;
  border: 0;
  border-radius: var(--v3-r-pill);
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-1);
  color: var(--v3-text-2);
  font: 600 12px/1 var(--v3-font);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
body.v3-shell > header.v3-topbar #pje-status-indicator:hover { background: var(--v3-surface-2); }
body.v3-shell > header.v3-topbar #pje-status-indicator i { display: inline-block; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--v3-faint); box-shadow: 0 0 0 3px rgb(161 161 170 / .18); }
body.v3-shell > header.v3-topbar #pje-status-indicator.disconnected { background: var(--v3-warn-bg); box-shadow: inset 0 0 0 1px var(--v3-warn-line); color: var(--v3-warn-fg); }
body.v3-shell > header.v3-topbar #pje-status-indicator.disconnected:hover { background: #ffefcc; }
body.v3-shell > header.v3-topbar #pje-status-indicator.disconnected i { background: var(--v3-warn-icon); box-shadow: 0 0 0 3px rgb(183 121 31 / .18); }
body.v3-shell > header.v3-topbar #pje-status-indicator.connected { color: var(--v3-ok-fg); }
body.v3-shell > header.v3-topbar #pje-status-indicator.connected i { background: var(--v3-ok-icon); box-shadow: 0 0 0 3px rgb(31 157 85 / .18); }
body.v3-shell > header.v3-topbar .btn-open-sync {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 32px;
  margin: 0;
  padding: 0 13px 0 11px;
  border: 0;
  border-radius: var(--v3-r-md);
  background: var(--v3-brand);
  box-shadow: var(--v3-sh-btn-brand);
  color: var(--v3-ink);
  font: 600 13px/1 var(--v3-font);
  text-decoration: none;
  white-space: nowrap;
  transform: none;
  cursor: pointer;
}
body.v3-shell > header.v3-topbar .btn-open-sync::before {
  content: "";
  flex: none;
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: var(--v3-icon-refresh) center / contain no-repeat;
  mask: var(--v3-icon-refresh) center / contain no-repeat;
}
body.v3-shell > header.v3-topbar .btn-open-sync:hover { background: var(--v3-brand-hover); box-shadow: var(--v3-sh-btn-brand); transform: none; }
body.v3-shell > header.v3-topbar .btn-open-sync:disabled { background: var(--v3-brand-tint); box-shadow: none; color: var(--v3-text); cursor: wait; opacity: 1; }
body.v3-shell > header.v3-topbar .btn-open-sync:disabled::before { animation: v3-spin 1.1s linear infinite; }

/* ------------------------------------------------------------------ folha e rodapé */
body.v3-shell #workspace-page {
  max-width: none;
  min-height: calc(100vh - var(--v3-bar-h) - var(--v3-gap));
  margin: 0 var(--v3-gap) var(--v3-gap) 0;
  padding: var(--v3-sheet-pad) var(--v3-sheet-pad) 28px;
  border: 0;
  border-radius: var(--v3-r-xl);
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-sheet);
  color: var(--v3-text-2);
  font-size: 13px;
  line-height: 1.5;
}
body.v3-shell #workspace-page[hidden] { display: none; }
body.v3-shell #workspace-page > .quiet-button { margin: 0 0 12px; }
/* menu ainda sem as visões enquanto a carteira carrega (esqueleto na folha): linhas-esqueleto no lugar delas */
body.v3-shell.dashboard:has(#workspace-page > .v3-skel-page) #portfolio-navigation:empty::before {
  content: "";
  display: block;
  height: 196px;
  margin: 18px 10px 0;
  background:
    linear-gradient(#e4e4e7, #e4e4e7) 0 0 / 64px 8px no-repeat,
    linear-gradient(#e9e9ec, #e9e9ec) 0 28px / 150px 10px no-repeat,
    linear-gradient(#e9e9ec, #e9e9ec) 0 64px / 118px 10px no-repeat,
    linear-gradient(#e9e9ec, #e9e9ec) 26px 96px / 112px 9px no-repeat,
    linear-gradient(#e9e9ec, #e9e9ec) 26px 126px / 132px 9px no-repeat,
    linear-gradient(#e9e9ec, #e9e9ec) 0 158px / 126px 10px no-repeat,
    linear-gradient(#e9e9ec, #e9e9ec) 0 188px / 104px 8px no-repeat;
  opacity: .9;
}
body.v3-rail.dashboard #portfolio-navigation:empty::before { display: none; }
body.v3-shell > footer {
  display: flex;
  justify-content: center;
  max-width: none;
  margin: 0 var(--v3-gap) 0 0;
  padding: 6px 0 14px;
  border: 0;
  background: transparent;
  color: var(--v3-subtle);
  font: 400 11px/1.4 var(--v3-font);
}

/* ------------------------------------------------------------------ primitivos */
.v3-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 32px;
  margin: 0;
  padding: 0 12px;
  border: 0;
  border-radius: var(--v3-r-md);
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-1);
  color: var(--v3-text-2);
  font: 500 13px/1 var(--v3-font);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background var(--v3-dur-1) var(--v3-ease), box-shadow var(--v3-dur-1) var(--v3-ease), color var(--v3-dur-1) var(--v3-ease);
}
.v3-btn:hover { background: var(--v3-surface-2); color: var(--v3-text); }
.v3-btn:focus-visible { outline: 2px solid var(--v3-brand); outline-offset: 2px; }
.v3-btn:disabled, .v3-btn[aria-disabled=true] { background: var(--v3-surface-2); box-shadow: var(--v3-sh-ring); color: var(--v3-subtle); cursor: not-allowed; opacity: 1; }
.v3-btn-primary { background: var(--v3-ink); box-shadow: var(--v3-sh-btn-ink); color: #fff; }
.v3-btn-primary:hover { background: var(--v3-ink-hover); color: #fff; }
.v3-btn-brand { background: var(--v3-brand); box-shadow: var(--v3-sh-btn-brand); color: var(--v3-ink); font-weight: 600; }
.v3-btn-brand:hover { background: var(--v3-brand-hover); color: var(--v3-ink); }
.v3-btn-secondary { background: var(--v3-sheet); box-shadow: var(--v3-sh-1); }
.v3-btn-ghost { background: transparent; box-shadow: none; color: var(--v3-muted); }
.v3-btn-ghost:hover { background: var(--v3-surface-3); color: var(--v3-text); }
body.v3-shell .app-sidebar .v3-btn-ghost:hover { background: var(--v3-side-hover); }
.v3-btn-icon { width: 32px; padding: 0; }
.v3-btn-sm { height: 28px; padding: 0 10px; font-size: 12px; }
.v3-btn-icon.v3-btn-sm { width: 28px; padding: 0; }
.v3-btn-lg { height: 40px; padding: 0 16px; font-size: 13px; }
.v3-btn .v3-i { width: 16px; height: 16px; }

.v3-input, .v3-select {
  height: 32px;
  padding: 0 10px;
  border: 1px solid var(--v3-line-strong);
  border-radius: var(--v3-r-md);
  background: var(--v3-sheet);
  color: var(--v3-text);
  font: 400 13px/1 var(--v3-font);
  outline: none;
}
.v3-input::placeholder { color: var(--v3-subtle); }
.v3-input:focus, .v3-select:focus { border-color: var(--v3-brand); box-shadow: var(--v3-focus); }
.v3-select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 30px;
  background: var(--v3-sheet) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2352525b' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") right 8px center / 16px 16px no-repeat;
}
.v3-card { border-radius: var(--v3-r-lg); background: var(--v3-sheet); box-shadow: var(--v3-sh-1); }
.v3-card-head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--v3-line-soft); }
.v3-card-title { margin: 0; color: var(--v3-text); font: 600 15px/20px var(--v3-font); }
.v3-card-desc { margin: 0; color: var(--v3-subtle); font: 400 12px/16px var(--v3-font); }
.v3-card-body { padding: 16px; }
.v3-card-foot { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 12px 16px; border-top: 1px solid var(--v3-line-soft); }
.v3-tile {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 32px;
  height: 32px;
  border-radius: var(--v3-r-md);
  background: var(--v3-surface-3);
  color: var(--v3-muted);
}
.v3-tile.is-brand { background: var(--v3-brand-tint); color: #5c2208; }
.v3-tile.is-lime { background: var(--v3-lime); color: #2f3510; }
.v3-tile.is-mint { background: var(--v3-mint); color: #173822; }
.v3-tile.is-ink { background: var(--v3-ink); color: #fff; }
.v3-tile.is-neutral { background: var(--v3-surface-3); color: var(--v3-muted); }
.v3-tile.is-warn { background: var(--v3-warn-bg); color: var(--v3-warn-icon); }
.v3-tile.is-ok { background: var(--v3-ok-bg); color: var(--v3-ok-icon); }
.v3-tile.is-danger { background: var(--v3-danger-bg); color: var(--v3-danger-icon); }
.v3-tile.is-lg { width: 36px; height: 36px; border-radius: 10px; }
.v3-tabs { display: flex; align-items: stretch; gap: 20px; border-bottom: 1px solid var(--v3-line); }
.v3-tab {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 40px;
  margin: 0;
  padding: 0 2px;
  border: 0;
  background: transparent;
  color: var(--v3-muted);
  font: 500 13px/1 var(--v3-font);
  cursor: pointer;
}
.v3-tab:hover { color: var(--v3-text); }
.v3-tab[aria-selected=true], .v3-tab[aria-pressed=true] { color: var(--v3-text); font-weight: 600; }
.v3-tab[aria-selected=true]::after, .v3-tab[aria-pressed=true]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; border-radius: 2px; background: var(--v3-brand); }
.v3-seg { display: inline-flex; gap: 2px; padding: 2px; border-radius: var(--v3-r-md); background: var(--v3-surface-3); }
.v3-seg > button { height: 24px; padding: 0 10px; border: 0; border-radius: var(--v3-r-sm); background: transparent; color: var(--v3-muted); font: 500 12px/1 var(--v3-font); cursor: pointer; }
.v3-seg > button[aria-pressed=true], .v3-seg > button[aria-checked=true] { background: var(--v3-sheet); box-shadow: var(--v3-sh-1); color: var(--v3-text); }
.v3-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 20px;
  padding: 0 7px;
  border-radius: var(--v3-r-sm);
  background: var(--v3-surface-3);
  color: var(--v3-text-2);
  font: 500 11px/1 var(--v3-font);
  white-space: nowrap;
}
.v3-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: var(--v3-r-pill);
  background: var(--v3-surface-3);
  color: var(--v3-muted);
  font: 600 11px/1 var(--v3-font);
  font-variant-numeric: tabular-nums;
}
.v3-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.v3-dot { display: inline-block; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--v3-faint); }
.v3-dot.is-ok { background: var(--v3-ok-icon); }
.v3-dot.is-warn { background: var(--v3-warn-icon); }
.v3-dot.is-danger { background: var(--v3-danger-icon); }
.v3-dot.is-brand { background: var(--v3-brand); }
.v3-kbd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  margin: 0;
  padding: 0 4px;
  border: 0;
  border-radius: var(--v3-r-xs);
  background: var(--v3-surface-2);
  box-shadow: inset 0 0 0 1px var(--v3-line), 0 1px 0 var(--v3-line);
  color: var(--v3-muted);
  font: 500 11px/1 var(--v3-mono);
  white-space: nowrap;
}
.v3-props { display: grid; grid-template-columns: minmax(112px, auto) minmax(0, 1fr); margin: 0; }
.v3-props > dt, .v3-prop > dt {
  display: flex;
  align-items: center;
  min-height: 32px;
  margin: 0;
  padding: 6px 12px 6px 0;
  border-top: 1px solid var(--v3-line-soft);
  color: var(--v3-subtle);
  font: 500 12px/16px var(--v3-font);
}
.v3-props > dd, .v3-prop > dd {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 32px;
  margin: 0;
  padding: 6px 0;
  border-top: 1px solid var(--v3-line-soft);
  color: var(--v3-text);
  font: 500 13px/18px var(--v3-font);
  overflow-wrap: anywhere;
}
.v3-props > dt:first-of-type, .v3-props > dt:first-of-type + dd { border-top: 0; }
.v3-prop { display: grid; grid-template-columns: minmax(112px, auto) minmax(0, 1fr); }

/* vazio desenhado */
.v3-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 40px 24px;
  text-align: center;
}
.v3-empty-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin: 0 0 6px;
  border-radius: 12px;
  background: var(--v3-sheet);
  box-shadow: 0 0 0 1px var(--v3-line), 0 0 0 6px var(--v3-surface-2), 0 1px 2px rgb(24 24 27 / .06);
  color: var(--v3-muted);
}
.v3-empty-icon .v3-i { width: 18px; height: 18px; }
.v3-empty-title { margin: 0; color: var(--v3-text); font: 600 15px/20px var(--v3-font); }
.v3-empty-text { max-width: 420px; margin: 0; color: var(--v3-subtle); font: 400 13px/20px var(--v3-font); }
.v3-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 10px; }

/* estado desenhado da área de conteúdo (falha, restrito, aviso): o mesmo componente em todas as telas */
.v3-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 320px;
  margin: 0 0 12px;
  padding: 48px 24px;
  border-radius: var(--v3-r-lg);
  background: var(--v3-sheet);
  box-shadow: 0 0 0 1px rgb(24 24 27 / .08), 0 1px 2px rgb(24 24 27 / .04);
  text-align: center;
}
.v3-state-tile {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0 0 8px;
  border-radius: 12px;
  background: var(--v3-surface-3);
  color: var(--v3-muted);
}
.v3-state-tile .v3-i { width: 20px; height: 20px; }
.v3-state.is-error .v3-state-tile { background: var(--v3-danger-bg); box-shadow: 0 0 0 6px rgb(253 238 238 / .55); color: var(--v3-danger-icon); }
.v3-state.is-restricted .v3-state-tile, .v3-state.is-warn .v3-state-tile { background: var(--v3-warn-bg); box-shadow: 0 0 0 6px rgb(255 244 220 / .6); color: var(--v3-warn-icon); }
.v3-state-title { margin: 0; color: var(--v3-text); font: 600 15px/22px var(--v3-font); }
.v3-state-text { max-width: 480px; margin: 0; color: var(--v3-subtle); font: 400 13px/20px var(--v3-font); overflow-wrap: anywhere; }
.v3-state-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 14px; }
.v3-state-actions .v3-btn::before { width: 15px; height: 15px; }

/* aviso inline (primitivo; os avisos legados .work-notice na folha usam o mesmo desenho) */
.v3-notice,
body.v3-shell #workspace-page .work-notice {
  position: relative;
  display: flow-root;
  margin: 0 0 12px;
  padding: 9px 12px 9px 36px;
  border: 1px solid var(--v3-info-line);
  border-radius: 10px;
  background: var(--v3-info-bg);
  color: var(--v3-info-fg);
  font: 400 13px/20px var(--v3-font);
  max-width: none;
}
.v3-notice::before,
body.v3-shell #workspace-page .work-notice::before {
  content: "";
  position: absolute;
  top: 11px;
  left: 12px;
  width: 16px;
  height: 16px;
  background: var(--v3-info-icon);
  -webkit-mask: var(--v3-icon-info) center / contain no-repeat;
  mask: var(--v3-icon-info) center / contain no-repeat;
}
.v3-notice.is-warn,
body.v3-shell #workspace-page .work-notice.warning { border-color: var(--v3-warn-line); background: var(--v3-warn-bg); color: var(--v3-warn-fg); }
.v3-notice.is-warn::before,
body.v3-shell #workspace-page .work-notice.warning::before { background: var(--v3-warn-icon); -webkit-mask-image: var(--v3-icon-clock); mask-image: var(--v3-icon-clock); }
.v3-notice.is-error,
body.v3-shell #workspace-page .work-notice.error { border-color: var(--v3-danger-line); background: var(--v3-danger-bg); color: var(--v3-danger-fg); }
.v3-notice.is-error::before,
body.v3-shell #workspace-page .work-notice.error::before { background: var(--v3-danger-icon); -webkit-mask-image: var(--v3-icon-alert); mask-image: var(--v3-icon-alert); }
.v3-notice.is-ok { border-color: var(--v3-ok-line); background: var(--v3-ok-bg); color: var(--v3-ok-fg); }
.v3-notice.is-ok::before { background: var(--v3-ok-icon); -webkit-mask-image: var(--v3-icon-checkCircle); mask-image: var(--v3-icon-checkCircle); }
.v3-notice .notice-action,
body.v3-shell #workspace-page .work-notice .notice-action {
  float: right;
  display: inline-flex;
  align-items: center;
  height: 26px;
  margin: -3px 0 -3px 12px;
  padding: 0 10px;
  border: 0;
  border-radius: 7px;
  background: rgb(255 255 255 / .8);
  box-shadow: 0 0 0 1px rgb(24 24 27 / .1), 0 1px 1px rgb(24 24 27 / .04);
  color: inherit;
  font: 600 12px/1 var(--v3-font);
  white-space: nowrap;
  cursor: pointer;
}
.v3-notice .notice-action:hover,
body.v3-shell #workspace-page .work-notice .notice-action:hover { background: #fff; }
body.v3-shell #workspace-page .work-notice .notice-action:disabled { opacity: 1; color: var(--v3-subtle); cursor: wait; }
/* acesso recusado pelo PJe (403): âmbar com cadeado (a semântica aprovada), também quando o aviso vem como erro */
body.v3-shell #workspace-page .work-notice[data-tone="restrito"] { border-color: var(--v3-warn-line); background: var(--v3-warn-bg); color: var(--v3-warn-fg); }
body.v3-shell #workspace-page .work-notice[data-tone="restrito"]::before { background: var(--v3-warn-icon); -webkit-mask-image: var(--v3-icon-lock); mask-image: var(--v3-icon-lock); }
/* faixa âmbar fina da última consulta (sessão sem PJe) com a ação "Conectar" */
body.v3-shell #workspace-page .work-notice.warning.v3-band {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 38px;
  padding: 6px 6px 6px 36px;
}
body.v3-shell #workspace-page .work-notice.warning.v3-band::before { top: calc(50% - 8px); }
body.v3-shell #workspace-page .work-notice.v3-band .notice-action { float: none; margin: 0 0 0 auto; }

/* toast (#work-message, posto pelas telas; message() de workspace.js monta o texto e "Fechar aviso") */
body.v3-shell #workspace-page > #work-message,
.v3-toast {
  position: fixed;
  left: calc(var(--v3-side-w) + 20px);
  bottom: 20px;
  z-index: 55;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 440px;
  min-height: 44px;
  margin: 0;
  padding: 10px 8px 10px 14px;
  border: 0;
  border-radius: var(--v3-r-lg);
  background: var(--v3-ink);
  box-shadow: var(--v3-sh-overlay);
  color: var(--v3-on-dark);
  font: 500 13px/1.45 var(--v3-font);
  animation: v3-rise var(--v3-dur-3) var(--v3-ease-out);
}
body.v3-shell #workspace-page > #work-message[hidden], .v3-toast[hidden] { display: none; }
body.v3-shell #workspace-page > #work-message::before { display: none; }
body.v3-shell #workspace-page > #work-message .v3-toast-text, .v3-toast .v3-toast-text { flex: 1 1 auto; min-width: 0; }
body.v3-shell #workspace-page > #work-message .v3-toast-close, .v3-toast .v3-toast-close {
  order: 9;
  display: grid;
  place-items: center;
  flex: none;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--v3-r-md);
  background: transparent;
  color: var(--v3-on-dark-2);
  cursor: pointer;
}
body.v3-shell #workspace-page > #work-message .v3-toast-close::before, .v3-toast .v3-toast-close::before {
  content: "";
  width: 16px;
  height: 16px;
  background: currentColor;
  -webkit-mask: var(--v3-icon-x) center / contain no-repeat;
  mask: var(--v3-icon-x) center / contain no-repeat;
}
body.v3-shell #workspace-page > #work-message .v3-toast-close:hover, .v3-toast .v3-toast-close:hover { background: rgb(255 255 255 / .1); color: #fff; }
body.v3-shell #workspace-page > #work-message .v3-toast-close:focus-visible, .v3-toast .v3-toast-close:focus-visible { outline: 2px solid var(--v3-brand); outline-offset: 1px; }
body.v3-shell #workspace-page > #work-message a.quiet-button {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 10px;
  border: 0;
  border-radius: var(--v3-r-md);
  background: #fff;
  color: var(--v3-ink);
  font: 600 12px/1 var(--v3-font);
  text-decoration: none;
}
@keyframes v3-rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ------------------------------------------------------------------ cabeçalho de página (shell) */
body.v3-shell #workspace-page .work-heading.v3-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  min-height: 0;
  margin: 0 0 18px;
  padding: 2px 0 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: var(--v3-text);
}
body.v3-shell #workspace-page .v3-head .v3-head-titles { min-width: 0; }
body.v3-shell #workspace-page .v3-head .eyebrow { display: none; }
body.v3-shell #workspace-page .v3-head h1 {
  margin: 0;
  color: var(--v3-text);
  font: 600 26px/32px var(--v3-font);
  letter-spacing: -.022em;
  font-variant-numeric: tabular-nums;
}
body.v3-shell #workspace-page .v3-head .work-subtitle {
  max-width: none;
  margin: 4px 0 0;
  color: var(--v3-subtle);
  font: 400 13px/20px var(--v3-font);
}
body.v3-shell #workspace-page .v3-head .work-session.v3-head-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  max-width: none;
}
body.v3-shell #workspace-page .v3-head .work-session:empty { display: none; }
body.v3-shell #workspace-page.with-pdf .v3-head { align-items: flex-start; }

/* legados dentro da folha: botões e campos com o desenho dos primitivos */
body.v3-shell #workspace-page .quiet-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: var(--v3-r-md);
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-1);
  color: var(--v3-text-2);
  font: 500 13px/1.2 var(--v3-font);
  text-decoration: none;
  cursor: pointer;
}
body.v3-shell #workspace-page .quiet-button:hover { background: var(--v3-surface-2); color: var(--v3-text); }
body.v3-shell #workspace-page .quiet-button:disabled { background: var(--v3-surface-2); box-shadow: var(--v3-sh-ring); color: var(--v3-subtle); opacity: 1; }
body.v3-shell #workspace-page .primary {
  min-height: 32px;
  padding: 0 14px;
  border: 0;
  border-radius: var(--v3-r-md);
  background: var(--v3-ink);
  box-shadow: var(--v3-sh-btn-ink);
  color: #fff;
  font: 600 13px/1.2 var(--v3-font);
}
body.v3-shell #workspace-page .primary:hover { background: var(--v3-ink-hover); box-shadow: var(--v3-sh-btn-ink); }
body.v3-shell #workspace-page .primary:disabled { background: var(--v3-surface-2); box-shadow: var(--v3-sh-ring); color: var(--v3-subtle); opacity: 1; }
body.v3-shell #workspace-page :is(.work-select, .work-search) {
  height: 32px;
  border: 1px solid var(--v3-line-strong);
  border-radius: var(--v3-r-md);
  background-color: var(--v3-sheet);
  color: var(--v3-text);
  font: 400 13px/1 var(--v3-font);
}
body.v3-shell #workspace-page :is(.work-select, .work-search):focus { border-color: var(--v3-brand); box-shadow: var(--v3-focus); outline: none; }
body.v3-shell #workspace-page :is(button, a, summary, input, select, textarea):focus-visible { outline: 2px solid var(--v3-brand); outline-offset: 2px; }

/* ------------------------------------------------------------------ cartão da sincronização (sync-progress.js; o JS não muda)
   Três faixas num eixo só: (1) ícone, título, "3 de 15 · 20%" e a ação à direita; (2) a barra de 6 px na largura toda;
   (3) uma linha de meta (tempo restante, término, início, ritmo) e, à direita, as falhas ou "sem falhas". As listas
   (falhas, 403) só quando existem. Borda neutra durante a sincronização: o laranja fica na barra. */
body.v3-shell #workspace-page .sync-panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 16px;
  row-gap: 0;
  margin: 0 0 14px;
  padding: 10px 12px 10px 52px;
  border: 0;
  border-radius: var(--v3-r-lg);
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-1);
  color: var(--v3-text-2);
  font: 400 13px/1.45 var(--v3-font);
}
body.v3-shell #workspace-page .sync-panel[hidden] { display: none; }
body.v3-shell #workspace-page .sync-panel::before {
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  width: 28px;
  height: 28px;
  border-radius: var(--v3-r-md);
  background: var(--v3-surface-3);
}
body.v3-shell #workspace-page .sync-panel::after {
  content: "";
  position: absolute;
  top: 18px;
  left: 18px;
  width: 16px;
  height: 16px;
  background: var(--v3-muted);
  -webkit-mask: var(--v3-icon-refresh) center / contain no-repeat;
  mask: var(--v3-icon-refresh) center / contain no-repeat;
}
body.v3-shell #workspace-page .sync-panel.is-running { box-shadow: var(--v3-sh-1); }
body.v3-shell #workspace-page .sync-panel.is-running::after { background: var(--v3-muted); -webkit-mask-image: var(--v3-icon-spinner); mask-image: var(--v3-icon-spinner); animation: v3-spin .9s linear infinite; }
body.v3-shell #workspace-page .sync-panel.is-done::before { background: var(--v3-ok-bg); }
body.v3-shell #workspace-page .sync-panel.is-done::after { background: var(--v3-ok-icon); -webkit-mask-image: var(--v3-icon-checkCircle); mask-image: var(--v3-icon-checkCircle); }
body.v3-shell #workspace-page .sync-panel.is-interrupted { background: var(--v3-warn-bg); box-shadow: 0 0 0 1px var(--v3-warn-line); }
body.v3-shell #workspace-page .sync-panel.is-interrupted::before { background: #fff; box-shadow: 0 0 0 1px var(--v3-warn-line); }
body.v3-shell #workspace-page .sync-panel.is-interrupted::after { background: var(--v3-warn-icon); -webkit-mask-image: var(--v3-icon-alert); mask-image: var(--v3-icon-alert); }
body.v3-shell #workspace-page .sync-panel .sync-head { grid-column: 1; grid-row: 1; display: flex; flex-wrap: nowrap; align-items: baseline; justify-content: flex-start; gap: 10px; min-width: 0; min-height: 28px; margin: 0; align-self: center; }
body.v3-shell #workspace-page .sync-panel .sync-title { overflow: hidden; color: var(--v3-text); font: 600 13px/28px var(--v3-font); text-overflow: ellipsis; white-space: nowrap; }
body.v3-shell #workspace-page .sync-panel .sync-count { flex: none; color: var(--v3-muted); font: 500 13px/28px var(--v3-font); font-variant-numeric: tabular-nums; white-space: nowrap; }
body.v3-shell #workspace-page .sync-panel .sync-bar { grid-column: 1 / -1; grid-row: 2; width: 100%; height: 6px; margin: 8px 0 8px; }
body.v3-shell #workspace-page .sync-panel .sync-eta { grid-column: 1; grid-row: 3; display: flex; flex-wrap: wrap; gap: 0; margin: 0; color: var(--v3-muted); font-size: 12px; line-height: 18px; }
body.v3-shell #workspace-page .sync-panel .sync-eta > span { font-weight: 400; color: var(--v3-muted); }
body.v3-shell #workspace-page .sync-panel .sync-eta > span + span::before { content: "·"; margin: 0 7px; color: var(--v3-faint); }
body.v3-shell #workspace-page .sync-panel .sync-problems { grid-column: 2; grid-row: 3; justify-content: flex-end; gap: 4px 6px; margin: 0; font-size: 12px; line-height: 18px; }
body.v3-shell #workspace-page .sync-panel .sync-actions { grid-column: 2; grid-row: 1; justify-content: flex-end; margin: 0; }
body.v3-shell #workspace-page .sync-panel:not(:has(.sync-actions)) .sync-head { grid-column: 1 / -1; }
body.v3-shell #workspace-page .sync-panel .sync-actions .quiet-button { min-height: 28px; height: 28px; padding: 0 10px; font-size: 12px; }
body.v3-shell #workspace-page .sync-panel :is(.sync-note, .sync-list) { grid-column: 1 / -1; }
body.v3-shell #workspace-page .sync-panel .sync-note { margin: 4px 0 0; font-size: 12px; line-height: 18px; }
body.v3-shell #workspace-page .sync-panel .sync-muted { color: var(--v3-muted); }
body.v3-shell #workspace-page .sync-panel .sync-issue {
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 8px;
  border-radius: var(--v3-r-pill);
  background: var(--v3-warn-bg);
  box-shadow: inset 0 0 0 1px var(--v3-warn-line);
  color: var(--v3-warn-fg);
  font: 600 12px/1 var(--v3-font);
}
body.v3-shell #workspace-page .sync-panel .sync-issue.falha { background: var(--v3-danger-bg); box-shadow: inset 0 0 0 1px var(--v3-danger-line); color: var(--v3-danger-fg); }
body.v3-shell #workspace-page .sync-panel .sync-list { margin: 6px 0 0; }
body.v3-shell #workspace-page .sync-panel .sync-list > summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--v3-text-2);
  font: 600 13px/20px var(--v3-font);
  list-style: none;
}
body.v3-shell #workspace-page .sync-panel .sync-list > summary::-webkit-details-marker { display: none; }
body.v3-shell #workspace-page .sync-panel .sync-list > summary::before {
  content: "";
  flex: none;
  width: 14px;
  height: 14px;
  background: var(--v3-muted);
  -webkit-mask: var(--v3-icon-chevronR) center / contain no-repeat;
  mask: var(--v3-icon-chevronR) center / contain no-repeat;
  transition: transform var(--v3-dur-1) var(--v3-ease);
}
body.v3-shell #workspace-page .sync-panel .sync-list[open] > summary::before { transform: rotate(90deg); }

/* ------------------------------------------------------------------ etiquetas de situação: só a geometria do texto
   (a paleta docs/39 fica em dashboard.css). line-height 1 com overflow cortava os descendentes (g, ç, ã) no SF Pro. */
.v3 .state-chip, .v3 .state-chip > .chip-label { line-height: 16px; }
.v3 .state-chip > .chip-label { padding-bottom: 1px; }

/* ------------------------------------------------------------------ faixa de uma linha (cobertura parcial, avisos curtos)
   O texto inteiro fica em "Detalhes"; a ação fica à direita, alinhada ao centro. */
body.v3-shell #workspace-page .work-notice[data-strip] {
  display: grid;
  grid-template-columns: minmax(0, auto) auto 1fr auto;
  align-items: center;
  column-gap: 10px;
  min-height: 40px;
  padding: 6px 6px 6px 36px;
}
body.v3-shell #workspace-page .work-notice[data-strip]::before { top: calc(50% - 8px); }
body.v3-shell #workspace-page .work-notice[data-strip] > .v3-strip-lead { min-width: 0; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.v3-shell #workspace-page .work-notice[data-strip] > .v3-strip-more { display: contents; }
body.v3-shell #workspace-page .work-notice[data-strip] > .v3-strip-more > summary {
  grid-column: 2;
  grid-row: 1;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 8px;
  border-radius: var(--v3-r-sm);
  color: inherit;
  font: 500 13px/1 var(--v3-font);
  text-decoration: underline;
  text-decoration-color: rgb(122 82 18 / .4);
  text-underline-offset: 3px;
  list-style: none;
  cursor: pointer;
  white-space: nowrap;
}
body.v3-shell #workspace-page .work-notice[data-strip] > .v3-strip-more > summary::-webkit-details-marker { display: none; }
body.v3-shell #workspace-page .work-notice[data-strip] > .v3-strip-more > summary:hover { background: rgb(255 255 255 / .55); }
body.v3-shell #workspace-page .work-notice[data-strip] > .v3-strip-more > p { grid-column: 1 / -1; grid-row: 2; margin: 4px 0 4px; font: 400 13px/19px var(--v3-font); }
body.v3-shell #workspace-page .work-notice[data-strip] > .notice-action { grid-column: 4; grid-row: 1; float: none; margin: 0; }

/* ------------------------------------------------------------------ menus, dica, popovers do trilho */
.v3-menu {
  position: absolute;
  z-index: 50;
  min-width: 220px;
  margin: 0;
  padding: 6px;
  border: 0;
  border-radius: var(--v3-r-lg);
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-pop);
  color: var(--v3-text-2);
  font-size: 13px;
  line-height: 1.4;
  animation: v3-pop var(--v3-dur-2) var(--v3-ease-out);
}
.v3-menu[hidden] { display: none; }
.v3-menu .v3-menu-item,
body.v3-shell #v3-user-menu [role=menuitem],
body.v3-shell .v3-pje-menu .v3-menu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 32px;
  min-height: 0;
  margin: 0;
  padding: 0 10px;
  border: 0;
  border-radius: var(--v3-r-md);
  background: transparent;
  box-shadow: none;
  color: var(--v3-text-2);
  font: 500 13px/1 var(--v3-font);
  text-align: left;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.v3-menu .v3-menu-item:is(:hover, :focus-visible),
body.v3-shell #v3-user-menu [role=menuitem]:is(:hover, :focus-visible),
body.v3-shell .v3-pje-menu .v3-menu-item:is(:hover, :focus-visible) { background: var(--v3-surface-3); color: var(--v3-text); }
.v3-menu .v3-menu-item:focus-visible, body.v3-shell #v3-user-menu [role=menuitem]:focus-visible { outline: 2px solid var(--v3-brand); outline-offset: -2px; }
.v3-menu .v3-menu-item.v3-ico-before::before, body.v3-shell #v3-user-menu [role=menuitem].v3-ico-before::before { color: var(--v3-muted); }
.v3-menu .v3-menu-item.is-active { background: var(--v3-selected-bg); box-shadow: var(--v3-selected-ring); color: var(--v3-text); font-weight: 600; }
.v3-menu .v3-menu-item.is-active .v3-count { color: var(--v3-text-2); }
.v3-menu .v3-menu-item .v3-menu-label { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.v3-menu .v3-menu-item .v3-count { background: transparent; color: var(--v3-subtle); }
.v3-menu .v3-menu-sep { height: 1px; margin: 6px -6px; background: var(--v3-line-soft); }
.v3-menu .v3-menu-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 6px 10px 8px; }
.v3-menu .v3-menu-title { color: var(--v3-text); font: 600 12px/16px var(--v3-font); }
.v3-menu .v3-menu-sub { color: var(--v3-subtle); font: 500 11px/16px var(--v3-font); }
.v3-menu .v3-menu-empty { margin: 0; padding: 4px 10px 6px; color: var(--v3-subtle); font: 400 12px/18px var(--v3-font); }
.v3-menu .v3-menu-state { display: grid; gap: 2px; margin: 0 0 6px; padding: 8px 10px; border-radius: var(--v3-r-md); background: var(--v3-warn-bg); box-shadow: inset 0 0 0 1px var(--v3-warn-line); color: var(--v3-warn-fg); font: 400 12px/17px var(--v3-font); white-space: normal; }
.v3-menu .v3-menu-state > strong { font-weight: 600; }
body.v3-shell .v3-pje-menu .v3-menu-item.v3-menu-cta { color: var(--v3-text); font-weight: 600; }
body.v3-shell .app-sidebar .view-button[aria-disabled=true] { cursor: default; pointer-events: none; }
body.v3-shell > header.v3-topbar .v3-pje-menu { top: calc(100% + 8px); right: 0; width: 300px; }
body.v3-shell .v3-pje-menu .connection-chip.v3-menu-item { font-variant-numeric: tabular-nums; }
body.v3-shell .v3-pje-menu .connection-chip.v3-menu-item::before {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  margin: 0 4px;
  border-radius: 50%;
  background: var(--v3-faint);
}
body.v3-shell .v3-pje-menu .connection-chip.v3-menu-item.is-on::before { background: var(--v3-ok-icon); }
body.v3-shell .v3-pje-menu .connection-chip.v3-menu-item:disabled { color: var(--v3-subtle); background: transparent; cursor: wait; opacity: 1; }
.v3-rail-pop { position: fixed; width: 248px; max-height: calc(100vh - 16px); overflow-y: auto; }
.v3-tip {
  position: fixed;
  z-index: 50;
  margin: 0;
  padding: 5px 8px;
  border-radius: var(--v3-r-sm);
  background: var(--v3-ink);
  box-shadow: 0 4px 12px rgb(24 24 27 / .2);
  color: #fff;
  font: 500 12px/1.2 var(--v3-font);
  white-space: nowrap;
  pointer-events: none;
  transform: translateY(-50%);
}
.v3-tip[hidden] { display: none; }
@keyframes v3-pop { from { opacity: 0; transform: translateY(4px) scale(.98); } to { opacity: 1; transform: none; } }

/* ------------------------------------------------------------------ paleta ⌘K e folha de atalhos */
.v3-scrim {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: rgb(24 24 27 / .28);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  animation: v3-fade var(--v3-dur-2) var(--v3-ease);
}
@keyframes v3-fade { from { opacity: 0; } to { opacity: 1; } }
.v3-palette {
  position: fixed;
  top: 12vh;
  left: calc(50% - min(320px, 50vw - 16px));
  z-index: 61;
  display: flex;
  flex-direction: column;
  width: min(640px, 100vw - 32px);
  max-height: 76vh;
  overflow: hidden;
  border-radius: var(--v3-r-2xl);
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-overlay);
  color: var(--v3-text-2);
  font-size: 13px;
  line-height: 1.4;
  animation: v3-pop var(--v3-dur-2) var(--v3-ease-out);
}
.v3-palette .v3-palette-head { display: flex; align-items: center; gap: 10px; height: 54px; padding: 0 14px 0 16px; border-bottom: 1px solid var(--v3-line-soft); }
.v3-palette .v3-palette-search { width: 18px; height: 18px; color: var(--v3-muted); }
.v3-palette .v3-palette-input {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--v3-text);
  font: 400 15px/1 var(--v3-font);
  outline: none;
}
.v3-palette .v3-palette-input::placeholder { color: var(--v3-subtle); }
.v3-palette .v3-palette-scopes { display: flex; gap: 4px; padding: 8px 12px; border-bottom: 1px solid var(--v3-line-soft); }
.v3-palette .v3-palette-scope {
  height: 26px;
  margin: 0;
  padding: 0 10px;
  border: 0;
  border-radius: var(--v3-r-pill);
  background: transparent;
  color: var(--v3-muted);
  font: 500 12px/1 var(--v3-font);
  cursor: pointer;
}
.v3-palette .v3-palette-scope:hover { background: var(--v3-surface-3); color: var(--v3-text); }
.v3-palette .v3-palette-scope[aria-selected=true] { background: var(--v3-ink); color: #fff; }
.v3-palette .v3-palette-list { flex: 1 1 auto; min-height: 120px; max-height: min(440px, 58vh); padding: 4px 6px 8px; overflow-y: auto; overscroll-behavior: contain; }
.v3-palette .v3-pal-group { padding: 10px 10px 4px; color: var(--v3-subtle); font: 600 11px/14px var(--v3-font); letter-spacing: .06em; text-transform: uppercase; }
.v3-palette .v3-pal-item {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto 22px;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 7px 10px;
  border-radius: 10px;
  cursor: pointer;
}
.v3-palette .v3-pal-item[aria-selected=true] { background: var(--v3-surface-3); }
.v3-palette .v3-pal-ico { width: 32px; height: 32px; background: var(--v3-sheet); box-shadow: var(--v3-sh-1); color: var(--v3-muted); }
.v3-palette .v3-pal-item[aria-selected=true] .v3-pal-ico { color: var(--v3-text); }
.v3-palette .v3-pal-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.v3-palette .v3-pal-title { overflow: hidden; color: var(--v3-text); font: 600 13px/18px var(--v3-font); font-variant-numeric: tabular-nums; text-overflow: ellipsis; white-space: nowrap; }
.v3-palette .v3-pal-meta { display: flex; align-items: center; gap: 0; min-width: 0; overflow: hidden; color: var(--v3-subtle); font: 400 12px/16px var(--v3-font); white-space: nowrap; }
.v3-palette .v3-pal-parts { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.v3-palette .v3-pal-vara { display: inline-flex; flex: 0 2 auto; align-items: center; gap: 0; min-width: 0; color: var(--v3-subtle); }
.v3-palette .v3-pal-vara::before { content: "·"; flex: none; margin: 0 6px; color: var(--v3-faint); }
.v3-palette .v3-pal-vara > .vara-marker { flex: none; margin: 0 6px 0 0; outline: 2px solid var(--v3-sheet); outline-offset: 0; }
.v3-palette .v3-pal-vara > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.v3-palette .v3-pal-aside { display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; max-width: 200px; }
.v3-palette .v3-pal-aside > .state-chip { flex: none; max-width: 200px; }
.v3-palette .v3-pal-enter { visibility: hidden; }
.v3-palette .v3-pal-item[aria-selected=true] .v3-pal-enter { visibility: visible; }
.v3-palette .v3-pal-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 36px 24px; color: var(--v3-subtle); text-align: center; }
.v3-palette .v3-pal-empty .v3-i { width: 20px; height: 20px; color: var(--v3-faint); }
.v3-palette .v3-pal-empty p { margin: 0; font: 400 13px/20px var(--v3-font); }
.v3-palette .v3-palette-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 38px;
  padding: 0 14px;
  border-top: 1px solid var(--v3-line-soft);
  background: var(--v3-surface-2);
  color: var(--v3-subtle);
  font: 500 12px/1.3 var(--v3-font);
}
.v3-palette .v3-palette-foot.is-offline { border-top-color: var(--v3-warn-line); background: var(--v3-warn-bg); color: var(--v3-warn-fg); }
.v3-palette .v3-palette-source { display: inline-flex; align-items: center; gap: 7px; min-width: 0; }
.v3-palette .v3-palette-source .v3-i { width: 14px; height: 14px; }
.v3-palette .v3-palette-foot.is-offline .v3-palette-source .v3-i { color: var(--v3-warn-icon); }
.v3-palette .v3-palette-hints { display: inline-flex; align-items: center; gap: 12px; flex: none; }
.v3-palette .v3-palette-hint { display: inline-flex; align-items: center; gap: 5px; }
.v3-palette .v3-palette-foot.is-offline .v3-palette-hint { color: var(--v3-warn-fg); }

.v3-keys {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 61;
  width: min(760px, 100vw - 32px);
  max-height: calc(100vh - 64px);
  overflow-y: auto;
  border-radius: var(--v3-r-2xl);
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-overlay);
  color: var(--v3-text-2);
  font-size: 13px;
  transform: translate(-50%, -50%);
}
.v3-keys .v3-keys-head { display: flex; align-items: center; gap: 12px; padding: 18px 16px 14px 20px; border-bottom: 1px solid var(--v3-line-soft); }
.v3-keys .v3-keys-icon { width: 18px; height: 18px; color: var(--v3-muted); }
.v3-keys .v3-keys-title { flex: 1 1 auto; margin: 0; color: var(--v3-text); font: 600 15px/22px var(--v3-font); letter-spacing: -.01em; }
.v3-keys .v3-keys-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 32px; padding: 14px 20px 20px; }
.v3-keys .v3-keys-group-title { margin: 6px 0 6px; color: var(--v3-subtle); font: 600 11px/14px var(--v3-font); letter-spacing: .06em; text-transform: uppercase; }
.v3-keys:focus { outline: none; }
.v3-keys .v3-keys-list { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: center; gap: 0 14px; margin: 0; }
.v3-keys .v3-keys-list dt { display: flex; align-items: center; gap: 4px; min-height: 34px; margin: 0; border-top: 1px solid var(--v3-line-soft); }
.v3-keys .v3-keys-list dd { min-height: 34px; display: flex; align-items: center; margin: 0; border-top: 1px solid var(--v3-line-soft); color: var(--v3-text-2); font: 400 13px/18px var(--v3-font); }
.v3-keys .v3-keys-list dt:first-of-type, .v3-keys .v3-keys-list dt:first-of-type + dd { border-top: 0; }
.v3-keys .v3-keys-or { color: var(--v3-faint); font-size: 11px; }

/* ------------------------------------------------------------------ esqueletos (carregando) */
.v3-skel {
  display: block;
  border-radius: var(--v3-r-sm);
  background: linear-gradient(90deg, #f1f1f3 0%, #f1f1f3 35%, #f7f7f8 50%, #f1f1f3 65%, #f1f1f3 100%) 0 0 / 300% 100%;
  animation: v3-shimmer 1.2s linear infinite;
}
@keyframes v3-shimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }
.v3-skel-line { height: 10px; border-radius: 5px; }
.v3-skel-line.is-tall { height: 16px; border-radius: 6px; }
.v3-skel-line.is-thin { height: 8px; border-radius: 4px; }
.v3-skel-line.is-pill { height: 20px; border-radius: var(--v3-r-pill); }
.v3-skel-circle { border-radius: 50%; }
.v3-skel.w-20 { width: 20%; } .v3-skel.w-30 { width: 30%; } .v3-skel.w-40 { width: 40%; } .v3-skel.w-50 { width: 50%; }
.v3-skel.w-60 { width: 60%; } .v3-skel.w-70 { width: 70%; } .v3-skel.w-80 { width: 80%; } .v3-skel.w-90 { width: 90%; }
.v3-skel.w-tab { width: 96px; }
.v3-skel-block.is-tile { width: 36px; height: 36px; border-radius: 10px; }
.v3-skel-block.is-search { width: 280px; height: 32px; border-radius: var(--v3-r-md); }
.v3-skel-block.is-select { width: 120px; height: 32px; border-radius: var(--v3-r-md); }
.v3-skel-block.is-chip { width: 88px; height: 30px; border-radius: var(--v3-r-pill); }
.v3-skel-page { margin: 0; }
.v3-skel-stack { display: flex; flex: 1 1 auto; flex-direction: column; gap: 8px; min-width: 0; }
.v3-skel-page[data-kind="carteira"] .v3-skel-card { overflow: hidden; border-radius: var(--v3-r-lg); box-shadow: var(--v3-sh-ring); }
.v3-skel-page[data-kind="carteira"] .v3-skel-title { display: flex; flex-direction: column; gap: 8px; padding: 16px 20px 6px; }
.v3-skel-page[data-kind="carteira"] .v3-skel-title .v3-skel { max-width: 320px; }
.v3-skel-page[data-kind="carteira"] .v3-skel-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 20px 12px; }
.v3-skel-page[data-kind="carteira"] .v3-skel-row {
  display: grid;
  grid-template-columns: 196px minmax(200px, 1fr) 160px 196px 152px 140px 88px;
  align-items: center;
  height: 64px;
  border-top: 1px solid var(--v3-line-soft);
}
.v3-skel-page[data-kind="carteira"] .v3-skel-row.is-head { height: 36px; background: var(--v3-surface-2); }
.v3-skel-page[data-kind="carteira"] .v3-skel-row.is-head .v3-skel { width: 48px; }
.v3-skel-page[data-kind="carteira"] .v3-skel-cell { display: flex; flex-direction: column; justify-content: center; gap: 8px; min-width: 0; padding: 0 12px; }
.v3-skel-page[data-kind="carteira"] .v3-skel-cell[data-col="processo"] { padding-left: 20px; }
.v3-skel-page[data-kind="processo"] { display: grid; grid-template-columns: minmax(0, 1fr) var(--v3-props-w); gap: 24px; }
.v3-skel-page[data-kind="processo"] .v3-skel-main { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.v3-skel-page[data-kind="processo"] .v3-skel-main > .is-tall { max-width: 260px; }
.v3-skel-page[data-kind="processo"] .v3-skel-tabs { display: flex; gap: 24px; padding: 12px 0; border-bottom: 1px solid var(--v3-line); }
.v3-skel-page[data-kind="processo"] .v3-skel-item { display: flex; align-items: center; gap: 12px; height: 56px; padding: 0 4px; border-bottom: 1px solid var(--v3-line-soft); }
.v3-skel-page[data-kind="processo"] .v3-skel-item > .v3-skel-line:last-child { flex: none; width: 72px; }
.v3-skel-page[data-kind="processo"] .v3-skel-side { display: flex; flex-direction: column; gap: 12px; }
.v3-skel-page[data-kind="processo"] .v3-skel-group { display: flex; flex-direction: column; gap: 12px; padding: 14px 16px; border-radius: var(--v3-r-lg); box-shadow: var(--v3-sh-ring); }
.v3-skel-page[data-kind="processo"] .v3-skel-prop { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 12px; }
.v3-skel-page[data-kind="processo"] .v3-skel-prop .v3-skel { width: auto; }

/* ------------------------------------------------------------------ marcação nova do modal do PJe
   O cabeçalho e o rodapé do modal agora são <header>/<footer> e os TRTs um <fieldset>: aqui só se anulam as regras
   legadas de elemento (header/footer da página, borda padrão do fieldset), para o modal continuar como antes até a folha
   v3-dialogos.css (dona do visual do modal) desenhá-lo. Nenhuma cor, tipografia ou medida nova. */
header.v3-dlg-head, footer.v3-dlg-foot {
  display: block;
  position: static;
  z-index: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
fieldset.v3-trt-grid { min-width: 0; padding: 0; border: 0; }

/* ------------------------------------------------------------------ /configuracoes e /cadastro-perito na moldura */
body.v3-shell main.config-main.v3-sheet {
  display: block;
  max-width: none;
  min-height: calc(100vh - var(--v3-bar-h) - var(--v3-gap));
  margin: 0 var(--v3-gap) var(--v3-gap) 0;
  padding: var(--v3-sheet-pad) var(--v3-sheet-pad) 32px;
  border: 0;
  border-radius: var(--v3-r-xl);
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-sheet);
  font-family: var(--v3-font);
}
/* Cadastro: só geometria da folha (a prévia do papel timbrado herda do body e não pode mudar). O legado declara
   margem, largura e respiro com !important; a folha precisa do mesmo peso para vencer. */
body.v3-shell main.perito-main-container.v3-sheet {
  display: block !important;
  max-width: none !important;
  min-height: calc(100vh - var(--v3-bar-h) - var(--v3-gap));
  margin: 0 var(--v3-gap) var(--v3-gap) 0 !important;
  padding: var(--v3-sheet-pad) var(--v3-sheet-pad) 32px !important;
  border-radius: var(--v3-r-xl);
  background: var(--v3-sheet);
  box-shadow: var(--v3-sh-sheet);
}

/* ------------------------------------------------------------------ movimento reduzido */
/* Movimento reduzido: rede de segurança de todas as telas v3 (as regras por tela abaixo e nas outras folhas continuam).
   !important vence qualquer especificidade das regras animadas; a prévia do papel timbrado (R2, dentro de .v3-cad-stage)
   fica de fora. */
@media (prefers-reduced-motion: reduce) {
  body.v3 *:not(.v3-cad-stage *),
  body.v3 *:not(.v3-cad-stage *)::before,
  body.v3 *:not(.v3-cad-stage *)::after,
  body.v3 dialog::backdrop {
    animation-duration: .01ms !important;
    animation-delay: 0s !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    transition-delay: 0s !important;
    scroll-behavior: auto !important;
  }
}
/* Alto contraste (forced-colors): os ícones são máscaras pintadas com currentColor; sem isto o navegador troca o fundo pela
   cor do Canvas e o ícone some (inclusive nos botões só com ícone). O ícone (e o pseudo-elemento) sai do ajuste e passa a
   usar a cor de texto do sistema; fundos próprios dos pseudo-elementos (pontos, faixas) ficam como estão. */
@media (forced-colors: active) {
  body.v3 .v3-i,
  body.v3 *:not(.v3-cad-stage *)::before,
  body.v3 *:not(.v3-cad-stage *)::after { forced-color-adjust: none; color: CanvasText !important; }
}
@media (prefers-reduced-motion: reduce) {
  .v3-skel, .v3-i.v3-i-spinner, .v3-menu, .v3-palette, .v3-scrim, .v3-toast,
  body.v3-shell #workspace-page > #work-message,
  body.v3-shell #workspace-page .sync-panel.is-running::after,
  body.v3-shell > header.v3-topbar .btn-open-sync:disabled::before { animation: none; }
  body.v3-shell .app-sidebar, body.v3-shell .app-sidebar .v3-group-chevron, .v3-btn { transition: none; }
}
