@font-face {
    font-family: Roboto;
    src: url(../fontfamily/Roboto/Roboto-Regular.ttf);
}

@font-face {
    font-family: RobotoMedium;
    src: url(../fontfamily/Roboto/Roboto-Medium.ttf);
}

@font-face {
    font-family: RobotoLight;
    src: url(../fontfamily/Roboto/Roboto-Light.ttf);
}

@font-face {
    font-family: RobotoBlack;
    src: url(../fontfamily/Roboto/Roboto-Black.ttf);
}

@font-face {
    font-family: RobotoBold;
    src: url(../fontfamily/Roboto/Roboto-Bold.ttf);
}

@font-face {
    font-family: NotoSerif;
    src: url(../fontfamily/noto-serif/NotoSerif-Regular.ttf);
}

@font-face {
    font-family: NotoSerifBold;
    src: url(../fontfamily/noto-serif/NotoSerif-Bold.ttf);
}

@font-face {
    font-family: NotoSerifMedium;
    src: url(../fontfamily/noto-serif/NotoSerif-Medium.ttf);
}

@font-face {
    font-family: NotoSerifBoldItalic;
    src: url(../fontfamily/noto-serif/NotoSerif-BoldItalic.ttf);
}

@font-face {
    font-family: NotoSerifItalic;
    src: url(../fontfamily/noto-serif/NotoSerif-Italic.ttf);
}


@font-face {
    font-family: Merriweather;
    src: url(../fontfamily/Merriweather/Merriweather-Regular.ttf);
}

@font-face {
    font-family: MerriweatherLight;
    src: url(../fontfamily/Merriweather/Merriweather-Light.ttf);
}



@font-face {
    font-family: MerriweatherBlack;
    src: url(../fontfamily/Merriweather/Merriweather-Black.ttf);
}

@font-face {
    font-family: Inter;
    src: url('../fontfamily/Inter/Inter-Regular.woff2') format('woff2');
}

@font-face {
    font-family: InterSemibold;
    src: url(../fontfamily/Inter/Inter-SemiBold.woff2) format('woff2');
}

@font-face {
    font-family: MerriweatherBold;
    src: url(../fontfamily/Inter/Merriweather-Bold.woff2) format('woff2');
}

@font-face {
    font-family: InterMedium;
    /* src: url(../fontfamily/WorkSans-Italic-VariableFont_wght.ttf); */
    src: url(../fontfamily/Inter/Inter-Medium.woff2) format('woff2');
}

.InterMedium {
    font-family: InterMedium !important;
}

.colred {
    color: #CE2424;
}

.Roboto {
    font-family: Roboto !important;
}

.Inter {
    font-family: Inter !important;
}

.InterSemibold {
    font-family: InterSemibold !important;
}

.RobotoLight {
    font-family: RobotoLight !important;
}

.RobotoMedium {
    font-family: RobotoMedium !important;
}

.MerriweatherBold {
    font-family: MerriweatherBold !important;
}

.Merriweather {
    font-family: Merriweather !important;
}

.MerriweatherBlack {
    font-family: MerriweatherBlack !important;
}

.NotoSerifMedium {
    font-family: NotoSerifMedium !important;
}



.NotoSerif {
    font-family: NotoSerif !important;
}

.NotoSerifBold {
    font-family: NotoSerifBold !important;
}

.NotoSerifBoldItalic {
    font-family: NotoSerifBoldItalic !important;
}

.NotoSerifItalic {
    font-family: NotoSerifItalic !important;
}


.login-page *,
.login-page *::before,
.login-page *::after {
    box-sizing: border-box;
}

