/* Global font */
body {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* Override Bootstrap primary theme */
.btn-primary,
.bg-primary,
.btn-outline-primary:hover,
.btn-outline-primary.active {
    background-color: #004f4f !important;
    border-color: #004f4f !important;
}
.btn-outline-primary {
    color: #004f4f !important;
    border-color: #004f4f !important;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
    background-color: #006666 !important;
    border-color: #006666 !important;
}
.text-primary {
    color: #004f4f !important;
}

/* Toast Notification for Auth pages */
.toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 999999;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}
.toast-container .toast {
    pointer-events: auto;
    min-width: 320px;
    max-width: 420px;
    border: none;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15);
    animation: toastBounceIn 0.6s ease;
}
.toast-container .toast.hiding {
    animation: toastBounceOut 0.4s ease forwards;
}
@keyframes toastBounceIn {
    0% { transform: translateX(100%) scale(0.8); opacity: 0; }
    50% { transform: translateX(-10px) scale(1.02); opacity: 1; }
    70% { transform: translateX(5px) scale(0.98); }
    100% { transform: translateX(0) scale(1); opacity: 1; }
}
@keyframes toastBounceOut {
    0% { transform: translateX(0) scale(1); opacity: 1; }
    100% { transform: translateX(100%) scale(0.8); opacity: 0; }
}
.toast-container .toast-success {
    background: #10b981;
    color: #fff;
}
.toast-container .toast-success .toast-header {
    background: #059669;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,0.15);
}
.toast-container .toast-error {
    background: #ef4444;
    color: #fff;
}
.toast-container .toast-error .toast-header {
    background: #dc2626;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,0.15);
}
.toast-container .toast-warning {
    background: #f59e0b;
    color: #fff;
}
.toast-container .toast-warning .toast-header {
    background: #d97706;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,0.15);
}
.toast-container .toast .toast-header {
    border-radius: 8px 8px 0 0;
    padding: 10px 16px;
}
.toast-container .toast .toast-header strong {
    font-size: 0.85rem;
}
.toast-container .toast .toast-header small {
    font-size: 0.75rem;
    opacity: 0.8;
}
.toast-container .toast .toast-header .close {
    color: inherit;
    opacity: 0.7;
    text-shadow: none;
    font-size: 1.2rem;
}
.toast-container .toast .toast-header .close:hover {
    opacity: 1;
}
.toast-container .toast .toast-body {
    padding: 12px 16px;
    font-size: 0.9rem;
}
