:root {
    --bs-font-sans-serif: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;
    --bs-body-font-family: var(--bs-font-sans-serif);
}

html,
body {
    font-family: var(--bs-font-sans-serif);
}

.daterangepicker,
.flatpickr-calendar,
.fc,
.swal2-container,
.swal2-popup,
.ql-container,
.ql-editor,
.ql-toolbar.ql-snow,
.leaflet-container,
.jvm-tooltip,
.toast,
.popover,
.tooltip,
.dropdown-menu,
.modal,
.offcanvas {
    font-family: var(--bs-font-sans-serif) !important;
}

/* Warna fallback avatar konsisten berdasarkan identitas user. */
.avatar-fallback {
    background-color: var(--avatar-fallback-bg) !important;
    color: var(--avatar-fallback-color) !important;
}

.avatar-fallback .avatar-initials {
    color: inherit !important;
}

.avatar-fallback--blue {
    --avatar-fallback-bg: #e8f1ff;
    --avatar-fallback-color: #2f6ad9;
}

.avatar-fallback--teal {
    --avatar-fallback-bg: #dff8f3;
    --avatar-fallback-color: #07856e;
}

.avatar-fallback--purple {
    --avatar-fallback-bg: #eee8ff;
    --avatar-fallback-color: #6540b5;
}

.avatar-fallback--orange {
    --avatar-fallback-bg: #fff0df;
    --avatar-fallback-color: #b86613;
}

.avatar-fallback--pink {
    --avatar-fallback-bg: #ffe6ef;
    --avatar-fallback-color: #c43d6d;
}

.avatar-fallback--cyan {
    --avatar-fallback-bg: #e2f7fa;
    --avatar-fallback-color: #087f91;
}

.avatar-fallback--indigo {
    --avatar-fallback-bg: #e9ebff;
    --avatar-fallback-color: #4d55b8;
}

.avatar-fallback--olive {
    --avatar-fallback-bg: #eef5dc;
    --avatar-fallback-color: #677c20;
}
