/* /Components/Pages/Login.razor.rz.scp.css */
.login-shell[b-suphccpw45],
.login-shell *[b-suphccpw45] {
    box-sizing: border-box;
}

.login-shell[b-suphccpw45] {
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    grid-template-columns: minmax(0, 42%) minmax(0, 58%);
    overflow: hidden;
    color: #0b2a49;
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background: #f5f9fc;
}

.login-brand-panel[b-suphccpw45] {
    position: relative;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: hidden;
    padding: 4.3rem 4.7vw 3rem;
    background:
        linear-gradient(90deg, rgba(244, 251, 255, 0.98) 0%, rgba(244, 251, 255, 0.93) 55%, rgba(244, 251, 255, 0.58) 100%),
        linear-gradient(145deg, #f8fcff 0%, #dfeef7 100%);
}

.login-brand-panel[b-suphccpw45]::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.25), rgba(255,255,255,0)),
        radial-gradient(circle at 70% 34%, rgba(60, 177, 111, 0.24), transparent 17%),
        radial-gradient(circle at 12% 87%, rgba(67, 177, 123, 0.18), transparent 18%),
        radial-gradient(circle at 82% 87%, rgba(33, 65, 96, 0.22), transparent 24%);
    filter: blur(3px);
}

.login-visual-orb[b-suphccpw45] {
    position: absolute;
    border-radius: 50%;
    filter: blur(18px);
    opacity: 0.46;
    pointer-events: none;
}

.login-visual-orb-one[b-suphccpw45] {
    width: 230px;
    height: 230px;
    right: -45px;
    top: 30%;
    background: #63b976;
}

.login-visual-orb-two[b-suphccpw45] {
    width: 150px;
    height: 150px;
    left: -40px;
    bottom: 1%;
    background: #7bc795;
}

.login-laptop-shape[b-suphccpw45] {
    position: absolute;
    width: 330px;
    height: 185px;
    right: -55px;
    bottom: 6%;
    border-radius: 14px 14px 4px 4px;
    transform: rotate(-4deg) skewX(-3deg);
    background: linear-gradient(145deg, rgba(53, 78, 101, .56), rgba(18, 43, 67, .82));
    box-shadow: 0 42px 54px rgba(24, 50, 70, .22);
    filter: blur(2.5px);
    opacity: .7;
}

