/* NaMs authentication theme overrides
   Module 0 UAT fix: align login page with NaMs / MOFA brand palette.
   Scope: authentication pages only. Do not override global Metronic buttons outside .nams-auth-page.
*/
:root {
    --nams-auth-primary: #3d4858;
    --nams-auth-primary-hover: #313a47;
    --nams-auth-gold: #b49c70;
    --nams-auth-gold-hover: #a58d61;
    --nams-auth-danger: #993a33;
    --nams-auth-surface: #ffffff;
    --nams-auth-page-bg: #f7f5f1;
    --nams-auth-muted: #666666;
}

.nams-auth-page {
    min-height: 100vh;
    background:
        radial-gradient(circle at 10% 8%, rgba(180, 156, 112, .16) 0, rgba(180, 156, 112, 0) 30%),
        radial-gradient(circle at 90% 90%, rgba(153, 58, 51, .13) 0, rgba(153, 58, 51, 0) 34%),
        var(--nams-auth-page-bg) !important;
}

.nams-auth-page .nams-auth-card {
    position: relative;
    border-radius: 24px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 24px 70px rgba(61, 72, 88, .13);
    border: 1px solid rgba(180, 156, 112, .22);
}

.nams-auth-page .nams-auth-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 5px;
    border-radius: 24px 24px 0 0;
    background: linear-gradient(90deg, var(--nams-auth-primary), var(--nams-auth-gold), var(--nams-auth-danger));
}

.nams-auth-page .nams-auth-emblem {
    width: 72px;
    height: 72px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(61, 72, 88, .08), rgba(180, 156, 112, .18));
    border: 1px solid rgba(180, 156, 112, .35);
    box-shadow: 0 10px 28px rgba(61, 72, 88, .09);
}

.nams-auth-page .nams-auth-emblem img {
    max-width: 54px;
    max-height: 54px;
    object-fit: contain;
}

.nams-auth-page h1,
.nams-auth-page .text-dark {
    color: var(--nams-auth-primary) !important;
}

.nams-auth-page .text-gray-500,
.nams-auth-page .form-check-label {
    color: var(--nams-auth-muted) !important;
}

