:root {
  --bg: #0b1220;
  --bg2: #0e1a2e;
  --surface: rgba(255,255,255,.94);
  --surface-solid: #ffffff;
  --surface-dark: rgba(15,23,42,.88);
  --text: #101826;
  --muted: #5b6472;
  --muted-dark: #94a3b8;
  --line: rgba(100,116,139,.22);
  --line-strong: rgba(100,116,139,.38);
  /* Paleta reduzida a UMA família de cor (azul-marinho) em vez de
     azul→violeta — lido como "escritório de advocacia/financeiro", não
     "startup de IA". --primary2 é o mesmo matiz, só mais escuro, então
     todo gradiente 135deg vira um degradê monocromático discreto. */
  --primary: #1d4ed8;
  --primary2: #172554;
  --accent: #0f8a7e;
  --gold: #b45309;
  --danger: #dc2626;
  --ok: #15803d;
  --radius: 14px;
  --radius-sm: 10px;
  --radius-lg: 18px;
  --shadow: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.08);
  --shadow-strong: 0 4px 12px rgba(15,23,42,.10), 0 16px 40px rgba(15,23,42,.16);
}
/* Colunas de número (valores, datas, contadores) não devem "andar" ao
   trocar de dígito — mesmo princípio usado em painéis financeiros. */
.metric strong, .plan-card-price, .case-ribbon-stats strong,
.data-table td, td, .badge { font-variant-numeric: tabular-nums; }

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(29,78,216,.28), transparent 34rem),
    radial-gradient(circle at 85% 10%, rgba(15,138,126,.14), transparent 32rem),
    linear-gradient(160deg, #0b1220 0%, #0e1a2e 55%, #0f172a 100%);
}

.hidden { display: none !important; }

/* Indicador global de processamento: fica invisível (opacity 0) o tempo
   todo e só aparece enquanto existe pelo menos 1 chamada api() em voo —
   contador em app.js, não estado por botão. Cobre toda ação que passa por
   api() de graça, sem precisar tocar em cada um dos handlers de clique. */
#global-progress-bar {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 3px;
  z-index: 9999;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
#global-progress-bar.active { opacity: 1; }
#global-progress-bar::before {
  content: '';
  position: absolute;
  top: 0; left: -30%;
  width: 30%; height: 100%;
  background: linear-gradient(90deg, transparent, var(--primary), var(--accent), transparent);
  animation: global-progress-slide 1.1s ease-in-out infinite;
}
@keyframes global-progress-slide {
  0% { left: -30%; }
  100% { left: 100%; }
}

