/* Componentes reutilizáveis (prefixo ui-). Usam só os tokens de tokens.css. */
.ui-tone-neutral { --tone:var(--color-text-muted);--tone-soft:rgba(255,255,255,.07) }
.ui-tone-success { --tone:var(--color-success);--tone-soft:var(--color-success-soft) }
.ui-tone-warning { --tone:var(--color-warning);--tone-soft:var(--color-warning-soft) }
.ui-tone-danger { --tone:var(--color-danger);--tone-soft:var(--color-danger-soft) }
.ui-tone-info { --tone:var(--color-info);--tone-soft:var(--color-info-soft) }
.ui-tone-gold { --tone:var(--color-gold);--tone-soft:var(--color-gold-soft) }

/* Badge */
.ui-badge {
  display:inline-flex;align-items:center;padding:2px var(--space-2);border-radius:var(--radius-pill);
  background:var(--tone-soft);color:var(--tone);font-size:var(--text-caption);font-weight:600;line-height:18px;white-space:nowrap
}

/* Botões */
.ui-btn {
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;
  padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;
  font-size:var(--text-body);font-weight:600;text-decoration:none;cursor:pointer
}
.ui-btn:focus-visible,.ui-metric-link:focus-visible,.ui-card-action:focus-visible,.ui-row-action:focus-visible { outline:none;box-shadow:var(--focus-ring) }
.ui-btn-primary { background:var(--color-gold);color:var(--color-on-gold) }
.ui-btn-primary:hover { filter:brightness(1.08) }
.ui-btn-secondary { background:transparent;color:var(--color-text);border-color:var(--color-border) }
.ui-btn-secondary:hover { background:var(--color-surface-raised) }
.ui-btn-danger { background:var(--color-danger);color:var(--color-on-gold) }
.ui-btn-danger:hover { filter:brightness(1.08) }

/* Card de métrica (dl > div > dt + dd; dt/dd usam display:contents para ordenar ícone, valor, rótulo e link) */
.ui-metric {
  display:grid;gap:var(--space-1);align-content:start;padding:var(--card-section-gap) var(--card-padding);
  background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)
}
.ui-metric dt,.ui-metric dd { display:contents;margin:0 }
.ui-metric-icon {
  order:1;justify-self:start;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin-bottom:var(--space-2);
  border-radius:var(--radius-md);background:var(--tone-soft);color:var(--tone)
}
.ui-metric-value { order:2;font-size:32px;font-weight:700;line-height:1.1;overflow-wrap:anywhere }
.ui-metric-label { order:3;color:var(--color-text-muted);font-size:var(--text-caption) }
.ui-metric-link {
  order:4;justify-self:start;display:inline-flex;align-items:center;gap:var(--space-1);margin-top:var(--space-1);min-height:24px;
  color:var(--color-gold);font-size:var(--text-caption);font-weight:600;text-decoration:none
}
.ui-metric-link .ui-icon { font-size:14px }
.ui-metric-link:hover { text-decoration:underline }

/* Card de seção */
.ui-card { min-width:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden }
.ui-card-header { display:flex;align-items:center;gap:var(--space-3);padding:var(--card-section-gap) var(--card-padding) }
.ui-card-title { margin:0;flex:1;min-width:0;font-size:var(--text-card-title);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis }
.ui-card-action { display:inline-flex;align-items:center;color:var(--color-gold);font-size:var(--text-caption);font-weight:600;text-decoration:none;white-space:nowrap }
.ui-card-action:hover { text-decoration:underline }
.ui-card-support { margin:0;padding:0 var(--card-padding) var(--space-3);color:var(--color-text-muted);font-size:13.5px;line-height:1.5 }
.ui-card-header + .ui-card-support { padding-top:var(--space-2) }
.ui-card-body { border-top:1px solid var(--color-border) }

