@import "../bootstrap-5.3.8-dist/css/bootstrap.min-iILk3sM.css";
@import "notyf-a0BFuri.css";

/* Override Bootstrap CSS variables with higher specificity */
:root,
[data-bs-theme="light"] {
    --bs-primary: rgb(108, 46, 183);
    --bs-primary-rgb: 108, 46, 183;
    --bs-primary-text-emphasis: rgb(86, 37, 146);
    --bs-primary-bg-subtle: rgb(235, 229, 245);
    --bs-primary-border-subtle: rgb(210, 192, 235);

    --bs-secondary: rgb(108, 117, 125);
    --bs-secondary-rgb: 108, 117, 125;
    --bs-secondary-text-emphasis: rgb(86, 94, 100);
    --bs-secondary-bg-subtle: rgb(233, 236, 239);
    --bs-secondary-border-subtle: rgb(206, 212, 218);

    --bs-success: rgb(25, 135, 84);
    --bs-success-rgb: 25, 135, 84;
    --bs-success-text-emphasis: rgb(20, 108, 67);
    --bs-success-bg-subtle: rgb(209, 231, 221);
    --bs-success-border-subtle: rgb(163, 207, 187);

    --bs-danger: rgb(220, 53, 69);
    --bs-danger-rgb: 220, 53, 69;
    --bs-danger-text-emphasis: rgb(176, 42, 55);
    --bs-danger-bg-subtle: rgb(248, 215, 218);
    --bs-danger-border-subtle: rgb(241, 174, 181);

    --bs-warning: rgb(255, 193, 7);
    --bs-warning-rgb: 255, 193, 7;
    --bs-warning-text-emphasis: rgb(204, 154, 6);
    --bs-warning-bg-subtle: rgb(255, 243, 205);
    --bs-warning-border-subtle: rgb(255, 230, 156);

    --bs-info: rgb(13, 202, 240);
    --bs-info-rgb: 13, 202, 240;
    --bs-info-text-emphasis: rgb(10, 162, 192);
    --bs-info-bg-subtle: rgb(207, 244, 252);
    --bs-info-border-subtle: rgb(158, 232, 249);

    --bs-light: rgb(248, 249, 250);
    --bs-light-rgb: 248, 249, 250;
    --bs-light-text-emphasis: rgb(198, 199, 200);
    --bs-light-bg-subtle: rgb(251, 252, 253);
    --bs-light-border-subtle: rgb(246, 247, 248);

    --bs-dark: rgb(33, 37, 41);
    --bs-dark-rgb: 33, 37, 41;
    --bs-dark-text-emphasis: rgb(26, 30, 33);
    --bs-dark-bg-subtle: rgb(211, 212, 213);
    --bs-dark-border-subtle: rgb(169, 170, 171);
}

body {
    background-color: rgb(245, 246, 250);
    color: rgb(108, 46, 183);
}

header {
    background-color: white;
    padding: 1rem;
}

.nav {
    --bs-nav-link-color: rgb(108, 46, 183) !important;
    --bs-nav-link-color-rgb: 108, 46, 183 !important;
    --bs-nav-link-hover-color: rgb(86, 37, 146) !important;
    --bs-nav-link-hover-color-rgb: 86, 37, 146 !important;
}
.card-title,
.card-body {
    color: rgb(108, 46, 183);
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: rgb(108, 46, 183);
    --bs-btn-border-color: rgb(108, 46, 183);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgb(86, 37, 146);
    --bs-btn-hover-border-color: rgb(86, 37, 146);
    --bs-btn-focus-shadow-rgb: 108, 46, 183;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgb(86, 37, 146);
    --bs-btn-active-border-color: rgb(86, 37, 146);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: rgb(108, 46, 183);
    --bs-btn-disabled-border-color: rgb(108, 46, 183);
    background-color: rgb(108, 46, 183);
    border-color: rgb(108, 46, 183);
}

.btn-primary:hover {
    background-color: rgb(86, 37, 146);
    border-color: rgb(86, 37, 146);
}

.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
    background-color: rgb(86, 37, 146);
    border-color: rgb(86, 37, 146);
}

.btn-outline-primary {
    --bs-btn-color: rgb(108, 46, 183);
    --bs-btn-border-color: rgb(108, 46, 183);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: rgb(108, 46, 183);
    --bs-btn-hover-border-color: rgb(108, 46, 183);
    --bs-btn-focus-shadow-rgb: 108, 46, 183;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: rgb(108, 46, 183);
    --bs-btn-active-border-color: rgb(108, 46, 183);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: rgb(108, 46, 183);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: rgb(108, 46, 183);
    --bs-gradient: none;
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

.text-primary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}

.border-primary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}

.alert-primary {
    --bs-alert-color: rgb(86, 37, 146);
    --bs-alert-bg: rgb(235, 229, 245);
    --bs-alert-border-color: rgb(210, 192, 235);
    --bs-alert-link-color: rgb(86, 37, 146);
}

.badge.bg-primary {
    background-color: rgb(108, 46, 183) !important;
}

.list-group-item-primary {
    color: rgb(86, 37, 146);
    background-color: rgb(235, 229, 245);
}

.table-primary {
    --bs-table-color: #000;
    --bs-table-bg: rgb(235, 229, 245);
    --bs-table-border-color: rgb(210, 192, 235);
    --bs-table-striped-bg: rgb(225, 217, 240);
    --bs-table-striped-color: #000;
    --bs-table-active-bg: rgb(210, 192, 235);
    --bs-table-active-color: #000;
    --bs-table-hover-bg: rgb(225, 217, 240);
    --bs-table-hover-color: #000;
}

.progress-bar.bg-primary {
    background-color: rgb(108, 46, 183) !important;
}

