/* =============================================
   POTIRA - SOBRESCRITA BOOTSTRAP 5
   Identidade Visual Tupi-Guarani
   ============================================= */

/* =============================================
   1. IMPORTAÇÃO DE FONTES
============================================= */
@import url('https://fonts.googleapis.com/css2?family=Sora:wght@600;700&family=Inter:wght@300;400;500&display=swap');

/* ======================================================
   2. DEFINIÇÃO DAS VARIÁVEIS CSS (BOOTSTRAP + POTIRA)
====================================================== */
:root {
  /* ----- CORES PRIMÁRIAS (Broto) ----- */
    --bs-primary: #2E7D5E !important;
    /* Broto - Verde vitalidade */
    --bs-primary-rgb: 46, 125, 94 !important;
    --bs-primary-hover: #1E5F45 !important;
    --bs-primary-bg-subtle: #D5E8E0 !important;
    --bs-primary-border-subtle: #A8D1C0 !important;

    /* ----- CORES SECUNDÁRIAS (Terra Fértil) ----- */
    --bs-secondary: #5D3A1A !important;
    /* Terra Fértil - Marrom solidez */
    --bs-secondary-rgb: 93, 58, 26 !important;
    --bs-secondary-hover: #4A2E14 !important;
    --bs-secondary-bg-subtle: #E8DDD4 !important;
    --bs-secondary-border-subtle: #D4C4B8 !important;

    /* ----- SUCESSO (Folha Madura) ----- */
    --bs-success: #1E8C5E !important;
    /* Folha Madura - Verde intenso */
    --bs-success-rgb: 30, 140, 94 !important;
    --bs-success-hover: #147A4E !important;
    --bs-success-bg-subtle: #D4F0E4 !important;
    --bs-success-border-subtle: #A8E0C8 !important;

    /* ----- PERIGO / ERRO (Fruto Vermelho) ----- */
    --bs-danger: #C65D4A !important;
    /* Fruto Vermelho - Vermelho terroso */
    --bs-danger-rgb: 198, 93, 74 !important;
    --bs-danger-hover: #B04A3A !important;
    --bs-danger-bg-subtle: #F5E0DC !important;
    --bs-danger-border-subtle: #E8C0B8 !important;

    /* ----- ALERTA (Semente Dourada) ----- */
    --bs-warning: #E8A52C !important;
    /* Semente Dourada - Âmbar alerta */
    --bs-warning-rgb: 232, 165, 44 !important;
    --bs-warning-hover: #D49320 !important;
    --bs-warning-bg-subtle: #FDF0D4 !important;
    --bs-warning-border-subtle: #F8E0A8 !important;

    /* ----- INFO (Céu Claro) ----- */
    --bs-info: #3A7B8C !important;
    /* Céu Claro - Azul suave */
    --bs-info-rgb: 58, 123, 140 !important;
    --bs-info-hover: #2E6A7A !important;
    --bs-info-bg-subtle: #D8E8EC !important;
    --bs-info-border-subtle: #B0D0D8 !important;

    /* ----- ESCURO (Céu Noturno) ----- */
    --bs-dark: #1A3B4E !important;
    /* Céu Noturno - Azul profundo */
    --bs-dark-rgb: 26, 59, 78 !important;
    --bs-dark-hover: #122B3A !important;
    --bs-dark-bg-subtle: #D4E0E8 !important;
    --bs-dark-border-subtle: #A8C0D0 !important;

    /* ----- CLARO (Areia) ----- */
    --bs-light: #F5F0E6 !important;
    /* Areia - Fundo acolhedor */
    --bs-light-rgb: 245, 240, 230 !important;
    --bs-light-hover: #E8D9C8 !important;
    --bs-light-bg-subtle: #FDFCF8 !important;
    --bs-light-border-subtle: #F0E8DC !important;

    /* ----- CORES POTIRA ADICIONAIS (Não-Bootstrap) ----- */
    --potira-flower: #F9CFB5 !important;
    /* Flor - Pêssego suave */
    --potira-harvest: #D4AF37 !important;
    /* Colheita - Dourado conquista */
    --potira-soft-black: #2D2D2D !important;
    /* Preto Suave - Textos */
    --bs-secondary-gray: #7F8C8D !important;
    /* Cinza Terra - Textos secundários */
    --potira-light-gray: #E5E0D9 !important;
    /* Cinza Claro - Bordas */
    --potira-white: #FFFFFF !important;
    /* Branco - Cards */
    --potira-harvest-light: rgba(212, 175, 55, 0.1) !important;

  /* Tipografia */
  --bs-body-font-family: 'Inter', -apple-system, sans-serif;
  --bs-heading-font-family: 'Sora', 'Montserrat', sans-serif;
  
  /* Cores do Corpo */
  --bs-body-bg: var(--bs-light);
  --bs-body-color: var(--potira-soft-black);
  --bs-heading-color: var(--bs-secondary);
  
  /* Bordas */
  --bs-border-color: var(--potira-light-gray);
  
  /* Links */
  --bs-link-color: var(--bs-primary);
  --bs-link-hover-color: #1E5F45;
}

