/* Radio Emergency PostfixAdmin Theme V1 */
body{background:#0d1117;color:#d7dde5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.container,.container-fluid{max-width:1280px}
.navbar-default{background:#111820;border-color:#263342;box-shadow:0 2px 12px rgba(0,0,0,.25)}
.navbar-default .navbar-brand,.navbar-default .navbar-nav>li>a{color:#dce6f2}
.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>.active>a{color:#fff;background:#183f69}
.panel,.well,.jumbotron{background:#141b23;color:#d7dde5;border:1px solid #293645;border-radius:10px;box-shadow:0 4px 18px rgba(0,0,0,.18)}
.panel-heading{background:#192532!important;color:#f2f6fa!important;border-color:#293645!important}
label,.control-label{color:#dce6f2}
.form-control,input[type=text],input[type=password],input[type=email],input[type=number],select,textarea{background:#202832;color:#f1f5f9;border:1px solid #435160;border-radius:7px;box-shadow:none}
.form-control:focus,input:focus,select:focus,textarea:focus{background:#242f3b;color:#fff;border-color:#4f8fc9;box-shadow:0 0 0 2px rgba(79,143,201,.22)}
.btn{border-radius:7px;font-weight:600}
.btn-primary{background:#1769aa;border-color:#237fc6}
.btn-default{background:#222c37;border-color:#435160;color:#e7edf4}
.table{background:#141b23;color:#dce4ed}
.table>thead>tr>th{background:#1b2734;color:#f2f5f8;border-color:#33404d}
.table>tbody>tr>td{border-color:#293644}
.table-striped>tbody>tr:nth-of-type(odd){background:#17202a}
.table-hover>tbody>tr:hover{background:#202d3a}
a{color:#71b7ef}
a:hover{color:#9ed2f7}
.help-block,.text-muted{color:#95a3b3!important}
.alert{border-radius:8px}
input[type=checkbox]{width:18px;height:18px;accent-color:#2382c8}
footer,.footer{color:#82909e}
@media(max-width:768px){.container,.container-fluid{width:100%;padding-left:12px;padding-right:12px}.form-horizontal .control-label{text-align:left}}


/* ============================================================
   Radio Emergency PostfixAdmin Theme V2
   ============================================================ */

/* Seitenhintergrund wirklich durchgehend dunkel */
html,
body {
    background:#0d1117 !important;
}

/* Panels etwas moderner und breiter */
.panel {
    border-color:#2b3947 !important;
    background:#141c25 !important;
}

.panel-body {
    background:#141c25 !important;
    padding:26px 30px !important;
}

/* Weiße Leiste unter Formularen entfernen */
.panel-footer {
    background:#101821 !important;
    border-top:1px solid #2b3947 !important;
    color:#d7dde5 !important;
    padding:14px 18px !important;
}

/* Formularfelder etwas größer */
.form-control,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
select,
textarea {
    min-height:42px !important;
    background:#202b36 !important;
    color:#eef4fa !important;
    border-color:#415160 !important;
}

/* Hilfe-/Beschreibungstexte */
.help-block,
.text-muted,
small {
    color:#8fa6bb !important;
}

/* Mailbox-Hinzufügen Button */
.panel-footer .btn-primary,
.btn-primary {
    background:#1476b8 !important;
    border-color:#2086c7 !important;
    color:#fff !important;
}

.panel-footer .btn-primary:hover,
.btn-primary:hover {
    background:#1d8ace !important;
    border-color:#37a0e4 !important;
}

/* Unterer PostfixAdmin-Footer */
#footer,
.footer,
footer {
    background:#0f161e !important;
    color:#8193a6 !important;
    border-top:1px solid #273441 !important;
}

/* Links im Footer */
#footer a,
.footer a,
footer a {
    color:#65aee5 !important;
}

#footer a:hover,
.footer a:hover,
footer a:hover {
    color:#a0d4fa !important;
}

/* Alte weiße Bootstrap-Flächen verhindern */
.panel-default > .panel-heading {
    background:#192532 !important;
    color:#eef4fa !important;
    border-color:#2b3947 !important;
}

.panel-default > .panel-footer {
    background:#101821 !important;
}

/* Formular-Layout luftiger */
.form-horizontal .form-group {
    margin-bottom:20px !important;
}

/* Labels besser lesbar */
.form-horizontal .control-label {
    color:#e2ebf4 !important;
    font-weight:600 !important;
}

/* Checkboxen */
input[type="checkbox"] {
    accent-color:#2686c8 !important;
}

/* Seitenbreite */
.container {
    width:min(1180px,94vw) !important;
    max-width:1180px !important;
}

/* Login/Formular-Panels nicht unnötig winzig */
.panel form {
    max-width:none !important;
}

/* Tabellen ebenfalls dunkel halten */
.table-responsive {
    border-color:#2b3947 !important;
    background:#141c25 !important;
}

/* Keine weißen Tabellen-Hintergründe */
table,
tbody,
tr,
td,
th {
    border-color:#2b3947 !important;
}

/* Responsive */
@media (max-width:768px) {
    .panel-body {
        padding:18px 16px !important;
    }

    .container {
        width:100% !important;
    }
}


/* ============================================================
   Radio Emergency PostfixAdmin Theme V3
   Branding + kompakte Verwaltungsformulare
   ============================================================ */

/* Radio-Emergency-Branding auch dort, wo PostfixAdmin
   images/postbox.png fest im Template verwendet. */
.navbar-brand {
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    min-width:285px;
    min-height:50px;
    padding:7px 15px 7px 60px !important;
    background-image:url("../images/radio-emergency-logo.png");
    background-repeat:no-repeat;
    background-position:15px center;
    background-size:38px 38px;
    color:#fff !important;
    font-size:16px;
    font-weight:700;
}

.navbar-brand #login_header_logo {
    display:none !important;
}

.navbar-brand::after {
    content:"Radio Emergency · Mailserver";
    white-space:nowrap;
}

/* Administrationsleiste */
.navbar {
    min-height:54px;
}

.navbar-nav > li > a {
    padding-top:17px !important;
    padding-bottom:17px !important;
}

/* Mailbox-/Bearbeitungsformular */
#edit_form {
    max-width:1120px;
    margin-left:auto;
    margin-right:auto;
    overflow:hidden;
}

#edit_form .panel-heading {
    padding:16px 24px !important;
}

#edit_form .panel-heading h4 {
    margin:0;
    font-size:20px;
    font-weight:650;
}

#edit_form .panel-body {
    padding:24px 32px !important;
}

/* Bootstrap-Spalten im Formular durch ruhiges Grid ersetzen */
#edit_form .form-group {
    display:grid;
    grid-template-columns:minmax(190px,260px) minmax(0,1fr);
    column-gap:26px;
    align-items:start;
    margin-left:0 !important;
    margin-right:0 !important;
    margin-bottom:18px !important;
}

#edit_form .control-label {
    float:none !important;
    width:auto !important;
    padding:10px 0 0 !important;
    text-align:right !important;
}

#edit_form .col-md-6,
#edit_form .col-sm-8 {
    float:none !important;
    width:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

/* Eingaben nicht endlos breit wirken lassen */
#edit_form .form-control {
    max-width:680px;
}

#edit_form .help-block {
    max-width:680px;
    margin-top:6px;
    font-size:12px;
}

/* Checkboxbereich */
#edit_form .checkbox {
    padding-top:7px;
}

/* Untere Aktionsleiste */
#edit_form .panel-footer {
    min-height:62px;
    padding:12px 24px !important;
}

#edit_form .panel-footer .btn-primary {
    min-width:150px;
    min-height:40px;
}

/* Footer kompakt */
.footer {
    margin-top:24px !important;
    padding:14px 0 !important;
    min-height:0 !important;
}

.footer #update-check {
    opacity:.65;
}

/* Mobile Darstellung */
@media (max-width:768px) {
    .navbar-brand {
        min-width:245px;
        font-size:14px;
    }

    #edit_form .form-group {
        display:block;
    }

    #edit_form .control-label {
        display:block;
        text-align:left !important;
        padding:0 0 6px !important;
    }

    #edit_form .panel-body {
        padding:18px 16px !important;
    }

    #edit_form .form-control {
        max-width:none;
    }
}


/* ============================================================
   Radio Emergency PostfixAdmin V3.1
   Korrektur Formularlayout
   ============================================================ */

#edit_form {
    max-width:1100px !important;
}

/* Bootstrap-Layout wieder kontrolliert verwenden */
#edit_form .form-group {
    display:flex !important;
    align-items:flex-start !important;
    margin-left:0 !important;
    margin-right:0 !important;
    margin-bottom:18px !important;
}

/* Beschriftung links */
#edit_form .control-label {
    flex:0 0 260px !important;
    width:260px !important;
    float:none !important;
    text-align:right !important;
    padding:10px 24px 0 0 !important;
}

/* Eingabebereich rechts daneben */
#edit_form .col-md-6,
#edit_form .col-sm-8 {
    flex:1 1 auto !important;
    width:auto !important;
    float:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
}

/* Felder angenehm breit */
#edit_form .form-control {
    width:100% !important;
    max-width:520px !important;
}

/* Beschreibung unter dem Feld */
#edit_form .help-block {
    width:100% !important;
    max-width:520px !important;
}

