/* Shared Farmasi primary palette. Load after Bootstrap, Velzon and page styles.
 * Velzon 1.3 / Bootstrap 5.1 bake primary colors into component declarations;
 * the overrides below change colors only, preserving component behavior/layout.
 * Status palettes (success, danger, warning, info, secondary) remain independent.
 */
:root {
    --farmasi-primary: #17675b;
    --farmasi-primary-hover: #12574d;
    --farmasi-primary-active: #0e493f;
    --farmasi-primary-deep: #0d3734;
    --farmasi-primary-text: #17675b;
    --farmasi-primary-text-hover: #0e493f;
    --farmasi-primary-text-rgb: 23, 103, 91;
    --farmasi-primary-soft-rgb: 23, 103, 91;
    --farmasi-primary-focus: #73b5a9;
    --farmasi-primary-subtle: #e7f3ef;
    --farmasi-primary-striped: #dcece6;
    --farmasi-primary-subtle-border: #bddbd3;
}
[data-layout-mode=dark] {
    --farmasi-primary-text: #73c8b9;
    --farmasi-primary-text-hover: #a3e0d4;
    --farmasi-primary-text-rgb: 115, 200, 185;
    --farmasi-primary-soft-rgb: 115, 200, 185;
    --farmasi-primary-subtle: #203d38;
    --farmasi-primary-striped: #27463e;
    --farmasi-primary-subtle-border: #34594e;
}

