/* =========================================================
   MAIS LEITE — TEMA INSTITUCIONAL
   Paleta inspirada na identidade visual enviada pelo cliente.
   Este arquivo deve permanecer por último no <head>.
   ========================================================= */

:root {
  --blue-950: #650b14;
  --blue-900: #86101b;
  --blue-800: #a71825;
  --blue-700: #bd202e;
  --blue-600: #cf2c39;
  --blue-100: #f9e8ea;

  --primary-950: #650b14;
  --primary-900: #86101b;
  --primary-800: #a71825;
  --primary-700: #bd202e;
  --primary-600: #cf2c39;
  --primary-500: #de4350;
  --primary-200: #f1bfc4;
  --primary-100: #f9e8ea;
  --primary-50: #fdf6f6;

  --ink: #332e2f;
  --muted: #78696c;
  --line: #ead9dc;
  --white: #fff;
  --shadow: 0 18px 50px rgba(126, 15, 27, .15);
}

html,
body {
  color: var(--ink);
  background: #fcf8f8;
}

/* ---------------------------------------------------------
   LOGIN
   --------------------------------------------------------- */

:root {
  --login-blue-950: #650b14;
  --login-blue-900: #86101b;
  --login-blue-800: #a71825;
  --login-blue-700: #bd202e;
  --login-blue-600: #cf2c39;
  --login-blue-100: #f9e8ea;
  --login-blue-50: #fdf7f7;
  --login-text: #332e2f;
  --login-muted: #78696c;
  --login-border: #ead9dc;
}

.login-page {
  background:
    linear-gradient(135deg, #fffafa 0%, #f6e5e7 52%, #fff 100%) !important;
}

.login-visual {
  background:
    radial-gradient(circle at 26% 15%, rgba(255,255,255,.96), transparent 28%),
    linear-gradient(145deg, #fbeff0, #eecfd3) !important;
}

.brand-copy p,
.login-copy p,
.login-brand-subtitle {
  color: #765d61 !important;
}

.login-card,
.password-card {
  border-color: rgba(181, 31, 44, .14) !important;
  box-shadow: 0 22px 60px rgba(109, 11, 23, .15) !important;
}

.input-wrap:focus-within,
.search-box:focus-within,
.control:focus,
.filter-select:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: #c82b38 !important;
  box-shadow: 0 0 0 4px rgba(190, 31, 45, .10) !important;
}

.input-wrap span,
.password-toggle,
.login-options a,
.link-button {
  color: var(--primary-800) !important;
}

.primary-btn,
.btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, #9f1420, #cf2c39) !important;
  box-shadow:
    0 9px 24px rgba(164, 21, 34, .25),
    0 0 18px rgba(207, 44, 57, .12) !important;
}