/* Checkboxen sauber ausrichten */
#edit_form .checkbox {
    margin-top:0 !important;
    padding-top:8px !important;
}

/* Mobile */
@media (max-width:768px) {
    #edit_form .form-group {
        display:block !important;
    }

    #edit_form .control-label {
        width:100% !important;
        text-align:left !important;
        padding:0 0 7px 0 !important;
    }

    #edit_form .col-md-6,
    #edit_form .col-sm-8 {
        width:100% !important;
    }

    #edit_form .form-control,
    #edit_form .help-block {
        max-width:none !important;
    }
}

/* ============================================================
   Radio Emergency PostfixAdmin V3.2
   Header-Logo Korrektur
   ============================================================ */

.navbar-brand {
    background-image:none !important;
    padding:6px 18px !important;
    min-width:auto !important;
    min-height:64px !important;
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
}

.navbar-brand #login_header_logo {
    display:block !important;
    content:url("../images/radio-emergency-logo.png");
    width:auto !important;
    height:52px !important;
    max-width:150px !important;
    object-fit:contain !important;
}

.navbar-brand::after {
    content:"Radio Emergency · Mailserver";
    font-size:18px;
    font-weight:700;
    color:#ffffff;
    white-space:nowrap;
}

.navbar {
    min-height:66px !important;
}

.navbar-nav > li > a {
    padding-top:23px !important;
    padding-bottom:23px !important;
}

@media (max-width:768px) {
    .navbar-brand #login_header_logo {
        height:44px !important;
    }

    .navbar-brand::after {
        font-size:15px;
    }
}

/* ============================================================
   Radio Emergency PostfixAdmin V3.3
   Status-, Erfolgs- und Fehlermeldungen
   ============================================================ */

.alert {
    border-radius:8px !important;
    border-width:1px !important;
    padding:14px 18px !important;
    margin:18px auto 24px !important;
    max-width:1480px !important;
    box-shadow:0 4px 14px rgba(0,0,0,.18) !important;
    font-size:15px !important;
}

/* Erfolg / Information */
.alert-info,
.alert-success {
    background:#142a3b !important;
    border-color:#285878 !important;
    color:#b9dcf4 !important;
}

.alert-info a,
.alert-success a {
    color:#74c2f3 !important;
}

/* Warnung */
.alert-warning {
    background:#332a16 !important;
    border-color:#725a25 !important;
    color:#f0d99d !important;
}

.alert-warning a {
    color:#f1c968 !important;
}

/* Fehler */
.alert-danger,
.alert-error {
    background:#351b20 !important;
    border-color:#75313b !important;
    color:#f2bdc3 !important;
}

.alert-danger a,
.alert-error a {
    color:#ff8e9b !important;
}

/* Listen innerhalb der Meldungen */
.alert ul {
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding-left:24px !important;
}

.alert li {
    color:inherit !important;
}


/* RE-PFA-LOGIN-V4-BEGIN */

/* ============================================================
   Radio Emergency PostfixAdmin Login V4
   ============================================================ */

body.re-pfa-login-body {
    margin: 0 !important;
    padding: 0 !important;

    min-height: 100vh;

    display: flex;
    flex-direction: column;

    background:
        radial-gradient(
            circle at 12% 32%,
            rgba(0,92,139,.22),
            transparent 34%
        ),
        linear-gradient(
            110deg,
            #17262d 0%,
            #202628 53%,
            #071f2b 100%
        ) !important;

    color: #f3f5f6;

    font-family:
        Arial,
        Helvetica,
        sans-serif;
}


/* Alte Login-Strukturen vollständig neutralisieren */

body.re-pfa-login-body > .navbar {
    display: none !important;
}

body.re-pfa-login-body #login {
    all: unset;
}


/* Seite */

.re-pfa-page {
    flex: 1 0 auto;

    min-height:
        calc(100vh - 58px);

    display: flex;
    flex-direction: column;
}


/* Header */

.re-pfa-header {
    min-height: 102px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 16px 52px;

    border-bottom:
        1px solid
        rgba(255,255,255,.10);

    background:
        rgba(31,37,39,.96);

    box-shadow:
        0 1px 0
        rgba(0,0,0,.28);
}

.re-pfa-brand {
    display: flex;
    align-items: center;

    gap: 25px;
}

.re-pfa-logo {
    width: 185px;
    height: auto;

    display: block;
}

.re-pfa-brand-divider {
    width: 1px;
    height: 52px;

    background:
        rgba(255,255,255,.16);
}

.re-pfa-brand-title {
    color: #f4f5f5;

    font-size: 24px;
    font-weight: 750;

    line-height: 1.15;
}

.re-pfa-brand-subtitle {
    margin-top: 4px;

    color: #aaa9a3;

    font-size: 16px;
}

.re-pfa-status {
    display: flex;
    align-items: center;

    gap: 10px;

    padding: 10px 18px;

    border:
        1px solid
        rgba(40,200,153,.38);

    border-radius: 30px;

    background:
        rgba(29,93,75,.18);

    color: #6ae5bd;

    font-size: 15px;
    font-weight: 650;
}

.re-pfa-status-dot {
    width: 10px;
    height: 10px;

    border-radius: 50%;

    background: #47e0ad;

    box-shadow:
        0 0 12px
        rgba(71,224,173,.62);
}


/* Hauptbereich */

.re-pfa-main {
    flex: 1;

    display: flex;
    align-items: center;

    padding: 42px 7vw 42px;
}

.re-pfa-login-wrap {
    width: 100%;
    max-width: 1510px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        minmax(420px,1fr)
        minmax(520px,620px);

    align-items: center;

    gap: 90px;
}


/* Linker Bereich */

.re-pfa-intro {
    max-width: 670px;
}

.re-pfa-kicker {
    margin-bottom: 24px;

    color: #43e0df;

    font-size: 16px;
    font-weight: 850;

    letter-spacing: .18em;
}

.re-pfa-intro h1 {
    margin: 0 0 28px;

    color: #f4f3ef;

    font-size:
        clamp(
            58px,
            5vw,
            82px
        );

    font-weight: 750;

    line-height: .96;

    letter-spacing: -.045em;
}

.re-pfa-intro h1 span {
    color: #37c2bd;
}

.re-pfa-intro p {
    max-width: 670px;

    margin: 0 0 28px;

    color: #d7d0c5;

    font-size: 20px;
    line-height: 1.55;
}

.re-pfa-slogan {
    color: #f4eee5;

    font-size: 18px;
    font-weight: 800;
}


/* Login-Karte */

.re-pfa-card {
    width: 100%;

    padding: 27px 38px 23px;

    border:
        1px solid
        rgba(255,255,255,.13);

    border-radius: 24px;

    background:
        linear-gradient(
            145deg,
            rgba(57,63,64,.96),
            rgba(43,48,49,.96)
        );

    box-shadow:
        0 24px 70px
        rgba(0,0,0,.24);
}

.re-pfa-card-line {
    width: 65px;
    height: 4px;

    margin-bottom: 20px;

    border-radius: 6px;

    background:
        linear-gradient(
            90deg,
            #41cfc1,
            #218dd5
        );
}

.re-pfa-card h2 {
    margin: 0 0 6px !important;

    color: #f6f4ef;

    font-size: 34px !important;
    font-weight: 750 !important;

    line-height: 1.15;
}

.re-pfa-card-description {
    margin-bottom: 18px;

    color: #cfc3b3;

    font-size: 17px;
}


/* Formular */

.re-pfa-form {
    margin: 0;
}

.re-pfa-field {
    margin-bottom: 13px;
}

.re-pfa-field label,
.re-pfa-language label {
    display: block;

    margin: 0 0 6px;

    color: #f1e8d8;

    font-size: 15px;
    font-weight: 750;
}

body.re-pfa-login-body
.re-pfa-field
.form-control {
    width: 100%;

    height: 54px !important;

    padding: 11px 14px !important;

    border:
        1px solid
        #37617b !important;

    border-radius:
        11px !important;

    background:
        #202729 !important;

    color: #f7f8f8 !important;

    font-size: 16px;

    box-shadow:
        none !important;
}

body.re-pfa-login-body
.re-pfa-field
.form-control:focus {
    border-color:
        #28bdba !important;

    box-shadow:
        0 0 0 3px
        rgba(40,189,186,.13)
        !important;
}


/* Passwort vergessen */

.re-pfa-forgot-row {
    min-height: 25px;

    display: flex;
    justify-content: center;
    align-items: center;

    margin: 2px 0 9px;

    text-align: center;
}

.re-pfa-forgot-link {
    color: #42d4ff !important;

    font-size: 13px;
    font-weight: 700;

    text-decoration: none !important;
}

.re-pfa-forgot-link:hover {
    color: #7ee4ff !important;

    text-decoration:
        underline !important;
}


/* Sprache */

.re-pfa-language {
    margin-top: 6px;
    margin-bottom: 15px;
}

body.re-pfa-login-body
.re-pfa-language
select {
    width: 100%;

    height: 44px;

    padding: 7px 12px;

    border:
        1px solid
        #436274;

    border-radius: 9px;

    background:
        #202b32;

    color: #f5f6f6;

    box-shadow: none;
}


/* Login Button */

