/* Compact NUMERA web authentication — only the login and registration screen. */
.numera-auth-desktop.numera-auth-compact {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  place-items: center !important;
  position: relative !important;
  isolation: isolate;
  overflow: hidden;
  min-height: 100svh !important;
  width: 100% !important;
  padding: 28px 16px !important;
  background: radial-gradient(ellipse at 6% 95%,#35144965,transparent 43%),
    radial-gradient(ellipse at 96% 32%,#073b6a59,transparent 44%),#080b13 !important;
  color: #f9f9ff !important;
}
.numera-auth-compact::before,
.numera-auth-compact::after {
  content: ""; position: absolute; z-index: -1; pointer-events: none;
  width: min(80vw, 1000px); aspect-ratio: 1.5; border-radius: 50%;
  filter: blur(2px); opacity: .37;
}
.numera-auth-compact::before {
  left: -47%; bottom: -56%;
  background: radial-gradient(ellipse at 65% 12%,transparent 56%,#4842c6 57%,#251578 59%,transparent 72%);
  transform: rotate(21deg);
}
.numera-auth-compact::after {
  right: -43%; top: -42%;
  background: radial-gradient(ellipse at 16% 85%,transparent 55%,#0a99d9 56%,#5234b8 61%,transparent 75%);
  transform: rotate(-24deg);
}
.numera-auth-compact .numera-auth-panel.numera-auth-card {
  grid-column: 1 !important; grid-row: 1 !important;
  position: relative !important;
  width: min(460px,100%) !important; max-width: 460px !important;
  margin: 0 auto !important; transform: none !important;
  padding: 28px 32px 25px !important;
  border: 1px solid #78809a70 !important;
  border-radius: 25px !important;
  box-shadow: 0 30px 90px #0009, inset 0 1px #ffffff1c !important;
  background: linear-gradient(151deg,#1b2231ed 0%,#101621f4 55%,#211a30ed 100%) !important;
  color: #f8f9ff !important; --text:#f8f9ff !important; --muted:#b7c1d4 !important;
}
.numera-auth-compact .numera-auth-card:hover { transform: none !important; box-shadow: 0 30px 90px #0009,inset 0 1px #ffffff1c !important; }
.numera-auth-compact .numera-auth-brand {
  display:flex; justify-content:center; align-items:center; gap:10px;
  width:fit-content; margin: 2px auto 20px; text-decoration:none;
  color:#fff !important; font-size:19px; font-weight:780; letter-spacing:-.035em;
}
.numera-auth-compact .numera-auth-brand img { width:39px; height:39px; object-fit:contain; flex:none; }
.numera-auth-compact .numera-auth-home {
  position:absolute; top:20px; right:19px; font-size:12px; text-decoration:none;
  color:#aab6d0; font-weight:600; transition:color .15s;
}
.numera-auth-compact .numera-auth-home:hover {color:white}
.numera-auth-compact .numera-auth-panel h1 {
  margin:0 0 7px !important; text-align:center;
  font-size:clamp(27px,3.2vw,34px) !important;
  line-height:1.18 !important; letter-spacing:-.05em !important;
  color:#fff !important;
}
.numera-auth-compact .numera-auth-card > .numera-muted {
  margin:0 0 21px !important; text-align:center;
  font-size:13px !important; line-height:1.45 !important;
  color:#b9c3d7 !important;
}
.numera-auth-compact #auth-form {display:grid;gap:12px;min-width:0}
.numera-auth-compact .numera-auth-field {display:block; margin:0; position:relative;}
.numera-auth-compact .numera-auth-visually-hidden {
  position:absolute !important;width:1px;height:1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);
}
.numera-auth-compact .numera-auth-control {display:block;position:relative;}
.numera-auth-compact .numera-auth-field-icon {
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:19px;height:19px;color:#b8c5da;pointer-events:none;
}
.numera-auth-compact .numera-auth-card input:not([type=checkbox]) {
  width:100%; min-height:47px !important; height:47px;
  padding:0 46px 0 44px !important;margin:0;
  background:#222b3a85 !important; color:#fff !important;
  border:1px solid #69778d83 !important; border-radius:11px !important;
  font-size:14px !important;outline:none;
}
.numera-auth-compact .numera-auth-card input::placeholder {color:#aeb9cc;opacity:1;}
.numera-auth-compact .numera-auth-card input:not([type=checkbox]):focus {
  border-color:#59cbff !important;box-shadow:0 0 0 3px #4599fd25 !important;background:#263348c7 !important;
}
.numera-auth-compact .numera-auth-reveal {
  position:absolute;top:50%;right:6px;transform:translateY(-50%);
  width:38px;height:36px;display:grid;place-items:center;border:0;
  background:transparent;color:#b9c5da;border-radius:8px;cursor:pointer;
}
.numera-auth-compact .numera-auth-reveal:hover,
.numera-auth-compact .numera-auth-reveal:focus-visible {color:white;background:#ffffff12}
.numera-auth-compact .numera-auth-reveal svg {height:19px;width:19px;}
.numera-auth-compact .numera-auth-recovery-row {margin:-3px 0 1px;justify-content:flex-end;}
.numera-auth-compact .numera-auth-recovery-row .numera-link-button {
  font-size:12px !important;color:#d9c1f5 !important;text-decoration:underline;
  text-decoration-color:#c87dec;text-underline-offset:4px;
}
.numera-auth-compact .numera-auth-terms {display:flex;gap:10px;align-items:flex-start;margin:2px 0 0 !important;
  color:#c9d1e1 !important;font-size:11px !important;line-height:1.45;}
.numera-auth-compact .numera-auth-terms input[type=checkbox] {
  flex:none;width:18px;height:18px;margin:0;accent-color:#9e69ef;cursor:pointer;
}
.numera-auth-compact .numera-auth-terms a {color:#dcacff !important;text-underline-offset:3px;}
.numera-auth-compact .numera-human-verification {
  display:flex !important;flex-direction:column;align-items:center;
  gap:7px !important;margin:0 !important;padding:6px 0 0 !important;
  background:transparent !important;border:0 !important;min-width:0;
}
.numera-auth-compact .numera-human-copy {
  display:flex !important;gap:8px !important;flex-wrap:wrap;justify-content:center;
  color:#aebbd0!important;text-align:center;
}
.numera-auth-compact .numera-human-copy strong {font-size:11px;color:#c9d1e2!important}
.numera-auth-compact .numera-human-copy small {font-size:10px;color:#9eacc1!important;margin:0 !important}
.numera-auth-compact .numera-turnstile {max-width:100%;min-width:0;display:flex;justify-content:center;}
.numera-auth-compact #auth-error[hidden] {display:none !important;}
.numera-auth-compact .numera-button-primary {
  width:100%;min-height:47px;border-radius:10px !important;border:0 !important;
  background:linear-gradient(110deg,#14d9ec 0%,#428aff 30%,#8445ed 64%,#f355b9 100%) !important;
  color:#fff !important;font-size:15px !important;font-weight:750 !important;
  box-shadow:0 12px 28px #8451e526 !important;
}
.numera-auth-compact .numera-button-primary:hover:not(:disabled) {
  filter:brightness(1.09)!important;transform:translateY(-1px)!important;
}
.numera-auth-compact .numera-google-block {margin:18px 0 13px !important;width:100%;}
.numera-auth-compact .numera-google-divider {
  display:flex;align-items:center;gap:11px;font-size:11px;
  margin-bottom:12px;color:#b9c3d6!important;
}
.numera-auth-compact .numera-google-divider::before,
.numera-auth-compact .numera-google-divider::after {background:#76839a70!important;}
.numera-auth-compact #numera-google-signin {display:flex;justify-content:center;max-width:100%;min-height:44px;}
.numera-auth-compact .numera-auth-switch {
  display:block;width:100%;margin:0;text-align:center;font-size:12px!important;
  color:#bfc8d8!important;background:none;border:0;cursor:pointer;
}
.numera-auth-compact .numera-auth-switch strong {
  color:#e0a2ff;text-decoration:underline;text-underline-offset:4px;font-weight:750;
}
@media(max-width:480px) {
  .numera-auth-desktop.numera-auth-compact {padding:16px 12px!important;overflow:auto}
  .numera-auth-compact .numera-auth-panel.numera-auth-card {width:100%!important;padding:24px 20px 22px!important;border-radius:21px!important;}
  .numera-auth-compact .numera-auth-home {right:16px;top:16px}
  .numera-auth-compact .numera-auth-card > .numera-muted {margin-bottom:17px!important}
}
@media(max-height:760px) and (min-width:600px) {
  .numera-auth-desktop.numera-auth-compact {padding-block:15px!important}
  .numera-auth-compact .numera-auth-panel.numera-auth-card {padding-top:20px!important;padding-bottom:18px!important}
  .numera-auth-compact .numera-auth-brand {margin-bottom:12px}
  .numera-auth-compact #auth-form {gap:9px}
  .numera-auth-compact .numera-auth-card > .numera-muted {margin-bottom:13px!important}
}
@media(prefers-reduced-motion:reduce){.numera-auth-compact *{transition:none!important;animation:none!important}}
