/* ═════════════════════════════════════════════════════════════════════════
   Acordly — Design Tokens DJE (extensão)
   Tokens ESPECÍFICOS do Inbox DJE: urgência de prazo + cores por tipo de
   publicação. Derivam dos tokens unificados em design-tokens.css.
   Esta folha NÃO sobrescreve nada — apenas adiciona variáveis novas.
   ═════════════════════════════════════════════════════════════════════════ */

:root {
  /* ── Urgência de prazo (stamp + lateral do modal) ──────────────────────
     Cores selecionadas para legibilidade do número branco em fundo colorido. */
  --urg-vencido-bg:     oklch(0.62 0.21 25);              /* vermelho — passou do prazo */
  --urg-vencido-fg:     #FFFFFF;
  --urg-vencido-soft:   oklch(0.62 0.21 25 / 0.12);

  --urg-hoje-bg:        oklch(0.70 0.18 50);              /* laranja — vence hoje/amanhã */
  --urg-hoje-fg:        #FFFFFF;
  --urg-hoje-soft:      oklch(0.70 0.18 50 / 0.12);

  --urg-proximo-bg:     oklch(0.78 0.14 75);              /* amarelo/âmbar — < 7 dias */
  --urg-proximo-fg:     #1A1410;
  --urg-proximo-soft:   oklch(0.78 0.14 75 / 0.14);

  --urg-distante-bg:    oklch(0.64 0.13 245);             /* azul — ≥ 7 dias */
  --urg-distante-fg:    #FFFFFF;
  --urg-distante-soft:  oklch(0.64 0.13 245 / 0.10);

  --urg-neutro-bg:      oklch(0.72 0.04 250);             /* cinza — sem prazo */
  --urg-neutro-fg:      #FFFFFF;
  --urg-neutro-soft:    oklch(0.72 0.04 250 / 0.10);

  /* ── Cores por TIPO de publicação (pills semânticas) ───────────────────
     Mapeamento informado por dje-data.js do handoff. Tons suaves para fundo
     da pill (sobre branco) com texto escuro saturado para contraste WCAG AA. */
  --tipo-intimacao-bg:    oklch(0.94 0.04 245);
  --tipo-intimacao-fg:    oklch(0.40 0.15 245);
  --tipo-intimacao-bd:    oklch(0.85 0.08 245);

  --tipo-sentenca-bg:     oklch(0.94 0.05 25);
  --tipo-sentenca-fg:     oklch(0.42 0.18 25);
  --tipo-sentenca-bd:     oklch(0.85 0.10 25);

  --tipo-acordao-bg:      oklch(0.94 0.06 295);
  --tipo-acordao-fg:      oklch(0.42 0.18 295);
  --tipo-acordao-bd:      oklch(0.85 0.10 295);

  --tipo-despacho-bg:     oklch(0.95 0.01 250);
  --tipo-despacho-fg:     oklch(0.40 0.02 250);
  --tipo-despacho-bd:     oklch(0.86 0.01 250);

  --tipo-audiencia-bg:    oklch(0.94 0.06 155);
  --tipo-audiencia-fg:    oklch(0.40 0.14 155);
  --tipo-audiencia-bd:    oklch(0.85 0.10 155);

  --tipo-citacao-bg:      oklch(0.95 0.05 200);
  --tipo-citacao-fg:      oklch(0.40 0.13 200);
  --tipo-citacao-bd:      oklch(0.86 0.08 200);

  --tipo-peticao-bg:      oklch(0.95 0.04 75);
  --tipo-peticao-fg:      oklch(0.42 0.14 75);
  --tipo-peticao-bd:      oklch(0.86 0.08 75);

  --tipo-arquivamento-bg: oklch(0.95 0.02 30);
  --tipo-arquivamento-fg: oklch(0.45 0.10 30);
  --tipo-arquivamento-bd: oklch(0.86 0.04 30);

  --tipo-default-bg:      oklch(0.96 0.005 250);
  --tipo-default-fg:      oklch(0.42 0.01 250);
  --tipo-default-bd:      oklch(0.88 0.005 250);

  /* ── Tipografia DJE ────────────────────────────────────────────────────
     Já carregadas no <head>; aqui apenas centralizamos os fallbacks. */
  --font-display: "Inter Tight", "Inter", system-ui, -apple-system, sans-serif;
  --font-ui:      "Inter", system-ui, -apple-system, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* ── Tamanhos do stamp ─────────────────────────────────────────────────
     Variáveis editáveis pelo Live Edit (?design=1). */
  --stamp-w:           72px;
  --stamp-w-mobile:    56px;
  --stamp-size:        88px;
  --stamp-dia-size:    30px;
  --stamp-mes-size:    10px;
  --stamp-label-size:  8.5px;
  --stamp-radius:      8px;
  --stamp-padding:     4px;

  /* ── Card de prazo ─────────────────────────────────────────────────────
     Espaçamento e tipografia editáveis. */
  --card-prazo-padding-y:     18px;
  --card-prazo-padding-x:     20px;
  --card-prazo-gap-stamp:     18px;
  --card-prazo-gap-aside:     14px;
  --card-prazo-list-gap:      10px;
  --card-prazo-radius:        14px;
  --card-prazo-titulo-size:   17px;
  --card-prazo-titulo-weight: 600;
  --card-prazo-desc-size:     13px;
  --card-prazo-partes-size:   12px;
  --card-prazo-meta-gap:      8px;

  /* ── Seção IA (envelope amarelo) ──────────────────────────────────────── */
  --secao-ia-bg:            oklch(0.98 0.02 85);
  --secao-ia-border:        oklch(0.90 0.05 85);
  --secao-ia-padding-y:     22px;
  --secao-ia-padding-x:     24px;
  --secao-ia-titulo-size:   28px;
  --secao-ia-titulo-color:  oklch(0.50 0.18 75);
  --secao-ia-tag-color:     oklch(0.50 0.16 75);

  /* ── Sombras DJE (cards de candidato) ──────────────────────────────────
     Mais sutis que sombras genéricas — quase imperceptíveis em repouso,
     destacam no hover. */
  --shadow-card:        0 1px 2px rgb(10 11 13 / 0.04), 0 0 0 1px rgb(10 11 13 / 0.04);
  --shadow-card-hover:  0 4px 12px rgb(10 11 13 / 0.06), 0 0 0 1px rgb(10 11 13 / 0.08);
}

