/* Available before JavaScript: shared by the app and server-rendered recovery pages. */
.page-state,.system-layout,.signin.auth {
  --state-ink:#20232b; --state-muted:#626875; --state-line:#e5e8ee;
  font-family:"Inter Variable","Segoe UI",system-ui,sans-serif; color:var(--state-ink);
}
.page-state { box-sizing:border-box; width:100%; max-width:660px; margin:40px auto; padding:40px; background:#fff; border:1px solid var(--state-line); border-radius:8px; box-shadow:0 2px 3px #20232b04,0 8px 24px #20232b06; text-align:left; }
.page-state .page-state-icon { display:grid; place-items:center; width:52px; height:52px; margin-bottom:24px; background:#eff3ff; color:#365cc0; border:1px solid #dfe7fb; border-radius:8px; }
.page-state .page-state-eyebrow { font-size:12px; font-weight:600; line-height:1.5; color:var(--state-muted); margin:0 0 10px; }
.page-state h1 { font-family:inherit; font-size:clamp(24px,4vw,30px); line-height:1.25; font-weight:650; letter-spacing:-.035em; margin:0 0 16px; }
.page-state .page-state-copy { font-size:14px; line-height:1.7; color:var(--state-muted); overflow-wrap:anywhere; }
.page-state-copy p { margin:0 0 12px; }.page-state-copy p:last-child { margin-bottom:0; }
.page-state .page-state-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.page-state .btn { box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:10px 16px; min-height:44px; border:1px solid var(--state-line); border-radius:6px; font:500 13px/1.5 "Inter Variable","Segoe UI",system-ui,sans-serif; cursor:pointer; text-decoration:none; background:#fff; color:var(--state-ink); }
.page-state .btn-primary { background:#20232b; border-color:#20232b; color:#fff; }
.page-state .btn:hover { background:#f1f3f7; }.page-state .btn-primary:hover { background:#383d48; }
.page-state .btn:focus-visible,.system-brand:focus-visible { outline:2px solid #285be8; outline-offset:3px; }
.system-layout { margin:0; padding:32px 24px; min-height:100vh; box-sizing:border-box; background:#f6f7fa; }
.system-brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; color:#20232b; font-size:19px; font-weight:650; }
.system-brand img { width:32px; height:32px; }.system-layout>header { max-width:1120px; margin:0 auto; }
.system-layout>main { padding-top:6vh; }.system-layout footer { max-width:660px; margin:24px auto; font-size:12px; line-height:1.6; color:#626875; }
.signin.auth .signin-col { box-sizing:border-box; max-width:420px; margin:0; padding:36px; border:1px solid #e5e8ee; border-radius:8px; background:#fff; box-shadow:0 2px 3px #20232b04,0 8px 24px #20232b06; }
.signin.auth .signin-mark { padding-bottom:24px; margin-bottom:28px; }.signin.auth .signin-h { font-family:inherit; font-size:26px; font-weight:600; line-height:1.3; margin-bottom:10px; }
.signin.auth .signin-sub { line-height:1.6; }.signin.auth .signin-dev { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; padding:14px; background:#f6f7fa; border:1px solid #e5e8ee; border-radius:6px; text-align:left; }
.signin.auth .signin-dev span { grid-column:1/-1; padding:0; font-size:11px; font-weight:500; line-height:1.5; letter-spacing:0; text-transform:none; }.signin.auth .signin-dev input { width:100%; box-sizing:border-box; padding:9px; border:1px solid #d8dce4; border-radius:4px; background:white; min-height:40px; }
.signin.auth .signin-dev button { min-height:40px; padding:8px; font-family:inherit; letter-spacing:0; text-transform:none; }.signin.auth .signin-dev input:focus-visible { outline:2px solid #285be8; outline-offset:2px; }
.signin.auth .signin-notice { border:1px solid #f0d9d9; border-radius:6px; padding:12px 14px; background:#fff4f3; }
.signin.auth .signin-legal { flex-wrap:wrap; row-gap:10px; line-height:1.6; }.signin.auth .signin-fine { line-height:1.6; }
.loading-surface.q-card { box-sizing:border-box; border:1px solid #e5e8ee; border-radius:8px; padding:24px; background:#fff; box-shadow:0 2px 3px #20232b04; }
.loading-surface .loading-label { margin:0 0 20px; font:500 13px/1.5 "Inter Variable","Segoe UI",system-ui,sans-serif; color:#626875; }
.invite-wrap.wrap { box-sizing:border-box; width:100%; max-width:660px; margin:32px auto; padding:32px; background:#fff; border:1px solid #e5e8ee; border-radius:8px; box-shadow:0 2px 3px #20232b04; font-family:"Inter Variable","Segoe UI",system-ui,sans-serif; }
.invite-wrap.wrap h1 { font-family:inherit; font-size:28px; line-height:1.3; margin:12px 0; }.invite-wrap .invite-kicker { font-family:inherit; text-transform:none; letter-spacing:0; }
.invite-wrap .invite-bad { border:1px solid #f0d9d9; border-radius:6px; padding:16px; }
@media(max-width:560px) {
  .page-state { margin:20px auto; padding:24px; }.page-state .page-state-actions { flex-direction:column; }.page-state .btn { width:100%; }
  .system-layout { padding:24px 18px; }.system-layout>main { padding-top:24px; }
  .signin.auth { padding:24px 18px; }.signin.auth .signin-col { padding:26px 22px; }.invite-wrap.wrap { padding:24px; }
}
