* {
    box-sizing: border-box;
}

html {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body {
    margin: 0;
    font-family: var(--font-body);
    color: var(--color-text);
    background: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    /* überschreibt Tabler's overflow-y: scroll */
}

img {
    max-width: 100%;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
}

/* =====================================================
   AUTH-SEITEN (Login, Magic-Link, Trial-Registrierung)
   Kein min-height:100vh – vermeidet Scrollbalken-Bug
   ===================================================== */
.auth-page-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f4f6fa;
    padding: 2rem 1rem;
    min-height: 100dvh;
    /* dvh = dynamic viewport height, kein iOS-Bug */
    box-sizing: border-box;
}

.auth-page-inner {
    width: 100%;
    max-width: 420px;
}

.auth-page-inner--narrow {
    max-width: 480px;
}

.auth-page-bg {
    background: #f4f6fa;
    padding: 2rem 1rem 4rem;
    box-sizing: border-box;
}

/* =====================================================
   AUTH-SEITEN (Login, Trial, System-Login)
   Kein 100vh-Bug, kein horizontaler Overflow
   ===================================================== */
.auth-page-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f4f6fa;
    padding: 2rem 1rem;
    min-height: 100dvh;
    box-sizing: border-box;
}

.auth-page-inner {
    width: 100%;
    max-width: 420px;
}

.auth-page-inner--narrow {
    max-width: 480px;
}

.auth-page-bg {
    background: #f4f6fa;
    padding: 2rem 1rem 4rem;
    box-sizing: border-box;
}

.auth-page-wrap .card-header {
    justify-content: space-between;
}