/*!****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/styles/login.css ***!
  \****************************************************************************************************************/
/* =========================================================================
 * login.css — Login-Seite (Bild links, Formular rechts)
 * ========================================================================= */

.login-container {
    display: flex;
    height: 100vh;
    width: 100vw;
}

.login-image {
    flex: 0 0 50vw;
    background-image: url(/build/images/login.7d4b9242.webp);
    background-size: cover;
    background-position: center;
    border-right: 1px solid var(--color-border);
}

.login-form-area {
    flex: 0 0 50vw;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    padding: 2rem;
    background-color: var(--color-background);
}

.login-form {
    width: 100%;
    max-width: 420px;
}

.login-logo-icon {
    font-size: 2rem;
    color: var(--color-primary);
    opacity: 0.8;
    vertical-align: middle;
    margin-right: var(--spacing-sm);
}

.login-title {
    font-weight: var(--font-weight-regular);
    color: var(--color-text);
    white-space: nowrap;
    font-size: var(--font-size-xl);
}

.login-subtitle {
    font-weight: var(--font-weight-regular);
    color: var(--color-text);
    font-size: var(--font-size-lg);
}

.login-tagline {
    font-weight: var(--font-weight-light);
    color: var(--color-label);
    font-size: var(--font-size-base);
}

/* ── Input-Gruppen (Icon + Floating Label) ── */
.login-input-group {
    display: flex;
    margin-bottom: var(--spacing-md);
}

.login-input-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--spacing-lg);
    background-color: var(--color-white);
    border: 1px solid rgba(var(--color-text-rgb), 0.5);
    border-right: none;
    border-radius: var(--border-radius) 0 0 var(--border-radius);
    color: var(--color-primary);
    font-size: var(--font-size-xl);
}

.login-input-wrap {
    flex: 1;
    position: relative;
}

.login-input-wrap input {
    width: 100%;
    padding: 22px var(--spacing-md) 8px;
    border: 1px solid rgba(var(--color-text-rgb), 0.5);
    border-left: none;
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    color: var(--color-text);
    background: var(--color-white);
    transition: border-color var(--transition-fast);
}
.login-input-wrap input:focus {
    outline: none !important;
    border-color: rgba(var(--color-text-rgb), 0.5) !important;
    border-left: none !important;
}

.login-input-group:focus-within .login-input-icon {
    border-color: rgba(var(--color-text-rgb), 0.5);
    border-right: none;
}

.login-input-wrap label {
    position: absolute;
    top: 6px;
    left: var(--spacing-md);
    font-size: var(--font-size-sm);
    color: var(--color-label);
    font-weight: var(--font-weight-regular);
    pointer-events: none;
}

.login-footer {
    color: var(--color-label);
    font-size: var(--font-size-base);
    margin-top: 40px;
}

/* ── Login Button ── */
.login-form .btn {
    width: 100%;
    padding: 12px;
    font-size: var(--font-size-lg);
    margin-top: var(--spacing-lg);
}

/* ── Spacing ── */
.login-form .login-title { margin-bottom: var(--spacing-sm); }
.login-form .login-tagline { margin-bottom: 40px; }
.login-form .login-subtitle { margin-bottom: var(--spacing-xl); }

/* ── Responsive ── */
@media (max-width: 768px) {
    .login-image {
        display: none;
    }
    .login-form-area {
        flex: 0 0 100vw;
        padding: 1.5rem;
    }
    .login-form {
        max-width: 100%;
    }
    .login-title {
        font-size: var(--font-size-lg);
        white-space: normal;
    }
    .login-logo-icon {
        font-size: 1.5rem;
    }
}