body.re-pfa-login-body
.re-pfa-submit {
    width: 100%;

    min-height: 53px;

    margin: 0;

    border: 0 !important;

    border-radius:
        10px !important;

    background:
        linear-gradient(
            90deg,
            #42c7bd,
            #45e1d6
        ) !important;

    color: #071c20 !important;

    font-size: 17px !important;
    font-weight: 850 !important;

    box-shadow: none !important;

    transition:
        transform .15s ease,
        filter .15s ease;
}

body.re-pfa-login-body
.re-pfa-submit:hover {
    filter: brightness(1.06);

    transform:
        translateY(-1px);
}


/* Sicherheitsfeld */

.re-pfa-seal {
    display: flex;
    align-items: center;

    gap: 12px;

    margin-top: 13px;

    padding: 10px 12px;

    border:
        1px solid
        rgba(50,185,240,.28);

    border-radius: 12px;

    background:
        linear-gradient(
            135deg,
            rgba(0,108,170,.11),
            rgba(0,43,74,.12)
        );
}

.re-pfa-icon {
    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    display: grid;
    place-items: center;

    border:
        1px solid
        rgba(63,201,255,.35);

    border-radius: 12px;

    background:
        rgba(0,108,169,.17);

    color: #42d7ff;
}

.re-pfa-icon svg {
    width: 29px;
    height: 29px;

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.re-pfa-seal-text {
    min-width: 0;

    color: #d3dce0;

    font-size: 12px;
    line-height: 1.4;
}

.re-pfa-seal-title {
    display: block;

    margin-bottom: 2px;

    color: #57cfff;

    font-size: 11px;
    font-weight: 850;

    letter-spacing: .055em;

    text-transform: uppercase;
}

.re-pfa-switch {
    margin-top: 10px;

    padding-top: 10px;

    border-top:
        1px solid
        rgba(255,255,255,.10);

    text-align: center;

    font-size: 12px;
}

.re-pfa-switch a {
    color: #56cfff !important;

    text-decoration: none;
}

.re-pfa-switch a:hover {
    text-decoration: underline;
}


/* Footer */

body.re-pfa-login-body
.footer {
    position: static !important;

    flex: 0 0 auto;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;

    padding: 17px 20px !important;

    border-top:
        1px solid
        rgba(255,255,255,.08);

    background:
        rgba(28,35,37,.92) !important;

    color: #9fa9ad !important;

    font-size: 12px;
}

body.re-pfa-login-body
.footer .container {
    width: 100%;
}

body.re-pfa-login-body
.footer a {
    color: #48cdda !important;
}


/* Native PostfixAdmin Meldungen */

body.re-pfa-login-body
.flash-error,
body.re-pfa-login-body
.flash-info {
    position: fixed;

    z-index: 9998;

    left: 34px;
    bottom: 72px;

    width:
        min(
            430px,
            calc(100vw - 68px)
        );

    margin: 0 !important;

    padding:
        15px 46px 15px 18px
        !important;

    border-radius: 13px;

    list-style: none;

    box-shadow:
        0 18px 50px
        rgba(0,0,0,.42);
}

body.re-pfa-login-body
.flash-error {
    border:
        1px solid
        rgba(255,101,101,.47);

    background:
        rgba(66,20,25,.97);

    color: #ffd4d4;
}

body.re-pfa-login-body
.flash-info {
    border:
        1px solid
        rgba(67,190,238,.40);

    background:
        rgba(9,35,49,.97);

    color: #d6edf6;
}

body.re-pfa-login-body
.flash-error li,
body.re-pfa-login-body
.flash-info li {
    margin: 0;
}


/* Eigener Info-Toast */

.re-pfa-toast {
    position: fixed;

    z-index: 9999;

    left: 34px;
    bottom: 72px;

    width:
        min(
            430px,
            calc(100vw - 68px)
        );

    padding:
        15px 46px 15px 18px;

    border:
        1px solid
        rgba(68,174,230,.42);

    border-radius: 13px;

    background:
        rgba(7,27,39,.97);

    box-shadow:
        0 18px 50px
        rgba(0,0,0,.42);

    color: #d9e7ed;

    font-size: 14px;
    line-height: 1.55;
}

.re-pfa-toast-title {
    display: block;

    margin-bottom: 5px;

    color: #55d6ff;

    font-size: 15px;
    font-weight: 800;
}

.re-pfa-toast-close {
    position: absolute;

    top: 9px;
    right: 10px;

    width: 28px;
    height: 28px;

    display: grid;
    place-items: center;

    padding: 0;

    border: 0;

    border-radius: 7px;

    background:
        rgba(255,255,255,.07);

    color: #c0d0d8;

    font-size: 19px;

    cursor: pointer;
}

.re-pfa-toast-close:hover {
    background:
        rgba(255,255,255,.13);

    color: #fff;
}

.re-pfa-toast.is-leaving,
.re-pfa-native-toast.is-leaving {
    opacity: 0;

    transform:
        translateY(8px);

    transition:
        opacity .3s ease,
        transform .3s ease;
}


/* Responsive */

@media (max-width: 1050px) {

    .re-pfa-login-wrap {
        grid-template-columns: 1fr;

        gap: 35px;

        max-width: 680px;
    }

    .re-pfa-intro {
        display: none;
    }

    .re-pfa-main {
        padding:
            35px 22px;
    }
}

@media (max-width: 650px) {

    .re-pfa-header {
        padding:
            13px 18px;
    }

    .re-pfa-logo {
        width: 145px;
    }

    .re-pfa-brand-divider {
        display: none;
    }

    .re-pfa-brand-text {
        display: none;
    }

    .re-pfa-status {
        padding:
            8px 11px;

        font-size: 12px;
    }

    .re-pfa-card {
        padding:
            24px 20px 20px;
    }

    .re-pfa-toast,
    body.re-pfa-login-body
    .flash-error,
    body.re-pfa-login-body
    .flash-info {
        left: 15px;
        right: 15px;

        bottom: 18px;

        width: auto;
    }
}

/* RE-PFA-LOGIN-V4-END */


/* RE-PFA-COMPACT-V5-BEGIN */

/*
 * Kompakter Desktop-Modus.
 * Ziel:
 * komplette Login-Karte + Footer ohne vertikales Scrollen.
 */

@media (min-width: 1051px) and (max-height: 950px) {

    body.re-pfa-login-body {
        min-height: 100vh !important;
    }

    .re-pfa-page {
        min-height: 0 !important;
        flex: 1 1 auto !important;
    }


    /* Header kompakter */

    .re-pfa-header {
        min-height: 82px !important;

        padding:
            10px 52px !important;
    }

    .re-pfa-logo {
        width: 160px !important;
    }

    .re-pfa-brand {
        gap: 21px !important;
    }

    .re-pfa-brand-divider {
        height: 45px !important;
    }

    .re-pfa-brand-title {
        font-size: 21px !important;
    }

    .re-pfa-brand-subtitle {
        font-size: 14px !important;
    }

    .re-pfa-status {
        padding:
            8px 15px !important;

        font-size: 14px !important;
    }


    /* Hauptbereich */

    .re-pfa-main {
        padding:
            20px 7vw 18px !important;
    }

    .re-pfa-login-wrap {
        gap: 72px !important;
    }


    /* Linke Seite */

    .re-pfa-kicker {
        margin-bottom: 17px !important;

        font-size: 14px !important;
    }

    .re-pfa-intro h1 {
        margin-bottom:
            20px !important;

        font-size:
            clamp(
                52px,
                4.3vw,
                68px
            ) !important;

        line-height:
            .94 !important;
    }

    .re-pfa-intro p {
        margin-bottom:
            20px !important;

        font-size:
            17px !important;

        line-height:
            1.45 !important;
    }

    .re-pfa-slogan {
        font-size:
            16px !important;
    }


    /* Login-Karte */

    .re-pfa-card {
        padding:
            20px 34px 18px !important;

        border-radius:
            21px !important;
    }

    .re-pfa-card-line {
        margin-bottom:
            14px !important;
    }

    .re-pfa-card h2 {
        margin-bottom:
            4px !important;

        font-size:
            29px !important;
    }

    .re-pfa-card-description {
        margin-bottom:
            13px !important;

        font-size:
            15px !important;
    }


    /* Formular */

    .re-pfa-field {
        margin-bottom:
            9px !important;
    }

    .re-pfa-field label,
    .re-pfa-language label {
        margin-bottom:
            4px !important;

        font-size:
            14px !important;
    }

    body.re-pfa-login-body
    .re-pfa-field
    .form-control {
        height:
            46px !important;

        min-height:
            46px !important;

        padding:
            8px 13px !important;

        font-size:
            15px !important;
    }


    /* Passwort vergessen */

    .re-pfa-forgot-row {
        min-height:
            20px !important;

        margin:
            0 0 6px !important;
    }

    .re-pfa-forgot-link {
        font-size:
            12px !important;
    }


    /* Sprache */

    .re-pfa-language {
        margin-top:
            3px !important;

        margin-bottom:
            10px !important;
    }

    body.re-pfa-login-body
    .re-pfa-language
    select {
        height:
            39px !important;

        padding:
            5px 10px !important;

        font-size:
            14px !important;
    }


    /* Login-Button */

    body.re-pfa-login-body
    .re-pfa-submit {
        min-height:
            46px !important;

        font-size:
            16px !important;
    }


    /* Sicherheitsfeld */

    .re-pfa-seal {
        margin-top:
            9px !important;

        padding:
            7px 10px !important;
    }

    .re-pfa-icon {
        flex-basis:
            38px !important;

        width:
            38px !important;

        height:
            38px !important;
    }

    .re-pfa-icon svg {
        width:
            25px !important;

        height:
            25px !important;
    }

    .re-pfa-seal-text {
        font-size:
            11px !important;
    }

    .re-pfa-seal-title {
        font-size:
            10px !important;
    }

    .re-pfa-switch {
        margin-top:
            7px !important;

        padding-top:
            7px !important;
    }


    /* Footer kompakter */

    body.re-pfa-login-body
    .footer {
        padding:
            10px 20px !important;

        font-size:
            11px !important;
    }
}


/*
 * Noch kompakter bei kleineren Notebook-Höhen.
 */

@media (min-width: 1051px) and (max-height: 800px) {

    .re-pfa-header {
        min-height:
            72px !important;
    }

    .re-pfa-logo {
        width:
            145px !important;
    }

    .re-pfa-main {
        padding-top:
            12px !important;

        padding-bottom:
            10px !important;
    }

    .re-pfa-intro h1 {
        font-size:
            52px !important;
    }

    .re-pfa-card {
        padding:
            16px 30px 14px !important;
    }

    .re-pfa-card-line {
        margin-bottom:
            10px !important;
    }

    body.re-pfa-login-body
    .footer {
        padding:
            7px 16px !important;
    }
}

/* RE-PFA-COMPACT-V5-END */

/* RE-PFA-FINAL-V6-BEGIN */

/*
 * Alte PostfixAdmin-Layoutbegrenzungen sicher neutralisieren.
 */

html,
html body.re-pfa-login-body {
    width: 100% !important;
    max-width: none !important;

    min-height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

html body.re-pfa-login-body {
    overflow-x: hidden !important;
}

body.re-pfa-login-body .re-pfa-page {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/*
 * Header wie bei den übrigen RE-Adminseiten:
 * volle Breite, kein alter Container-Einzug.
 */

body.re-pfa-login-body .re-pfa-header {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
}


/*
 * Desktop mit normaler Notebook-/Monitorhöhe.
 */

@media (min-width: 1051px) and (max-height: 950px) {

    body.re-pfa-login-body .re-pfa-header {
        min-height: 70px !important;

        padding:
            8px 48px !important;
    }

    body.re-pfa-login-body .re-pfa-logo {
        width: 145px !important;
    }

    body.re-pfa-login-body .re-pfa-brand-divider {
        height: 40px !important;
    }

    body.re-pfa-login-body .re-pfa-brand-title {
        font-size: 19px !important;
    }

    body.re-pfa-login-body .re-pfa-brand-subtitle {
        font-size: 13px !important;
    }

    body.re-pfa-login-body .re-pfa-status {
        padding: 7px 14px !important;

        font-size: 13px !important;
    }


    body.re-pfa-login-body .re-pfa-main {
        min-height: 0 !important;

        padding:
            14px 7vw 12px !important;
    }

    body.re-pfa-login-body .re-pfa-login-wrap {
        max-width: 1450px !important;

        gap: 62px !important;
    }


    body.re-pfa-login-body .re-pfa-kicker {
        margin-bottom: 13px !important;
    }

    body.re-pfa-login-body .re-pfa-intro h1 {
        margin-bottom: 15px !important;

        font-size: 54px !important;
    }

    body.re-pfa-login-body .re-pfa-intro p {
        margin-bottom: 15px !important;

        font-size: 16px !important;
    }

    body.re-pfa-login-body .re-pfa-slogan {
        font-size: 15px !important;
    }


    body.re-pfa-login-body .re-pfa-card {
        padding:
            15px 30px 13px !important;

        border-radius:
            18px !important;
    }

    body.re-pfa-login-body .re-pfa-card-line {
        height: 3px !important;

        margin-bottom:
            9px !important;
    }

    body.re-pfa-login-body .re-pfa-card h2 {
        margin-bottom:
            2px !important;

        font-size:
            27px !important;
    }

    body.re-pfa-login-body .re-pfa-card-description {
        margin-bottom:
            9px !important;

        font-size:
            14px !important;
    }


    body.re-pfa-login-body .re-pfa-field {
        margin-bottom:
            6px !important;
    }

    body.re-pfa-login-body
    .re-pfa-field label,
    body.re-pfa-login-body
    .re-pfa-language label {
        margin-bottom:
            3px !important;

        font-size:
            13px !important;
    }

    body.re-pfa-login-body
    .re-pfa-field
    .form-control {
        height:
            42px !important;

        min-height:
            42px !important;
    }


    body.re-pfa-login-body .re-pfa-forgot-row {
        min-height:
            18px !important;

        margin:
            0 0 4px !important;
    }


    body.re-pfa-login-body .re-pfa-language {
        margin:
            2px 0 7px !important;
    }

    body.re-pfa-login-body
    .re-pfa-language select {
        height:
            36px !important;
    }


    body.re-pfa-login-body .re-pfa-submit {
        min-height:
            42px !important;
    }


    body.re-pfa-login-body .re-pfa-seal {
        margin-top:
            7px !important;

        padding:
            6px 9px !important;
    }

    body.re-pfa-login-body .re-pfa-icon {
        flex-basis:
            34px !important;

        width:
            34px !important;

        height:
            34px !important;
    }

    body.re-pfa-login-body .re-pfa-icon svg {
        width:
            22px !important;

        height:
            22px !important;
    }

    body.re-pfa-login-body .re-pfa-switch {
        margin-top:
            5px !important;

        padding-top:
            5px !important;

        font-size:
            11px !important;
    }


    body.re-pfa-login-body .footer {
        padding:
            7px 15px !important;

        font-size:
            10px !important;
    }
}


/*
 * 800–870px hohe Desktopfenster wie im Screenshot.
 */

@media (min-width: 1051px) and (max-height: 870px) {

    body.re-pfa-login-body .re-pfa-header {
        min-height:
            64px !important;

        padding-top:
            6px !important;

        padding-bottom:
            6px !important;
    }

    body.re-pfa-login-body .re-pfa-logo {
        width:
            135px !important;
    }

    body.re-pfa-login-body .re-pfa-main {
        padding-top:
            8px !important;

        padding-bottom:
            7px !important;
    }

    body.re-pfa-login-body .re-pfa-card {
        padding:
            12px 28px 10px !important;
    }

    body.re-pfa-login-body .re-pfa-intro h1 {
        font-size:
            50px !important;
    }

    body.re-pfa-login-body .footer {
        padding:
            5px 12px !important;
    }
}

/* RE-PFA-FINAL-V6-END */

/* RE-PFA-FULLSCREEN-V7-BEGIN */

/*
 * Desktop-Finalzustand:
 *
 * - Header über volle Fensterbreite
 * - kein Leerraum oberhalb des Headers
 * - kein vertikaler Scrollbalken
 * - Footer bleibt vollständig sichtbar
 *
 * Mobile/kleine Fenster dürfen weiterhin scrollen.
 */

@media (min-width: 1051px) and (min-height: 700px) {

    html {
        width: 100% !important;
        height: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;
    }

    html body.re-pfa-login-body {
        width: 100vw !important;
        height: 100vh !important;

        min-width: 0 !important;
        min-height: 0 !important;

        max-width: none !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: hidden !important;

        display: grid !important;

        grid-template-rows:
            minmax(0, 1fr)
            auto !important;
    }


    /*
     * Hauptseite füllt exakt den Bereich
     * oberhalb des Footers.
     */

    html body.re-pfa-login-body
    .re-pfa-page {
        width: 100vw !important;
        height: 100% !important;

        min-width: 0 !important;
        min-height: 0 !important;

        max-width: none !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;

        display: grid !important;

        grid-template-rows:
            82px
            minmax(0, 1fr) !important;

        overflow: hidden !important;
    }


    /*
     * HEADER:
     * wirklich volle Browserbreite.
     */

    html body.re-pfa-login-body
    .re-pfa-header {
        position: relative !important;

        left: 50% !important;

        width: 100vw !important;
        max-width: none !important;

        min-height: 82px !important;
        height: 82px !important;

        margin: 0 !important;

        padding:
            10px 52px !important;

        transform:
            translateX(-50%) !important;

        box-sizing:
            border-box !important;

        display: flex !important;

        align-items:
            center !important;

        justify-content:
            space-between !important;

        border-bottom:
            1px solid
            rgba(255,255,255,.10) !important;

        background:
            rgba(31,37,39,.98) !important;

        box-shadow:
            0 1px 0
            rgba(0,0,0,.30) !important;
    }


    html body.re-pfa-login-body
    .re-pfa-logo {
        width: 160px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-brand-divider {
        height: 46px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-brand-title {
        font-size: 21px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-brand-subtitle {
        font-size: 14px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-status {
        padding:
            8px 15px !important;

        font-size:
            14px !important;
    }


    /*
     * HAUPTBEREICH:
     * keine Mindesthöhe aus alten Themes.
     */

    html body.re-pfa-login-body
    .re-pfa-main {
        width: 100% !important;
        height: 100% !important;

        min-height: 0 !important;

        margin: 0 !important;

        padding:
            14px 7vw 12px !important;

        box-sizing:
            border-box !important;

        display: flex !important;

        align-items:
            center !important;

        overflow: hidden !important;
    }


    html body.re-pfa-login-body
    .re-pfa-login-wrap {
        width: 100% !important;

        max-width:
            1450px !important;

        margin:
            0 auto !important;

        gap:
            70px !important;

        align-items:
            center !important;
    }


    /*
     * Linke Seite.
     */

    html body.re-pfa-login-body
    .re-pfa-kicker {
        margin-bottom:
            14px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-intro h1 {
        margin-bottom:
            17px !important;

        font-size:
            55px !important;

        line-height:
            .96 !important;
    }

    html body.re-pfa-login-body
    .re-pfa-intro p {
        margin-bottom:
            17px !important;

        font-size:
            16px !important;

        line-height:
            1.45 !important;
    }

    html body.re-pfa-login-body
    .re-pfa-slogan {
        font-size:
            15px !important;
    }


    /*
     * Rechte Login-Karte.
     */

    html body.re-pfa-login-body
    .re-pfa-card {
        padding:
            14px 30px 11px !important;

        border-radius:
            18px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-card-line {
        height:
            3px !important;

        margin-bottom:
            9px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-card h2 {
        margin:
            0 0 2px !important;

        font-size:
            27px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-card-description {
        margin-bottom:
            8px !important;

        font-size:
            14px !important;
    }


    html body.re-pfa-login-body
    .re-pfa-field {
        margin-bottom:
            6px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-field label,
    html body.re-pfa-login-body
    .re-pfa-language label {
        margin-bottom:
            3px !important;

        font-size:
            13px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-field
    .form-control {
        height:
            42px !important;

        min-height:
            42px !important;

        padding:
            7px 12px !important;
    }


    html body.re-pfa-login-body
    .re-pfa-forgot-row {
        min-height:
            17px !important;

        margin:
            0 0 4px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-forgot-link {
        font-size:
            12px !important;
    }


    html body.re-pfa-login-body
    .re-pfa-language {
        margin:
            1px 0 7px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-language select {
        height:
            36px !important;

        min-height:
            36px !important;

        padding:
            4px 10px !important;
    }


    html body.re-pfa-login-body
    .re-pfa-submit {
        min-height:
            42px !important;

        height:
            42px !important;
    }


    html body.re-pfa-login-body
    .re-pfa-seal {
        margin-top:
            7px !important;

        padding:
            6px 9px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-icon {
        flex-basis:
            34px !important;

        width:
            34px !important;

        height:
            34px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-icon svg {
        width:
            22px !important;

        height:
            22px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-seal-text {
        font-size:
            10.5px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-seal-title {
        font-size:
            9.5px !important;
    }


    html body.re-pfa-login-body
    .re-pfa-switch {
        margin-top:
            5px !important;

        padding-top:
            5px !important;

        font-size:
            11px !important;
    }


    /*
     * FOOTER:
     * eigene feste Grid-Zeile.
     */

    html body.re-pfa-login-body
    .footer {
        position: static !important;

        width: 100vw !important;

        min-height: 30px !important;
        height: auto !important;

        margin: 0 !important;

        padding:
            7px 12px !important;

        box-sizing:
            border-box !important;

        font-size:
            10px !important;

        overflow: hidden !important;
    }

}


/*
 * Etwas niedrigere Desktopfenster.
 */

@media (min-width: 1051px)
       and (min-height: 700px)
       and (max-height: 820px) {

    html body.re-pfa-login-body
    .re-pfa-page {
        grid-template-rows:
            72px
            minmax(0,1fr) !important;
    }

    html body.re-pfa-login-body
    .re-pfa-header {
        height:
            72px !important;

        min-height:
            72px !important;

        padding:
            7px 46px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-logo {
        width:
            145px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-main {
        padding-top:
            7px !important;

        padding-bottom:
            6px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-intro h1 {
        font-size:
            49px !important;
    }

    html body.re-pfa-login-body
    .re-pfa-card {
        padding:
            11px 27px 9px !important;
    }
}


/*
 * Unter 700px Höhe Scrollen wieder erlauben,
 * damit nichts abgeschnitten werden kann.
 */

@media (max-height: 699px) {

    html,
    html body.re-pfa-login-body {
        overflow-y:
            auto !important;
    }
}

/* RE-PFA-FULLSCREEN-V7-END */

/* RE-PFA-NATIVE-WRAPPER-V8-BEGIN */

/*
 * ==========================================================
 * POSTFIXADMIN LOGIN – NATIVEN WRAPPER NEUTRALISIEREN
 * ==========================================================
 *
 * PostfixAdmin erzeugt:
 *
 * <body class="... page-login">
 *   <div class="container"
 *        style="min-width:600px;width:min-content"
 *        role="main">
 *
 * Dieser Wrapper war die Ursache für:
 *
 * - eingerückten Header
 * - obere Leerfläche
 * - vertikalen Scrollbalken
 *
 * Nur page-login wird verändert.
 * Angemeldete PostfixAdmin-Seiten bleiben unangetastet.
 */


/* ----------------------------------------------------------
   Gesamte Loginseite exakt auf Browserhöhe
   ---------------------------------------------------------- */

html {
    margin: 0 !important;
    padding: 0 !important;

    width: 100% !important;
    height: 100% !important;
}

body.page-login {
    margin: 0 !important;
    padding: 0 !important;

    width: 100% !important;
    height: 100vh !important;

    min-width: 0 !important;
    min-height: 0 !important;

    overflow: hidden !important;

    display: grid !important;

    grid-template-rows:
        minmax(0, 1fr)
        34px !important;
}


/* ----------------------------------------------------------
   NATIVER POSTFIXADMIN-WRAPPER
   überschreibt auch:
   style="min-width:600px;width:min-content"
   ---------------------------------------------------------- */

body.page-login
> .container[role="main"] {

    width: 100% !important;
    height: 100% !important;

    min-width: 0 !important;
    min-height: 0 !important;

    max-width: none !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    position: relative !important;

    overflow: hidden !important;

    box-sizing: border-box !important;
}


/*
 * Die zwei von PostfixAdmin vor dem Login
 * eingefügten <br> erzeugen sonst Leerraum.
 */

body.page-login
> .container[role="main"]
> br {
    display: none !important;

    margin: 0 !important;
    padding: 0 !important;

    height: 0 !important;
    line-height: 0 !important;
}


/* ----------------------------------------------------------
   Unsere Seite füllt jetzt den nativen Wrapper vollständig
   ---------------------------------------------------------- */

body.page-login
.re-pfa-page {

    width: 100% !important;
    height: 100% !important;

    min-width: 0 !important;
    min-height: 0 !important;

    max-width: none !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    display: grid !important;

    grid-template-rows:
        82px
        minmax(0, 1fr) !important;

    overflow: hidden !important;

    box-sizing: border-box !important;
}


/* ----------------------------------------------------------
   HEADER – jetzt echte volle Browserbreite
   ---------------------------------------------------------- */

body.page-login
.re-pfa-header {

    position: static !important;

    left: auto !important;
    right: auto !important;

    transform: none !important;

    width: 100% !important;
    max-width: none !important;

    height: 82px !important;
    min-height: 82px !important;

    margin: 0 !important;

    padding:
        10px 52px !important;

    box-sizing:
        border-box !important;

    display: flex !important;

    align-items:
        center !important;

    justify-content:
        space-between !important;

    border-radius:
        0 !important;

    border-left:
        0 !important;

    border-right:
        0 !important;

    background:
        rgba(
            31,
            37,
            39,
            .98
        ) !important;
}


/* Logo wieder auf Größe der übrigen Adminseiten */

body.page-login
.re-pfa-logo {
    width:
        160px !important;

    max-width:
        160px !important;
}


/* ----------------------------------------------------------
   HAUPTBEREICH
   ---------------------------------------------------------- */

body.page-login
.re-pfa-main {

    width: 100% !important;
    height: auto !important;

    min-width: 0 !important;
    min-height: 0 !important;

    margin: 0 !important;

    padding:
        16px 7vw 12px !important;

    box-sizing:
        border-box !important;

    overflow:
        hidden !important;

    display:
        flex !important;

    align-items:
        center !important;
}


body.page-login
.re-pfa-login-wrap {

    width: 100% !important;

    max-width:
        1450px !important;

    margin:
        0 auto !important;

    gap:
        70px !important;

    align-items:
        center !important;
}


/* ----------------------------------------------------------
   LOGIN-KARTE – bleibt kompakt
   ---------------------------------------------------------- */

body.page-login
.re-pfa-card {

    padding:
        14px
        30px
        11px
        !important;

    border-radius:
        18px !important;
}


body.page-login
.re-pfa-card-line {

    height:
        3px !important;

    margin-bottom:
        9px !important;
}


body.page-login
.re-pfa-card h2 {

    margin:
        0 0 2px !important;

    font-size:
        27px !important;
}


body.page-login
.re-pfa-card-description {

    margin-bottom:
        8px !important;

    font-size:
        14px !important;
}


body.page-login
.re-pfa-field {

    margin-bottom:
        6px !important;
}


body.page-login
.re-pfa-field
.form-control {

    height:
        42px !important;

    min-height:
        42px !important;
}


body.page-login
.re-pfa-forgot-row {

    min-height:
        17px !important;

    margin:
        0 0 4px !important;
}


body.page-login
.re-pfa-language {

    margin:
        1px 0 7px !important;
}


body.page-login
.re-pfa-language
select {

    height:
        36px !important;

    min-height:
        36px !important;
}


body.page-login
.re-pfa-submit {

    height:
        42px !important;

    min-height:
        42px !important;
}


body.page-login
.re-pfa-seal {

    margin-top:
        7px !important;

    padding:
        6px 9px !important;
}


body.page-login
.re-pfa-switch {

    margin-top:
        5px !important;

    padding-top:
        5px !important;
}


/* ----------------------------------------------------------
   FOOTER – zweite Gridzeile des BODY
   ---------------------------------------------------------- */

body.page-login
> footer.footer {

    position:
        static !important;

    width:
        100% !important;

    height:
        34px !important;

    min-height:
        34px !important;

    max-height:
        34px !important;

    margin:
        0 !important;

    padding:
        7px 12px !important;

    box-sizing:
        border-box !important;

    overflow:
        hidden !important;

    font-size:
        10px !important;
}


/*
 * Der Footer besitzt noch einen eigenen
 * Bootstrap-container.
 */

body.page-login
> footer.footer
> .container {

    width:
        100% !important;

    max-width:
        none !important;

    min-width:
        0 !important;

    margin:
        0 !important;

    padding:
        0 !important;
}


/* ----------------------------------------------------------
   Etwas kompakter bei geringer Browserhöhe
   ---------------------------------------------------------- */

@media (max-height: 800px) and (min-width: 1051px) {

    body.page-login
    .re-pfa-page {

        grid-template-rows:
            72px
            minmax(0, 1fr)
            !important;
    }


    body.page-login
    .re-pfa-header {

        height:
            72px !important;

        min-height:
            72px !important;

        padding:
            7px 46px !important;
    }


    body.page-login
    .re-pfa-logo {

        width:
            145px !important;

        max-width:
            145px !important;
    }


    body.page-login
    .re-pfa-main {

        padding-top:
            8px !important;

        padding-bottom:
            7px !important;
    }


    body.page-login
    .re-pfa-intro h1 {

        font-size:
            49px !important;
    }


    body.page-login
    .re-pfa-card {

        padding:
            11px 27px 9px
            !important;
    }
}


/*
 * Mobile:
 * dort muss Scrollen weiterhin möglich sein.
 */

@media (max-width: 1050px) {

    html {
        height:
            auto !important;

        overflow-y:
            auto !important;
    }

    body.page-login {

        height:
            auto !important;

        min-height:
            100vh !important;

        display:
            block !important;

        overflow-y:
            auto !important;
    }


    body.page-login
    > .container[role="main"] {

        height:
            auto !important;

        min-height:
            0 !important;

        overflow:
            visible !important;
    }


    body.page-login
    .re-pfa-page {

        height:
            auto !important;

        min-height:
            100vh !important;

        display:
            flex !important;

        flex-direction:
            column !important;

        overflow:
            visible !important;
    }


    body.page-login
    > footer.footer {

        height:
            auto !important;

        min-height:
            0 !important;

        max-height:
            none !important;
    }
}

/* RE-PFA-NATIVE-WRAPPER-V8-END */

/* RE-PFA-FOOTER-V9-BEGIN */

/*
 * V8 hatte den nativen role=main-Wrapper auf height:100%.
 * Dadurch wurde die separate Footer-Gridzeile nach unten gedrückt
 * und wegen overflow:hidden abgeschnitten.
 */

@media (min-width: 1051px) and (min-height: 700px) {

    body.page-login {
        height: 100vh !important;
        min-height: 100vh !important;

        grid-template-rows:
            minmax(0, 1fr)
            38px !important;

        overflow: hidden !important;
    }


    /*
     * Hauptwrapper darf NICHT selbst 100vh beanspruchen.
     * Er wird von CSS Grid automatisch auf die erste Zeile gestreckt.
     */

    body.page-login
    > .container[role="main"] {

        height: auto !important;
        min-height: 0 !important;

        align-self: stretch !important;

        overflow: hidden !important;
    }


    body.page-login
    .re-pfa-page {

        height: 100% !important;
        min-height: 0 !important;
    }


    /*
     * Footer garantiert sichtbar.
     */

    body.page-login
    > footer.footer {

        position: relative !important;
        z-index: 50 !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;

        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;

        margin: 0 !important;
        padding: 0 16px !important;

        box-sizing: border-box !important;

        overflow: visible !important;

        background:
            rgba(28,35,37,.98) !important;

        border-top:
            1px solid
            rgba(255,255,255,.08) !important;

        color: #9fa9ad !important;

        font-size: 11px !important;
        line-height: 1.2 !important;
    }


    body.page-login
    > footer.footer
    > .container {

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        max-width: none !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;

        line-height: 1.2 !important;

        white-space: nowrap;
    }


    body.page-login
    > footer.footer a {

        color: #48cdda !important;

        text-decoration: none !important;
    }


    body.page-login
    > footer.footer a:hover {

        color: #7ee8ef !important;

        text-decoration: underline !important;
    }
}


/*
 * Bei kleineren Displays wieder normales Scrollen.
 */

@media (max-width: 1050px),
       (max-height: 699px) {

    body.page-login {

        height: auto !important;

        min-height: 100vh !important;

        display: block !important;

        overflow-y: auto !important;
    }


    body.page-login
    > .container[role="main"] {

        height: auto !important;

        overflow: visible !important;
    }


    body.page-login
    > footer.footer {

        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;

        padding: 10px 12px !important;
    }

}

/* RE-PFA-FOOTER-V9-END */

/* RE-PFA-FOOTER-V10-BEGIN */

/*
 * Finaler kompakter Footer.
 *
 * Wir verwenden die Desktop-Fassung bereits ab
 * 620px CSS-Fensterhöhe. Das ist wichtig bei
 * Browser-Zoom bzw. Windows-Skalierung.
 */

@media (min-width: 1051px) and (min-height: 620px) {

    html,
    body.page-login {
        height: 100% !important;

        min-height: 0 !important;

        overflow: hidden !important;
    }


    body.page-login {
        display: grid !important;

        grid-template-rows:
            minmax(0, 1fr)
            30px !important;
    }


    /*
     * Hauptbereich nimmt exakt den restlichen Platz ein.
     */

    body.page-login
    > .container[role="main"] {

        height: auto !important;

        min-height: 0 !important;
        max-height: none !important;

        align-self: stretch !important;

        overflow: hidden !important;
    }


    body.page-login
    .re-pfa-page {

        height: 100% !important;

        min-height: 0 !important;
        max-height: none !important;

        overflow: hidden !important;
    }


    /*
     * Footer nur noch 30px hoch.
     */

    body.page-login
    > footer.footer {

        position: static !important;

        width: 100% !important;

        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;

        margin: 0 !important;

        padding: 0 12px !important;

        box-sizing: border-box !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        overflow: hidden !important;

        background:
            rgba(28,35,37,.98)
            !important;

        border-top:
            1px solid
            rgba(255,255,255,.08)
            !important;

        color:
            #9fa9ad !important;

        font-size:
            10px !important;

        line-height:
            1 !important;
    }


    body.page-login
    > footer.footer
    > .container {

        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;

        height: 30px !important;
        min-height: 30px !important;

        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        line-height: 1 !important;

        white-space: nowrap !important;

        overflow: hidden !important;
    }


    body.page-login
    > footer.footer a {

        color:
            #48cdda !important;

        text-decoration:
            none !important;
    }


    body.page-login
    > footer.footer a:hover {

        color:
            #7ee8ef !important;

        text-decoration:
            underline !important;
    }


    body.page-login
    .re-pfa-copyright {

        color:
            #aeb8bd !important;
    }

}


/*
 * Bei wirklich kleinen Fenstern weiterhin Scrollen erlauben.
 */

@media (max-width: 1050px),
       (max-height: 619px) {

    body.page-login
    > footer.footer {

        height: auto !important;

        min-height: 0 !important;
        max-height: none !important;

        padding:
            8px 10px !important;
    }

}

/* RE-PFA-FOOTER-V10-END */

/* RE-PFA-PASSWORD-RESET-V11-BEGIN */


/* ==========================================================
   Password Recover + Password Change
   ========================================================== */

body.page-password-recover,
body.page-password-change {

    margin: 0 !important;
    padding: 0 !important;

    width: 100% !important;
    height: 100vh !important;

    min-width: 0 !important;
    min-height: 0 !important;

    display: grid !important;

    grid-template-rows:
        minmax(0,1fr)
        30px !important;

    overflow: hidden !important;

    background:
        radial-gradient(
            circle at 11% 35%,
            rgba(0,105,154,.24),
            transparent 34%
        ),
        linear-gradient(
            110deg,
            #16272e 0%,
            #202729 53%,
            #071f2b 100%
        ) !important;
}


/* nativen PostfixAdmin-Wrapper entfernen */

body.page-password-recover
> .container[role="main"],
body.page-password-change
> .container[role="main"] {

    width: 100% !important;
    height: auto !important;

    min-width: 0 !important;
    min-height: 0 !important;

    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    align-self: stretch !important;

    overflow: hidden !important;
}


body.page-password-recover
> .container[role="main"]
> br,
body.page-password-change
> .container[role="main"]
> br {

    display: none !important;
}


/* alte Navbar aus Reset-Templates gibt es nach Patch nicht mehr */

body.page-password-recover
.navbar,
body.page-password-change
.navbar {

    display: none !important;
}


/* Hauptseite */

.re-reset-page {

    width: 100%;
    height: 100%;

    min-height: 0;

    display: grid;

    grid-template-rows:
        82px
        minmax(0,1fr);

    overflow: hidden;
}


/* Header */

.re-reset-header {

    width: 100%;
    height: 82px;

    padding:
        10px 52px;

    box-sizing:
        border-box;

    display: flex;

    align-items: center;
    justify-content: space-between;

    border-bottom:
        1px solid
        rgba(255,255,255,.10);

    background:
        rgba(31,37,39,.98);
}


.re-reset-brand {

    display: flex;
    align-items: center;

    gap: 24px;
}


.re-reset-logo {

    width: 160px;
    height: auto;

    display: block;
}


.re-reset-divider {

    width: 1px;
    height: 46px;

    background:
        rgba(255,255,255,.16);
}


.re-reset-brand-title {

    color: #f3f4f4;

    font-size: 21px;
    font-weight: 750;
}


.re-reset-brand-subtitle {

    margin-top: 3px;

    color: #aaa9a3;

    font-size: 14px;
}


.re-reset-status {

    display: flex;
    align-items: center;

    gap: 9px;

    padding:
        8px 15px;

    border:
        1px solid
        rgba(40,200,153,.38);

    border-radius:
        30px;

    background:
        rgba(29,93,75,.18);

    color:
        #6ae5bd;

    font-size:
        14px;

    font-weight:
        650;
}


.re-reset-status-dot {

    width: 9px;
    height: 9px;

    border-radius: 50%;

    background:
        #47e0ad;

    box-shadow:
        0 0 12px
        rgba(71,224,173,.62);
}


/* Hauptbereich */

.re-reset-main {

    min-height: 0;

    padding:
        20px 7vw 16px;

    box-sizing:
        border-box;

    display: flex;

    align-items: center;

    overflow: hidden;
}


.re-reset-wrap {

    width: 100%;
    max-width: 1450px;

    margin:
        0 auto;

    display: grid;

    grid-template-columns:
        minmax(420px,1fr)
        minmax(520px,630px);

    gap: 78px;

    align-items: center;
}


/* linke Fläche */

.re-reset-intro {

    max-width: 690px;
}


.re-reset-kicker {

    margin-bottom: 17px;

    color:
        #42e0df;

    font-size:
        15px;

    font-weight:
        850;

    letter-spacing:
        .18em;
}


.re-reset-intro h1 {

    margin:
        0 0 20px;

    color:
        #f4f3ef;

    font-size:
        clamp(
            54px,
            4.5vw,
            72px
        );

    font-weight:
        760;

    line-height:
        .96;

    letter-spacing:
        -.045em;
}


.re-reset-intro h1 span {

    color:
        #38c3bd;
}


.re-reset-intro > p {

    max-width:
        650px;

    margin:
        0 0 22px;

    color:
        #d7d0c5;

    font-size:
        18px;

    line-height:
        1.5;
}


/* Steps */

.re-reset-steps {

    max-width:
        580px;

    display: grid;

    gap: 8px;

    margin-bottom:
        21px;
}


.re-reset-step {

    display: flex;
    align-items: center;

    gap: 12px;

    padding:
        8px 12px;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius:
        11px;

    background:
        rgba(255,255,255,.025);

    color:
        #aeb9be;
}


.re-reset-step.is-active {

    border-color:
        rgba(62,206,226,.34);

    background:
        rgba(0,126,161,.10);

    color:
        #e8f5f7;
}


.re-reset-step.is-done {

    color:
        #b8d9d5;
}


.re-reset-step-number {

    flex:
        0 0 32px;

    width: 32px;
    height: 32px;

    display: grid;
    place-items: center;

    border:
        1px solid
        rgba(91,203,235,.34);

    border-radius:
        50%;

    color:
        #53d6ef;

    font-weight:
        800;

    background:
        rgba(0,112,158,.12);
}


.re-reset-step strong {

    display: block;

    color:
        inherit;

    font-size:
        13px;
}


.re-reset-step small {

    display: block;

    margin-top:
        1px;

    color:
        #889ba4;

    font-size:
        11px;
}


.re-reset-slogan {

    color:
        #f4eee5;

    font-size:
        16px;

    font-weight:
        800;
}


/* rechte Karte */

.re-reset-card {

    width: 100%;

    padding:
        21px 34px 18px;

    box-sizing:
        border-box;

    border:
        1px solid
        rgba(255,255,255,.13);

    border-radius:
        22px;

    background:
        linear-gradient(
            145deg,
            rgba(57,63,64,.97),
            rgba(43,48,49,.97)
        );

    box-shadow:
        0 24px 70px
        rgba(0,0,0,.24);
}


.re-reset-card-change {

    padding-top:
        17px;
}


.re-reset-card-line {

    width: 65px;
    height: 4px;

    margin-bottom:
        14px;

    border-radius:
        5px;

    background:
        linear-gradient(
            90deg,
            #41cfc1,
            #218dd5
        );
}


.re-reset-card-heading {

    display: flex;
    align-items: center;

    gap: 13px;

    margin-bottom:
        11px;
}


.re-reset-card-icon {

    flex:
        0 0 48px;

    width: 48px;
    height: 48px;

    display: grid;
    place-items: center;

    border:
        1px solid
        rgba(63,201,255,.34);

    border-radius:
        13px;

    background:
        rgba(0,108,169,.17);

    color:
        #42d7ff;
}


.re-reset-card-icon svg {

    width: 30px;
    height: 30px;

    fill: none;

    stroke:
        currentColor;

    stroke-width:
        1.7;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;
}


.re-reset-card-heading h2 {

    margin:
        0 0 2px !important;

    color:
        #f6f4ef;

    font-size:
        27px !important;

    font-weight:
        760 !important;
}


.re-reset-card-heading p {

    margin: 0;

    color:
        #cfc3b3;

    font-size:
        14px;
}


.re-reset-description {

    margin-bottom:
        14px;

    padding:
        10px 12px;

    border-radius:
        10px;

    background:
        rgba(0,0,0,.10);

    color:
        #cbd3d6;

    font-size:
        13px;

    line-height:
        1.45;
}


/* Formular */

.re-reset-form {

    margin: 0;
}


.re-reset-field {

    margin-bottom:
        10px;
}


.re-reset-field label {

    display: block;

    margin:
        0 0 4px;

    color:
        #f1e8d8;

    font-size:
        13px;

    font-weight:
        750;
}


body.re-pfa-reset-body
.re-reset-field
.form-control {

    width: 100%;

    height: 44px !important;

    padding:
        8px 13px !important;

    border:
        1px solid
        #37617b !important;

    border-radius:
        10px !important;

    background:
        #202729 !important;

    color:
        #f7f8f8 !important;

    font-size:
        14px;

    box-shadow:
        none !important;
}


body.re-pfa-reset-body
.re-reset-field
.form-control:focus {

    border-color:
        #28bdba !important;

    box-shadow:
        0 0 0 3px
        rgba(40,189,186,.13)
        !important;
}


.re-reset-grid {

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap: 10px;
}


body.re-pfa-reset-body
.re-reset-submit {

    width: 100%;

    min-height:
        44px;

    margin:
        3px 0 0;

    border: 0 !important;

    border-radius:
        10px !important;

    background:
        linear-gradient(
            90deg,
            #42c7bd,
            #45e1d6
        ) !important;

    color:
        #071c20 !important;

    font-size:
        16px !important;

    font-weight:
        850 !important;

    box-shadow:
        none !important;
}


body.re-pfa-reset-body
.re-reset-submit:hover {

    filter:
        brightness(1.06);
}


/* Sicherheitsfeld */

.re-reset-security {

    display: flex;
    align-items: center;

    gap: 10px;

    margin-top:
        12px;

    padding:
        8px 10px;

    border:
        1px solid
        rgba(50,185,240,.28);

    border-radius:
        11px;

    background:
        rgba(0,87,131,.10);
}


.re-reset-security-icon {

    flex:
        0 0 34px;

    width: 34px;
    height: 34px;

    display: grid;
    place-items: center;

    border:
        1px solid
        rgba(63,201,255,.32);

    border-radius:
        10px;

    color:
        #42d7ff;
}


.re-reset-security-icon svg {

    width: 22px;
    height: 22px;

    fill: none;

    stroke:
        currentColor;

    stroke-width:
        1.8;

    stroke-linecap:
        round;

    stroke-linejoin:
        round;
}


.re-reset-security strong {

    display: block;

    margin-bottom:
        1px;

    color:
        #57cfff;

    font-size:
        10px;

    letter-spacing:
        .055em;
}


.re-reset-security span {

    display: block;

    color:
        #cedadd;

    font-size:
        11px;

    line-height:
        1.35;
}


.re-reset-back {

    margin-top:
        9px;

    text-align:
        center;
}


.re-reset-back a {

    color:
        #4fd6ef !important;

    font-size:
        12px;

    text-decoration:
        none !important;
}


.re-reset-back a:hover {

    text-decoration:
        underline !important;
}


/* kompakter gemeinsamer Footer */

body.page-password-recover
> footer.footer,
body.page-password-change
> footer.footer {

    width: 100% !important;

    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;

    margin: 0 !important;
    padding: 0 12px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    box-sizing:
        border-box !important;

    overflow:
        hidden !important;

    background:
        rgba(28,35,37,.98) !important;

    font-size:
        10px !important;
}


body.page-password-recover
> footer.footer
> .container,
body.page-password-change
> footer.footer
> .container {

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    white-space:
        nowrap !important;
}


/* Notebookhöhe */

@media (min-width: 1051px) and (max-height: 820px) {

    .re-reset-page {

        grid-template-rows:
            72px
            minmax(0,1fr);
    }


    .re-reset-header {

        height: 72px;

        padding:
            7px 46px;
    }


    .re-reset-logo {

        width: 145px;
    }


    .re-reset-main {

        padding-top:
            8px;

        padding-bottom:
            7px;
    }


    .re-reset-intro h1 {

        font-size:
            49px;
    }


    .re-reset-intro > p {

        margin-bottom:
            13px;

        font-size:
            15px;
    }


    .re-reset-step {

        padding:
            5px 10px;
    }


    .re-reset-card {

        padding:
            13px 28px 10px;
    }

}


/* Mobile */

@media (max-width: 1050px) {

    body.page-password-recover,
    body.page-password-change {

        height: auto !important;

        min-height:
            100vh !important;

        display:
            block !important;

        overflow-y:
            auto !important;
    }


    body.page-password-recover
    > .container[role="main"],
    body.page-password-change
    > .container[role="main"] {

        overflow:
            visible !important;
    }


    .re-reset-page {

        height:
            auto;

        min-height:
            100vh;

        display:
            flex;

        flex-direction:
            column;

        overflow:
            visible;
    }


    .re-reset-header {

        height:
            auto;

        min-height:
            72px;

        padding:
            9px 18px;
    }


    .re-reset-logo {

        width:
            145px;
    }


    .re-reset-divider,
    .re-reset-brand-title,
    .re-reset-brand-subtitle {

        display: none;
    }


    .re-reset-status {

        font-size:
            11px;

        padding:
            7px 10px;
    }


    .re-reset-main {

        overflow:
            visible;

        padding:
            26px 20px;
    }


    .re-reset-wrap {

        display:
            block;

        max-width:
            680px;
    }


    .re-reset-intro {

        display:
            none;
    }


    .re-reset-grid {

        grid-template-columns:
            1fr;
    }


    body.page-password-recover
    > footer.footer,
    body.page-password-change
    > footer.footer {

        height:
            auto !important;

        min-height:
            0 !important;

        max-height:
            none !important;

        padding:
            8px 10px !important;
    }

}

/* RE-PFA-PASSWORD-RESET-V11-END */


/* RE-CENTRAL-ADMIN-DARK-FINAL-BEGIN */

/*
 * Radio Emergency
 * Zentrales Login-Design für alle re-pfa Adminseiten.
 *
 * Dieser Block steht absichtlich am Dateiende.
 * Dadurch haben ältere V4/V5/V6-Regeln keinen Vorrang mehr.
 */


/* =========================================================
   GESAMTHINTERGRUND
   ========================================================= */

html body.re-pfa-login-body {
    background:
        linear-gradient(
            110deg,
            #142e3b 0%,
            #1e272a 53%,
            #0b1e27 100%
        ) !important;

    color:
        #f3f5f6 !important;
}


/*
 * Alte Zwischenflächen neutralisieren.
 * Der Verlauf des BODY soll sichtbar bleiben.
 */

html body.re-pfa-login-body
> .container[role="main"],

html body.re-pfa-login-body
.re-pfa-page,

html body.re-pfa-login-body
.re-pfa-main,

html body.re-pfa-login-body
.re-pfa-login-wrap,

html body.re-pfa-login-body
.re-pfa-intro {

    background:
        transparent !important;

}


/* =========================================================
   HEADER
   ========================================================= */

html body.re-pfa-login-body
.re-pfa-header {

    background:
        rgba(30,37,39,.985) !important;

    border-bottom:
        1px solid
        rgba(255,255,255,.10) !important;

    box-shadow:
        none !important;

}


/* Header Texte */

html body.re-pfa-login-body
.re-pfa-brand-title {

    color:
        #f4f4f1 !important;

}

html body.re-pfa-login-body
.re-pfa-brand-subtitle {

    color:
        #d0bfae !important;

}


/* =========================================================
   LOGIN-KARTE
   ========================================================= */

html body.re-pfa-login-body
.re-pfa-card {

    background:
        linear-gradient(
            145deg,
            #313637 0%,
            #292f30 100%
        ) !important;

    border:
        1px solid
        rgba(255,255,255,.12) !important;

    box-shadow:
        0 24px 70px
        rgba(0,0,0,.32) !important;

}


/* Kartenüberschrift */

html body.re-pfa-login-body
.re-pfa-card h2 {

    color:
        #f5f4ef !important;

}

html body.re-pfa-login-body
.re-pfa-card-description {

    color:
        #d2c2b1 !important;

}


/* =========================================================
   FORMULARFELDER
   ========================================================= */

html body.re-pfa-login-body
.re-pfa-field
.form-control {

    background:
        #202729 !important;

    color:
        #f7f8f8 !important;

    border-color:
        #37617b !important;

}

html body.re-pfa-login-body
.re-pfa-field
.form-control:focus {

    border-color:
        #28bdba !important;

    background:
        #202729 !important;

    box-shadow:
        0 0 0 3px
        rgba(40,189,186,.13)
        !important;

}


/* Labels */

html body.re-pfa-login-body
.re-pfa-field label {

    color:
        #f1e8d8 !important;

}


/* =========================================================
   LOGIN BUTTON
   ========================================================= */

html body.re-pfa-login-body
.re-pfa-submit {

    background:
        linear-gradient(
            90deg,
            #42c7bd,
            #45e1d6
        ) !important;

    color:
        #071c20 !important;

    border:
        0 !important;

}


/* =========================================================
   SICHERHEITSFELD
   ========================================================= */

html body.re-pfa-login-body
.re-pfa-seal {

    background:
        linear-gradient(
            135deg,
            rgba(0,73,106,.18),
            rgba(5,34,48,.24)
        ) !important;

    border-color:
        rgba(50,185,240,.28) !important;

}


/* =========================================================
   INTRO
   ========================================================= */

html body.re-pfa-login-body
.re-pfa-intro p {

    color:
        #ddd3c8 !important;

}

html body.re-pfa-login-body
.re-pfa-slogan {

    color:
        #f4eee5 !important;

}


/* =========================================================
   FOOTER
   ========================================================= */

html body.re-pfa-login-body
> footer.footer {

    background:
        rgba(28,35,37,.99) !important;

    border-top:
        1px solid
        rgba(255,255,255,.08) !important;

}


/* RE-CENTRAL-ADMIN-DARK-FINAL-END */


/* RE-PFA-ADMIN-SCROLL-V1-BEGIN */

/*
 * Eingeloggte PostfixAdmin-Seiten dürfen höher
 * als der Viewport werden und normal scrollen.
 *
 * Die spezielle Loginseite bleibt unverändert.
 */

html {
    min-height: 100% !important;
}

html body:not(.re-pfa-login-body) {
    height: auto !important;
    min-height: 100vh !important;
    max-height: none !important;

    overflow-x: hidden !important;
    overflow-y: auto !important;

    position: static !important;
}


/*
 * Bootstrap-/PostfixAdmin-Container dürfen
 * den Inhalt nicht auf Bildschirmhöhe begrenzen.
 */
html body:not(.re-pfa-login-body)
> .container,
html body:not(.re-pfa-login-body)
> .container-fluid,
html body:not(.re-pfa-login-body)
[role="main"] {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    overflow: visible !important;
}


/*
 * Panels und Formulare vollständig anzeigen.
 */
html body:not(.re-pfa-login-body)
.panel,
html body:not(.re-pfa-login-body)
.panel-body,
html body:not(.re-pfa-login-body)
form {
    max-height: none !important;
    overflow: visible !important;
}


/*
 * Footer nicht mehr fest über den Inhalt legen.
 */
html body:not(.re-pfa-login-body)
footer.footer,
html body:not(.re-pfa-login-body)
.footer {
    position: static !important;

    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;

    width: 100% !important;

    margin-top: 28px !important;

    transform: none !important;
}


/*
 * Etwas Platz unter langen Formularen.
 */
html body:not(.re-pfa-login-body)
> .container:last-of-type,
html body:not(.re-pfa-login-body)
> .container-fluid:last-of-type {
    padding-bottom: 24px !important;
}

/* RE-PFA-ADMIN-SCROLL-V1-END */

