/* Only the native /web/login branch loads this stylesheet. Native form and JS remain intact. */
.gs-access-body:has(.gl-login),.gs-access-body:has(.gl-login) #wrapwrap,.gs-access-body:has(.gl-login) #wrapwrap>main{margin:0;background:#080d0f;min-height:100vh}
.gl-login{--gl-mint:#6be4b1;display:grid;grid-template-columns:53% 47%;min-height:100svh;width:100%;font-family:Arial,Helvetica,sans-serif;color:#f6f7f7;isolation:isolate}
.gl-login *{box-sizing:border-box}.gl-login a{color:var(--gl-mint)}.gl-login a:focus-visible,.gl-login button:focus-visible{outline:3px solid #6be4b1;outline-offset:5px}.gl-login .gl-brand{position:relative;overflow:hidden;min-width:0;background:radial-gradient(ellipse at 85% 10%,#326657 0,transparent 58%),linear-gradient(110deg,#002b20,#003d2e 70%,#073f31)}
.gl-login .gl-logo{position:absolute;left:8%;top:5.3%;z-index:4;display:block;width:39%;max-width:292px}.gl-login .gl-logo img{display:block;width:100%;height:auto;object-fit:contain}.gl-login .gl-shape{position:absolute;left:-10%;top:20%;width:77%;height:36%;transform:skew(-36deg);border:65px solid #68c5a516;border-right:0;pointer-events:none}.gl-login .gl-portrait{position:absolute;right:-1%;bottom:0;height:94%;width:102%;object-fit:contain;object-position:right bottom;filter:drop-shadow(-16px 12px 22px #00180d45)}
.gl-login .gl-copy{position:relative;z-index:3;margin:0 5% 0 8%;padding-top:clamp(440px,56svh,680px);padding-bottom:12svh;text-shadow:0 2px 10px #00180db0}.gl-login .gl-copy h1{font-family:inherit;font-size:clamp(34px,3.7vw,60px);font-weight:700;letter-spacing:-.035em;line-height:1.08;color:#fff;margin:0 0 25px}.gl-login .gl-copy h1 span{color:#3cce9c}.gl-login .gl-copy p{font-size:clamp(16px,1.5vw,23px);line-height:1.45;color:#e4e9e8;margin:0}
.gl-login .gl-account{position:relative;min-width:0;background:radial-gradient(ellipse at 100% 100%,#0c1314,#080c0e 72%);display:flex;align-items:center;padding:140px 8% 80px 15%}.gl-login .gl-home{position:absolute;right:9%;top:6%;color:#dce0e0;font-size:15px;text-decoration:none}.gl-login .gl-home span{font-size:24px;vertical-align:-2px;margin-right:14px}.gl-login .gl-form-panel{width:100%;max-width:520px;margin:0 auto}.gl-login .gl-login-icon{width:44px;height:44px;color:var(--gl-mint);display:block;margin-bottom:24px}.gl-login h2{font-family:inherit;font-size:clamp(25px,2.5vw,37px);font-weight:700;letter-spacing:-.025em;line-height:1.2;margin:0 0 22px;color:#fff}.gl-login .gl-signup{font-size:clamp(14px,1.25vw,19px);line-height:1.6;margin:0 0 52px;color:#f3f5f4}.gl-login .gl-signup a{white-space:normal;text-underline-offset:5px;margin-left:5px}
.gl-login .oe_login_form{max-width:none;width:100%;margin:0!important;color:#f2f4f4}.gl-login .form-label{font:400 16px/1.4 Arial,Helvetica,sans-serif;color:#d9dce3;margin-bottom:10px}.gl-login .field-login{position:relative;margin-bottom:30px!important}.gl-login .field-login:after{content:'✉';position:absolute;bottom:15px;left:20px;color:#4d5565;font-size:22px;pointer-events:none}.gl-login input[name='login'],.gl-login input[name='password']{background:#FFFFFF!important;color:#202936!important;border:1px solid #c8ccd2!important;border-radius:8px!important;min-height:60px;width:100%;font:400 16px/1.4 Arial,Helvetica,sans-serif;padding:17px 20px 17px 58px;box-shadow:none}.gl-login input[name='login']::placeholder,.gl-login input[name='password']::placeholder{color:#6d7483;opacity:1}.gl-login input:focus{outline:3px solid #6be4b1;outline-offset:2px}.gl-login .o_caps_lock_warning{position:relative;padding-bottom:44px}.gl-login .o_caps_lock_warning>.d-flex{position:static!important}.gl-login .o_caps_lock_warning a[href*='reset_password']{position:absolute;bottom:0;right:0;font-size:15px;padding:0;line-height:1.5;color:var(--gl-mint);text-decoration:underline;text-underline-offset:4px}.gl-login .o_caps_lock_warning .input-group{position:relative;flex-wrap:nowrap;margin:0!important;background:#fff;border-radius:8px}.gl-login .o_caps_lock_warning .input-group:before{content:'';background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234d5565' stroke-width='1.8'%3E%3Crect x='5' y='10' width='14' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3M12 14v3'/%3E%3C/svg%3E") center/22px no-repeat;width:22px;height:24px;position:absolute;z-index:5;left:20px;top:17px;color:#4d5565;font-size:21px;pointer-events:none}.gl-login input[name='password']{min-width:0;border-right:0!important;border-radius:8px 0 0 8px!important}.gl-login .o_show_password{color:#586273!important;background:#fff!important;border:1px solid #c8ccd2!important;border-left:0!important;border-radius:0 8px 8px 0!important;padding:0 20px;min-width:54px;font-size:18px}.gl-login .oe_login_buttons{padding-top:40px!important}.gl-login .oe_login_buttons>button[type='submit']{background:linear-gradient(110deg,#178d67,#218b6d)!important;border:1px solid #38b98a!important;border-radius:8px;color:#fff!important;min-height:62px;font:600 18px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.02em;box-shadow:none}.gl-login .oe_login_buttons>button[type='submit']:after{content:' →';margin-left:15px}.gl-login .oe_login_buttons>button[type='submit']:hover{background:#117554!important}.gl-login .alert{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.gl-login .o_login_auth{margin-top:12px}.gl-login .o_login_auth .text-muted{color:#abb7b2!important}.gl-login .o_login_auth .list-group-item{background:#101a18;border-color:#2a4138;color:#b8e5d3}.gl-login .gl-terms{font-size:13px;line-height:1.7;text-align:center;color:#ccd1d0;margin:65px 0 0}.gl-login .gl-terms a{text-underline-offset:4px}.gl-login .oe_structure:empty{display:none}
@media(min-width:1500px){.gl-login .gl-account{padding-left:13%;padding-right:10%}}
@media(max-width:1000px){.gl-login{grid-template-columns:46% 54%}.gl-login .gl-account{padding:120px 7% 60px}.gl-login .gl-copy{padding-top:52svh;padding-bottom:70px;margin-left:7%;margin-right:4%}.gl-login .gl-copy h1{font-size:clamp(27px,3.5vw,40px)}.gl-login .gl-copy p{font-size:16px}.gl-login .gl-logo{width:60%;top:35px}.gl-login .gl-signup{margin-bottom:32px}.gl-login .gl-terms{margin-top:40px}}
@media(max-width:700px){.gl-login{display:block;min-height:100svh}.gl-login .gl-brand{min-height:100px;background:#003629}.gl-login .gl-logo{position:relative;top:auto;left:auto;width:190px;padding:28px 0;margin-left:24px;max-width:60%}.gl-login .gl-copy,.gl-login .gl-portrait,.gl-login .gl-shape{display:none}.gl-login .gl-account{min-height:calc(100svh - 100px);padding:90px 24px 36px;align-items:flex-start}.gl-login .gl-home{top:24px;right:24px;font-size:13px}.gl-login .gl-login-icon{width:36px;height:36px;margin-bottom:20px}.gl-login h2{font-size:29px}.gl-login .gl-signup{font-size:14px;margin-bottom:32px}.gl-login .gl-signup a{display:inline-block;margin-left:0}.gl-login .gl-terms{margin-top:36px;font-size:12px}.gl-login input[name='login'],.gl-login input[name='password']{min-height:56px;font-size:16px}.gl-login .gl-copy h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){.gl-login *{transition:none!important}}

/* Compact approved layout: content determines height; no clipping or hidden auth controls. */
.gl-login .gl-logo{width:34%;max-width:235px;top:32px}
.gl-login .gl-portrait{height:88%;width:94%;right:0}
.gl-login .gl-copy{position:absolute;bottom:7%;left:8%;right:5%;margin:0;padding:0}
.gl-login .gl-copy h1{font-size:clamp(30px,3.3vw,48px);margin-bottom:18px}
.gl-login .gl-copy p{font-size:clamp(16px,1.3vw,19px);line-height:1.45}
.gl-login .gl-account{min-height:100svh;padding:80px 8% 28px 12%}
.gl-login .gl-form-panel{max-width:450px}
.gl-login .gl-home{top:28px;font-size:14px}
.gl-login .gl-login-icon{width:30px;height:30px;margin-bottom:12px}
.gl-login h2{font-size:clamp(25px,2.3vw,33px);margin-bottom:14px}
.gl-login .gl-signup{font-size:15px;margin-bottom:24px;line-height:1.5}
.gl-login .form-label{font-size:14px;margin-bottom:7px}
.gl-login .field-login{margin-bottom:18px!important}
.gl-login input[name='login'],.gl-login input[name='password']{min-height:48px;padding:12px 16px 12px 48px;font-size:16px}
.gl-login .field-login:after{left:16px;bottom:10px;font-size:20px}
.gl-login .o_caps_lock_warning{padding-bottom:30px}
.gl-login .o_caps_lock_warning a[href*='reset_password']{font-size:13px}
.gl-login .o_caps_lock_warning .input-group:before{left:16px;top:12px;width:20px;height:22px;background-size:20px}
.gl-login .o_show_password{min-width:44px;padding:0 14px;font-size:16px}
.gl-login .oe_login_buttons{padding-top:24px!important}
.gl-login .oe_login_buttons>button[type='submit']{min-height:48px;font-size:16px}
.gl-login .o_login_auth{margin-top:6px}
.gl-login .o_login_auth .text-muted{margin-top:8px!important;margin-bottom:8px!important;font-size:12px}
.gl-login .o_login_auth .list-group-item{padding:6px 12px!important;font-size:14px}
.gl-login .gl-terms{font-size:12px;margin-top:24px}
.gl-login .field-login .btn-link{color:var(--gl-mint)!important;font-size:12px}
.gl-login input[name='login']:-webkit-autofill,.gl-login input[name='password']:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#202936!important}
@media(min-width:1500px){.gl-login .gl-account{padding-left:12%;padding-right:10%}}
@media(min-width:701px) and (max-height:720px){
.gl-login .gl-account{padding-top:64px;padding-bottom:20px}
.gl-login .gl-login-icon{width:26px;height:26px;margin-bottom:10px}
.gl-login h2{font-size:27px;margin-bottom:10px}
.gl-login .gl-signup{margin-bottom:18px;font-size:14px}
.gl-login .field-login{margin-bottom:14px!important}
.gl-login input[name='login'],.gl-login input[name='password']{min-height:44px;padding-top:10px;padding-bottom:10px}
.gl-login .o_caps_lock_warning .input-group:before{top:10px}
.gl-login .oe_login_buttons{padding-top:18px!important}
.gl-login .gl-terms{margin-top:16px}
.gl-login .gl-copy h1{font-size:clamp(28px,3vw,40px)}
.gl-login .gl-copy p{font-size:16px}
}
@media(min-width:701px) and (max-width:1000px){.gl-login .gl-account{padding-left:7%;padding-right:7%}.gl-login .gl-logo{width:55%;max-width:220px}.gl-login .gl-copy{left:7%;right:4%}.gl-login .gl-copy h1{font-size:clamp(26px,3.3vw,34px)}.gl-login .gl-signup{font-size:14px}}
@media(max-width:700px){
.gl-login .gl-brand{min-height:80px}
.gl-login .gl-logo{position:relative;top:auto;left:auto;width:165px;padding:22px 0;margin-left:24px}
.gl-login .gl-account{min-height:calc(100svh - 80px);padding:76px 24px 24px}
.gl-login .gl-home{top:22px;right:24px;font-size:13px}
.gl-login .gl-copy,.gl-login .gl-portrait,.gl-login .gl-shape{display:none}
.gl-login .gl-form-panel{max-width:450px}
.gl-login h2{font-size:27px}
.gl-login .gl-signup{font-size:14px;margin-bottom:24px}
.gl-login .gl-terms{margin-top:24px}
}

/* Login polish: all existing native/SSO/Passkey controls remain available. */
.gl-login .gl-account{align-items:flex-start;padding-top:72px;padding-bottom:24px}
.gl-login .gl-form-panel{max-width:470px}
.gl-login .gl-login-icon{width:26px;height:26px;margin-bottom:8px}
.gl-login h2{margin-bottom:10px}
.gl-login .gl-signup{font-size:13px;line-height:1.5;margin:0 0 16px}
.gl-login .gl-signup a{display:inline!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;font:inherit!important;color:var(--gl-mint)!important;background:transparent!important;white-space:normal}
.gl-login .gl-signup-divider{padding:0 5px;color:#91b4a5}
.gl-login .form-label{font-size:13px;line-height:1.4;margin-bottom:5px}
.gl-login .field-login{margin-bottom:12px!important}
.gl-login .o_caps_lock_warning{padding-bottom:24px;margin-bottom:0!important}
.gl-login input[name='login'],.gl-login input[name='password']{min-height:44px;padding-top:10px;padding-bottom:10px}
.gl-login .o_caps_lock_warning .input-group:before{top:10px}
.gl-login .oe_login_buttons{padding-top:14px!important}
.gl-login .oe_login_buttons>button[type='submit']{min-height:44px}
.gl-login .o_login_auth{margin-top:4px}
.gl-login .o_login_auth .text-muted{font-size:11px;line-height:1.4;margin:5px 0!important}
.gl-login .o_login_auth .list-group-item{min-height:40px;padding:7px 12px!important;font-size:13px}
.gl-login .o_garadso_sso{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 10px;margin-top:8px!important}
.gl-login .o_garadso_sso>div{grid-column:1/-1;font-size:11px;line-height:1.4;margin:3px 0 6px!important;color:#b2c9bd!important}
.gl-login .o_garadso_sso>a{min-height:40px;width:100%!important;margin:0!important;padding:7px 8px!important;border:1px solid #36564a!important;border-radius:8px;background:#101a18;color:#c7ecdd!important;font-size:12px!important;line-height:1.35;gap:6px!important;white-space:normal}
.gl-login .o_garadso_sso>a img{width:18px;height:18px;flex:none;object-fit:contain}
.gl-login .gl-terms{font-size:11px;line-height:1.5;margin-top:14px}
@media(min-width:701px) and (max-height:800px){.gl-login .gl-account{padding-top:60px;padding-bottom:18px}.gl-login h2{font-size:26px}.gl-login .gl-signup{margin-bottom:12px}.gl-login .gl-copy{bottom:6%}.gl-login .gl-copy h1{font-size:clamp(27px,3vw,40px);margin-bottom:12px}.gl-login .gl-copy p{font-size:15px}}
@media(max-width:700px){.gl-login .gl-account{padding-top:68px;padding-bottom:24px}.gl-login .gl-form-panel{max-width:470px}.gl-login .gl-signup{font-size:13px}.gl-login .o_garadso_sso>a{font-size:12px!important}}
@media(max-width:350px){.gl-login .o_garadso_sso{grid-template-columns:minmax(0,1fr);gap:8px}.gl-login .gl-signup-divider{padding:0 2px}}

.gl-login .o_garadso_sso>a[href*="/auth/google/start?"] img{content:url("/garadso_workspace_login/static/src/google-g.png?v=d1ce9c2af0b10a73");filter:none!important;opacity:1!important}
