/* Regnrbil V16.1.20 — ren kunde- og administratorinnlogging */
body.auth-page {
  min-height: 100dvh;
  background: #07111d;
}

body.auth-page .auth-shell {
  min-height: 100dvh;
  padding: 96px 18px 104px;
  background:
    radial-gradient(circle at 20% 18%, rgba(42, 93, 132, .24), transparent 38%),
    linear-gradient(135deg, #030910 0 48%, #0b1c2b 48% 100%);
}

html[data-theme="light"] body.auth-page {
  background: #edf4f8;
}

html[data-theme="light"] body.auth-page .auth-shell {
  background:
    radial-gradient(circle at 20% 18%, rgba(255, 255, 255, .92), transparent 42%),
    linear-gradient(135deg, #f7fafc 0 48%, #dceaf4 48% 100%);
}

.auth-public-topbar,
.auth-topbar {
  box-shadow: 0 10px 30px rgba(0, 0, 0, .28);
}

.auth-topbar {
  position: fixed;
  z-index: 50;
  inset: 0 0 auto;
  min-height: 64px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  padding: 0 max(18px, env(safe-area-inset-right)) 0 max(18px, env(safe-area-inset-left));
  color: #f5f8fb;
  background: rgba(3, 11, 19, .94);
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  backdrop-filter: blur(18px);
}

html[data-theme="light"] .auth-topbar {
  color: #13283a;
  background: rgba(255, 255, 255, .94);
  border-bottom-color: rgba(28, 61, 88, .14);
  box-shadow: 0 10px 30px rgba(28, 61, 88, .14);
}

.auth-back,
.auth-inline-back,
.auth-return {
  color: var(--blue2);
  font-weight: 750;
}

html[data-theme="light"] .auth-back,
html[data-theme="light"] .auth-inline-back,
html[data-theme="light"] .auth-return {
  color: #0969c9;
}

.auth-brand {
  justify-self: center;
}

.auth-brand img {
  display: block;
  width: 148px;
}

.auth-theme {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
}

.auth-card {
  width: min(500px, 100%);
  padding: clamp(24px, 4vw, 38px);
  border-radius: 18px;
  box-shadow: 0 28px 76px rgba(0, 0, 0, .46), 0 0 0 1px rgba(255, 255, 255, .05) inset;
}

html[data-theme="light"] .auth-card {
  background: rgba(255, 255, 255, .96);
  border-color: rgba(32, 72, 104, .16);
  box-shadow: 0 28px 76px rgba(31, 70, 101, .22), 0 2px 0 #fff inset;
}

.auth-card h1 {
  margin: 5px 0 8px;
  font-size: clamp(28px, 4vw, 38px);
  line-height: 1.06;
}

.auth-card > p {
  margin-bottom: 24px;
  line-height: 1.5;
}

.auth-card label {
  margin: 15px 0;
  font-size: 12px;
}

.auth-card input {
  min-height: 49px;
  margin-top: 6px;
  font-size: 15px;
}

.auth-card .btn.wide {
  min-height: 50px;
  margin-top: 14px;
  font-weight: 750;
  box-shadow: 0 14px 28px rgba(14, 100, 206, .28);
}

.auth-return {
  display: block;
  width: max-content;
  margin: 20px auto 0;
  font-size: 11px;
}

.auth-links {
  font-size: 12px;
}

.auth-public-topbar .menu-anchor {
  position: relative;
}

.auth-public-topbar .menu-panel {
  position: absolute;
  inset: calc(100% + 14px) 0 auto auto;
  top: auto;
  right: 0;
  width: 220px;
}

.auth-public-topbar .menu-panel.open {
  display: block;
}

.auth-inline-back {
  font-size: 10px;
}

@media (max-width: 620px) {
  body.auth-page .auth-shell {
    padding: 72px 12px 94px;
  }

  .auth-topbar {
    min-height: 62px;
    grid-template-columns: auto 1fr auto;
    gap: 9px;
    padding-inline: 12px;
  }

  .auth-back span,
  .auth-theme [data-theme-label],
  .auth-inline-back {
    display: none;
  }

  .auth-brand img {
    width: 126px;
  }

  .auth-brand {
    justify-self: center;
  }

  .auth-card {
    padding: 24px 20px;
  }

  .auth-public-topbar .menu-panel {
    width: min(220px, calc(100vw - 24px));
  }
}