/* ═════════════════════════════════════════════════════════════════════════
   Stamp de urgência (Fase 3)
   Bloco lateral fixo nos cards de sugestão de PRAZO. Layout 2 colunas:
   stamp (72px) + conteúdo (flex-1). Cor do stamp herdada de --stamp-bg
   inline (definido pela função _stampUrgencia em dje.js).
   ═════════════════════════════════════════════════════════════════════════ */

/* ═════════════════════════════════════════════════════════════════════
   Modal candidato — handoff design (Fase 5)
   ═════════════════════════════════════════════════════════════════════ */

.cm-dialog {
  background: var(--bg-elev);
  border-radius: var(--radius);
  box-shadow: 0 24px 80px rgba(0,0,0,.25), 0 4px 16px rgba(0,0,0,.1);
  width: 100%;
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: rise 0.18s var(--ease-out) both;
}

.cm-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}

.cm-aibadge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  background: linear-gradient(135deg, oklch(0.78 0.14 75 / .20), oklch(0.78 0.14 75 / .10));
  border: 1px solid oklch(0.78 0.14 75 / .40);
  border-radius: 99px;
  font-size: 10.5px;
  font-weight: 600;
  color: var(--accent-strong);
  font-family: var(--font-mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.cm-nav-counter {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 2px;
}

.cm-nav-btn {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  color: var(--text-2);
  border-radius: 4px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
}

.cm-nav-btn:hover:not(:disabled) { background: var(--bg-elev); color: var(--text); }
.cm-nav-btn:disabled { opacity: .3; cursor: not-allowed; }

.cm-nav-text { padding: 0 6px; font-size: 11px; color: var(--text-2); }
.cm-nav-text strong { color: var(--text); font-weight: 600; }

.cm-hero {
  padding: 22px 24px 20px;
  background: linear-gradient(180deg, oklch(0.78 0.14 75 / .05), transparent 70%);
  overflow-y: auto;
  flex: 1;
  min-height: 0;
}

.cm-hero-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.cm-hero-cnj { font-size: 11px; color: var(--text-3); font-family: var(--font-mono); }

.cm-hero-title {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.2;
  margin-bottom: 18px;
  color: var(--text);
}

.cm-hero-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 14px;
}

.cm-hero-deadline {
  padding: 14px 16px;
  border: 1px solid;
  border-radius: var(--radius-sm);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cm-hero-deadline-lbl {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  display: flex;
  align-items: center;
  gap: 5px;
}

.cm-hero-deadline-day {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}

.cm-hero-deadline-rel { font-size: 12px; font-weight: 500; color: var(--text-2); }

.cm-hero-deadline-base {
  font-size: 11px;
  color: var(--text-3);
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid rgba(0,0,0,.08);
  font-family: var(--font-mono);
}

.cm-hero-detail {
  padding: 14px 16px;
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  display: flex;
  flex-direction: column;
}

.cm-hero-detail-lbl {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--accent-strong);
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 8px;
}

.cm-hero-detail-text { font-size: 13px; line-height: 1.55; color: var(--text); }

.cm-disclosure {
  display: flex;
  border-top: 1px solid var(--border);
  background: var(--bg-soft);
  flex-shrink: 0;
}

.cm-disc-tab {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-2);
  border: none;
  border-right: 1px solid var(--border);
  background: none;
  cursor: pointer;
  transition: background var(--dur-fast), color var(--dur-fast);
}

.cm-disc-tab:last-child { border-right: 0; }
.cm-disc-tab:hover { background: rgba(0,0,0,.025); color: var(--text); }
.cm-disc-tab.on { background: var(--bg-elev); color: var(--text); font-weight: 600; }

.cm-disc-panel {
  padding: 16px 24px;
  border-top: 1px solid var(--border);
  max-height: 200px;
  overflow-y: auto;
  background: var(--bg-elev);
  flex-shrink: 0;
}

