/* Auth/login layout (cachebar; flyttet fra base_auth.html inline). */
    body { background: #faf9f6 !important; }
    .auth-layout {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
      -webkit-text-size-adjust: 100%;
      text-size-adjust: 100%;
    }
    .auth-nav-bar {
      flex-shrink: 0;
      padding-top: env(safe-area-inset-top, 0px);
      border-bottom: 1px solid #ebe7e0;
      background: #faf9f6;
    }
    .auth-header {
      --auth-nav-row-min-h: calc(0.6rem + 0.6rem + 1.45rem); /* ≈ landing .nav-cta (~42px) */
      display: flex;
      align-items: center;
      justify-content: space-between;
      max-width: 1200px;
      width: 100%;
      margin: 0 auto;
      padding: 1.25rem 2rem;
      position: relative;
      z-index: 20;
    }
    .auth-header > :not(.auth-nav-brand) {
      min-height: var(--auth-nav-row-min-h);
      display: inline-flex;
      align-items: center;
    }
    .auth-page {
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 2rem 1rem;
      position: relative;
    }
    .auth-page::before {
      content: '';
      position: fixed;
      top: -20%;
      right: -10%;
      width: 60%;
      height: 60%;
      background: radial-gradient(ellipse, rgba(232, 122, 95, 0.12) 0%, transparent 70%);
      border-radius: 50%;
      pointer-events: none;
      z-index: 0;
    }
    .auth-page::after {
      content: '';
      position: fixed;
      bottom: -15%;
      left: -15%;
      width: 50%;
      height: 50%;
      background: radial-gradient(ellipse, rgba(61, 90, 128, 0.08) 0%, transparent 70%);
      border-radius: 50%;
      pointer-events: none;
      z-index: 0;
    }
    .auth-card {
      position: relative;
      z-index: 1;
      width: 100%;
      max-width: 720px;
      background: #fff;
      border-radius: 16px;
      box-shadow: 0 8px 30px rgba(45, 55, 72, 0.08);
      border: 1px solid rgba(0, 0, 0, 0.04);
      padding: 2.5rem;
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    }
    .auth-card > h2 {
      font-family: Georgia, serif;
      font-size: 1.75rem;
      font-weight: 400;
      color: #293241;
      text-align: center;
      margin: 0 0 1.5rem;
      letter-spacing: -0.02em;
    }
    .auth-card-intro {
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      font-size: 0.95rem;
      font-weight: 400;
      color: #5c6b7a;
      text-align: center;
      margin: 0 0 1.5rem;
      line-height: 1.45;
    }
    .auth-card .form-label {
      font-weight: 500;
      color: #293241;
      margin-bottom: 0.4rem;
    }
    .auth-card .form-control,
    .auth-card .form-select {
      border-radius: 12px;
      border: 1px solid #ebe7e0;
      padding: 0.65rem 1rem;
      font-size: 1rem;
    }
    .auth-card .form-control:focus,
    .auth-card .form-select:focus {
      border-color: #98c1d9;
      box-shadow: 0 0 0 3px rgba(61, 90, 128, 0.08);
    }
    .auth-card .btn-primary {
      color: #fff !important;
      background: #b85a4a !important;
      border: none !important;
      border-radius: 9999px !important;
      padding: 0.75rem 1.5rem !important;
      font-weight: 600 !important;
      box-shadow: 0 4px 14px rgba(184, 90, 74, 0.35);
      transition: 0.25s ease !important;
    }
    .auth-card .btn-primary:hover {
      background: #a84a3a !important;
      transform: translateY(-2px);
      box-shadow: 0 8px 24px rgba(168, 74, 58, 0.4);
    }
    .auth-card .btn-outline-primary,
    .auth-card .btn-outline-secondary {
      border: 2px solid #858178 !important;
      border-radius: 9999px !important;
      padding: 0.75rem 1.5rem !important;
      font-weight: 600 !important;
      background: #fff !important;
      transition: 0.25s ease !important;
    }
    .auth-card .btn-outline-primary {
      color: #3d5a80 !important;
    }
    .auth-card .btn-outline-primary:hover {
      border-color: #98c1d9 !important;
      background: rgba(61, 90, 128, 0.04) !important;
      color: #3d5a80 !important;
      transform: translateY(-1px);
    }
    .auth-card .btn-outline-secondary {
      color: #5c6b7a !important;
    }
    .auth-card .btn-outline-secondary:hover {
      border-color: #98c1d9 !important;
      background: rgba(61, 90, 128, 0.04) !important;
      color: #3d5a80 !important;
      transform: translateY(-1px);
    }
    .auth-divider {
      height: 1px;
      background: #ebe7e0;
      margin: 1.5rem 0;
    }
    .auth-nav-brand {
      font-family: Georgia, serif;
      font-size: 1.5rem;
      font-weight: 400;
      line-height: 1.6;
      letter-spacing: -0.02em;
      color: #293241;
      text-decoration: none;
    }
    .auth-nav-brand:hover { color: #3d5a80; }
    .auth-nav-home {
      font-size: 0.9rem;
      color: #5c6b7a;
      text-decoration: none;
      display: inline-flex;
      align-items: center;
      gap: 0.3rem;
    }
    .auth-nav-home i {
      flex-shrink: 0;
    }
    .auth-nav-home:hover { color: #3d5a80; }
    .auth-card .alert { border-radius: 12px; }
    /* Todelt innlogging */
    .login-split {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.5rem;
      width: 100%;
    }
    .login-option {
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 1.5rem;
      border: 2px solid #858178;
      border-radius: 16px;
      text-decoration: none;
      color: inherit;
      transition: all 0.2s ease;
    }
    .login-option:hover:not(.login-option-disabled) {
      border-color: #98c1d9;
      background: rgba(61, 90, 128, 0.03);
    }
    .login-option-disabled {
      opacity: 0.7;
      cursor: not-allowed;
    }
    .login-option-icon {
      color: #3d5a80;
      margin-bottom: 0.75rem;
    }
    .login-option-title {
      font-size: 1.1rem;
      font-weight: 600;
      color: #293241;
      margin: 0 auto 0.25rem;
      width: 100%;
      max-width: 22rem;
      text-align: center;
      text-wrap: balance;
    }
    .login-option-desc {
      font-size: 0.85rem;
      color: #5c6b7a;
      margin: 0 auto 0.5rem;
      text-align: center;
      text-wrap: balance;
      max-width: 22rem;
    }
    /* Samme innhold/høyde som venstre beskrivelse; skjules visuelt (teksten er duplikat, aria-hidden på elementet) */
    .login-option-desc.login-option-desc--layout-sync {
      visibility: hidden;
      pointer-events: none;
      user-select: none;
    }
    .login-form { width: 100%; }
    /* Kolonne med centrert innhold: knapp + Husk meg like brede og midtstilt (samme bredde som tittel) – som UP */
    .login-option-actions {
      width: 100%;
      max-width: 22rem;
      margin-inline: auto;
    }
    /* Avkrysning i første kolonne (marglinje mot knappen), ikke etikettekst langt til venstre i full kolonnebredde – som UP */
    .login-remember.form-check {
      width: 100%;
      display: grid;
      grid-template-columns: auto 1fr;
      column-gap: 0.5rem;
      align-items: center;
      padding-left: 0;
    }
    .login-remember.form-check .form-check-input {
      float: none;
      margin: 0;
      flex-shrink: 0;
    }
    .login-remember.form-check .form-check-label {
      cursor: pointer;
      padding-left: 0;
    }
    /* Like avstand Husk meg ↔ neste knapp (unngår mb-3 + mt-2 som gir for mye og ujevn luft) */
    .auth-card .login-remember.form-check.mb-3:has(+ .btn),
    .auth-card .login-remember.form-check.mb-3:has(+ a.btn) {
      margin-bottom: 0.5rem !important;
    }
    .auth-card .login-remember.form-check + .btn,
    .auth-card .login-remember.form-check + a.btn {
      margin-top: 0.25rem !important;
    }
    .feide-logo-btn,
    .idporten-logo-btn { vertical-align: middle; margin-right: 0.4rem; object-fit: contain; }
    .idporten-wordmark-btn,
    .feide-wordmark-btn {
      background: #fff;
      border: 1px solid #d8d4ce;
      border-radius: 12px;
      color: #293241;
      box-shadow: none;
      font-weight: 500;
      transition: background 0.15s ease, border-color 0.15s ease;
      padding: 0.75rem 1.5rem !important;
      box-sizing: border-box;
    }
    .feide-wordmark-btn { gap: 0.5rem; }
    .idporten-wordmark-btn:hover,
    .feide-wordmark-btn:hover {
      background: #f2f0ec !important;
      border-color: #cbc6be !important;
      color: #293241 !important;
    }
    .idporten-wordmark-btn:active,
    .feide-wordmark-btn:active {
      background: #eae7e1 !important;
      border-color: #c2bdb4 !important;
      color: #293241 !important;
    }
    .idporten-wordmark-btn:focus-visible,
    .feide-wordmark-btn:focus-visible {
      outline: 2px solid #b85a4a;
      outline-offset: 2px;
      box-shadow: none !important;
    }
    .idporten-wordmark-btn .idporten-wordmark-img {
      height: 26px;
      width: auto;
      max-width: 100%;
      object-fit: contain;
      display: block;
    }
    /* Offisiell Feide lockup (grafikk + «Feide»), én PNG fra leverandør – ikke erstatningsskrift */
    .feide-wordmark-btn .feide-lockup-img {
      height: 23px;
      width: auto;
      max-width: 100%;
      object-fit: contain;
      flex-shrink: 0;
      display: block;
    }
    .feide-wordmark-text {
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      font-weight: 400;
      font-size: 1.125rem;
      line-height: 1;
      letter-spacing: -0.01em;
      color: #293241;
    }
    /* ID-porten wordmark i .btn-outline-primary: maxbredde (ramme/hover = .auth-provider-login-btn over) */
    .auth-card .idporten-wordmark-btn.btn-outline-primary .idporten-wordmark-img {
      max-width: min(11rem, 70vw);
    }
    .auth-card .feide-wordmark-btn.btn-outline-primary .feide-lockup-img {
      max-width: min(11rem, 72vw);
    }
    /* ID-porten synlig men utilgjengelig når ikke konfigurert */
    .idporten-section-disabled {
      opacity: 0.5;
      filter: grayscale(1);
      pointer-events: none;
      user-select: none;
      cursor: not-allowed !important;
    }
    .idporten-section-disabled .idporten-wordmark-btn {
      cursor: not-allowed !important;
    }
    .idporten-section-disabled .idporten-wordmark-btn:hover,
    .idporten-section-disabled .idporten-wordmark-btn:active {
      background: #fff !important;
      border-color: #d8d4ce !important;
    }
    /* Feide + ID-porten (outline): nøytral grå ramme til vanlig; korall ring kun ved tastatur/meny-fokus (:focus-visible) — samme som UP */
    .auth-card .auth-provider-login-btn.btn-outline-primary {
      border: 2px solid #d8d4ce !important;
      color: #3d5a80 !important;
      background: #fff !important;
      min-height: calc(0.75rem * 2 + 26px + 4px) !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      box-sizing: border-box !important;
      padding: 0.75rem 1.5rem !important;
    }
    .auth-card .auth-provider-login-btn.btn-outline-primary:hover {
      border-color: #b0aaa2 !important;
      background: #f7f6f3 !important;
      color: #3d5a80 !important;
      transform: none !important;
    }
    .auth-card .auth-provider-login-btn.btn-outline-primary:active {
      border-color: #9a948b !important;
      background: #f0eeea !important;
      color: #293241 !important;
    }
    .auth-card .auth-provider-login-btn.btn-outline-primary:focus-visible {
      outline: 2px solid #b85a4a !important;
      outline-offset: 2px !important;
      box-shadow: none !important;
    }
    /* ID-porten innlogging / «Opprett konto» / Feide med btn-outline-primary: samme grå + pill — som UP */
    .auth-card .auth-provider-login-btn.btn-outline-primary.idporten-wordmark-btn,
    .auth-card .auth-provider-login-btn.btn-outline-primary.feide-wordmark-btn {
      border: 2px solid #d8d4ce !important;
      border-radius: 9999px !important;
      line-height: 1 !important;
      min-height: calc(0.75rem * 2 + 26px + 4px) !important;
    }
    .auth-card .auth-provider-login-btn.btn-outline-primary.idporten-wordmark-btn:hover,
    .auth-card .auth-provider-login-btn.btn-outline-primary.feide-wordmark-btn:hover {
      border-color: #b0aaa2 !important;
      background: #f7f6f3 !important;
      color: #293241 !important;
      transform: none !important;
    }
    .auth-card .auth-provider-login-btn.btn-outline-primary.idporten-wordmark-btn:active,
    .auth-card .auth-provider-login-btn.btn-outline-primary.feide-wordmark-btn:active {
      border-color: #9a948b !important;
      background: #f0eeea !important;
      color: #293241 !important;
    }
    .idporten-section-disabled .auth-provider-login-btn.idporten-wordmark-btn,
    .idporten-section-disabled .auth-provider-login-btn.idporten-wordmark-btn:hover,
    .idporten-section-disabled .auth-provider-login-btn.idporten-wordmark-btn:active {
      border: 1px solid #d8d4ce !important;
      background: #fff !important;
      color: inherit !important;
    }
    /* ID-porten nøkkelperson-modal (utenfor .auth-card – må styles eksplisitt) */
    .idporten-nokkelperson-modal {
      border: 1px solid rgba(0, 0, 0, 0.04);
      border-radius: 16px;
      box-shadow: 0 12px 40px rgba(45, 55, 72, 0.14);
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      overflow: hidden;
    }
    .idporten-nokkelperson-modal .modal-header {
      padding: 1.5rem 1.5rem 0.75rem;
      border-bottom: none;
    }
    .idporten-nokkelperson-modal .modal-title {
      font-family: Georgia, serif;
      font-size: 1.35rem;
      font-weight: 400;
      color: #293241;
      letter-spacing: -0.02em;
      line-height: 1.35;
    }
    .idporten-nokkelperson-modal .modal-body {
      padding: 0.5rem 1.5rem 1.25rem;
      color: #3d4a57;
      font-size: 0.98rem;
      line-height: 1.55;
    }
    .idporten-nokkelperson-modal .modal-body > p:first-of-type {
      margin-bottom: 1rem;
    }
    .idporten-nokkelperson-modal .idporten-nokkelperson-inline-wordmark {
      height: 1.28em;
      width: auto;
      max-width: min(9.5rem, 52vw);
      vertical-align: -0.22em;
      display: inline;
      object-fit: contain;
      margin: 0 0.12em;
    }
    .idporten-nokkelperson-modal .idporten-nokkelperson-list {
      margin: 0 0 1.25rem;
      padding-left: 1.35rem;
      color: #3d4a57;
      font-size: inherit;
      font-weight: 400;
      line-height: 1.55;
    }
    .idporten-nokkelperson-modal .idporten-nokkelperson-list li {
      margin-bottom: 0.45rem;
      padding-left: 0.15rem;
      font-weight: 400;
    }
    .idporten-nokkelperson-modal .idporten-nokkelperson-list li::marker {
      color: #3d5a80;
    }
    .idporten-nokkelperson-modal .idporten-nokkelperson-callout {
      margin-bottom: 1.25rem;
      padding: 1rem 1.1rem;
      border-radius: 12px;
      border: 1px solid #ebe7e0;
      background: #faf9f6;
      color: #3d4a57;
      font-size: 0.92rem;
      line-height: 1.5;
    }
    .idporten-nokkelperson-modal .idporten-nokkelperson-callout strong {
      color: #293241;
    }
    /* Checkbox på linje med tekststart i callout (callout har padding 1.1rem vannrett) */
    .idporten-nokkelperson-modal .form-check {
      padding: 1rem 0 0.25rem;
      padding-left: calc(1.1rem + 1.5em);
      margin: 0;
      border-top: 1px solid #ebe7e0;
    }
    .idporten-nokkelperson-modal .form-check-label {
      font-size: 0.9rem;
      line-height: 1.45;
      color: #293241;
    }
    .idporten-nokkelperson-modal .modal-footer {
      padding: 1rem 1.5rem 1.5rem;
      border-top: none;
      gap: 0.75rem;
    }
    /* Bekreft «Fortsett til ID-porten»: samme mønster som innloggingsknapper (grå ramme, korall ved fokus) */
    .idporten-nokkelperson-modal .idporten-modal-confirm-btn {
      background: #fff !important;
      border: 2px solid #d8d4ce !important;
      border-radius: 9999px !important;
      padding: 0.65rem 1.35rem !important;
      color: #293241 !important;
      box-shadow: none !important;
      font-weight: 500;
      transition: background 0.15s ease, border-color 0.15s ease, transform 0.25s ease !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      min-height: calc(0.65rem * 2 + 26px + 4px);
    }
    .idporten-nokkelperson-modal .idporten-modal-confirm-btn:hover:not(:disabled) {
      background: #f7f6f3 !important;
      border-color: #b0aaa2 !important;
      color: #293241 !important;
      transform: translateY(-1px);
    }
    .idporten-nokkelperson-modal .idporten-modal-confirm-btn:active:not(:disabled) {
      background: #f0eeea !important;
      border-color: #9a948b !important;
    }
    .idporten-nokkelperson-modal .idporten-modal-confirm-btn:focus-visible {
      outline: 2px solid #b85a4a !important;
      outline-offset: 2px !important;
      box-shadow: none !important;
    }
    .idporten-nokkelperson-modal .idporten-modal-confirm-btn:disabled {
      opacity: 0.55;
      cursor: not-allowed !important;
      transform: none !important;
    }
    .idporten-nokkelperson-modal .idporten-modal-confirm-btn .idporten-wordmark-img {
      height: 26px;
      width: auto;
      max-width: min(11rem, 48vw);
      object-fit: contain;
    }
    .idporten-nokkelperson-modal .btn-outline-secondary {
      border: 2px solid #858178 !important;
      border-radius: 9999px !important;
      padding: 0.65rem 1.35rem !important;
      font-weight: 600 !important;
      background: #fff !important;
      color: #5c6b7a !important;
      transition: 0.25s ease !important;
    }
    .idporten-nokkelperson-modal .btn-outline-secondary:hover {
      border-color: #98c1d9 !important;
      background: rgba(61, 90, 128, 0.04) !important;
      color: #3d5a80 !important;
      transform: translateY(-1px);
    }
    .idporten-nokkelperson-dialog {
      max-width: 32rem;
    }
    /* Like høye kort ved siden av hverandre. Ikke margin-top:auto på innloggingsblokker: PP har «Opprett konto» under første ID-porten på venstre side — auto ville presset Feide ned til samme linje som opprett-knappen. */
    @media (min-width: 769px) {
      .login-split {
        align-items: stretch;
      }
    }
    @media (max-width: 640px) {
      .auth-header {
        --auth-nav-row-min-h: calc(0.5rem + 0.5rem + 1.4375rem); /* ≈ landing .nav-cta mobil (~39px) */
      }
      .auth-header { padding: 0.875rem 1rem; }
    }
    @media (max-width: 768px) {
      .login-split { grid-template-columns: 1fr; gap: 1rem; }
      .auth-page {
        justify-content: flex-start;
        padding: 0.5rem 0.75rem 1rem;
      }
      .auth-card {
        max-width: 100%;
        padding: 1.25rem 1.25rem 1.5rem;
        font-size: 0.9375rem;
      }
      .auth-card > h2 {
        font-size: 1.35rem;
        margin-bottom: 0.875rem;
      }
      .auth-card-intro {
        font-size: 0.875rem;
        margin-bottom: 0.875rem;
      }
      .auth-nav-brand { font-size: 1.5rem; }
      .login-option { padding: 1.15rem 1rem; }
      .login-option-title { font-size: 1rem; }
      .login-option-desc { font-size: 0.8125rem; }
      .login-option-icon .fa-3x { font-size: 2em !important; }
      .login-option-icon .fa-2x { font-size: 1.75em !important; }
      .auth-card .btn-primary,
      .auth-card .btn-outline-primary,
      .auth-card .btn-outline-secondary,
      .auth-card .auth-provider-login-btn.btn-outline-primary {
        padding: 0.6rem 1.15rem !important;
        font-size: 0.9375rem !important;
      }
      .auth-card .form-control,
      .auth-card .form-select {
        padding: 0.55rem 0.85rem;
        font-size: 16px;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .auth-card .btn-primary:hover,
      .auth-card .btn-outline-primary:hover,
      .auth-card .btn-outline-secondary:hover,
      .idporten-nokkelperson-modal .idporten-modal-confirm-btn:hover:not(:disabled),
      .idporten-nokkelperson-modal .btn-outline-secondary:hover { transform: none !important; }
    }