.primary-btn:hover,
.btn-primary:hover {
  background: linear-gradient(135deg, #8b101b, #bd202e) !important;
}

/* ---------------------------------------------------------
   MENU LATERAL E NAVEGAÇÃO
   --------------------------------------------------------- */

.sidebar {
  background:
    linear-gradient(
      180deg,
      #a01421 0%,
      #8b101b 50%,
      #650b14 100%
    ) !important;
}

.sidebar-head,
.sidebar-footer {
  border-color: rgba(255,255,255,.15) !important;
}

.menu-item:hover,
.menu-item.active,
.sidebar .menu-item:hover,
.sidebar .menu-item.active {
  background: linear-gradient(90deg, #ce2b38, #af1926) !important;
  box-shadow: 0 8px 22px rgba(83, 5, 15, .18) !important;
}

.collapse-btn,
.logout-btn:hover {
  background: rgba(255,255,255,.11) !important;
}

.topbar {
  border-bottom-color: var(--line) !important;
}

.back-link,
.mobile-menu,
.notification,
.icon-btn {
  background: #faecee !important;
  color: var(--primary-900) !important;
}

/* ---------------------------------------------------------
   FUNDO, CARDS E CAMPOS
   --------------------------------------------------------- */

.content,
.test-content,
.users-content,
.analysis-page {
  background:
    radial-gradient(circle at 100% 0, rgba(194, 31, 45, .035), transparent 30%);
}

.module-card,
.toolbar-card,
.table-card,
.metric-box,
.test-header-card,
.animal-entry-card,
.test-table-card,
.finance-summary-card,
.report-filter-card,
.modal-card,
.confirm-card {
  border-color: var(--line) !important;
  box-shadow: 0 10px 32px rgba(96, 30, 38, .07) !important;
}

.module-card:hover {
  border-color: #e0aeb4 !important;
  box-shadow: 0 18px 40px rgba(125, 14, 27, .13) !important;
}

.card-icon,
.dashboard-icon,
.farm-code-avatar,
.sample-farm-code,
.table-avatar,
.avatar-initials {
  background: linear-gradient(145deg, #fceff0, #f3d7da) !important;
  color: var(--primary-800) !important;
  border-color: #edc9cd !important;
}

.btn-secondary {
  color: #8b1722 !important;
  background: #fbecee !important;
  border-color: #eccbd0 !important;
}

.btn-secondary:hover,
.btn-ghost:hover {
  background: #f6dfe2 !important;
  border-color: #dfabb1 !important;
}

.btn-ghost {
  color: var(--primary-800) !important;
  border-color: #e5b9be !important;
}

.search-box,
.control,
.filter-select,
.date-filter input,
.input-wrap {
  border-color: var(--line) !important;
}

.search-box span,
.search-box svg,
.date-filter svg {
  color: var(--primary-800) !important;
}

/* ---------------------------------------------------------
   TABELAS
   --------------------------------------------------------- */

.table-head-viewport,
.users-table thead th,
.finance-table thead th,
.test-table thead th,
.history-table thead th {
  background: #f8e8ea !important;
  border-color: #e8c8cc !important;
  color: #6d1019 !important;
}

.users-table tbody tr:hover,
.finance-table tbody tr:hover,
.test-table tbody tr:hover {
  background: #fff8f8 !important;
}

.users-table td,
.finance-table td,
.test-table td,
.table-footer {
  border-color: #f0e1e3 !important;
}

.table-action,
.edit-action,
.open-action,
.print-action,
.billing-action {
  color: var(--primary-800) !important;
  background: #faebed !important;
}

.table-action:hover,
.edit-action:hover,
.open-action:hover,
.print-action:hover,
.billing-action:hover {
  color: #fff !important;
  background: var(--primary-700) !important;
}

.register-badge,
.origin-badge {
  background: #f9eaec !important;
  color: #87131e !important;
}

.sample-type-badge {
  background: #f4e6e8 !important;
  color: #8c202a !important;
}

/* ---------------------------------------------------------
   ABAS, FILTROS E INDICADORES
   --------------------------------------------------------- */

.finance-tabs,
.analysis-tabs,
.tabs {
  border-color: var(--line) !important;
}

.finance-tab.active,
.analysis-tab.active,
.tab.active,
[role="tab"].active {
  color: #fff !important;
  background: linear-gradient(135deg, #a71825, #cf2c39) !important;
}

.finance-tab-count,
.tab-count {
  background: rgba(255,255,255,.18) !important;
  color: inherit !important;
}

.progress-bar,
.progress-fill,
.capacity-progress span {
  background: linear-gradient(90deg, #a71825, #df4652) !important;
}

/* ---------------------------------------------------------
   DROPDOWNS PERSONALIZADOS
   --------------------------------------------------------- */

.micro-lookup.open .micro-lookup-input,
.microbiology-dropdown.open .teat-multiselect-trigger,
.microbiology-dropdown.open .event-multiselect-trigger,
.teat-multiselect.open .teat-multiselect-trigger,
.event-multiselect.open .event-multiselect-trigger {
  border-color: #c82b38 !important;
  box-shadow: 0 0 0 4px rgba(190, 31, 45, .10) !important;
}

.micro-lookup-toggle,
.teat-arrow,
.event-arrow,
.micro-lookup-arrow,
.ql-dropdown-arrow {
  color: #8e1722 !important;
  background: #f8e4e6 !important;
}

.micro-lookup-results,
.teat-options,
.event-options,
.ql-dropdown-menu {
  border-color: #e6bfc4 !important;
  box-shadow: 0 18px 36px rgba(107, 17, 28, .15) !important;
}

.micro-lookup-item:hover,
.micro-lookup-item.active,
.teat-option:hover,
.event-option:hover,
.ql-dropdown-option:hover {
  background: #fdf1f2 !important;
}

.micro-lookup-item.selected,
.teat-option.selected,
.event-option.selected,
.ql-dropdown-option.selected,
.teat-chip,
.event-chip {
  color: #86101b !important;
  background: #f8e3e6 !important;
  border-color: #e7b8bd !important;
}

/* ---------------------------------------------------------
   MODAIS, RELATÓRIOS E GRÁFICOS
   --------------------------------------------------------- */

.modal-header,
.history-modal-header {
  background: linear-gradient(180deg, #fffafa, #fbecee) !important;
  border-bottom-color: var(--line) !important;
}

.modal-footer {
  border-top-color: var(--line) !important;
}

.report-sheet,
.print-sheet {
  border-color: #e6c4c8 !important;
}

.report-table thead th {
  background: #dca0a7 !important;
  color: #581018 !important;
  border-color: #6e1a22 !important;
}

.pathogen-chart .bar,
.chart-bar,
.chart-fill {
  background: #bd202e !important;
  fill: #bd202e !important;
}

/* ---------------------------------------------------------
   ESTADOS VAZIOS E PEQUENOS DETALHES
   --------------------------------------------------------- */

.empty-state h3 {
  color: #65101a !important;
}

.field-info-button,
.info-button {
  color: var(--primary-800) !important;
  border-color: #ddaab0 !important;
  background: #fff7f7 !important;
}

.password-page,
.portrait-warning {
  background:
    radial-gradient(circle at 20% 15%, #fae8ea 0, transparent 35%),
    linear-gradient(135deg, #f3d8dc, #fffafa) !important;
}

/* Mantém cores semânticas independentes do tema. */
.form-message.success,
.success-mark,
.status-success,
.badge-success {
  color: #087448 !important;
}

.form-message.error,
.status-error,
.badge-danger {
  color: #b42318 !important;
}

/* ---------------------------------------------------------
   IMPRESSÃO
   --------------------------------------------------------- */

@media print {
  :root {
    --ink: #2f2a2b;
    --line: #b98f94;
  }

  .report-table thead th {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    background: #dca0a7 !important;
  }
}


/* =========================================================
   AJUSTE FINAL — MENU ATIVO GRAFITE E LOGIN SEM AZUL
   Este bloco é intencionalmente específico para vencer CSS
   carregado dinamicamente pelo componente de navegação.
   ========================================================= */

.sidebar,
aside.sidebar {
  background: linear-gradient(180deg,#a71825 0%,#86101b 52%,#56575a 100%) !important;
}

.sidebar .menu-item.active,
.sidebar .menu-item[aria-current="page"],
aside.sidebar .menu-item.active {
  background: linear-gradient(135deg,#55575b,#74777b) !important;
  border-color: rgba(255,255,255,.22) !important;
  box-shadow: 0 9px 22px rgba(28,28,30,.25) !important;
  color: #fff !important;
}

.sidebar .menu-item.active:hover,
.sidebar .menu-item[aria-current="page"]:hover {
  background: linear-gradient(135deg,#484a4e,#65686d) !important;
}

.sidebar .menu-item:hover:not(.active) {
  background: rgba(255,255,255,.11) !important;
}

.sidebar .avatar,
.sidebar .avatar-initials,
.tablet-user-avatar {
  background: linear-gradient(145deg,#f4f4f5,#d7d8da) !important;
  border-color: #c5c6c8 !important;
  color: #525458 !important;
}

.tablet-logout-button {
  background: #eeeeef !important;
  border-color: #cfd0d2 !important;
  color: #86101b !important;
}

.tablet-logout-button:hover {
  background: #dedfe1 !important;
  border-color: #b6b8bb !important;
}

/* Login: substitui detalhes azuis diretos que não usam variáveis. */
.login-page,
.login-shell,
.login-main {
  background: linear-gradient(135deg,#fafafa 0%,#eee9ea 50%,#fff 100%) !important;
}

.login-visual,
.login-brand-panel {
  background:
    radial-gradient(circle at 22% 14%,rgba(255,255,255,.92),transparent 30%),
    linear-gradient(145deg,#b31d2a 0%,#86101b 52%,#55575a 100%) !important;
}

.login-form-panel,
.login-panel {
  background: linear-gradient(180deg,#fafafa,#f0f0f1) !important;
}

.login-card .input-icon,
.login-card .password-toggle,
.login-card a,
.login-options a,
.login-help a {
  color: #a71825 !important;
}

.login-card input:focus,
.login-card .input-wrap:focus-within {
  border-color: #bd202e !important;
  box-shadow: 0 0 0 4px rgba(189,32,46,.11) !important;
}

.login-card .primary-btn,
.login-card button[type="submit"] {
  background: linear-gradient(135deg,#9a1521,#c52a37) !important;
  color: #fff !important;
  border-color: transparent !important;
}

.login-card .primary-btn:hover,
.login-card button[type="submit"]:hover {
  background: linear-gradient(135deg,#7e1019,#ad1c29) !important;
}
