diff --git a/frontend/src/components/ui/appointments/AppointmentScheduleGrid.tsx b/frontend/src/components/ui/appointments/AppointmentScheduleGrid.tsx
index 426517e..fd0a98f 100644
--- a/frontend/src/components/ui/appointments/AppointmentScheduleGrid.tsx
+++ b/frontend/src/components/ui/appointments/AppointmentScheduleGrid.tsx
@@ -133,7 +133,7 @@ export function AppointmentScheduleGrid({
{canDelete && onDeleteAppointment && (
)}
diff --git a/frontend/src/components/ui/appointments/appointmentPurposeStyles.ts b/frontend/src/components/ui/appointments/appointmentPurposeStyles.ts
index ac4bd28..6b1e5e5 100644
--- a/frontend/src/components/ui/appointments/appointmentPurposeStyles.ts
+++ b/frontend/src/components/ui/appointments/appointmentPurposeStyles.ts
@@ -22,17 +22,17 @@ export function purposeStyle(purpose: string): string {
return APPOINTMENT_PURPOSE_STYLES[p] ?? 'bg-surface-elevated border-border text-text-secondary';
}
-/** Trash icon only — same hues as legend swatches (icon stroke via currentColor). */
+/** Trash icon — legend hues; `!` overrides global `.lucide { color: var(--color-icon) }`. */
export function purposeDeleteIconClass(purpose: string): string {
const p = purpose as AppointmentPurpose;
const map: Record = {
- consultation: 'text-violet-400 hover:text-violet-300',
- filling: 'text-orange-400 hover:text-orange-300',
- endo: 'text-red-400 hover:text-red-300',
- visit: 'text-sky-400 hover:text-sky-300',
- hygiene: 'text-lime-700 hover:text-lime-600',
+ consultation: '!text-violet-400 group-hover:!text-violet-300',
+ filling: '!text-orange-400 group-hover:!text-orange-300',
+ endo: '!text-red-400 group-hover:!text-red-300',
+ visit: '!text-sky-400 group-hover:!text-sky-300',
+ hygiene: '!text-lime-600 group-hover:!text-lime-500',
};
- return map[p] ?? 'text-text-muted hover:text-text-secondary';
+ return map[p] ?? '!text-text-muted group-hover:!text-text-secondary';
}
/** Small swatch for legend (background + border only). */