/* =============================================
   3. ESTILOS GLOBAIS
============================================= */
body {
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: -0.01em;
  background-color: var(--bs-light);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--bs-heading-font-family);
  font-weight: 700;
  color: var(--bs-secondary);
}

h1 { font-size: 3rem; }      /* 48px */
h2 { font-size: 2.25rem; }    /* 36px */
h3 { font-size: 1.5rem; }     /* 24px */
h4 { font-size: 1.25rem; }    /* 20px */

/* =============================================
   4. COMPONENTES CUSTOMIZADOS
============================================= */

/* Navbar - Fundo Areia com Blur */
.navbar {
  background-color: var(--potira-flower);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--potira-light-gray);
}

.navbar-brand img {
  height: 40px;
}

.navbar-nav .nav-link {
  color: var(--bs-secondary);
  font-weight: 500;
}

.navbar-nav .nav-link:hover {
  color: var(--bs-primary);
}

.navbar-nav .nav-link.active {
  color: var(--bs-primary);
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Cards - Sombra da Terra Fértil */
.card {
  background-color: var(--potira-harvest-light);
  border: 1px solid var(--potira-light-gray);
  box-shadow: 0 4px 12px rgba(93, 58, 26, 0.08);
  border-radius: 16px;
  transition: box-shadow 0.2s ease-in-out;
}

.card:hover {
  box-shadow: 0 12px 24px rgba(93, 58, 26, 0.12);
}

.card-header {
  background-color: transparent;
  border-bottom: 1px solid var(--potira-light-gray);
  font-family: var(--bs-heading-font-family);
  color: var(--bs-secondary);
  font-weight: 600;
}

/* =============================================
   5. BOTÕES (PADRÃO BOOTSTRAP COMPLETO)
   ============================================= */

/* ----- BOTÃO PRIMÁRIO (Broto) ----- */
.btn-primary {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: var(--potira-white) !important;
    transition: all 0.2s ease !important;
}

.btn-primary:hover {
    background-color: var(--bs-primary-hover) !important;
    border-color: var(--bs-primary-hover) !important;
    color: var(--potira-white) !important;
    transform: scale(0.98) !important;
}

.btn-outline-primary {
    background-color: transparent !important;
    border-color: var(--bs-primary) !important;
    color: var(--bs-primary) !important;
    transition: all 0.2s ease !important;
}

.btn-outline-primary:hover {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: var(--potira-white) !important;
    transform: scale(0.98) !important;
}

/* ----- BOTÃO SECUNDÁRIO (Terra Fértil) ----- */
.btn-secondary {
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
    color: var(--potira-white) !important;
    transition: all 0.2s ease !important;
}

.btn-secondary:hover {
    background-color: var(--bs-secondary-hover) !important;
    border-color: var(--bs-secondary-hover) !important;
    color: var(--potira-white) !important;
    transform: scale(0.98) !important;
}

.btn-outline-secondary {
    background-color: transparent !important;
    border-color: var(--bs-secondary) !important;
    color: var(--bs-secondary) !important;
    transition: all 0.2s ease !important;
}

.btn-outline-secondary:hover {
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
    color: var(--potira-white) !important;
    transform: scale(0.98) !important;
}

/* ----- BOTÃO SUCCESS (Folha Madura) ----- */
.btn-success {
    background-color: var(--bs-success) !important;
    border-color: var(--bs-success) !important;
    color: var(--potira-white) !important;
    transition: all 0.2s ease !important;
}

.btn-success:hover {
    background-color: var(--bs-success-hover) !important;
    border-color: var(--bs-success-hover) !important;
    color: var(--potira-white) !important;
    transform: scale(0.98) !important;
}

.btn-outline-success {
    background-color: transparent !important;
    border-color: var(--bs-success) !important;
    color: var(--bs-success) !important;
    transition: all 0.2s ease !important;
}

.btn-outline-success:hover {
    background-color: var(--bs-success) !important;
    border-color: var(--bs-success) !important;
    color: var(--potira-white) !important;
    transform: scale(0.98) !important;
}

/* ----- BOTÃO DANGER (Fruto Vermelho) ----- */
.btn-danger {
    background-color: var(--bs-danger) !important;
    border-color: var(--bs-danger) !important;
    color: var(--potira-white) !important;
    transition: all 0.2s ease !important;
}

.btn-danger:hover {
    background-color: var(--bs-danger-hover) !important;
    border-color: var(--bs-danger-hover) !important;
    color: var(--potira-white) !important;
    transform: scale(0.98) !important;
}

.btn-outline-danger {
    background-color: transparent !important;
    border-color: var(--bs-danger) !important;
    color: var(--bs-danger) !important;
    transition: all 0.2s ease !important;
}

.btn-outline-danger:hover {
    background-color: var(--bs-danger) !important;
    border-color: var(--bs-danger) !important;
    color: var(--potira-white) !important;
    transform: scale(0.98) !important;
}

/* ----- BOTÃO WARNING (Semente Dourada) ----- */
.btn-warning {
    background-color: var(--bs-warning) !important;
    border-color: var(--bs-warning) !important;
    color: var(--potira-soft-black) !important;
    transition: all 0.2s ease !important;
}

.btn-warning:hover {
    background-color: var(--bs-warning-hover) !important;
    border-color: var(--bs-warning-hover) !important;
    color: var(--potira-soft-black) !important;
    transform: scale(0.98) !important;
}

.btn-outline-warning {
    background-color: transparent !important;
    border-color: var(--bs-warning) !important;
    color: var(--bs-warning) !important;
    transition: all 0.2s ease !important;
}

.btn-outline-warning:hover {
    background-color: var(--bs-warning) !important;
    border-color: var(--bs-warning) !important;
    color: var(--potira-soft-black) !important;
    transform: scale(0.98) !important;
}

/* ----- BOTÃO INFO (Céu Claro) ----- */
.btn-info {
    background-color: var(--bs-info) !important;
    border-color: var(--bs-info) !important;
    color: var(--potira-white) !important;
    transition: all 0.2s ease !important;
}

.btn-info:hover {
    background-color: var(--bs-info-hover) !important;
    border-color: var(--bs-info-hover) !important;
    color: var(--potira-white) !important;
    transform: scale(0.98) !important;
}

.btn-outline-info {
    background-color: transparent !important;
    border-color: var(--bs-info) !important;
    color: var(--bs-info) !important;
    transition: all 0.2s ease !important;
}

.btn-outline-info:hover {
    background-color: var(--bs-info) !important;
    border-color: var(--bs-info) !important;
    color: var(--potira-white) !important;
    transform: scale(0.98) !important;
}

/* ----- BOTÃO LIGHT (Areia) ----- */
.btn-light {
    background-color: var(--bs-light) !important;
    border-color: var(--bs-light) !important;
    color: var(--bs-secondary) !important;
    transition: all 0.2s ease !important;
}

.btn-light:hover {
    background-color: var(--bs-light-hover) !important;
    border-color: var(--bs-light-hover) !important;
    color: var(--bs-secondary) !important;
    transform: scale(0.98) !important;
}

.btn-outline-light {
    background-color: transparent !important;
    border-color: var(--bs-light) !important;
    color: var(--bs-light) !important;
    transition: all 0.2s ease !important;
}

.btn-outline-light:hover {
    background-color: var(--bs-light) !important;
    border-color: var(--bs-light) !important;
    color: var(--bs-secondary) !important;
    transform: scale(0.98) !important;
}

/* ----- BOTÃO DARK (Céu Noturno) ----- */
.btn-dark {
    background-color: var(--bs-dark) !important;
    border-color: var(--bs-dark) !important;
    color: var(--potira-white) !important;
    transition: all 0.2s ease !important;
}

.btn-dark:hover {
    background-color: var(--bs-dark-hover) !important;
    border-color: var(--bs-dark-hover) !important;
    color: var(--potira-white) !important;
    transform: scale(0.98) !important;
}

.btn-outline-dark {
    background-color: transparent !important;
    border-color: var(--bs-dark) !important;
    color: var(--bs-dark) !important;
    transition: all 0.2s ease !important;
}

.btn-outline-dark:hover {
    background-color: var(--bs-dark) !important;
    border-color: var(--bs-dark) !important;
    color: var(--potira-white) !important;
    transform: scale(0.98) !important;
}

/* ----- BOTÃO NEUTRO (Personalizado) ----- */
.btn-neutral {
    background-color: var(--potira-light-gray) !important;
    border-color: var(--potira-light-gray) !important;
    color: var(--potira-earth-gray) !important;
    transition: all 0.2s ease !important;
}

.btn-neutral:hover {
    background-color: #D6D0C5 !important;
    border-color: #D6D0C5 !important;
    color: var(--potira-soft-black) !important;
    transform: scale(0.98) !important;
}

/* =============================================
   6. FORMULÁRIOS
============================================= */
.form-control:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.25rem rgba(46, 125, 94, 0.25);
}