.auth-screen {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(340px, 520px) minmax(420px, 660px);
  align-items: start;
  justify-content: center;
  gap: 48px;
  padding: 44px;
  position: relative;
  overflow: hidden;
}
.auth-orb { position: absolute; border-radius: 999px; filter: blur(10px); opacity: .4; pointer-events: none; }
.orb-a { width: 360px; height: 360px; background: radial-gradient(circle, rgba(29,78,216,.5), transparent 68%); left: -80px; top: -60px; }
.orb-b { width: 420px; height: 420px; background: radial-gradient(circle, rgba(15,138,126,.32), transparent 68%); right: -120px; bottom: -120px; }
.auth-card, .auth-preview {
  position: relative;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  backdrop-filter: blur(24px);
  box-shadow: var(--shadow-strong);
  border-radius: 20px;
  color: #fff;
}
.auth-card { padding: 38px; }
.auth-brand { display: flex; gap: 14px; align-items: center; margin-bottom: 34px; }
.auth-brand strong { display: block; font-size: 18px; }
.auth-brand span { color: var(--muted-dark); font-size: 13px; }
.brand-mark.large { width: 52px; height: 52px; font-size: 22px; filter: drop-shadow(0 8px 18px rgba(59,130,246,.35)); }
.auth-card h1 { margin: 0 0 14px; font-size: clamp(34px, 4vw, 56px); line-height: .95; letter-spacing: -.06em; }
.auth-card p { margin: 0 0 22px; color: #cbd5e1; line-height: 1.6; }
.app-loading-card { text-align: center; }
.app-loading-card h1 { font-size: clamp(24px, 3vw, 34px); }
.app-loading-spinner {
  width: 52px;
  height: 52px;
  margin: 0 auto 24px;
  border-radius: 999px;
  border: 4px solid rgba(255,255,255,.18);
  border-top-color: var(--accent);
  animation: app-loading-spin .8s linear infinite;
}
@keyframes app-loading-spin { to { transform: rotate(360deg); } }
.login-form { display: grid; gap: 14px; margin-top: 22px; }
.login-form label { color: #e2e8f0; }
.login-form input { background: rgba(15,23,42,.62); color: #fff; border-color: rgba(255,255,255,.18); }
.auth-switch { margin: 18px 0 0; color: #cbd5e1; font-size: 13px; }
.link-btn { background: none; border: none; padding: 0; color: #7dd3fc; font: inherit; font-weight: 700; cursor: pointer; text-decoration: underline; }
.link-btn:hover { color: #bae6fd; }
.auth-demo { margin-top: 18px; padding: 14px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(15,23,42,.36); display: grid; gap: 6px; color: #cbd5e1; font-size: 13px; }
.auth-demo strong { color: #fff; }
.auth-preview { padding: 30px; min-height: 460px; align-self: stretch; display: flex; flex-direction: column; justify-content: center; }
.preview-top { display: flex; gap: 8px; margin-bottom: 26px; }
.preview-top span { width: 11px; height: 11px; border-radius: 50%; background: #94a3b8; }
.auth-preview h2 { margin: 0 0 18px; font-size: 26px; letter-spacing: -.04em; }
.preview-features { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.preview-features li { display: grid; gap: 3px; padding: 12px 15px; border-radius: 16px; background: rgba(15,23,42,.42); border: 1px solid rgba(255,255,255,.14); }
.preview-features li strong { font-size: 14.5px; letter-spacing: -.02em; color: #fff; }
.preview-features li strong::before {
  content: '';
  display: inline-block;
  width: 14px; height: 14px;
  margin-right: 7px;
  vertical-align: -2px;
  background: currentColor;
  color: #5eead4;
  /* mesmo desenho do ícone "confirmar" do conjunto (public/icons.js) */
  -webkit-mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  mask: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
.preview-features li span { color: #cbd5e1; font-size: 12.5px; line-height: 1.4; }

#app-shell {
  display: grid;
  grid-template-columns: 288px minmax(0, 1fr);
  min-height: 100vh;
}
.mobile-nav-toggle { display: none; }
.sidebar-backdrop { display: none; }
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 24px;
  color: #fff;
  background: linear-gradient(180deg, rgba(8,13,26,.96), rgba(15,23,42,.92));
  border-right: 1px solid rgba(255,255,255,.1);
  box-shadow: 18px 0 55px rgba(2,6,23,.26);
  display: flex;
  flex-direction: column;
  gap: 22px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.25) transparent;
}
.sidebar::-webkit-scrollbar { width: 8px; }
.sidebar::-webkit-scrollbar-thumb { background: rgba(255,255,255,.2); border-radius: 999px; }
.sidebar-foot { margin-top: auto; display: grid; gap: 10px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.1); }
.sidebar-user-chip { display: grid; gap: 2px; padding: 10px 12px; border-radius: 14px; background: rgba(255,255,255,.06); }
.sidebar-user-chip span { font-weight: 900; font-size: 13px; color: #fff; }
.sidebar-user-chip small { color: #94a3b8; font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; }
.sidebar-foot-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sidebar-foot-row .badge { background: rgba(255,255,255,.08); color: #cbd5e1; border-color: rgba(255,255,255,.16); }
.sidebar-foot-row .btn.subtle { background: rgba(255,255,255,.08); color: #e2e8f0; border-color: rgba(255,255,255,.16); }
.sidebar-foot-row .btn.subtle:hover { background: rgba(255,255,255,.16); }
.brand { display: flex; align-items: center; gap: 12px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.1); }
.brand-mark { width: 42px; height: 42px; object-fit: contain; display: block; filter: drop-shadow(0 6px 14px rgba(59,130,246,.35)); }
.brand strong { display: block; letter-spacing: -.03em; }
.brand span { color: #94a3b8; font-size: 13px; }
.nav { display: grid; gap: 9px; }
.nav button {
  width: 100%;
  border: 1px solid transparent;
  background: transparent;
  color: #cbd5e1;
  text-align: left;
  padding: 13px 14px;
  border-radius: 15px;
  font-weight: 780;
  cursor: pointer;
  transition: .18s ease;
}
.nav button:hover { background: rgba(255,255,255,.08); color: #fff; transform: translateX(2px); }
.nav button.active { background: linear-gradient(135deg, var(--primary), var(--primary2)); color: #fff; border-color: rgba(255,255,255,.14); box-shadow: 0 6px 16px rgba(29,78,216,.28); }
.nav-group-label { margin: 10px 2px -2px; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; color: #64748b; }
.nav-group { margin: 4px 0; }
.nav-group-items { display: grid; gap: 9px; margin-top: 9px; }
.nav-group:not([open]) .nav-group-items { display: none; }
.nav-group-summary {
  list-style: none;
  cursor: pointer;
  padding: 10px 14px;
  border-radius: 15px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #93c5fd;
  background: rgba(255,255,255,.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.nav-group-summary::-webkit-details-marker, .nav-group-summary::marker { display: none; content: ''; }
.nav-group-summary::after {
  content: '▾';
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: #0f172a;
  background: #fff;
  border-radius: 50%;
  transition: transform .18s ease;
}
.nav-group[open] > .nav-group-summary::after { transform: rotate(180deg); }
.main { padding: 22px 24px; min-width: 0; background: linear-gradient(180deg, rgba(248,250,252,.96), rgba(241,245,249,.96)); }
.topbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; margin-bottom: 14px; }
.topbar h1 { margin: 0; font-size: clamp(24px, 2.6vw, 34px); line-height: 1; letter-spacing: -.06em; color: #08111f; }
.topbar p { margin: 6px 0 0; color: var(--muted); max-width: 780px; }
.topbar-actions { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.topbar-actions .case-selector { flex: 0 0 auto; }
#new-case-open.icon-only { width: 40px; flex-shrink: 0; }
/* A busca por significado e o diferencial do produto e ocupava meia linha,
   com um selo desenhado no CSS que nunca foi ligado. Agora toma a largura da
   barra e se anuncia: selo dizendo em que modo esta, exemplo de consulta no
   lugar do rotulo generico, e o atalho de teclado a vista. */
.global-search {
  display: flex;
  align-items: center;
  gap: 0;
  flex: 1 1 auto;
  min-width: 0;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: #fff;
  box-shadow: var(--shadow);
  overflow: hidden;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.global-search:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(29,78,216,.14); }
.global-search-badge { flex-shrink: 0; margin-left: 12px; padding: 3px 9px; border-radius: 999px; background: linear-gradient(135deg, var(--primary), var(--primary2)); color: #fff; font-size: 10px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
/* Sem chave de IA o indice cai para palavra-chave. Manter o selo azul ali
   seria propaganda enganosa dentro do proprio produto. */
.global-search-badge.palavra-chave { background: #e2e8f0; color: #475569; }
.global-search-kbd {
  flex-shrink: 0; margin-right: 6px; padding: 3px 7px; border-radius: 6px;
  border: 1px solid var(--line-strong); border-bottom-width: 2px; background: #f8fafc;
  color: #64748b; font-family: inherit; font-size: 11px; font-weight: 700; letter-spacing: .02em;
}
@media (max-width: 860px) { .global-search-kbd { display: none; } }
.global-search input { flex: 1; min-width: 0; border: 0; background: transparent; padding: 11px 4px 11px 10px; font-size: 14px; font-weight: 650; color: #1e293b; }
.global-search input::placeholder { color: #64748b; font-weight: 550; }
.global-search input:focus { outline: none; }
.global-search .btn.icon-only { border: 0; border-radius: 0; background: transparent; width: 42px; color: #1d4ed8; flex-shrink: 0; }
.global-search .btn.icon-only:hover { background: rgba(29,78,216,.14); }
@media (max-width: 1100px) {
  .global-search input::placeholder { font-size: 13px; }
}
.btn {
  border: 0;
  border-radius: 14px;
  padding: 10px 14px;
  font-weight: 850;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
}
.btn:hover { transform: translateY(-1px); }
.btn.primary { background: linear-gradient(135deg, var(--primary), var(--primary2)); color: #fff; box-shadow: 0 14px 32px rgba(29,78,216,.22); }
.btn.ghost { background: #fff; color: #0f172a; border: 1px solid var(--line); }
.btn.ghost.active { background: linear-gradient(135deg, var(--primary), var(--primary2)); color: #fff; border-color: transparent; box-shadow: 0 8px 20px rgba(29,78,216,.22); }
.btn.subtle { background: #e2e8f0; color: #334155; }
.btn.danger { background: #fee2e2; color: #991b1b; }
.btn.small { min-height: 31px; padding: 7px 10px; font-size: 12px; border-radius: 11px; }
.btn.icon-only { padding: 0; width: 31px; gap: 0; }
.btn.icon-only svg { width: 15px; height: 15px; }
.btn.full { width: 100%; }
/* Ícone pequeno ao lado de texto (tag, joinha, check de checklist) — ao
   contrário de .btn.icon-only (botão só com ícone), aqui o SVG entra
   embutido no meio de um rótulo de texto já existente. */
.icon-sm { display: inline-flex; width: 13px; height: 13px; vertical-align: -2px; margin-right: 4px; flex-shrink: 0; }
.icon-sm svg { width: 100%; height: 100%; }
.star-rating { display: inline-flex; gap: 1px; color: var(--gold); vertical-align: -3px; }
.star-rating svg { width: 15px; height: 15px; }
.org-user-reset { display: inline-block; }
.org-user-reset summary.btn { list-style: none; }
.org-user-reset summary.btn::-webkit-details-marker, .org-user-reset summary.btn::marker { display: none; content: ''; }
.org-admin-extra { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--line); display: flex; gap: 8px; flex-wrap: wrap; }
.org-limits-box { display: flex; gap: 10px; margin-top: 8px; flex-wrap: wrap; align-items: flex-end; }
.org-limits-box label { display: flex; flex-direction: column; gap: 2px; font-size: 11px; color: var(--muted); }
.org-limits-box input { width: 170px; }
.org-block-list { display: flex; flex-direction: column; gap: 10px; margin-top: 8px; min-width: 240px; }
.org-block-row { display: flex; align-items: flex-start; gap: 8px; cursor: pointer; }
.org-block-row input { width: auto !important; margin-top: 3px; flex-shrink: 0; }
.org-block-row strong { display: block; font-size: 13px; font-weight: 750; }
.org-block-row small { display: block; color: var(--muted); font-size: 11px; margin-top: 1px; }
.btn[hidden] { display: none; }
button[disabled], input[disabled], textarea[disabled], select[disabled] { opacity: .58; cursor: not-allowed; }
.notice { margin: 0 0 14px; padding: 11px 15px; border-radius: 16px; background: linear-gradient(135deg, #fff7ed, #eff6ff); border: 1px solid #fed7aa; color: #7c2d12; box-shadow: 0 12px 30px rgba(15,23,42,.05); }
.view { display: none; }
.view.active { display: block; animation: viewIn .2s ease; }
@keyframes viewIn { from { opacity: .2; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.grid { display: grid; gap: 14px; }
.metrics { grid-template-columns: repeat(4, minmax(170px, 1fr)); margin-bottom: 14px; }
.metric { background: linear-gradient(145deg, #fff, #f8fafc); border: 1px solid var(--line); border-radius: 20px; padding: 15px; box-shadow: var(--shadow); position: relative; overflow: hidden; }
.metric::after { content: ''; position: absolute; right: -24px; top: -28px; width: 92px; height: 92px; border-radius: 999px; background: rgba(29,78,216,.08); }
.metric span { color: var(--muted); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.metric strong { display: block; font-size: 28px; margin-top: 4px; letter-spacing: -.06em; }
.metric em { display: block; font-style: normal; color: var(--muted); margin-top: 2px; font-size: 12px; }
.split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: 14px; }
.split.wide-left { grid-template-columns: minmax(0, 1.55fr) minmax(340px, .8fr); }
.panel { background: var(--surface); border: 1px solid rgba(255,255,255,.78); border-radius: var(--radius); box-shadow: var(--shadow); padding: 16px; min-width: 0; backdrop-filter: blur(16px); }
.panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.panel-head h2 { margin: 0; font-size: 21px; letter-spacing: -.04em; }
.panel-head p { margin: 5px 0 0; color: var(--muted); font-size: 14px; }
/* O detalhe que não precisa estar sempre na cara. O subtítulo de cada painel
   dizia o manual inteiro — em média 170 caracteres, 46 painéis acima de 120 —
   e o usuário foi direto ao ponto: "existem coisas desnecessárias". A primeira
   frase ficou na tela; o resto mora aqui, a um clique, sem sumir. */
.ajuda-do-painel { margin: 6px 0 0; }
.ajuda-do-painel > summary { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; list-style: none; color: var(--muted); font-size: 12px; text-decoration: underline dotted; text-underline-offset: 3px; }
.ajuda-do-painel > summary::-webkit-details-marker, .ajuda-do-painel > summary::marker { display: none; content: ''; }
.ajuda-do-painel > summary::before { content: '?'; display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; border-radius: 50%; border: 1px solid currentColor; font-size: 9.5px; line-height: 1; }
.ajuda-do-painel > summary:hover { color: var(--text, #0f172a); }
.ajuda-do-painel p { margin: 6px 0 0; color: var(--muted); font-size: 13px; max-width: 68ch; }

.panel-head-summary { cursor: pointer; list-style: none; }
.panel-head-summary::-webkit-details-marker, .panel-head-summary::marker { display: none; content: ''; }
.panel-head-summary h2 { margin: 0; font-size: 21px; letter-spacing: -.04em; }
.panel-head-summary p { margin: 5px 0 0; color: var(--muted); font-size: 14px; }
details > .panel-head-summary { margin-bottom: 12px; }
details[open] > .panel-head-summary { margin-bottom: 16px; }
.agent-head-badges { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex-shrink: 0; }
.case-list { display: grid; gap: 11px; }
.case-card { border: 1px solid var(--line); background: #fff; padding: 15px; border-radius: 18px; cursor: pointer; transition: .16s ease; }
.case-card:hover { border-color: #93c5fd; transform: translateY(-2px); box-shadow: 0 18px 36px rgba(29,78,216,.12); }
.case-card.active { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(29,78,216,.12), 0 18px 36px rgba(29,78,216,.12); }
.case-card h3 { margin: 0; font-size: 16px; letter-spacing: -.02em; }
.case-card p { margin: 6px 0 10px; color: var(--muted); font-size: 13px; line-height: 1.4; }
.meta-line { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.badge { display: inline-flex; align-items: center; gap: 5px; padding: 5px 9px; border-radius: 999px; font-size: 12px; font-weight: 850; background: #eff6ff; color: #1d4ed8; }
.badge.risk-Alto, .badge.risk-Crítico, .badge.critical { background: #fee2e2; color: #991b1b; }
.badge.risk-Médio { background: #fef3c7; color: #92400e; }
.badge.ok { background: #dcfce7; color: #166534; }
.badge.gray { background: #f1f5f9; color: #475569; }
.empty-state { padding: 25px; border-radius: 18px; background: #f8fafc; border: 1px dashed #cbd5e1; color: var(--muted); line-height: 1.5; }
.onboarding-empty { padding: 28px; border-radius: 18px; background: #f8fafc; border: 1px dashed #cbd5e1; }
.onboarding-empty h3 { margin: 0 0 6px; font-size: 18px; color: #0f172a; }
.onboarding-empty p { margin: 0 0 14px; color: var(--muted); }
.onboarding-steps { margin: 0 0 20px; padding-left: 22px; color: #334155; line-height: 1.7; }
.onboarding-steps li { margin-bottom: 4px; }
.onboarding-steps strong { color: #0f172a; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.form-grid.compact { gap: 10px; }
.form-grid.one-col { grid-template-columns: 1fr; }
.form-grid[hidden] { display: none; }
label { display: grid; gap: 6px; color: #334155; font-weight: 820; font-size: 13px; }
.required-mark { color: #b91c1c; }
input, textarea, select { width: 100%; border: 1px solid #cbd5e1; border-radius: 14px; padding: 11px 12px; background: #fff; color: var(--text); outline: none; transition: .15s ease; font: inherit; }
textarea { resize: vertical; min-height: 72px; }
input:focus, textarea:focus, select:focus { border-color: #60a5fa; box-shadow: 0 0 0 4px rgba(96,165,250,.18); }
.span-2 { grid-column: 1 / -1; }
.form-section-title { grid-column: 1 / -1; margin: 4px 0 -4px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 13px; font-weight: 850; color: #64748b; text-transform: uppercase; letter-spacing: .03em; }
.form-actions { display: flex; gap: 10px; justify-content: flex-end; align-items: center; margin-top: 3px; }
.cards { margin-top: 16px; display: grid; gap: 11px; }
.table-scroll { margin-top: 16px; overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.data-table th, .data-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.data-table th { font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); font-weight: 850; white-space: nowrap; }
.data-table tbody tr:hover { background: rgba(29,78,216,.05); }
.data-table td.table-actions { white-space: nowrap; }
.data-table td.table-actions .btn { margin: 0 4px 4px 0; }
.client-case-chip { display: inline-block; max-width: 170px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 3px 9px; border-radius: 999px; background: rgba(29,78,216,.08); border: 1px solid rgba(29,78,216,.18); font-size: 11px; cursor: pointer; margin: 2px 4px 2px 0; color: inherit; font-family: inherit; }
.client-case-chip:hover { background: rgba(29,78,216,.16); }
.evidence-card, .task-card, .audit-card { border: 1px solid var(--line); border-radius: 18px; padding: 14px; background: #fff; }
.evidence-card header, .audit-card header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.evidence-card h3, .task-card h3, .audit-card h3 { margin: 0; font-size: 15px; }
.evidence-card p, .task-card p, .audit-card p { color: var(--muted); margin: 8px 0 0; line-height: 1.45; font-size: 13px; }
.card-actions { display: flex; gap: 6px; flex-shrink: 0; }
.hash { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 11px; color: #64748b; word-break: break-all; margin-top: 9px; background: #f8fafc; padding: 8px; border-radius: 10px; }
details.hash > summary { font-family: inherit; font-size: 12px; cursor: pointer; }
.dropzone { min-height: 190px; border: 2px dashed #cbd5e1; border-radius: 22px; background: #f8fafc; display: grid; place-items: center; text-align: center; gap: 9px; padding: 20px; position: relative; cursor: pointer; }
.dropzone input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.dropzone strong { color: #1e293b; }
.dropzone span { color: var(--muted); font-size: 13px; max-width: 320px; }
.dropzone.dragover { background: #eff6ff; border-color: #60a5fa; }
.mini-help { margin-top: 14px; padding: 14px; background: #f8fafc; border-radius: 16px; color: #475569; line-height: 1.48; border: 1px solid var(--line); }
.mini-help p { margin: 6px 0 0; }
.mini-help-inline { margin: 10px 0 0; font-size: 13px; color: #475569; line-height: 1.5; }
.mini-help-inline strong { color: #1e293b; }
.artifact-output { margin-top: 16px; overflow: auto; }
.artifact-section { border: 1px solid var(--line); border-radius: 18px; overflow: hidden; margin: 12px 0; background: #fff; }
.artifact-section h3 { margin: 0; padding: 13px 15px; background: linear-gradient(135deg, #f8fafc, #eff6ff); border-bottom: 1px solid var(--line); font-size: 16px; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.artifact-section h3 .copy-text-btn { margin-left: auto; font-size: 12px; }
.artifact-details summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 15px; font-size: 13px; }
.artifact-details summary::-webkit-details-marker, .artifact-details summary::marker { display: none; content: ''; }
.artifact-details summary::before { content: '▸'; color: var(--muted); font-size: 11px; }
.artifact-details[open] summary::before { content: '▾'; }
.artifact-details-label { color: var(--muted); }
.review-control { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px dashed var(--line); }
.table-wrap { overflow-x: auto; }
/* Coluna de ações sempre visível mesmo com rolagem horizontal — tabela do
   Caminho Crítico ficou larga (datas reais em vez de números de hora) e o
   botão "Editar" saía da área visível sem essa fixação. */
#tasks-table table th:last-child, #tasks-table table td:last-child {
  position: sticky;
  right: 0;
  white-space: nowrap;
  box-shadow: -6px 0 8px -6px rgba(15,23,42,.2);
}
#tasks-table table th:last-child { background: #f8fafc; }
#tasks-table table td:last-child { background: var(--surface); }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th, td { border-bottom: 1px solid var(--line); padding: 10px; text-align: left; vertical-align: top; }
th { background: #f8fafc; color: #334155; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
pre { white-space: pre-wrap; font-family: ui-sans-serif, system-ui; background: #f8fafc; padding: 14px; border-radius: 14px; line-height: 1.57; }
.toolbar { display: flex; gap: 10px; align-items: center; }
.toolbar.wrap { flex-wrap: wrap; }
.select-inline { min-width: 220px; max-width: 290px; }
.critical-summary { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 10px; margin-bottom: 14px; }
.critical-box { border-radius: 18px; padding: 15px; background: linear-gradient(145deg, #f8fafc, #fff); border: 1px solid var(--line); }
.critical-box strong { display: block; font-size: 28px; letter-spacing: -.06em; }
.critical-box span { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; font-weight: 900; }
.critical-graph { display: grid; gap: 10px; margin-bottom: 16px; }
.graph-row { display: grid; grid-template-columns: 230px 1fr 80px; gap: 10px; align-items: center; cursor: pointer; border-radius: 10px; padding: 4px 6px; margin: 0 -6px; transition: background .12s ease; }
.graph-row:hover { background: rgba(29,78,216,.06); }
.graph-label { font-size: 13px; font-weight: 850; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.graph-track { height: 18px; background: #e2e8f0; border-radius: 999px; position: relative; overflow: hidden; }
.graph-bar { position: absolute; top: 0; bottom: 0; border-radius: 999px; background: linear-gradient(90deg, #60a5fa, #1d4ed8); min-width: 8px; }
.graph-bar.critical { background: linear-gradient(90deg, #f97316, #ef4444); }
.graph-bar.external { background: repeating-linear-gradient(135deg, #cbd5e1, #cbd5e1 6px, #94a3b8 6px, #94a3b8 12px); }
.badge.small-badge { padding: 2px 7px; font-size: 10px; }
.graph-hours { color: var(--muted); font-size: 12px; text-align: right; }
.task-actions { display: flex; gap: 6px; justify-content: flex-end; }
.analytics-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-bottom: 16px; }
.analytics-bar-list { display: grid; gap: 8px; }
.analytics-bar-row { display: grid; grid-template-columns: 150px 1fr 60px; gap: 10px; align-items: center; }
.analytics-bar-label { font-size: 13px; font-weight: 850; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.analytics-bar-track { height: 16px; background: #e2e8f0; border-radius: 999px; position: relative; overflow: hidden; }
.analytics-bar-fill { position: absolute; top: 0; bottom: 0; left: 0; border-radius: 999px; background: linear-gradient(90deg, #60a5fa, #1d4ed8); min-width: 6px; }
.analytics-bar-count { color: var(--muted); font-size: 12px; text-align: right; }
.analytics-trend { display: flex; align-items: flex-end; gap: 4px; height: 90px; padding-top: 10px; }
.analytics-trend-col { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 4px; }
.analytics-trend-bar { width: 100%; border-radius: 6px 6px 0 0; background: linear-gradient(180deg, #60a5fa, #1d4ed8); min-height: 3px; }
.analytics-trend-label { font-size: 9px; color: var(--muted); writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; }
.analytics-empty-note { color: var(--muted); font-size: 13px; padding: 10px 0; }
.chart-tabs { display: flex; gap: 6px; margin-bottom: 12px; flex-wrap: wrap; }
.chart-tab { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 6px 14px; font-size: 12px; font-weight: 700; color: var(--muted); cursor: pointer; }
.chart-tab.active { background: #1e293b; color: #fff; border-color: #1e293b; }
.analytics-subgrid { display: grid; gap: 10px 24px; align-items: start; }
.analytics-subgrid > div { grid-column: 1 / -1; padding-left: 0 !important; border-left: none !important; }
.analytics-subgrid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.analytics-subgrid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.analytics-subgrid > div + div { padding-left: 24px; border-left: 1px solid var(--line); }
.analytics-subgrid h3 { margin: 0 0 12px; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); font-weight: 850; }
.audit-list, .portal-updates-list { display: grid; gap: 10px; }
.audit-card footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; }
.portal-link-panel { display: grid; gap: 12px; }
.portal-link-active { display: flex; gap: 10px; align-items: center; }
.portal-link-active input { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; }
.provider-card { border: 1px solid var(--line); border-left: 4px solid var(--provider-accent, #64748b); border-radius: 18px; padding: 16px; background: #fff; margin-bottom: 12px; box-shadow: var(--shadow); }
.provider-card:last-child { margin-bottom: 0; }
.provider-card.is-default { box-shadow: 0 0 0 2px rgba(29,78,216,.22), var(--shadow); }
.provider-card.openai { --provider-accent: #10a37f; }
.provider-card.anthropic { --provider-accent: #d97757; }
.provider-card.gemini { --provider-accent: #4285f4; }
.provider-card.deepseek { --provider-accent: #635bff; }
.provider-card-head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.provider-avatar { width: 38px; height: 38px; border-radius: 12px; background: var(--provider-accent, #64748b); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 12px; flex-shrink: 0; }
.provider-card-title { flex: 1; min-width: 0; display: grid; gap: 7px; }
.provider-card-title strong { font-size: 15px; }
.provider-card-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.provider-card-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (max-width: 720px) { .provider-card-fields { grid-template-columns: 1fr; } }
.user-card-meta { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 9px; }
.plan-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.plan-card { border: 1px solid var(--line); border-top: 4px solid var(--plan-accent, #64748b); border-radius: 18px; padding: 16px; background: #fff; box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 10px; }
.plan-card.is-recommended { box-shadow: 0 0 0 2px rgba(29,78,216,.22), var(--shadow); }
.plan-card.essencial { --plan-accent: #94a3b8; }
.plan-card.profissional { --plan-accent: #3b82f6; }
.plan-card.gestao { --plan-accent: #7c3aed; }
.plan-card.enterprise { --plan-accent: #0f172a; }
.plan-card.private-ai { --plan-accent: #d97706; }
.plan-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 4px 8px; flex-wrap: wrap; }
.plan-card-head h3 { margin: 0; font-size: 16px; letter-spacing: -.03em; }
/* O preço quebrava a linha do cartão e saía cortado ("R$ 899–1.790/mê"): agora pode ir para a linha de baixo. */
.plan-card-price { font-weight: 900; font-size: 14px; color: var(--plan-accent, #334155); white-space: normal; text-align: right; margin-left: auto; }
.plan-card-price small { font-weight: 700; color: var(--muted); font-size: 11px; }
.plan-card-audience { margin: 0; color: var(--muted); font-size: 12.5px; line-height: 1.4; }
/* Conversar com o dossiê (A8): bloco no fim do painel de documentos — não é um
   painel da grade, senão empurra "Carga múltipla" para baixo da lista. */
.dossie-chat-bloco { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line, #e2e8f0); }
.dossie-chat-bloco .panel-head h2 { font-size: 17px; }
/* Perguntas à direita, respostas à esquerda com os chips de citação. */
.dossie-chat-messages { display: grid; gap: 10px; max-height: 460px; overflow: auto; padding: 4px 2px; }
.dossie-msg { max-width: 92%; padding: 10px 12px; border-radius: 12px; font-size: 13.5px; line-height: 1.5; }
.dossie-msg.user { justify-self: end; background: #e8eef8; color: #0f172a; border-bottom-right-radius: 4px; }
.dossie-msg.assistant { justify-self: start; background: #fff; border: 1px solid #e2e8f0; border-bottom-left-radius: 4px; }
.dossie-msg .dossie-meta { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 6px; font-size: 11.5px; color: var(--muted); }
.dossie-msg .dossie-meta .btn { margin-left: auto; }
.dossie-sugestoes { display: flex; gap: 6px; flex-wrap: wrap; margin: 8px 0; }
.dossie-sugestoes button { border: 1px solid #cbd5e1; background: #f8fafc; border-radius: 999px; padding: 4px 10px; font-size: 12px; cursor: pointer; }
.dossie-chat-form { gap: 8px; align-items: flex-start; }
.dossie-chat-form textarea { flex: 1; min-width: 200px; }
/* Base oficial (B1): consulta ao DataJud e conferência das citações da peça. */
.datajud-box { border: 1px solid var(--line, #e2e8f0); border-radius: 10px; padding: 12px 14px; margin-bottom: 14px; background: #fff; }
.datajud-box h3 { margin: 0 0 4px; font-size: 15px; }
.datajud-resultado { display: grid; gap: 4px; margin-top: 10px; font-size: 13px; }
.conferencia-oficial { margin: 10px 0; padding: 10px 12px; border: 1px solid var(--line, #e2e8f0); border-radius: 10px; font-size: 13px; }
.conferencia-oficial.com-pendencia { border-color: #f1b8b8; }
.conferencia-oficial .conferencia-cabecalho { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.conferencia-oficial .conferencia-itens { margin: 8px 0 0; padding-left: 18px; display: grid; gap: 6px; }
.conferencia-tese { margin: 4px 0; padding: 6px 10px; border-left: 3px solid #cbd5e1; background: #f8fafc; font-size: 12.5px; line-height: 1.45; white-space: pre-line; }
.legislacao-box { border: 1px dashed var(--line, #cbd5e1); border-radius: 10px; padding: 10px 12px; margin: 4px 0 8px; background: #fbfcfe; }
.peca-longa.dobrada { max-height: 900px; overflow: hidden; position: relative; }
.peca-longa.dobrada::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; background: linear-gradient(to bottom, rgba(255,255,255,0), #fff); pointer-events: none; }
.peca-longa-acoes { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 6px 0 2px; }
/* O lápis de editar o parágrafo só aparece no parágrafo em que o cursor está.
   Eram 47 deles de uma vez na tela. Em telefone e tablet, onde não há cursor
   que paire, continuam sempre visíveis. */
@media (hover: hover) {
  .peca-editavel .peca-bloco .peca-editar { opacity: 0; transition: opacity .12s ease-in; }
  .peca-editavel .peca-bloco:hover .peca-editar,
  .peca-editavel .peca-bloco:focus-within .peca-editar { opacity: 1; }
}
.autocheck-acoes { margin-top: 4px; }
.autocheck-acoes > summary { cursor: pointer; font-size: 12.5px; color: var(--muted, #64748b); }
.autocheck-acoes[open] > summary { margin-bottom: 6px; font-weight: 600; color: inherit; }
/* As seções de "Peças e Visual Law" e o bloco que explica o que é difícil. */
.secoes-de-pecas { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.secoes-de-pecas .ativo { font-weight: 600; }
.explicacao { margin: 10px 0 2px; padding: 10px 12px; border-left: 3px solid var(--brand, #1e3a8a); background: rgba(30,58,138,.05); border-radius: 0 8px 8px 0; }
.explicacao > summary { cursor: pointer; font-weight: 600; font-size: 13px; }
.explicacao[open] > summary { margin-bottom: 8px; }
.explicacao p { margin: 0 0 6px; font-size: 13px; line-height: 1.5; }
.explicacao p:last-child { margin-bottom: 0; }
.lote-juntar-linha td { background: rgba(30,58,138,.05); border-top: 0; }
.lote-juntar-opcoes { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.lote-juntar-opcoes .btn { text-align: left; }
.prompts-busca { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin: 10px 0 12px; }
.prompts-busca-campo { flex: 1 1 320px; max-width: 460px; }
.grupo-de-prompts { border: 1px solid var(--line, #e2e8f0); border-radius: 10px; margin-bottom: 8px; background: var(--surface, #fff); }
.grupo-de-prompts > summary { cursor: pointer; padding: 10px 14px; font-weight: 600; }
.grupo-de-prompts > .cards { padding: 0 14px 14px; }
.grupo-de-prompts.editados-aqui { border-color: var(--brand, #1e3a8a); }
.artifact-section.e-a-peca { border-left: 3px solid var(--brand, #1e3a8a); }
.partes-da-execucao { margin: 6px 0 2px; }
.btn-link { background: none; border: 0; padding: 0; color: var(--brand, #1e3a8a); cursor: pointer; font: inherit; text-decoration: underline; }
.lista-longa-rodape { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; justify-content: center; padding: 10px 0 2px; }
.cadastro-guardado { border: 1px dashed var(--line, #cbd5e1); border-radius: 10px; padding: 8px 12px; margin-bottom: 12px; background: #fbfcfe; }
.cadastro-guardado > summary { cursor: pointer; font-weight: 600; }
.catalogo-chamada { margin: 4px 0 14px; }
.catalogo-chamada-linha { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; border: 1px solid var(--line, #e2e8f0); border-left: 4px solid var(--brand, #1e3a8a); border-radius: 10px; padding: 12px 14px; background: #fff; }
.catalogo-chamada-linha strong { display: block; font-size: 15px; }
.catalogo-chamada-linha span { display: block; color: var(--muted, #64748b); font-size: 13px; margin-top: 2px; max-width: 62ch; }
.catalogo-chamada-aviso { margin: 8px 0 0; font-size: 13px; color: var(--muted, #64748b); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.catalogo-guardado { margin: 10px 0; border: 1px solid var(--line, #e2e8f0); border-radius: 10px; padding: 8px 12px; background: #fbfcfe; }
.catalogo-guardado > summary { cursor: pointer; font-weight: 600; }
.lote-ia-casos { max-height: 260px; overflow: auto; border: 1px solid var(--line, #e2e8f0); border-radius: 8px; padding: 8px 10px; margin: 6px 0; }
.lote-ia-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.lote-ia-lista li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.lote-ia-previa, .lote-ia-andamento { margin-top: 10px; font-size: 13px; }
.lote-ia-previa.com-pendencia { border-left: 3px solid #dc2626; padding-left: 10px; }
.lote-ia-fora td { opacity: .75; }
.corpus-resultado { margin-top: 10px; font-size: 13px; }
.corpus-cabecalho { margin-bottom: 6px; }
.corpus-bloco { margin: 6px 0; }
.corpus-bloco > summary { cursor: pointer; font-weight: 600; }
.corpus-lista { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 8px; }
.corpus-item { border: 1px solid var(--line, #e2e8f0); border-radius: 8px; padding: 8px 10px; background: #fff; }
.corpus-item-cabecalho { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.corpus-item-cabecalho .btn { margin-left: auto; }
.corpus-item .btn.salvo { opacity: .7; }
.corpus-item .conferencia-tese { max-height: 180px; overflow: auto; }
/* Implantação, paga uma vez, logo abaixo do preço mensal — a partir do Profissional. */
.plan-card-implantacao { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.4; }
.plan-card-implantacao strong { color: var(--plan-accent, #334155); font-weight: 700; }
.plan-card ul { margin: 0; padding-left: 18px; display: grid; gap: 4px; font-size: 12.5px; color: #334155; }
.plan-card ul li strong { color: #0f172a; }
.billing-table td:last-child { text-align: right; white-space: nowrap; }
.billing-table tr.billing-total td { border-top: 2px solid var(--ink, #0f172a); border-bottom: none; padding-top: 12px; }
dialog { border: 0; border-radius: 26px; padding: 0; box-shadow: var(--shadow-strong); max-width: 660px; width: calc(100% - 40px); }
dialog::backdrop { background: rgba(15,23,42,.58); backdrop-filter: blur(6px); }
.dialog-card { padding: 22px; display: grid; gap: 12px; background: #fff; border-radius: 26px; }
.icon-btn { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); background: #fff; border-radius: 12px; cursor: pointer; font-size: 24px; line-height: 1; }
.toast { position: fixed; right: 24px; bottom: 24px; background: #0f172a; color: #fff; padding: 13px 15px; border-radius: 16px; box-shadow: var(--shadow-strong); transform: translateY(20px); opacity: 0; pointer-events: none; transition: .18s ease; max-width: 460px; z-index: 100; }
.toast.show { opacity: 1; transform: translateY(0); }
.agent-filters { margin-bottom: 14px; }
.agent-filters input { max-width: 380px; }
.agent-list { display: grid; gap: 10px; max-height: 68vh; overflow: auto; padding-right: 4px; }
.agent-card { display: block; width: 100%; text-align: left; border: 1px solid var(--line); background: #fff; padding: 14px; border-radius: 18px; cursor: pointer; transition: .15s ease; }
.agent-card:hover { border-color: #93c5fd; box-shadow: 0 14px 30px rgba(29,78,216,.12); transform: translateY(-1px); }
.agent-card.active { border-color: var(--primary); box-shadow: 0 0 0 4px rgba(29,78,216,.12); }
.agent-card h3 { margin: 8px 0 4px; font-size: 15px; }
.agent-card p { margin: 0 0 6px; color: var(--muted); font-size: 13px; font-weight: 800; }
.agent-card small { color: var(--muted); line-height: 1.4; display: block; }
.agent-detail { margin-bottom: 14px; }
.agent-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 10px; }
.agent-head h2 { margin: 8px 0 6px; font-size: 22px; letter-spacing: -.04em; }
.agent-head p { margin: 0; color: var(--muted); line-height: 1.45; }
.prompt-preview { margin-top: 12px; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; background: #fff; }
.prompt-preview summary { cursor: pointer; padding: 12px 14px; background: #f8fafc; font-weight: 900; color: #334155; }
.prompt-preview pre { max-height: 360px; overflow: auto; margin: 0; border-radius: 0; border-top: 1px solid var(--line); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; }
.prompt-preview textarea { display: block; width: 100%; min-height: 200px; padding: 14px; border: 0; border-top: 1px solid var(--line); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12.5px; resize: vertical; background: #fff; color: #0f172a; }
.prompt-preview textarea:focus { outline: 2px solid var(--primary); outline-offset: -2px; }
.prompt-preview .card-actions { padding: 0 14px 14px; }
.prompt-history { border-top: 1px solid var(--line); }
.prompt-history-item { padding: 10px 14px; border-bottom: 1px solid var(--line); }
.prompt-history-item:last-child { border-bottom: none; }
.prompt-history-item pre { margin: 6px 0 0; max-height: 200px; overflow: auto; font-size: 11.5px; }
.settings-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.settings-tab { border: 1px solid var(--line); background: #fff; color: #334155; padding: 9px 16px; border-radius: 999px; font-weight: 850; cursor: pointer; box-shadow: var(--shadow); }
.settings-tab:hover { background: #f1f5f9; }
.settings-tab.active { background: linear-gradient(135deg, var(--primary), var(--primary2)); color: #fff; border-color: transparent; }
.settings-tab-panel { display: none; }
.settings-tab-panel.active { display: block; animation: viewIn .2s ease; }
.financial-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.financial-tab { border: 1px solid var(--line); background: #fff; color: #334155; padding: 9px 16px; border-radius: 999px; font-weight: 850; cursor: pointer; box-shadow: var(--shadow); }
.financial-tab:hover { background: #f1f5f9; }
.financial-tab.active { background: linear-gradient(135deg, var(--primary), var(--primary2)); color: #fff; border-color: transparent; }
.financial-tab-panel { display: none; }
.financial-tab-panel.active { display: block; animation: viewIn .2s ease; }
.workflow-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0 10px; }
.workflow-tab { border: 1px solid var(--line); background: #fff; color: #334155; padding: 9px 16px; border-radius: 999px; font-weight: 850; cursor: pointer; box-shadow: var(--shadow); }
.workflow-tab:hover { background: #f1f5f9; }
.workflow-tab.active { background: linear-gradient(135deg, var(--primary), var(--primary2)); color: #fff; border-color: transparent; }
.workflow-tab-panel { display: none; }
.workflow-tab-panel.active { display: block; animation: viewIn .2s ease; }

.kanban-board { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.kanban-column { background: #f8fafc; border: 1px solid var(--line); border-radius: 16px; padding: 12px; min-height: 120px; }
.kanban-column-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; font-weight: 850; color: #334155; }
.kanban-count { background: var(--line); border-radius: 999px; padding: 2px 10px; font-size: 12px; font-weight: 800; }
.kanban-card { background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--line); border-radius: 12px; padding: 10px 12px; margin-bottom: 10px; box-shadow: var(--shadow); }
.kanban-card.is-done { opacity: .78; }
.kanban-card-title { font-weight: 800; margin-bottom: 6px; }
.kanban-card-title.is-done { text-decoration: line-through; color: var(--muted); }
.kanban-card-meta { font-size: 12px; color: var(--muted); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 8px; }
.kanban-owner { display: inline-flex; align-items: center; gap: 5px; font-weight: 800; color: #334155; }
.kanban-owner-dot { width: 9px; height: 9px; border-radius: 999px; flex: none; }
.kanban-card-actions { display: flex; gap: 6px; justify-content: flex-end; }
@media (max-width: 900px) { .kanban-board { grid-template-columns: 1fr; } }
.task-title-done { text-decoration: line-through; color: var(--muted); }
tr.is-done-row { opacity: .78; }
.pix-charge-box { margin-top: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #f8fafc; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.financial-cashflow-chart { display: flex; align-items: flex-end; gap: 10px; height: 160px; padding: 10px 4px 0; overflow-x: auto; }
.financial-cashflow-col { flex: 1; min-width: 44px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 4px; }
.financial-cashflow-bars { display: flex; align-items: flex-end; gap: 3px; height: 100%; width: 100%; justify-content: center; }
.financial-cashflow-bar { width: 14px; border-radius: 4px 4px 0 0; min-height: 2px; }
.financial-cashflow-bar.receita { background: linear-gradient(180deg, #4ade80, #16a34a); }
.financial-cashflow-bar.despesa { background: linear-gradient(180deg, #f87171, #dc2626); }
.financial-cashflow-label { font-size: 10px; color: var(--muted); white-space: nowrap; }
.financial-legend { display: flex; gap: 16px; font-size: 12px; color: var(--muted); margin-bottom: 6px; }
.financial-legend span { display: inline-flex; align-items: center; gap: 6px; }
.financial-legend i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.financial-legend i.receita { background: #16a34a; }
.financial-legend i.despesa { background: #dc2626; }

.notif-wrap { position: relative; }
.notif-bell { position: relative; font-size: 16px; padding: 8px 11px; }
.notif-bell svg { width: 18px; height: 18px; display: block; }
.notif-bell .badge { position: absolute; top: -6px; right: -6px; min-width: 18px; height: 18px; padding: 0 4px; font-size: 10px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; }
.notif-panel { position: absolute; top: calc(100% + 8px); right: 0; width: 340px; max-height: 420px; overflow-y: auto; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 18px 40px rgba(15,23,42,.18); z-index: 60; }
.notif-panel-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.notif-list { display: flex; flex-direction: column; }
.notif-item { display: flex; align-items: flex-start; gap: 8px; padding: 10px 14px; border-bottom: 1px solid var(--line); }
.notif-item:last-child { border-bottom: none; }
.notif-item-body { flex: 1; min-width: 0; cursor: pointer; }
.notif-item-body strong { display: block; font-size: 13px; }
.notif-item-body span { font-size: 12px; color: var(--muted); }
.notif-item-dismiss { border: none; background: none; color: var(--muted); cursor: pointer; font-size: 15px; line-height: 1; padding: 2px 4px; }
.notif-item-dismiss:hover { color: #1e293b; }
.notif-empty { padding: 20px 14px; color: var(--muted); font-size: 13px; text-align: center; }

/* O QUE HA DE NOVO, ao lado do sino.
   Os dois botoes vivem dentro de .topbar-tools porque .topbar e um flex com
   space-between: um terceiro filho solto empurraria o sino para o meio. */
.topbar-tools { display: flex; align-items: center; gap: 8px; }
.novidades-btn { position: relative; display: inline-flex; align-items: center; gap: 7px; font-size: 13px; padding: 8px 12px; box-shadow: none; white-space: nowrap; }
.novidades-btn svg { width: 17px; height: 17px; display: block; flex: 0 0 auto; }
/* O pontinho so aparece quando ha versao que esta pessoa ainda nao abriu.
   E discreto de proposito: avisa, nao interrompe. */
.novidades-dot { position: absolute; top: -3px; right: -3px; width: 9px; height: 9px; border-radius: 999px; background: var(--danger); box-shadow: 0 0 0 2px #fff; }
.novidades-panel { width: 420px; max-height: min(70vh, 560px); }
.novidade-bloco { padding: 14px; border-bottom: 1px solid var(--line); }
.novidade-bloco:last-child { border-bottom: none; }
.novidade-cabeca { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.novidade-cabeca strong { font-size: 14px; line-height: 1.3; }
.novidade-versao { font-size: 11px; color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.novidade-resumo { margin: 4px 0 0; font-size: 12.5px; color: var(--muted); }
.novidade-itens { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.novidade-item strong { display: block; font-size: 12.5px; }
.novidade-item span { display: block; font-size: 12.5px; color: var(--muted); line-height: 1.5; }
.novidade-onde { margin: 10px 0 0; font-size: 12px; color: var(--muted); }
.novidade-onde strong { color: var(--text); font-weight: 600; }

/* Em tela estreita o rotulo sai e fica so o icone: dois botoes com texto
   comeriam a barra inteira, e o painel passa a usar a largura disponivel. */
@media (max-width: 860px) {
  .novidades-label { display: none; }
  .novidades-btn { padding: 8px 11px; }
  .novidades-panel { width: min(360px, calc(100vw - 32px)); }
}
.client-case-links { display: flex; flex-direction: column; gap: 6px; }
.client-case-link-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; background: #f8fafc; border: 1px solid var(--line); border-radius: 12px; font-size: 13px; }
.review-queue-list { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
.review-queue-item { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 12px 14px; background: #f8fafc; border: 1px solid var(--line); border-radius: 14px; }
.review-queue-item-body { display: flex; flex-direction: column; gap: 4px; min-width: 220px; }
.review-queue-item-title { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14px; }
.review-queue-item-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.claims-group { margin: 18px 0; }
.claims-group h3 { display: flex; align-items: center; gap: 8px; font-size: 15px; margin: 0 0 10px; }
.claim-item { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 12px 14px; background: #f8fafc; border: 1px solid var(--line); border-radius: 14px; margin-bottom: 8px; }
.claim-item.is-responded { background: #f0fdf4; }
.claim-item-body { display: flex; flex-direction: column; gap: 4px; min-width: 240px; flex: 1; }
.claim-item-top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.claim-item-body p { margin: 0; font-size: 14px; }
.claim-item-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.hearing-active { border: 1px solid var(--line); border-radius: 16px; padding: 14px; margin-top: 14px; background: #fefce8; }
.hearing-active-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.hearing-active-head strong { margin: 0 8px; }
.hearing-notes-timeline { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.hearing-note { padding: 10px 12px; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.hearing-note-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 12px; color: var(--muted); margin-bottom: 4px; }
.hearing-note p { margin: 0; font-size: 14px; }
.hearing-history { margin-top: 20px; }
.hearing-history h3 { display: flex; align-items: center; gap: 8px; font-size: 15px; margin: 0 0 10px; }
.hearing-history-item { border: 1px solid var(--line); border-radius: 14px; padding: 10px 14px; margin-bottom: 8px; background: #f8fafc; }
.hearing-history-item summary { cursor: pointer; list-style: none; display: flex; flex-direction: column; gap: 2px; }
.hearing-history-item summary::-webkit-details-marker, .hearing-history-item summary::marker { display: none; content: ''; }
.hearing-history-item .hearing-notes-timeline { margin-top: 10px; }
.privacy-summary { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.privacy-summary li { padding: 12px 15px; border: 1px solid var(--line); border-radius: 16px; background: #f8fafc; line-height: 1.5; font-size: 13.5px; color: #334155; }
.privacy-summary li strong { color: #0f172a; }
.agent-run-form { border-top: 1px solid var(--line); padding-top: 14px; margin-top: 12px; }
.agent-output { margin-top: 16px; }
.agent-output pre { max-height: 520px; overflow: auto; }

@media (max-width: 1120px) {
  .auth-screen { grid-template-columns: 1fr; }
  .auth-preview { min-height: auto; }
  #app-shell { grid-template-columns: 236px minmax(0, 1fr); }
  .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .split, .split.wide-left { grid-template-columns: 1fr; }
  .analytics-subgrid.cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .analytics-subgrid.cols-3 > div:nth-child(3) { grid-column: 1 / -1; padding-left: 0; border-left: none; border-top: 1px solid var(--line); padding-top: 14px; }
}
@media (max-width: 760px) {
  .analytics-subgrid { grid-template-columns: 1fr !important; }
  .analytics-subgrid > div { padding-left: 0 !important; border-left: none !important; }
  .analytics-subgrid > div + div { border-top: 1px solid var(--line); padding-top: 14px; }
  .auth-screen { padding: 18px; }

  /* Menu lateral vira um painel deslizante (off-canvas) em vez de empurrar
     o conteúdo pra baixo — antes disso, .sidebar ficava "position:relative;
     height:auto" e a lista inteira de navegação (20+ botões) aparecia
     expandida acima de qualquer conteúdo da tela, obrigando a rolar a
     página inteira só pra ver o título. */
  #app-shell { display: block; }
  .mobile-nav-toggle {
    display: flex; align-items: center; justify-content: center;
    position: fixed; top: 14px; left: 14px; z-index: 40;
    width: 42px; height: 42px; border-radius: 12px; border: none;
    background: rgba(15,23,42,.92); color: #fff;
    box-shadow: 0 8px 20px rgba(2,6,23,.3);
    touch-action: manipulation;
  }
  .mobile-nav-toggle svg { width: 20px; height: 20px; }
  .sidebar {
    position: fixed; top: 0; left: 0; z-index: 45;
    width: min(300px, 84vw); height: 100vh; height: 100dvh;
    transform: translateX(-100%);
    transition: transform .22s ease;
    touch-action: pan-y;
  }
  .sidebar.mobile-open { transform: translateX(0); }
  .sidebar-backdrop {
    display: block; position: fixed; inset: 0; z-index: 44;
    background: rgba(2,6,23,.72); opacity: 0; pointer-events: none;
    transition: opacity .2s ease;
    touch-action: manipulation;
  }
  .sidebar-backdrop.visible { opacity: 1; pointer-events: auto; }
  .main { padding: 18px 18px 18px 18px; padding-top: 70px; }
  .nav { grid-template-columns: repeat(2, minmax(0, 1fr)); display: grid; }
  .topbar { display: grid; }
  .topbar-actions { flex-wrap: wrap; }
  .form-grid { grid-template-columns: 1fr; }
  .metrics { grid-template-columns: 1fr; }
  .graph-row { grid-template-columns: 1fr; }
  .graph-hours { text-align: left; }
  .critical-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v3: case-centric workspace */
.case-selector {
  min-width: 290px;
  max-width: 420px;
  background: #fff;
  font-weight: 850;
  border-color: rgba(29,78,216,.22);
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
}
.case-ribbon {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(320px, .95fr);
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  padding: 13px 16px;
  border-radius: 20px;
  background:
    radial-gradient(circle at 10% 20%, rgba(20,184,166,.2), transparent 32%),
    linear-gradient(135deg, rgba(15,23,42,.96), rgba(30,41,59,.95));
  color: #fff;
  box-shadow: 0 16px 44px rgba(2,6,23,.18);
  border: 1px solid rgba(255,255,255,.12);
}
.case-ribbon-main span {
  color: #93c5fd;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 10px;
  font-weight: 950;
}
.case-ribbon-main h2 {
  margin: 3px 0 4px;
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1.12;
  letter-spacing: -.05em;
}
.case-ribbon-main p {
  margin: 0;
  color: #cbd5e1;
  font-size: 13px;
}
.case-ribbon-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(64px, 1fr));
  gap: 6px;
}
.case-ribbon-stats div {
  padding: 7px 8px;
  border-radius: 13px;
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.1);
}
.case-ribbon-stats div.warn {
  background: rgba(248,113,113,.22);
  border-color: rgba(248,113,113,.4);
}
.case-ribbon-stats strong {
  display: block;
  font-size: 17px;
  letter-spacing: -.04em;
  overflow-wrap: anywhere;
}
.case-ribbon-stats span {
  display: block;
  color: #cbd5e1;
  font-size: 9px;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .06em;
  overflow-wrap: anywhere;
}
.case-ribbon-checklist {
  grid-column: 1 / -1;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.12);
}
.checklist-details[open] .checklist-summary { margin-bottom: 8px; }
.checklist-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: #cbd5e1;
  cursor: pointer;
  list-style: none;
}
.checklist-summary::-webkit-details-marker, .checklist-summary::marker { display: none; content: ''; }
.checklist-summary::after {
  content: '▾';
  margin-left: auto;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: #0f172a;
  background: #fff;
  border-radius: 50%;
  transition: transform .18s ease;
}
.checklist-details[open] .checklist-summary::after { transform: rotate(180deg); }
.checklist-summary strong { color: #fff; }
.checklist-bar {
  flex: 1;
  max-width: 220px;
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  overflow: hidden;
}
.checklist-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #34d399, #22d3ee);
  border-radius: 999px;
}
.checklist-items { display: flex; flex-wrap: wrap; gap: 6px; }
.checklist-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 700;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.06);
  color: #cbd5e1;
  cursor: pointer;
  font-family: inherit;
}
.checklist-chip:hover { background: rgba(255,255,255,.14); }
.checklist-chip.done {
  background: rgba(52,211,153,.18);
  border-color: rgba(52,211,153,.4);
  color: #d1fae5;
}
.checklist-chip.done:hover { background: rgba(52,211,153,.28); }
.case-next-action {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
  padding: 9px 14px;
  border-radius: 14px;
  background: rgba(96,165,250,.16);
  border: 1px solid rgba(96,165,250,.35);
  color: #e0e7ff;
  font-size: 12.5px;
}
.case-next-action.urgent { background: rgba(248,113,113,.18); border-color: rgba(248,113,113,.4); }
.case-next-action strong { color: #fff; }
.case-next-action button { flex-shrink: 0; }
.case-module-tabs {
  grid-column: 1 / -1;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.12);
}
.case-module-tabs button {
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.07);
  color: #e2e8f0;
  border-radius: 999px;
  padding: 6px 11px;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}
.case-module-tabs button:hover, .case-module-tabs button.active {
  background: #fff;
  color: #0f172a;
}
.case-actions-inline {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
.case-card::before {
  content: 'Caso';
  float: right;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #94a3b8;
  font-weight: 950;
}
@media (max-width: 1120px) {
  .case-ribbon { grid-template-columns: 1fr; }
  .case-ribbon-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .case-selector { min-width: 100%; max-width: 100%; }
}
@media (max-width: 760px) {
  .case-ribbon-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-module-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* v4 · Agentes IA por caso */
/* Agentes de IA: procedimentos validados e agentes num catálogo só (v10.64.0) */
.agentes-catalogo { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; margin-bottom: 10px; }
.agentes-catalogo > .skills-lista, .agentes-catalogo > .agent-list { display: contents; }
.agentes-catalogo > [hidden] { display: none; }
.agentes-catalogo .agent-card { border-radius: 12px; padding: 10px 12px; }
.agentes-catalogo .agent-card h3 { font-size: 14px; margin: 6px 0 2px; }
.agentes-pagina .agent-filters { align-items: center; }
.agentes-pagina .agent-head-badges { align-items: center; }
.chip-filtros { display: flex; gap: 6px; flex-wrap: wrap; }
.chip-filtros button { font: inherit; font-size: 12px; border: 1px solid var(--line); background: #fff; color: inherit; border-radius: 999px; padding: 4px 10px; cursor: pointer; }
.chip-filtros button.active { border-color: var(--primary); background: rgba(29,78,216,.08); font-weight: 700; }
.agentes-pagina .agent-run-form { border-top: 0; padding-top: 0; margin-top: 8px; }
.custom-agent-box {
  margin-top: 18px;
  border: 1px solid rgba(148, 163, 184, .22);
  border-radius: 18px;
  padding: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
}
.custom-agent-box summary {
  cursor: pointer;
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--text);
}
.agent-execution-scope {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}
.agent-execution-scope div {
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(15, 23, 42, .36);
}
.agent-execution-scope strong {
  display: block;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--muted);
  margin-bottom: 5px;
}
.agent-execution-scope span { font-size: .88rem; color: var(--text); }
.agent-preview { margin-top: 16px; }
.agent-result-card { margin-top: 16px; }
.agent-runs-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.run-card {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 16px;
  background: rgba(15, 23, 42, .34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}
.run-card strong {
  display:block;
  font-size: .96rem;
  margin-bottom: 4px;
}
.run-card span { color: var(--muted); font-size: .78rem; }
.run-card p { margin: 8px 0 0; color: var(--muted); font-size: .86rem; line-height: 1.35; }
.run-card-meta { min-width: 100px; display: flex; flex-direction: column; gap: 6px; align-items: flex-end; }
.semantic-jur-box {
  margin: 18px 0;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1.5px solid rgba(29,78,216,.28);
  background: linear-gradient(135deg, rgba(29,78,216,.06), rgba(20,184,166,.06));
}
.semantic-jur-box .mini-help-inline { margin-top: 0; }
.semantic-jur-box #jurisprudence-semantic-result:not(:empty) { margin-top: 12px; }
.jurisprudence-card {
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 16px;
  background: rgba(15, 23, 42, .34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  padding: 14px;
}
.jurisprudence-card summary { cursor: pointer; list-style: none; }
.jurisprudence-card summary::-webkit-details-marker, .jurisprudence-card summary::marker { display: none; content: ''; }
.jurisprudence-card summary strong { display: block; font-size: .96rem; margin-bottom: 6px; }
.jurisprudence-card summary p { margin: 8px 0 0; color: var(--muted); font-size: .86rem; line-height: 1.35; }
.jurisprudence-card-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.jurisprudence-edit-form { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(148, 163, 184, .18); }
.jurisprudence-edit-form h4 { margin: 10px 0 0; font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.jurisprudence-edit-form h4:first-child { margin-top: 0; }
.jurisprudence-search-items { display: flex; flex-direction: column; gap: 10px; padding: 0 14px; }
.jurisprudence-search-item {
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 12px;
  background: rgba(15, 23, 42, .28);
  padding: 12px;
}
.jurisprudence-search-item .inline-check { margin-bottom: 6px; }
.jurisprudence-search-item p { margin: 6px 0; color: var(--muted); font-size: .86rem; line-height: 1.35; }

/* Helena — assistente virtual do CaseFlow, no widget flutuante e no módulo de
   página inteira em Suporte. ATENÇÃO: a paleta navy + dourado abaixo é o tema
   ANTIGO e está sobrescrita no fim de interface.css, que traz a Helena para a
   linguagem visual atual do app. Mexer só aqui não muda o que se vê na tela. */
:root {
  --helena-navy: #0d1526;
  --helena-navy2: #16223d;
  --helena-gold: #c9a961;
  --helena-gold-strong: #e2c785;
  --helena-text: #eef1f7;
  --helena-text-muted: #9aa5b8;
}

.helena-avatar {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1.5px solid var(--helena-gold);
  background: var(--helena-navy);
  color: var(--helena-gold-strong);
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: .86rem;
  font-family: Georgia, 'Times New Roman', serif;
  flex-shrink: 0;
}
.helena-avatar.small { width: 24px; height: 24px; font-size: .7rem; }
.helena-avatar svg { width: 62%; height: 62%; }
.helena-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 999px; }
.helena-identity { display: flex; flex-direction: column; line-height: 1.3; }
.helena-identity strong { color: var(--helena-text); font-size: .96rem; }
.helena-status { display: flex; align-items: center; gap: 5px; font-size: .74rem; color: var(--helena-text-muted); }
.helena-status-dot { width: 7px; height: 7px; border-radius: 999px; background: var(--ok); box-shadow: 0 0 0 3px rgba(34,197,94,.2); }

.helena-panel {
  background: linear-gradient(165deg, var(--helena-navy), var(--helena-navy2));
  border-color: rgba(201,169,97,.35);
  border-radius: var(--radius);
  padding: 16px;
}
.support-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.support-tab { border: 1px solid var(--line); background: #fff; color: #334155; padding: 9px 16px; border-radius: 999px; font-weight: 850; cursor: pointer; box-shadow: var(--shadow); }
.support-tab:hover { background: #f1f5f9; }
.support-tab.active { background: linear-gradient(135deg, var(--primary), var(--primary2)); color: #fff; border-color: transparent; }
.support-tab-panel { display: none; }
.support-tab-panel.active { display: block; animation: viewIn .2s ease; }
/* EVOLUÇÃO DO CASEFLOW (20/10/2026), no modelo da tela Homologação do Privacy
   Board: fazer um pedido (a IA organiza, a pessoa confirma), pedidos, o que vem
   aí e o que ficou pronto. */
.evolucao { display: grid; gap: 14px; }
.evolucao-topo h3 { margin: 0 0 4px; }
.evolucao-topo p { margin: 0; color: var(--muted); max-width: 70ch; }
.evolucao-abas button { font-size: 13px; padding: 6px 12px; }
.evolucao-painel { display: none; }
.evolucao-painel.active { display: grid; gap: 14px; animation: viewIn .2s ease; }
.evolucao-grupo { border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-solid); padding: 10px 14px; }
.evolucao-grupo + .evolucao-grupo { margin-top: 8px; }
.evolucao-grupo h4 { margin: 0 0 6px; font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); }
.evolucao-grupo ul { list-style: none; margin: 0; padding: 0; display: grid; }
.evolucao-grupo li { display: grid; gap: 2px; padding: 8px 0; border-top: 1px solid var(--line); }
.evolucao-grupo li:first-child { border-top: 0; }
.evolucao-grupo small { color: var(--muted); }
.evolucao-pronto-item { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; }
.evolucao-pronto-item p { margin: 4px 0; color: var(--muted); max-width: 72ch; }
.evolucao-pronto-item small { color: var(--muted); }
.evolucao-pronto-item .btn { flex-shrink: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.linha-direta { display: grid; gap: 14px; }
.linha-direta-topo h3 { margin: 0 0 4px; }
.linha-direta-topo p { margin: 0; color: var(--muted); max-width: 70ch; }
.linha-direta-passos { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; counter-reset: passo; }
.linha-direta-passos li { counter-increment: passo; display: grid; gap: 2px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface-solid); font-size: 13px; }
.linha-direta-passos li::before { content: counter(passo); display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: rgba(29,78,216,.10); color: var(--primary); font-weight: 700; font-size: 12px; margin-bottom: 4px; }
.linha-direta-passos li:last-child::before { background: rgba(15,138,126,.12); color: var(--accent); }
.linha-direta-passos span { color: var(--muted); }
.linha-direta-escrever textarea { width: 100%; font-size: 15px; line-height: 1.5; }
.pedido-rascunho { border: 1px solid rgba(29,78,216,.28); border-radius: var(--radius); background: rgba(29,78,216,.04); padding: 14px; }
.pedido-entendi { font-size: 14px; }
.pedido-perguntas ul { margin: 6px 0; padding-left: 18px; }
.pedido-original p { white-space: pre-wrap; color: var(--muted); margin: 6px 0 0; }
.pedido-manual { border: 1px dashed var(--line-strong); border-radius: var(--radius); padding: 14px; }
.linha-direta-lista-titulo { margin: 8px 0 0; }
.linha-direta-canais summary { cursor: pointer; font-weight: 600; }
.pedido-etapas { list-style: none; display: flex; gap: 6px; margin: 8px 0 0; padding: 0; flex-wrap: wrap; }
.pedido-etapas li { font-size: 11.5px; padding: 2px 9px; border-radius: 999px; border: 1px solid var(--line); color: var(--muted); }
.pedido-etapas li.feita { border-color: rgba(21,128,61,.35); color: var(--ok); }
.pedido-etapas li.atual { border-color: var(--primary); color: var(--primary); font-weight: 700; background: rgba(29,78,216,.06); }
.pedido-resumo { display: grid; gap: 6px; margin: 10px 0; }
.pedido-resumo div { display: grid; grid-template-columns: 140px 1fr; gap: 10px; }
.pedido-resumo dt { color: var(--muted); font-size: 12.5px; }
.pedido-resumo dd { margin: 0; white-space: pre-wrap; }
.pedido-decisao { display: grid; gap: 2px; margin: 10px 0; padding: 10px 12px; border-radius: var(--radius-sm); border-left: 3px solid var(--line-strong); background: rgba(100,116,139,.06); }
.pedido-decisao.entra { border-left-color: var(--ok); background: rgba(21,128,61,.07); }
.pedido-decisao small { color: var(--muted); }
.pedido-decidir { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 10px; padding: 10px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.pedido-decidir input { flex: 1 1 260px; }
@media (max-width: 720px) {
  .linha-direta-passos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pedido-resumo div { grid-template-columns: 1fr; gap: 0; }
}
.dashboard-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: 14px 0 16px; }
.dashboard-tab { border: 1px solid var(--line); background: #fff; color: #334155; padding: 9px 16px; border-radius: 999px; font-weight: 850; cursor: pointer; box-shadow: var(--shadow); }
.dashboard-tab:hover { background: #f1f5f9; }
.dashboard-tab.active { background: linear-gradient(135deg, var(--primary), var(--primary2)); color: #fff; border-color: transparent; }
.dashboard-tab-panel { display: none; }
.dashboard-tab-panel.active { display: block; animation: viewIn .2s ease; }
.dashboard-tab-panel .panel { margin-bottom: 16px; }
.dashboard-tab-panel .panel:last-child { margin-bottom: 0; }
.helena-header { display: flex; align-items: center; gap: 10px; }
.helena-tagline { margin: 10px 0 0; color: var(--helena-text-muted); font-size: .86rem; line-height: 1.45; }

.support-widget-launcher {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 40;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--helena-gold);
  border-radius: 999px;
  padding: 8px 20px 8px 8px;
  font-weight: 700;
  font-size: .92rem;
  color: var(--helena-text);
  background: linear-gradient(135deg, var(--helena-navy), var(--helena-navy2));
  box-shadow: 0 14px 32px rgba(2,6,23,.45);
  cursor: pointer;
}
.support-widget-launcher:hover { filter: brightness(1.15); }
.support-widget-panel {
  position: fixed;
  right: 24px;
  bottom: 84px;
  z-index: 41;
  width: 360px;
  max-width: calc(100vw - 32px);
  max-height: 70vh;
  display: flex;
  flex-direction: column;
  border-radius: 18px;
  background: linear-gradient(165deg, var(--helena-navy), var(--helena-navy2));
  border: 1px solid rgba(201,169,97,.35);
  box-shadow: 0 30px 90px rgba(2,6,23,.55);
  overflow: hidden;
}
.support-widget-panel-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(201,169,97,.25);
}
.support-widget-panel-head .helena-identity { flex: 1; }
.support-widget-panel-head .icon-btn {
  background: var(--helena-gold);
  border-color: var(--helena-gold);
  color: #221a06;
  width: 30px;
  height: 30px;
  font-size: 18px;
  font-weight: 800;
}
.support-widget-panel-head .icon-btn:hover { filter: brightness(1.1); }
.support-widget-panel .support-chat-messages { flex: 1; max-height: none; }
/* renderMarkdown() sempre envolve a resposta em .markdown-body, que por
   si só já declara "color: var(--text)" (navy escuro, pro resto do app
   que é fundo claro) DIRETO no proprio elemento — uma declaração direta
   sempre vence herança do container pai, não importa a especificidade
   do seletor que a definiu. Foi por isso que corrigir só o container
   (.support-chat-messages) não bastou: o texto normal (herdaria do
   container, mas .markdown-body pisa nisso com o próprio color) e
   negrito/itálico/citação/código (regras de elemento ainda mais
   específicas) continuavam com as cores antigas. Precisa sobrescrever
   o .markdown-body em si, não só os elementos de dentro. Cobre as duas
   telas onde a Ratio aparece (widget flutuante e módulo de página
   inteira em Suporte).
*/
.support-chat-messages .markdown-body { color: var(--helena-text); }
.support-chat-messages .markdown-body h2,
.support-chat-messages .markdown-body h3,
.support-chat-messages .markdown-body h4,
.support-chat-messages .markdown-body h5 { color: var(--helena-text); }
.support-chat-messages .markdown-body strong { color: var(--helena-gold-strong); }
.support-chat-messages .markdown-body em { color: var(--helena-text-muted); }
.support-chat-messages .markdown-body a { color: var(--helena-gold-strong); }
.support-chat-messages .markdown-body blockquote {
  background: rgba(255,255,255,.06);
  color: var(--helena-text);
  border-left-color: var(--helena-gold);
}
.support-chat-messages .markdown-body code {
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.18);
  color: var(--helena-text);
}
.support-chat-messages .markdown-body .md-code { background: #060a14; }
.support-widget-panel-foot { padding: 0 14px 12px; }
.support-widget-panel-foot .btn { width: 100%; }
@media (max-width: 480px) {
  .support-widget-panel { right: 16px; left: 16px; width: auto; bottom: 78px; }
}
.helena-panel .mini-help-inline, .support-widget-panel .mini-help-inline { color: var(--helena-text-muted); }
.helena-panel .mini-help-inline strong, .support-widget-panel .mini-help-inline strong { color: var(--helena-text); }
.helena-panel .btn.primary, .support-widget-panel .btn.primary {
  background: linear-gradient(135deg, var(--helena-gold), #a3823f);
  color: #221a06;
  box-shadow: 0 10px 24px rgba(0,0,0,.35);
}
.helena-suggestions { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 14px 10px; }
.helena-suggestion-chip {
  border: 1px solid rgba(201,169,97,.4);
  background: rgba(201,169,97,.1);
  color: var(--helena-text);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: .76rem;
  cursor: pointer;
}
.helena-suggestion-chip:hover { background: rgba(201,169,97,.2); }
.support-chat-messages {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 420px;
  min-height: 160px;
  overflow-y: auto;
  padding: 14px;
  color: var(--helena-text);
}
.support-chat-messages .empty-state { color: var(--helena-text-muted); }
.support-chat-msg {
  max-width: 82%;
  border-radius: 14px;
  padding: 10px 12px;
  font-size: .88rem;
  line-height: 1.4;
}
.support-chat-msg.user {
  align-self: flex-end;
  background: linear-gradient(135deg, var(--helena-gold), #a3823f);
  color: #221a06;
}
.support-chat-msg.assistant {
  align-self: flex-start;
  background: rgba(255,255,255,.08);
  color: var(--helena-text);
  border: 1px solid rgba(255,255,255,.08);
}
.support-chat-msg small { display: block; margin-top: 4px; opacity: .65; font-size: .74rem; }
.support-ticket-thread { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
@media (max-width: 1180px) {
  .agent-runs-list { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .agent-execution-scope { grid-template-columns: 1fr; }
}


.openai-status { margin: 6px 0 10px; }
.ia-status-linha { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 12.5px; }
.ia-status-linha.demo .mini-help-inline { color: #92400e; }

/* v6 · CecilIA Processual / Processual Motor Processual */
/* Introdução da CecilIA: uma frase, sem cartões. O bloco antigo (hero com
   badges estáticos e KPIs de jargão) ocupava a tela e não dizia o que fazer. */
.cecilia-intro { margin: 0 0 14px; max-width: 900px; color: #475569; font-size: .95rem; line-height: 1.5; }
.cecilia-intro strong { color: #0f172a; }
#cecilia-output, #cecilia-preview { margin-top: 16px; }

/* v7 · arquivos por execução em Agentes e CecilIA */
.file-workbench {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 18px;
  padding: 12px;
  background: rgba(15, 23, 42, .28);
}
.file-drop {
  min-height: 136px;
  border: 1.6px dashed rgba(96, 165, 250, .42);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(15, 23, 42, .34), rgba(30, 41, 59, .18));
  display: grid;
  place-items: center;
  text-align: center;
  gap: 6px;
  padding: 16px;
  position: relative;
  cursor: pointer;
}
.file-drop input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.file-drop strong {
  color: #f8fafc;
  font-size: .96rem;
}
.file-drop span {
  color: #94a3b8;
  font-size: .78rem;
  max-width: 520px;
  line-height: 1.35;
}
.file-drop.dragover {
  border-color: rgba(34, 197, 94, .65);
  background: linear-gradient(135deg, rgba(34, 197, 94, .12), rgba(59, 130, 246, .08));
}
.file-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.inline-check {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 8px;
  color: #cbd5e1;
  font-size: .82rem;
  font-weight: 700;
}
.inline-check input { width: auto !important; }
.btn.small {
  padding: 7px 10px;
  font-size: .78rem;
}
.uploaded-files {
  display: grid;
  gap: 8px;
}
.uploaded-file-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, .16);
  border-radius: 12px;
  background: rgba(2, 6, 23, .32);
}
.uploaded-file-row strong {
  display: block;
  color: #f8fafc;
  font-size: .86rem;
}
.uploaded-file-row span {
  display: block;
  color: #94a3b8;
  font-size: .74rem;
  margin-top: 2px;
}

/* renderização visual de respostas em Markdown */
.markdown-body {
  display: block;
  color: var(--text);
  line-height: 1.68;
  font-size: 14px;
}
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5 {
  margin: 18px 0 10px;
  color: #0f172a;
  letter-spacing: -.02em;
  line-height: 1.2;
}
.markdown-body h2 { font-size: 22px; }
.markdown-body h3 { font-size: 18px; }
.markdown-body h4,
.markdown-body h5 { font-size: 15px; }
.markdown-body p { margin: 0 0 12px; }
.markdown-body ul,
.markdown-body ol {
  margin: 8px 0 14px 22px;
  padding: 0;
}
.markdown-body li { margin: 6px 0; }
.markdown-body strong { font-weight: 900; color: #0f172a; }
.markdown-body em { color: #334155; }
.markdown-body code {
  background: #eef2ff;
  border: 1px solid #dbeafe;
  border-radius: 6px;
  padding: 1px 5px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
}
.markdown-body .md-code {
  margin: 12px 0 16px;
  background: #0f172a;
  color: #e2e8f0;
  border-radius: 16px;
  padding: 16px;
  overflow: auto;
  border: 1px solid rgba(15,23,42,.25);
}
.markdown-body .md-code code {
  background: transparent;
  border: 0;
  color: inherit;
  padding: 0;
  font-size: 12px;
}
.markdown-body blockquote {
  margin: 12px 0;
  padding: 12px 14px;
  border-left: 4px solid var(--primary);
  background: #f8fafc;
  color: #334155;
  border-radius: 12px;
}
.markdown-body a { color: var(--primary); font-weight: 800; text-decoration: none; }
.markdown-body a:hover { text-decoration: underline; }
.markdown-table { margin: 12px 0 16px; }
.agent-result-card .markdown-body,
.artifact-section .markdown-body {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
}


.uploaded-files-summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 14px;
  background: rgba(15, 23, 42, 0.42);
  margin-bottom: 8px;
}

.uploaded-files-summary span {
  color: var(--muted);
  font-size: 12px;
}

.file-drop input[multiple] {
  cursor: pointer;
}

/* --- Autenticação em duas etapas ------------------------------------------ */
.mfa-hint { margin: 0; color: #cbd5e1; font-size: 13px; line-height: 1.45; }
#mfa-form .link-btn { justify-self: center; }
.mfa-banner { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 0 14px; padding: 12px 16px; border-radius: var(--radius); background: #fffbeb; border: 1px solid #fcd34d; color: #78350f; font-size: 14px; }
.mfa-banner strong { color: #451a03; }
.qr-box { display: grid; place-items: center; }
.qr-box svg { width: 220px; height: 220px; padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.mfa-secret { display: block; margin-top: 8px; padding: 10px 12px; border: 1px dashed var(--line-strong); border-radius: var(--radius-sm); background: var(--surface-solid); font-family: ui-monospace, "Cascadia Mono", Menlo, monospace; font-size: 15px; letter-spacing: .08em; word-break: break-all; user-select: all; }
.recovery-codes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: 10px; font-family: ui-monospace, "Cascadia Mono", Menlo, monospace; font-size: 15px; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.recovery-codes span { padding: 8px 10px; border: 1px dashed var(--line-strong); border-radius: var(--radius-sm); text-align: center; background: var(--surface-solid); }
@media (max-width: 640px) { .recovery-codes { grid-template-columns: 1fr; } }

/* --- E-mail (Configurações → Notificações e agenda) ------------------------ */
.email-queue-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.email-queue-table th, .email-queue-table td { padding: 8px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.email-queue-table th { font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
#email-events-list .inline-check input { margin-top: 3px; }

/* --- Execução em lote ------------------------------------------------------ */
.lote-dropzone { display: grid; gap: 6px; justify-items: center; text-align: center; padding: 22px 16px; margin: 6px 0 12px; border: 2px dashed var(--line-strong); border-radius: var(--radius); background: var(--surface-solid); transition: border-color .15s, background .15s; }
.lote-dropzone.is-over { border-color: var(--primary); background: #eff6ff; }
.lote-dropzone strong { font-size: 15px; }
.lote-summary { display: flex; gap: 8px; flex-wrap: wrap; margin: 10px 0 12px; }
.lote-actions { justify-content: flex-start; flex-wrap: wrap; margin-bottom: 12px; }
.lote-actions .btn.disabled { opacity: .5; pointer-events: auto; cursor: not-allowed; }
.table-wrap { overflow-x: auto; }
.lote-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.lote-table th, .lote-table td { padding: 9px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.lote-table th { font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); font-weight: 700; }
.lote-table td strong { font-weight: 600; }
.lote-table td.card-actions { display: flex; gap: 6px; align-items: flex-start; }
.lote-alerts { margin: 4px 0 0; padding-left: 16px; color: #92400e; font-size: 12px; line-height: 1.4; }
.badge.warn { background: #fef3c7; color: #92400e; }
.evidence-extracted { margin: 6px 0 0; padding: 8px 10px; border-radius: var(--radius-sm); background: #f8fafc; border: 1px solid var(--line); font-size: 12.5px; line-height: 1.45; }
.evidence-extracted .badge { margin-top: 6px; }
.lote-approved-by { margin-top: 4px; font-size: 11.5px; color: var(--muted); line-height: 1.3; }

/* Revisão do lote: documento original de um lado, o que foi lido dele do outro. */
.lote-review-dialog { max-width: min(1180px, calc(100vw - 24px)); }
.lote-review-body { display: grid; grid-template-columns: 1.05fr 1fr; gap: 16px; align-items: start; }
.lote-review-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 8px; align-items: center; }
.lote-review-file iframe { width: 100%; height: 62vh; min-height: 320px; border: 1px solid var(--line); border-radius: 8px; background: #fff; display: block; }
.lote-review-file iframe[hidden] { display: none; }
.lote-review-side { max-height: 68vh; overflow: auto; padding-right: 4px; }
.lote-review-alertas { background: #fef3c7; color: #7c4a03; border-radius: 8px; padding: 10px 12px; margin-bottom: 12px; font-size: 12.5px; }
.lote-review-alertas .lote-alerts { margin-top: 6px; color: inherit; }
.lote-review-ok { background: #dcfce7; color: #166534; border-radius: 8px; padding: 10px 12px; margin-bottom: 12px; font-size: 12.5px; font-weight: 600; }
.lote-review-nav { display: flex; gap: 8px; align-items: center; border-top: 1px solid var(--line); padding-top: 12px; margin-top: 4px; flex-wrap: wrap; }
.lote-review-contador { font-size: 12px; color: var(--muted); font-weight: 600; margin-right: auto; }
@media (max-width: 900px) {
  .lote-review-body { grid-template-columns: 1fr; }
  .lote-review-file iframe { height: 44vh; }
  .lote-review-side { max-height: none; overflow: visible; }
}

/* Avisos em linha e manutenção da plataforma.
   `.inline-alert` já era usada na tela de lote e nunca teve estilo — herdava
   o parágrafo comum, então o aviso passava despercebido justamente onde
   precisava ser visto. */
.inline-alert {
  margin: 10px 0 0;
  padding: 10px 12px;
  border: 1px solid #fcd34d;
  border-left: 3px solid #d97706;
  border-radius: var(--radius-sm);
  background: #fffbeb;
  color: #92400e;
  font-size: 13px;
  line-height: 1.45;
}
.manutencao-ok { margin: 10px 0 0; color: var(--muted); font-size: 13px; }
/* Resposta boa tem de parecer resposta boa: o aviso em linha nasceu âmbar, e
   usá-lo também para "está tudo certo" faria a conferência do conversor
   parecer problema toda vez. */
.inline-alert.ok { border-color: #a7f3d0; border-left-color: #059669; background: #ecfdf5; color: #065f46; }
/* "Este documento precisa ser lido por imagem": aviso de AÇÃO no cartão do
   documento. Âmbar forte, botão primário dentro — a cliente passou uma hora
   procurando o caminho que este bloco entrega num clique. */
.notice.precisa-ler-por-imagem { margin: 10px 0 0; padding: 12px 14px; border: 1px solid #f59e0b; border-left: 4px solid #d97706; background: #fff7ed; color: #7c2d12; border-radius: var(--radius-sm); }
.notice.precisa-ler-por-imagem > strong { display: block; font-size: 15px; margin-bottom: 4px; }
.notice.precisa-ler-por-imagem > span { display: block; font-size: 13.5px; line-height: 1.5; }
.notice.precisa-ler-por-imagem .form-actions { margin-top: 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
#arquivos-avisos .inline-alert { margin-top: 12px; }
#arquivos-acervo p { margin: 10px 0 0; font-size: 13.5px; line-height: 1.5; }
#arquivos-acervo .btn { margin-top: 12px; }
#backup-lista table { margin-top: 12px; }
.footer-ia-demo { color: #92400e; font-weight: 600; }
.ia-padrao-detalhe { margin-top: 12px; }
.ia-padrao-detalhe > summary { cursor: pointer; font-size: 13px; color: var(--muted); }
.ia-padrao-detalhe .table-wrap { margin-top: 10px; }
/* Marca do escritório (T7): cosmética, aplicada por variável para não haver
   uma segunda cópia da paleta espalhada pelo CSS. */
:root { --marca-escritorio: var(--primary); }
.sidebar .brand .brand-emblem { object-fit: contain; }
.marca-previa { max-height: 64px; max-width: 220px; object-fit: contain; padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; }

/* Botão que é link (<a class="btn">) não pode parecer texto sublinhado no meio do parágrafo. */
a.btn, a.btn:hover, a.btn:visited, a.btn:focus { text-decoration: none; }
.inline-actions, .form-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

/* Etapa Download do lote: o filtro "Ocultar já baixadas" mora na barra de
   ações, ao lado de "Baixar todas (.zip)". */
.lote-baixadas-filtro { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.lote-baixadas-filtro:empty { display: none; }

/* Peças e Visual Law → Visual Law na redação */
.visual-law-grupo { border: 1px solid var(--line); border-radius: var(--radius); padding: 10px 14px 6px; margin: 0; display: grid; gap: 6px; }
.visual-law-grupo legend { font-size: 12px; font-weight: 800; color: var(--muted); padding: 0 6px; }
.visual-law-grupo[disabled] { opacity: .55; }
.visual-law-item { align-items: flex-start !important; padding: 4px 0; }
.visual-law-item input { margin-top: 3px; width: auto !important; }
.visual-law-item span { display: block; line-height: 1.35; }
.visual-law-item small { display: block; color: var(--muted); font-size: 12px; }
.visual-law-geral input { width: auto !important; }
/* .inline-check foi desenhado para a barra escura (texto claro, tudo em negrito);
   dentro do painel branco o título ficava apagado e a descrição, pesada. */
.visual-law-item, .visual-law-geral { color: var(--text); font-weight: 600; }
.visual-law-item strong, .visual-law-geral strong { color: var(--text); font-weight: 800; }
.visual-law-item small { font-weight: 400; color: var(--muted); }

/* C3 — fontes da web na peça: link tracejado; não oficial em dourado */
.cita.cita-web { color: var(--primary); border-bottom: 1px dashed var(--primary); text-decoration: none; }
.cita.cita-web.cita-web-nao-oficial { color: var(--gold); border-bottom-color: var(--gold); }

/* Consulta pública para o cliente, dentro do caso */
.consulta-cliente-box { border: 1px solid var(--line); border-radius: var(--radius); padding: 12px 14px; background: #f8fafc; display: grid; gap: 8px; }
.consulta-cliente-box .panel-head { margin: 0; }
.consulta-cliente-box input[readonly] { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; }
.consulta-cliente-acoes { display: flex; flex-wrap: wrap; gap: 6px; }

/* Ordenar os documentos (28/09/2026): a barra fica acima da lista, discreta. */
.documentos-ordem { margin: 4px 0 12px; }
.documentos-ordem[hidden] { display: none; }
.documentos-ordem-rotulo { display: inline; font-size: 13px; font-weight: 700; color: #334155; }
.documentos-ordem-total { font-size: 13px; color: #475569; }

/* Cálculo protegido e a peça que voltou para a lista (28/09/2026). */
.calc-nao-refeito { font-size: 12px; color: #92400e; margin-top: 4px; }
.calc-anteriores { margin-top: 6px; font-size: 12px; }
.calc-anteriores summary { cursor: pointer; color: #334155; }
.calc-anteriores ul { margin: 6px 0 0; padding-left: 16px; }
.lote-peca-voltou { font-size: 12px; color: #92400e; margin-top: 6px; line-height: 1.4; }
.lote-voltaram { margin: 0; }

/* Procuração repetida (mesmo CPF), 28/09/2026. */
.lote-procuracao-repetida { font-size: 12px; color: #475569; margin-top: 4px; }


/* Painel da Plataforma → Produção (v10.53.0) */
.producao-tabela { width: 100%; border-collapse: collapse; font-size: 13px; }
.producao-tabela th, .producao-tabela td { padding: 8px 10px; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; white-space: nowrap; }
.producao-tabela td { font-variant-numeric: tabular-nums; }
.producao-tabela small.muted { white-space: normal; }
.producao-divulgacao { width: 100%; box-sizing: border-box; font: inherit; font-size: 14px; line-height: 1.5; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; resize: vertical; }

/* Configurações → Usuários (v10.56.0): "Sua conta" num painel só, lista compacta */
.conta-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 28px; align-items: start; }
.conta-grid > section > h3 { margin: 0 0 4px; font-size: 15px; }
.conta-grid > section > .mini-help-inline { display: block; margin-bottom: 10px; }
.conta-grid > section > .ajuda-do-painel { margin-top: 10px; }
.conta-grid .form-grid.compact .form-actions { justify-content: flex-start; }
.conta-grid #perfil-redacao-status .form-grid.compact { grid-template-columns: 1fr; }
.conta-grid #perfil-redacao-status .span-2 { grid-column: auto; }
.usuarios-lista { display: flex; flex-direction: column; gap: 6px; }
.usuario-editor { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.usuario-resumo { list-style: none; display: grid; grid-template-columns: minmax(200px, 1.2fr) 2fr auto; gap: 12px; align-items: center; padding: 10px 14px; }
details.usuario-editor > .usuario-resumo { cursor: pointer; }
.usuario-resumo::-webkit-details-marker { display: none; }
.usuario-quem strong { display: block; font-size: 14px; }
.usuario-quem small { color: var(--muted); font-size: 12px; }
.usuario-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.usuario-abrir { pointer-events: none; }
details.usuario-editor[open] > .usuario-resumo .usuario-abrir::after { content: ' ▴'; }
details.usuario-editor:not([open]) > .usuario-resumo .usuario-abrir::after { content: ' ▾'; }
.usuario-corpo { padding: 4px 14px 14px; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 8px 28px; }
.usuario-corpo h4 { margin: 10px 0 6px; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 900; }
.usuario-corpo .card-actions { flex-wrap: wrap; align-items: center; }
.usuario-corpo .areas-do-usuario { display: flex; gap: 6px 12px; flex-wrap: wrap; }
@media (max-width: 1100px) { .conta-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .usuario-resumo { grid-template-columns: 1fr; } .usuario-abrir { justify-self: start; } }

/* Configurações → Usuários em abas (v10.57.0) */
.usuarios-abas { margin-top: 0; }
.dashboard-tab-panel[data-usuarios-panel] > .panel { margin-bottom: 16px; }

/* Procedimentos (Skills) — v10.58.0 */
.skills-panel { border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; margin-bottom: 14px; background: linear-gradient(145deg, #fff, #f8fafc); }
.skills-panel .panel-head { margin-bottom: 8px; }
.skills-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; margin-bottom: 10px; }
.skill-card { text-align: left; border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; background: #fff; cursor: pointer; display: grid; gap: 4px; font: inherit; color: inherit; }
.skill-card:hover { background: #f1f5f9; }
.skill-card.active { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(29,78,216,.15); }
.skill-card.bloqueada { opacity: .6; }
.skill-card-topo { display: flex; gap: 4px; flex-wrap: wrap; }
.skill-card strong { font-size: 14px; }
.skill-card small { color: var(--muted); }
.skill-card-rodape { font-size: 11px; color: var(--muted); }
.skill-detalhe { margin-bottom: 6px; }
.skill-tabela td, .skill-tabela th { vertical-align: top; font-size: 13px; }
.skill-lista-curta { margin: 0; padding-left: 16px; }
.skill-sub > div { margin-bottom: 4px; }
.skill-revisao { list-style: none; padding-left: 0; }
.skill-bruto { white-space: pre-wrap; font-size: 12px; background: #f8fafc; border: 1px solid var(--line); border-radius: 10px; padding: 10px; max-height: 420px; overflow: auto; }
.skill-md h4 { margin: 14px 0 6px; }

/* Skills, fase 2 (v10.59.0) */
.skills-recomendar { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.skills-recomendar input { flex: 1 1 260px; }
.skill-versao { border-top: 1px solid var(--line); padding: 8px 0 4px; }
.skill-versao .meta-line { flex-wrap: wrap; gap: 6px; }

/* Skills, fase 3 (v10.60.0) */
.skills-sugestoes { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin-bottom: 10px; }
.skill-sugestao { cursor: pointer; border: none; font: inherit; }
.skill-workflow-caixa { margin-top: 10px; }
.skill-workflow-caixa .peca-etapas li { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.skills-recomendar .inline-check { white-space: nowrap; }

/* Skills, fase 4 (v10.61.0) */
.skill-acoes { margin-top: 10px; flex-wrap: wrap; gap: 6px; }

/* Skills, fase 5 (v10.62.0) */
.skill-comparacao-resultado { margin: 8px 0; }

/* Procedimentos (Skills) em aba própria (v10.63.0) */
.skills-pagina .panel { margin-bottom: 14px; }
.skills-lista-larga { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.skills-pagina .skills-recomendar input { flex: 1 1 360px; }
.skills-pagina #skill-run-vazio { margin: 4px 0 8px; }
.skills-pagina .skill-detalhe { margin-bottom: 4px; }

/* Sugestões e comandos, com nome e rótulo (v10.64.1) */
.skills-atalhos { border: 1px dashed var(--line); border-radius: 12px; padding: 10px 12px; margin-bottom: 12px; background: rgba(29,78,216,.03); }
.skills-atalhos-cabeca { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; margin-bottom: 6px; }
.skills-atalhos .skills-sugestoes, .skills-atalhos .skills-recomendar { margin-bottom: 6px; }
.skills-pedido-rotulo { font-weight: 700; font-size: 13px; white-space: nowrap; }
.skills-comandos { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.skill-comando { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; cursor: pointer; }


/* Peças e análises: resumo e filtros no alto; lista à esquerda, leitor à direita (v10.66.0 → v10.67.0) */
.artefatos-cabeca { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.artefatos-barra { flex: 1 1 460px; display: grid; gap: 8px; min-width: 0; }
.artefatos-resumo { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.artefatos-resumo strong { font-size: 15px; }
.artefatos-filtros { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.artefatos-filtros input[type="search"] { flex: 0 1 260px; min-width: 180px; }
.chip-filtros button i { font-style: normal; margin-left: 5px; font-size: 11px; opacity: .7; }
.chip-filtros button.active i { opacity: 1; }
.chip-filtros-situacao { border-left: 1px solid var(--line); padding-left: 10px; }
.calc-filtros { margin: 14px 0 8px; }
.calc-filtro-vazio { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 0; }
.menu-nova-peca { position: relative; flex: 0 0 auto; }
.menu-nova-peca > summary { list-style: none; display: inline-flex; align-items: center; cursor: pointer; }
.menu-nova-peca > summary::-webkit-details-marker, .menu-nova-peca > summary::marker { display: none; content: ''; }
.menu-nova-peca-corpo { position: absolute; right: 0; top: calc(100% + 6px); width: min(440px, 92vw); background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 14px 40px rgba(15, 23, 42, .14); padding: 8px; z-index: 30; display: grid; gap: 4px; }
.menu-nova-peca-corpo .menu-nova-peca-item { text-align: left; border: 1px solid transparent; border-radius: 10px; padding: 8px 10px; background: none; cursor: pointer; display: grid; gap: 2px; font: inherit; color: inherit; width: 100%; }
.menu-nova-peca-item strong, .menu-nova-peca-item small { display: block; }
.menu-nova-peca-item:hover { background: rgba(29, 78, 216, .06); }
.menu-nova-peca-item small, .menu-nova-peca-grupo small { color: var(--muted); font-size: 12px; line-height: 1.35; }
.menu-nova-peca-grupo { border-top: 1px solid var(--line); margin-top: 4px; padding: 8px 10px 4px; display: grid; gap: 4px; }
.menu-nova-peca-regras { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
@media (max-width: 900px) { .menu-nova-peca-corpo { right: auto; left: 0; } }
.artefatos-mesa { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: 16px; align-items: start; }
.artefatos-lista { display: grid; gap: 4px; align-content: start; max-height: 72vh; overflow: auto; padding-right: 4px; }
.artefato-item { text-align: left; border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; background: #fff; cursor: pointer; display: grid; gap: 4px; font: inherit; color: inherit; width: 100%; }
.artefato-item:hover { border-color: #93c5fd; }
.artefato-item.active { border-color: var(--primary); background: rgba(29,78,216,.06); box-shadow: inset 3px 0 0 var(--primary); }
.artefato-item strong { font-size: 13.5px; line-height: 1.3; }
.artefato-item .artefato-meta { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; font-size: 11.5px; color: var(--muted); }
.artefato-item .artefato-meta .badge { font-size: 10.5px; padding: 1px 7px; }
.artefato-item.apoio { margin-left: 16px; width: calc(100% - 16px); border-style: dashed; }
.artefato-versoes-toggle { font: inherit; font-size: 12px; color: var(--muted); background: none; border: 0; cursor: pointer; text-align: left; padding: 2px 10px; margin-left: 16px; }
.artefato-versoes-toggle:hover { color: var(--text, #0f172a); }
.artefatos-leitor { position: sticky; top: 12px; min-width: 0; }
.artefatos-leitor .artifact-output { margin-top: 0; }
.artefatos-leitor .artifact-section { margin: 0; }
.artefatos-leitor .artifact-details-label { display: none; }
.artefatos-leitor .artifact-details > summary { pointer-events: none; }
.artefatos-leitor .artifact-details > summary::before, .artefatos-leitor .artifact-details[open] > summary::before { content: ''; }
.artefatos-lista .lista-longa-rodape { grid-column: 1 / -1; }
@media (max-width: 900px) {
  .artefatos-mesa { grid-template-columns: 1fr; }
  .artefatos-lista { max-height: 38vh; }
  .artefatos-leitor { position: static; }
}

/* Pesquisa de fundamentos que sustentou a peça (v10.69.0) */
.pesquisa-fundamentos { margin: 12px 0; border: 1px solid var(--line); border-radius: 12px; padding: 8px 12px; background: #fff; }
.pesquisa-fundamentos > summary { cursor: pointer; font-weight: 700; font-size: 13.5px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.pesquisa-fundamentos-corpo h4 { margin: 12px 0 4px; font-size: 13px; }
.pesquisa-fundamentos-corpo ol, .pesquisa-fundamentos-corpo ul { margin: 4px 0 8px 18px; padding: 0; font-size: 13px; }
.pesquisa-fundamentos-corpo li { margin-bottom: 6px; }
.pesquisa-descartados { color: var(--muted); }

/* Os quatro passos da peça com método (v10.70.0) */
.passos-metodo { display: flex; gap: 6px; flex-wrap: wrap; list-style: none; margin: 0 0 12px; padding: 0; }
.passos-metodo li { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--muted); border: 1px solid var(--line); border-radius: 999px; padding: 4px 10px 4px 4px; background: #fff; }
.passos-metodo li span { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--line); color: #0f172a; font-weight: 700; font-size: 11px; }
.passos-metodo li.feito { color: #166534; border-color: rgba(22, 101, 52, .35); }
.passos-metodo li.feito span { background: #16a34a; color: #fff; }
.passos-metodo li.atual { color: var(--primary); border-color: var(--primary); font-weight: 700; }
.passos-metodo li.atual span { background: var(--primary); color: #fff; }
.roteiro-contra { margin: 4px 0 2px; font-size: 13px; }
.roteiro-fundamentos { margin: 2px 0 4px; display: flex; gap: 4px; flex-wrap: wrap; }
.auditorias-bloco { margin: 12px 0; border-top: 1px solid var(--line); padding-top: 8px; }
.auditorias-bloco h4 { margin: 0 0 6px; font-size: 13px; }
.auditorias-da-peca { list-style: none; margin: 0 0 8px; padding: 0; display: grid; gap: 4px; font-size: 13px; }

/* A voz da peça: trechos que falam ao sistema (v10.72.0) */
.voz-da-peca ul { margin: 6px 0 4px 18px; padding: 0; font-size: 13px; }
.voz-da-peca li { margin-bottom: 4px; }

/* Consulta do filiado: listas curtas dentro dos avisos do painel. */
.lista-simples { margin: 6px 0 0; padding-left: 18px; }
.lista-simples li { margin-top: 4px; }
/* As caixas de marcar do painel ficam em cartão branco: a cor clara da
   .inline-check (feita para fundo escuro) sumia ali. */
#cf-form label.inline-check { color: inherit; font-weight: 600; }