/* Linha de lista */
.ui-row { display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--card-padding);overflow-wrap:anywhere }
.ui-pagination { display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-4) 0;color:var(--color-text-muted);font-size:var(--text-caption) }
.ui-pagination-size,.ui-pagination-pages { display:flex;align-items:center;justify-content:center;gap:var(--space-2);flex-wrap:wrap }
.ui-pagination-size select { width:auto;min-height:36px;padding:4px 8px }
.ui-pagination-link { display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font:inherit;text-decoration:none;cursor:pointer }
.ui-pagination-link:hover { border-color:var(--color-gold) }
.ui-pagination-link[aria-disabled=true] { opacity:.45;cursor:default }
.ui-row+.ui-row { border-top:1px solid var(--color-border) }
.ui-row-alert { background:var(--color-danger-soft);box-shadow:inset 3px 0 var(--color-danger) }
.ui-row-main { flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1) }
.ui-row-title-line { display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap }
.ui-row-title { margin:0;font-size:var(--text-body);font-weight:600 }
.ui-row-title a { color:inherit;text-decoration:none }
.ui-row-title a:hover { text-decoration:underline }
.ui-row-meta { margin:0;color:var(--color-text-muted);font-size:var(--text-caption);line-height:1.5 }
.ui-row-meta a { color:var(--color-gold);text-decoration:none }
.ui-row-meta a:hover { text-decoration:underline;text-underline-offset:3px }
.ui-row-aside { display:flex;flex-direction:column;align-items:flex-end;justify-content:center;align-self:center;gap:2px;flex-shrink:0 }
.ui-row-caption { font-size:11px;text-transform:uppercase;letter-spacing:0.04em;color:var(--color-text-muted) }
.pending-installment .ui-row-meta { white-space:nowrap;overflow:hidden;text-overflow:ellipsis }
.ui-row-value { font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;color:var(--tone) }
.ui-row-action { display:inline-flex;align-items:center;color:var(--color-gold);font-size:var(--text-caption);font-weight:600;text-decoration:none;white-space:nowrap }
.ui-row-action:hover { text-decoration:underline }
.ui-row-value.ui-tone-neutral { color:var(--color-text) }

/* Linha de despesa com respiro e layout estruturado */
.expense-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6);
  padding: var(--space-4) var(--card-padding);
}
.expense-item .ui-row-main {
  gap: var(--space-2);
}
.expense-item .ui-row-title {
  font-size: 1.05rem;
}
.expense-item .ui-row-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.expense-item .ui-row-aside {
  flex-direction: row;
  align-items: center;
  gap: var(--space-4);
}
.expense-item .expense-value-group {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}
.expense-item .expense-value-group .ui-row-value {
  font-size: 1.25rem;
  font-weight: 700;
}

/* Desativa caixas aninhadas legadas de forms.css e workflow.css dentro de ui-card */
.ui-card .record-list { display:flex;flex-direction:column;gap:0;margin:0 }
.ui-card .today-card {
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  margin:0!important;
  align-items:center!important;
}
.ui-card .empty-state {
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  margin:0!important;
  padding:0!important;
}
.ui-card .today-card+.today-card,
.ui-card .ui-row+.ui-row {
  border-top:1px solid var(--color-border)!important
}
.ui-card .record-details { display:flex;flex-direction:column;gap:0 }
.ui-card .record-details dd {
  white-space: normal !important;
  text-align: left;
}
.ui-card .record-details>div {
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important
}
.ui-card .record-details>div+div {
  border-top:1px solid var(--color-border)
}

/* Estado vazio */
.ui-empty { display:grid;justify-items:center;gap:var(--space-3);padding:var(--space-6) var(--card-padding);text-align:center }
.ui-empty p { margin:0;color:var(--color-text-muted) }
.ui-empty-icon { display:inline-flex;padding:var(--space-3);border-radius:50%;background:var(--tone-soft,rgba(255,255,255,.07));color:var(--color-text-muted) }
.ui-empty-icon .ui-icon { font-size:22px }

@media(max-width:520px) {
  .ui-row { flex-wrap:wrap }
  .discovered-processes-list .ui-row-main { flex-basis:100% }
  .pending-installment .ui-row-main { flex-basis:100% }
  .pending-installment .ui-row-meta { white-space:normal;overflow:visible;text-overflow:clip;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical }
  .ui-card-header { flex-wrap:wrap;row-gap:2px }
  .ui-card-action { flex-basis:100%;min-height:44px;margin-block:-6px;padding:0 }
  .ui-row-action,.ui-card-footer-link { min-height:44px }
  .ui-row-action { margin-block:-10px;padding-inline:var(--space-1) }
  .ui-metric-value { font-size:26px }
  .ui-alert { flex-wrap:wrap }
  .ui-alert .ui-btn { width:100% }
}

/* Faixa de atenção e avisos */
.ui-alert {
  display:flex;align-items:center;gap:var(--space-4);padding:var(--card-section-gap) var(--card-padding);margin-bottom:var(--card-gap);
  background:var(--color-danger-soft);border:1px solid rgba(240,128,128,.35);border-radius:var(--radius-lg);
  font-size:var(--text-body);
}
.ui-card-section > .ui-alert:last-child { margin-bottom:0 }
.ui-alert-info {
  background:var(--color-surface-raised);border:1px solid var(--color-border);
}
.ui-alert-info .ui-alert-icon {
  background:var(--color-surface-hover);color:var(--color-gold);
}
.ui-alert-icon { display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-danger) }
.ui-alert-text { flex:1;min-width:0 }
.ui-alert-text p { margin:0;color:var(--color-text-muted);font-size:var(--text-caption);line-height:1.5 }
.ui-alert .notice-close { min-height:32px;padding:var(--space-1) var(--space-2);flex-shrink:0 }

