/* Utilitários de compatibilidade do shell. Componentes novos usam tokens canônicos. */
* { box-sizing: border-box; }
body { margin: 0; font-family: var(--font-family-sans); font-size: var(--font-size-base); line-height: var(--font-lineHeight-normal); color: var(--color-text-default); background: var(--color-bg-default); }
a { color: var(--color-text-link); }
.skip { position: absolute; left: -999px; }
.skip:focus { left: var(--space-2); top: var(--space-2); background: var(--color-bg-surface); color: var(--color-text-default); padding: var(--space-2); z-index: 30; border-radius: var(--radius-md); }
.devbar { background: var(--color-status-warning-subtle); color: var(--color-status-warning-fg); font-size: var(--font-size-xs); padding: var(--space-1) var(--space-4); text-align: center; }
.page { max-width: var(--size-content-max); margin: 0 auto; padding: var(--space-6) var(--space-4); }
h1 { font-size: var(--font-size-xl); line-height: var(--font-lineHeight-tight); margin: 0 0 var(--space-4); }
h2 { font-size: var(--font-size-lg); line-height: var(--font-lineHeight-tight); margin: var(--space-6) 0 var(--space-2); }
.stack { display: grid; gap: var(--space-3); }
.row { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: end; }
label { display: grid; gap: var(--space-1); font-weight: var(--font-weight-medium); }
.muted { color: var(--color-text-muted); }
.table-wrap { overflow-x: auto; }
.codes { font-family: var(--font-family-mono); font-size: var(--font-size-md); columns: 2; }
.qr svg { max-width: 100%; height: auto; }
.link-box { word-break: break-all; font-family: var(--font-family-mono); background: var(--color-bg-sunken); padding: var(--space-2); border-radius: var(--radius-md); }
.num { font-variant-numeric: tabular-nums; }
main > section + section, main > .card + section, main > section + .card, .table-wrap + h2 { margin-top: var(--space-4); }
main > .row, main > form.row { margin-block: var(--space-3) var(--space-4); }
form.inline { display: inline; }
/* Rotina diária: contatos, atendimentos, agenda e tarefas. */
label.grow { flex: 1 1 240px; }
label.check { display: flex; gap: var(--space-1); align-items: center; font-weight: var(--font-weight-regular); }
fieldset.people { border: 1px solid var(--color-border-default); border-radius: var(--radius-md); display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); }
details > summary { cursor: pointer; color: var(--color-text-link); }
details[open] > summary { margin-bottom: var(--space-2); }
.prewrap { white-space: pre-wrap; margin: var(--space-1) 0 0; }
.comments { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-3); }
/* Prazos e calendário dos tribunais. */
.notice-fixed { font-weight: 600; }
.cal-items { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-2); }
.cal-items li { padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); background: var(--color-bg-sunken); }
.cal-items li.coincide { border-left: 3px solid var(--color-status-warning-fg); background: var(--color-status-warning-subtle); }
.unread { border-left: 3px solid var(--color-action-primary-bg); padding-left: var(--space-2); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.events { list-style: none; padding: 0; margin: var(--space-1) 0 0; display: grid; gap: var(--space-2); font-size: var(--font-size-sm); }
.events li { display: grid; gap: var(--space-1); }
.receipt { max-width: 640px; margin: 0 auto; }
.receipt h1 { text-align: center; letter-spacing: 0.08em; }
.receipt .amount { font-size: var(--font-size-xl); font-weight: var(--font-weight-semibold); text-align: right; }
.receipt .sign { margin-top: var(--space-12); border-top: 1px solid var(--color-text-default); padding-top: var(--space-1); text-align: center; width: 60%; margin-inline: auto; }
@media print {
  /* lint:allow-literal-color — impressão força preto no branco; não é cor de tela */
  .devbar, .sidebar, .topbar, .no-print, .skip { display: none !important; }
  body { background: #fff; color: #000; }
  .page { padding: 0; }
}
.amount-cell.neg { color: var(--color-status-danger-fg); }

/* Barra de progresso das buscas no DJEN e etapas de "trazer processos do PJe". */
.progress { display: flex; flex-direction: column; gap: var(--space-1); }
.progress progress { width: 100%; height: var(--space-2); accent-color: var(--color-action-primary-bg); }
.progress [data-progress-label] { color: var(--color-text-muted); font-size: var(--font-size-sm); font-variant-numeric: tabular-nums; }

/* Documentos do caso: lista enxuta, detalhes recolhidos em "mais". */
.doc-cat { font-size: var(--font-size-sm); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: .04em; margin: 0; }
.doc { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-1) var(--space-3); align-items: baseline; }
.doc-more { flex-basis: auto; }
.doc-more[open] { flex-basis: 100%; }
