
  :root {
    --primaria: #1e3a5f;
    --destaque: #c9a227;
    --fundo: #f4f5f7;
    --card: #ffffff;
    --texto: #1d232b;
    --suave: #6b7480;
    --borda: #e3e6ea;
    --perigo: #c0392b;
    --alerta: #d68910;
    --ok: #1e8449;
  }
  * { box-sizing: border-box; }
  body { margin: 0; font-family: "Segoe UI", system-ui, sans-serif; background: var(--fundo); color: var(--texto); }
  button { font-family: inherit; cursor: pointer; }

  /* ---------- Login ---------- */
  #login { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; background: linear-gradient(160deg, var(--primaria), #0e1c2e); }
  #login .marca { display: flex; align-items: center; gap: 14px; color: #fff; }
  #login .marca .logo { width: 56px; height: 56px; border-radius: 12px; background: var(--destaque); color: var(--primaria); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 20px; }
  #login h1 { font-size: 22px; margin: 0; font-weight: 600; }
  #login p.sub { color: rgba(255,255,255,.7); margin: 0; font-size: 14px; }
  #login .usuarios { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; max-width: 720px; }
  #login .usuario { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15); color: #fff; border-radius: 10px; padding: 14px 18px; min-width: 200px; text-align: left; }
  #login .usuario:hover { background: rgba(255,255,255,.16); }
  #login .usuario .nome { font-weight: 600; }
  #login .usuario .papel { font-size: 12px; color: var(--destaque); text-transform: uppercase; letter-spacing: .5px; margin-top: 4px; }
  #login .aviso-demo { color: rgba(255,255,255,.55); font-size: 12px; max-width: 520px; text-align: center; }

  /* ---------- Shell ---------- */
  #app { display: none; }
  header.topo { background: var(--primaria); color: #fff; display: flex; align-items: center; gap: 18px; padding: 0 20px; height: 58px; position: sticky; top: 0; z-index: 5; }
  header .logo { width: 34px; height: 34px; border-radius: 8px; background: var(--destaque); color: var(--primaria); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; flex: none; }
  header .nome-escritorio { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  nav.abas { display: flex; gap: 2px; margin-left: 12px; overflow-x: auto; }
  nav.abas button { background: transparent; border: 0; color: rgba(255,255,255,.75); padding: 8px 14px; border-radius: 8px; font-size: 14px; white-space: nowrap; }
  nav.abas button.ativa { background: rgba(255,255,255,.16); color: #fff; font-weight: 600; }
  header .quem { margin-left: auto; font-size: 13px; color: rgba(255,255,255,.85); display: flex; align-items: center; gap: 10px; white-space: nowrap; }
  header .quem button { background: rgba(255,255,255,.12); color: #fff; border: 0; border-radius: 6px; padding: 5px 10px; font-size: 12px; }
  header .quem .btn-engrenagem { font-size: 16px; line-height: 1; padding: 6px 9px; }
  header .quem-info { text-align: right; line-height: 1.3; }
  header .quem-nome { font-weight: 600; font-size: 13px; }
  header .quem-papel { font-size: 11.5px; color: rgba(255,255,255,.65); }

  main { max-width: 1180px; margin: 0 auto; padding: 22px 20px 60px; }
  h2.titulo { font-size: 19px; margin: 4px 0 16px; }
  .grade { display: grid; gap: 16px; }
  .grade.cols-2 { grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); }
  .card { background: var(--card); border: 1px solid var(--borda); border-radius: 12px; padding: 16px 18px; }
  .card h3 { margin: 0 0 12px; font-size: 15px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .card h3 .cont { background: var(--fundo); border-radius: 999px; padding: 2px 10px; font-size: 12px; color: var(--suave); font-weight: 600; }
  .vazio { color: var(--suave); font-size: 13px; padding: 6px 0; }

  .linha { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--borda); font-size: 14px; }
  .linha:last-child { border-bottom: 0; }
  .linha .cresce { flex: 1; min-width: 0; }
  .linha .titulo-item { font-weight: 600; }
  .linha .meta { color: var(--suave); font-size: 12px; margin-top: 2px; }

  .badge { border-radius: 999px; padding: 3px 10px; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
  .badge.vencido { background: #fdecea; color: var(--perigo); }
  .badge.hoje { background: #fdecea; color: var(--perigo); }
  .badge.d1 { background: #fdecea; color: var(--perigo); }
  .badge.d3 { background: #fef5e7; color: var(--alerta); }
  .badge.d7 { background: #fef9e7; color: #9a7d0a; }
  .badge.folga { background: #eafaf1; color: var(--ok); }
  .badge.neutro { background: var(--fundo); color: var(--suave); }
  .badge.pago { background: #eafaf1; color: var(--ok); }
  .badge.pendente { background: var(--fundo); color: var(--suave); }
  .badge.vencida { background: #fdecea; color: var(--perigo); }
  .badge.publicado { background: #eaf2fb; color: #1a5276; }
  .badge.tribunal { background: var(--primaria); color: #fff; }
  .badge.fatal { background: var(--perigo); color: #fff; font-weight: 700; letter-spacing: .3px; }
  .linha-fatal { border-left: 3px solid var(--perigo); padding-left: 9px; background: #fdecea33; border-radius: 6px; }

  .btn { border: 1px solid var(--borda); background: var(--card); border-radius: 8px; padding: 7px 13px; font-size: 13px; }
  .btn:hover { background: var(--fundo); }
  .btn.principal { background: var(--primaria); border-color: var(--primaria); color: #fff; font-weight: 600; }
  .btn.mini { padding: 4px 9px; font-size: 12px; }
  .btn.perigo { color: var(--perigo); }

  table { width: 100%; border-collapse: collapse; font-size: 14px; }
  th { text-align: left; color: var(--suave); font-size: 12px; text-transform: uppercase; letter-spacing: .4px; padding: 8px 10px; border-bottom: 2px solid var(--borda); }
  td { padding: 10px; border-bottom: 1px solid var(--borda); vertical-align: top; }
  tr.clicavel { cursor: pointer; }
  tr.clicavel:hover { background: var(--fundo); }

  .chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
  .chips button { border: 1px solid var(--borda); background: var(--card); border-radius: 999px; padding: 6px 14px; font-size: 13px; color: var(--suave); }
  .chips button.ativa { background: var(--primaria); color: #fff; border-color: var(--primaria); font-weight: 600; }

  .kanban { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
  .kanban .coluna { background: var(--fundo); border: 1px solid var(--borda); border-radius: 12px; padding: 12px; }
  .kanban .coluna h4 { margin: 0 0 10px; font-size: 13px; color: var(--suave); text-transform: uppercase; letter-spacing: .4px; }
  .kanban .tarefa { background: var(--card); border: 1px solid var(--borda); border-radius: 10px; padding: 10px 12px; margin-bottom: 10px; font-size: 13.5px; }
  .kanban .tarefa .acoes { display: flex; gap: 6px; margin-top: 8px; }

  dialog { border: 0; border-radius: 14px; padding: 0; max-width: 560px; width: calc(100vw - 40px); box-shadow: 0 18px 60px rgba(0,0,0,.25); }
  dialog::backdrop { background: rgba(10,20,30,.45); }
  dialog .corpo { padding: 20px 22px; }
  dialog h3 { margin: 0 0 16px; font-size: 16px; }
  dialog label { display: block; font-size: 12.5px; color: var(--suave); margin: 12px 0 4px; font-weight: 600; }
  dialog input, dialog select, dialog textarea { width: 100%; border: 1px solid var(--borda); border-radius: 8px; padding: 9px 11px; font-size: 14px; font-family: inherit; background: var(--card); color: var(--texto); }
  dialog textarea { min-height: 80px; resize: vertical; }
  dialog .acoes { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
  .check-inline { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 13.5px; }
  .check-inline input { width: auto; }

  .detalhe-processo .voltar { margin-bottom: 14px; }
  .timeline { border-left: 2px solid var(--borda); margin: 6px 0 0 6px; padding-left: 18px; }
  .timeline .evento { position: relative; padding-bottom: 16px; font-size: 13.5px; }
  .timeline .evento::before { content: ""; position: absolute; left: -24px; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: var(--primaria); }
  .timeline .evento .data { font-size: 12px; color: var(--suave); font-weight: 600; }
  .timeline .evento .resumo-cli { background: var(--fundo); border-radius: 8px; padding: 8px 10px; margin-top: 6px; font-size: 12.5px; color: var(--suave); }

  /* Acompanhamento processual: densidade de informação sem virar painel decorativo. */
  .pa-card { padding: 18px 20px; }
  .pa-topo { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; flex-wrap:wrap; padding-bottom:15px; border-bottom:1px solid var(--borda); }
  .pa-topo h3 { margin:3px 0 5px !important; font-size:17px !important; }
  .pa-eyebrow,.pa-section-label { color:var(--suave); font-size:11px; font-weight:700; letter-spacing:.055em; text-transform:uppercase; }
  .pa-resumo { color:var(--suave); font-size:12.5px; line-height:1.6; }
  .pa-resumo strong { color:var(--texto); font-weight:600; }
  .pa-separador { padding:0 5px; color:var(--borda); }
  .pa-topo-direita { display:flex; align-items:center; justify-content:flex-end; gap:7px; flex-wrap:wrap; }
  .pa-count { border:1px solid #ead9a2; background:#fbf7e9; color:#735d15; border-radius:999px; padding:5px 10px; font-size:11.5px; font-weight:700; }
  .pa-count.quiet { border-color:var(--borda); background:var(--fundo); color:var(--suave); }
  .pa-sem-fonte { display:flex; flex-direction:column; gap:3px; padding:12px 14px; margin:14px 0; border:1px solid #ead9a2; border-left:3px solid var(--destaque); border-radius:8px; background:#fbf9f1; font-size:12.5px; }
  .pa-sem-fonte span { color:var(--suave); line-height:1.5; }
  .pa-consultas { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:8px; padding:14px 0 4px; }
  .pa-consultas > .pa-section-label { grid-column:1/-1; }
  .pa-consulta { min-width:0; padding:10px 11px; border:1px solid var(--borda); border-radius:9px; background:#fff; }
  .pa-consulta-titulo { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:12px; }
  .pa-state { flex:none; border-radius:999px; padding:3px 7px; font-size:10.5px; font-weight:700; background:var(--fundo); color:var(--suave); }
  .pa-state.ok { background:#eafaf1; color:var(--ok); }
  .pa-state.warn { background:#fef5e7; color:#9a6700; }
  .pa-state.error { background:#fdecea; color:var(--perigo); }
  .pa-state.muted { background:var(--fundo); color:var(--suave); }
  .pa-consulta-meta,.pa-erro,.pa-meta { color:var(--suave); font-size:11.5px; line-height:1.5; }
  .pa-consulta-meta { margin-top:5px; }
  .pa-erro { margin-top:5px; color:#9d3329; }
  .pa-timeline-heading { display:flex; justify-content:space-between; align-items:end; gap:12px; margin:17px 0 5px; }
  .pa-timeline-heading p { margin:3px 0 0; color:var(--suave); font-size:12px; line-height:1.45; }
  .pa-total { color:var(--suave); font-size:11.5px; white-space:nowrap; }
  .pa-timeline { border-left:1px solid var(--borda); margin:12px 0 0 5px; padding:0 0 0 18px; }
  .pa-evento { position:relative; padding:0 0 17px; }
  .pa-evento:last-child { padding-bottom:2px; }
  .pa-evento::before { content:""; position:absolute; left:-24px; top:4px; width:9px; height:9px; border:2px solid #fff; border-radius:50%; background:#8b96a3; box-shadow:0 0 0 1px var(--borda); }
  .pa-evento.novo::before { background:var(--destaque); box-shadow:0 0 0 1px #d9c06d; }
  .pa-evento-cabecalho { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:6px 12px; }
  .pa-evento-data { color:var(--suave); font-size:11.5px; font-weight:600; line-height:1.55; }
  .pa-badges { display:flex; align-items:center; flex-wrap:wrap; gap:5px; }
  .pa-tag { border-radius:999px; padding:3px 8px; font-size:10.5px; font-weight:700; line-height:1.2; background:var(--fundo); color:var(--suave); }
  .pa-tag.diario { background:#eaf2fb; color:#1a5276; }
  .pa-tag.movimento { background:#edf3ee; color:#42664d; }
  .pa-tag.fonte { font-weight:600; }
  .pa-tag.novo-tag { background:#fbf3d9; color:#735d15; }
  .pa-tag.sigiloso { background:var(--perigo); color:#fff; }
  .pa-evento-titulo { margin-top:5px; font-size:13.5px; font-weight:650; line-height:1.45; }
  .pa-evento-descricao { margin-top:4px; font-size:13px; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
  .pa-acoes { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
  .pa-nota { margin-top:5px; color:#805c17; font-size:11.5px; }
  .pa-documentos { margin-top:9px; padding:9px 10px; border:1px solid var(--borda); border-radius:8px; background:#fafbfc; }
  .pa-documento { display:flex; align-items:flex-start; gap:8px; margin-top:7px; font-size:12.5px; }
  .pa-documento > span { color:var(--primaria); font-size:15px; }
  .pa-documento-limite { margin:7px 0 0; }
  .pa-revisoes { margin-top:8px; color:var(--suave); font-size:11.5px; }
  .pa-versao { padding:7px 0; border-top:1px solid var(--borda); margin-top:5px; color:var(--texto); white-space:pre-wrap; }
  .pa-vazio { padding:16px 0 7px; color:var(--suave); font-size:13px; }
  @media (max-width:640px) {
    .pa-card { padding:15px 14px; }
    .pa-topo-direita { justify-content:flex-start; }
    .pa-evento-cabecalho { display:block; }
    .pa-badges { margin-top:5px; }
    .pa-resumo .pa-separador { display:none; }
  }

  .config-form { max-width: 540px; }
  .config-form label { display: block; font-size: 12.5px; color: var(--suave); margin: 14px 0 4px; font-weight: 600; }
  .config-form input[type=text], .config-form textarea { width: 100%; border: 1px solid var(--borda); border-radius: 8px; padding: 9px 11px; font-size: 14px; font-family: inherit; }
  .config-form input[type=color] { width: 64px; height: 36px; border: 1px solid var(--borda); border-radius: 8px; padding: 2px; }
  .cores { display: flex; gap: 24px; }

  .msg-thread { max-height: 320px; overflow-y: auto; display: flex; flex-direction: column; gap: 8px; padding: 4px 0; }
  .msg { max-width: 80%; border-radius: 12px; padding: 8px 12px; font-size: 13.5px; }
  .msg.cliente { background: var(--fundo); align-self: flex-start; }
  .msg.escritorio { background: var(--primaria); color: #fff; align-self: flex-end; }
  .msg .quando { display: block; font-size: 10.5px; opacity: .65; margin-top: 3px; }
  .msg-form { display: flex; gap: 8px; margin-top: 10px; }
  .msg-form input { flex: 1; border: 1px solid var(--borda); border-radius: 8px; padding: 9px 11px; font-size: 14px; }

  /* ---------- Clientes (master-detail) ---------- */
  .cli-barra { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
  .cli-busca { position: relative; flex: 1; min-width: 200px; }
  .cli-busca input { width: 100%; border: 1px solid var(--borda); background: var(--card); border-radius: 8px; padding: 9px 11px 9px 32px; font-size: 14px; color: var(--texto); }
  .cli-busca svg { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--suave); }
  .cli-barra select { border: 1px solid var(--borda); background: var(--card); border-radius: 8px; padding: 8px 10px; font-size: 13px; color: var(--texto); }
  .cli-split { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 16px; align-items: start; }
  .cli-lista { display: flex; flex-direction: column; border: 1px solid var(--borda); border-radius: 12px; overflow: hidden; background: var(--card); }
  .cli-linha { display: flex; align-items: center; gap: 11px; padding: 12px 14px; border-top: 1px solid var(--borda); border-left: 3px solid transparent; cursor: pointer; }
  .cli-linha:first-child { border-top: 0; }
  .cli-linha:hover { background: var(--fundo); }
  .cli-linha.ativa { background: var(--fundo); border-left-color: var(--primaria); }
  .cli-linha.atencao { border-left-color: var(--alerta); }
  .cli-linha.lgpd { opacity: .55; cursor: default; }
  .cli-linha .av { width: 36px; height: 36px; border-radius: 50%; background: var(--fundo); display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 13px; color: var(--suave); flex: none; }
  .cli-linha.ativa .av, .cli-linha.atencao .av { background: #eaf2fb; color: #1a5276; }
  .cli-linha .corpo { flex: 1; min-width: 0; }
  .cli-linha .nome { font-weight: 600; font-size: 14.5px; display: flex; align-items: center; gap: 7px; }
  .cli-linha .previa { font-size: 12.5px; color: var(--suave); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
  .cli-pt { display: inline-flex; align-items: center; justify-content: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--perigo); color: #fff; font-size: 11px; font-weight: 700; flex: none; }
  .cli-detalhe { border: 1px solid var(--borda); border-radius: 12px; background: var(--card); padding: 16px 18px; min-height: 320px; }
  .cli-detalhe .cab { display: flex; align-items: flex-start; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--borda); margin-bottom: 14px; }
  .cli-vazio-det { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 300px; color: var(--suave); font-size: 13.5px; gap: 8px; text-align: center; }
  .cli-menu-wrap { position: relative; flex: none; }
  .cli-menu { position: absolute; right: 0; top: calc(100% + 4px); min-width: 220px; background: var(--card); border: 1px solid var(--borda); border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.12); padding: 5px; z-index: 20; display: none; }
  .cli-menu.aberto { display: block; }
  .cli-menu a, .cli-menu button { display: flex; align-items: center; gap: 9px; width: 100%; text-align: left; background: none; border: 0; border-radius: 7px; padding: 8px 10px; font-size: 13px; color: var(--texto); text-decoration: none; }
  .cli-menu a:hover, .cli-menu button:hover { background: var(--fundo); }
  .cli-menu .sep { height: 1px; background: var(--borda); margin: 5px 4px; }
  .cli-menu .perigo { color: var(--perigo); }
  @media (max-width: 760px) { .cli-split { grid-template-columns: 1fr; } }
  /* Cabeçalho no celular: o bloco "quem" (nome completo + papel + botões) não encolhia e tomava
     toda a largura, deixando nome do escritório e as abas com 0px — inclusive de rolagem, que
     nunca chegava a aparecer. Solução: quebra em 2 linhas — topo compacto, abas na linha de baixo
     com a largura toda e rolagem horizontal. */
  @media (max-width: 760px) {
    header.topo { flex-wrap: wrap; height: auto; min-height: 58px; padding: 10px 14px; row-gap: 8px; }
    header .nome-escritorio { display: none; }
    header .quem-papel { display: none; }
    header .quem-info { text-align: left; }
    nav.abas { order: 3; flex: 1 1 100%; margin-left: 0; -webkit-overflow-scrolling: touch; }
  }

  .toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); background: var(--texto); color: #fff; border-radius: 10px; padding: 10px 18px; font-size: 13.5px; opacity: 0; transition: opacity .25s; pointer-events: none; z-index: 50; }
  .toast.mostra { opacity: 1; }
  .nota-rodape { color: var(--suave); font-size: 12px; margin-top: 26px; text-align: center; }
.prazo-cabecalho{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.prazo-cabecalho h3{margin:0}
.ajuda-contextual{position:relative;font-size:13px;font-weight:normal}
.ajuda-contextual summary{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--borda);border-radius:50%;cursor:pointer;color:var(--primaria);list-style:none}
.ajuda-contextual summary::-webkit-details-marker{display:none}
.ajuda-contextual summary:focus-visible{outline:2px solid var(--primaria);outline-offset:2px}
.ajuda-contextual .ajuda-contextual-texto{display:none;position:absolute;top:100%;left:-100px;width:min(300px,75vw);padding:12px;background:var(--card,#fff);color:var(--texto,#172033);border:1px solid var(--borda);border-radius:8px;box-shadow:0 4px 16px #0002;z-index:10;line-height:1.5}
.ajuda-contextual[open] .ajuda-contextual-texto,.ajuda-contextual:hover .ajuda-contextual-texto,.ajuda-contextual:focus-within .ajuda-contextual-texto{display:block}
.ajuda-intimacoes{flex-shrink:0}
.ajuda-intimacoes .ajuda-contextual-texto{left:auto;right:0}
.bia-conteudo input,.bia-conteudo select,.bia-conteudo textarea{font:inherit;padding:8px 10px;border:1px solid var(--borda);border-radius:8px;max-width:100%;box-sizing:border-box}
.bia-conteudo label{margin:8px 0}
.bia-abertura-form fieldset{border:1px solid var(--borda);border-radius:8px;padding:12px;margin:12px 0}
.bia-abertura-form fieldset label{display:inline-flex;align-items:center;gap:6px;margin:6px 12px 6px 0}
.bia-abertura-form input[type=number]{width:85px}
.bia-abertura-form legend{font-weight:600}
.filtros-intimacoes{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}
.filtros-intimacoes select,.filtros-intimacoes input,.filtros-intimacoes .btn{width:auto;max-width:100%;height:40px;border-radius:8px;padding:8px 12px;font:inherit;box-sizing:border-box;border:1px solid var(--borda)}
.filtros-intimacoes input,.filtros-intimacoes select{background:#fff;color:var(--texto)}
@media(max-width:600px){.filtros-intimacoes input,.filtros-intimacoes select{flex:1;min-width:150px}}
.calculadora-bloco{position:relative}
.ajuda-calculadora{position:absolute;right:8px;top:3px;z-index:11}
.ajuda-calculadora .ajuda-contextual-texto{left:auto;right:0}
.etapa-campo{flex:1;min-width:130px;margin:0}
.preparacao-opcional{margin:12px 0;padding:10px;border:1px solid var(--borda);border-radius:8px}
.preparacao-opcional summary{cursor:pointer;font-weight:600}
.preparacao-acoes{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.providencia-processo{padding:10px 0;border-bottom:1px solid var(--borda)}
.providencia-processo>summary{cursor:pointer;line-height:1.7}.providencia-processo .linha{flex-wrap:wrap}
.providencias-concluidas,.andamentos-anteriores{margin-top:14px}.quando-aberto{display:none}details[open]>summary .quando-fechado{display:none}details[open]>summary .quando-aberto{display:inline}
.parte-editor{padding:10px;border:1px solid var(--borda);border-radius:8px;margin:8px 0}.parte-editor .campos{display:grid;grid-template-columns:1fr 1fr;gap:8px}.parte-editor label{font-size:12px}@media(max-width:600px){.parte-editor .campos{grid-template-columns:1fr}}
.revisao-ia{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:12px}.revisao-ia section{min-width:0;border:1px solid var(--borda);padding:12px;border-radius:8px}.teor-ia{white-space:pre-wrap;overflow-wrap:anywhere;max-height:520px;overflow:auto}.fonte-ia{margin-top:12px;border-top:1px solid var(--borda);padding-top:8px}.fonte-ia blockquote{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0;padding-left:10px;border-left:3px solid var(--borda)}@media(max-width:800px){.revisao-ia{grid-template-columns:minmax(0,1fr)}}
