/* Keep this asset identical in console/static and license-server/static. */
.auth-page {
  --auth-ink: #101828;
  --auth-muted: #667085;
  --auth-line: rgba(116,118,164,.3);
  --auth-accent: #4f46e5;
  --auth-focus: #4338ca;
  background: #f5f6f8;
}
.auth-page .standalone {
  position: relative;
  isolation: isolate;
  min-height: 100vh;
  min-height: 100svh;
  padding: 40px 20px;
  background-color: #f5f6f8;
  background-image: radial-gradient(circle at 1px 1px, #cbd0e2 1px, transparent 0);
  background-size: 22px 22px;
}
.auth-page .standalone::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(125deg, transparent 18%, rgba(79,70,229,.13) 38%, rgba(38,186,242,.1) 52%, rgba(194,57,239,.07) 65%, transparent 82%);
}
.auth-page .auth-box {
  position: relative;
  isolation: isolate;
  flex: 0 1 auto;
  width: 100%;
  min-width: 0;
  max-width: 400px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.95);
  border-radius: 8px;
  background: #f7f7fc;
  color: var(--auth-ink);
  box-shadow: 0 18px 50px rgba(60,53,130,.15), 0 2px 6px rgba(16,24,40,.06), inset 0 1px 0 #fff;
  overflow-wrap: anywhere;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
@supports ((backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px))) {
  .auth-page .auth-box {
    background: rgba(255,255,255,.42);
    -webkit-backdrop-filter: blur(20px) saturate(115%);
    backdrop-filter: blur(20px) saturate(115%);
  }
}
.auth-page .auth-box::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(var(--glass-angle, 120deg), transparent 32%, rgba(255,255,255,.85) 48%, rgba(255,255,255,.2) 56%, transparent 68%);
  background-size: 220% 100%;
  background-position: var(--glass-position, 80%) 50%;
  opacity: .55;
  transition: opacity 180ms ease;
}
.auth-page .auth-box > * { position: relative; z-index: 1; }
.auth-page .auth-box .brand {
  gap: 12px;
  padding: 0 0 18px;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--auth-line);
}
.auth-page .brand-logo { width: 30px; height: 30px; flex: 0 0 30px; }
.auth-page .brand-name { min-width: 0; }
.auth-page .brand-name b { font-size: 15.5px; letter-spacing: 0; }
.auth-page .brand-name small { color: var(--auth-muted); letter-spacing: 0; }
.auth-page .auth-box h1 {
  font-size: 22px;
  line-height: 1.25;
  margin: 0 0 10px;
  color: var(--auth-ink);
  letter-spacing: 0;
}
.auth-page .auth-box .muted { color: var(--auth-muted); }
.auth-page .auth-box p { line-height: 1.65; }
.auth-page .auth-box label { color: var(--auth-ink); }
.auth-page .auth-box :is(input, select, textarea) {
  max-width: 100%;
  min-width: 0;
  border: 1px solid var(--auth-line);
  border-radius: 6px;
  background: rgba(255,255,255,.68);
  color: var(--auth-ink);
  min-height: 44px;
  box-shadow: inset 0 1px 2px rgba(31,65,67,.03);
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.auth-page .auth-box :is(input, select, textarea):focus {
  outline: 2px solid var(--auth-focus);
  outline-offset: 2px;
  border-color: var(--auth-accent);
  background: #fff;
  box-shadow: none;
}
.auth-page .auth-box :is(button, .btn-block, .btn-link) {
  min-height: 44px;
  max-width: 100%;
  white-space: normal;
  border-radius: 6px;
  background: var(--auth-accent);
  border: 1px solid var(--auth-accent);
  color: #fff;
  font-weight: 600;
  letter-spacing: 0;
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.auth-page .auth-box a:not(.btn-block):not(.btn-link) {
  color: var(--auth-focus);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.auth-page .auth-box .btn-link {
  background: rgba(255,255,255,.55);
  border-color: var(--auth-line);
  color: var(--auth-focus);
}
.auth-page .auth-box :is(button, a, summary):focus-visible {
  outline: 2px solid var(--auth-focus);
  outline-offset: 4px;
}
.auth-page .auth-box :is(button:disabled, input:disabled) { opacity: .55; cursor: not-allowed; }
@media (hover: hover) and (pointer: fine) {
  .auth-page .auth-box:hover {
    border-color: rgba(129,119,240,.75);
    box-shadow: 0 24px 64px rgba(79,70,229,.24), 0 0 0 1px rgba(255,255,255,.8), inset 0 1px 0 #fff;
    transform: translateY(-3px);
  }
  .auth-page .auth-box:hover::before { opacity: 1; }
  .auth-page .auth-box :is(input, select, textarea):not(:disabled):hover {
    border-color: #8b83f0;
    background: #fff;
  }
  .auth-page .auth-box :is(button, .btn-block, .btn-link):not(:disabled):hover {
    background: #4338ca;
    border-color: #4338ca;
    color: #fff;
    box-shadow: 0 7px 18px rgba(79,70,229,.32);
    transform: translateY(-2px);
  }
  .auth-page .auth-box a:not(.btn-block):not(.btn-link):hover { color: #312e81; }
  .auth-page .auth-box .btn-link:not(:disabled):hover {
    background: #eef0ff;
    border-color: #8b83f0;
    color: var(--auth-focus);
    box-shadow: none;
  }
}
@media (max-width: 480px) {
  .auth-page .standalone { padding: 24px 16px; }
  .auth-page .auth-box { padding: 24px; }
  .auth-page .auth-box h1 { font-size: 23px; }
  .auth-page .auth-box :is(input, select, textarea) { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .auth-page .auth-box, .auth-page .auth-box::before,
  .auth-page .auth-box :is(input, select, textarea, button, a) { transition: none; transform: none; }
  .auth-page .auth-box::before { background: none; }
}
@media (forced-colors: active) {
  .auth-page .standalone { background: Canvas; }
  .auth-page .standalone::before, .auth-page .auth-box::before { display: none; }
  .auth-page .auth-box { background: Canvas; border: 1px solid CanvasText; box-shadow: none; }
}
