/* ─── LocaFácil SaaS — Custom Styles ─────────────────────── */

/* Transições suaves */
*, *::before, *::after {
  transition-property: color, background-color, border-color, box-shadow;
  transition-duration: 150ms;
}

/* Sidebar active item */
.menu li > a.active {
  font-weight: 600;
}

/* Cards hover lift */
.card:hover {
  transform: translateY(-1px);
}

/* Tabelas responsivas com hover elegante */
.table tr.hover:hover td {
  background-color: oklch(var(--b2));
}

/* Status badges customizados */
.badge-available { @apply badge-success; }
.badge-rented    { @apply badge-error; }
.badge-reserved  { @apply badge-warning; }
.badge-maintenance { @apply badge-info; }

/* Scrollbar customizada */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: oklch(var(--bc) / 0.2); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: oklch(var(--bc) / 0.35); }

/* Fuel level indicator */
.fuel-bar {
  height: 8px;
  border-radius: 99px;
  background: linear-gradient(to right, #ef4444, #f59e0b 50%, #22c55e);
}

/* Vehicle card photo placeholder */
.vehicle-photo-placeholder {
  background: linear-gradient(135deg, oklch(var(--b2)) 0%, oklch(var(--b3)) 100%);
}

/* Fullcalendar DaisyUI overrides */
.fc .fc-button-primary {
  background-color: oklch(var(--p)) !important;
  border-color: oklch(var(--p)) !important;
}
.fc .fc-button-primary:hover {
  background-color: oklch(var(--pf)) !important;
  border-color: oklch(var(--pf)) !important;
}
.fc-daygrid-event {
  border-radius: 6px !important;
  font-size: 0.72rem !important;
  padding: 1px 4px !important;
}
.fc .fc-toolbar-title { font-size: 1.1rem !important; font-weight: 600 !important; }
.fc-col-header-cell-cushion { font-size: 0.75rem !important; text-transform: uppercase !important; opacity: 0.6; }
.fc th, .fc td { border-color: oklch(var(--b3)) !important; }
.fc .fc-day-today { background: oklch(var(--p) / 0.05) !important; }

/* Dark mode overrides */
[data-theme="dark"] .fc-daygrid-day-number,
[data-theme="dark"] .fc-col-header-cell-cushion {
  color: oklch(var(--bc)) !important;
}

/* Print styles */
@media print {
  .drawer-side, .navbar, .btn, .modal { display: none !important; }
  .drawer-content { padding: 0 !important; }
}

/* Loading skeleton */
.skeleton-line {
  height: 1rem;
  border-radius: 4px;
  background: linear-gradient(90deg, oklch(var(--b2)) 25%, oklch(var(--b3)) 50%, oklch(var(--b2)) 75%);
  background-size: 200% 100%;
  animation: skeleton-shimmer 1.5s infinite;
}

@keyframes skeleton-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Animate KPI numbers on load */
.kpi-animate {
  animation: kpi-pop 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) both;
}
@keyframes kpi-pop {
  from { opacity: 0; transform: scale(0.8); }
  to   { opacity: 1; transform: scale(1); }
}

/* Toast notification */
.toast-container {
  position: fixed;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
  pointer-events: none;
}
