:root {
    --login-yellow: #ffe600;
    --login-green: #08aa1b;
    --login-ink: #22252d;
    --login-muted: #747985;
    --login-line: #e5e7eb;
    --login-surface: #ffffff;
}

html {
    background: #eef0f3;
}

body {
    margin: 0 !important;
    min-height: 100vh;
    padding: 0 !important;
    background: #eef0f3 !important;
    color: var(--login-ink) !important;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif !important;
}

.ow-header,
.guest-banner,
.sportsbook-nav,
.nav-wrapper,
#alpha-betslip-float,
footer {
    display: none !important;
}

.login-wrapper {
    width: min(100%, 480px) !important;
    min-height: 100vh !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block !important;
    background: #f5f6f7 !important;
    box-shadow: 0 0 34px rgba(28, 31, 38, .12);
}

.ms-login-card {
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh !important;
    padding: 0 18px 36px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
        radial-gradient(circle at 92% 4%, rgba(0, 126, 28, .42), transparent 34%) top / 100% 214px no-repeat,
        linear-gradient(128deg, #fff01a 0%, #ffe000 52%, #bfea57 100%) top / 100% 214px no-repeat,
        #f5f6f7 !important;
    box-shadow: none !important;
    overflow: hidden;
}

.login-close-row {
    height: 54px !important;
    padding-top: env(safe-area-inset-top);
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    position: relative;
    z-index: 4;
}

.login-close {
    width: 36px !important;
    height: 36px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(35, 38, 46, .18) !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .58) !important;
    color: var(--login-ink) !important;
    text-decoration: none !important;
    font-size: 18px !important;
    transition: transform .16s ease, background .16s ease;
}

.login-close:active {
    transform: scale(.94);
    background: #fff !important;
}

.mega-login-logo {
    width: 100%;
    margin: 4px auto 22px !important;
    padding-left: 11px;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 11px !important;
    position: relative;
    z-index: 3;
}

.login-player-art {
    position: absolute;
    z-index: 2;
    top: -15px;
    right: -22px;
    width: 195px;
    height: 222px;
    object-fit: contain;
    object-position: center;
    pointer-events: none;
    opacity: .57;
    filter: saturate(1.08) contrast(1.06) drop-shadow(0 10px 14px rgba(21, 72, 24, .18));
}

.mega-login-logo img {
    width: 64px;
    height: 64px;
    display: block;
    border-radius: 15px;
    object-fit: cover;
    box-shadow: 0 8px 18px rgba(18, 92, 30, .18);
}

.mega-login-wordmark {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1;
}

.mega-login-wordmark strong {
    position: relative;
    display: flex;
    align-items: baseline;
    gap: 5px;
    color: #20232b !important;
    font-size: 26px !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    font-style: italic;
    transform: skewX(-6deg);
    text-shadow: 0 1px 0 rgba(255, 255, 255, .35);
}

.mega-login-wordmark strong::after {
    content: '';
    position: absolute;
    left: 2px;
    bottom: -5px;
    width: 48px;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, #20232b 0 45%, #079e1b 45% 100%);
}

.mega-login-wordmark strong b,
.mega-login-wordmark strong em {
    font: inherit;
}

.mega-login-wordmark strong em {
    color: #078f19;
}

.mega-login-wordmark small {
    margin-top: 7px;
    color: #4d515b;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: 0;
}

.login-form-panel {
    position: relative;
    padding: 24px 20px 22px;
    border: 1px solid rgba(27, 31, 39, .08);
    border-radius: 16px;
    background: var(--login-surface);
    box-shadow: 0 15px 34px rgba(30, 34, 43, .12);
    z-index: 3;
}

.ms-login-title {
    margin: 0 !important;
    color: var(--login-ink) !important;
    font-size: 22px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    text-align: left !important;
}

.login-subtitle {
    margin: 7px 0 19px;
    color: var(--login-muted);
    font-size: 13px;
    line-height: 1.45;
}

.login-error {
    margin: 0 0 13px !important;
    padding: 9px 11px !important;
    border: 1px solid #ffc9c9 !important;
    border-radius: 8px !important;
    background: #fff3f3 !important;
    color: #b4232d !important;
    font-size: 12px !important;
    text-align: left !important;
}

