:root {
    /* Padrão Inicial (Verde NIES) - Para quem nunca mudou */
    --primary-color: #004d40; 
    --secondary-color: #00796b;
    --light-color: #e0f2f1;
    --text-contrast: #ffffff;
    
    --text-dark: #2c3e50;
    --text-muted: #6c757d;
    --shadow-sm: 0 2px 4px rgba(0,0,0,0.05);
    --shadow-md: 0 4px 10px rgba(0,0,0,0.1);
    --radius: 10px;

    /* CORES FIXAS (Origem) */
    --color-solar: #ffc107;   /* Amarelo */
    --color-scpj: #20c997;    /* Verde Água */
    --color-wpp: #25d366;     /* Verde WhatsApp */
    --color-visitante: #6c757d; /* Cinza */
}

/* --- Restante do CSS igual ao anterior (que estava perfeito) --- */
body {
    background-color: #f8f9fa;
    font-family: 'Segoe UI', 'Roboto', 'Helvetica Neue', sans-serif;
    color: var(--text-dark);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-image: radial-gradient(var(--secondary-color) 0.5px, transparent 0.5px), radial-gradient(var(--secondary-color) 0.5px, #f8f9fa 0.5px);
    background-size: 20px 20px;
    background-position: 0 0, 10px 10px;
    background-attachment: fixed;
    scrollbar-width: thin;
    scrollbar-color: var(--secondary-color) #e9ecef;
}

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #e9ecef; }
::-webkit-scrollbar-thumb { background-color: var(--secondary-color); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background-color: var(--primary-color); }

.navbar-custom {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)) !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    padding: 0.8rem 1rem;
}