/* Rodapé padronizado de conferência de formulário */
.ui-form-confirm {
  margin:var(--space-3) 0;
  font-size:var(--text-caption);
  line-height:1.5;
  color:var(--color-text-muted);
}

/* Resumo de parcelas (pílulas lado a lado) */
.ui-summary { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);margin:0;padding:var(--space-3) var(--card-padding);border-bottom:1px solid var(--color-border) }
.ui-summary-row { display:grid;grid-template-columns:1fr auto;gap:2px var(--space-2);align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md) }
.ui-summary dt { font-weight:600;grid-column:1;grid-row:1 }
.ui-summary dd { display:contents;margin:0 }
.ui-summary-count { grid-column:1;grid-row:2;color:var(--color-text-muted);font-size:var(--text-caption) }
.ui-summary .ui-row-value { grid-column:2;grid-row:1/span 2;align-self:center;font-size:var(--text-card-title) }
@media(max-width:520px) { .ui-summary { grid-template-columns:1fr } }

.ui-card-footer-link { display:flex;align-items:center;padding:var(--space-3) var(--card-padding);border-top:1px solid var(--color-border);color:var(--color-gold);font-size:var(--text-caption);font-weight:600;text-decoration:none }
.ui-card-footer-link:hover { text-decoration:underline }
.ui-card-footer-link:focus-visible { outline:none;box-shadow:var(--focus-ring) }

/* Captura rápida integrada ao card da Caixa de entrada */
.ui-card-body>.quick-capture { margin:0;padding:var(--card-section-gap) var(--card-padding);border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent }
.ui-card-body>.quick-capture:last-child { border-bottom:0 }
.ui-card-body>.quick-capture label { font-size:var(--text-body);font-weight:600 }

/* Cabeçalho de página interna, seção de card e grade de triagem */
.ui-page-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--card-section-gap) }
.ui-page-heading-main { min-width:0;flex:1 }
.ui-page-heading-title { display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap }
.ui-page-heading-actions { display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap }
.ui-page-heading h1 { margin:0;font-size:var(--text-page-title);width:fit-content }
.ui-page-heading p { margin:var(--space-1) 0 0 }
/* Cabeçalhos das telas principais: título, contexto operacional opcional e ações. */
.workspace-heading { align-items:flex-start }
.workspace-heading .workspace-heading-title { font-size:var(--text-page-title);font-weight:600;line-height:1.2;margin:0 }
.workspace-heading .workspace-heading-context { margin:var(--space-1) 0 0;font-size:var(--text-body);line-height:1.6;color:var(--color-text-muted) }
.workspace-heading-title-line { display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap }
.workspace-note { margin:0 0 var(--card-section-gap);font-size:var(--text-body);color:var(--color-text-muted) }
.opportunity-description { margin:0;font-size:var(--text-body);line-height:1.5 }
.opportunity-row .ui-row-meta { display:grid;gap:var(--space-1) }
@media(max-width:600px) {
  .workspace-heading>.ui-page-heading-main { flex-basis:100% }
  .workspace-heading>.ui-page-heading-actions { width:100% }
  .workspace-heading .ui-page-heading-actions>.ui-btn { width:auto;padding:var(--space-2);font-size:var(--text-caption) }
}
@media(max-width:520px) {
  .opportunity-row .ui-row-main { flex-basis:100% }
}
.record-filters { display:flex;gap:var(--space-2);flex-wrap:wrap;margin:0 0 var(--card-section-gap) }

/* Filtros de oportunidades comerciais */
.opportunity-filter-bar {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: 32px !important;
}
.opportunity-stage-filter {
  display: flex;
  align-items: flex-end;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin: 0;
}
.opportunity-stage-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 !important;
  width: 260px !important;
  max-width: 100% !important;
  flex: 0 0 260px !important;
}
/* Estilização universal e moderna para caixas de seleção (select) em todo o app */
select,
.field select,
.ui-input select,
select.ui-input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px 16px !important;
  padding-right: 42px !important;
  cursor: pointer;
}

select:hover,
.field select:hover,
select.ui-input:hover {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c89b3c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
}