.cm-proc-grid { display: flex; flex-direction: column; gap: 2px; }

.cm-proc-row {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 14px;
  padding: 6px 0;
  border-bottom: 1px dashed var(--border);
  font-size: 12.5px;
}

.cm-proc-row:last-of-type { border-bottom: 0; }

.cm-proc-row span:first-child {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-3);
  display: flex;
  align-items: center;
}

.cm-proc-row span:last-child { color: var(--text); }

.cm-pre {
  font-family: var(--font-mono);
  font-size: 11px;
  line-height: 1.7;
  color: var(--text-2);
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 12px 14px;
  white-space: pre-wrap;
  word-break: break-word;
  margin: 0;
}

.cm-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid var(--border);
  background: var(--bg-soft);
  flex-shrink: 0;
}

.cm-action {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 14px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg-elev);
  color: var(--text);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  font-family: var(--font-ui);
  transition: all var(--dur-fast);
}

.cm-action:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,.08); }

.cm-action kbd {
  font-family: var(--font-mono);
  font-size: 10px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-bottom-width: 1.5px;
  padding: 1px 5px;
  border-radius: 3px;
  color: var(--text-2);
  font-weight: 500;
}

.cm-action-discard { color: var(--text-2); }
.cm-action-discard:hover { border-color: var(--danger); color: var(--danger); }

.cm-action-confirm { background: var(--text); color: white; border-color: var(--text); }
.cm-action-confirm:hover { background: #1c1d20; }
.cm-action-confirm kbd {
  background: rgba(255,255,255,.15);
  border-color: rgba(255,255,255,.25);
  color: rgba(255,255,255,.85);
}

/* Wrapper legado para modais de edição/detalhe */
.dje-legacy-dialog {
  background: var(--bg-elev);
  border-radius: var(--radius-lg);
  box-shadow: 0 24px 80px rgba(0,0,0,.25), 0 4px 16px rgba(0,0,0,.1);
  width: 100%;
  padding: 28px;
  max-height: 88vh;
  overflow-y: auto;
}

@media (max-width: 640px) {
  .cm-hero-grid { grid-template-columns: 1fr; }
  .cm-hero-title { font-size: 21px; }
  .cm-footer { flex-wrap: wrap; }
  .cm-action { font-size: 12px; padding: 7px 10px; }
}

/* ═════════════════════════════════════════════════════════════════════
   Hero KPIs (Fase 4)/* ═════════════════════════════════════════════════════════════════════════
   Hero KPIs (Fase 4)
   Grid de 4 cards com métricas-chave do inbox.
   ═════════════════════════════════════════════════════════════════════════ */

.dje-hero-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 16px 0 20px 0;
}

.dje-kpi {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
  overflow: hidden;
  transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}

.dje-kpi::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 3px;
  background: var(--kpi-accent, var(--text-3));
  opacity: 0.6;
}

.dje-kpi-label {
  font-family: var(--font-ui);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--text-3);
  display: flex;
  align-items: center;
  gap: 6px;
}

.dje-kpi-label-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--kpi-accent, var(--text-3));
  display: inline-block;
}

.dje-kpi-valor {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.025em;
  color: var(--text);
  font-feature-settings: "tnum", "ss01";
  margin: 4px 0 0 0;
}

.dje-kpi-sub {
  font-family: var(--font-ui);
  font-size: 11.5px;
  font-weight: 500;
  color: var(--text-2);
  margin: 0;
  line-height: 1.3;
}

.dje-kpi.is-critical .dje-kpi-valor { color: var(--danger); }
.dje-kpi.is-warning  .dje-kpi-valor { color: oklch(0.55 0.18 50); }
.dje-kpi.is-success  .dje-kpi-valor { color: var(--positive); }

@media (max-width: 900px) {
  .dje-hero-kpis { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .dje-hero-kpis { grid-template-columns: 1fr; }
}

/* ── Seção "Identificados pela IA" (envelope amarelo-suave) ───────────── */

.dje-secao-ia {
  background: var(--secao-ia-bg);
  border: 1px solid var(--secao-ia-border);
  border-radius: var(--radius-lg);
  padding: var(--secao-ia-padding-y) var(--secao-ia-padding-x) calc(var(--secao-ia-padding-y) + 2px);
  margin: 0 0 24px 0;
}

.dje-secao-ia-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.dje-secao-ia-tag {
  display: inline-block;
  font-family: var(--font-ui);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--secao-ia-tag-color);
  padding: 4px 10px;
  border-radius: 999px;
  background: oklch(0.94 0.06 85);
  border: 1px solid oklch(0.86 0.08 85);
  margin-bottom: 8px;
}

.dje-secao-ia-titulo {
  font-family: var(--font-display);
  font-size: var(--secao-ia-titulo-size);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--text);
  margin: 0;
}

.dje-secao-ia-titulo .num {
  color: var(--secao-ia-titulo-color);
}

.dje-secao-ia-sub {
  font-family: var(--font-ui);
  font-size: 13.5px;
  font-weight: 400;
  color: var(--text-2);
  margin: 6px 0 0 0;
  line-height: 1.5;
  max-width: 640px;
}

