:root {
    --bs-primary: #7a07e5;
    --bs-primary-rgb: 122, 7, 229;
    --color-primary: #7a07e5;
    --color-primary-hover: #6200bf;
    --color-text: #333333;
    --color-text-muted: #666666;
    --color-bg: #f8f9fa;
    --input-bg: #ffffff;
    --border-radius: 8px;
    --wawi-sidebar-width: 260px;
    --wawi-mobile-header-height: 52px;
    --sidebar-bg: #ffffff;
    --sidebar-border: #eaedf1;
    --sidebar-width: 260px;
    --nav-item-color: #4b5563;
    --nav-item-hover-bg: #f3f4f6;
    --nav-item-active-bg: #f3f4f6;
    --nav-item-active-color: var(--color-primary);
    --nav-group-header-color: #9ca3af;
}

.btn-primary {
    --bs-btn-bg: var(--color-primary);
    --bs-btn-border-color: var(--color-primary);
    --bs-btn-hover-bg: var(--color-primary-hover);
    --bs-btn-hover-border-color: var(--color-primary-hover);
    --bs-btn-active-bg: var(--color-primary-hover);
    --bs-btn-active-border-color: var(--color-primary-hover);
}

.btn-primary:hover {
    box-shadow: 0 10px 25px rgba(122, 7, 229, 0.32);
    transform: translateY(-1px);
}

html,
body {
    height: 100%;
}

body {
    background: var(--color-bg);
    color: var(--color-text);
}

.required-indicator {
    color: var(--color-primary) !important;
    font-weight: normal;
    margin-left: 0.2rem;
}

.form-control:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 0.2rem rgba(122, 7, 229, 0.25);
}

.wawi-icon-btn {
    width: 38px;
    height: 38px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    opacity: 0.75;
}

.wawi-icon-btn:hover {
    opacity: 1;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.wawi-toast-container {
    position: fixed;
    left: 50%;
    bottom: 16px;
    transform: translateX(-50%);
    z-index: 1080;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    pointer-events: none;
}

.wawi-toast {
    min-width: 280px;
    max-width: 420px;
    pointer-events: auto;
    animation: fadeIn 0.12s ease-out;
}
