.registration { min-height: calc(100vh - 76px); padding: 56px 20px; display: grid; place-items: center; }
.registration-card { width: 100%; max-width: 460px; padding: clamp(24px, 5vw, 40px); background: white; border: 1px solid var(--line); border-radius: 24px; box-shadow: 0 24px 70px #21346b12; }
.registration-card h1 { font-size: clamp(28px, 5vw, 36px); letter-spacing: -.04em; margin: 12px 0; }
.registration-intro, .registration-card small { color: var(--muted); line-height: 1.6; }
.registration-card form { display: flex; flex-direction: column; gap: 10px; margin-top: 24px; }
.registration-card label { margin-top: 8px; font-weight: 600; font-size: 14px; }
.registration-card input { width: 100%; min-width: 0; padding: 13px 14px; font: inherit; border: 1px solid var(--line); border-radius: 10px; background: #f7faff; }
.registration-card input:focus-visible, .registration-card button:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.registration-card button { margin-top: 18px; width: 100%; cursor: pointer; }
.registration-card button:disabled { opacity: .55; cursor: not-allowed; }
.registration-notice { padding: 14px; background: #edf3ff; border-radius: 10px; line-height: 1.5; }
#register-status { line-height: 1.6; margin-bottom: 0; }
.registration-card [hidden] { display: none; }
.registration-card .google-button { background: white; color: #1f1f1f; border: 1px solid #747775; border-radius: 24px; padding: 13px 20px; font-weight: 500; }
.registration-card .google-button:hover { background: #f4f7fc; }
.registration-divider { text-align: center; color: var(--muted); margin-top: 26px; font-size: 14px; }
#google-status { line-height: 1.6; overflow-wrap: anywhere; }
#google-sign-out { background: transparent; border: 0; padding: 8px; }
