
  /*
   * Paleta de marca (calibrada em cima de assets/logo.jpeg — navy escuro do
   * fundo + dourado do monograma/texto). Sobrescreve só as variáveis do
   * Bootstrap 5.3 que não têm significado semântico de status (--bs-primary,
   * links, fonte do corpo) — --bs-success/--bs-warning/--bs-danger ficam
   * intocadas de propósito porque já carregam sentido nos badges de status
   * do processo ("Consulta OK" = verde, "Consulta indisponível" = amarelo).
   */
  :root {
    --bs-primary: #0f1e3c;
    --bs-primary-rgb: 15, 30, 60;
    --bs-link-color: #0f1e3c;
    --bs-link-color-rgb: 15, 30, 60;
    --bs-link-hover-color: #17294a;
    --bs-body-font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --brand-navy: #0f1e3c;
    --brand-gold: #c9a44c;
    --brand-gold-hover: #b8923c;
  }

  h1, h2, h3, .h1, .h2, .h3 {
    font-family: 'Playfair Display', 'Georgia', serif;
  }

  .btn-brand-gold {
    background-color: var(--brand-gold);
    border-color: var(--brand-gold);
    color: #241c05;
  }
  .btn-brand-gold:hover, .btn-brand-gold:focus {
    background-color: var(--brand-gold-hover);
    border-color: var(--brand-gold-hover);
    color: #241c05;
  }

  .login-shell { min-height: 100vh; }
  .login-col-foto {
    background: #0f1e3c;
    border-right: 1px solid rgba(255,255,255,0.08);
  }
  .login-col-foto img:not(.login-logo) {
    width: 100%; max-width: 320px; aspect-ratio: 1 / 1; border-radius: 1rem; object-fit: cover;
    box-shadow: 0 8px 24px rgba(0,0,0,0.25);
  }
  .login-logo { max-width: 340px; width: 100%; height: auto; object-fit: contain; }
  .login-col-form { background: #ffffff; }

  .sidebar-logo { height: 40px; width: auto; border-radius: 6px; }

  .app-sidebar.app-sidebar-brand-navy {
    background: var(--brand-navy) !important;
  }

  .timeline-lista { list-style: none; margin: 0; padding: 0; }
  .timeline-item-custom { position: relative; padding: 0 0 1.6rem 2.1rem; }
  .timeline-item-custom:last-child { padding-bottom: 0; }
  .timeline-item-custom .timeline-linha {
    position: absolute; left: 10px; top: 22px; bottom: -4px; width: 2px; background: #dee2e6;
  }
  .timeline-item-custom:last-child .timeline-linha { display: none; }
  .timeline-item-custom.concluida .timeline-linha { background: #198754; }
  .timeline-item-custom .timeline-circulo {
    position: absolute; left: 0; top: 0; width: 22px; height: 22px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 0.72rem; font-weight: 700; color: #fff;
    background: #adb5bd;
  }
  .timeline-item-custom.concluida .timeline-circulo { background: #198754; }
  .timeline-item-custom.atual .timeline-circulo { background: #0d6efd; }

  .chat-bolha { background: #f1f3f5; border-radius: 0.6rem; padding: 0.6rem 0.9rem; font-size: 0.9rem; margin-bottom: 0.6rem; white-space: pre-wrap; }
  .chat-bolha.pergunta { background: #cfe2ff; }
  .chat-mensagens { max-height: 260px; overflow-y: auto; }