.form-label {
  color: var(--bs-secondary);
  font-weight: 500;
}

/* =============================================
   7. ALERTAS (Cores Potira)
============================================= */
.alert-primary {
    background-color: var(--bs-primary-bg-subtle) !important;
    border-color: var(--bs-primary-border-subtle) !important;
    color: var(--bs-primary-hover) !important;
}

.alert-secondary {
    background-color: var(--bs-secondary-bg-subtle) !important;
    border-color: var(--bs-secondary-border-subtle) !important;
    color: var(--bs-secondary-hover) !important;
}

.alert-success {
    background-color: var(--bs-success-bg-subtle) !important;
    border-color: var(--bs-success-border-subtle) !important;
    color: var(--bs-success-hover) !important;
}

.alert-danger {
    background-color: var(--bs-danger-bg-subtle) !important;
    border-color: var(--bs-danger-border-subtle) !important;
    color: var(--bs-danger-hover) !important;
}

.alert-warning {
    background-color: var(--bs-warning-bg-subtle) !important;
    border-color: var(--bs-warning-border-subtle) !important;
    color: #8E6A1A !important;
}

.alert-info {
    background-color: var(--bs-info-bg-subtle) !important;
    border-color: var(--bs-info-border-subtle) !important;
    color: var(--bs-info-hover) !important;
}

/* =============================================
   8. FOOTER (Terra Fértil)
============================================= */
footer {
  background-color: var(--bs-secondary) !important;
  color: var(--bs-light) !important;
  margin-top: 4rem !important;
  padding: 2rem 0 !important;
}

footer .text-muted {
  color: var(--bs-light) !important;
}

footer a {
  color: var(--bs-light) !important;
  opacity: 0.9 !important;
  text-decoration: none !important;
}

footer a:hover {
  color: var(--potira-flower) !important;
  opacity: 1 !important;
}

/* =============================================
   9. INDICADORES FINANCEIROS
============================================= */
.positive-value {
  color: var(--bs-success);
  font-weight: 600 !important;
}

.negative-value {
  color: var(--bs-danger);
  font-weight: 600 !important;
}

.alert-value {
  color: var(--bs-warning);
  font-weight: 600 !important;
}

.goal-achieved {
  color: var(--potira-harvest);
  font-weight: 600 !important;
}

.bg-flower {
  background-color: var(--potira-flower);
}

.bg-harvest-light {
    background-color: rgba(212, 175, 55, 0.1) !important;
}

/* =============================================
   10. ACESSIBILIDADE
============================================= */
*:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(46, 125, 94, 0.5) !important;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}