.login-page {
    --lp-primary: #004999;
    --lp-primary-dk: #004999;
    --lp-accent: #1976D2;
    --lp-text: #1a1a2e;
    --lp-muted: #6b7280;
    --lp-border: #cdd6e3;
    --lp-bg: #dde6f0;
    --lp-white: #ffffff;
    --lp-red: #c62828;
    font-family: .login-page;
    background: var(--lp-bg);
    min-height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

    .login-page .khoidangnhap {
        width: 100%;
        justify-items: center;
        transform: translateY(-110px);
    }
    /* ── Lớp nền: ảnh trống đồng làm watermark ── */
    .login-page__bg {
        position: absolute;
        inset: 0;
        z-index: 0;
        pointer-events: none;
        display: flex;
        align-items: center;
        justify-content: center;
    }

.login-page__bg-img {
    width: min(820px, 100vmin);
    height: min(820px, 100vmin);
    object-fit: contain;
    /* Đảo ngược màu để họa tiết trắng → tối trên nền xanh nhạt */
    filter: invert(1) saturate(0) brightness(0.5);
    opacity: 0.15;
    mix-blend-mode: multiply;
    user-select: none;
    -webkit-user-drag: none;
}

/* ── Card đăng nhập ── */
.login-page .lp-card {
    position: relative;
    z-index: 10;
    background: var(--lp-white);
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.07), 0 10px 36px rgba(0, 0, 0, 0.11);
    padding: 30px 20px 70px;
    width: 100%;
    max-width: 550px;
    animation: lp-rise 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* ── Logo / Header card ── */
.login-page .lp-logo {
    text-align: center;
    margin-bottom: 25px;
}

.login-page .lp-shield {
    display: block;
    width: 100px;
    height: 120px;
    margin: 0 auto 12px;
}

.login-page .lp-org-name {
    font-size: 30px;
    font-weight: 700;
    color: var(--lp-primary);
    letter-spacing: 2.5px;
    text-transform: uppercase;
    line-height: 1.25;
    margin: 0 0 5px;
}

.login-page .lp-org-sub {
    font-size: 13px;
    color: var(--lp-accent);
    font-weight: 400;
    margin: 0;
}

/* ── Tiêu đề form ── */
.login-page .lp-title {
    font-size: 20px;
    color: var(--lp-text);
    text-align: center;
    margin: 0 0 26px;
    font-family: 'InterSemibold';
}

/* ── Label ── */
.login-page .lp-label {
    display: block;
    font-size: 16px;
    font-weight: 500;
    color: var(--lp-text);
    margin-bottom: 6px;
    font-family: 'InterSemibold'
}

.login-page .lp-star {
    color: var(--lp-red);
    margin-left: 2px;
}

/* ── Input text ── */
.login-page .lp-input {
    display: block;
    width: 100%;
    height: 44px;
    padding: 0 14px;
    border: 1px solid var(--lp-border);
    border-radius: 4px;
    font-size: 16px;
    font-family: 'Inter';
    color: var(--lp-text);
    background: var(--lp-white);
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

    .login-page .lp-input:focus {
        border-color: var(--lp-primary);
        box-shadow: 0 0 0 3px rgba(21, 101, 192, 0.13);
    }

    .login-page .lp-input::placeholder {
        color: #b5bec9;
    }

/* ── Input group mật khẩu ── */
.login-page .lp-pw-group {
    display: flex;
}

    .login-page .lp-pw-group .lp-input {
        border-right: none;
        border-radius: 4px 0 0 4px;
        flex: 1 1 auto;
    }

    .login-page .lp-pw-group:focus-within .lp-input,
    .login-page .lp-pw-group:focus-within .lp-eye {
        border-color: var(--lp-primary);
    }

    .login-page .lp-pw-group:focus-within {
        border-radius: 4px;
        box-shadow: 0 0 0 3px rgba(21, 101, 192, 0.13);
    }

.login-page .lp-eye {
    flex-shrink: 0;
    width: 42px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--lp-white);
    border: 1px solid var(--lp-border);
    border-left: none;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    color: var(--lp-muted);
    transition: color 0.15s;
    padding: 0;
}

    .login-page .lp-eye:hover {
        color: var(--lp-primary);
    }

    .login-page .lp-eye svg {
        width: 18px;
        height: 18px;
        pointer-events: none;
    }

/* ── Quên mật khẩu ── */
.login-page .lp-forgot {
    display: block;
    text-align: right;
    font-size: 13px;
    font-weight: 500;
    color: var(--lp-accent);
    text-decoration: none;
    margin-top: 7px;
}

    .login-page .lp-forgot:hover {
        color: var(--lp-primary-dk);
        text-decoration: underline;
    }

/* ── Nút Đăng nhập ── */
.login-page .lp-btn-primary {
    display: block;
    width: 100%;
    height: 46px;
    margin-top: 22px;
    background: var(--lp-primary);
    border: none;
    border-radius: 4px;
    color: var(--lp-white);
    font-size: 15px;
    font-weight: 600;
    font-family: 'Inter';
    letter-spacing: 0.4px;
    cursor: pointer;
    transition: background 0.15s, transform 0.1s, box-shadow 0.15s;
}

    .login-page .lp-btn-primary:hover {
        background: var(--lp-primary-dk);
        box-shadow: 0 4px 16px rgba(13, 71, 161, 0.28);
        transform: translateY(-1px);
    }

    .login-page .lp-btn-primary:active {
        transform: translateY(0);
        box-shadow: none;
    }

/* ── Link Đăng ký ── */
.login-page .lp-register {
    display: block;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    color: var(--lp-accent);
    text-decoration: none;
    margin-top: 14px;
    font-family:'Inter'
}

    .login-page .lp-register:hover {
        color: var(--lp-primary-dk);
        text-decoration: underline;
    }

/* ── Divider ── */
.login-page .lp-divider {
    border: none;
    border-top: 1px solid var(--lp-border);
    margin: 24px 0;
}

/* ── Nút tài khoản cán bộ ── */
.login-page .lp-btn-staff {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    height: 50px;
    padding: 0 16px;
    background: #edf2f8;
    border: 1px solid var(--lp-border);
    border-radius: 4px;
    font-family: 'Be Vietnam Pro', sans-serif;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--lp-text);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s, box-shadow 0.15s, color 0.15s;
}

    .login-page .lp-btn-staff:hover {
        background: #dce8f5;
        border-color: #a8c4e0;
        color: var(--lp-primary);
        box-shadow: 0 2px 10px rgba(21, 101, 192, 0.12);
    }

    .login-page .lp-btn-staff .lp-shield-sm {
        width: 26px;
        height: 31px;
        flex-shrink: 0;
    }

/* ── Spacing helpers ── */
.login-page .lp-mb3 {
    margin-bottom: 16px;
}

/* ── Responsive ── */
@media (max-width: 520px) {
    .login-page .lp-card {
        padding: 25px 20px 28px;
    }

    .login-page .lp-title {
        font-size: 17px;
    }

    .login-page .lp-org-name {
        font-size: 16px;
        letter-spacing: 1.5px;
    }
}