.opportunity-stage-field select {
  width: 100% !important;
  box-sizing: border-box;
}
.ui-filter-pill {
  display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:var(--space-1) var(--space-4);
  border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface);
  color:var(--color-text-muted);font-size:var(--text-body);font-weight:600;text-decoration:none
}
.ui-filter-pill:hover { color:var(--color-text);background:var(--color-surface-raised) }
.ui-filter-pill:focus-visible { outline:none;box-shadow:var(--focus-ring) }
.ui-filter-pill[aria-current=page] { border-color:var(--color-gold);background:var(--color-gold-soft);color:var(--color-gold) }
.ui-empty-secondary { display:flex;justify-content:center;padding:0 var(--card-padding) var(--card-section-gap) }
.ui-card-section { display:grid;gap:var(--space-3);padding:var(--card-section-gap) var(--card-padding) }
.ui-card-section p { margin:0;line-height:1.6 }
.ui-card-section p.muted { color:var(--color-text-muted);font-size:var(--text-body) }
.ui-card-body > p { margin:0;padding:var(--card-section-gap) var(--card-padding);line-height:1.6;color:var(--color-text-muted) }
.ui-card-body > p + p { padding-top:0 }
.ui-card-section .field { margin:0 0 var(--space-3) }
.ui-card-section .ui-btn { justify-self:start }
.inbox-destinations { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--card-gap);align-items:start;margin-top:var(--card-gap) }
.inbox-demand-highlight p { margin:0;font-size:var(--text-body);color:var(--color-text);line-height:1.55;overflow-wrap:anywhere }
.inbox-demand-links { display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3) }
.inbox-triage { display:grid;gap:var(--space-3);margin-top:var(--card-gap) }
.inbox-triage-header { display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap }
.inbox-triage-heading { margin:0;font-size:var(--text-body);font-weight:600;color:var(--color-text) }
.inbox-shortcuts-hint { margin:0;font-size:var(--text-caption);color:var(--color-text-muted) }
.inbox-kbd { display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:1px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-text-muted);font-family:inherit;font-size:11px;line-height:1.4 }
.inbox-triage-option .inbox-kbd { margin-left:auto;flex-shrink:0 }
.inbox-triage-options { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3) }
.inbox-triage-option { display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:left;cursor:pointer }
.inbox-triage-option:hover { background:var(--color-surface-raised);border-color:var(--color-border-strong) }
.inbox-triage-option:focus-visible { outline:none;box-shadow:var(--focus-ring) }
.inbox-triage-option.is-selected { border-color:var(--color-gold);box-shadow:0 0 0 1px var(--color-gold);background:var(--color-surface-raised) }
.inbox-triage-option-icon { flex-shrink:0;color:var(--color-text-muted);margin-top:2px }
.inbox-triage-option.is-selected .inbox-triage-option-icon { color:var(--color-gold) }
.inbox-triage-option-icon .ui-icon { pointer-events:none;width:18px;height:18px }
.inbox-triage-option-copy { display:grid;gap:2px;min-width:0 }
.inbox-triage-option-copy strong { font-size:var(--text-body);font-weight:600;color:var(--color-text) }
.inbox-triage-option-copy span { font-size:var(--text-caption);color:var(--color-text-muted) }
.inbox-triage-panel[hidden] { display:none }
.inbox-queue-nav { display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap }
.inbox-queue-position { font-size:var(--text-caption);color:var(--color-text-muted);font-variant-numeric:tabular-nums }
.inbox-queue-btn { padding:var(--space-1) var(--space-2);min-height:32px }
.inbox-queue-btn .ui-icon { pointer-events:none;width:16px;height:16px }
.inbox-queue-btn.is-disabled { opacity:0.45;pointer-events:none }
.inbox-field-header { display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2) }
.inbox-field-header label { margin-bottom:0 }
.inbox-char-counter { font-size:var(--text-caption);color:var(--color-text-muted);font-variant-numeric:tabular-nums }
.inbox-char-counter.is-near-limit { color:var(--color-warning) }
@media(max-width:900px) { .inbox-destinations { grid-template-columns:minmax(0,1fr) } .inbox-triage-options { grid-template-columns:minmax(0,1fr) } }
@media(max-width:520px) {
  .ui-page-heading-actions { width:100% }
  .ui-page-heading:not(.workspace-heading) .ui-btn { width:100% }
  .ui-more-actions { width:100% }
  .ui-more-actions summary { width:100% }
  .ui-more-actions-menu { left:0;right:0 }
  .ui-filter-pill { min-height:44px }
  .ui-card-section .ui-btn { width:100%;justify-self:stretch }
}