.nams-auth-page .form-control {
    min-height: 46px;
    border-color: rgba(61, 72, 88, .18);
    color: var(--nams-auth-primary);
    background: rgba(255, 255, 255, .92) !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.nams-auth-page .form-control::placeholder {
    color: rgba(61, 72, 88, .56);
}

.nams-auth-page .form-control:focus {
    border-color: var(--nams-auth-gold);
    box-shadow: 0 0 0 .22rem rgba(180, 156, 112, .18);
    background: #fff !important;
}

.nams-auth-page .form-check-input {
    border-color: rgba(61, 72, 88, .22);
}

.nams-auth-page .form-check-input:checked {
    background-color: var(--nams-auth-gold);
    border-color: var(--nams-auth-gold);
}

.nams-auth-page .form-check-input:focus {
    box-shadow: 0 0 0 .22rem rgba(180, 156, 112, .18);
}

.nams-auth-page .btn.btn-primary.nams-auth-primary-btn {
    min-height: 46px;
    background: var(--nams-auth-primary) !important;
    border-color: var(--nams-auth-primary) !important;
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(61, 72, 88, .22);
}

.nams-auth-page .btn.btn-primary.nams-auth-primary-btn:hover,
.nams-auth-page .btn.btn-primary.nams-auth-primary-btn:focus {
    background: var(--nams-auth-primary-hover) !important;
    border-color: var(--nams-auth-primary-hover) !important;
}

.nams-auth-page .btn.btn-primary.nams-auth-microsoft-btn {
    min-height: 46px;
    background: var(--nams-auth-gold) !important;
    border-color: var(--nams-auth-gold) !important;
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(180, 156, 112, .23);
}

.nams-auth-page .btn.btn-primary.nams-auth-microsoft-btn:hover,
.nams-auth-page .btn.btn-primary.nams-auth-microsoft-btn:focus {
    background: var(--nams-auth-gold-hover) !important;
    border-color: var(--nams-auth-gold-hover) !important;
}

.nams-auth-page .btn.btn-outline.btn-text-gray-700 {
    border-color: rgba(180, 156, 112, .38) !important;
}

.nams-auth-page .btn.btn-outline.btn-text-gray-700:hover,
.nams-auth-page .btn.btn-outline.btn-text-gray-700:focus {
    color: var(--nams-auth-primary) !important;
    background: rgba(180, 156, 112, .08) !important;
    border-color: var(--nams-auth-gold) !important;
}

.nams-auth-page .alert-danger {
    border-color: rgba(153, 58, 51, .24);
    background: #f8e9e7;
    color: var(--nams-auth-danger);
}

.nams-auth-page .text-danger,
.nams-auth-page .field-validation-error {
    color: var(--nams-auth-danger) !important;
}

.nams-auth-page .order-lg-2 {
    background-image:
        radial-gradient(circle at 75% 20%, rgba(180, 156, 112, .35) 0, rgba(180, 156, 112, 0) 34%),
        linear-gradient(135deg, rgba(61, 72, 88, .96) 0%, rgba(102, 102, 102, .92) 55%, rgba(153, 58, 51, .88) 100%),
        url('/assets/media/misc/auth-bg_v2.png') !important;
    background-blend-mode: normal, multiply, normal;
}

@media (max-width: 991.98px) {
    .nams-auth-page .w-lg-50.p-10 {
        padding: 1.75rem !important;
    }

    .nams-auth-page .nams-auth-card {
        padding: 2rem !important;
        box-shadow: 0 18px 45px rgba(61, 72, 88, .11);
    }
}

.nams-auth-page .nams-auth-language-simple {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.nams-auth-page .nams-auth-language-tabs {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.1rem;
    padding: 0;
    margin: 0 auto;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.nams-auth-page .nams-auth-language-tab {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: .15rem .2rem .45rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: rgba(61, 72, 88, .62);
    font-weight: 700;
    font-size: .82rem;
    line-height: 1.1;
    transition: color .18s ease;
}

.nams-auth-page .nams-auth-language-tab::after {
    content: "";
    position: absolute;
    left: 50%;
    right: auto;
    bottom: 0;
    width: 0;
    height: 2px;
    border-radius: 999px;
    background: var(--nams-auth-gold);
    transform: translateX(-50%);
    transition: width .18s ease;
}

.nams-auth-page .nams-auth-language-tab:hover,
.nams-auth-page .nams-auth-language-tab:focus {
    color: var(--nams-auth-primary);
    outline: none;
}

.nams-auth-page .nams-auth-language-tab.active {
    color: var(--nams-auth-primary);
    background: transparent;
    box-shadow: none;
}

.nams-auth-page .nams-auth-language-tab.active::after {
    width: 100%;
}

@media (max-width: 575.98px) {
    .nams-auth-page .nams-auth-language-tabs {
        flex-wrap: wrap;
        gap: .85rem;
    }
}

html[dir="rtl"] .nams-auth-page .me-3 {
    margin-right: 0 !important;
    margin-left: .75rem !important;
}

html[dir="rtl"] .nams-auth-page .ms-2 {
    margin-left: 0 !important;
    margin-right: .5rem !important;
}

.nams-auth-page .nams-auth-remember-option {
    align-items: center;
}

.nams-auth-page .nams-auth-optional-text {
    color: #8b95a5;
    font-size: .82rem;
    font-weight: 500;
    margin-inline-start: .35rem;
}

html[dir="rtl"] .nams-auth-page,
html[lang^="ar"] .nams-auth-page {
    font-family: 'Sakkal Majalla', 'Inter', 'Segoe UI', Tahoma, Arial, sans-serif;
}

html[dir="rtl"] .nams-auth-page .nams-auth-optional-text,
html[lang^="ar"] .nams-auth-page .nams-auth-optional-text {
    font-size: .95rem;
}
