/* A quiet, self-contained authentication layout. */
.login-page #main{padding:0}
.login-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;min-height:100svh;padding:16px;gap:16px}
.login-showcase{position:relative;display:flex;flex-direction:column;min-width:0;padding:28px 32px 60px;background:#f3f5fc;border-radius:24px}
.login-back{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;font-size:var(--font-size-control);color:#657084}
.login-back:hover{color:var(--primary)}
.login-showcase-content{width:100%;max-width:540px;margin:auto;padding:36px 0}
.login-art{position:relative;width:100%;max-width:440px;aspect-ratio:1.12;margin:0 auto;overflow:hidden;border-radius:20px;background:#242828}
.login-art img{position:absolute;left:0;top:-4%;display:block;height:108%;width:auto;max-width:none}
.login-showcase-copy{text-align:center;margin:22px 0 0}
.login-showcase-copy h2{font-size:clamp(32px,2.6vw,46px);font-weight:500;line-height:1.2;margin:0 0 18px;letter-spacing:-1.6px}
.login-showcase-copy h2 span{color:var(--primary)}
.login-showcase-copy>p{font-size:var(--font-size-body);line-height:1.7;margin:0}
.login-signin{display:grid;grid-template-rows:auto 1fr auto;justify-items:center;min-width:0;padding:28px 40px 18px}
.login-brand{font-size:19px;gap:10px}
.login-form-wrap{align-self:center;text-align:center;max-width:380px;width:100%;padding:64px 0}
.login-form-wrap h1{font-family:inherit;font-size:30px;font-weight:550;letter-spacing:-1px;line-height:1.3;margin:0 0 12px;text-wrap:balance}
.login-intro{font-size:var(--font-size-control);line-height:1.7;margin:0 0 32px}
.login-google-form{margin:0}
.login-google-button{display:flex;align-items:center;justify-content:center;gap:13px;width:100%;min-height:54px;padding:14px 19px;border:1px solid #d9dfec;border-radius:10px;background:white;color:var(--ink);font-size:var(--font-size-control);font-weight:500;line-height:1.5;transition:border-color .2s,box-shadow .2s,background .2s}
.login-google-button>span{margin-left:auto;color:#77829a}
.login-google-button>svg{margin-right:auto;flex-shrink:0}
.login-google-button:hover{border-color:#8495ee;background:#fafbff;box-shadow:0 4px 16px #3f5ae40c}
.login-credit-note{margin:18px 0 0;font-size:var(--font-size-caption);line-height:1.7}
.login-privacy{display:flex;align-items:center;justify-content:center;gap:7px;font-size:var(--font-size-caption);line-height:1.6;margin:40px 0 0}
.login-privacy svg{flex-shrink:0}
.login-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 22px;font-size:var(--font-size-caption);color:#657084;text-align:center}
.login-company{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;flex-basis:100%;margin-top:8px}
.login-unavailable{border:1px solid #e0e5f4;background:#f7f8ff;border-radius:10px;padding:18px;font-size:var(--font-size-body)}
.login-unavailable strong{font-weight:500;color:#52617d}
.login-unavailable p{margin:6px 0 0;font-size:var(--font-size-caption);line-height:1.7}
@media(max-width:1100px){.login-showcase{padding:24px 20px 44px}.login-signin{padding:24px 28px 18px}.login-showcase-copy h2{font-size:34px}.login-form-wrap h1{font-size:27px}}
@media(max-width:760px){.login-layout{grid-template-columns:1fr;padding:0;gap:0}.login-showcase{display:none}.login-signin{min-height:100vh;min-height:100svh;padding:28px 24px 24px}.login-brand{font-size:18px}.login-form-wrap{padding:60px 0}.login-form-wrap h1{font-size:29px}.login-intro{max-width:290px;margin-left:auto;margin-right:auto}}
@media(prefers-reduced-motion:reduce){.login-google-button{transition:none}}
