@font-face { font-family: Inter; src: url("fonts/inter-400.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: Inter; src: url("fonts/inter-500.ttf") format("truetype"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: Inter; src: url("fonts/inter-600.ttf") format("truetype"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: Inter; src: url("fonts/inter-700.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: Lora; src: url("fonts/lora-600.ttf") format("truetype"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: Lora; src: url("fonts/lora-700.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("fonts/ibm-plex-mono-400.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("fonts/ibm-plex-mono-500.ttf") format("truetype"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("fonts/ibm-plex-mono-600.ttf") format("truetype"); font-weight: 600; font-style: normal; font-display: swap; }

/*
 * Átrio CRM — camada visual compartilhada.
 * Carregar depois do CSS específico de cada tela. Mantém as regras de negócio
 * locais e centraliza identidade, tipografia e estados de interface.
 */
:root {
  --atrio-ink: #16233a;
  --atrio-ink-strong: #0e1826;
  --atrio-paper: #f7f5f0;
  --atrio-surface: #ffffff;
  --atrio-surface-muted: #ede7da;
  --atrio-border: #c9bea9;
  --atrio-bronze: #a97c50;
  --atrio-link: #2f5d8a;
  --atrio-text: #2a2e35;
  --atrio-muted: #6e6a60;
  --atrio-success: #3e7c5a;
  --atrio-success-bg: #e8f1e9;
  --atrio-warning: #b0810e;
  --atrio-warning-bg: #fff4d9;
  --atrio-danger: #a23b34;
  --atrio-danger-bg: #fbe9e7;
  --atrio-info-bg: #e9f0f6;
  --atrio-font-ui: Inter, "Segoe UI", Arial, sans-serif;
  --atrio-font-display: Lora, Georgia, serif;
  --atrio-font-mono: "IBM Plex Mono", Consolas, monospace;
}

* { box-sizing: border-box; }
body {
  font-family: var(--atrio-font-ui) !important;
  background: var(--atrio-paper) !important;
  color: var(--atrio-text) !important;
}
h1, h2, h3, .topbar h1, header h1, .header h1 {
  font-family: var(--atrio-font-display) !important;
  color: var(--atrio-ink) !important;
  letter-spacing: 0;
}
code, pre, .cnj, .td-numero, .panel-cnj, .proc-cnj, .caso-cnj,
.fin-escopo-cnj, .linha-digitavel, .log-box {
  font-family: var(--atrio-font-mono) !important;
}

header, .header, .topbar, .sidebar, .topo {
  background: var(--atrio-ink) !important;
  color: #fff !important;
}
header h1, .header h1, .topbar h1, .topo h1 { color: #fff !important; }
.sidebar-logo h2, .nav-item.active, .trib-item.active, .tag-filter-btn.active {
  color: #f3dfbf !important;
}
.nav-item.active, .trib-item.active, .tag-filter-btn.active {
  background: rgba(169, 124, 80, .18) !important;
  border-left-color: var(--atrio-bronze) !important;
}
.nav-badge.blue { background: rgba(169, 124, 80, .25) !important; color: #f3dfbf !important; }

/* A tela de Processos usa a topbar como barra de trabalho, não como navegação.
   Ela precisa ficar clara para preservar busca, filtros e ações já existentes. */
.layout .topbar {
  background: var(--atrio-surface) !important;
  color: var(--atrio-text) !important;
  border-bottom-color: var(--atrio-border) !important;
}
.layout .topbar h1 { color: var(--atrio-ink) !important; }
#chk-arq-wrap {
  color: var(--atrio-ink) !important;
  background: var(--atrio-surface-muted) !important;
  border-color: var(--atrio-bronze) !important;
}
#chk-incluir-arquivados {
  width: 16px !important;
  height: 16px !important;
  accent-color: var(--atrio-link) !important;
  opacity: 1 !important;
}
#btn-minhas-tarefas { background: var(--atrio-bronze) !important; border-color: var(--atrio-bronze) !important; }
#btn-minhas-tarefas:hover { background: #8d6239 !important; border-color: #8d6239 !important; }

.card, .table-card, .panel, .filters, .regua-section, .extrato-card,
.modal, .content-card, .section, .report-card {
  background: var(--atrio-surface) !important;
  border-color: var(--atrio-border) !important;
  box-shadow: 0 1px 3px rgba(14, 24, 38, .07) !important;
}
.card:hover, .report-card:hover { border-color: var(--atrio-bronze) !important; }
.stat-card, .steps .s, .search-wrap, .resumo-parcial, .hist-item,
.extrato-card .sugestao, .rt-totais, .btn.ghost {
  background: var(--atrio-surface-muted) !important;
  border-color: var(--atrio-border) !important;
}
.steps .s.active, .tabs button.ativa, .tab-btn.ativa, .panel-tab.active {
  background: var(--atrio-ink) !important;
  color: #fff !important;
  border-color: var(--atrio-bronze) !important;
}
.panel-tab.active { background: transparent !important; color: var(--atrio-link) !important; border-bottom-color: var(--atrio-bronze) !important; }

button, .btn, .btn-primary, .btn-login, .btn-run, .filters button,
.btn-save-trib, .btn-primary, .btn-promover, .btn-baixar, .btn-cobrar,
.btn-parcial, .btn-mini.concluir {
  background: var(--atrio-link) !important;
  color: #fff !important;
  border-color: var(--atrio-link) !important;
}
button:hover, .btn:hover, .btn-primary:hover, .btn-login:hover, .btn-run:hover,
.filters button:hover, .btn-save-trib:hover, .btn-promover:hover, .btn-baixar:hover,
.btn-cobrar:hover, .btn-parcial:hover {
  background: var(--atrio-ink) !important;
  border-color: var(--atrio-ink) !important;
}
.secondary, .btn.ghost, .btn-hist, .btn-mini, .col-toggle-btn, .pgbtn,
.perpage-btn, .tab-btn, .tabs button {
  background: var(--atrio-surface) !important;
  color: var(--atrio-link) !important;
  border-color: var(--atrio-border) !important;
}
.secondary:hover, .btn.ghost:hover, .btn-hist:hover, .btn-mini:hover,
.col-toggle-btn:hover, .pgbtn:hover, .perpage-btn:hover, .tab-btn:hover,
.tabs button:hover { background: var(--atrio-surface-muted) !important; color: var(--atrio-ink) !important; }

a, .themeLinkColor, .td-numero, .panel-cnj, .proc-cnj, .cnj,
.link-botao, .voltar, .caso-badge, .fin-escopo, .fin-escopo button {
  color: var(--atrio-link) !important;
}
input, select, textarea, .field-input, .search-input, .ext-desc, .ext-cc {
  font-family: var(--atrio-font-ui) !important;
  border-color: var(--atrio-border) !important;
  background: var(--atrio-surface) !important;
  color: var(--atrio-text) !important;
}
input:focus, select:focus, textarea:focus, .field-input:focus, .search-input:focus,
.search-wrap:focus-within {
  border-color: var(--atrio-bronze) !important;
  box-shadow: 0 0 0 3px rgba(169, 124, 80, .18) !important;
  outline: none !important;
}

thead th, th, .status-table th, .table-card thead th {
  background: var(--atrio-surface-muted) !important;
  color: var(--atrio-ink) !important;
  border-color: var(--atrio-border) !important;
}
td, th, tbody tr, .panel-hdr, .panel-tabs, .footer-bar, .stats-row {
  border-color: var(--atrio-border) !important;
}
tbody tr:hover td, tbody tr:hover, .table-card tbody tr:hover { background: #fbf8f2 !important; }
.stat-num { color: var(--atrio-link) !important; }
.stat-label, .hint, .results-info, .footer-left, .perpage-label { color: var(--atrio-muted) !important; }

.msg.ok, .badge-ok, .badge.recebido, .badge.cora-verde, .pill.conferido,
.pill.cliente_ok, .pill.assinatura_concluida, .status-success {
  background: var(--atrio-success-bg) !important;
  color: var(--atrio-success) !important;
  border-color: var(--atrio-success) !important;
}
.msg.warn, .badge.areceber, .badge.score-media, .pill.novo, .pill.processando,
.pill.gerar_pecas, .pill.gerando_pecas, .pill.subir_documenso, .pill.subindo_documenso,
.pill.excluir_remoto, .pill.excluindo_remoto, .status-warning {
  background: var(--atrio-warning-bg) !important;
  color: var(--atrio-warning) !important;
  border-color: var(--atrio-warning) !important;
}
.msg.err, .msg-err, .error-msg, .badge.apagar, .badge.cora-vermelho,
.pill.erro, .pill.erro_pecas, .pill.erro_documenso, .status-danger {
  background: var(--atrio-danger-bg) !important;
  color: var(--atrio-danger) !important;
  border-color: var(--atrio-danger) !important;
}
.badge, .pill { font-weight: 650 !important; }
.badge.pago, .badge.cora-neutro { background: var(--atrio-surface-muted) !important; color: var(--atrio-muted) !important; }

/* O Vtiger usa Open Sans em regras com !important; este bloco é a ponte segura. */
.app-navigator, .mainContainer, .contents, .listViewEntriesDiv, .detailViewInfo,
.modal-content, .quickCreateContent, .editViewContainer {
  font-family: var(--atrio-font-ui) !important;
}