/* Menu de mais ações e detalhes do caso */
.matter-header-badges { display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap }
.matter-client-subtitle { margin:var(--space-2) 0 0;font-size:var(--text-body);color:var(--color-text-muted) }
.matter-client-link { color:var(--color-gold);text-decoration:none;font-weight:500 }
.matter-client-link:hover { text-decoration:underline }
.ui-more-actions { position:relative;display:inline-block }
.ui-more-actions summary { list-style:none }
.ui-more-actions summary::-webkit-details-marker { display:none }
.ui-more-actions-menu {
  position:absolute;top:calc(100% + var(--space-1));right:0;z-index:20;min-width:160px;
  background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);
  box-shadow:var(--shadow-md);padding:var(--space-1);display:flex;flex-direction:column;gap:2px
}
.ui-more-actions-item {
  display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);min-height:44px;
  border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-body);text-decoration:none
}
.ui-more-actions-item:hover { background:rgba(255,255,255,.06) }
.ui-more-actions-item:focus-visible { outline:none;box-shadow:var(--focus-ring) }
.ui-more-actions-item.ui-tone-danger { color:var(--color-danger) }
.ui-more-actions-item.ui-tone-danger:hover { background:var(--color-danger-soft) }

/* Grade de colunas da ficha do caso */
.matter-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1.15fr);
  gap: var(--card-gap);
  align-items: start;
}
.matter-main-col,
.matter-side-col {
  display: flex;
  flex-direction: column;
  gap: var(--card-gap);
  min-width: 0;
}
@media (max-width: 1023px) {
  .matter-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Coluna lateral da ficha do caso e resumos de dados */
.matter-data-list {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.matter-data-list > div,
.matter-data-item {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  padding: 14px var(--card-padding);
}
.matter-data-list > div + div,
.matter-data-item + .matter-data-item {
  border-top: 1px solid var(--color-border);
}
.matter-data-list dt,
.matter-data-label {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-text-muted);
  margin: 0;
}
.matter-data-list dd,
.matter-data-value {
  margin: 0;
  font-size: var(--text-body);
  color: var(--color-text);
  overflow-wrap: anywhere;
  white-space: normal !important;
  text-align: left;
}
.matter-data-item.is-prominent,
.matter-data-list > div.is-prominent {
  gap: var(--space-2);
  padding: 16px var(--card-padding);
}
.matter-data-item.is-prominent .matter-data-value,
.matter-data-list > div.is-prominent dd {
  font-size: 1.25rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.matter-data-item.is-prominent.is-open .matter-data-value,
.matter-data-list > div.is-prominent.is-open dd {
  color: var(--color-gold);
}
.pending-summary-card .matter-data-item {
  padding: var(--space-4) var(--card-padding);
  gap: var(--space-1);
}
.pending-summary-card .matter-data-value {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.pending-summary-card .pending-summary-amount {
  font-size: 1.5rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}
.pending-summary-card .matter-data-item.is-open .pending-summary-amount {
  color: var(--color-gold);
}
.pending-summary-card .pending-summary-count {
  font-size: var(--text-caption);
  color: var(--color-text-muted);
}
.matter-layout .pending-installment .ui-row-meta {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.matter-add-cnj-link {
  color: var(--color-gold);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-size: var(--text-body);
}
.matter-add-cnj-link:hover {
  color: var(--color-gold-hover);
}

.matter-fee-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--card-padding);
}
.matter-fee-row + .matter-fee-row {
  border-top: 1px solid var(--color-border);
}
.matter-fee-breakdown {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin: 0;
  flex-shrink: 0;
}
.matter-fee-item {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}
.matter-fee-item dt {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--color-text-muted);
  margin: 0;
}
.matter-fee-item dd {
  font-size: var(--text-body);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--color-text);
  margin: 0;
}
.matter-fee-item.matter-fee-open dd {
  color: var(--color-gold);
}
@media (max-width: 600px) {
  .matter-fee-row {
    flex-direction: column;
    align-items: flex-start;
  }
  .matter-fee-breakdown {
    width: 100%;
    justify-content: space-between;
    padding-top: var(--space-1);
    border-top: 1px dashed var(--color-border);
  }
  .matter-fee-item {
    align-items: flex-start;
  }
}

/* O campo de captura tem regra própria para input; o botão primário precisa vencê-la. */
.quick-capture .ui-btn-primary { background:var(--color-gold);color:var(--color-on-gold);border-color:transparent;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4) }

