:root {
    --bio-purple: #626DFF;
    --bio-purple-hover: #4f59e6;
    --bio-purple-dark: #3d47cc;
}

/* Primary buttons */
.btn-primary,
button.btn-primary {
    background-color: var(--bio-purple) !important;
    border-color: var(--bio-purple) !important;
}

.btn-primary:hover,
button.btn-primary:hover {
    background-color: var(--bio-purple-hover) !important;
    border-color: var(--bio-purple-hover) !important;
}

.btn-primary:focus,
button.btn-primary:focus {
    background-color: var(--bio-purple-hover) !important;
    border-color: var(--bio-purple-hover) !important;
    box-shadow: 0 0 0 3px rgba(98, 109, 255, 0.35) !important;
}

.btn-primary:active,
button.btn-primary:active {
    background-color: var(--bio-purple-dark) !important;
    border-color: var(--bio-purple-dark) !important;
}

/* Selected/active states */
.bg-blue-500 { background-color: var(--bio-purple) !important; }
.bg-blue-600 { background-color: var(--bio-purple-hover) !important; }
.bg-blue-700 { background-color: var(--bio-purple-dark) !important; }
.text-blue-500 { color: var(--bio-purple) !important; }
.text-blue-600 { color: var(--bio-purple-hover) !important; }
.hover\:text-blue-500:hover { color: var(--bio-purple) !important; }
.hover\:bg-blue-500:hover { background-color: var(--bio-purple) !important; }
.border-blue-500 { border-color: var(--bio-purple) !important; }
.focus\:border-blue-500:focus { border-color: var(--bio-purple) !important; }
.focus\:ring-blue-500:focus { --tw-ring-color: rgba(98, 109, 255, 0.5) !important; }

/* Invert logo to white on dark backgrounds (login dark mode + CP header) */
.dark .white-label-logo,
.dark img[alt="BIO"] {
    filter: invert(1);
}

/* Smaller logo on login/outside pages */
.logo .white-label-logo {
    max-height: 40px;
    width: auto;
    object-fit: contain;
}

/* Toggle switches and checkboxes */
.toggle-container input:checked + .toggle-slider {
    background-color: var(--bio-purple) !important;
}

input[type="checkbox"]:checked {
    background-color: var(--bio-purple) !important;
    border-color: var(--bio-purple) !important;
}
