/* Compact login page override. Loaded after bluecg.css. */
@media all {
    body.bluecg-login-page {
        display: grid;
        min-height: 100svh;
        place-items: center;
        padding: clamp(.85rem, 3vw, 2rem);
        overflow-x: hidden;
        background:
            radial-gradient(circle at 18% 10%, rgba(53, 163, 157, .16), transparent 24rem),
            radial-gradient(circle at 88% 8%, rgba(222, 162, 78, .18), transparent 22rem),
            linear-gradient(135deg, #eef9f5 0%, #fffaf1 56%, #f4eadf 100%);
    }

    body.bluecg-login-page::before {
        opacity: .08;
        filter: saturate(.8);
    }

    body.bluecg-login-page .bluecg-login-shell {
        width: min(100% - 1rem, 31rem) !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    body.bluecg-login-page .bluecg-login-panel,
    body.bluecg-login-page .bluecg-panel.quest.bluecg-login-panel {
        display: block !important;
        width: 100% !important;
        max-width: 31rem !important;
        min-height: 0 !important;
        overflow: hidden !important;
        border: 1px solid rgba(45, 129, 125, .2) !important;
        border-radius: 1.15rem !important;
        background: linear-gradient(180deg, rgba(255, 254, 249, .98), rgba(255, 249, 238, .94)) !important;
        box-shadow:
            0 1.1rem 2.5rem rgba(50, 38, 25, .13),
            inset 0 1px 0 rgba(255, 255, 255, .94) !important;
    }

    body.bluecg-login-page .bluecg-login-panel::before,
    body.bluecg-login-page .bluecg-login-panel::after {
        display: none !important;
        content: none !important;
    }

    body.bluecg-login-page .bluecg-login-panel .bluecg-panel-inner {
        width: 100% !important;
        max-width: none !important;
        padding: clamp(1rem, 3vw, 1.35rem) !important;
        display: grid !important;
        gap: .9rem !important;
        align-content: start !important;
        justify-self: stretch !important;
    }

    body.bluecg-login-page .bluecg-login-layout {
        display: block !important;
    }

    body.bluecg-login-page .bluecg-login-side {
        display: none !important;
    }

    body.bluecg-login-page .bluecg-login-primary {
        display: grid !important;
        gap: .85rem !important;
        min-width: 0;
    }

    body.bluecg-login-page .bluecg-login-brand,
    body.bluecg-login-page .bluecg-brand.compact.bluecg-login-brand {
        display: grid !important;
        place-items: center !important;
        min-height: 4.7rem !important;
        margin: 0 !important;
        padding: .55rem .7rem !important;
        overflow: hidden !important;
        border: 1px solid rgba(45, 129, 125, .16) !important;
        border-radius: .9rem !important;
        background:
            linear-gradient(90deg, rgba(255, 254, 249, .92), rgba(255, 254, 249, .48)),
            var(--bcg-art-login) center 27% / cover no-repeat !important;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .82),
            0 .55rem 1.1rem rgba(37, 29, 20, .06) !important;
    }

    body.bluecg-login-page .bluecg-login-brand .bluecg-logo,
    body.bluecg-login-page .bluecg-brand.compact.bluecg-login-brand .bluecg-logo {
        width: min(100%, 16rem) !important;
        inline-size: min(100%, 16rem) !important;
        height: 3.35rem !important;
        block-size: 3.35rem !important;
        background-color: transparent !important;
        background-position: center !important;
        background-repeat: no-repeat !important;
        background-size: contain !important;
        box-shadow: none !important;
        filter: drop-shadow(0 .35rem .55rem rgba(20, 83, 92, .18)) !important;
    }

    body.bluecg-login-page .bluecg-login-brand .bluecg-kicker,
    body.bluecg-login-page .bluecg-brand.compact.bluecg-login-brand .bluecg-kicker {
        display: none !important;
    }

    body.bluecg-login-page .bluecg-login-head {
        margin: 0 !important;
        text-align: center !important;
    }

    body.bluecg-login-page .bluecg-login-copy {
        display: grid !important;
        gap: .25rem !important;
        margin: 0 !important;
    }

    body.bluecg-login-page .bluecg-login-copy span {
        color: #231f1b !important;
        font-size: 1.42rem !important;
        font-weight: 950 !important;
        line-height: 1.12 !important;
        letter-spacing: 0 !important;
    }

    body.bluecg-login-page .bluecg-login-copy small {
        color: #6d6258 !important;
        font-size: .9rem !important;
        font-weight: 760 !important;
        line-height: 1.45 !important;
    }

    body.bluecg-login-page .bluecg-login-form {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: .72rem !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    body.bluecg-login-page .bluecg-login-form > * {
        grid-column: 1 / -1 !important;
        min-width: 0;
    }

    body.bluecg-login-page .bluecg-login-form .bluecg-field {
        display: grid !important;
        gap: .32rem !important;
    }

    body.bluecg-login-page .bluecg-login-form label,
    body.bluecg-login-page .bluecg-login-form .bluecg-label,
    body.bluecg-login-page .bluecg-login-tabs legend {
        margin: 0 !important;
        color: #24211d !important;
        font-size: .86rem !important;
        font-weight: 900 !important;
        line-height: 1.3 !important;
        letter-spacing: 0 !important;
    }

    body.bluecg-login-page .bluecg-login-tabs {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: .35rem !important;
        padding: .38rem !important;
        border: 1px solid rgba(45, 129, 125, .14) !important;
        border-radius: .9rem !important;
        background: rgba(246, 239, 225, .62) !important;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .82),
            0 .25rem .7rem rgba(50, 38, 25, .04) !important;
    }

    body.bluecg-login-page .bluecg-login-tabs legend {
        grid-column: 1 / -1 !important;
        padding: 0 .12rem .08rem !important;
    }

    body.bluecg-login-page .bluecg-login-tabs label {
        display: grid !important;
        place-items: center !important;
        min-height: 2.45rem !important;
        padding: .42rem .36rem !important;
        border: 1px solid rgba(78, 68, 57, .13) !important;
        border-radius: .72rem !important;
        background: rgba(255, 255, 255, .76) !important;
        color: #5d544b !important;
        font-size: .82rem !important;
        font-weight: 900 !important;
        text-align: center !important;
        white-space: normal !important;
    }

    body.bluecg-login-page .bluecg-login-tabs label:has(input:checked) {
        border-color: rgba(36, 120, 117, .42) !important;
        background: linear-gradient(180deg, rgba(232, 251, 247, .98), rgba(255, 255, 253, .94)) !important;
        color: #247872 !important;
        box-shadow: 0 .35rem .75rem rgba(36, 120, 117, .1) !important;
    }

    body.bluecg-login-page .bluecg-login-tabs input {
        position: absolute !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body.bluecg-login-page .bluecg-login-form input,
    body.bluecg-login-page .bluecg-login-form select {
        width: 100% !important;
        min-height: 2.78rem !important;
        padding: .62rem .78rem !important;
        border-color: rgba(78, 68, 57, .22) !important;
        border-radius: .78rem !important;
        background: rgba(255, 255, 255, .94) !important;
        color: #24211d !important;
        font-size: 1rem !important;
        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, .9),
            0 .22rem .55rem rgba(50, 38, 25, .035) !important;
    }

    body.bluecg-login-page .bluecg-login-form input:focus,
    body.bluecg-login-page .bluecg-login-form select:focus {
        border-color: rgba(36, 120, 117, .58) !important;
        box-shadow:
            0 0 0 .2rem rgba(36, 120, 117, .13),
            inset 0 1px 0 rgba(255, 255, 255, .9) !important;
        outline: none !important;
    }

    body.bluecg-login-page .bluecg-password-control {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 4.35rem !important;
        gap: .45rem !important;
        align-items: center !important;
    }

    body.bluecg-login-page .bluecg-password-toggle,
    body.bluecg-login-page .bluecg-login-clear {
        min-height: 2.78rem !important;
        padding: .52rem .65rem !important;
        border: 1px solid rgba(36, 120, 117, .22) !important;
        border-radius: .78rem !important;
        background: rgba(255, 255, 255, .78) !important;
        color: #247872 !important;
        cursor: pointer !important;
        font-size: .82rem !important;
        font-weight: 920 !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
    }

    body.bluecg-login-page .bluecg-password-toggle:hover,
    body.bluecg-login-page .bluecg-password-toggle:focus-visible,
    body.bluecg-login-page .bluecg-login-clear:hover,
    body.bluecg-login-page .bluecg-login-clear:focus-visible {
        border-color: rgba(36, 120, 117, .42) !important;
        background: rgba(232, 251, 247, .96) !important;
        outline: none !important;
    }

    body.bluecg-login-page .bluecg-login-form > .bluecg-login-remember-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: .38rem .6rem !important;
        align-items: center !important;
        padding: .62rem !important;
        border: 1px solid rgba(45, 129, 125, .14) !important;
        border-radius: .82rem !important;
        background: linear-gradient(180deg, rgba(255, 255, 253, .84), rgba(235, 250, 246, .66)) !important;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78) !important;
    }

    body.bluecg-login-page .bluecg-login-remember {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        gap: .58rem !important;
        align-items: center !important;
        min-height: 0 !important;
        margin: 0 !important;
        cursor: pointer !important;
    }

    body.bluecg-login-page .bluecg-login-remember input[type="checkbox"] {
        width: 1rem !important;
        height: 1rem !important;
        min-height: 1rem !important;
        margin: 0 !important;
        padding: 0 !important;
        accent-color: #247872 !important;
        box-shadow: none !important;
    }

    body.bluecg-login-page .bluecg-login-remember span {
        display: grid !important;
        gap: .12rem !important;
        min-width: 0 !important;
    }

    body.bluecg-login-page .bluecg-login-remember strong {
        color: #24211d !important;
        font-size: .86rem !important;
        font-weight: 930 !important;
        line-height: 1.24 !important;
    }

    body.bluecg-login-page .bluecg-login-remember small,
    body.bluecg-login-page .bluecg-login-remember-status {
        color: #70655d !important;
        font-size: .76rem !important;
        font-weight: 760 !important;
        line-height: 1.38 !important;
    }

    body.bluecg-login-page .bluecg-login-remember-status {
        grid-column: 1 / -1 !important;
        min-height: 0 !important;
        margin: 0 !important;
    }

    body.bluecg-login-page .bluecg-login-remember-status:empty,
    body.bluecg-login-page .bluecg-login-remember-status[hidden],
    body.bluecg-login-page .bluecg-login-clear[hidden] {
        display: none !important;
    }

    body.bluecg-login-page .bluecg-login-form > div:has(.bluecg-turnstile) {
        display: grid !important;
        gap: .35rem !important;
        justify-items: start !important;
        overflow: hidden !important;
    }

    body.bluecg-login-page .bluecg-turnstile {
        max-width: 100% !important;
        overflow: hidden !important;
    }

    body.bluecg-login-page .bluecg-login-form .bluecg-button {
        width: 100% !important;
        min-height: 3.05rem !important;
        margin: .1rem 0 0 !important;
        border-radius: .85rem !important;
        background: linear-gradient(180deg, #35aaa2, #247872) !important;
        font-size: 1rem !important;
        font-weight: 950 !important;
        box-shadow:
            0 .7rem 1.25rem rgba(36, 120, 117, .23),
            inset 0 1px 0 rgba(255, 255, 255, .26) !important;
    }

    body.bluecg-login-page .bluecg-login-powered {
        margin: .25rem auto 0 !important;
        transform: none !important;
    }

    @media (max-width: 430px) {
        body.bluecg-login-page {
            padding: .65rem;
        }

        body.bluecg-login-page .bluecg-login-shell {
            width: 100% !important;
        }

        body.bluecg-login-page .bluecg-login-panel .bluecg-panel-inner {
            padding: .85rem !important;
        }

        body.bluecg-login-page .bluecg-login-tabs {
            grid-template-columns: 1fr !important;
        }

        body.bluecg-login-page .bluecg-password-control,
        body.bluecg-login-page .bluecg-login-form > .bluecg-login-remember-row {
            grid-template-columns: 1fr !important;
        }

        body.bluecg-login-page .bluecg-login-clear {
            justify-self: start !important;
        }
    }
}
