html.dmc-library-login-open,
html.dmc-library-login-open body {
    overflow: hidden;
}

.dmc-library-login[hidden],
.dmc-library-login__notice[hidden],
.dmc-library-login__spinner[hidden] {
    display: none !important;
}

.dmc-library-login,
.dmc-library-login *,
.dmc-library-gateway,
.dmc-library-gateway * {
    box-sizing: border-box;
}

.dmc-library-login {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: grid;
    place-items: center;
    padding: 20px;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.dmc-library-login__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 17, 29, .68);
    backdrop-filter: blur(6px);
}

.dmc-library-login__dialog,
.dmc-library-gateway__card {
    position: relative;
    width: min(100%, 520px);
    max-height: calc(100dvh - 40px);
    overflow-y: auto;
    padding: 32px;
    border: 1px solid #d9e4ec;
    border-radius: 18px;
    background: #fff;
    color: #1f2937;
    box-shadow: 0 30px 100px rgba(10, 22, 38, .28);
    scrollbar-width: thin;
}

.dmc-library-login__close {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid !important;
    place-items: center;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d7e2eb !important;
    border-radius: 9px !important;
    background: #f7fafc !important;
    color: #334155 !important;
    box-shadow: none !important;
    cursor: pointer;
}

.dmc-library-login__close:hover,
.dmc-library-login__close:focus-visible {
    border-color: #b8c8d5 !important;
    background: #eef4f8 !important;
    outline: none;
}

.dmc-library-login__brand {
    margin: 0 52px 12px 0 !important;
    color: #e46c2c !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 750 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase;
}

.dmc-library-login h2,
.dmc-library-gateway h1 {
    margin: 0 0 12px !important;
    color: #172033 !important;
    font-family: inherit !important;
    font-size: clamp(29px, 4vw, 35px) !important;
    line-height: 1.13 !important;
    font-weight: 680 !important;
    letter-spacing: -.025em !important;
}

.dmc-library-login__intro,
.dmc-library-gateway__card > p {
    margin: 0 0 24px !important;
    color: #607086 !important;
    font-size: 16px !important;
    line-height: 1.62 !important;
}

.dmc-library-login__notice {
    display: block;
    width: 100%;
    margin: 0 0 17px !important;
    padding: 12px 14px !important;
    border: 1px solid #efbdbd !important;
    border-left: 4px solid #c83e3e !important;
    border-radius: 8px !important;
    background: #fff4f4 !important;
    color: #8e2929 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.dmc-library-login__form {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 16px !important;
}

.dmc-library-login__form label:not(.dmc-library-login__remember) {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 7px !important;
    color: #334155 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
}

.dmc-library-login__form label > span {
    margin: 0 !important;
    padding: 0 !important;
}

.dmc-library-login__form input[type="text"],
.dmc-library-login__form input[type="password"] {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 11px 13px !important;
    border: 1px solid #c7d5e0 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #172033 !important;
    box-shadow: none !important;
    font: inherit !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    outline: none !important;
}

.dmc-library-login__form input[type="text"]:focus,
.dmc-library-login__form input[type="password"]:focus {
    border-color: #e36f2d !important;
    box-shadow: 0 0 0 3px rgba(227, 111, 45, .14) !important;
}

.dmc-library-login__remember {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    width: fit-content !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #526174 !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    font-weight: 550 !important;
    cursor: pointer;
}

.dmc-library-login__remember input[type="checkbox"] {
    appearance: none !important;
    display: grid !important;
    place-content: center;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    border: 1px solid #aebdca !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.dmc-library-login__remember input[type="checkbox"]::before {
    content: "";
    width: 9px;
    height: 5px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    opacity: 0;
    transform: translateY(-1px) rotate(-45deg);
}

.dmc-library-login__remember input[type="checkbox"]:checked {
    border-color: #e36f2d !important;
    background: #e36f2d !important;
}

.dmc-library-login__remember input[type="checkbox"]:checked::before {
    opacity: 1;
}

.dmc-library-login__remember input[type="checkbox"]:focus-visible {
    box-shadow: 0 0 0 3px rgba(227, 111, 45, .14) !important;
    outline: none !important;
}

.dmc-library-login__submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 51px !important;
    margin: 2px 0 0 !important;
    padding: 12px 18px !important;
    border: 1px solid #d96020 !important;
    border-radius: 9px !important;
    background: #e36f2d !important;
    color: #fff !important;
    box-shadow: none !important;
    font: inherit !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 720 !important;
    text-transform: none !important;
    cursor: pointer;
    transition: transform .16s ease, background .16s ease, border-color .16s ease;
}

.dmc-library-login__submit:hover,
.dmc-library-login__submit:focus-visible {
    border-color: #c75a21 !important;
    background: #c75a21 !important;
    color: #fff !important;
    transform: translateY(-1px);
    outline: none;
}

.dmc-library-login__submit:disabled {
    border-color: #d97843 !important;
    background: #d97843 !important;
    opacity: .82;
    cursor: wait;
    transform: none;
}

.dmc-library-login__spinner {
    display: block;
    width: 17px;
    height: 17px;
    border: 2px solid rgba(255, 255, 255, .45);
    border-top-color: #fff;
    border-radius: 50%;
    animation: dmc-library-login-spin .72s linear infinite;
}

@keyframes dmc-library-login-spin {
    to { transform: rotate(360deg); }
}

.dmc-library-login__links {
    display: grid !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 24px 0 0 !important;
    padding: 20px 0 0 !important;
    border-top: 1px solid #e1e9ef !important;
    color: #637184 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.dmc-library-login__links a,
.dmc-library-gateway__back {
    color: #b84d16 !important;
    text-decoration: none !important;
    font-weight: 680 !important;
}

.dmc-library-login__links a:hover,
.dmc-library-login__links a:focus-visible,
.dmc-library-gateway__back:hover,
.dmc-library-gateway__back:focus-visible {
    color: #8f3810 !important;
    text-decoration: underline !important;
    outline: none;
}

.dmc-library-gateway-page {
    margin: 0 !important;
    min-height: 100vh;
    background: linear-gradient(145deg, #edf4f8 0%, #f8fafc 52%, #fff5ed 100%);
    color: #1f2937;
}

.dmc-library-gateway {
    display: grid;
    place-items: center;
    min-height: 100vh;
    padding: 30px 20px;
    font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.dmc-library-gateway__back {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    margin: 0 0 22px !important;
    font-size: 14px !important;
}

@media (max-width: 560px) {
    .dmc-library-login {
        align-items: end;
        padding: 12px;
    }

    .dmc-library-login__dialog,
    .dmc-library-gateway__card {
        width: 100%;
        max-height: calc(100dvh - 24px);
        padding: 27px 21px;
        border-radius: 14px;
    }

    .dmc-library-login__brand {
        margin-right: 46px !important;
        font-size: 11px !important;
    }

    .dmc-library-login h2,
    .dmc-library-gateway h1 {
        font-size: 28px !important;
    }

    .dmc-library-login__intro,
    .dmc-library-gateway__card > p {
        font-size: 15px !important;
    }
}