.dje-secao-ia-sub strong {
  font-weight: 600;
  color: var(--text);
}

.dje-secao-ia-lista {
  display: flex;
  flex-direction: column;
  gap: var(--card-prazo-list-gap);
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ── Card de prazo (versão handoff) ───────────────────────────────────── */

.dje-card-prazo {
  display: flex;
  align-items: flex-start;
  gap: var(--card-prazo-gap-stamp);
  padding: var(--card-prazo-padding-y) var(--card-prazo-padding-x);
  border: 1px solid var(--border);
  background: var(--bg-elev);
  border-radius: var(--card-prazo-radius);
  box-shadow: var(--shadow-card);
  transition: box-shadow var(--dur) var(--ease), border-color var(--dur) var(--ease);
  cursor: pointer;
  position: relative;
}

.dje-card-prazo:hover {
  box-shadow: var(--shadow-card-hover);
  border-color: var(--border-strong);
}

.dje-card-prazo:hover .dje-card-prazo-revisar {
  color: var(--info);
}

.dje-stamp {
  width: var(--stamp-size);
  height: var(--stamp-size);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: var(--stamp-radius);
  background: var(--stamp-bg, var(--bg-soft));
  color: var(--stamp-fg, var(--text-2));
  border: 1px solid var(--stamp-bd, var(--border));
  user-select: none;
  font-feature-settings: "tnum";
  padding: var(--stamp-padding);
}

.dje-stamp-dia {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--stamp-dia-size);
  line-height: 1;
  letter-spacing: -0.025em;
  margin: 0;
  font-feature-settings: "tnum", "ss01";
}

.dje-stamp-mes {
  font-family: var(--font-mono);
  font-size: var(--stamp-mes-size);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-top: 2px;
  opacity: 0.85;
}

.dje-stamp-label {
  font-family: var(--font-ui);
  font-size: var(--stamp-label-size);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  margin-top: 8px;
  opacity: 0.85;
  line-height: 1.2;
  max-width: 100%;
}

.dje-card-prazo-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.dje-card-prazo-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}

.dje-card-prazo-tag-ia {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 999px;
  background: oklch(0.94 0.06 85);
  color: oklch(0.50 0.16 75);
  border: 1px solid oklch(0.88 0.07 85);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  line-height: 1.3;
}

.dje-card-prazo-tipo {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  line-height: 1.3;
  background: var(--info-soft);
  color: oklch(0.40 0.14 245);
  border: 1px solid oklch(0.85 0.08 245);
}

.dje-card-prazo-tipo::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  display: inline-block;
}

.dje-card-prazo-prio {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 999px;
  line-height: 1.3;
  border: 1px solid transparent;
}

.dje-card-prazo-prio.critica { background: var(--purple-soft); color: var(--purple); border-color: oklch(0.82 0.10 295); }
.dje-card-prazo-prio.alta    { background: var(--danger-soft); color: var(--danger); border-color: oklch(0.82 0.12 25); }
.dje-card-prazo-prio.media   { background: var(--bg-soft);     color: var(--text-2); border-color: var(--border); }
.dje-card-prazo-prio.baixa   { background: var(--positive-soft); color: var(--positive); border-color: oklch(0.82 0.10 155); }

.dje-card-prazo-cnj {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 400;
  color: var(--text-3);
  letter-spacing: 0;
  margin-left: auto;
}

.dje-card-prazo-titulo {
  font-family: var(--font-display);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--text);
  margin: 2px 0 0 0;
}

.dje-card-prazo-desc {
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 400;
  color: var(--text-2);
  margin: 4px 0 0 0;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dje-card-prazo-partes {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 400;
  color: var(--text-3);
  margin: 8px 0 0 0;
  line-height: 1.4;
}

.dje-card-prazo-partes strong {
  font-weight: 500;
  color: var(--text-2);
}

.dje-card-prazo-aside {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  align-self: center;
}

.dje-card-prazo-revisar {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 600;
  color: var(--text-3);
  margin-right: 8px;
  white-space: nowrap;
  transition: color var(--dur-fast) var(--ease);
}

.dje-card-prazo-btn {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  padding: 0;
  color: var(--text-3);
}

.dje-card-prazo-btn.confirmar:hover { background: var(--positive-soft); border-color: var(--positive); color: var(--positive); }
.dje-card-prazo-btn.editar:hover    { background: var(--info-soft); border-color: var(--info); color: var(--info); }
.dje-card-prazo-btn.descartar:hover { background: var(--danger-soft); border-color: var(--danger); color: var(--danger); }

@media (max-width: 640px) {
  .dje-secao-ia { padding: 18px 16px 20px; }
  .dje-secao-ia-titulo { font-size: 22px; }
  .dje-secao-ia-header { flex-direction: column; gap: 12px; }
  .dje-card-prazo {
    flex-wrap: wrap;
    padding: 14px;
    gap: 12px;
  }
  .dje-stamp { width: 72px; height: 72px; }
  .dje-stamp-dia { font-size: 24px; }
  .dje-stamp-label { font-size: 8px; margin-top: 6px; }
  .dje-card-prazo-titulo { font-size: 15px; }
  .dje-card-prazo-aside { width: 100%; justify-content: flex-end; }
  .dje-card-prazo-cnj { display: none; }
}

/* ═════════════════════════════════════════════════════════════════════
   KPIs no hero escuro (handoff)
   ═════════════════════════════════════════════════════════════════════ */

.inbox-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #1F2024;
  border-radius: var(--radius-sm);
  overflow: hidden;
  margin-top: 18px;
}

