/* Keep the login action legible inside estimator panel styles. */
.login-panel{width:min(520px,100%);margin:48px auto;padding:36px 28px}
.login-panel h1{margin:0 0 14px;font-size:clamp(28px,5vw,36px);line-height:1.2}
.login-panel p{margin:0 0 24px}
.login-panel a.login-google,.login-panel a.login-google:visited{color:#fff;min-height:48px;max-width:100%;padding:14px 24px;line-height:1.4;text-align:center}
.login-panel a.login-google:hover{background:#064b80}
.login-panel a.login-google:focus-visible{outline:3px solid #8cd2f4;outline-offset:4px}
.login-panel .login-status{margin:20px 0 16px;overflow-wrap:anywhere}
.login-panel .login-status:empty{display:none}
.login-panel small{display:block;margin-top:24px;line-height:1.6}
@media(max-width:560px){.login-panel{margin:28px auto;padding:28px 20px}.login-panel a.login-google{width:100%}}

/* Google-branded OAuth entry, separate from the active-session action. */
.login-panel a.login-google,.login-panel a.login-google:visited{background:#fff;color:#1f1f1f;border:1px solid #747775;border-radius:4px;font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:500;gap:12px;padding:12px}
.login-panel a.login-google:hover{background:#f2f2f2;box-shadow:0 1px 3px #0002}
.login-google svg{flex-shrink:0}
.login-panel .login-continue{display:block;margin-top:20px;text-decoration:none}
.login-panel [hidden]{display:none!important}


.login-page .site-header{position:absolute;inset:0 0 auto;z-index:50;background:transparent;border:0;padding:16px 0}
.login-page .site-header .brand,.login-page .site-header .brand-name,.login-page .site-header .brand-name span,.login-page .site-header nav a,.login-page .site-header nav button{color:#fff}
.login-page .login-hero{max-width:none;margin:0;padding:180px max(5%,24px) 80px;min-height:620px;background:linear-gradient(90deg,rgba(3,27,53,.92),rgba(3,27,53,.25)),url('/images/login-hero.webp') center/cover;display:flex;align-items:center}
.login-page .login-panel{margin:0;width:min(480px,100%);background:rgba(255,255,255,.96);border-radius:8px;padding:28px;box-shadow:0 12px 40px #001c3533}
.login-page .login-panel .login-access{margin:0 0 20px;color:#25456a;font-size:14px;line-height:1.5}
@media(max-width:760px){.login-page .site-header{position:relative;inset:auto;background:#082c61}.login-page .login-hero{min-height:0;display:block;padding:180px 12px 28px;background-position:65% top}.login-page .login-panel{margin:auto;padding:24px 20px}.login-page .site-header .nav{gap:12px}.login-page .site-header nav{gap:16px}}

/* Center the card and use Google's unmodified approved light button asset. */
.login-page .login-hero{justify-content:center;padding-top:170px;padding-bottom:100px}
.login-page .login-panel{margin:0 auto;text-align:center;background:#fff;border:1px solid #d7e4ee;border-radius:16px;padding:32px;box-shadow:0 20px 60px #001c3540}
.login-page .login-panel h1{font-size:32px;margin-bottom:24px}
.login-page .login-panel .login-access{font-size:13px;color:#46627d;max-width:320px;margin:0 auto 18px}
.login-page .login-panel a.login-google,.login-page .login-panel a.login-google:visited{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:44px;margin:0;padding:0;border:0;border-radius:4px;background:transparent;box-shadow:none}
.login-page .login-panel a.login-google img{display:block;width:180px;height:40px;max-width:100%;object-fit:contain}
.login-page .login-panel a.login-google:hover{background:transparent;box-shadow:0 1px 4px #1f1f1f26}
.login-page .login-panel .login-continue{border-top:1px solid #e2ebf2;padding-top:18px;color:#075b9c;font-weight:700}
@media(max-width:760px){.login-page .login-hero{display:flex;min-height:480px;padding:60px 12px;background-position:65% center}.login-page .login-panel{padding:28px 20px}}

.login-page #google-popup-button{display:flex;justify-content:center;min-height:44px}.login-page .login-redirect{display:block;font-size:12px;color:#46627d;margin-top:16px;text-underline-offset:3px}
