/* Authentication reference: a single, narrow card with stacked provider buttons. */
body:has(#account-guest:not([hidden])) main{max-width:1120px;min-height:70vh}
body:has(#account-guest:not([hidden])) main>.eyebrow,body:has(#account-guest:not([hidden])) main>h1,body:has(#account-guest:not([hidden])) main>.lead{display:none}
#account-guest:not([hidden]){display:flex;flex-direction:column;width:min(100%,440px);margin:32px auto;padding:30px;background:var(--surface,#fff);border:1px solid var(--line,#dce1e8);border-radius:20px;box-sizing:border-box;gap:0}
#account-guest [hidden]{display:none!important}
#account-guest>.info,#account-guest form.info{padding:0;margin:0;border:0;box-shadow:none;background:none;border-radius:0;max-width:none;width:100%}
#account-guest .auth-heading{order:-3;margin:0 0 20px}#account-guest .auth-heading h2{font-size:28px;margin:0 0 8px;font-weight:600}#account-guest .auth-heading p{font-size:14px;margin:0;color:var(--muted,#626d7e)}
#account-guest #google-signin,#account-guest #alternative-signin{order:-2;margin:0 0 10px;padding:0;background:none;border:0}
#account-guest .signin-options{display:flex;flex-direction:column;gap:10px}#account-guest .signin-options>div{width:100%}
#account-guest #passkey-login{order:-1;margin:0 0 10px}
#account-guest .auth-divider{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted,#687386);margin:10px 0 18px;order:-1}
.auth-divider:before,.auth-divider:after{content:'';height:1px;background:var(--line,#ddd);flex:1}
#account-guest .btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;border-radius:28px;font-size:14px;line-height:1.4;padding:10px 15px;white-space:normal;box-sizing:border-box}
#account-guest .btn.secondary{background:transparent;border:1px solid var(--line,#dce1e8);color:inherit}#account-guest .google-icon{display:none}#account-guest .auth-icon{width:18px;height:18px;flex:none}
#account-guest .field{display:flex;flex-direction:column;gap:6px;margin:0 0 16px;font-size:14px}#account-guest input:not([type=checkbox]){width:100%;min-height:46px;font-size:16px;box-sizing:border-box;border:1px solid var(--line,#c2c8d0);border-radius:8px;padding:10px 12px}
.auth-remember{display:flex!important;flex-direction:row!important;align-items:center;gap:10px!important;font-size:14px!important;margin:6px 0 14px!important;min-height:32px}.auth-remember input{width:18px!important;height:18px!important;min-height:0!important;margin:0;accent-color:#0b57d0;flex:none}
#account-guest .auth-security{font-size:11px;line-height:1.6;color:var(--muted,#626d7e);margin:0 0 18px}#account-guest .auth-security p{margin:6px 0}
#account-guest .account-tabs{order:5;display:flex;flex-wrap:wrap;gap:8px 14px;margin:16px 0 0;padding:0;font-size:12px;border:0;background:none}#account-guest .account-tabs a{padding:0;background:none;border:0}
body:has(#account-guest:not([hidden])) #account-message{max-width:440px;margin:16px auto;overflow-wrap:anywhere}
#account-guest button:focus-visible,#account-guest a:focus-visible,#account-guest input:focus-visible{outline:3px solid #4487ee;outline-offset:3px}
html[data-theme=dark] #account-guest{background:var(--surface,#111722)}
@media(max-width:480px){#account-guest:not([hidden]){margin:20px auto;padding:24px 18px}#account-guest .auth-heading h2{font-size:26px}}

#account-guest #google-login img{display:none}#account-guest .signin-options #passkey-login{margin-bottom:0}

#account-guest #google-login{border:1px solid var(--line,#dce1e8)!important;padding:10px 15px!important;min-height:46px!important;height:auto!important;border-radius:28px!important;background:transparent!important}

/* Match the measured weather.uk.app authentication card. */
body:has(#account-guest:not([hidden])) main{padding:48px 28px 24px}
#account-guest:not([hidden]){--surface:#fff;--ink:#202124;--muted:#596575;--line:#dfe3eb;--auth-accent:#0b57d0;--auth-accent-ink:#fff;display:flex;width:min(100%,424px);margin:0 auto;padding:32px 32px 24px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;color:var(--ink);border-radius:20px;background:var(--surface)}
#account-guest .auth-heading{margin:0}#account-guest .auth-heading h2{font-size:34px;font-weight:500;line-height:1.1;letter-spacing:-1px;margin:0}
#account-guest #google-signin{margin:18px 0 10px}#account-guest #alternative-signin{margin:18px 0 0}#account-guest #alternative-signin #google-signin{margin:0}
#account-guest .signin-options{gap:10px}#account-guest #passkey-login,#account-guest .signin-options #passkey-login{margin:0}
#account-guest .auth-divider{font-size:12px;font-weight:400;line-height:1.6;letter-spacing:1px;gap:12px;margin:18px 0 0}
#account-guest form.account-form{display:flex;flex-direction:column;gap:14px;margin:14px 0}
#account-guest .field{font-size:14.4px;font-weight:600;line-height:1.6;color:var(--muted);gap:5px;margin:0}
#account-guest input:not([type=checkbox]){font-family:inherit;font-size:14.4px;font-weight:600;line-height:1.6;color:var(--ink);background:var(--surface);min-height:44px;height:auto;margin:0;padding:11px 12px;border:1px solid #bbc4d0;border-radius:9px}
#account-guest .btn,#account-guest #google-login{font-family:inherit;font-size:14px;font-weight:400;line-height:1.6;letter-spacing:normal;padding:12px 20px!important;min-height:44px!important;height:auto!important;border-radius:24px!important;gap:6px;background:var(--auth-accent);color:var(--auth-accent-ink)}
#account-guest .btn.secondary,#account-guest #google-login{gap:10px;font-weight:500;background:var(--surface)!important;color:var(--ink);border:1px solid var(--line)!important}
#account-guest .auth-remember{font-size:14px!important;font-weight:600;line-height:1.6;color:var(--muted);margin:6px 0 14px!important}
#account-guest .auth-security{font-size:12px;line-height:1.6;margin:0;color:var(--muted)}#account-guest .auth-security p{font-size:12px;line-height:1.6;margin:12px 0;color:inherit}
#account-guest .account-tabs{font-size:12px;line-height:1.6;margin:0 0 12px;gap:0;flex-direction:column;align-items:flex-start}
html[data-theme=dark] #account-guest:not([hidden]){--surface:#1a2331;--ink:#e5eaf2;--muted:#b6c1d2;--line:#394455;--auth-accent:#9dc1ff;--auth-accent-ink:#102443}
html[data-theme=dark] #account-guest input:not([type=checkbox]){background:#111b29;border-color:#52627a}
@media(max-width:540px){body:has(#account-guest:not([hidden])) main{padding:28px 16px 24px}#account-guest:not([hidden]){padding:24px 18px;margin:0 auto}#account-guest .auth-heading h2{font-size:34px}}

#account-guest .auth-remember{margin-bottom:0!important}#account-guest .auth-remember + .auth-security > p:first-child{margin-top:0}

#account-guest .account-tabs{flex-direction:row;align-items:center;flex-wrap:wrap;column-gap:16px;row-gap:6px}

/* Visible reCAPTCHA attribution, outside the authentication card. */
.recaptcha-footer-notice{grid-column:1/-1;flex-basis:100%;font-size:12px;line-height:1.65;color:var(--muted,#626d7e);margin:0 0 12px;text-align:left;white-space:normal;overflow-wrap:anywhere}
.recaptcha-footer-notice a{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:2px}
footer:has(>.recaptcha-footer-notice){flex-wrap:wrap}
@media(max-width:760px){.footer-bottom>.recaptcha-footer-notice{order:-1}}

.footer-bottom:has(>.recaptcha-footer-notice){min-width:0;flex-wrap:nowrap}.footer-bottom>.recaptcha-footer-notice{min-width:0;flex-basis:auto;max-width:100%}