.kpi {
  background: #0A0B0D;
  padding: 14px 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.kpi-lbl {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 500;
  color: #6B6965;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.kpi-val {
  font-family: var(--font-display);
  font-size: 32px;
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1;
  color: #FAFAF9;
  font-variant-numeric: tabular-nums;
  margin: 0;
}

.kpi-foot { font-size: 11px; color: #A8A29E; margin: 0; }

.kpi.is-warning .kpi-val { color: oklch(0.70 0.18 50); }
.kpi.is-critical .kpi-val { color: oklch(0.64 0.20 25); }

@media (max-width: 900px) {
  .inbox-kpis { grid-template-columns: repeat(2, 1fr); }
}

/* ═════════════════════════════════════════════════════════════════════
   Seção candidatos IA — handoff
   ═════════════════════════════════════════════════════════════════════ */

.inbox-section {
  padding: 24px 28px;
  border-bottom: 1px solid var(--border);
}

.inbox-section:last-child { border-bottom: 0; padding-bottom: 60px; }

.section-cand {
  border-bottom: 1px solid var(--border);
}

.section-cand-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.section-cand-title-block { flex: 1; min-width: 0; }

.section-cand-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--accent-strong);
  background: white;
  padding: 4px 10px;
  border: 1px solid oklch(0.78 0.14 75 / .40);
  border-radius: 99px;
  margin-bottom: 10px;
}

.section-cand-title {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -.025em;
  line-height: 1.1;
  color: var(--text);
}

.section-cand-title .big-num {
  font-size: 44px;
  font-weight: 700;
  color: var(--accent-strong);
  font-variant-numeric: tabular-nums;
  margin-right: 4px;
}

.section-cand-desc {
  font-size: 13px;
  color: var(--text-2);
  margin-top: 8px;
  line-height: 1.5;
}

.section-cand-desc strong { color: var(--text); font-weight: 600; }

/* Cand list e cards */
.cand-list { display: flex; flex-direction: column; gap: 10px; }

.cand-card {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 14px;
  padding: 14px;
  background: var(--bg-elev);
  border: 1px solid oklch(0.78 0.14 75 / .30);
  border-radius: var(--radius);
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: transform var(--dur-fast), box-shadow var(--dur-fast), border-color var(--dur-fast);
  box-shadow: 0 1px 2px rgba(0,0,0,.02);
  font-family: var(--font-ui);
}

.cand-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
  border-color: var(--accent-strong);
}

/* Stamp de data */
.cand-stamp {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 92px;
  flex-shrink: 0;
  padding: 10px 8px;
  border: 1.5px solid;
  border-radius: var(--radius-sm);
  background: #fff;
}

.cand-stamp-day {
  font-family: var(--font-display);
  font-size: 30px;
  font-weight: 700;
  letter-spacing: -.04em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.cand-stamp-month {
  font-family: var(--font-mono);
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .12em;
  margin-top: 2px;
  text-transform: uppercase;
}

.cand-stamp-rel {
  font-size: 9px;
  font-weight: 600;
  margin-top: 4px;
  text-align: center;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* Stamp sem data (ícone) */
.cand-stamp-icon {
  font-size: 22px;
  line-height: 1;
}

/* Corpo do card */
.cand-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
  justify-content: center;
}

.cand-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.cand-ai-tag {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 2px 7px;
  background: linear-gradient(135deg, oklch(0.78 0.14 75 / .25), oklch(0.78 0.14 75 / .10));
  border: 1px solid oklch(0.78 0.14 75 / .45);
  border-radius: 5px;
  font-size: 9.5px;
  font-weight: 700;
  color: var(--accent-strong);
  font-family: var(--font-mono);
  letter-spacing: .08em;
}

.cand-title {
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 600;
  color: var(--text);
  line-height: 1.3;
  letter-spacing: -.01em;
}

.cand-detail {
  font-size: 12px;
  color: var(--text-2);
  line-height: 1.45;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.cand-sub {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 11.5px;
  color: var(--text-2);
  flex-wrap: wrap;
}

.cand-sub strong { color: var(--text); font-weight: 500; }
.cand-dot { color: var(--border-strong); }

.cand-hint {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--text-3);
  font-size: 11px;
  font-weight: 500;
  flex-shrink: 0;
  align-self: center;
  padding: 6px 8px;
  border-radius: 6px;
  transition: background var(--dur-fast), color var(--dur-fast);
  white-space: nowrap;
}

.cand-card:hover .cand-hint {
  color: var(--accent-strong);
  background: oklch(0.78 0.14 75 / .10);
}


/* ═══════════════════════════════════════════════════════════════════
   DJE Inbox — Layout full-bleed (hero + sections)
   ═══════════════════════════════════════════════════════════════════ */

/* Container — cancela o padding do wrapper pai para usar toda a largura disponível */
.dje-inbox-app {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 80px);
  margin-left:  -0.5rem;
  margin-right: -0.5rem;
  margin-top:   -2rem;
}
@media (min-width: 640px)  { .dje-inbox-app { margin-left: -1rem;   margin-right: -1rem; } }
@media (min-width: 1024px) { .dje-inbox-app { margin-left: -1.5rem; margin-right: -1.5rem; } }
@media (min-width: 1280px) { .dje-inbox-app { margin-left: -2rem;   margin-right: -2rem; } }
@media (min-width: 1536px) { .dje-inbox-app { margin-left: -3rem;   margin-right: -3rem; } }