/* Acompanhamento da ficha do prazo */
.deadline-status {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--card-padding);
  margin: 0;
  font-size: 1rem;
  border-bottom: 1px solid var(--color-border);
}
.deadline-status.overdue {
  color: var(--color-danger);
  background: var(--color-danger-soft);
}
.deadline-fulfillment-form,
.deadline-fulfillment-details {
  padding: var(--card-padding);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.deadline-legal-notice {
  padding: var(--space-2) var(--card-padding) var(--card-padding);
  font-size: 0.8125rem;
  line-height: 1.4;
  margin: 0;
}

/* Apresentação do documento */
.document-preview {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--space-6) var(--card-padding);
  gap: var(--space-4);
}
.document-preview-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: var(--radius-lg);
  background: var(--color-surface-hover, rgba(255, 255, 255, 0.05));
  border: 1px solid var(--color-border);
  color: var(--color-gold);
}
.document-preview-icon svg {
  width: 32px;
  height: 32px;
}
.document-preview-details {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-1);
}
.document-preview-filename {
  font-size: var(--text-card-title);
  font-weight: 600;
  color: var(--color-text);
  word-break: break-all;
  max-width: 100%;
}
.document-preview-meta {
  font-size: var(--text-caption);
  color: var(--color-text-muted);
}
.document-preview-actions {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-2);
}

/* Lista de parcelas e previsão de vencimentos */
.matter-fee-schedule {
  list-style: none;
  margin: 0;
  padding: 0;
}
.matter-fee-schedule-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-4);
  padding: var(--space-4) var(--card-padding);
  box-sizing: border-box;
  min-width: 0;
}
.matter-fee-schedule-item + .matter-fee-schedule-item {
  border-top: 1px solid var(--color-border);
}
.matter-fee-schedule-main {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  min-width: 0;
  flex: 1 1 auto;
}
.matter-fee-schedule-title-line {
  display: flex;
  align-items: baseline;
  gap: var(--space-3);
  flex-wrap: wrap;
}
.matter-fee-schedule-position {
  font-size: var(--text-caption);
  font-weight: 600;
  color: var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.matter-fee-schedule-amount {
  font-size: 1.25rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  color: var(--color-text);
}
.matter-fee-schedule-meta {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: wrap;
  font-size: var(--text-caption);
  color: var(--color-text-muted);
  line-height: 1.5;
  margin: 0;
}
.matter-fee-schedule-meta strong {
  color: var(--color-text);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.matter-fee-schedule-actions {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
  flex-shrink: 0;
}
.matter-fee-schedule-actions .ui-btn,
.matter-fee-schedule-actions .button {
  min-height: 38px;
  padding: var(--space-2) var(--space-3);
  font-size: var(--text-caption);
}
@media (max-width: 768px) {
  .matter-fee-schedule-item {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
  }
  .matter-fee-schedule-actions {
    width: 100%;
    justify-content: flex-start;
    margin-top: var(--space-2);
    padding-top: var(--space-3);
    border-top: 1px dashed var(--color-border);
  }
}

/* Respiro consistente entre cards de propostas e decisões */
.proposals-content {
  display: flex;
  flex-direction: column;
  gap: var(--card-gap);
  margin-top: var(--space-4);
}

/* Respiro consistente entre cards da agenda e calendário */
.calendar-content {
  display: flex;
  flex-direction: column;
  gap: var(--card-gap);
  margin-top: var(--space-4);
}
.calendar-content > .ui-card + .ui-card {
  margin-top: var(--card-gap);
}
.calendar-date-header {
  padding-top: var(--space-3);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--color-border);
  background: var(--color-surface-raised);
}
.calendar-date-title {
  font-size: 0.9375rem;
  color: var(--color-text);
}
.calendar-date-count {
  font-size: 0.8125rem;
  margin-left: var(--space-2);
}
.calendar-empty-action {
  margin-top: var(--space-3);
}

/* Espaçamento garantido para atividades na contratação */
[data-activity] {
  margin-bottom: 24px !important;
}
.engagement-activity-list {
  margin-bottom: 24px !important;
}
.engagement-add-activity-wrap {
  margin-top: 24px !important;
  margin-bottom: 28px !important;
}

/* Identidade visual - Logo e Mascote */
.brand-logo {
  height: 48px;
  width: auto;
  max-height: 48px;
  display: block;
  flex-shrink: 0;
}
.brand-logo-light {
  display: none !important;
}
.brand-logo-dark {
  display: block !important;
}
:root[data-theme="light"] .brand-logo-dark,
[data-theme="light"] .brand-logo-dark {
  display: none !important;
}
:root[data-theme="light"] .brand-logo-light,
[data-theme="light"] .brand-logo-light {
  display: block !important;
}
@media (max-width: 520px) {
  .brand-logo {
    height: 40px;
    max-height: 40px;
  }
}
.footer-product-name {
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.profile-identity-modern {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.profile-avatar-wrap .profile-avatar {
  width: 48px;
  height: 48px;
  border-radius: var(--radius-full, 50%);
  background: var(--color-surface-raised);
  border: 1px solid var(--color-border);
  color: var(--color-gold);
  font-size: 1.125rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}
.profile-identity-info {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  min-width: 0;
}
.profile-user-email {
  font-size: var(--text-body);
  font-weight: 600;
  color: var(--color-text);
}
.profile-user-role {
  font-size: var(--text-caption);
}
.office-assistant-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-3);
}
.office-assistant-media {
  width: 140px;
  height: 140px;
  border-radius: var(--radius-lg, 12px);
  overflow: hidden;
  border: 1px solid var(--color-border);
  background: var(--color-surface-raised);
  box-shadow: var(--shadow-sm);
}
.office-assistant-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.office-assistant-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Padronização visual dos formulários e cartões de formulário */
.ui-form-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  padding: var(--card-padding) var(--space-5);
  margin: var(--space-4) 0;
  max-width: 740px;
}