/* --- Botões e Textos Dinâmicos --- */
.text-primary { color: var(--primary-color) !important; }
.text-success { color: var(--secondary-color) !important; }
.text-warning { color: var(--primary-color) !important; filter: brightness(1.2); } 
.text-danger { color: #dc3545 !important; } 

.bg-primary { background-color: var(--primary-color) !important; color: var(--text-contrast) !important; }
.bg-success { background-color: var(--secondary-color) !important; color: var(--text-contrast) !important; }
.bg-secondary { background-color: var(--light-color) !important; color: var(--primary-color) !important; font-weight: bold; }
.bg-warning { background-color: var(--primary-color) !important; opacity: 0.8; color: var(--text-contrast) !important; }

/* Botões */
.btn-primary { 
    background-color: var(--primary-color); border-color: var(--primary-color); color: var(--text-contrast) !important;
}
.btn-primary:hover, .btn-primary:active, .btn-primary:focus { 
    background-color: var(--secondary-color) !important; border-color: var(--secondary-color) !important; color: var(--text-contrast) !important;
}

.btn-success { 
    background-color: var(--secondary-color); border-color: var(--secondary-color); color: var(--text-contrast) !important;
}
.btn-success:hover { filter: brightness(0.9); color: var(--text-contrast) !important; }

.btn-outline-primary { color: var(--primary-color); border-color: var(--primary-color); }
.btn-outline-primary:hover { background-color: var(--primary-color); color: var(--text-contrast) !important; }

.btn-outline-secondary { color: var(--text-muted); border-color: #dee2e6; }
.btn-outline-secondary:hover { background-color: #e9ecef; color: var(--text-dark); }

/* Atalhos e Ícones */
.btn-atalho i.text-danger { color: var(--primary-color) !important; } 
.btn-atalho i.text-warning { color: var(--secondary-color) !important; } 
.btn-atalho i.text-success { color: var(--secondary-color) !important; } 
.btn-atalho i.text-primary { color: var(--primary-color) !important; } 

/* Badges e Tags */
.badge { font-weight: 600; letter-spacing: 0.3px; }
.badge.bg-light.text-dark.border { 
    border-color: var(--secondary-color) !important; 
    color: var(--primary-color) !important;
    background-color: #fff !important;
}

/* Links e Ícones Específicos */
a.text-warning i { color: var(--secondary-color) !important; } 
.bi-person-fill, .bi-chat-left-text { color: var(--secondary-color) !important; }

/* --- Cards e Labels --- */
main { flex: 1; }
.card {
    border: none; border-radius: var(--radius); box-shadow: var(--shadow-sm);
    transition: transform 0.2s, box-shadow 0.2s; 
    background: rgba(255, 255, 255, 0.98); 
    border-top: 4px solid transparent;
}
.card-hover:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--secondary-color); }

/* Títulos dos Campos */
.small.fw-bold { color: var(--primary-color) !important; } 

/* Link Solar */
.border-warning { border-color: var(--primary-color) !important; }
.text-warning { color: var(--primary-color) !important; }

/* --- REGRAS ESPECÍFICAS PARA ORIGEM (FIXAS) --- */
.border-solar { border-left: 5px solid var(--color-solar) !important; }
.border-scpj { border-left: 5px solid var(--color-scpj) !important; }
.border-whatsapp { border-left: 5px solid var(--color-wpp) !important; }
.border-visitante { border-left: 5px solid var(--color-visitante) !important; }
.border-secondary { border-color: var(--color-visitante) !important; } /* Fallback */

/* Textos de Origem Específicos (Sobrescrevem o tema) */
.text-warning { color: #d39e00 !important; } /* Amarelo escuro para texto Solar */
.bg-warning { background-color: var(--color-solar) !important; color: #212529 !important; } /* Badge Solar */

/* Card Processo Mini (Fallback se não tiver classe de origem) */
.card-processo-mini { border-left: 4px solid var(--secondary-color); } 
.card-processo-mini:hover { background-color: var(--light-color) !important; }

/* Card Chamada (Recepção) */
.card-chamada {
    background: linear-gradient(to right, var(--light-color), #fff);
    border-left: 5px solid var(--primary-color) !important;
}
.card-chamada i { color: var(--primary-color) !important; }

/* --- Elementos de Formulário --- */
.form-control:focus, .form-select:focus {
    border-color: var(--secondary-color);
    box-shadow: 0 0 0 0.25rem rgba(0, 0, 0, 0.1); 
}
.form-label.fw-bold { color: var(--primary-color); } 

/* --- Modais --- */
.modal-header { background-color: var(--primary-color) !important; color: var(--text-contrast) !important; }
.modal-header .btn-close { filter: invert(1) grayscale(100%) brightness(200%); } 
.modal-title, .modal-title i { color: var(--text-contrast) !important; }

/* --- Checklists e Listas --- */
.checklist-item { border: 1px solid #dee2e6; transition: all 0.2s; }
.checklist-item:hover { border-color: var(--secondary-color); background-color: var(--light-color); }
.checklist-item input:checked + span { color: var(--primary-color); font-weight: bold; }

/* --- FullCalendar (Agenda) --- */
.fc-button-primary { 
    background-color: var(--primary-color) !important; 
    border-color: var(--primary-color) !important; 
    color: var(--text-contrast) !important;
}
.fc-button-primary:hover { background-color: var(--secondary-color) !important; }
.fc-day-today { background-color: var(--light-color) !important; }

/* Eventos da Agenda */
.fc-event { 
    background-color: var(--secondary-color) !important; 
    border: none !important; 
    color: var(--text-contrast) !important; 
}
.fc-event-title { color: var(--text-contrast) !important; font-weight: 500; }

/* Título do Calendário */
.fc-toolbar-title { color: var(--primary-color) !important; }

/* --- Setas e Paginação --- */
.bi-chevron-left, .bi-chevron-right, .bi-arrow-left, .bi-arrow-right { color: var(--primary-color); }

/* --- Mosaico de Mensagens --- */
.btn-msg { border-color: #dee2e6; color: var(--text-dark); }
.btn-msg:hover { border-color: var(--primary-color); color: var(--primary-color); background-color: var(--light-color); }
.btn-msg i { color: var(--secondary-color); font-size: 2rem; }

[v-cloak] { display: none; }