/**
 * Malindu Polylack — global UI colors (Bootstrap 4 + common widgets).
 * Matches public/assets/scss/_variables.scss: $primary #346ee0, $green #2ac14e, $gray-900 #222a3e.
 * Load after theme.min.css (and after admin-layout.css in app layout).
 */
:root {
    --mp-primary: #346ee0;
    --mp-primary-hover: #2b63d9;
    --mp-primary-active: #2558c9;
    --mp-primary-rgb: 52, 110, 224;
    --mp-green: #2ac14e;
    --mp-green-rgb: 42, 193, 78;
    --mp-navy: #222a3e;
}

/* ----- Primary buttons ----- */
.btn-primary {
    background-color: var(--mp-primary);
    border-color: var(--mp-primary);
    color: #fff;
}

.btn-primary:hover {
    background-color: var(--mp-primary-hover);
    border-color: var(--mp-primary-hover);
    color: #fff;
}

.btn-primary:focus,
.btn-primary.focus {
    background-color: var(--mp-primary-hover);
    border-color: var(--mp-primary-hover);
    color: #fff;
    box-shadow: 0 0 0 0.2rem rgba(var(--mp-primary-rgb), 0.38);
}

.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
    background-color: var(--mp-primary-active);
    border-color: var(--mp-primary-active);
    color: #fff;
}

.btn-primary:disabled,
.btn-primary.disabled {
    background-color: var(--mp-primary);
    border-color: var(--mp-primary);
    opacity: 0.65;
}

.btn-primary:not(:disabled):not(.disabled) {
    box-shadow: 0 2px 6px rgba(var(--mp-primary-rgb), 0.22);
}

.btn-primary:not(:disabled):not(.disabled):hover {
    box-shadow: 0 4px 12px rgba(var(--mp-primary-rgb), 0.32);
}

.btn-outline-primary {
    color: var(--mp-primary);
    border-color: var(--mp-primary);
}

.btn-outline-primary:hover {
    background-color: var(--mp-primary);
    border-color: var(--mp-primary);
    color: #fff;
}

.btn-outline-primary:focus,
.btn-outline-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(var(--mp-primary-rgb), 0.32);
}

.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
    background-color: var(--mp-primary-active);
    border-color: var(--mp-primary-active);
    color: #fff;
}

/* ----- Utilities ----- */
.text-primary {
    color: var(--mp-primary) !important;
}

a.text-primary:hover,
a.text-primary:focus {
    color: var(--mp-primary-active) !important;
}

.bg-primary {
    background-color: var(--mp-primary) !important;
}

.border-primary {
    border-color: var(--mp-primary) !important;
}

.badge-primary {
    background-color: var(--mp-primary);
    color: #fff;
}

.badge-soft-primary {
    color: var(--mp-primary);
    background-color: rgba(var(--mp-primary-rgb), 0.15);
}

.alert-primary {
    color: #1a3d86;
    background-color: rgba(var(--mp-primary-rgb), 0.12);
    border-color: rgba(var(--mp-primary-rgb), 0.28);
}

/* ----- Pagination ----- */
.page-link {
    color: var(--mp-primary);
}

.page-item.active .page-link {
    background-color: var(--mp-primary);
    border-color: var(--mp-primary);
    color: #fff;
}

.page-link:hover {
    color: var(--mp-primary-active);
    border-color: rgba(var(--mp-primary-rgb), 0.35);
}

.page-item.active .page-link:hover {
    color: #fff;
}

/* ----- Nav pills ----- */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: var(--mp-primary);
}

.nav-pills .nav-link:not(.active):hover {
    color: var(--mp-primary);
}

/* ----- List group ----- */
.list-group-item.active {
    background-color: var(--mp-primary);
    border-color: var(--mp-primary);
}

/* ----- Dropdown ----- */
.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--mp-primary);
}

/* ----- Forms ----- */
.form-control:focus {
    border-color: rgba(var(--mp-primary-rgb), 0.55);
    box-shadow: 0 0 0 0.2rem rgba(var(--mp-primary-rgb), 0.2);
}

.custom-select:focus {
    border-color: rgba(var(--mp-primary-rgb), 0.55);
    box-shadow: 0 0 0 0.2rem rgba(var(--mp-primary-rgb), 0.2);
}

.custom-control-input:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 0.2rem rgba(var(--mp-primary-rgb), 0.2);
}

.custom-checkbox.checkbox-primary .custom-control-input:checked ~ .custom-control-label::before,
.custom-control.custom-checkbox.checkbox-primary .custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--mp-primary);
    border-color: var(--mp-primary);
}

.custom-checkbox.checkbox-primary .custom-control-input:focus ~ .custom-control-label::before {
    border-color: var(--mp-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--mp-primary-rgb), 0.25);
}

/* ----- Spinners ----- */
.spinner-border.text-primary,
.spinner-grow.text-primary {
    color: var(--mp-primary) !important;
}

/* ----- Links styled as primary ----- */
.btn-link,
a.btn-link {
    color: var(--mp-primary);
}

.btn-link:hover,
a.btn-link:hover {
    color: var(--mp-primary-active);
}
