.termination-page-actions,.termination-actions,.termination-detail-actions,.termination-task-actions,.termination-contact-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.termination-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}
.termination-summary-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px 18px;box-shadow:0 8px 22px rgba(31,48,75,.04)}
.termination-summary-card span,.termination-summary-card small{display:block;color:var(--muted);font-size:12px}.termination-summary-card strong{display:block;margin:6px 0;font-size:25px;color:var(--ink)}
.termination-summary-card.is-danger{border-left:4px solid #ef4444}.termination-summary-card.is-warning{border-left:4px solid #f97316}.termination-summary-card.is-active{border-left:4px solid #0aa77d}
.termination-panel{overflow:hidden}.termination-toolbar{padding:16px 20px;border-bottom:1px solid var(--border)}.termination-toolbar .search{width:100%;min-width:0}
.termination-list{display:grid;gap:0;padding:0}
.termination-card{display:grid;grid-template-columns:minmax(230px,1.25fr) minmax(170px,.8fr) minmax(160px,.7fr) minmax(210px,1fr) auto;gap:18px;align-items:center;background:transparent;border:0;border-radius:0;box-shadow:none;padding:16px 20px}
.termination-card + .termination-card{border-top:1px solid var(--border)}
.termination-person{display:flex;gap:12px;align-items:center;min-width:0}.termination-person>span:last-child{min-width:0}.termination-avatar{width:38px;height:38px;border-radius:12px;background:#e8f0ff;color:#2459c4;display:grid;place-items:center;font-weight:800;font-size:12px;flex:0 0 auto}.termination-person strong,.termination-person small,.termination-meta strong,.termination-meta small{display:block}.termination-person strong,.termination-person small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.termination-person small,.termination-meta small{color:var(--muted);font-size:12px;margin-top:3px}
.termination-date strong{font-size:14px}.termination-date.is-late strong{color:#dc2626}.termination-date.is-close strong{color:#d65f00}
.termination-progress{display:grid;gap:6px}.termination-progress-track{height:7px;border-radius:99px;background:#e8edf5;overflow:hidden}.termination-progress-track i{display:block;height:100%;background:#3f6fed;border-radius:inherit}.termination-progress small{color:var(--muted);font-size:11px}
.termination-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;background:#eef3fa;color:#52647d;font-size:11px;font-weight:800;white-space:nowrap}.termination-status.in_progress,.termination-status.awaiting_accounting,.termination-status.exam_pending,.termination-status.documents_pending,.termination-status.accounting-pending{background:#fff3e6;color:#b45309}.termination-status.ready_to_complete,.termination-status.accounting-approved{background:#e8f0ff;color:#2459c4}.termination-status.completed{background:#e3f8f0;color:#087a5d}.termination-status.cancelled{background:#f0f2f5;color:#7b8798}.termination-status.accounting-divergence{background:#fde8e8;color:#b42318}.termination-person + .termination-meta + div{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.termination-review-section{margin:0 0 16px}.termination-review-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.termination-review-note{grid-column:1/-1}.termination-review-form textarea{min-height:72px}.termination-file-list{display:flex;flex-direction:column;gap:10px}
.termination-empty,.termination-load-error{padding:54px;text-align:center;color:var(--muted)}.termination-empty strong,.termination-load-error strong{display:block;color:var(--ink);font-size:17px;margin-bottom:6px}
.termination-dialog{--dialog-pad-x:28px;--dialog-pad-t:28px;--dialog-pad-b:28px;width:min(760px,calc(100vw - 32px));max-height:92vh;border:0;border-radius:20px;padding:0;box-shadow:0 24px 70px rgba(13,31,58,.25)}.termination-dialog::backdrop{background:rgba(13,27,48,.45);backdrop-filter:blur(2px)}.termination-dialog-scroll{position:relative;padding:var(--dialog-pad-t) var(--dialog-pad-x) var(--dialog-pad-b);max-height:92vh;overflow-x:clip;overflow-y:auto}.termination-dialog h2{margin:4px 0 8px}.termination-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:15px;margin-top:18px}.termination-form-grid>*{min-width:0}.termination-form-grid label{display:flex;flex-direction:column;gap:6px;color:#40516a;font-size:12px;font-weight:750}.termination-form-grid .span-2{grid-column:1/-1}.termination-form-grid input:not([type="checkbox"]):not([type="radio"]),.termination-form-grid select,.termination-form-grid textarea{width:100%;min-height:43px;padding:10px 12px;border:1px solid #d6e0eb;background:#fff;color:#172940;font:inherit;font-weight:600}.termination-form-grid textarea{min-height:78px;border-radius:var(--ui-control-radius-tall);resize:vertical}
.termination-compliance{grid-column:1/-1;padding:12px 14px;border:1px solid #cfe3ff;background:#f3f8ff;border-radius:12px;color:#315580;font-size:12px;line-height:1.45}.termination-compliance.warning{border-color:#fed7aa;background:#fff7ed;color:#9a4e05}
.termination-form-message{min-height:20px;margin:12px 0 0;color:#b33f3f;font-size:12px}.termination-form-actions,.termination-detail-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.termination-detail-dialog{width:min(1000px,calc(100vw - 28px))}.termination-detail-head{display:grid;grid-template-columns:1fr auto;gap:18px;padding-right:34px}.termination-detail-head>.termination-status{align-self:start}.termination-detail-head h2{margin:2px 0}.termination-detail-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.termination-detail-meta span{padding:6px 9px;background:#f2f5fa;border-radius:8px;color:#52647d;font-size:11px}
.termination-detail-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:20px}.termination-detail-section{border:1px solid #dce4ef;border-radius:15px;padding:16px}.termination-detail-section h3{margin:0 0 12px;font-size:14px}.termination-task-list,.termination-message-list{display:grid;gap:10px}
.termination-task{border:1px solid #e0e6ef;border-radius:12px;padding:0;overflow:hidden}.termination-task-bar{display:grid;grid-template-columns:28px minmax(0,1fr) auto 16px;gap:12px;align-items:center;width:100%;padding:12px 14px;border:0;background:#fff;text-align:left;cursor:pointer}.termination-task-index{width:28px;height:28px;border-radius:8px;background:#eef3fa;color:#2459c4;display:grid;place-items:center;font-size:12px;font-weight:800}.termination-task.is-completed .termination-task-index{background:#e3f8f0;color:#087a5d}.termination-task.is-overdue .termination-task-index{background:#fde8e8;color:#b42318}.termination-task-copy{min-width:0}.termination-task-copy strong,.termination-task-copy small{display:block}.termination-task-copy strong{font-size:13px}.termination-task-copy small{color:var(--muted);margin-top:3px;font-size:11px}.termination-task-chevron{width:8px;height:8px;border-right:2px solid #7c8ba3;border-bottom:2px solid #7c8ba3;transform:rotate(45deg);margin-top:-4px}.termination-task.is-open .termination-task-chevron{transform:rotate(225deg);margin-top:2px}.termination-task-body{padding:0 14px 14px 54px;display:grid;gap:8px}.termination-task-body[hidden]{display:none}.termination-fold{padding:0;overflow:hidden}.termination-fold>.termination-task-bar{grid-template-columns:minmax(0,1fr) auto 16px}.termination-fold-body{padding:0 14px 14px;display:grid;gap:8px}.termination-fold-body[hidden]{display:none}.termination-task-body textarea,.termination-task-body select{width:100%;border:1px solid #d3ddea;border-radius:8px;padding:8px;font-size:12px}.termination-task-actions button{padding:7px 10px;border-radius:8px;font-size:11px}.termination-task.is-completed{border-color:#b9ead9;background:#f5fdf9}.termination-task.is-overdue{border-color:#fecaca;background:#fff8f8}.process-checklist-item{border:1px solid #e0e6ef;border-radius:12px;margin-top:8px;overflow:hidden;background:#fff}
.process-checklist-item.is-dragging{opacity:.55}
.process-checklist-head{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center}
.process-checklist-head:not(:has(.process-checklist-handle)){grid-template-columns:minmax(0,1fr) auto}
.process-checklist-handle{border:0;background:transparent;color:#7c8ba3;cursor:grab;font-size:18px;line-height:1}
.process-checklist-handle:active{cursor:grabbing}
.process-checklist-bar{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;gap:12px;align-items:center;width:100%;padding:12px 14px;border:0;background:#fff;text-align:left;cursor:pointer}
.process-checklist-bar strong,.process-checklist-bar small{display:block}
.process-checklist-bar strong{font-size:13px;color:#172940}
.process-checklist-bar small{margin-top:3px;color:var(--muted);font-size:11px}
.process-checklist-chevron{width:8px;height:8px;border-right:2px solid #7c8ba3;border-bottom:2px solid #7c8ba3;transform:rotate(45deg);margin-top:-4px}
.process-checklist-item.is-open .process-checklist-chevron{transform:rotate(225deg);margin-top:2px}
.process-checklist-body{padding:2px 14px 14px}
.process-checklist-body[hidden]{display:none}
.process-checklist-body .outline-button{justify-self:start}
.dialog-topbar-tools .process-checklist-add{margin:0;height:34px;padding:0 12px;font-size:13px;white-space:nowrap}
.process-checklist-empty{margin:4px 0 0;color:#7b8a9e;font-size:13px}
.process-checklist-off{margin-top:22px;padding-top:16px;border-top:1px solid #e6edf5}
.process-checklist-off[hidden]{display:none}
.process-checklist-off h3{margin:0 0 4px;font-size:13px;font-weight:750;color:#52647d}
.process-checklist-off p{margin:0 0 10px;font-size:12px;line-height:1.45;color:#7b8a9e}
.process-checklist-item.is-off{background:#f6f8fb;border-color:#e4ebf3}
.process-checklist-item.is-off .process-checklist-bar{grid-template-columns:minmax(0,1fr) 16px;background:transparent}
.process-checklist-item.is-off .process-checklist-bar strong{color:#4d5d72;font-weight:650}
.process-checklist-head .process-checklist-switch{flex:0 0 auto;flex-direction:row-reverse;justify-content:flex-end;align-items:center;min-height:0;gap:8px;margin:0;padding:0 12px 0 8px;font-size:11px;font-weight:650;color:#52647d;white-space:nowrap}
/* A grade do card (`.vacation-form-grid label`) impõe coluna e vence
   `.toggle-field`. Dentro dela a chave ficava em cima do texto, e o
   space-between de uma meia coluna afastava a chave do próprio rótulo até
   encostar na vizinha. Fora da grade, cada chave fica na linha do rótulo. */
.process-checklist-flags{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px}
.process-checklist-flags .toggle-field{flex:0 0 auto;flex-direction:row-reverse;justify-content:flex-end;align-items:center;min-height:38px;gap:10px;font-size:12px;font-weight:650;color:#42516a}
.termination-message{border:1px solid #e0e6ef;border-radius:12px;padding:12px}.termination-message-top{display:flex;justify-content:space-between;gap:8px}.termination-message strong{font-size:12px}.termination-message p{font-size:11px;color:var(--muted);line-height:1.4;margin:7px 0}.termination-message-status{font-size:10px;font-weight:800;text-transform:uppercase;color:#52647d}.termination-message-status.sent{color:#087a5d}.termination-message-status.failed,.termination-message-status.configuration_required{color:#c2410c}
.termination-contact-list{display:grid;gap:10px;margin:16px 0}.termination-contact{display:grid;grid-template-columns:1fr auto;gap:12px;border:1px solid #dce4ef;border-radius:12px;padding:12px}.termination-contact strong,.termination-contact small{display:block}.termination-contact small{color:var(--muted);margin-top:4px}
.contact-sectors{margin:4px 0 8px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.contact-sectors-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.contact-sectors-bar h3{margin:0;font-size:15px}
.contact-sector-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.contact-sector-form input{height:42px;min-width:220px;padding:0 12px;border:1px solid var(--border);border-radius:12px;font:inherit;background:#fff}
.contact-sector-list{display:grid;gap:10px;margin-top:12px}
.contact-sector{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border:1px solid #dce4ef;border-radius:12px;padding:12px;background:#fff}
.contact-sector strong,.contact-sector small{display:block}
.contact-sector small{color:var(--muted);margin-top:4px}
.contact-sector .termination-contact-actions{display:flex;gap:8px;flex-wrap:wrap}
.termination-channel-state{display:flex;gap:8px;align-items:center;margin-top:12px;padding:10px 12px;border-radius:11px;background:#fff7ed;color:#9a4e05;font-size:11px}.termination-channel-state.ready{background:#effbf6;color:#087a5d}
@media(max-width:1100px){.termination-card{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(150px,.65fr)) auto}.termination-card .termination-progress{grid-column:2/4}.termination-detail-grid{grid-template-columns:1fr}.termination-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.termination-summary{grid-template-columns:1fr}.termination-card{grid-template-columns:1fr}.termination-card .termination-progress{grid-column:auto}.termination-dialog{--dialog-pad-x:18px;--dialog-pad-t:22px;--dialog-pad-b:22px}.termination-form-grid{grid-template-columns:1fr}.termination-form-grid .span-2{grid-column:auto}.termination-detail-head{grid-template-columns:1fr}.termination-page-actions{width:100%;display:grid;grid-template-columns:1fr}.termination-page-actions button{width:100%;display:inline-flex!important;justify-content:center}}
/* Campo do aviso que nao se aplica ao caso sai da grade. Precisa vir depois (e
   com o pai no seletor) porque .termination-form-grid label forca display:grid,
   que sozinho vence o atributo hidden. */
.termination-form-grid label[hidden]{display:none}
/* Resumo do aviso no dossie: uma linha de texto corrido sob as pilulas de meta,
   porque a frase e longa demais para virar mais uma pilula. */
.termination-notice-summary{margin:8px 0 0;color:#52647d;font-size:12px;line-height:1.5}
.termination-aviso-doc{margin-top:12px;max-width:640px}
.termination-aviso-doc p{margin:0 0 8px;color:#52647d;font-size:13px;line-height:1.45}
.termination-aviso-doc .outline-button{margin-top:2px}
.termination-aviso-doc .termination-task-actions{margin-top:4px}
.termination-sign-model{display:flex;flex-direction:column;gap:4px;min-width:180px;font-size:11px;color:#52647d}
.termination-sign-model select{width:100%}

/* --- Contatos e automacoes --------------------------------------------- */

/* "Padrao" e "Ativo" vivem no RODAPE DE CADA CARTAO, nao no formulario.
   Padrao so significa alguma coisa comparando um contato com os outros do
   mesmo tipo, e essa comparacao e a lista — no formulario ela nao existia. Sao
   duas chaves curtas lado a lado, cada uma colada ao proprio rotulo
   (justify-content:flex-end empacota a esquerda com row-reverse; ver a nota em
   components.css), separadas do conteudo por um filete. */
.termination-contact-flags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 24px;border-top:1px solid #eef2f7;padding-top:2px}
.termination-contact-flags .toggle-field{flex:0 0 auto;min-height:38px;gap:10px;justify-content:flex-end;font-size:12px;font-weight:650;color:#42516a}

/* O vazio da lista e o mesmo componente do painel inteiro, dimensionado para
   uma pagina larga: ui-refinement.css lhe da min-height:190px e 42px de
   respiro. Dentro do dialogo aquilo virava um bloco de ar entre o titulo e o
   formulario. O min-height precisa ser zerado junto — so o padding deixava a
   caixa com a mesma altura de antes. */
.termination-empty.is-compact{min-height:0;padding:26px 16px}

.termination-contact-form-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:18px}
.termination-contact-form-head h3{margin:0;font-size:14px;color:var(--ink)}
.termination-link-button{border:0;background:none;padding:0;color:var(--color-primary);font:inherit;font-size:12px;font-weight:700;cursor:pointer;border-radius:6px}
.termination-link-button:hover{text-decoration:underline}
.termination-link-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}

/* Editando: a faixa a esquerda diz de onde o formulario veio, e o cartao
   correspondente na lista recebe a mesma cor. Sem isso o formulario embaixo da
   lista parecia sempre "novo contato", e editar dois seguidos era as cegas. */
.termination-contact-form.is-editing{border-left:1px solid var(--color-primary);padding-left:14px;margin-left:-15px}
.termination-contact.is-editing{border-color:var(--color-primary);background:#f6f9ff}
.termination-contact.is-inactive{opacity:.72}
.termination-contact small{color:var(--muted);word-break:break-word}

/* Dois grupos de canal lado a lado no dialogo largo, empilhados no estreito
   (a regra de 720px, mais abaixo, ja cuida disso pela grade do formulario). */
.termination-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px}
.termination-channel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:2px}
.termination-channel-head h4{margin:0;font-size:12px;font-weight:750;color:#42516a}
.termination-channel-rows{display:grid;gap:10px}
/* A coluna do botao e fixa para os campos dos dois grupos terminarem na mesma
   linha vertical, com ou sem endereco digitado. */
/* Duas colunas (campo + botao) e uma segunda faixa para a mensagem de erro,
   que ocupa a linha inteira. `align-items:start` na faixa de cima porque o
   campo e o botao tem alturas diferentes e o centro so vale entre eles. */
.termination-channel-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px;align-items:center}
.termination-channel-row [data-channel-error]{grid-column:1/-1;margin:0;color:var(--color-danger-text,#c0392b);font-size:11px;line-height:1.35}
/* A borda vermelha e `!important` porque floating-fields.css pinta a borda do
   campo depois desta folha, e sem isso o campo errado ficava igual aos certos. */
.termination-channel-row.is-invalid input{border-color:var(--color-danger,#c0392b)!important}
.termination-channel-row>label{display:grid;gap:6px;color:#42516a;font-size:12px;font-weight:700;min-width:0}
.termination-channel-row input{width:100%;border:1px solid #d3ddea;border-radius:10px;background:#fff;padding:11px 12px;color:var(--ink);font:inherit}
/* Redondo, e o X e um SVG (ver a nota em linhaDeCanal, terminations.js): o
   caractere "×" tem a tinta toda acima da linha de base e assentava 4,5px
   acima do centro. `display:grid` + `place-items:center` centra a caixa do
   proprio SVG, que ja e simetrica — sem padding de correcao, sem depender da
   metrica da fonte. */
.termination-channel-remove{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid #dce4ef;border-radius:50%;background:#fff;color:#7c8ba3;line-height:0;cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease}
.termination-channel-remove svg{display:block}
.termination-channel-remove:hover{color:var(--color-danger,#c0392b);border-color:#f0c9c2;background:#fdf5f4}
.termination-channel-remove:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}
.termination-channel-hint{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.5}

/* A mensagem do formulario e o mesmo elemento para "Salvando…", erro do
   servidor e aviso de troca de tipo — so o aviso muda de cor. */
.termination-form-message.is-warning{color:#8a5a00}

@media(max-width:720px){
  .termination-channels{grid-template-columns:1fr;gap:14px}
  .termination-contact-form.is-editing{margin-left:-13px;padding-left:12px}
  /* O cartao de contato era `1fr auto` em qualquer largura. Num celular os dois
     botoes ficam com 162px fixos e sobram 116px para o conteudo: o nome quebra
     em tres linhas e o e-mail parte no meio da palavra ("contabilativa.c /
     om.br"). Empilhado, o texto usa a largura toda e os botoes vao para baixo,
     alinhados a direita. */
  .termination-contact,.contact-sector{grid-template-columns:1fr;gap:10px}.contact-sector-form,.contact-sector-form input{width:100%}
  .termination-contact-actions{justify-content:flex-end}
}

/* `--navy` nunca existiu no painel web (so em mobile.css, que o painel nao
   carrega): as seis declaracoes `color:var(--navy)` deste arquivo eram
   invalidas e caiam em `inherit`. Passaram a usar --ink, que e o token real do
   texto (#162337) e o valor que elas ja produziam por heranca — mesma cor na
   tela, sem referencia morta. */
/* Chave bloqueada: padrao num contato inativo. Fica visivel e explicavel (a
   dica da linha diz o porque), nao escondida — sumir com ela faria a lista
   parecer inconsistente entre um cartao e outro. */
.termination-contact-flags .toggle-field.is-blocked{opacity:.55;cursor:not-allowed}
.termination-contact-flags .toggle-field.is-blocked input{cursor:not-allowed}

/* ---------------------------------------------------------------------------
   O CARD DE DESLIGAMENTO ADOTA O PADRÃO DO CARD DE REFERÊNCIA — 20/09/2026

   Pedido do dono depois de usar a tela: "fui usar e fiquei um pouco perdido".
   O formulário tem 25 campos, quase nenhum com ajuda, e o ✕ flutuava sobre o
   conteúdo enquanto se rolava. Tudo abaixo já existia em `vacations.css`; aqui
   é a mesma decisão, não uma variação. Ver `spec-design-card.md`.
   --------------------------------------------------------------------------- */

/* §5 — a dica aberta precisa passar por cima dos rótulos vizinhos, que são
   renderizados depois. Só com `is-open`: o `:hover` elevava o campo sem dica
   nenhuma à vista. */
.termination-dialog .termination-form-grid label:has(.j-field-tip.is-open){z-index:45}

/* §5 — a altura é 43px nos TRÊS controles. O que aparece na tela é o
   `.select-menu-trigger` (select-menu.js esconde o <select> nativo), então
   padronizar só o <select> não muda nada do que se vê.
   `select.j-floating-input` (0,2,1) de propósito: a regra que traz a pílula do
   sistema é `.j-floating-field .j-floating-input` (0,2,0) em
   floating-fields.css, que carrega DEPOIS desta folha — empatar perderia na
   ordem. O raio continua sendo o do sistema; o card não declara o seu. */
.termination-form-grid select.j-floating-input,
.termination-form-grid select{min-height:43px;height:43px;border-color:#d6e0eb}
.termination-form-grid .select-menu-trigger{height:43px;min-height:43px;border-color:#d6e0eb}
.termination-form-grid .select-menu-trigger:hover{border-color:#b7c8dc}
.termination-form-grid input[readonly]{cursor:default;background:#f5f8fc;color:#4d6079}

/* §6 — a ajuda que continua visível (a que tem `id`, e por isso o
   floating-fields não converte em ícone) herdava do <label> o peso 750: saía
   tão forte quanto o rótulo. Tinta discreta, como no card de férias. */
.termination-form-grid .field-help{margin-top:2px;color:#7b8a9e;font-size:11px;font-weight:600;line-height:1.5}

/* §1 — o cabeçalho do dossiê perde o recuo que existia para desviar do ✕
   flutuante: agora o ✕ mora na barra superior. */
.termination-detail-head{padding-right:0}
.termination-dialog h2{margin:0}
.termination-dialog .dialog-subtitle{margin:0 0 20px;color:#76879d}

/* §10, armadilha 8 — `display:flex` de mesma origem vence o `display:none` que
   o navegador dá a `[hidden]`. Sem esta linha, o dossiê sem ações mostraria
   uma faixa branca grudada no fim do card. */
.termination-detail-actions[hidden]{display:none}

/* OS TRÊS PASSOS DO CARD DE DESLIGAMENTO (20/09/2026)

   Relato do dono: "está muita informação conjunta e confunde um pouco por onde
   iniciar". Os 25 campos continuam todos lá — o que mudou é que agora estão
   numerados na ordem em que se decide: quem e por quê, depois o aviso, depois
   exame e documentos. É a mesma ordem que o tour do card já narrava; faltava a
   tela obedecê-la.

   Numerado, e não só separado: um título sem número diz que há seções; com
   número, diz por onde começar, que era a pergunta. */
.termination-step{margin-top:22px}
.termination-step:first-of-type{margin-top:18px}
.termination-step>h3{display:flex;align-items:center;gap:9px;margin:0;color:#2b3c55;font-size:13px}
.termination-step>h3>span{display:grid;place-items:center;width:22px;height:22px;flex:0 0 auto;border-radius:50%;background:#e8f0ff;color:#2459c4;font-size:11px;font-weight:800}
.termination-step>h3::after{content:"";flex:1;height:1px;background:var(--border)}
.termination-step>.termination-form-grid{margin-top:14px}

/* A FAIXA DO VÍNCULO — o que o Jornada já sabe, dito antes de pedir datas.
   Fica no topo do passo 1, acima do seletor de colaborador, porque é resposta
   e não pergunta. */
.termination-vinculo{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid #cfe3ff;border-radius:12px;background:#f3f8ff;color:#315580;font-size:12px;line-height:1.5}
.termination-vinculo strong{color:#1d3f6b;font-size:13px}
/* Prazo vencido ou prorrogação sem termo: âmbar, como toda conferência legal
   deste produto. Nunca vermelho — não há nada malformado, há um fato do mundo
   que mudou o tipo do contrato. */
.termination-vinculo.is-warning{border-color:#fed7aa;background:#fff7ed;color:#9a4e05}
.termination-vinculo.is-warning strong{color:#8a4504}
/* Armadilha 8 do spec-design-card: `hidden` perde para um display próprio de
   mesma origem. */
.termination-vinculo[hidden],.termination-aviso-detalhe[hidden]{display:none}

/* PASSO 3 — ENCERRAMENTO (21/09/2026)

   As datas que DERIVAM do que foi preenchido acima. A introdução diz a regra
   antes de a pessoa descobrir sozinha, que era o problema: uma data que muda
   sem aviso parece o sistema mexendo no que ela preencheu. */
.termination-step-intro{margin:10px 0 0;color:#76879d;font-size:12px;line-height:1.5}

/* A origem de cada data, à vista e não no "i": ela muda enquanto se preenche.
   Calculada em azul discreto — é o sistema falando; informada em cinza — é a
   pessoa. Nunca em cor de alerta: nenhuma das duas é um problema. */
.termination-form-grid .termination-origem{margin-top:2px;font-size:11px;font-weight:600;line-height:1.4;color:#7b8a9e}
.termination-form-grid .termination-origem.is-calculado{color:#3a64b8}
.termination-form-grid .termination-origem:empty{display:none}

/* CAMPO DE ARQUIVO — o documento da comunicação (21/09/2026).
   Mesma pílula do card de férias (vacations.css): o botão que o navegador
   desenha dentro do campo é o único retângulo de canto vivo do card, com a
   fonte do sistema e fora da escala. Aqui ele ganha a mesma cara dos outros
   controles, e o "Nenhum arquivo escolhido" alinha na altura dele. */
.termination-form-grid input[type="file"]{height:43px;padding:0 7px;line-height:43px;color:#5d6b80;font-size:12px;font-weight:650;cursor:pointer}
.termination-form-grid input[type="file"]::file-selector-button{
  margin-right:10px;padding:0 14px;height:29px;vertical-align:middle;
  border:1px solid var(--ui-control-border,#cbd7e6);border-radius:999px;
  background:#fff;color:#34475f;font:inherit;font-size:11px;font-weight:750;cursor:pointer;
  transition:color .16s ease,background-color .16s ease,border-color .16s ease}
.termination-form-grid input[type="file"]:hover::file-selector-button{border-color:#b7c8dc;background:#f2f6fc;color:var(--color-primary-hover,#1445cc)}
/* A dica do que já está anexado: tinta discreta, e o "Abrir" no meio da frase. */
.termination-form-grid #terminationCommunicationFileHint{margin-top:2px;color:#7b8a9e;font-size:11px;font-weight:600;line-height:1.5}
.termination-form-grid #terminationCommunicationFileHint:empty{display:none}
.termination-form-grid #terminationCommunicationFileHint .termination-link-button{font-size:11px}

/* WhatsApp por link wa.me (21/09/2026): é um <a>, com a mesma cara dos botões
   vizinhos — sem sublinhado e alinhado pela mesma altura. */
.termination-task-actions a.termination-whatsapp-link{display:inline-flex;align-items:center;padding:7px 10px;border-radius:8px;font-size:11px;text-decoration:none;line-height:1.2}
.termination-task-actions button[disabled]{opacity:.55;cursor:not-allowed}
.termination-message-status.opened_manually{color:#1d4ed8}
.termination-fold{padding:0;overflow:hidden}
.termination-fold>.termination-task-bar{grid-template-columns:minmax(0,1fr) auto 16px}
.termination-fold-body{padding:0 14px 14px;display:grid;gap:8px}
.termination-fold-body[hidden]{display:none}