.ms-fieldset {
    position: relative !important;
    height: 48px !important;
    margin: 0 0 11px !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    border: 1px solid var(--login-line) !important;
    border-radius: 9px !important;
    background: #f7f8f9 !important;
    box-shadow: none !important;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.ms-fieldset:focus-within {
    border-color: var(--login-green) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(8, 170, 27, .10) !important;
}

.ms-legend {
    display: none !important;
}

.login-country-select {
    width: 92px !important;
    flex: 0 0 92px !important;
    height: 32px !important;
    margin-right: 10px !important;
    padding: 0 8px 0 1px !important;
    border: 0 !important;
    border-right: 1px solid #d9dce1 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #323640 !important;
    font: 750 12px/1 Arial, sans-serif !important;
    outline: 0 !important;
}

.input-prefix-icon {
    width: 24px !important;
    height: 24px !important;
    margin-right: 8px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #767c87 !important;
    font-size: 13px !important;
}

.ms-input {
    width: 100% !important;
    height: 100% !important;
    min-width: 0;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: var(--login-ink) !important;
    font-size: 14px !important;
    font-weight: 550 !important;
}

.ms-input::placeholder {
    color: #9da2ac !important;
    opacity: 1;
}

.login-eye {
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px;
    display: grid !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #777d88 !important;
    font-size: 14px !important;
}

.ms-btn {
    width: 100% !important;
    height: 48px !important;
    margin: 5px 0 14px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: var(--login-green) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    box-shadow: 0 7px 15px rgba(8, 170, 27, .19) !important;
    transition: transform .16s ease, filter .16s ease !important;
}

.ms-btn:active {
    transform: translateY(1px) scale(.99);
    filter: brightness(.94);
}

.ms-footer-links {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 0 !important;
}

.ms-forgot {
    align-self: flex-end !important;
    color: #5e6878 !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    text-decoration: none !important;
}

.login-account-divider {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 11px;
    color: #9a9fa8;
    font-size: 11px;
}

.login-account-divider::before,
.login-account-divider::after {
    content: '';
    height: 1px;
    flex: 1;
    background: #e7e9ec;
}

.ms-signup {
    width: 100%;
    height: 44px;
    display: grid !important;
    place-items: center;
    border: 1px solid var(--login-green);
    border-radius: 9px;
    color: #078f17 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.ms-signup::before,
.ms-signup::after {
    display: none !important;
}

.login-security {
    margin-top: 18px !important;
    color: #969ba4 !important;
    font-size: 10px !important;
    text-align: center !important;
}

.login-security i {
    margin-right: 5px;
    color: var(--login-green) !important;
}

@media (max-width: 380px) {
    .ms-login-card {
        padding-inline: 13px !important;
    }

    .login-form-panel {
        padding: 21px 16px 19px;
    }

    .mega-login-logo img {
        width: 57px;
        height: 57px;
    }

    .mega-login-wordmark strong {
        font-size: 23px !important;
    }

    .login-player-art {
        right: -31px;
        width: 174px;
        opacity: .5;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .mega-login-logo {
        animation: loginBrandIn .42s ease-out both;
    }

    .login-player-art {
        animation: loginPlayerFloat 5s ease-in-out infinite;
    }

    .login-form-panel {
        animation: loginPanelIn .46s .05s cubic-bezier(.2, .75, .25, 1) both;
    }

    @keyframes loginBrandIn {
        from { opacity: 0; transform: translateY(-8px); }
        to { opacity: 1; transform: translateY(0); }
    }

    @keyframes loginPanelIn {
        from { opacity: 0; transform: translateY(14px); }
        to { opacity: 1; transform: translateY(0); }
    }

    @keyframes loginPlayerFloat {
        0%, 100% { transform: translate3d(0, 0, 0) rotate(-1deg); }
        50% { transform: translate3d(-3px, -5px, 0) rotate(1deg); }
    }
}

/* Login contrast follows the saved site theme. Kept here so it wins over page-local light styles. */
html[data-theme="dark"] {
    --login-ink: #f8fafc;
    --login-muted: #c5ccd6;
    --login-line: #454d59;
    --login-surface: #1b2027;
    background: #0d1014 !important;
}

html[data-theme="dark"] body,
html[data-theme="dark"] .login-wrapper {
    background: #0d1014 !important;
    color: #f8fafc !important;
}

html[data-theme="dark"] .ms-login-card {
    background:
        radial-gradient(circle at 92% 4%, rgba(14, 112, 37, .54), transparent 34%) top / 100% 214px no-repeat,
        linear-gradient(128deg, #e4ca00 0%, #aa9700 52%, #406e28 100%) top / 100% 214px no-repeat,
        #11151a !important;
}

html[data-theme="dark"] .login-form-panel {
    background: #1b2027 !important;
    border-color: rgba(255,255,255,.18) !important;
    box-shadow: inset 2px 0 rgba(255,255,255,.18), 0 18px 38px rgba(0,0,0,.38) !important;
}

html[data-theme="dark"] .ms-login-title,
html[data-theme="dark"] .login-subtitle,
html[data-theme="dark"] .login-account-divider,
html[data-theme="dark"] .login-security {
    color: #f4f7fa !important;
}

html[data-theme="dark"] .login-subtitle,
html[data-theme="dark"] .login-account-divider,
html[data-theme="dark"] .login-security {
    color: #c5ccd6 !important;
}

html[data-theme="dark"] .login-account-divider::before,
html[data-theme="dark"] .login-account-divider::after {
    background: #3f4651 !important;
}

html[data-theme="dark"] .ms-fieldset {
    background: #252b33 !important;
    border-color: #46505d !important;
}

html[data-theme="dark"] .ms-fieldset:focus-within {
    background: #292f38 !important;
    border-color: #35d24a !important;
}

html[data-theme="dark"] .login-country-select,
html[data-theme="dark"] .ms-input {
    color: #ffffff !important;
}

html[data-theme="dark"] .login-country-select {
    border-right-color: #56606d !important;
}

html[data-theme="dark"] .ms-input::placeholder {
    color: #b0b8c3 !important;
}

html[data-theme="dark"] .input-prefix-icon,
html[data-theme="dark"] .login-eye {
    color: #d2d8e0 !important;
}

html[data-theme="dark"] .ms-forgot {
    color: #9fc4ff !important;
}

html[data-theme="dark"] .ms-signup {
    color: #67e977 !important;
    border-color: #42d657 !important;
}
