/* css/style.css */

body { font-family: 'Inter', sans-serif; }
.card { 
    background-color: white; 
    border-radius: 0.75rem; 
    padding: 1.5rem; 
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}
.loader { border: 4px solid #f3f3f3; border-radius: 50%; border-top: 4px solid #3498db; width: 40px; height: 40px; animation: spin 2s linear infinite; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0,0,0,0.5); display: flex; justify-content: center; align-items: center; z-index: 1000; }
.modal-content { background-color: white; padding: 2rem; border-radius: 0.5rem; max-width: 500px; width: 90%; }
.modal-content-lg { max-width: 640px; }
#toast-notification { transition: opacity 0.5s, transform 0.5s; }

/* Estilos para os botões de filtro */
.filter-btn, .chart-type-btn, .period-filter-btn {
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, border-color 0.2s ease-in-out;
    border: 1px solid #e5e7eb; /* gray-200 */
    background-color: white;
    color: #374151; /* gray-700 */
}
.filter-btn:hover:not(.filter-btn-active), .chart-type-btn:hover:not(.chart-type-btn-active), .period-filter-btn:hover:not(.filter-btn-active) {
    background-color: #eef2ff;
    color: #3b82f6;
}
.filter-btn-active, .chart-type-btn-active {
    background-color: #3b82f6 !important;
    color: white !important;
    border-color: #3b82f6 !important;
}

/* Estilos para o modo escuro */
.dark .dark\:bg-gray-900 { background-color: #111827; }
.dark .dark\:bg-gray-800 { background-color: #1f2937; }
.dark .dark\:text-gray-200 { color: #e5e7eb; }
.dark .dark\:text-gray-400 { color: #9ca3af; }
.dark .dark\:border-gray-700 { border-color: #374151; }

/* Ajustes para botões de filtro no modo escuro */
.dark .filter-btn, .dark .chart-type-btn, .dark .period-filter-btn {
    background-color: #374151; /* gray-700 */
    border-color: #4b5563; /* gray-600 */
    color: #d1d5db; /* gray-300 */
}
.dark .filter-btn:hover:not(.filter-btn-active), .dark .chart-type-btn:hover:not(.chart-type-btn-active), .dark .period-filter-btn:hover:not(.filter-btn-active) {
    background-color: #4b5563; /* gray-600 */
}

/* Estilos GridStack */
.grid-stack-item-content {
    background-color: #fff;
    border-radius: 0.75rem;
    overflow: hidden !important; /* <-- ALTERAÇÃO AQUI */
}
.dark .grid-stack-item-content {
    background-color: #1f2937;
}

/* Estilo para a transição suave da dashboard */
#dashboard-content-grid {
    transition: opacity 0.2s ease-in-out;
}

/* Estilos de Impressão */
@media print {
    body * { visibility: hidden; }
    #printable-area, #printable-area * { visibility: visible; }
    #printable-area { position: absolute; left: 0; top: 0; width: 100%; }
    .no-print { display: none !important; }
    .card { box-shadow: none; border: 1px solid #ddd; }
    .dark .dark\:bg-gray-900, .dark .dark\:bg-gray-800 { background-color: white !important; }
    .dark .dark\:text-gray-200, .dark .dark\:text-gray-400 { color: black !important; }
}
.drag-handle, .parameter-handle {
    cursor: grab;
}
.sortable-ghost {
    opacity: 0.4;
    background: #c8ebfb;
}
/* ESTILOS PARA GRUPOS RECOLHÍVEIS */
.group-header {
    cursor: pointer;
}
.toggle-icon {
    transition: transform 0.2s ease-in-out;
}
.fa-chevron-down {
    transform: rotate(90deg);
}