.nav-pills .nav-link.active {
    --bs-nav-pills-link-active-color: #fff;
    --bs-nav-pills-link-active-bg: rgb(108, 46, 183);
}
.nav-link {
    display: flex ;
    align-items: center;
    border-radius: 1rem;
    margin-bottom:.25rem;
}
.nav-link:hover {
    background-color: rgba(var(--bs-primary-rgb), 0.125);
}
.nav-link.active {
    color: white;
    background-color: var(--bs-primary);
}

/* ===========================================
   Notyf Toast Notifications - Custom Theme
   =========================================== */

/* Ensure toasts are above everything including Bootstrap modals */
.notyf { z-index: 99999 !important; }

/* Toast card styling */
.notyf .notyf__toast {
    border-radius: 12px !important;
    font-family: inherit !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15) !important;
    width: auto !important;
    max-width: 347px !important;
    min-width: 280px !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.notyf .notyf__toast--success { background-color: #2D6A4F !important; }
.notyf .notyf__toast--error { background-color: #E63946 !important; }
.notyf .notyf__toast--warning { background-color: #E9A319 !important; }
.notyf .notyf__toast--info { background-color: #457B9D !important; }

.notyf .notyf__wrapper {
    padding: 14px 18px !important;
    align-items: center !important;
}

/* Ensure close button is visible */
.notyf .notyf__toast--dismissible .notyf__wrapper {
    padding-right: 44px !important;
}
.notyf .notyf__dismiss {
    width: 32px !important;
    margin-right: 0 !important;
    z-index: 20 !important;
    right: 0 !important;
}
.notyf .notyf__dismiss-btn {
    position: relative !important;
    z-index: 21 !important;
}

.notyf__message {
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.4;
}

/* Icon styles - use Notyf default icons, just adjust colors */
.notyf__icon {
    margin-right: 12px;
}

/* Success icon color */
.notyf__icon--success {
    background: #fff;
}

.notyf__icon--success::after,
.notyf__icon--success::before {
    background: #2D6A4F;
}

/* Error icon color */
.notyf__icon--error {
    background: #fff;
}

.notyf__icon--error::after,
.notyf__icon--error::before {
    background: #E63946;
}

/* Dismiss button - refined styling */
.notyf__dismiss-btn {
    background-color: rgba(255, 255, 255, 0.2) !important;
    opacity: 1 !important;
    transition: background-color 0.2s ease;
}

.notyf__dismiss-btn:hover {
    background-color: rgba(255, 255, 255, 0.35) !important;
    opacity: 1 !important;
}

.notyf__dismiss-btn:after,
.notyf__dismiss-btn:before {
    background: #fff !important;
}

/* Ripple effect */
.notyf .notyf__ripple {
    border-radius: 12px !important;
    width: 120% !important;
    height: 120% !important;
    right: -10px !important;
    top: -10px !important;
}

/* Animation improvements */
@keyframes notyf-fadeinup {
    0% {
        opacity: 0;
        transform: translateY(-20px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes notyf-fadeoutdown {
    0% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
        transform: translateY(-20px);
    }
}

.notyf__toast--upper {
    animation: notyf-fadeinup 0.4s cubic-bezier(0.21, 1.02, 0.73, 1) forwards;
}

.notyf__toast--disappear {
    animation: notyf-fadeoutdown 0.3s cubic-bezier(0.06, 0.71, 0.55, 1) forwards;
}

/* ===========================================
   SweetAlert2 - Nolia Theme
   =========================================== */

/* Modal popup */
.swal2-popup {
    border-radius: 16px !important;
    font-family: inherit !important;
    padding: 2rem !important;
}

/* Title */
.swal2-title {
    color: #333 !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
}

/* Content text */
.swal2-html-container {
    color: #666 !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
}

/* Buttons */
.swal2-confirm {
    border-radius: 8px !important;
    font-weight: 500 !important;
    padding: 0.625rem 1.5rem !important;
    font-size: 0.9375rem !important;
}

.swal2-cancel {
    border-radius: 8px !important;
    font-weight: 500 !important;
    padding: 0.625rem 1.5rem !important;
    font-size: 0.9375rem !important;
}

/* Button container */
.swal2-actions {
    gap: 0.75rem !important;
}

/* Icon styling */
.swal2-icon {
    border-width: 3px !important;
    margin: 1.5rem auto !important;
}

/* Warning icon */
.swal2-icon.swal2-warning {
    border-color: #E9A319 !important;
    color: #E9A319 !important;
}

/* Error icon */
.swal2-icon.swal2-error {
    border-color: #E63946 !important;
}

.swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
    background-color: #E63946 !important;
}

/* Success icon */
.swal2-icon.swal2-success {
    border-color: #2D6A4F !important;
    color: #2D6A4F !important;
}

.swal2-icon.swal2-success [class^='swal2-success-line'] {
    background-color: #2D6A4F !important;
}

.swal2-icon.swal2-success .swal2-success-ring {
    border-color: rgba(45, 106, 79, 0.3) !important;
}

/* Question icon */
.swal2-icon.swal2-question {
    border-color: #6c2eb7 !important;
    color: #6c2eb7 !important;
}

/* Info icon */
.swal2-icon.swal2-info {
    border-color: #457B9D !important;
    color: #457B9D !important;
}

/* Timer progress bar */
.swal2-timer-progress-bar {
    background: #6c2eb7 !important;
}

/* Backdrop */
.swal2-backdrop-show {
    background: rgba(0, 0, 0, 0.5) !important;
}

/* Dashboard icon sizing */
.dashboard-icon {
    font-size: 2.4rem !important;
    line-height: 1;
    display: inline-block;
}

/* Dashboard helpers */
.status-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}