/* Primary color declarations from Velzon bootstrap.min.css; keep selectors and states aligned with the vendor. */
:root { --vz-indigo: var(--farmasi-primary); --vz-purple: var(--farmasi-primary); --vz-primary: var(--farmasi-primary); --vz-primary-rgb: 23, 103, 91; }
.table-primary { --vz-table-bg: var(--farmasi-primary-subtle); --vz-table-striped-bg: var(--farmasi-primary-striped); border-color: var(--farmasi-primary-subtle-border); }
.form-control:focus { box-shadow: rgba(var(--farmasi-primary-soft-rgb), 0.25) 0px 0px 0px 0px; }
.form-select:focus { box-shadow: rgba(var(--farmasi-primary-soft-rgb), 0.25) 0px 0px 0px 0px; }
.form-check-input:focus { box-shadow: rgba(var(--farmasi-primary-soft-rgb), 0.25) 0px 0px 0px 0px; }
.form-check-input:checked { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.form-check-input[type="checkbox"]:indeterminate { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.form-range:focus::-webkit-slider-thumb { box-shadow: rgb(242, 242, 247) 0px 0px 0px 1px, rgba(var(--farmasi-primary-soft-rgb), 0.25) 0px 0px 0px 0px; }
.form-range::-webkit-slider-thumb { background-color: var(--farmasi-primary); }
.form-range::-webkit-slider-thumb:active { background-color: var(--farmasi-primary-subtle-border); }
.btn-check:focus + .btn, .btn:focus { box-shadow: rgba(var(--farmasi-primary-soft-rgb), 0.25) 0px 0px 0px 0px; }
.btn-primary { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.btn-primary:hover { background-color: var(--farmasi-primary-hover); border-color: var(--farmasi-primary-hover); }
.btn-check:focus + .btn-primary, .btn-primary:focus { background-color: var(--farmasi-primary-hover); border-color: var(--farmasi-primary-hover); box-shadow: rgba(var(--farmasi-primary-soft-rgb), 0.5) 0px 0px 0px 0px; }
.btn-check:active + .btn-primary, .btn-check:checked + .btn-primary, .btn-primary.active, .btn-primary:active, .show > .btn-primary.dropdown-toggle { background-color: var(--farmasi-primary-hover); border-color: var(--farmasi-primary-active); }
.btn-check:active + .btn-primary:focus, .btn-check:checked + .btn-primary:focus, .btn-primary.active:focus, .btn-primary:active:focus, .show > .btn-primary.dropdown-toggle:focus { box-shadow: rgba(var(--farmasi-primary-soft-rgb), 0.5) 0px 0px 0px 0px; }
.btn-primary.disabled, .btn-primary:disabled { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.btn-outline-primary { color: var(--farmasi-primary-text); border-color: var(--farmasi-primary); }
.btn-outline-primary:hover { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus { box-shadow: rgba(var(--farmasi-primary-soft-rgb), 0.5) 0px 0px 0px 0px; }
.btn-check:active + .btn-outline-primary, .btn-check:checked + .btn-outline-primary, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show, .btn-outline-primary:active { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.btn-check:active + .btn-outline-primary:focus, .btn-check:checked + .btn-outline-primary:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus, .btn-outline-primary:active:focus { box-shadow: rgba(var(--farmasi-primary-soft-rgb), 0.5) 0px 0px 0px 0px; }
.btn-outline-primary.disabled, .btn-outline-primary:disabled { color: var(--farmasi-primary-text); }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link { background-color: var(--farmasi-primary); }
.accordion-button:not(.collapsed) { color: var(--farmasi-primary-text); background-color: rgba(var(--farmasi-primary-soft-rgb), 0.05); }
.accordion-button:not(.collapsed)::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2317675b'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); }
.page-link:focus { box-shadow: rgba(var(--farmasi-primary-soft-rgb), 0.25) 0px 0px 0px 0px; }
.page-item.active .page-link { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.alert-primary { color: var(--farmasi-primary-text); background-color: var(--farmasi-primary-subtle); border-color: var(--farmasi-primary-subtle-border); }
.alert-primary .alert-link { color: var(--farmasi-primary-text); }
.progress-bar { background-color: var(--farmasi-primary); }
.list-group-item.active { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.list-group-item-primary { color: var(--farmasi-primary-text); background-color: var(--farmasi-primary-subtle); }
.list-group-item-primary.list-group-item-action:focus, .list-group-item-primary.list-group-item-action:hover { color: var(--farmasi-primary-text); background-color: var(--farmasi-primary-subtle-border); }
.list-group-item-primary.list-group-item-action.active { background-color: var(--farmasi-primary-deep); border-color: var(--farmasi-primary-deep); }
.btn-close:focus { box-shadow: rgba(var(--farmasi-primary-soft-rgb), 0.25) 0px 0px 0px 0px; }
.link-primary { color: var(--farmasi-primary-text); }
.link-primary:focus, .link-primary:hover { color: var(--farmasi-primary-text-hover); }
.border-primary { border-color: var(--farmasi-primary) !important; }

/* Primary color declarations from Velzon app.min.css; keep selectors and states aligned with the vendor. */
:root { --vz-vertical-menu-item-hover-color: var(--farmasi-primary); --vz-vertical-menu-item-active-color: var(--farmasi-primary); --vz-vertical-menu-sub-item-hover-color: var(--farmasi-primary); --vz-vertical-menu-sub-item-active-color: var(--farmasi-primary); --vz-topnav-item-color-active: var(--farmasi-primary); --vz-link-color: var(--farmasi-primary); --vz-link-hover-color: var(--farmasi-primary); --vz-accordion-button-active-color: var(--farmasi-primary); --vz-input-focus-border: var(--farmasi-primary-focus); }
[data-layout-mode="dark"] { --vz-vertical-menu-item-hover-color: var(--farmasi-primary); --vz-vertical-menu-item-active-color: var(--farmasi-primary); --vz-vertical-menu-sub-item-hover-color: var(--farmasi-primary); --vz-vertical-menu-sub-item-active-color: var(--farmasi-primary); }
.navbar-menu .navbar-nav .nav-link:hover .icon-dual { fill: rgba(var(--farmasi-primary-soft-rgb), 0.16); }
.navbar-menu .navbar-nav .nav-link[data-bs-toggle="collapse"][aria-expanded="true"] .icon-dual { fill: rgba(var(--farmasi-primary-soft-rgb), 0.16); }
[data-layout="horizontal"] .navbar-menu .navbar-nav .nav-link.active .icon-dual { fill: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
[data-layout="horizontal"] .navbar-menu .navbar-nav .nav-link[data-bs-toggle="collapse"][aria-expanded="true"] .icon-dual { fill: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
[data-layout="horizontal"] .navbar-menu .navbar-nav .nav-link:hover .icon-dual { fill: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
[data-layout="horizontal"] .navbar-nav .nav-item:hover > .nav-link .icon-dual { fill: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
[data-layout="twocolumn"] .twocolumn-iconview .nav-icon.active { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.15); color: var(--farmasi-primary-text); }
[data-layout="twocolumn"] .twocolumn-iconview .nav-icon.active .icon-dual { color: var(--farmasi-primary-text); fill: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
.waves-effect.waves-primary .waves-ripple { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.4); }
.avatar-title { background-color: var(--farmasi-primary); }
.accordion-primary .accordion-item { border-color: rgba(var(--farmasi-primary-soft-rgb), 0.6); }
.accordion-primary .accordion-item .accordion-button:not(.collapsed) { color: var(--farmasi-primary-text); background-color: rgba(var(--farmasi-primary-soft-rgb), 0.1) !important; }
.accordion-primary .accordion-item .accordion-button::after { color: var(--farmasi-primary-text); }
.accordion-fill-primary .accordion-item .accordion-button:not(.collapsed) { background-color: var(--farmasi-primary) !important; }
.icon-dual-primary { color: var(--farmasi-primary-text); fill: rgba(var(--farmasi-primary-soft-rgb), 0.16); }
.chase-dot::before { background-color: var(--farmasi-primary); }
.activity-feed .feed-item::after { border-color: var(--farmasi-primary); }
.icon-demo-content .col-lg-4:hover i, .icon-demo-content .col-lg-4:hover svg { color: var(--farmasi-primary-text); }
.ribbon-box .ribbon-primary { background-color: var(--farmasi-primary); }
.ribbon-box .ribbon-primary::before { border-top-color: var(--farmasi-primary-active); }
.ribbon-box .ribbon-primary.ribbon-shape::before { border-left-color: var(--farmasi-primary); border-top-color: var(--farmasi-primary); }
.ribbon-box .ribbon-primary.ribbon-shape::after { border-left-color: var(--farmasi-primary); border-bottom-color: var(--farmasi-primary); }
.ribbon-box.right .ribbon-primary { background-color: var(--farmasi-primary); }
.ribbon-box.right .ribbon-primary.ribbon-shape::before { border-right-color: var(--farmasi-primary); border-top-color: var(--farmasi-primary); }
.ribbon-box.right .ribbon-primary.ribbon-shape::after { border-right-color: var(--farmasi-primary); border-bottom-color: var(--farmasi-primary); }
.ribbon-box .ribbon-two-primary span { background-color: var(--farmasi-primary); }
.ribbon-box .ribbon-two-primary span::before { border-left-color: var(--farmasi-primary-deep); border-top-color: var(--farmasi-primary-deep); }
.ribbon-box .ribbon-two-primary span::after { border-right-color: var(--farmasi-primary-deep); border-top-color: var(--farmasi-primary-deep); }
.ribbon-three-primary span { background-color: var(--farmasi-primary); }
.ribbon-three-primary span::before { background-color: var(--farmasi-primary); }
.ribbon-three-primary span::after { background-color: var(--farmasi-primary-active); }
.ribbon-three-primary::after { border-top-color: var(--farmasi-primary); }
.toast-border-primary .toast-body { color: var(--farmasi-primary-text); border-bottom-color: var(--farmasi-primary); }
.alert-label-icon.label-arrow .label-icon::after { border-left-color: var(--farmasi-primary); }
.alert-solid.alert-primary { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.alert-outline.alert-primary { color: var(--farmasi-primary-text); }
.alert-border-left.alert-primary { border-left-color: var(--farmasi-primary); }
.alert-top-border.alert-primary { border-top-color: var(--farmasi-primary); }
.rounded-label.alert-primary .label-icon { background-color: var(--farmasi-primary); }
.label-arrow.alert-primary .label-icon { background-color: var(--farmasi-primary); }
.label-arrow.alert-primary .label-icon::after { border-left-color: var(--farmasi-primary) !important; }
.alert.alert-primary .btn-close::after { color: var(--farmasi-primary-text); }
.alert-additional.alert-primary .alert-content { background-color: var(--farmasi-primary); }
.bg-soft-primary { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.18) !important; }
.badge-outline-primary { color: var(--farmasi-primary-text); border-color: var(--farmasi-primary); }
.badge-soft-primary { color: var(--farmasi-primary-text); background-color: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
.badge-outline.badge-primary { color: var(--farmasi-primary-text); border-color: var(--farmasi-primary); }
.badge-label.bg-primary::before { border-right-color: var(--farmasi-primary); }
.badge-label::before { border-right-color: var(--farmasi-primary); }
.btn-soft-primary { color: var(--farmasi-primary-text); background-color: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
.btn-soft-primary:active, .btn-soft-primary:focus, .btn-soft-primary:hover { background-color: var(--farmasi-primary); }
.btn-ghost-primary { color: var(--farmasi-primary-text); }
.btn-ghost-primary:active, .btn-ghost-primary:focus, .btn-ghost-primary:hover { color: var(--farmasi-primary-text); background-color: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
.btn-primary.btn-animation { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.btn-primary.btn-animation:active, .btn-primary.btn-animation:focus, .btn-primary.btn-animation:hover { color: var(--farmasi-primary-text); background-color: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
.card-primary { background-color: var(--farmasi-primary); }
.card-border-primary { border-color: var(--farmasi-primary) !important; }
.card-border-primary .card-footer, .card-border-primary .card-header { border-color: var(--farmasi-primary); }
.card-overlay::before { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.2); }
.dropdownmenu-primary .dropdown-item.active, .dropdownmenu-primary .dropdown-item:focus, .dropdownmenu-primary .dropdown-item:hover { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.07); color: var(--farmasi-primary-text); }
.nav-tabs-custom .nav-item .nav-link::after { background-color: var(--farmasi-primary); }
.nav-tabs-custom .nav-item .nav-link.active { color: var(--farmasi-primary-text); }
.arrow-navtabs .nav-item .nav-link.active::before { border-top-color: var(--farmasi-primary); }
@media (min-width: 992px) {
.custom-verti-nav-pills .nav-link.active::before { border-left-color: var(--farmasi-primary); }
}
.animation-nav li a::before { background-color: var(--farmasi-primary); }
.nav-border-top .nav-link.active { border-top-color: var(--farmasi-primary); }
.nav-border-top-primary .nav-link.active { color: var(--farmasi-primary-text); border-top-color: var(--farmasi-primary); }
.nav-custom { background-color: var(--farmasi-primary); }
.nav-custom.nav-custom-light .nav-item .nav-link.active { background-color: var(--farmasi-primary); }
.nav-custom-primary { background-color: var(--farmasi-primary); }
.nav-primary .nav-link.active { background-color: var(--farmasi-primary); }
.nav-primary.nav-tabs .nav-link.active { color: var(--farmasi-primary-text); }
.nav-primary.nav-tabs-custom .nav-link.active { color: var(--farmasi-primary-text); }
.nav-primary.nav-tabs-custom .nav-link.active::after { background-color: var(--farmasi-primary); }
.nav-primary.arrow-navtabs .nav-link.active::before { border-top-color: var(--farmasi-primary); }
.nav-primary.custom-verti-nav-pills .nav-link.active::before { border-left-color: var(--farmasi-primary); }
.progress-nav .nav .nav-link.active, .progress-nav .nav .nav-link.done { background-color: var(--farmasi-primary); }
.step-arrow-nav .nav .nav-link.done { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.05); color: var(--farmasi-primary-text); }
.step-arrow-nav .nav .nav-link.active { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.1); color: var(--farmasi-primary-text); }
.step-arrow-nav .nav .nav-link.active::before { border-left-color: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
.vertical-navs-step .nav .nav-link.active { border-color: var(--farmasi-primary); }
.border-primary.table > thead { border-color: var(--farmasi-primary) !important; }
.table-primary.table > thead { border-bottom-color: var(--farmasi-primary) !important; }
.progress-label .progress-bar .label { background-color: var(--farmasi-primary); }
.progress-label .progress-bar .label::after { border-top-color: var(--farmasi-primary); }
.progress-primary .progress-bar { background-color: var(--farmasi-primary); }
.progress-primary .progress-bar::after { border-left-color: var(--farmasi-primary); }
.progress-primary .progress-bar:nth-child(2) { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.1) !important; color: var(--farmasi-primary-text) !important; }
.progress-primary .progress-bar:nth-child(2)::after { border-left-color: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
.custom-blockquote.blockquote.blockquote-primary { color: var(--farmasi-primary-text); border-color: var(--farmasi-primary); background-color: rgba(var(--farmasi-primary-soft-rgb), 0.15); }
.custom-blockquote.blockquote.blockquote-primary .blockquote-footer { color: var(--farmasi-primary-text); }
.custom-blockquote.blockquote.blockquote-outline.blockquote-primary { border-color: var(--farmasi-primary); }
.custom-blockquote.blockquote.blockquote-outline.blockquote-primary .blockquote-footer { color: var(--farmasi-primary-text); }
.form-check-primary .form-check-input:checked { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.form-radio-primary .form-check-input:checked { border-color: var(--farmasi-primary); background-color: var(--farmasi-primary); }
.form-radio-primary .form-check-input:checked::after { background-color: var(--farmasi-primary); }
.form-check-outline.form-check-primary .form-check-input:checked[type="checkbox"] { color: var(--farmasi-primary-text); border-color: var(--farmasi-primary); }
.form-radio-outline.form-radio-primary .form-check-input:checked[type="radio"] { color: var(--farmasi-primary-text); border-color: var(--farmasi-primary); }
.form-switch-primary .form-check-input:checked { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.form-switch-custom.form-switch-primary .form-check-input:checked::before { color: var(--farmasi-primary-text); }
.card-radio .form-check-input:checked + .form-check-label { border-color: var(--farmasi-primary) !important; }
.card-radio .form-check-input:checked + .form-check-label::before { color: var(--farmasi-primary-text); }
.list-group-fill-primary { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.list-group-fill-primary .list-group-item.active { border-color: var(--farmasi-primary); background-color: var(--farmasi-primary) !important; }
[data-simplebar-track="primary"] .simplebar-scrollbar::before { background-color: var(--farmasi-primary); }
div.code-toolbar > .toolbar button { border-color: rgba(var(--farmasi-primary-soft-rgb), 0.35) !important; color: var(--farmasi-primary-text) !important; }
div.code-toolbar > .toolbar button:hover { background-color: var(--farmasi-primary) !important; }
.swal2-loader { border-top-color: var(--farmasi-primary); border-bottom-color: var(--farmasi-primary); }
.swal2-progress-steps .swal2-progress-step { background-color: var(--farmasi-primary); }
.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step { background-color: var(--farmasi-primary); }
.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step, .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.3); }
.swal2-progress-steps .swal2-progress-step-line { background-color: var(--farmasi-primary); }
.swal2-actions.swal2-loading .swal2-styled.swal2-confirm { border-left-color: var(--farmasi-primary) !important; border-right-color: var(--farmasi-primary) !important; }
.swal2-close:hover { color: var(--farmasi-primary-text); }
#blue .noUi-connect { background-color: var(--farmasi-primary); }
.c-4-color { background-color: var(--farmasi-primary); }
.c-5-color { background-color: var(--farmasi-primary); }
[data-slider-color="primary"] .noUi-connect { background-color: var(--farmasi-primary); }
[data-slider-color="primary"] .noUi-handle { background-color: var(--farmasi-primary); }
[data-slider-color="primary"][data-slider-style="border"] .noUi-handle, [data-slider-color="primary"][data-slider-style="square"] .noUi-handle { border-color: var(--farmasi-primary); }
.nested-list .list-group-item { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.05); border-color: rgba(var(--farmasi-primary-soft-rgb), 0.05); }
.shepherd-button.btn-primary:not(:disabled):hover { background-color: var(--farmasi-primary-hover); }
.shepherd-arrow, .shepherd-arrow::before { color: var(--farmasi-primary-text); }
.swiper-button-next, .swiper-button-prev { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.2); }
.swiper-button-next::after, .swiper-button-prev::after { color: var(--farmasi-primary-text); }
.multi-wrapper .item:hover { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
.pcr-app .pcr-interaction .pcr-type.active { background-color: var(--farmasi-primary); }
.filepond--item-panel { background-color: var(--farmasi-primary) !important; }
.input-step.step-primary button { background-color: var(--farmasi-primary); }
.ql-toolbar span:hover { color: var(--farmasi-primary-text) !important; }
.gridjs-pagination .gridjs-pages button.gridjs-currentPage { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.gridjs-tr-selected .gridjs-td .gridjs-checkbox[type="checkbox"] { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.listjs-pagination li.active .page { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.pagination-next, .pagination-prev { color: var(--farmasi-primary-text); }
.gmaps-overlay { background-color: var(--farmasi-primary); }
.gmaps-overlay_arrow.above { border-top-color: var(--farmasi-primary); }
.gmaps-overlay_arrow.below { border-bottom-color: var(--farmasi-primary); }
.jvm-tooltip { background-color: var(--farmasi-primary); }
.jvm-zoom-btn { background-color: var(--farmasi-primary); }
.fc .fc-daygrid-day.fc-day-today { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number { background-color: var(--farmasi-primary); }
.fc .fc-daygrid-day.fc-day-today { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
.fc .fc-timegrid-col.fc-day-today { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
.fc-state-active, .fc-state-disabled, .fc-state-down { background-color: var(--farmasi-primary); }
.fc-event, .fc-event-dot { background-color: var(--farmasi-primary); }
.fc-daygrid-dot-event.fc-event-mirror, .fc-daygrid-dot-event:hover { background-color: var(--farmasi-primary); }
.fc-daygrid-event-harness .fc-daygrid-event.bg-soft-primary .fc-event-main, .fc-daygrid-event-harness .fc-daygrid-event.bg-soft-primary .fc-event-title { color: var(--farmasi-primary-text) !important; }
.fc-timegrid-event-harness .fc-timegrid-event.bg-soft-primary .fc-event-title { color: var(--farmasi-primary-text) !important; }
.fc-list-table .fc-list-event.bg-soft-primary { color: var(--farmasi-primary-text) !important; }
.fc-list-table .fc-list-event.bg-soft-primary .fc-list-event-title > a { color: var(--farmasi-primary-text) !important; }
.fc-list-table .fc-list-event.bg-soft-primary .fc-list-event-dot { border-color: var(--farmasi-primary); }
.choices__list--multiple .choices__item { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.choices__list--multiple .choices__item.is-highlighted { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.flatpickr-months { background-color: var(--farmasi-primary); }
.flatpickr-weekdays { background-color: var(--farmasi-primary); }
.flatpickr-day.today { border-color: var(--farmasi-primary); background-color: rgba(var(--farmasi-primary-soft-rgb), 0.1); }
.flatpickr-day.today:focus, .flatpickr-day.today:hover { border-color: var(--farmasi-primary); background-color: rgba(var(--farmasi-primary-soft-rgb), 0.15); }
.flatpickr-day.endRange, .flatpickr-day.endRange.inRange, .flatpickr-day.endRange.nextMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.endRange:focus, .flatpickr-day.endRange:hover, .flatpickr-day.selected, .flatpickr-day.selected.inRange, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.selected:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange, .flatpickr-day.startRange.inRange, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.startRange:focus, .flatpickr-day.startRange:hover { background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), .flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)) { box-shadow: var(--farmasi-primary) -10px 0px 0px; }
.flatpickr-day.week.selected { box-shadow: var(--farmasi-primary) -5px 0px 0px, var(--farmasi-primary) 5px 0px 0px; }
.flatpickr-time .flatpickr-am-pm:focus, .flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time input:focus, .flatpickr-time input:hover { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.04); }
.auth-one-bg .bg-overlay { background-image: linear-gradient(to right, var(--farmasi-primary-hover), var(--farmasi-primary)); }
.auth-bg-cover { background-image: linear-gradient(-45deg, var(--farmasi-primary) 50%, rgb(69, 203, 133)); }
.horizontal-timeline .swiper-slide .item-box::after { background-color: var(--farmasi-primary); }
.horizontal-timeline .swiper-button-next.swiper-button-disabled, .horizontal-timeline .swiper-button-prev.swiper-button-disabled { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.5); }
.profile-wid-bg::before { background-image: linear-gradient(to top, var(--farmasi-primary-deep), var(--farmasi-primary)); }
.profile-project-card.profile-project-primary { border-left-color: var(--farmasi-primary); }
.profile-offcanvas .team-cover::before, .team-box .team-cover::before { background-image: linear-gradient(to top, var(--farmasi-primary-deep), var(--farmasi-primary)); }
.team-list.list-view-filter .team-box .btn-star { color: var(--farmasi-primary-text); }
.chat-conversation .chat-day-title::before { background-color: rgba(var(--farmasi-primary-soft-rgb), 0.2); }
.mail-list a:hover { color: var(--farmasi-primary-text); }
.message-list li.active, .message-list li.active:hover { box-shadow: var(--farmasi-primary) 3px 0px 0px inset; }
.footer-social-link .avatar-title:hover { background-color: var(--farmasi-primary); }

/* Shared tokens also apply when the layout switches modes at runtime. */
:root, [data-layout-mode=dark] {
    --vz-primary: var(--farmasi-primary);
    --vz-primary-rgb: 23, 103, 91;
    --vz-primary-bg-subtle: var(--farmasi-primary-subtle);
    --vz-link-color: var(--farmasi-primary-text);
    --vz-link-hover-color: var(--farmasi-primary-text-hover);
    --vz-input-focus-border: var(--farmasi-primary-focus);
    --vz-accordion-button-active-color: var(--farmasi-primary-text);
    --vz-vertical-menu-item-hover-color: var(--farmasi-primary-text);
    --vz-vertical-menu-item-active-color: var(--farmasi-primary-text);
    --vz-vertical-menu-sub-item-hover-color: var(--farmasi-primary-text);
    --vz-vertical-menu-sub-item-active-color: var(--farmasi-primary-text);
    --vz-topnav-item-color-active: var(--farmasi-primary-text);
}
.text-primary { color: rgba(var(--farmasi-primary-text-rgb), var(--vz-text-opacity, 1)) !important; }
/* Some primary variants set a solid fill and a colored foreground in separate rules. */
.btn-soft-primary:is(:hover, :focus, :active),
.nav-primary .nav-link.active,
.accordion-fill-primary .accordion-item .accordion-button:not(.collapsed),
.progress-nav .nav .nav-link:is(.active, .done) { color: #fff; }
.nav-primary.nav-tabs .nav-link.active,
.nav-primary.nav-tabs-custom .nav-link.active { color: var(--farmasi-primary-text); }
/* Legacy CI pagination has anchors without Bootstrap page-link classes. */
ul.pagination li.active a { color: #fff; background-color: var(--farmasi-primary); border-color: var(--farmasi-primary); }
/* Plugins with their own default blue/purple palette. */
.select2-container--default .select2-results__option--highlighted[aria-selected] { color: #fff; background-color: var(--farmasi-primary); }
.swal2-styled.swal2-confirm { background-color: var(--farmasi-primary); }
.swal2-styled.swal2-confirm:focus { box-shadow: 0 0 0 .2rem rgba(var(--farmasi-primary-soft-rgb), .35); }
/* Keep primary tables legible in both layout modes. */
.table-primary {
    color: var(--farmasi-primary-text);
    --vz-table-striped-color: var(--farmasi-primary-text);
    --vz-table-hover-color: var(--farmasi-primary-text);
    --vz-table-active-color: var(--farmasi-primary-text);
    --vz-table-hover-bg: var(--farmasi-primary-subtle-border);
    --vz-table-active-bg: var(--farmasi-primary-subtle-border);
}
/* Firefox range pseudo-elements are separate rules so other browsers can ignore them. */
.form-range::-moz-range-thumb { background-color: var(--farmasi-primary); }
.form-range::-moz-range-thumb:active { background-color: var(--farmasi-primary-subtle-border); }
.form-range:focus::-moz-range-thumb { box-shadow: 0 0 0 1px var(--vz-body-bg), 0 0 0 .2rem rgba(var(--farmasi-primary-soft-rgb), .25); }


/* My Profile: keep the identity panel in normal flow below the page title. */
.farmasi-profile-header {
    padding: 24px;
    background: #e9eef0;
    border: 1px solid #d6dfe2;
    border-radius: 8px;
}
.farmasi-profile-header > .row { align-items: center; }
.farmasi-profile-identity { min-width: 0; }
.farmasi-profile-name { color: var(--farmasi-primary-text); overflow-wrap: anywhere; }
.farmasi-profile-username { color: #52636b; overflow-wrap: anywhere; }
[data-layout-mode=dark] .farmasi-profile-header { background: #29353b; border-color: #3c4a52; }
[data-layout-mode=dark] .farmasi-profile-username { color: #b8c5cc; }
@media (max-width: 575.98px) {
    .farmasi-profile-header { padding: 16px; }
    .farmasi-profile-header .avatar-lg { width: 72px; height: 72px; }
    .farmasi-profile-name { font-size: 1.2rem; }
}

/* Photo controls stay compact and wrap naturally on narrow screens. */
.farmasi-profile-header .avatar-lg img { width: 100%; height: 100%; object-fit: cover; }
.farmasi-profile-photo-form { max-width: 520px; }
.farmasi-profile-photo-form input[type=file] { flex: 1 1 230px; width: auto; min-width: 0; max-width: 100%; }
.farmasi-profile-photo-form .form-label { color: var(--vz-body-color); }
.farmasi-profile-photo-form .form-text { color: #52636b; }
[data-layout-mode=dark] .farmasi-profile-photo-form .form-text { color: #b8c5cc; }