.login-laptop-shape[b-suphccpw45]::after {
    content: "";
    position: absolute;
    width: 380px;
    height: 26px;
    left: -32px;
    bottom: -22px;
    border-radius: 4px 4px 18px 18px;
    background: linear-gradient(180deg, #95a8b8, #c7d3dc);
}

.login-brand-content[b-suphccpw45] {
    position: relative;
    z-index: 2;
    height: 100%;
    max-width: 600px;
    display: flex;
    flex-direction: column;
}

.login-brand[b-suphccpw45],
.login-mobile-brand[b-suphccpw45] {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.login-brand-icon[b-suphccpw45] {
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    color: #10bcc3;
}

.login-brand-icon svg[b-suphccpw45] {
    width: 100%;
    height: 100%;
}

.login-brand-icon.compact[b-suphccpw45] {
    width: 54px;
    height: 54px;
}

.login-brand-name[b-suphccpw45] {
    font-size: clamp(1.8rem, 2.2vw, 2.45rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: -0.045em;
    color: #092947;
}

.login-brand-tagline[b-suphccpw45] {
    margin-top: 0.55rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.28em;
    color: #58728c;
}

.login-hero-copy[b-suphccpw45] {
    margin-top: clamp(5rem, 11vh, 8rem);
}

.login-eyebrow[b-suphccpw45] {
    margin-bottom: 1.2rem;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.28em;
    color: #58728c;
}

.login-hero-copy h1[b-suphccpw45],
.login-heading h2[b-suphccpw45] {
    font-family: inherit;
}

.login-hero-copy h1[b-suphccpw45] {
    margin: 0;
    max-width: 560px;
    font-size: clamp(3rem, 4.25vw, 4.6rem);
    line-height: 1.04;
    font-weight: 800;
    letter-spacing: -0.055em;
    color: #082746;
}

.login-form-panel[b-suphccpw45] {
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    place-items: center;
    padding: 2.2rem 5vw;
    background:
        radial-gradient(circle at 62% 12%, rgba(50, 184, 193, 0.12), transparent 24%),
        linear-gradient(135deg, #f9fbfd 0%, #eef6fa 100%);
}

.login-form-wrap[b-suphccpw45] {
    width: min(100%, 600px);
}

.login-mobile-brand[b-suphccpw45] {
    display: none;
    margin-bottom: 1.4rem;
}

.login-card[b-suphccpw45] {
    padding: clamp(2.6rem, 4.6vw, 4.2rem);
    border: 1px solid rgba(131, 169, 194, 0.15);
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 30px 80px rgba(41, 85, 113, 0.14);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.login-heading h2[b-suphccpw45] {
    margin: 0;
    font-size: clamp(2.3rem, 3vw, 3.15rem);
    line-height: 1.05;
    font-weight: 800;
    letter-spacing: -0.045em;
    color: #082746;
}

.login-heading p[b-suphccpw45] {
    margin: 1rem 0 0;
    font-size: 1.04rem;
    line-height: 1.55;
    color: #58728c;
}

.login-card[b-suphccpw45]  .login-error-alert {
    margin: 1.4rem 0 0;
    padding: 1rem 1.1rem;
    border: 1px solid #ffd7dd;
    border-radius: 16px;
    color: #8a2030;
    background: #fff0f2;
    box-shadow: none;
}

.login-form[b-suphccpw45] {
    margin-top: 2rem;
    display: grid;
    gap: 1rem;
}

.login-fields[b-suphccpw45] {
    display: grid;
    gap: 1rem;
}

.login-field-group[b-suphccpw45] {
    display: grid;
    gap: 0.45rem;
}

.login-field-group[b-suphccpw45]  .rz-label {
    margin: 0;
    color: #355268;
    font-size: 0.86rem;
    font-weight: 700;
}

.login-field[b-suphccpw45] {
    min-height: 64px;
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0 1.1rem;
    border: 1px solid #cadce8;
    border-radius: 14px;
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.login-field:focus-within[b-suphccpw45] {
    border-color: #13afb6;
    box-shadow: 0 0 0 4px rgba(19, 175, 182, 0.11);
}

.login-field > svg[b-suphccpw45] {
    width: 25px;
    height: 25px;
    flex: 0 0 auto;
    color: #668099;
}

.login-field[b-suphccpw45]  .rz-textbox,
.login-field[b-suphccpw45]  .rz-password,
.login-field[b-suphccpw45]  .rz-inputtext,
.login-native-select[b-suphccpw45] {
    width: 100%;
    min-width: 0;
    min-height: 60px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    outline: 0;
    box-shadow: none;
    background: transparent;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    color: #123754;
}

.login-field[b-suphccpw45]  .rz-password {
    display: flex;
    align-items: center;
}

.login-field[b-suphccpw45]  .rz-password input {
    width: 100%;
    min-height: 58px;
    padding: 0 2.7rem 0 0;
    border: 0;
    outline: 0;
    box-shadow: none;
    background: transparent;
    font: inherit;
    color: #123754;
}

.login-field[b-suphccpw45]  .rz-textbox::placeholder,
.login-field[b-suphccpw45]  .rz-inputtext::placeholder,
.login-field[b-suphccpw45]  .rz-password input::placeholder {
    color: #8197aa;
    opacity: 1;
}

.login-native-select[b-suphccpw45] {
    appearance: auto;
    cursor: pointer;
}

.login-actions[b-suphccpw45] {
    display: grid;
    gap: 1rem;
}

.login-actions[b-suphccpw45]  .rz-button.login-submit {
    width: 100%;
    min-height: 62px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    border: 0;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, #149da4, #138b94);
    box-shadow: 0 14px 30px rgba(18, 145, 152, 0.2);
    font-family: inherit;
    font-size: 1.03rem;
    font-weight: 800;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.login-actions[b-suphccpw45]  .rz-button.login-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(18, 145, 152, 0.27);
    filter: brightness(1.03);
}

.login-divider[b-suphccpw45] {
    margin: 1.75rem 0;
    display: flex;
    align-items: center;
    gap: 1rem;
    color: #71869a;
}

.login-divider[b-suphccpw45]::before,
.login-divider[b-suphccpw45]::after {
    content: "";
    height: 1px;
    flex: 1;
    background: #dbe5ec;
}

.login-divider span[b-suphccpw45] {
    font-size: 0.92rem;
}

.login-vendor-button[b-suphccpw45] {
    width: 100%;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    padding: 0.85rem 1.1rem;
    border: 1px solid #b9cfdd;
    border-radius: 14px;
    color: #0b3554;
    background: #f7fbfd;
    box-shadow: 0 10px 24px rgba(32, 75, 103, 0.08);
    font-size: 1rem;
    font-weight: 800;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.login-vendor-button:hover[b-suphccpw45] {
    transform: translateY(-1px);
    border-color: #13afb6;
    background: #fff;
    box-shadow: 0 14px 28px rgba(32, 75, 103, 0.13);
}

.login-vendor-button svg[b-suphccpw45] {
    width: 23px;
    height: 23px;
    flex: 0 0 auto;
    color: #149da4;
}

.login-vendor-hint[b-suphccpw45] {
    margin-top: 0.7rem;
    text-align: center;
    color: #71869a;
    font-size: 0.82rem;
}

.login-register-link[b-suphccpw45] {
    margin-top: 1.4rem;
    text-align: center;
}

.login-register-link[b-suphccpw45]  a {
    color: #1496c6;
    font-size: 0.93rem;
    font-weight: 700;
    text-decoration: none;
}

.login-register-link[b-suphccpw45]  a:hover {
    text-decoration: underline;
}

.login-footer[b-suphccpw45] {
    margin-top: 1.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    color: #6c8195;
    font-size: 0.86rem;
}

.login-footer-dot[b-suphccpw45] {
    color: #a8b7c3;
}

@media (max-width: 1180px) {
    .login-shell[b-suphccpw45] {
        grid-template-columns: minmax(0, 44%) minmax(0, 56%);
    }

    .login-brand-panel[b-suphccpw45] {
        padding-left: 4vw;
        padding-right: 4vw;
    }

    .login-hero-copy h1[b-suphccpw45] {
        font-size: clamp(2.8rem, 4vw, 4rem);
    }
}

@media (max-width: 900px) {
    .login-shell[b-suphccpw45] {
        display: block;
        min-height: 100vh;
        min-height: 100dvh;
        overflow: auto;
    }

    .login-brand-panel[b-suphccpw45] {
        display: none;
    }

    .login-form-panel[b-suphccpw45] {
        min-height: 100vh;
        min-height: 100dvh;
        padding: 2rem 1.25rem;
    }

    .login-form-wrap[b-suphccpw45] {
        width: min(100%, 560px);
    }

    .login-mobile-brand[b-suphccpw45] {
        display: flex;
    }

    .login-card[b-suphccpw45] {
        border-radius: 24px;
    }
}

@media (max-width: 560px) {
    .login-form-panel[b-suphccpw45] {
        align-items: start;
        padding: 1.1rem;
    }

    .login-mobile-brand[b-suphccpw45] {
        margin-top: 0.35rem;
    }

    .login-brand-name[b-suphccpw45] {
        font-size: 1.4rem;
    }

    .login-brand-tagline[b-suphccpw45] {
        font-size: 0.57rem;
        letter-spacing: 0.18em;
    }

    .login-card[b-suphccpw45] {
        padding: 1.5rem;
        border-radius: 20px;
    }

    .login-heading h2[b-suphccpw45] {
        font-size: 2rem;
    }

    .login-heading p[b-suphccpw45] {
        font-size: 0.95rem;
    }

    .login-field[b-suphccpw45],
    .login-actions[b-suphccpw45]  .rz-button.login-submit,
    .login-vendor-button[b-suphccpw45] {
        min-height: 58px;
    }

    .login-field[b-suphccpw45]  .rz-textbox,
    .login-field[b-suphccpw45]  .rz-password,
    .login-field[b-suphccpw45]  .rz-inputtext,
    .login-native-select[b-suphccpw45],
    .login-field[b-suphccpw45]  .rz-password input {
        min-height: 54px;
    }

    .login-footer[b-suphccpw45] {
        flex-wrap: wrap;
        padding-bottom: 0.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .login-field[b-suphccpw45],
    .login-actions[b-suphccpw45]  .rz-button.login-submit,
    .login-vendor-button[b-suphccpw45] {
        transition: none;
    }
}
/* /Components/Pages/Mitarbeiter/LohnVorerfassung.razor.rz.scp.css */
/* DATEV-Monatsworkspace: bewusst ruhige, informationsdichte Arbeitsflaeche.
 * Die fachliche DATEV-Naehe entsteht ueber Prozesssprache und Status, nicht ueber
 * eine Kopie fremder Produktoptik. */
.lohn-datev-workspace[b-yigkdr6ost] {
    border-top: 4px solid var(--rz-primary);
}

.lohn-kpi-card[b-yigkdr6ost] {
    height: 100%;
}
/* /Components/Pages/ProcessNavigation.razor.rz.scp.css */
/*
 * Prozesskarten verwenden Status-/Akzentfarben nur fuer Rahmen und aktive
 * Flaechen. Text bleibt unabhaengig vom Theme kontrastreich. Dadurch entstehen
 * keine hellblauen Beschriftungen auf grauen Karten und die Seite folgt derselben
 * Lesbarkeitslogik wie Dashboard-Hinweise.
 */
.qagdl-process-view-card[b-d8vod6otmw] {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    text-align: left;
    border: 1px solid var(--rz-base-300);
    background: var(--rz-body-background-color, #fff);
    color: var(--rz-text-color, #1f2937);
    border-radius: 12px;
    padding: 1rem;
    cursor: pointer;
}

.qagdl-process-view-card:hover[b-d8vod6otmw],
.qagdl-process-view-card.active[b-d8vod6otmw] {
    background: color-mix(in srgb, var(--rz-primary) 7%, var(--rz-body-background-color, #fff));
    border-color: var(--rz-primary);
    color: var(--rz-text-color, #1f2937);
}

.qagdl-process-view-card > span[b-d8vod6otmw] {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}

.qagdl-process-view-card strong[b-d8vod6otmw] {
    color: var(--rz-text-title-color, var(--rz-text-color, #111827));
}

.qagdl-process-view-card small[b-d8vod6otmw] {
    color: var(--rz-text-secondary-color, #4b5563);
}

.qagdl-process-view-card[b-d8vod6otmw]  .rzi {
    color: var(--rz-primary);
}
/* /Components/Pages/Setup.razor.rz.scp.css */
.setup-shell[b-ymci9kgcz6] {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 2rem;
    background: #f5f7f8;
}

.setup-card[b-ymci9kgcz6] {
    width: min(100%, 520px);
    background: #fff;
    border-radius: 18px;
    padding: 2rem;
    box-shadow: 0 20px 60px rgba(15, 23, 42, .12);
}

.setup-brand[b-ymci9kgcz6] {
    font-weight: 800;
    color: #0f766e;
    letter-spacing: .02em;
    margin-bottom: .75rem;
}

.setup-card h1[b-ymci9kgcz6] {
    margin: 0 0 .5rem;
}

.setup-lead[b-ymci9kgcz6],
.setup-note[b-ymci9kgcz6] {
    color: #64748b;
}

.setup-form[b-ymci9kgcz6] {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
}

.setup-form label[b-ymci9kgcz6] {
    display: grid;
    gap: .4rem;
    font-weight: 600;
}

.setup-form input[b-ymci9kgcz6] {
    width: 100%;
    padding: .8rem .9rem;
    border: 1px solid #cbd5e1;
    border-radius: 9px;
    font: inherit;
}

.setup-form button[b-ymci9kgcz6] {
    border: 0;
    border-radius: 9px;
    padding: .9rem 1rem;
    font: inherit;
    font-weight: 700;
    color: #fff;
    background: #0f766e;
    cursor: pointer;
}
/* /Components/Shared/DashboardProcessAlerts.razor.rz.scp.css */
/* Dashboard-Handlungsbedarf: Statusfarben werden in den darunterliegenden
 * Hinweiskarten als Akzent verwendet. Die Abschnittsueberschrift bleibt bewusst
 * neutral und kontrastreich, damit sie nicht wie ein Statuswert wirkt. */
.dashboard-process-alerts-heading[b-ramgllfwct]  .rz-text {
    color: var(--rz-text-title-color, var(--rz-text-color, #111827));
}

.dashboard-process-alerts-heading[b-ramgllfwct]  .rz-text-secondary {
    color: var(--rz-text-secondary-color, #4b5563) !important;
}
/* /Components/Shared/QagdlEntityNotice.razor.rz.scp.css */
/*
 * Lesbarkeitsregel fuer fachliche Hinweise:
 * AlertStyle steuert weiterhin Rahmen/Statusakzent. Inhaltstext verwendet bewusst
 * die normalen Theme-Textfarben, damit Warn- und Info-Hinweise auch auf hellen
 * Hintergruenden WCAG-naeher und in allen Radzen-Themevarianten lesbar bleiben.
 */
.qagdl-entity-notice[b-5ltws7cvib]  .rz-alert {
    color: var(--rz-text-color, #1f2937) !important;
}

.qagdl-entity-notice-heading[b-5ltws7cvib] {
    color: var(--rz-text-title-color, var(--rz-text-color, #111827));
    font-weight: 700;
}

.qagdl-entity-notice-detail[b-5ltws7cvib] {
    color: var(--rz-text-secondary-color, #4b5563);
}
/* /Components/Shared/QagdlEntityWorkspaceBar.razor.rz.scp.css */
.qagdl-entity-workspace-bar[b-ozv9kibnl3]{position:sticky;top:.5rem;z-index:20;background:var(--rz-base-background-color);backdrop-filter:blur(8px)}.qagdl-relation-badge[b-ozv9kibnl3]{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--rz-base-300);background:var(--rz-base-background-color);color:inherit;border-radius:999px;padding:.35rem .6rem;cursor:pointer}.qagdl-relation-badge:hover[b-ozv9kibnl3]{background:var(--rz-base-200)}.qagdl-relation-badge strong[b-ozv9kibnl3]{min-width:1.35rem;text-align:center;border-radius:999px;padding:.05rem .35rem;background:var(--rz-base-200)}
/* /Components/Shared/QagdlWorkspaceShell.razor.rz.scp.css */
.schwupp-overlay[b-otnharn440]{position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,.28);display:flex;align-items:flex-start;justify-content:center;padding-top:8vh}.schwupp-command[b-otnharn440]{width:min(760px,92vw);max-height:78vh;overflow:auto;background:var(--rz-base-background-color);border:1px solid var(--rz-base-300);border-radius:14px;box-shadow:0 18px 48px rgba(0,0,0,.25);padding:1rem}.schwupp-command-head[b-otnharn440]{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.75rem}.schwupp-command-search[b-otnharn440]{margin-bottom:.75rem}.schwupp-command-results[b-otnharn440],.schwupp-command-empty[b-otnharn440]{display:flex;flex-direction:column;gap:.35rem}.schwupp-command-empty>strong[b-otnharn440]{margin-top:.5rem}.schwupp-command-result[b-otnharn440]{border:0;background:transparent;color:inherit;text-align:left;display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;border-radius:8px;cursor:pointer}.schwupp-command-result:hover[b-otnharn440]{background:var(--rz-base-200)}.schwupp-command-result span[b-otnharn440]{display:flex;flex-direction:column}.schwupp-command-result small[b-otnharn440]{color:var(--rz-text-secondary-color)}.schwupp-peek[b-otnharn440]{position:fixed;top:0;right:0;bottom:0;z-index:2900;width:min(420px,92vw);background:var(--rz-base-background-color);border-left:1px solid var(--rz-base-300);box-shadow:-12px 0 30px rgba(0,0,0,.18);padding:1rem;overflow:auto}.schwupp-peek-head[b-otnharn440]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.schwupp-peek-head>div[b-otnharn440]{display:flex;flex-direction:column}.schwupp-peek-head small[b-otnharn440]{color:var(--rz-text-secondary-color)}.schwupp-peek-fields[b-otnharn440]{display:flex;flex-direction:column;gap:.75rem}.schwupp-peek-fields>div[b-otnharn440]{display:flex;flex-direction:column;padding-bottom:.65rem;border-bottom:1px solid var(--rz-base-200)}.schwupp-peek-fields span[b-otnharn440]{font-size:.8rem;color:var(--rz-text-secondary-color)}.schwupp-peek-actions[b-otnharn440]{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}
