body { font-family: 'Inter', sans-serif; }

/* Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
.dark ::-webkit-scrollbar-track { background: #1e293b; }
.dark ::-webkit-scrollbar-thumb { background: #475569; }
.dark ::-webkit-scrollbar-thumb:hover { background: #64748b; }

/* Flatpickr */
.flatpickr-calendar {
  box-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);
  border-radius: .5rem; border: 1px solid #e2e8f0;
}
.dark .flatpickr-calendar { background: #1e293b; border-color: #334155; color: #cbd5e1; }
.dark .flatpickr-months .flatpickr-month { color: #f1f5f9; }
.dark .flatpickr-weekdays { background: #334155; }
.dark span.flatpickr-weekday { color: #cbd5e1; }
.dark .flatpickr-day { color: #cbd5e1; }
.dark .flatpickr-day:hover, .dark .flatpickr-day:focus { background: #334155; border-color: #334155; }
.dark .flatpickr-day.today { border-color: #16a34a; }
.dark .flatpickr-day.selected, .dark .flatpickr-day.startRange, .dark .flatpickr-day.endRange { background: #16a34a; border-color: #16a34a; color: #fff; }
.dark .flatpickr-day.disabled, .dark .flatpickr-day.disabled:hover { color: #475569; background: transparent; }
.dark .flatpickr-time input { color: #f1f5f9; }
.dark .flatpickr-time .numInputWrapper span:hover { background: #334155; }
.dark .flatpickr-months .flatpickr-prev-month:hover svg, .dark .flatpickr-months .flatpickr-next-month:hover svg { fill: #16a34a; }

/* Loader */
@keyframes spin { to { transform: rotate(360deg); } }
.loader { border: 4px solid rgba(0,0,0,.1); border-left-color: #16a34a; border-radius: 50%;
  width: 40px; height: 40px; animation: spin 1s linear infinite; }
.dark .loader { border-left-color: #22c55e; }

/* Toggle */
.toggle-checkbox:checked { right: 0; border-color: #16a34a; }
.toggle-checkbox:checked + .toggle-label { background-color: #16a34a; }
.dark .toggle-label { background-color: #475569; }

/* Modal */
#event-modal { transition: opacity .3s ease; }
#modal-content { transition: transform .3s ease; }

/* Banner de instalação (Android/Chrome) */
#pwa-install-banner { transition: transform .3s ease-in-out; }

/* Coachmark iOS */
#ios-a2hs-hint a { text-decoration: underline; }