/* HERO */
.dje-inbox-hero {
  background: var(--hero-bg, #0A0B0D);
  color: var(--hero-text, #FAFAF9);
  padding: 22px 28px 20px;
  border-radius: 24px;
  position: relative;
  overflow: clip; /* clip não afeta layout — evita cortar KPIs */
  margin-bottom: 16px;
  box-shadow: 0 30px 60px rgba(10,10,25,0.55);
}
.dje-inbox-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(700px 280px at 80% -10%, oklch(0.78 0.14 75 / .06), transparent 60%),
              radial-gradient(500px 240px at 5% 110%, oklch(0.64 0.13 245 / .04), transparent 60%);
  pointer-events: none;
}
.dje-inbox-hero > * { position: relative; }

.dje-inbox-hero-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.dje-eyebrow {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 500;
  color: #6B6965;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 4px;
}
.dje-pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--positive, oklch(0.72 0.14 155));
  animation: dje-pulse 2.2s infinite;
  flex-shrink: 0;
}
@keyframes dje-pulse {
  0%   { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / .5); }
  70%  { box-shadow: 0 0 0 6px oklch(0.72 0.14 155 / 0); }
  100% { box-shadow: 0 0 0 0 oklch(0.72 0.14 155 / 0); }
}

.dje-inbox-h1 {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -.025em;
  color: #FAFAF9;
  line-height: 1.2;
}
.dje-inbox-badge {
  font-size: 16px;
  font-weight: 700;
  color: oklch(0.72 0.14 155);
  margin-left: 4px;
}
.dje-inbox-sub {
  font-size: 13px;
  color: #A8A29E;
  margin-top: 4px;
}

.dje-hero-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  padding-top: 2px;
}
.dje-hero-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #D6D3D1;
  border: 1px solid rgba(255,255,255,.12);
  font-size: 12px;
  font-weight: 500;
  transition: background 120ms;
}
.dje-hero-btn:hover { background: rgba(255,255,255,.15); }
.dje-hero-btn.icon { padding: 6px; width: 32px; height: 32px; justify-content: center; }
.dje-hero-btn.primary {
  background: oklch(0.55 0.18 245);
  color: white;
  border-color: oklch(0.55 0.18 245);
}
.dje-hero-btn.primary:hover { background: oklch(0.50 0.18 245); }

/* SECTIONS */
.dje-inbox-section {
  padding: 24px 28px 40px;
}

.dje-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.dje-section-title-block { flex: 1; min-width: 0; }
.dje-section-eyebrow {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--text-3);
}
.dje-section-title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -.015em;
  margin: 6px 0 4px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.dje-section-count {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--text-3);
  background: var(--bg-soft);
  border: 1px solid var(--border);
  padding: 2px 8px;
  border-radius: 99px;
}
.dje-section-desc {
  font-size: 12.5px;
  color: var(--text-2);
  max-width: 680px;
  line-height: 1.45;
}

/* TOOLBAR */
.dje-inbox-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.dje-inbox-search {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  min-width: 260px;
  color: var(--text-3);
}
.dje-inbox-search input {
  flex: 1;
  background: none;
  border: 0;
  outline: 0;
  font-size: 13px;
  color: var(--text);
}
.dje-inbox-search input::placeholder { color: var(--text-3); }
.dje-inbox-toggle {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: var(--text-2);
  cursor: pointer;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg-elev);
  white-space: nowrap;
}
.dje-inbox-toggle:hover { color: var(--text); }
.dje-inbox-toggle input { accent-color: var(--text); }

