/* css/styles.css */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root {
    /* Valores Padrão (Dark/Yellow) */
    --bg-body: #0f1115;
    --bg-surface: #181b20;
    --border-color: #2a2e37;
    --text-main: #e5e7eb;
    --text-muted: #9ca3af;
    --primary: #f1dc00;
    --primary-text: #000000; /* Cor do texto dentro de botões primários */
}

/* Classes que usam as variáveis para permitir troca de tema */
body { 
    background-color: var(--bg-body);
    color: var(--text-main);
    font-family: 'Inter', sans-serif; 
}

.bg-dark-bg { background-color: var(--bg-body) !important; }
.bg-dark-surface { background-color: var(--bg-surface) !important; }
.border-dark-border { border-color: var(--border-color) !important; }
.text-white { color: var(--text-main) !important; }
.text-gray-400, .text-gray-500 { color: var(--text-muted) !important; }

/* Botões Primários Dinâmicos */
.bg-primary { background-color: var(--primary) !important; color: var(--primary-text) !important; }
.text-primary { color: var(--primary) !important; }
.border-primary { border-color: var(--primary) !important; }
.focus\:border-primary:focus { border-color: var(--primary) !important; }

/* Custom Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #374151; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #4b5563; }

/* Toast Notifications */
#toast-container { position: fixed; top: 1.5rem; right: 1.5rem; z-index: 110; display: flex; flex-direction: column; gap: 0.75rem; pointer-events: none; }
.toast {
    pointer-events: auto; display: flex; align-items: center; padding: 1rem 1.25rem; border-radius: 0.75rem;
    background: var(--bg-surface); color: var(--text-main); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5);
    border: 1px solid var(--border-color); border-left-width: 4px; min-width: 320px;
    animation: slideIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.toast.success { border-left-color: #10b981; }
.toast.error { border-left-color: #ef4444; }
.toast.warning { border-left-color: #f59e0b; }
.toast.info { border-left-color: #3b82f6; }

@keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@keyframes slideOut { to { transform: translateX(100%); opacity: 0; } }

/* Animações Gerais */
.fade-in { animation: fadeIn 0.4s ease-out forwards; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* Loader */
.loader {
    width: 48px; height: 48px; border: 4px solid var(--border-color); border-bottom-color: var(--primary);
    border-radius: 50%; display: inline-block; box-sizing: border-box; animation: rotation 1s linear infinite;
}
@keyframes rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* Sidebar Transition */
.sidebar-closed { transform: translateX(-100%); }
.sidebar-open { transform: translateX(0); }

/* Destaque para Rondas Travadas */
.patrol-stuck {
    border: 1px solid #ef4444 !important;
    background: rgba(239, 68, 68, 0.05) !important;
    box-shadow: 0 0 15px rgba(239, 68, 68, 0.1);
}