/* ============================================================
   Visumansøgning — Auth-sider (login / opret / nulstil / opret kodeord)
   Scoped lag OVEN PÅ portal.css. Bruges KUN af auth-views (logget ud),
   som IKKE bruger portal-shell. Mobil-først. Samme brand-sprog (port-*).
   Rediger ALDRIG portal.css — dette er auth-sporets egen fil.
   ============================================================ */

.port-auth {
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    padding: 28px 16px 64px;
    font-family: "Poppins", sans-serif;
    color: var(--port-ink);
    box-sizing: border-box;
}
@media (min-width: 640px) { .port-auth { padding: 48px 24px 80px; } }

/* Centreret kort */
.port-auth__card {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
}
.port-auth .port-card { box-shadow: var(--port-shadow-md); }

/* Sidehoved i kortet */
.port-auth__head { text-align: center; margin-bottom: 22px; }
.port-auth__eyebrow {
    display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .08em;
    text-transform: uppercase; color: var(--port-blue);
    background: var(--port-blue-050); padding: 5px 12px; border-radius: 999px; margin-bottom: 14px;
}
.port-auth__title {
    margin: 0; font-size: clamp(1.35rem, 3.6vw, 1.7rem); font-weight: 600;
    line-height: 1.2; color: var(--port-ink);
}
.port-auth__sub { margin: 8px auto 0; font-size: 14.5px; color: var(--port-ink-3); max-width: 340px; }

/* Beskeder (fejl/success) i kortet */
.port-auth__alert {
    border-radius: var(--port-radius-sm); padding: 12px 14px; font-size: 13.5px;
    font-weight: 500; margin-bottom: 18px;
}
.port-auth__alert--error { background: var(--sev-danger-bg); color: var(--sev-danger); }
.port-auth__alert--success { background: var(--sev-success-bg); color: var(--sev-success); }

/* Label-række med hjælpelink (fx "Glemt kodeord?") */
.port-labelrow { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.port-labelrow .port-label { margin: 0; }
.port-inlinelink { font-size: 13px; font-weight: 600; color: var(--port-blue); text-decoration: none; white-space: nowrap; }
.port-inlinelink:hover { text-decoration: underline; }

/* Password-felt med vis/skjul-knap */
.port-pw { position: relative; }
.port-pw .port-input { padding-right: 48px; }
.port-pw__toggle {
    position: absolute; top: 0; right: 0; height: 48px; width: 46px;
    display: inline-flex; align-items: center; justify-content: center;
    background: transparent; border: 0; padding: 0; cursor: pointer;
    color: var(--port-ink-3); border-radius: 0 11px 11px 0;
}
.port-pw__toggle:hover { color: var(--port-blue); }
.port-pw__toggle:focus-visible { outline: 2px solid var(--port-blue); outline-offset: -2px; }
.port-pw__toggle svg { width: 20px; height: 20px; }
.port-pw__toggle .port-pw__eye-off { display: none; }
.port-pw__toggle.is-on .port-pw__eye { display: none; }
.port-pw__toggle.is-on .port-pw__eye-off { display: inline-flex; }

/* reCAPTCHA centreret (må aldrig skabe horisontal side-scroll) */
.port-auth__recaptcha { display: flex; justify-content: center; overflow-x: auto; }
.port-auth__recaptcha .g-recaptcha { flex: 0 0 auto; }

/* Vilkår / checkbox-række */
.port-checkrow { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; color: var(--port-ink-2); line-height: 1.45; }
.port-checkrow input { margin: 3px 0 0; width: 17px; height: 17px; flex: 0 0 auto; accent-color: var(--port-blue); cursor: pointer; }
.port-checkrow a { color: var(--port-blue); font-weight: 600; text-decoration: none; }
.port-checkrow a:hover { text-decoration: underline; }

/* Skift-mellem-skærme (under kortet) */
.port-auth__alt { text-align: center; margin-top: 20px; font-size: 14px; color: var(--port-ink-3); }
.port-auth__alt a { color: var(--port-blue); font-weight: 600; text-decoration: none; }
.port-auth__alt a:hover { text-decoration: underline; }

/* Success-/status-ikon */
.port-auth__icon {
    width: 66px; height: 66px; border-radius: 18px; margin: 0 auto 18px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--sev-success-bg); color: var(--sev-success);
}
.port-auth__icon svg { width: 32px; height: 32px; }

/* Firma-logo (companytop) pænt over kortet */
.port-auth__brand { text-align: center; margin-bottom: 20px; }
.port-auth__brand img { max-width: 210px; height: auto; display: inline-block; }
