/* Account pages: familiar forms, separate from dashboard styling. */
html { background: #fff; }
.account-page { display: flow-root; background: #fff; color: #1f2328; font-size: .875rem; min-height: 100vh; }
.account-page a { color: #0969da; }
.account-page a:hover { text-decoration: underline; }
.signin-shell { width: min(22rem, calc(100% - 2.5rem)); margin: 0 auto; padding: 4rem 0 2.5rem; }
.account-logo { display: flex; justify-content: center; margin-bottom: 1.25rem; }
.account-logo img { width: 6rem; height: auto; }
.signin-shell h1 { font-size: 1.25rem; font-weight: 500; text-align: center; margin-bottom: 1.75rem; letter-spacing: -.025em; }
.account-form label { font-size: .875rem; font-weight: 500; margin: 1rem 0 .35rem; }
.account-form input:not([type=hidden]), .account-form textarea { width: 100%; margin: 0; border: .0625rem solid #cbd5e1; border-radius: .375rem; padding: .5rem .75rem; font-size: .875rem; line-height: 1.5; color: #1f2328; background: #fff; }
.account-form input:not([type=hidden]) { min-height: 2.5rem; }
.account-form textarea { min-height: 4.5rem; }
.account-form input:focus-visible, .account-form textarea:focus-visible { outline: .125rem solid #0969da; outline-offset: -.0625rem; }
.account-form small { display: block; font-size: .75rem; color: #59636e; line-height: 1.5; margin-top: .35rem; }
.account-form input::placeholder, .account-form textarea::placeholder { color: #6e7781; }
.account-submit { width: 100%; margin-top: 1.25rem; justify-content: center; gap: .6rem; }
.account-switch { text-align: center; margin: 1.5rem 0 1rem; font-size: .875rem; }
.account-home { display: block; text-align: center; font-size: .8125rem; }
.account-error { padding: .8rem 1rem; border: .0625rem solid #f0b8b8; border-radius: .375rem; background: #fff1f1; color: #922323; font-size: .875rem; }
.optional-label { color: #59636e; font-weight: 400; font-size: .75rem; }
.required-mark { color: #59636e; }
@media (max-width: 40rem) {
  .signin-shell { padding-top: 2.5rem; }
}

.google-signin-button { width: 100%; padding: .65rem 1rem; border: 1px solid #747775; border-radius: .3rem; background: #fff; color: #1f1f1f; font-size: .875rem; font-weight: 500; cursor: pointer; }
.google-signin-button:hover { background: #f5f7fa; }
.account-divider { display: flex; align-items: center; gap: .75rem; margin: 1.25rem 0; color: #697261; font-size: .8125rem; }
.account-divider::before, .account-divider::after { content: ""; flex: 1; height: 1px; background: #d5dee7; }

.google-signed-in { text-align: center; overflow-wrap: anywhere; }
.google-complete-back { margin-top: 1.75rem; }
