/* GBS-PIM v3.2.10a – Login Hotfix, intentionally isolated from app theme */
html, body { min-height: 100%; }
body.login-body {
    margin: 0 !important;
    min-height: 100vh !important;
    padding: 32px 18px !important;
    display: grid !important;
    place-items: center !important;
    color: #2d3034;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background:
        radial-gradient(circle at -5% -10%, rgba(239,125,0,.20) 0 10%, transparent 31%),
        radial-gradient(circle at 105% 110%, rgba(100,100,100,.13) 0 10%, transparent 33%),
        linear-gradient(135deg, #f1f2f3 0%, #ffffff 50%, #f7e9db 100%) !important;
}
body.login-body .login-page {
    width: 100% !important;
    display: grid !important;
    place-items: center !important;
}
body.login-body .login-shell.login-shell-gbs {
    width: min(500px, 100%) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.login-body .login-gbs-logo-wrap {
    width: min(360px, 78vw) !important;
    margin: 0 auto 18px !important;
    padding: 0 !important;
    background: transparent !important;
    text-align: center !important;
}
body.login-body .login-gbs-logo {
    display: block !important;
    width: 100% !important;
    max-width: 360px !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}
body.login-body .login-card.login-card-gbs {
    width: 100% !important;
    padding: 30px 34px 26px !important;
    border: 1px solid rgba(74,74,74,.16) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 18px 45px rgba(49,43,37,.14) !important;
}
body.login-body .login-heading { text-align: center; margin: 0 0 24px; }
body.login-body .login-heading h1 { margin: 0 0 6px; font-size: clamp(1.45rem, 4vw, 1.9rem); font-weight: 800; color: #2b2e32; }
body.login-body .login-heading p { margin: 0; color: #73787e; }
body.login-body .login-card-gbs .form-label { margin-bottom: 7px; font-weight: 650; color: #303338; }
body.login-body .login-card-gbs .login-input {
    display: flex !important;
    overflow: hidden !important;
    border: 1px solid #d8dbde !important;
    border-radius: 10px !important;
    background: #fafafa !important;
}
body.login-body .login-card-gbs .login-input:focus-within { border-color: #ef7d00 !important; box-shadow: 0 0 0 3px rgba(239,125,0,.11) !important; }
body.login-body .login-card-gbs .login-input span { width: 46px !important; flex: 0 0 46px !important; display: grid !important; place-items: center !important; background: transparent !important; color: #858b90 !important; }
body.login-body .login-card-gbs .login-input .form-control { min-height: 50px !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
body.login-body .login-card-gbs .login-submit {
    min-height: 50px;
    border: 0 !important;
    border-radius: 10px !important;
    font-weight: 750;
    background: linear-gradient(90deg, #ef7d00, #ff9717) !important;
    box-shadow: 0 8px 18px rgba(239,125,0,.18) !important;
}
body.login-body .login-card-gbs .login-submit:hover,
body.login-body .login-card-gbs .login-submit:focus { background: linear-gradient(90deg, #d96f00, #ec8600) !important; }
body.login-body .login-product { margin-top: 22px; padding-top: 17px; border-top: 1px solid #e4e4e4; text-align: center; color: #74797e; line-height: 1.28; }
body.login-body .login-product strong,
body.login-body .login-product span { display: block; }
body.login-body .login-tagline { margin: 18px 0 0; text-align: center; color: #777d82; font-size: .82rem; letter-spacing: .12em; }
@media (max-width: 600px) {
    body.login-body { padding: 20px 14px !important; }
    body.login-body .login-shell.login-shell-gbs { width: min(430px, 100%) !important; }
    body.login-body .login-gbs-logo-wrap { width: min(280px, 72vw) !important; margin-bottom: 14px !important; }
    body.login-body .login-card.login-card-gbs { padding: 24px 20px 21px !important; border-radius: 15px !important; }
    body.login-body .login-heading { margin-bottom: 20px; }
    body.login-body .login-tagline { margin-top: 15px; font-size: .7rem; letter-spacing: .08em; }
}