/* PROC LIST */
.dje-proc-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dje-proc-card {
  background: var(--bg-elev);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  overflow: hidden;
  transition: border-color var(--dur-fast);
}
.dje-proc-card.expanded { border-color: var(--border-strong); }
.dje-proc-head {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 14px;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: background var(--dur-fast);
  background: none;
  border: none;
}
.dje-proc-head:hover { background: var(--bg-soft); }
.dje-proc-chev {
  color: var(--text-3);
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 18px;
  transition: transform var(--dur-fast);
}
.dje-proc-info { flex: 1; min-width: 0; }
.dje-proc-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 3px;
  flex-wrap: wrap;
}
.dje-proc-cnj {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -.01em;
}
.dje-proc-type-pill {
  font-family: var(--font-mono);
  font-size: 9.5px;
  font-weight: 600;
  color: var(--text-2);
  background: var(--bg-soft);
  border: 1px solid var(--border);
  padding: 1px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.dje-proc-trib-pill {
  font-size: 10px;
  font-weight: 500;
  color: oklch(0.45 0.13 245);
  background: oklch(0.64 0.13 245 / .1);
  border: 1px solid oklch(0.64 0.13 245 / .25);
  padding: 1px 7px;
  border-radius: 4px;
}
.dje-proc-badge-novas {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  color: oklch(0.45 0.13 245);
  background: oklch(0.64 0.13 245 / .1);
  border: 1px solid oklch(0.64 0.13 245 / .3);
  padding: 2px 7px;
  border-radius: 99px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.dje-proc-sub {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12px;
  color: var(--text-2);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex-wrap: wrap;
}
.dje-proc-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.dje-proc-data {
  font-size: 11px;
  color: var(--text-3);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* MOVIMENTAÇÕES EXPANDIDAS */
.dje-proc-movs {
  border-top: 1px solid var(--border);
  background: var(--bg-soft);
  padding: 4px 0;
}
.dje-mov-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 8px 44px;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: background var(--dur-fast);
  border: 0;
  background: none;
  border-bottom: 1px solid var(--border);
}
.dje-mov-row:last-child { border-bottom: 0; }
.dje-mov-row:hover { background: rgba(255,255,255,.6); }
.dje-mov-row.tratada { opacity: .55; }
.dje-mov-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.dje-mov-dot[data-status="nova"]    { background: oklch(0.64 0.13 245); }
.dje-mov-dot[data-status="vista"]   { background: var(--text-3); }
.dje-mov-dot[data-status="tratada"] { background: transparent; border: 1px solid var(--text-3); }
.dje-mov-text {
  flex: 1;
  font-size: 12.5px;
  color: var(--text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.4;
  text-align: left;
}
.dje-mov-row.tratada .dje-mov-text { color: var(--text-2); }
.dje-mov-row.nova .dje-mov-text    { font-weight: 500; }
.dje-mov-tipo {
  font-family: var(--font-mono);
  font-size: 9.5px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
  flex-shrink: 0;
  white-space: nowrap;
}
.dje-mov-actions {
  display: flex;
  gap: 4px;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 120ms;
}
.dje-mov-row:hover .dje-mov-actions { opacity: 1; }
.dje-mov-btn {
  padding: 3px 8px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 500;
  background: var(--bg-elev);
  color: var(--text-2);
  border: 1px solid var(--border);
  cursor: pointer;
  transition: all 100ms;
}
.dje-mov-btn:hover { color: var(--text); border-color: var(--border-strong); }
.dje-mov-data {
  font-size: 10.5px;
  color: var(--text-3);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
  white-space: nowrap;
}
.dje-proc-footer {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 8px 14px 8px 44px;
  border-top: 1px solid var(--border);
}
.dje-proc-footer-link {
  font-size: 12px;
  color: var(--text-3);
  text-decoration: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: color 100ms;
  font-family: inherit;
}
.dje-proc-footer-link:hover { color: var(--text-2); }

/* Empty state inbox */
.dje-inbox-empty {
  padding: 40px 20px;
  text-align: center;
  color: var(--text-3);
}
@keyframes dje-spin { to { transform: rotate(360deg); } }
.dje-spin {
  width: 28px;
  height: 28px;
  border: 3px solid var(--border);
  border-top-color: var(--text-2);
  border-radius: 50%;
  animation: dje-spin .8s linear infinite;
  margin: 0 auto;
}

/* Modal Editar Sugestão — inputs */
.dje-edit-label {
  display: block;
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text-3);
  margin-bottom: 5px;
}
.dje-edit-input {
  width: 100%;
  padding: 8px 11px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  font-size: 13px;
  background: var(--bg-elev);
  color: var(--text);
  font-family: inherit;
  outline: none;
  box-sizing: border-box;
  transition: border-color var(--dur-fast);
}
.dje-edit-input:focus {
  border-color: var(--text-2);
}
.dje-edit-input[readonly] {
  background: var(--bg-soft);
  color: var(--text-2);
}
.dje-edit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.dje-edit-grid .col-span-2 { grid-column: 1 / -1; }

/* ── Drawer lateral — movimentação ─────────────────────────────────────── */
.dje-drawer-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(10,11,13,.45);
  backdrop-filter: blur(2px);
  z-index: 900;
  display: flex;
  justify-content: flex-end;
  animation: dje-fade-in .15s cubic-bezier(0.16,1,0.3,1);
}
@keyframes dje-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes dje-slide-in { from { transform: translateX(100%); } to { transform: translateX(0); } }

.dje-drawer {
  width: 560px;
  max-width: 100%;
  height: 100vh;
  background: var(--bg-elev);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: dje-slide-in .2s cubic-bezier(0.16,1,0.3,1);
  box-shadow: -8px 0 40px rgba(0,0,0,.18);
}

/* Cabeçalho do drawer */
.dd-head {
  padding: 18px 22px 14px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.dd-head-top {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.dd-tipo-pill {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 5px;
  letter-spacing: .04em;
  flex-shrink: 0;
}
.dd-head-date {
  font-size: 12px;
  color: var(--text-3);
  font-variant-numeric: tabular-nums;
}
.dd-close {
  margin-left: auto;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--bg-soft);
  color: var(--text-2);
  font-size: 13px;
  cursor: pointer;
  flex-shrink: 0;
  transition: background var(--dur-fast), color var(--dur-fast);
}
.dd-close:hover { background: var(--bg-elev); color: var(--text); }
.dd-title {
  font-family: var(--font-display, 'Inter Tight', sans-serif);
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -.015em;
  color: var(--text);
  line-height: 1.3;
  margin-bottom: 4px;
}
.dd-sub {
  font-size: 12.5px;
  color: var(--text-2);
}
.dd-orgao {
  font-size: 12px;
  color: var(--text-3);
  margin-top: 2px;
}

/* Barra de ações */
.dd-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 10px 22px;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
}
.dd-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  font-size: 12.5px;
  font-weight: 500;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg-elev);
  color: var(--text);
  cursor: pointer;
  transition: all var(--dur-fast);
  white-space: nowrap;
}
.dd-btn:hover { border-color: var(--border-strong); }
.dd-btn--primary {
  background: var(--text);
  color: white;
  border-color: var(--text);
}
.dd-btn--primary:hover { background: #1c1d20; }
.dd-tratada-badge {
  font-size: 12px;
  color: var(--positive);
  font-weight: 500;
}

/* Corpo do drawer */
.dd-body {
  flex: 1;
  overflow-y: auto;
  padding: 18px 22px 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.dd-section-label {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--text-3);
  margin-bottom: 8px;
}
.dd-pre {
  font-family: var(--font-mono, 'JetBrains Mono', monospace);
  font-size: 12px;
  line-height: 1.7;
  color: var(--text-2);
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 14px 16px;
  white-space: pre-wrap;
  word-break: break-word;
  margin: 0;
}

/* Itens IA vinculados */
.dd-ia-list { display: flex; flex-direction: column; gap: 6px; }
.dd-ia-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 12.5px;
}
.dd-ia-item--blue { background: oklch(0.64 0.13 245/.06); border-color: oklch(0.64 0.13 245/.25); }
.dd-ia-item-label { flex: 1; color: var(--text); font-weight: 500; }
.dd-ia-item-status { font-size: 10.5px; font-weight: 600; }
.dd-ia-item-status--ok { color: var(--positive); }
.dd-ia-item-status--pend { color: var(--accent-strong); }

