.mmc-login-premium {
    position: relative;
    isolation: isolate;
    display: block;
    margin: 0;
    min-height: 100vh;
    min-height: 100svh;
    padding: 0;
    background: #153c35;
    color: #203a34;
    font-family: "Segoe UI", Arial, sans-serif;
    box-sizing: border-box;
}
.auth-scene {position: fixed; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center;}
.mmc-login-premium::before {content: ""; position: fixed; z-index: -1; inset: 0; background: #082c274d; pointer-events: none;}
.auth-shell {
    width: calc(100% - 112px);
    max-width: 1280px;
    min-height: 100vh;
    min-height: 100svh;
    margin: auto;
    padding: 56px 0 40px;
    display: grid;
    grid-template-columns: minmax(0,1fr) 420px;
    grid-template-rows: 1fr auto;
    align-items: center;
    column-gap: 80px;
    row-gap: 28px;
}
.auth-brand {align-self: center; padding-bottom: 38px; color: #fff;}
.auth-logo {display: block; width: 212px; height: 104px; max-width: 100%; object-fit: contain; margin: 0 0 34px; padding: 16px; background: #f7f7f7; border: 1px solid #ffffffb3; border-radius: 6px; box-shadow: 0 8px 28px #001f1720;}
.auth-brand h1 {font-size: 42px; font-weight: 650; line-height: 1.22; margin: 0; color: #fff; text-shadow: 0 2px 14px #001e195c; overflow-wrap: anywhere;}
.auth-name-prefix {display: block; font-size: 13px; font-weight: 600; line-height: 1.5; margin-bottom: 14px;}
.auth-brand-rule {display: block; width: 52px; height: 4px; background: #e13d4e; margin: 30px 0 0;}
.auth-panel {position: relative; padding: 42px 38px 28px; background: #fff; border: 1px solid #fff; border-radius: 8px; box-shadow: 0 24px 80px #052b3430;}
.auth-panel::before {content: ""; position: absolute; top: -1px; left: 38px; width: 40px; height: 3px; background: #d92e42;}
.auth-heading {margin: 0 0 34px;}
.auth-eyebrow {display: flex; align-items: center; gap: 8px; margin-bottom: 22px; color: #16796b; font-size: 11px; font-weight: 650;}
.auth-eyebrow .bi {font-size: 15px;}
.auth-heading h2 {font-size: 29px; font-weight: 650; line-height: 1.3; margin: 0 0 8px; color: #243b35;}
.auth-heading p {font-size: 13px; line-height: 1.6; color: #65756d; margin: 0;}
.auth-field {margin-bottom: 24px;}
.auth-field label {display: block; font-size: 12px; font-weight: 600; color: #3d5149; margin-bottom: 10px;}
.auth-input {display: flex; align-items: center; min-height: 52px; border: 1px solid #dce4df; border-radius: 5px; background: #fafcfb; transition: border-color 150ms, box-shadow 150ms;}
.auth-input:focus-within {border-color: #248c76; box-shadow: 0 0 0 3px #16867b0d; background: #fff;}
.auth-input > .bi {font-size: 17px; color: #8a9b92; margin: 0 13px 0 15px;}
.auth-input input {display: block; min-width: 0; width: 100%; height: 50px; border: 0; outline: 0; background: transparent; color: #253c36; padding: 0 12px 0 0; font: inherit; font-size: 14px; border-radius: 5px;}
.auth-input input::placeholder {color: #64756a;}
.auth-input button {display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; padding: 0; margin: 0 3px 0 0; background: transparent; color: #81998b; border: 0; border-radius: 4px;}
.auth-input button:hover {background: #edf5f1; color: #12867e;}
.auth-input button:focus-visible,.auth-submit:focus-visible {outline: 3px solid #6cb6aa; outline-offset: 3px;}
.auth-submit {display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 52px; padding: 12px 18px; margin-top: 32px; border: 1px solid #17684f; border-radius: 5px; background: #17684f; color: #fff; font-size: 12px; font-weight: 650; transition: background-color 150ms;}
.auth-submit:hover {background: #10573f;}
.auth-submit .bi {font-size: 18px;}
.auth-submit:disabled {opacity: .7; cursor: wait;}
.auth-security {display: flex; align-items: center; gap: 7px; padding-top: 22px; margin-top: 30px; border-top: 1px solid #edf1ef; color: #65776b; font-size: 10px;}
.auth-security .bi {color: #829b8c; font-size: 12px;}
.auth-security-mark {margin-left: auto; color: #83958b; font-size: 11px; font-weight: 700;}
.auth-footer {grid-column: 1 / -1; color: #ffffffd9; font-size: 11px; line-height: 1.5; text-shadow: 0 1px 3px #001e195c;}
.auth-alert {display: flex; align-items: flex-start; gap: 9px; padding: 12px; margin-bottom: 20px; border: 1px solid #f2d7da; border-radius: 5px; background: #fff4f5; color: #ac3848; font-size: 13px;}
.auth-caps {display: block; font-size: 11px; color: #a37522; margin-top: 6px;}
.auth-caps[hidden] {display: none;}
.mmc-brand.mmc-brand-named {flex: 0 0 174px; width: 174px; flex-direction: column; justify-content: center; align-items: center; gap: 6px;}
.mmc-brand-named .mmc-logo {height: 40px; max-width: 112px;}
.mmc-brand-name {display: block; width: 100%; color: #405953; font-size: 10px; font-weight: 700; line-height: 1.4; text-align: center; text-wrap: balance;}
@media(min-width:1600px) {
    .auth-shell {grid-template-columns: minmax(0,1fr) 440px; column-gap: 120px;}
    .auth-panel {padding: 48px 42px 30px;}
}
@media(max-width:991.98px) {
    .auth-shell {width: calc(100% - 48px); max-width: 420px; padding: 32px 0 24px; grid-template-columns: minmax(0,1fr); grid-template-rows: auto auto auto; gap: 28px; align-content: center;}
    .auth-brand {padding: 0; text-align: center;}
    .auth-logo {width: 150px; height: 74px; padding: 10px; margin: 0 auto 20px;}
    .auth-brand h1 {font-size: 27px; line-height: 1.2;}
    .auth-name-prefix {font-size: 10px; margin-bottom: 8px;}
    .auth-brand-rule {width: 34px; height: 3px; margin: 18px auto 0;}
    .auth-footer {grid-column: 1; text-align: center;}
    .auth-scene {object-position: 56% center;}
}
@media(max-width:575.98px) {
    .auth-shell {width: calc(100% - 36px); padding: 24px 0; gap: 24px;}
    .auth-panel {padding: 28px 26px 24px;}
    .auth-panel::before {left: 26px;}
    .auth-heading {margin-bottom: 26px;}
    .auth-eyebrow {margin-bottom: 16px; font-size: 10px;}
    .auth-heading h2 {font-size: 26px;}
    .auth-field {margin-bottom: 20px;}
    .auth-submit {margin-top: 26px;}
    .auth-security {margin-top: 24px; padding-top: 18px;}
}
@media(prefers-reduced-motion:reduce) {.auth-input,.auth-submit {transition: none;}}