.ui-form-card > .field:first-of-type {
  margin-top: 0;
}

.ui-form-card .form-actions {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin: var(--space-5) 0 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-border);
}

.field {
  display: grid;
  gap: 6px;
  margin: var(--space-4) 0;
}

.field label,
fieldset legend {
  font-size: var(--text-caption);
  font-weight: 600;
  color: var(--color-text);
  letter-spacing: 0.01em;
}

.field small {
  color: var(--color-text-muted);
  font-size: var(--text-caption);
  line-height: 1.45;
}

.field input:not([type="checkbox"]):not([type="radio"]),
.field select,
.field textarea,
.step-editor input[type="text"] {
  background: var(--color-bg);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 10px 14px;
  min-height: 42px;
  font-size: var(--text-body);
  line-height: 1.45;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.field input:not([type="checkbox"]):not([type="radio"]):hover,
.field select:hover,
.field textarea:hover,
.step-editor input[type="text"]:hover {
  border-color: rgba(200, 164, 106, 0.55);
}

.field input:not([type="checkbox"]):not([type="radio"]):focus,
.field select:focus,
.field textarea:focus,
.step-editor input[type="text"]:focus {
  outline: none;
  border-color: var(--color-gold);
  box-shadow: var(--focus-ring);
}

fieldset {
  background: rgba(255, 255, 255, 0.015);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-4) var(--space-5);
  margin: var(--space-5) 0;
}

fieldset legend {
  padding: 0 var(--space-2);
  color: var(--color-gold);
}

.installment-fields,
.step-editor {
  background: var(--color-surface-raised);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4);
  margin-bottom: var(--space-3);
}

.installment-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: var(--space-3);
  align-items: end;
}

.installment-fields .field {
  margin: 0;
}

.check-label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-body);
  font-weight: 500;
  color: var(--color-text);
  cursor: pointer;
  margin: var(--space-2) 0;
}

.auth-panel {
  max-width: 480px;
  margin: var(--space-7) auto;
  background: var(--color-surface);
  padding: var(--space-6);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.auth-panel h1 {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: var(--space-1) 0 var(--space-2);
}

.auth-panel form {
  margin: var(--space-5) 0 var(--space-4);
}

.auth-panel .button.primary {
  margin-top: var(--space-2);
  min-height: 44px;
  font-weight: 600;
}

.callout {
  background: var(--color-surface-raised);
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--color-gold);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  margin: var(--space-4) 0;
  max-width: 740px;
}

.flash.error {
  background: var(--color-danger-soft);
  border-color: rgba(240, 128, 128, 0.35);
  color: var(--color-danger);
  border-radius: var(--radius-md);
  max-width: 740px;
}

/* Formulário de Confirmação de Contratação e Painéis Internos */
form.ui-form {
  display: flex;
  flex-direction: column;
  gap: var(--card-gap);
}

.engagement-quick-links {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
  padding-top: var(--space-2);
  border-top: 1px dashed var(--color-border);
}

.engagement-panel {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.engagement-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--color-border);
}

.engagement-panel-title {
  font-size: var(--text-body);
  font-weight: 600;
  color: var(--color-gold);
}

.engagement-panel fieldset[data-mode-fields] {
  background: transparent;
  border: 0;
  border-top: 1px dashed var(--color-border);
  border-radius: 0;
  padding: var(--space-3) 0 0;
  margin: 0;
}

.engagement-panel fieldset[data-mode-fields] legend {
  padding: 0 var(--space-2) 0 0;
  font-size: var(--text-caption);
  color: var(--color-text-muted);
}

