/* Shared login presentation; authorization and provider handlers remain owned by Pages. */
body { background:#fff; color:#162027; }
.topbar { background:#fff; color:#162027; border-bottom:1px solid #eee; }
.topbar-inner { max-width:1040px; padding-block:16px; }
.home-link { color:#677078; }
.topbar select { max-width:150px; min-height:38px; border:1px solid #ddd; border-radius:8px; background:#fff; color:#162027; padding:6px 10px; }
.login-wrap { width:min(480px,100%); margin:48px auto 64px; }
.login-wrap > .card { border:1px solid #e1e4e6; border-radius:16px; padding:32px; box-shadow:none; }
.login-wrap h1 { font-size:clamp(1.5rem,5vw,1.85rem); text-align:center; line-height:1.5; margin:0 0 12px; letter-spacing:-.025em; }
.login-wrap .card-note { font-size:.875rem; color:#747c82; }
.login-wrap > .card > .card-note:first-of-type { text-align:center; }
#login-view .login-providers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:28px 0 20px; }
#login-view .login-providers .button { display:flex; align-items:center; justify-content:center; min-height:60px; margin:0; padding:14px 8px; background:#fff !important; color:#162027 !important; border:1px solid #dce0e2; border-radius:30px; font-size:.9rem; }
#login-view .login-providers .button:hover { background:#f7f8f8 !important; border-color:#a0aaaf; }
#login-view .login-providers .button:focus-visible { outline:3px solid #82b9af; outline-offset:3px; }
#legacy-login { margin-top:24px; border-top:1px solid #e8eaeb; padding-top:24px; }
#legacy-login summary { list-style:none; font-size:1rem; font-weight:700; margin-bottom:20px; cursor:pointer; }
#legacy-login summary::-webkit-details-marker { display:none; }
#legacy-login label { font-size:.94rem; margin-bottom:10px; }
#legacy-login .fields { gap:24px; }
#legacy-login input { border:1px solid #d5dadc; border-radius:12px; min-height:54px; padding:14px; }
#legacy-login input:focus { border-color:#408a7b; outline:3px solid #e7f3ef; }
#login-button { min-height:54px; margin-top:28px; border:0; border-radius:12px; background:#162027; color:#fff; }
.login-help { font-size:.83rem; line-height:1.9; margin:24px 0 0; }
.login-help a { color:#697178; text-underline-offset:4px; }
@media(max-width:560px) { .topbar-inner { gap:12px; }.brand img { width:28px;height:28px; }.brand {font-size:1rem;} .home-link {font-size:.8rem;} .login-wrap {margin:28px auto 40px;} .login-wrap > .card {padding:28px 22px;} #login-view .login-providers {gap:12px;} }

#login-view .login-providers { justify-content:center; grid-template-columns:repeat(2,minmax(0,170px)); margin:28px 0; }
#login-view .login-providers .button { flex-direction:column; gap:12px; border:0; border-radius:12px; padding:8px; font-weight:600; }
#login-view .login-providers .button::before { content:""; display:block; flex:none; width:72px; height:72px; border:1px solid #dedfe0; border-radius:50%; background:#fff center/30px 30px no-repeat; }
#login-view .login-providers [data-account-oauth="google"]::before { background-image:url('/account/google.svg'); }
#login-view .login-providers [data-account-oauth="apple"]::before { background-image:url('/account/apple.svg'); }
#legacy-login summary { display:none; }