@media (max-width: 576px) {
    .login-form-area {
        padding: 1rem;
    }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBOzs4RUFFOEU7O0FBRTlFO0lBQ0ksYUFBYTtJQUNiLGFBQWE7SUFDYixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksY0FBYztJQUNkLHlEQUFvRDtJQUNwRCxzQkFBc0I7SUFDdEIsMkJBQTJCO0lBQzNCLDJDQUEyQztBQUMvQzs7QUFFQTtJQUNJLGNBQWM7SUFDZCxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixhQUFhO0lBQ2IsYUFBYTtJQUNiLHlDQUF5QztBQUM3Qzs7QUFFQTtJQUNJLFdBQVc7SUFDWCxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsMkJBQTJCO0lBQzNCLFlBQVk7SUFDWixzQkFBc0I7SUFDdEIsK0JBQStCO0FBQ25DOztBQUVBO0lBQ0ksdUNBQXVDO0lBQ3ZDLHdCQUF3QjtJQUN4QixtQkFBbUI7SUFDbkIsOEJBQThCO0FBQ2xDOztBQUVBO0lBQ0ksdUNBQXVDO0lBQ3ZDLHdCQUF3QjtJQUN4Qiw4QkFBOEI7QUFDbEM7O0FBRUE7SUFDSSxxQ0FBcUM7SUFDckMseUJBQXlCO0lBQ3pCLGdDQUFnQztBQUNwQzs7QUFFQSxnREFBZ0Q7QUFDaEQ7SUFDSSxhQUFhO0lBQ2IsZ0NBQWdDO0FBQ3BDOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsNEJBQTRCO0lBQzVCLG9DQUFvQztJQUNwQyxrREFBa0Q7SUFDbEQsa0JBQWtCO0lBQ2xCLDREQUE0RDtJQUM1RCwyQkFBMkI7SUFDM0IsOEJBQThCO0FBQ2xDOztBQUVBO0lBQ0ksT0FBTztJQUNQLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxtQ0FBbUM7SUFDbkMsa0RBQWtEO0lBQ2xELGlCQUFpQjtJQUNqQiw0REFBNEQ7SUFDNUQsK0JBQStCO0lBQy9CLGdDQUFnQztJQUNoQyx3QkFBd0I7SUFDeEIsOEJBQThCO0lBQzlCLCtDQUErQztBQUNuRDtBQUNBO0lBQ0ksd0JBQXdCO0lBQ3hCLHlEQUF5RDtJQUN6RCw0QkFBNEI7QUFDaEM7O0FBRUE7SUFDSSw4Q0FBOEM7SUFDOUMsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUix1QkFBdUI7SUFDdkIsOEJBQThCO0lBQzlCLHlCQUF5QjtJQUN6Qix1Q0FBdUM7SUFDdkMsb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLGdDQUFnQztJQUNoQyxnQkFBZ0I7QUFDcEI7O0FBRUEsdUJBQXVCO0FBQ3ZCO0lBQ0ksV0FBVztJQUNYLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsNkJBQTZCO0FBQ2pDOztBQUVBLGtCQUFrQjtBQUNsQiwyQkFBMkIsZ0NBQWdDLEVBQUU7QUFDN0QsNkJBQTZCLG1CQUFtQixFQUFFO0FBQ2xELDhCQUE4QixnQ0FBZ0MsRUFBRTs7QUFFaEUscUJBQXFCO0FBQ3JCO0lBQ0k7UUFDSSxhQUFhO0lBQ2pCO0lBQ0E7UUFDSSxlQUFlO1FBQ2YsZUFBZTtJQUNuQjtJQUNBO1FBQ0ksZUFBZTtJQUNuQjtJQUNBO1FBQ0ksOEJBQThCO1FBQzlCLG1CQUFtQjtJQUN2QjtJQUNBO1FBQ0ksaUJBQWlCO0lBQ3JCO0FBQ0o7O0FBRUE7SUFDSTtRQUNJLGFBQWE7SUFDakI7QUFDSiIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbG9naW4uY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICogbG9naW4uY3NzIOKAlCBMb2dpbi1TZWl0ZSAoQmlsZCBsaW5rcywgRm9ybXVsYXIgcmVjaHRzKVxyXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubG9naW4tY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgd2lkdGg6IDEwMHZ3O1xyXG59XHJcblxyXG4ubG9naW4taW1hZ2Uge1xyXG4gICAgZmxleDogMCAwIDUwdnc7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9sYXlvdXQvbG9naW4ud2VicCcpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XHJcbn1cclxuXHJcbi5sb2dpbi1mb3JtLWFyZWEge1xyXG4gICAgZmxleDogMCAwIDUwdnc7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIHBhZGRpbmc6IDJyZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcclxufVxyXG5cclxuLmxvZ2luLWZvcm0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xyXG59XHJcblxyXG4ubG9naW4tbG9nby1pY29uIHtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcclxuICAgIG9wYWNpdHk6IDAuODtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctc20pO1xyXG59XHJcblxyXG4ubG9naW4tdGl0bGUge1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xyXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcclxufVxyXG5cclxuLmxvZ2luLXN1YnRpdGxlIHtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcclxufVxyXG5cclxuLmxvZ2luLXRhZ2xpbmUge1xyXG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWxpZ2h0KTtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1sYWJlbCk7XHJcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcclxufVxyXG5cclxuLyog4pSA4pSAIElucHV0LUdydXBwZW4gKEljb24gKyBGbG9hdGluZyBMYWJlbCkg4pSA4pSAICovXHJcbi5sb2dpbi1pbnB1dC1ncm91cCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1tZCk7XHJcbn1cclxuXHJcbi5sb2dpbi1pbnB1dC1pY29uIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctbGcpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSh2YXIoLS1jb2xvci10ZXh0LXJnYiksIDAuNSk7XHJcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDAgdmFyKC0tYm9yZGVyLXJhZGl1cyk7XHJcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XHJcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XHJcbn1cclxuXHJcbi5sb2dpbi1pbnB1dC13cmFwIHtcclxuICAgIGZsZXg6IDE7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5sb2dpbi1pbnB1dC13cmFwIGlucHV0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMjJweCB2YXIoLS1zcGFjaW5nLW1kKSA4cHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKHZhcigtLWNvbG9yLXRleHQtcmdiKSwgMC41KTtcclxuICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcclxuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xyXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XHJcbn1cclxuLmxvZ2luLWlucHV0LXdyYXAgaW5wdXQ6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLWNvbG9yLXRleHQtcmdiKSwgMC41KSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWxlZnQ6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmxvZ2luLWlucHV0LWdyb3VwOmZvY3VzLXdpdGhpbiAubG9naW4taW5wdXQtaWNvbiB7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEodmFyKC0tY29sb3ItdGV4dC1yZ2IpLCAwLjUpO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG59XHJcblxyXG4ubG9naW4taW5wdXQtd3JhcCBsYWJlbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDZweDtcclxuICAgIGxlZnQ6IHZhcigtLXNwYWNpbmctbWQpO1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc20pO1xyXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxhYmVsKTtcclxuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ubG9naW4tZm9vdGVyIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1sYWJlbCk7XHJcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbn1cclxuXHJcbi8qIOKUgOKUgCBMb2dpbiBCdXR0b24g4pSA4pSAICovXHJcbi5sb2dpbi1mb3JtIC5idG4ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xyXG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy1sZyk7XHJcbn1cclxuXHJcbi8qIOKUgOKUgCBTcGFjaW5nIOKUgOKUgCAqL1xyXG4ubG9naW4tZm9ybSAubG9naW4tdGl0bGUgeyBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNtKTsgfVxyXG4ubG9naW4tZm9ybSAubG9naW4tdGFnbGluZSB7IG1hcmdpbi1ib3R0b206IDQwcHg7IH1cclxuLmxvZ2luLWZvcm0gLmxvZ2luLXN1YnRpdGxlIHsgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy14bCk7IH1cclxuXHJcbi8qIOKUgOKUgCBSZXNwb25zaXZlIOKUgOKUgCAqL1xyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIC5sb2dpbi1pbWFnZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5sb2dpbi1mb3JtLWFyZWEge1xyXG4gICAgICAgIGZsZXg6IDAgMCAxMDB2dztcclxuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XHJcbiAgICB9XHJcbiAgICAubG9naW4tZm9ybSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmxvZ2luLXRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIH1cclxuICAgIC5sb2dpbi1sb2dvLWljb24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcclxuICAgIC5sb2dpbi1mb3JtLWFyZWEge1xyXG4gICAgICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/