/* Hint quando IA não identificou */
.dd-ia-hint {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 12.5px;
  color: var(--text-2);
  line-height: 1.5;
}
.dd-ia-hint strong { color: var(--text); }

/* Botão IA no drawer e resumo IA */
.dd-btn--ia {
  background: linear-gradient(135deg, oklch(0.78 0.14 75/.15), oklch(0.78 0.14 75/.06));
  border-color: oklch(0.78 0.14 75/.40);
  color: var(--accent-strong, oklch(0.65 0.18 65));
  font-weight: 600;
}
.dd-btn--ia:hover {
  background: linear-gradient(135deg, oklch(0.78 0.14 75/.25), oklch(0.78 0.14 75/.12));
  border-color: var(--accent-strong, oklch(0.65 0.18 65));
}
.dd-resumo-ia {
  padding: 12px 14px;
  background: oklch(0.78 0.14 75/.07);
  border: 1px solid oklch(0.78 0.14 75/.30);
  border-radius: var(--radius-sm);
}
.dd-resumo-ia-text {
  font-size: 13px;
  color: var(--text);
  line-height: 1.6;
  margin: 0;
  white-space: pre-line;
}

/* Toast de confirmação de sugestão IA */
.dje-toast-confirm {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px;
  background: var(--text, #0A0B0D);
  color: white;
  border-radius: 99px;
  box-shadow: 0 8px 30px rgba(0,0,0,.25);
  font-size: 13px;
  z-index: 2000;
  white-space: nowrap;
  animation: dje-toast-in .3s cubic-bezier(0.16,1,0.3,1);
}
@keyframes dje-toast-in {
  from { opacity: 0; transform: translateX(-50%) translateY(12px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}
.dje-toast-icon {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--positive, oklch(0.72 0.14 155));
  color: white;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}
.dje-toast-msg {
  color: rgba(255,255,255,.85);
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dje-toast-nav {
  background: none;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 99px;
  color: oklch(0.78 0.14 75);
  font-size: 12px;
  font-weight: 600;
  padding: 4px 10px;
  cursor: pointer;
  white-space: nowrap;
  transition: background .12s;
  font-family: inherit;
}
.dje-toast-nav:hover { background: rgba(255,255,255,.1); }
.dje-toast-close {
  background: none;
  border: none;
  color: rgba(255,255,255,.4);
  font-size: 13px;
  cursor: pointer;
  padding: 0 2px;
  line-height: 1;
  font-family: inherit;
}
.dje-toast-close:hover { color: rgba(255,255,255,.8); }