.engagement-declarations-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.engagement-check-row .check-label {
  margin: 0;
  font-weight: 600;
  font-size: var(--text-body);
  color: var(--color-text);
}

.engagement-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
  align-items: start;
}

.engagement-grid-2 > .field {
  margin: 0;
}

.engagement-activity-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.engagement-activity-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--color-border);
}

.engagement-panel fieldset[data-activity-fields] {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  transition: opacity 0.15s ease;
}

.engagement-panel fieldset[data-activity-fields][disabled] {
  opacity: 0.45;
}

@media (max-width: 680px) {
  .engagement-declarations-grid,
  .engagement-grid-2 {
    grid-template-columns: 1fr;
  }
}

/* Utilitários semânticos e de layout (tokens) */
.ui-stack-1 { display: flex; flex-direction: column; gap: var(--space-1); }
.ui-stack-2 { display: flex; flex-direction: column; gap: var(--space-2); }
.ui-stack-3 { display: flex; flex-direction: column; gap: var(--space-3); }
.ui-stack-4 { display: flex; flex-direction: column; gap: var(--space-4); }

.ui-cluster-2 { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); }
.ui-cluster-3 { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-3); }
.ui-cluster-4 { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-4); }

.ui-split { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; }
.ui-aside-col { display: flex; flex-direction: column; align-items: flex-end; gap: var(--space-1); flex-shrink: 0; }

.ui-m-0 { margin: 0; }
.ui-mt-0 { margin-top: 0; }
.ui-mb-0 { margin-bottom: 0; }
.ui-mt-1 { margin-top: var(--space-1); }
.ui-mt-2 { margin-top: var(--space-2); }
.ui-mt-3 { margin-top: var(--space-3); }
.ui-mt-4 { margin-top: var(--space-4); }
.ui-mt-5 { margin-top: var(--space-5); }
.ui-mt-6 { margin-top: var(--space-6); }
.ui-mb-1 { margin-bottom: var(--space-1); }
.ui-mb-2 { margin-bottom: var(--space-2); }
.ui-mb-3 { margin-bottom: var(--space-3); }
.ui-mb-4 { margin-bottom: var(--space-4); }
.ui-mb-5 { margin-bottom: var(--space-5); }

.ui-support { font-size: var(--text-caption); line-height: 1.5; color: var(--color-text-muted); }
.ui-support-sm { font-size: var(--text-label); line-height: 1.4; color: var(--color-text-muted); }
.ui-section-title { font-size: var(--text-body); font-weight: 600; color: var(--color-text); display: block; }
.ui-row-title-sm { font-size: var(--text-body); font-weight: 600; margin: 0; }
.ui-row-value-lg { font-size: var(--text-card-title); font-weight: 700; }

.ui-divider-top { border-top: 1px solid var(--color-border); padding-top: var(--space-3); }
.ui-dashed-box { padding: var(--space-3); border: 1px dashed var(--color-border); border-radius: var(--radius-md); background: var(--color-surface-raised); }

.ui-w-full { width: 100%; }
.ui-narrow { max-width: 720px; }
.ui-wide { max-width: 840px; }
.ui-field-compact { max-width: 280px; margin-top: 0; }
.ui-raised-box { padding: var(--space-2) var(--space-3); background: var(--color-surface-raised); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.ui-details-card { overflow: hidden; }
.ui-details-summary { cursor: pointer; font-weight: 600; font-size: var(--text-card-title); list-style: none; display: flex; align-items: center; justify-content: space-between; }
.ui-alert-list { margin: 0; padding-left: var(--space-4); }
.ui-text-center { text-align: center; }
.ui-text-right { text-align: right; }
.ui-check-inline { display: flex; align-items: center; gap: var(--space-2); cursor: pointer; }
.ui-raised-list { margin-top: var(--space-1); background: var(--color-surface-raised); border-radius: var(--radius-sm); padding: var(--space-2) var(--space-3); border: 1px solid var(--color-border); }
.ui-raised-list .matter-data-item { padding: var(--space-1) 0; border: 0; display: flex; flex-direction: column; gap: var(--space-1); }

.opportunity-filter-bar { margin-bottom: var(--card-gap); display: flex; flex-direction: column; gap: var(--space-3); }
.opportunity-stage-filter { display: flex; gap: var(--space-3); align-items: flex-end; flex-wrap: wrap; }
.opportunity-stage-field { display: flex; flex-direction: column; gap: var(--space-1); margin: 0; width: 260px; max-width: 100%; flex: 0 0 260px; }




