body { font-family: 'Inter', sans-serif; background-color: #f8fafc; color: #1f2937; }
        .main-bg { background-color: #f9fafb; }
        .btn-primary { background-color: #4f46e5; color: white; transition: background-color 0.3s; }
        .btn-primary:hover { background-color: #4338ca; }
        .btn-primary:disabled { background-color: #a5b4fc; cursor: not-allowed; }
        .calendar-day:hover { background-color: #eef2ff; cursor: pointer; }
        .selected-day { background-color: #c7d2fe !important; border: 2px solid #4f46e5; }
        .modal-backdrop { background-color: rgba(0, 0, 0, 0.5); }
        .view { display: none; }
        .view.active { display: block; }
        .appointment-canceled { text-decoration: line-through; opacity: 0.6; }
        .appointment-canceled .price-info { color: #ef4444; font-weight: bold; }
        .recurring-appointment { border: 2px dashed #a78bfa; }
        .permuta-appointment { border: 2px dotted #22c55e; }
        .view-switcher-btn.active {
            background-color: #4f46e5;
            color: white;
            box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
        }
        .day-view-appointment { transition: all 0.2s ease-in-out; }
        .day-view-appointment:hover { opacity: 0.8; transform: scale(1.02); cursor: pointer; }
        
        /* Controle de Acesso UI */
        body:not(.is-admin) .admin-only { display: none !important; }

        /* Estilos do Verificador */
        .btn-copy { background-color: #1d4ed8; color: white; }
        .btn-copy:hover { background-color: #1e40af; }
        .btn-copied { background-color: #6b7280; }
        .btn-whatsapp { background-color: #22c55e; color: white; }
        .btn-whatsapp:hover { background-color: #16a34a; }
        #message-list li { background-color: #eef2ff; border-left: 5px solid #4f46e5; }

        /* Estilos Dark Mode */
        html.dark body { background-color: #111827; color: #d1d5db; }
        html.dark .main-bg { background-color: #1f2937; border-right: 1px solid #374151; }
        html.dark .bg-white { background-color: #1f2937; }
        html.dark .shadow { box-shadow: 0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1), 0 0 0 1px rgba(255,255,255,0.05); }
        html.dark .text-gray-800 { color: #d1d5db; }
        html.dark .text-gray-600 { color: #9ca3af; }
        html.dark .text-gray-500 { color: #a1a1aa; }
        html.dark .text-green-600 { color: #34d399; }
        html.dark .text-indigo-600 { color: #818cf8; }
        html.dark .border, html.dark input, html.dark select, html.dark textarea { border-color: #4b5563; }
        html.dark .hover\:bg-gray-200:hover { background-color: #374151; }
        html.dark .hover\:bg-indigo-100:hover { background-color: #3730a3; }
        html.dark .calendar-day:hover { background-color: #374151; }
        html.dark .selected-day { background-color: #3730a3 !important; border-color: #6366f1; }
        html.dark .bg-gray-50 { background-color: #374151; }
        html.dark .bg-gray-100 { background-color: #374151; }
        html.dark svg { stroke: #e5e7eb; }
        html.dark .appointment-canceled .price-info { color: #f87171; }
        html.dark .recurring-appointment { border-color: #c4b5fd; }
        html.dark .permuta-appointment { border-color: #4ade80; }
        html.dark .view-switcher-btn.active { background-color: #6366f1; }
        html.dark #message-list li { background-color: #3730a3; border-left-color: #818cf8; }

        /* Estilos para o menu lateral recolhível */
        #app-view.sidebar-collapsed #sidebar { width: 5rem; }
        #app-view.sidebar-collapsed .nav-text,
        #app-view.sidebar-collapsed #sidebar-title { display: none; }
        #app-view.sidebar-collapsed #sidebar-icon { display: inline; }
        #app-view.sidebar-collapsed .nav-btn, #app-view.sidebar-collapsed #logout-btn { justify-content: center; }
        #app-view.sidebar-collapsed #sidebar-toggle svg { transform: rotate(180deg); }

        @media (max-width: 1024px) {
            #sidebar { width: 100% !important; margin-bottom: 2rem; border-right: none !important; border-bottom: 1px solid #e5e7eb; }
            .nav-text, #sidebar-title { display: block !important; }
            #sidebar-icon { display: none !important; }
            .nav-btn, #logout-btn { justify-content: flex-start !important; }
            
            .calendar-day { height: 5rem; padding: 0.25rem; }
            #app-view { flex-direction: column !important; }
        }