:root {
  font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #1d1d1f;
  background: white;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; }
header, footer { padding: 20px clamp(20px, 5vw, 76px); }
header { border-bottom: 1px solid #e6e6ea; }
header a, img { display: block; width: 128px; }
main { width: min(100% - 40px, 410px); margin: clamp(36px, 10vh, 108px) auto auto; }
h1 { margin: 0 0 12px; font-size: clamp(30px, 5vw, 40px); line-height: 1.12; letter-spacing: -.035em; }
p { color: #505057; margin: 0 0 22px; }
form { margin: 30px 0 0; }
label { display: block; margin: 16px 0 6px; font-size: 14px; font-weight: 600; }
input, button { font: inherit; width: 100%; border-radius: 8px; min-height: 44px; padding: 9px 12px; }
input { border: 1px solid #93939b; color: inherit; }
button { margin-top: 22px; background: #5420c7; color: white; border: none; font-weight: 600; cursor: pointer; }
button:disabled { opacity: .7; cursor: wait; }
a { color: #5123a8; text-underline-offset: 3px; }
footer { margin-top: 48px; font-size: 14px; }
#error { margin: 14px 0 0; color: #a12529; }
:focus-visible { outline: 3px solid #7154c7; outline-offset: 3px; }

.google { display: block; padding: 11px 16px; border: 1px solid #93939b; border-radius: 8px; text-align: center; color: #1d1d1f; text-decoration: none; font-weight: 600; margin: 24px 0 16px; }
[hidden] { display: none !important; }
h2 { font-size: 22px; line-height: 1.25; letter-spacing: -.02em; }
#google-status { font-size: 14px; }
#admin-contacts { padding-left: 20px; overflow-wrap: anywhere; }
