/* /Components/Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-dt9e8xjy3x] {
    min-height: 100vh;
    min-height: 100dvh;
    padding-top: 76px;
    background: #f6f8f5;
}

.app-header[b-dt9e8xjy3x] {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 76px;
    padding: 0 max(clamp(1rem, 3vw, 2rem), env(safe-area-inset-right)) 0 max(clamp(1rem, 3vw, 2rem), env(safe-area-inset-left));
    background: rgba(255, 255, 255, 0.88);
    border-bottom: 1px solid rgba(214, 228, 211, 0.72);
    box-shadow: 0 12px 34px rgba(24, 55, 44, 0.06);
    backdrop-filter: blur(18px);
}

.brand[b-dt9e8xjy3x] {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
    color: #15392d;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0;
    white-space: nowrap;
}

.brand-logo[b-dt9e8xjy3x] {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(214, 228, 211, 0.9);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(24, 55, 44, 0.06);
}

.brand-logo img[b-dt9e8xjy3x] {
    display: block;
    object-fit: contain;
}

.pauli-logo[b-dt9e8xjy3x] {
    width: 46px;
    height: 46px;
}

.pauli-logo img[b-dt9e8xjy3x] {
    width: 100%;
    height: 100%;
}

.optisoft-logo[b-dt9e8xjy3x] {
    width: 46px;
    height: 46px;
    padding: 0.25rem;
}

.optisoft-logo img[b-dt9e8xjy3x] {
    width: 100%;
    height: 100%;
    flex: 0 0 auto;
    border-radius: 6px;
}

.top-nav[b-dt9e8xjy3x] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.25rem;
    background: rgba(239, 246, 237, 0.78);
    border: 1px solid rgba(218, 231, 214, 0.9);
    border-radius: 999px;
}

.auth-nav[b-dt9e8xjy3x] {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-width: 0;
}

.auth-nav form[b-dt9e8xjy3x] {
    margin: 0;
}

.user-pill[b-dt9e8xjy3x] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    max-width: min(300px, 32vw);
    min-height: 42px;
    padding: 0.25rem 0.8rem 0.25rem 0.3rem;
    color: #254538;
    background: #f9fbf8;
    border: 1px solid #dce9d8;
    border-radius: 999px;
    box-shadow: 0 8px 20px rgba(24, 55, 44, 0.04);
    text-decoration: none;
}

.user-pill span[b-dt9e8xjy3x] {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    color: #ffffff;
    background: #245a42;
    border-radius: 50%;
    font-size: 0.82rem;
    font-weight: 700;
}

.user-pill strong[b-dt9e8xjy3x] {
    overflow: hidden;
    font-size: 0.94rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[b-dt9e8xjy3x] .nav-button,
.logout-button[b-dt9e8xjy3x] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 0.95rem;
    color: #34453c;
    text-decoration: none;
    border-radius: 999px;
    font-weight: 600;
    white-space: nowrap;
    border: 0;
    background: transparent;
    transition: background 140ms ease, box-shadow 140ms ease, color 140ms ease;
}

[b-dt9e8xjy3x] .nav-button:focus-visible,
.logout-button:focus-visible[b-dt9e8xjy3x] {
    outline: 3px solid rgba(47, 111, 79, 0.22);
    outline-offset: 2px;
}

[b-dt9e8xjy3x] .nav-button:hover,
[b-dt9e8xjy3x] .nav-button.active,
.logout-button:hover[b-dt9e8xjy3x] {
    color: #0f3d30;
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(24, 55, 44, 0.06);
}

.logout-button[b-dt9e8xjy3x] {
    color: #15392d;
    border: 1px solid #d5e4d1;
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(24, 55, 44, 0.06);
}

[b-dt9e8xjy3x] .login-button {
    color: #ffffff;
    background: #245a42;
    box-shadow: 0 10px 24px rgba(36, 90, 66, 0.18);
}

[b-dt9e8xjy3x] .login-button:hover,
[b-dt9e8xjy3x] .login-button.active {
    color: #ffffff;
    background: #1d4936;
}

.app-content[b-dt9e8xjy3x] {
    width: min(1360px, 100%);
    margin: 0 auto;
    padding: 1.35rem max(clamp(1rem, 3vw, 2rem), env(safe-area-inset-right)) calc(2.5rem + env(safe-area-inset-bottom)) max(clamp(1rem, 3vw, 2rem), env(safe-area-inset-left));
}

#blazor-error-ui[b-dt9e8xjy3x] {
    color-scheme: light only;
    display: none;
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1000;
    max-width: 520px;
    padding: 1rem 1.25rem;
    color: #ffffff;
    background: #8a1f1f;
    border-radius: 8px;
}

#blazor-error-ui .reload[b-dt9e8xjy3x],
#blazor-error-ui .dismiss[b-dt9e8xjy3x] {
    color: #ffffff;
    margin-left: 1rem;
}

@media (max-width: 820px) {
    .app-shell[b-dt9e8xjy3x] {
        padding-top: 124px;
    }

    .app-header[b-dt9e8xjy3x] {
        flex-wrap: wrap;
        align-content: center;
        gap: 0.65rem;
        min-height: 124px;
        padding-block: 0.75rem;
    }

    .brand[b-dt9e8xjy3x] {
        flex: 1 1 auto;
    }

    .top-nav[b-dt9e8xjy3x] {
        order: 3;
        width: 100%;
        justify-content: center;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .top-nav[b-dt9e8xjy3x]::-webkit-scrollbar {
        display: none;
    }

    .auth-nav[b-dt9e8xjy3x] {
        margin-left: 0;
    }

    .user-pill[b-dt9e8xjy3x] {
        max-width: 42vw;
    }
}

@media (max-width: 520px) {
    .app-shell[b-dt9e8xjy3x] {
        padding-top: 118px;
    }

    .app-header[b-dt9e8xjy3x] {
        min-height: 118px;
        gap: 0.55rem;
        padding-block: 0.65rem;
    }

    .brand span[b-dt9e8xjy3x] {
        font-size: 1rem;
    }

    .pauli-logo[b-dt9e8xjy3x],
    .optisoft-logo[b-dt9e8xjy3x] {
        width: 42px;
        height: 42px;
    }

    [b-dt9e8xjy3x] .nav-button,
    .logout-button[b-dt9e8xjy3x] {
        min-height: 40px;
        padding: 0 0.72rem;
        font-size: 0.92rem;
    }

    .user-pill[b-dt9e8xjy3x] {
        max-width: 46vw;
        padding-right: 0.55rem;
    }

    .user-pill strong[b-dt9e8xjy3x] {
        font-size: 0.88rem;
    }
}

@media (max-width: 390px) {
    .auth-nav[b-dt9e8xjy3x] {
        gap: 0.35rem;
    }

    .user-pill[b-dt9e8xjy3x] {
        max-width: 40vw;
        min-height: 40px;
        padding-left: 0.25rem;
    }

    .user-pill span[b-dt9e8xjy3x] {
        width: 30px;
        height: 30px;
    }
}
/* /Components/Layout/PublicLayout.razor.rz.scp.css */
.public-content[b-ovq88byyou] {
    min-height: 100vh;
    min-height: 100dvh;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #f6f8f5;
}

#blazor-error-ui[b-ovq88byyou] {
    color-scheme: light only;
    display: none;
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 1000;
    max-width: 520px;
    padding: 1rem 1.25rem;
    color: #ffffff;
    background: #8a1f1f;
    border-radius: 8px;
}

#blazor-error-ui .reload[b-ovq88byyou],
#blazor-error-ui .dismiss[b-ovq88byyou] {
    color: #ffffff;
    margin-left: 1rem;
}
/* /Components/Pages/Account.razor.rz.scp.css */
.account-page[b-2xjwnt2iy5] {
    display: grid;
    gap: 1rem;
}

.account-heading[b-2xjwnt2iy5] {
    display: flex;
    justify-content: space-between;
    align-items: end;
}

.eyebrow[b-2xjwnt2iy5] {
    margin: 0 0 0.25rem;
    color: #4f7d52;
    font-weight: 700;
    text-transform: uppercase;
}

h1[b-2xjwnt2iy5], h2[b-2xjwnt2iy5] {
    margin: 0;
    color: #18372c;
}

.account-grid[b-2xjwnt2iy5] {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 1rem;
    align-items: start;
}

.account-panel[b-2xjwnt2iy5],
.state[b-2xjwnt2iy5],
.account-message[b-2xjwnt2iy5] {
    padding: 1rem;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    border-radius: 8px;
}

.account-panel[b-2xjwnt2iy5] {
    display: grid;
    gap: 0.85rem;
    box-shadow: 0 10px 26px rgba(24, 55, 44, 0.045);
}

.account-form[b-2xjwnt2iy5],
.account-form label[b-2xjwnt2iy5] {
    display: grid;
    gap: 0.65rem;
}

.account-form label[b-2xjwnt2iy5] {
    gap: 0.35rem;
    color: #334b3f;
    font-weight: 600;
}

.account-form input[b-2xjwnt2iy5] {
    width: 100%;
    min-height: 42px;
    padding: 0 0.75rem;
    color: var(--prb-input-text);
    background: var(--prb-input-bg);
    border: 1px solid #cbd9c8;
    border-radius: 8px;
    font: inherit;
    font-weight: 400;
    line-height: 1.45;
    box-shadow: none;
    caret-color: var(--prb-input-text);
}

.account-form input:focus[b-2xjwnt2iy5] {
    outline: 2px solid var(--prb-input-focus);
    border-color: #7fa990;
}

.account-form input:autofill[b-2xjwnt2iy5],
.account-form input:-webkit-autofill[b-2xjwnt2iy5],
.account-form input:-moz-autofill[b-2xjwnt2iy5] {
    color: var(--prb-input-text) !important;
    background: var(--prb-input-bg) !important;
    background-color: var(--prb-input-bg) !important;
    background-image: none !important;
    box-shadow: var(--prb-input-autofill-shadow) !important;
    -webkit-box-shadow: var(--prb-input-autofill-shadow) !important;
    -webkit-text-fill-color: var(--prb-input-text) !important;
    caret-color: var(--prb-input-text) !important;
}

.two-columns[b-2xjwnt2iy5] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.account-message[b-2xjwnt2iy5] {
    color: #7a2e1f;
    background: #fff1eb;
    border-color: #f1c7b8;
    font-weight: 600;
}

.account-message.success[b-2xjwnt2iy5] {
    color: #1f5d3a;
    background: #e7f4eb;
    border-color: #bfdcc8;
}

.danger-panel[b-2xjwnt2iy5] {
    border-color: #efc9c0;
}

.danger-panel p[b-2xjwnt2iy5] {
    margin: 0;
    color: #5e7167;
}

.confirm-row[b-2xjwnt2iy5] {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    color: #334b3f;
    font-weight: 600;
}

@media (max-width: 860px) {
    .account-grid[b-2xjwnt2iy5],
    .two-columns[b-2xjwnt2iy5] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/AdminDashboard.razor.rz.scp.css */
.dashboard-page[b-59wu4f4gv4] {
    display: grid;
    gap: 1rem;
}

.eyebrow[b-59wu4f4gv4] {
    margin: 0 0 0.25rem;
    color: #4f7d52;
    font-weight: 700;
    text-transform: uppercase;
}

h1[b-59wu4f4gv4] {
    margin: 0;
    color: #18372c;
}

.metric-grid[b-59wu4f4gv4] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.85rem;
}

.metric-card[b-59wu4f4gv4],
.state[b-59wu4f4gv4] {
    padding: 1rem;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(24, 55, 44, 0.045);
}

.metric-card[b-59wu4f4gv4] {
    display: grid;
    gap: 0.35rem;
}

.metric-card span[b-59wu4f4gv4] {
    color: #60736a;
    font-weight: 750;
}

.metric-card strong[b-59wu4f4gv4] {
    color: #18372c;
    font-size: 2rem;
    line-height: 1;
}
/* /Components/Pages/ForgotPassword.razor.rz.scp.css */
.auth-page[b-dxgu7w1hzr] {
    min-height: calc(100vh - 118px);
    min-height: calc(100dvh - 118px);
    display: grid;
    place-items: center;
    padding: clamp(1rem, 3vw, 2.5rem) 0;
}

.auth-panel[b-dxgu7w1hzr] {
    width: min(460px, calc(100vw - 32px));
    padding: clamp(1rem, 2vw, 1.35rem);
    color: #173b2f;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(209, 224, 207, 0.82);
    border-radius: 8px;
    box-shadow: 0 18px 46px rgba(24, 55, 44, 0.12);
}

.auth-brand[b-dxgu7w1hzr],
.auth-form[b-dxgu7w1hzr],
.auth-form label[b-dxgu7w1hzr] {
    display: grid;
}

.auth-brand[b-dxgu7w1hzr] {
    gap: 0.3rem;
    margin-bottom: 1rem;
}

.auth-brand img[b-dxgu7w1hzr] {
    width: 48px;
    height: 48px;
    border-radius: 8px;
}

.auth-brand h1[b-dxgu7w1hzr] {
    margin: 0;
    color: #143b2d;
    font-size: clamp(1.9rem, 5vw, 2.45rem);
    font-weight: 500;
    line-height: 1.08;
}

.auth-brand p[b-dxgu7w1hzr] {
    margin: 0;
    color: #5e7267;
    line-height: 1.45;
}

.auth-form[b-dxgu7w1hzr] {
    gap: 0.75rem;
}

.auth-form label[b-dxgu7w1hzr] {
    gap: 0.35rem;
    color: #334b3f;
    font-weight: 500;
}

.auth-form input[b-dxgu7w1hzr] {
    width: 100%;
    min-height: 44px;
    padding: 0 0.8rem;
    color: #143b2d;
    background: var(--prb-input-bg);
    border: 1px solid #cbd9c8;
    border-radius: 8px;
    font: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.45;
}

.auth-form input:focus[b-dxgu7w1hzr] {
    outline: 2px solid var(--prb-input-focus);
    border-color: #7fa990;
}

.auth-message[b-dxgu7w1hzr] {
    padding: 0.65rem 0.8rem;
    color: #7a2e1f;
    background: #fff1eb;
    border: 1px solid #f1c7b8;
    border-radius: 8px;
    font-weight: 500;
    line-height: 1.45;
}

.auth-message.success[b-dxgu7w1hzr] {
    color: #1f5d3a;
    background: #e7f4eb;
    border-color: #bfdcc8;
}

[b-dxgu7w1hzr] .auth-button {
    width: 100%;
    min-height: 44px;
    font-weight: 500;
}

.auth-link[b-dxgu7w1hzr] {
    justify-self: center;
    color: #2f6f4f;
    font-weight: 500;
    text-decoration: none;
}

.auth-link:hover[b-dxgu7w1hzr] {
    text-decoration: underline;
}
/* /Components/Pages/Home.razor.rz.scp.css */
.home-book-page[b-ilrae9mvtl] {
    position: relative;
    min-height: calc(100vh - 112px);
    min-height: calc(100dvh - 112px);
    display: grid;
    place-items: center;
    align-content: center;
    padding: clamp(1.25rem, 4vw, 2.5rem) 0 2.75rem;
}

.book-stage[b-ilrae9mvtl] {
    position: relative;
    width: min(520px, 76vw);
    max-width: 100%;
    display: grid;
    place-items: center;
    filter: drop-shadow(0 34px 54px rgba(24, 55, 44, 0.18));
}

.book-stage img[b-ilrae9mvtl] {
    display: block;
    width: 100%;
    height: auto;
    max-height: min(68vh, 680px);
    object-fit: contain;
    border-radius: 6px;
}

.recipe-count-card[b-ilrae9mvtl] {
    position: absolute;
    top: clamp(0.75rem, 2.5vw, 1.15rem);
    right: clamp(0.75rem, 2.5vw, 1.15rem);
    display: grid;
    justify-items: center;
    gap: 0.08rem;
    min-width: 112px;
    padding: 0.65rem 0.8rem;
    color: #28483a;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(220, 232, 217, 0.95);
    border-radius: 8px;
    box-shadow: 0 12px 26px rgba(24, 55, 44, 0.1);
    backdrop-filter: blur(12px);
}

.recipe-count-card strong[b-ilrae9mvtl] {
    color: #245a42;
    font-size: clamp(1.25rem, 3vw, 1.6rem);
    font-weight: 700;
    line-height: 1;
}

.recipe-count-card span[b-ilrae9mvtl] {
    color: #53695e;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
}

@media (max-width: 820px) {
    .home-book-page[b-ilrae9mvtl] {
        min-height: calc(100vh - 156px);
        min-height: calc(100dvh - 156px);
        padding-top: 0.5rem;
    }

    .book-stage[b-ilrae9mvtl] {
        width: min(430px, 84vw);
    }

}

@media (max-width: 520px) {
    .home-book-page[b-ilrae9mvtl] {
        min-height: calc(100vh - 148px);
        min-height: calc(100dvh - 148px);
        gap: 0.9rem;
    }

    .book-stage[b-ilrae9mvtl] {
        width: min(340px, 88vw);
    }

    .book-stage img[b-ilrae9mvtl] {
        max-height: 58vh;
    }

    .recipe-count-card[b-ilrae9mvtl] {
        min-width: 96px;
        padding: 0.55rem 0.65rem;
    }

    .recipe-count-card span[b-ilrae9mvtl] {
        font-size: 0.74rem;
    }

}
/* /Components/Pages/Login.razor.rz.scp.css */
.login-page[b-l753l2yvgd] {
    position: relative;
    min-height: calc(100vh - 118px);
    min-height: calc(100dvh - 118px);
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: clamp(1rem, 3vw, 2.5rem) 0;
}

.login-page[b-l753l2yvgd]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(246, 248, 245, 0.18);
    backdrop-filter: blur(2.5px);
    pointer-events: none;
}

.login-hero[b-l753l2yvgd] {
    position: relative;
    z-index: 0;
    grid-area: 1 / 1;
    width: min(520px, 76vw);
    max-width: 100%;
    min-height: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 0;
    background: transparent;
    border-radius: 8px;
    box-shadow: none;
    filter: drop-shadow(0 34px 54px rgba(24, 55, 44, 0.18));
}

.login-hero[b-l753l2yvgd]::after {
    content: none;
}

.login-hero > img[b-l753l2yvgd] {
    display: block;
    width: 100%;
    height: auto;
    max-height: min(68vh, 680px);
    object-fit: contain;
    object-position: center;
    border-radius: 6px;
    box-shadow: none;
}

.hero-copy[b-l753l2yvgd] {
    display: none;
}

.hero-copy img[b-l753l2yvgd] {
    width: clamp(62px, 8vw, 92px);
    height: clamp(62px, 8vw, 92px);
    object-fit: contain;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 8px;
}

.hero-copy p[b-l753l2yvgd] {
    margin: 0 0 0.25rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.hero-copy h2[b-l753l2yvgd] {
    max-width: 620px;
    margin: 0;
    font-size: clamp(2rem, 5vw, 4.4rem);
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

.login-panel[b-l753l2yvgd] {
    position: relative;
    z-index: 2;
    grid-area: 1 / 1;
    width: min(430px, calc(100vw - 32px));
    max-height: calc(100dvh - 150px);
    overflow: auto;
    justify-self: center;
    align-self: center;
    padding: clamp(1rem, 2vw, 1.25rem);
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(209, 224, 207, 0.82);
    border-radius: 8px;
    box-shadow: 0 18px 46px rgba(24, 55, 44, 0.14);
    backdrop-filter: blur(14px);
}

.login-brand[b-l753l2yvgd] {
    display: grid;
    gap: 0.25rem;
    margin-bottom: 1rem;
}

.login-brand img[b-l753l2yvgd] {
    width: 48px;
    height: 48px;
    object-fit: contain;
    margin-bottom: 0.25rem;
    border-radius: 8px;
}

.login-brand h1[b-l753l2yvgd] {
    margin: 0;
    color: #143b2d;
    font-size: clamp(1.85rem, 5vw, 2.35rem);
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.08;
}

.login-brand p:not(.eyebrow)[b-l753l2yvgd] {
    max-width: 32rem;
    margin: 0;
    color: #5e7267;
    font-size: 0.92rem;
    line-height: 1.4;
}

.login-message[b-l753l2yvgd] {
    padding: 0.65rem 0.8rem;
    color: #7a2e1f;
    background: #fff1eb;
    border: 1px solid #f1c7b8;
    border-radius: 8px;
    font-weight: 500;
    line-height: 1.45;
}

.login-form[b-l753l2yvgd] {
    display: grid;
    gap: 0.8rem;
}

.login-form label[b-l753l2yvgd] {
    display: grid;
    gap: 0.45rem;
    min-width: 0;
    color: #334b3f;
    font-weight: 500;
}

.login-form input[b-l753l2yvgd] {
    width: 100%;
    min-height: 44px;
    padding: 0 0.8rem;
    color: #143b2d;
    background: var(--prb-input-bg);
    border: 1px solid #cbd9c8;
    border-radius: 8px;
    font: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.45;
}

.login-form input[b-l753l2yvgd]::placeholder {
    color: #8da097;
}

.login-form input:focus[b-l753l2yvgd] {
    outline: 2px solid var(--prb-input-focus);
    border-color: #7fa990;
}

.password-field[b-l753l2yvgd] {
    position: relative;
    display: block;
}

.password-field input[b-l753l2yvgd] {
    padding-right: 6.55rem;
}

.password-field button[b-l753l2yvgd] {
    position: absolute;
    top: 50%;
    right: 0.45rem;
    min-height: 32px;
    padding: 0 0.75rem;
    color: #2c6048;
    background: #edf5eb;
    border: 0;
    border-radius: 8px;
    font-weight: 500;
    transform: translateY(-50%);
}

.password-field button:hover[b-l753l2yvgd] {
    background: #dcebd8;
}

.login-button[b-l753l2yvgd] {
    width: 100%;
    min-height: 44px;
    margin-top: 0.15rem;
}

.login-links[b-l753l2yvgd] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem 0.9rem;
}

.forgot-password[b-l753l2yvgd],
.register-link[b-l753l2yvgd] {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    padding: 0 0.85rem;
    color: #2f6f4f;
    background: transparent;
    border-radius: 999px;
    font-weight: 500;
    text-decoration: none;
}

.forgot-password:hover[b-l753l2yvgd],
.register-link:hover[b-l753l2yvgd] {
    color: #1d4936;
    background: #edf5eb;
}

.login-progress[b-l753l2yvgd] {
    margin: -0.25rem 0 0;
    color: #5e7267;
    text-align: center;
    font-weight: 500;
}

.password-help-content[b-l753l2yvgd] {
    display: grid;
    gap: 1rem;
    padding: 0.25rem 0 0;
}

.password-help-content p[b-l753l2yvgd] {
    margin: 0;
    color: #334b3f;
    font-size: 1.05rem;
}

@media (max-width: 1040px) {
    .login-page[b-l753l2yvgd] {
        grid-template-columns: 1fr;
    }

    .login-hero[b-l753l2yvgd] {
        width: min(430px, 84vw);
    }

    .login-panel[b-l753l2yvgd] {
        margin-top: 0;
    }
}

@media (max-width: 640px) {
    .login-page[b-l753l2yvgd] {
        min-height: calc(100vh - 118px);
        min-height: calc(100dvh - 118px);
        padding: 0.75rem 0;
    }

    .login-hero[b-l753l2yvgd] {
        width: min(340px, 88vw);
        border-radius: 8px;
        margin: 0;
    }

    .login-hero > img[b-l753l2yvgd] {
        max-height: 58vh;
    }

    .hero-copy[b-l753l2yvgd] {
        align-items: start;
        flex-direction: column;
        gap: 0.75rem;
    }

    .hero-copy h2[b-l753l2yvgd] {
        font-size: 2.15rem;
    }

    .login-panel[b-l753l2yvgd] {
        width: min(100%, calc(100vw - 20px));
        max-height: calc(100dvh - 134px);
        margin-top: 0;
        padding: 0.95rem;
    }

    .login-form input[b-l753l2yvgd] {
        min-height: 44px;
    }

    .login-brand img[b-l753l2yvgd] {
        width: 44px;
        height: 44px;
    }

    .password-field input[b-l753l2yvgd] {
        padding-right: 6.35rem;
    }

    .password-field button[b-l753l2yvgd] {
        padding: 0 0.65rem;
    }
}
/* /Components/Pages/PublicRecipeLink.razor.rz.scp.css */
.public-link-home[b-017h4i8s5w] {
    position: relative;
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    place-items: center;
    align-content: center;
    padding: 5.25rem max(1rem, env(safe-area-inset-right)) 2.5rem max(1rem, env(safe-area-inset-left));
    background: #f6f8f5;
}

.public-brandbar[b-017h4i8s5w] {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 40;
    display: flex;
    align-items: center;
    gap: 1rem;
    min-height: 76px;
    padding: 0 max(clamp(1rem, 3vw, 2rem), env(safe-area-inset-right)) 0 max(clamp(1rem, 3vw, 2rem), env(safe-area-inset-left));
    background: rgba(255, 255, 255, 0.88);
    border-bottom: 1px solid rgba(214, 228, 211, 0.72);
    box-shadow: 0 12px 34px rgba(24, 55, 44, 0.06);
    backdrop-filter: blur(18px);
}

.public-logo[b-017h4i8s5w] {
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(214, 228, 211, 0.9);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(24, 55, 44, 0.06);
}

.public-logo img[b-017h4i8s5w] {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.optisoft-logo[b-017h4i8s5w] {
    padding: 0.25rem;
}

.optisoft-logo img[b-017h4i8s5w] {
    border-radius: 6px;
}

.book-stage[b-017h4i8s5w] {
    position: relative;
    width: min(520px, 76vw);
    max-width: 100%;
    display: grid;
    place-items: center;
    filter: drop-shadow(0 34px 54px rgba(24, 55, 44, 0.18));
}

.book-stage img[b-017h4i8s5w] {
    display: block;
    width: 100%;
    height: auto;
    max-height: min(68vh, 680px);
    object-fit: contain;
    border-radius: 6px;
}

.public-message[b-017h4i8s5w] {
    margin-top: 1.25rem;
    width: min(520px, calc(100vw - 32px));
    padding: 1rem 1.1rem;
    color: #6b3b2d;
    text-align: center;
    background: #fff7f2;
    border: 1px solid #eccfc0;
    border-radius: 8px;
    box-shadow: 0 16px 34px rgba(24, 55, 44, 0.07);
    font-weight: 750;
}

@media (max-width: 820px) {
    .public-link-home[b-017h4i8s5w] {
        padding-top: 5rem;
    }

    .book-stage[b-017h4i8s5w] {
        width: min(430px, 84vw);
    }
}

@media (max-width: 520px) {
    .public-logo[b-017h4i8s5w] {
        width: 42px;
        height: 42px;
    }

    .book-stage[b-017h4i8s5w] {
        width: min(340px, 88vw);
    }

    .book-stage img[b-017h4i8s5w] {
        max-height: 58vh;
    }
}
/* /Components/Pages/Register.razor.rz.scp.css */
.auth-page[b-3kf7385hqa] {
    min-height: calc(100vh - 118px);
    min-height: calc(100dvh - 118px);
    display: grid;
    place-items: center;
    padding: clamp(1rem, 3vw, 2.5rem) 0;
}

.auth-panel[b-3kf7385hqa] {
    width: min(520px, calc(100vw - 32px));
    padding: clamp(1rem, 2vw, 1.35rem);
    color: #173b2f;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(209, 224, 207, 0.82);
    border-radius: 8px;
    box-shadow: 0 18px 46px rgba(24, 55, 44, 0.12);
}

.auth-brand[b-3kf7385hqa] {
    display: grid;
    gap: 0.3rem;
    margin-bottom: 1rem;
}

.auth-brand img[b-3kf7385hqa] {
    width: 48px;
    height: 48px;
    border-radius: 8px;
}

.auth-brand h1[b-3kf7385hqa] {
    margin: 0;
    color: #143b2d;
    font-size: clamp(1.9rem, 5vw, 2.45rem);
    font-weight: 500;
    line-height: 1.08;
}

.auth-brand p[b-3kf7385hqa] {
    margin: 0;
    color: #5e7267;
    line-height: 1.45;
}

.auth-form[b-3kf7385hqa],
.auth-form label[b-3kf7385hqa] {
    display: grid;
    gap: 0.75rem;
}

.auth-form label[b-3kf7385hqa] {
    gap: 0.35rem;
    color: #334b3f;
    font-weight: 500;
}

.auth-form input[b-3kf7385hqa] {
    width: 100%;
    min-height: 44px;
    padding: 0 0.8rem;
    color: #143b2d;
    background: var(--prb-input-bg);
    border: 1px solid #cbd9c8;
    border-radius: 8px;
    font: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.45;
}

.auth-form input:focus[b-3kf7385hqa] {
    outline: 2px solid var(--prb-input-focus);
    border-color: #7fa990;
}

.optional-grid[b-3kf7385hqa] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.auth-message[b-3kf7385hqa] {
    padding: 0.65rem 0.8rem;
    color: #7a2e1f;
    background: #fff1eb;
    border: 1px solid #f1c7b8;
    border-radius: 8px;
    font-weight: 500;
    line-height: 1.45;
}

.auth-message.success[b-3kf7385hqa] {
    color: #1f5d3a;
    background: #e7f4eb;
    border-color: #bfdcc8;
}

[b-3kf7385hqa] .auth-button {
    width: 100%;
    min-height: 44px;
    font-weight: 500;
}

.auth-link[b-3kf7385hqa] {
    justify-self: center;
    color: #2f6f4f;
    font-weight: 500;
    text-decoration: none;
}

.auth-link:hover[b-3kf7385hqa] {
    text-decoration: underline;
}

@media (max-width: 560px) {
    .optional-grid[b-3kf7385hqa] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Pages/ResetPassword.razor.rz.scp.css */
.auth-page[b-uxmaznjf18] {
    min-height: calc(100vh - 118px);
    min-height: calc(100dvh - 118px);
    display: grid;
    place-items: center;
    padding: clamp(1rem, 3vw, 2.5rem) 0;
}

.auth-panel[b-uxmaznjf18] {
    width: min(460px, calc(100vw - 32px));
    padding: clamp(1rem, 2vw, 1.35rem);
    color: #173b2f;
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(209, 224, 207, 0.82);
    border-radius: 8px;
    box-shadow: 0 18px 46px rgba(24, 55, 44, 0.12);
}

.auth-brand[b-uxmaznjf18],
.auth-form[b-uxmaznjf18],
.auth-form label[b-uxmaznjf18] {
    display: grid;
}

.auth-brand[b-uxmaznjf18] {
    gap: 0.3rem;
    margin-bottom: 1rem;
}

.auth-brand img[b-uxmaznjf18] {
    width: 48px;
    height: 48px;
    border-radius: 8px;
}

.auth-brand h1[b-uxmaznjf18] {
    margin: 0;
    color: #143b2d;
    font-size: clamp(1.9rem, 5vw, 2.45rem);
    font-weight: 500;
    line-height: 1.08;
}

.auth-brand p[b-uxmaznjf18] {
    margin: 0;
    color: #5e7267;
    line-height: 1.45;
}

.auth-form[b-uxmaznjf18] {
    gap: 0.75rem;
}

.auth-form label[b-uxmaznjf18] {
    gap: 0.35rem;
    color: #334b3f;
    font-weight: 500;
}

.auth-form input[b-uxmaznjf18] {
    width: 100%;
    min-height: 44px;
    padding: 0 0.8rem;
    color: #143b2d;
    background: var(--prb-input-bg);
    border: 1px solid #cbd9c8;
    border-radius: 8px;
    font: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.45;
}

.auth-form input:focus[b-uxmaznjf18] {
    outline: 2px solid var(--prb-input-focus);
    border-color: #7fa990;
}

.auth-message[b-uxmaznjf18] {
    padding: 0.65rem 0.8rem;
    color: #7a2e1f;
    background: #fff1eb;
    border: 1px solid #f1c7b8;
    border-radius: 8px;
    font-weight: 500;
    line-height: 1.45;
}

.auth-message.success[b-uxmaznjf18] {
    color: #1f5d3a;
    background: #e7f4eb;
    border-color: #bfdcc8;
}

[b-uxmaznjf18] .auth-button {
    width: 100%;
    min-height: 44px;
    font-weight: 500;
}

.auth-link[b-uxmaznjf18] {
    justify-self: center;
    color: #2f6f4f;
    font-weight: 500;
    text-decoration: none;
}

.auth-link:hover[b-uxmaznjf18] {
    text-decoration: underline;
}
/* /Components/Pages/RezeptBrowser.razor.rz.scp.css */
.browser-page[b-3xd6n2fdd7] {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.page-heading[b-3xd6n2fdd7] {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    min-width: 0;
}

.eyebrow[b-3xd6n2fdd7] {
    margin: 0 0 0.25rem;
    color: #4f7d52;
    font-weight: 600;
    text-transform: uppercase;
}

h1[b-3xd6n2fdd7] {
    margin: 0;
    color: #18372c;
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.result-count[b-3xd6n2fdd7] {
    color: #4d6156;
    font-weight: 600;
}

.filter-band[b-3xd6n2fdd7] {
    display: grid;
    grid-template-columns: minmax(220px, 0.9fr) minmax(240px, 1.1fr) auto;
    gap: 1rem;
    align-items: end;
    padding: 1rem;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    border-radius: 8px;
}

label[b-3xd6n2fdd7] {
    display: grid;
    gap: 0.4rem;
    min-width: 0;
    color: #4d6156;
    font-weight: 600;
}

.filter-editor[b-3xd6n2fdd7] {
    width: 100%;
}

.search-button[b-3xd6n2fdd7] {
    min-width: 120px;
}

.quick-sections[b-3xd6n2fdd7] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.quick-section[b-3xd6n2fdd7] {
    display: grid;
    gap: 0.65rem;
    min-width: 0;
    padding: 0.85rem;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid #dfe8dd;
    border-radius: 8px;
}

.quick-heading[b-3xd6n2fdd7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.quick-heading h2[b-3xd6n2fdd7] {
    margin: 0;
    color: #1f3d31;
    font-size: 1rem;
    font-weight: 700;
}

.quick-heading span[b-3xd6n2fdd7] {
    min-width: 1.6rem;
    padding: 0.15rem 0.45rem;
    color: #385346;
    background: #eef4ec;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    text-align: center;
}

.quick-list[b-3xd6n2fdd7] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 0.5rem;
}

.quick-card[b-3xd6n2fdd7] {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
    min-height: 4.1rem;
    padding: 0.65rem 0.75rem;
    color: inherit;
    text-align: left;
    background: #ffffff;
    border: 1px solid #e4ece2;
    border-radius: 8px;
    transition: border-color 140ms ease, box-shadow 140ms ease;
}

.quick-card:hover[b-3xd6n2fdd7],
.quick-card:focus-visible[b-3xd6n2fdd7] {
    border-color: #a8c7a3;
    box-shadow: 0 10px 24px rgba(24, 55, 44, 0.07);
}

.quick-card strong[b-3xd6n2fdd7] {
    min-width: 0;
    overflow: hidden;
    color: #18372c;
    font-size: 0.94rem;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quick-card span[b-3xd6n2fdd7] {
    min-width: 0;
    overflow: hidden;
    color: #60736a;
    font-size: 0.84rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.search-highlight[b-3xd6n2fdd7] {
    padding: 0.02rem 0.16rem;
    color: inherit;
    background: #dfeedd;
    border-radius: 4px;
}

.recipe-list[b-3xd6n2fdd7] {
    display: grid;
    gap: 0.7rem;
}

.recipe-card[b-3xd6n2fdd7] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    width: 100%;
    padding: 0.9rem 1rem;
    color: inherit;
    text-align: left;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    border-radius: 8px;
    transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
    touch-action: manipulation;
}

.recipe-card:hover[b-3xd6n2fdd7] {
    border-color: #a8c7a3;
    box-shadow: 0 12px 28px rgba(24, 55, 44, 0.08);
    transform: translateY(-1px);
}

.recipe-card:focus-visible[b-3xd6n2fdd7] {
    outline: 3px solid rgba(47, 111, 79, 0.22);
    outline-offset: 2px;
}

.recipe-main h2[b-3xd6n2fdd7] {
    margin: 0;
    color: #18372c;
    font-size: 1.12rem;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.recipe-main p[b-3xd6n2fdd7] {
    margin: 0.25rem 0 0;
    color: #60736a;
}

.recipe-meta[b-3xd6n2fdd7] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-content: center;
    gap: 0.45rem;
    max-width: 340px;
}

.recipe-meta span[b-3xd6n2fdd7],
.popup-facts span[b-3xd6n2fdd7] {
    padding: 0.3rem 0.55rem;
    color: #385346;
    background: #eef4ec;
    border-radius: 8px;
    font-size: 0.88rem;
}

.popup-facts[b-3xd6n2fdd7] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.45rem;
}

.favorite-button[b-3xd6n2fdd7] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2rem;
    padding: 0.28rem 0.6rem;
    color: #385346;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    border-radius: 999px;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 600;
}

.favorite-button span[b-3xd6n2fdd7] {
    padding: 0;
    color: #7a3d46;
    background: transparent;
    border-radius: 0;
    font-size: 1.05rem;
    line-height: 1;
}

.favorite-button strong[b-3xd6n2fdd7] {
    font-weight: 600;
}

.favorite-button:hover[b-3xd6n2fdd7],
.favorite-button.is-active[b-3xd6n2fdd7] {
    color: #17372b;
    background: #fff7f4;
    border-color: #e8c9bf;
}

.favorite-button:disabled[b-3xd6n2fdd7] {
    opacity: 0.64;
}

.state[b-3xd6n2fdd7] {
    padding: 1.5rem;
    color: #617469;
    text-align: center;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    border-radius: 8px;
}

.popup-content[b-3xd6n2fdd7] {
    display: grid;
    gap: 0.9rem;
    color: #17372b;
    min-width: 0;
}

.popup-header[b-3xd6n2fdd7] {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #e4ece2;
    min-width: 0;
}

.popup-header h2[b-3xd6n2fdd7] {
    margin: 0;
    color: #18372c;
    font-size: clamp(1.65rem, 4vw, 2.8rem);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.popup-grid[b-3xd6n2fdd7] {
    display: grid;
    grid-template-columns: minmax(260px, 0.56fr) minmax(0, 1.44fr);
    gap: 0.75rem;
    align-items: start;
}

.amount-adjust[b-3xd6n2fdd7] {
    display: grid;
    grid-template-columns: minmax(150px, 220px) minmax(240px, 1fr);
    align-items: end;
    gap: 0.9rem;
    padding: 0.65rem 0.8rem;
    background: #f7faf6;
    border: 1px solid #dfe8dd;
    border-radius: 8px;
}

.amount-adjust label[b-3xd6n2fdd7] {
    width: min(220px, 100%);
}

.amount-adjust input[b-3xd6n2fdd7] {
    width: 100%;
    min-height: 2.1rem;
    padding: 0.35rem 0.55rem;
    color: #18372c;
    background: var(--prb-input-bg);
    border: 1px solid #cad8c7;
    border-radius: 6px;
    font: inherit;
    font-size: 1rem;
}

.amount-adjust p[b-3xd6n2fdd7] {
    margin: 0;
    color: #617469;
}

.amount-slider[b-3xd6n2fdd7] {
    display: grid;
    gap: 0.35rem;
}

.amount-slider input[type="range"][b-3xd6n2fdd7] {
    min-height: 1.4rem;
    padding: 0;
    accent-color: #2f6f4f;
    background: transparent;
    border: 0;
}

.popup-text[b-3xd6n2fdd7] {
    display: grid;
    gap: 0.8rem;
}

.popup-panel[b-3xd6n2fdd7] {
    padding: 0.85rem 0.95rem;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(24, 55, 44, 0.045);
}

.popup-panel h3[b-3xd6n2fdd7] {
    margin: 0 0 0.5rem;
    color: #1f3d31;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0;
}

.ingredient-list[b-3xd6n2fdd7] {
    display: grid;
    gap: 0;
}

.ingredient-row[b-3xd6n2fdd7] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(4.6rem, auto);
    gap: 0.45rem;
    align-items: center;
    min-height: 1.38rem;
    padding: 0.1rem 0;
    border-bottom: 1px solid #eef3ec;
    line-height: 1.14;
    font-size: 0.94rem;
}

.ingredient-row:last-child[b-3xd6n2fdd7] {
    border-bottom: 0;
}

.ingredient-row strong[b-3xd6n2fdd7] {
    justify-self: end;
    color: #18372c;
    font-size: 0.93rem;
    white-space: nowrap;
}

.ingredient-row > span[b-3xd6n2fdd7] {
    min-width: 0;
    overflow-wrap: anywhere;
}

.ingredient-amount[b-3xd6n2fdd7] {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 0.18rem;
    min-width: 0;
    font-variant-numeric: tabular-nums;
}

.ingredient-amount span[b-3xd6n2fdd7] {
    text-align: right;
}

.ingredient-amount small[b-3xd6n2fdd7] {
    color: #536b5f;
    font-size: 0.88em;
    font-weight: 500;
}

.text-block[b-3xd6n2fdd7] {
    margin: 0;
    color: #314940;
    font-size: 1.02rem;
    line-height: 1.48;
    overflow: visible;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.text-block:last-child[b-3xd6n2fdd7] {
    margin-bottom: 0;
}

.recipe-section[b-3xd6n2fdd7] {
    display: grid;
    gap: 0.45rem;
    padding-bottom: 1.05rem;
}

.recipe-section:last-child[b-3xd6n2fdd7] {
    padding-bottom: 0;
}

.recipe-section h4[b-3xd6n2fdd7] {
    margin: 0;
    color: #18372c;
    font-size: 1.04rem;
    font-weight: 700;
    letter-spacing: 0;
}

.section-subtitle[b-3xd6n2fdd7] {
    margin: 0;
    color: #4f7d52;
    font-weight: 600;
}

.muted[b-3xd6n2fdd7] {
    color: #65756b;
}

.success-message[b-3xd6n2fdd7] {
    margin: 0;
    padding: 0.6rem 0.75rem;
    color: #1f5d3a;
    background: #e7f4eb;
    border: 1px solid #bfdcc8;
    border-radius: 8px;
    font-weight: 500;
}

.popup-actions[b-3xd6n2fdd7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    padding-top: 0.1rem;
}

.secondary-actions[b-3xd6n2fdd7] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

[b-3xd6n2fdd7] .popup-actions .dxbl-btn {
    min-height: 2.35rem;
    border-radius: 999px;
    font-weight: 600;
}

[b-3xd6n2fdd7] .popup-actions .close-action {
    min-width: 7.5rem;
}

.remarks-content[b-3xd6n2fdd7] {
    display: grid;
    gap: 0.8rem;
}

.remarks-content textarea[b-3xd6n2fdd7] {
    width: 100%;
    min-height: 12rem;
    padding: 0.65rem;
    color: #18372c;
    background: var(--prb-input-bg);
    border: 1px solid #cad8c7;
    border-radius: 6px;
    font: inherit;
    resize: vertical;
    font-size: 1rem;
}

[b-3xd6n2fdd7] .recipe-popup .dxbl-popup {
    max-width: calc(100vw - 24px);
}

[b-3xd6n2fdd7] .recipe-popup .dxbl-popup-content {
    padding: clamp(0.75rem, 2vw, 1rem);
}

@media (max-width: 900px) {
    .filter-band[b-3xd6n2fdd7],
    .recipe-card[b-3xd6n2fdd7],
    .popup-grid[b-3xd6n2fdd7],
    .quick-sections[b-3xd6n2fdd7] {
        grid-template-columns: 1fr;
    }

    .recipe-meta[b-3xd6n2fdd7],
    .popup-facts[b-3xd6n2fdd7] {
        justify-content: flex-start;
    }

    .popup-header[b-3xd6n2fdd7] {
        align-items: start;
        flex-direction: column;
    }

    .amount-adjust[b-3xd6n2fdd7] {
        align-items: start;
        grid-template-columns: 1fr;
        gap: 0.7rem;
    }

    .popup-panel[b-3xd6n2fdd7] {
        padding: 0.75rem;
    }

    .search-button[b-3xd6n2fdd7] {
        width: 100%;
    }

    .ingredient-row[b-3xd6n2fdd7] {
        grid-template-columns: minmax(0, 1fr) minmax(3.9rem, auto);
        min-height: 1.34rem;
        padding: 0.09rem 0;
        gap: 0.38rem;
    }

    .text-block[b-3xd6n2fdd7] {
        font-size: 1rem;
        line-height: 1.46;
    }

    .popup-actions[b-3xd6n2fdd7] {
        align-items: stretch;
        flex-direction: column;
    }

    .secondary-actions[b-3xd6n2fdd7],
    [b-3xd6n2fdd7] .popup-actions .dxbl-btn {
        width: 100%;
    }

    .secondary-actions[b-3xd6n2fdd7] {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .page-heading[b-3xd6n2fdd7] {
        align-items: start;
        flex-direction: column;
        gap: 0.45rem;
    }

    .result-count[b-3xd6n2fdd7] {
        font-size: 0.94rem;
    }

    .filter-band[b-3xd6n2fdd7] {
        gap: 0.75rem;
        padding: 0.8rem;
    }

    .recipe-card[b-3xd6n2fdd7] {
        gap: 0.65rem;
        padding: 0.8rem;
    }

    .recipe-meta[b-3xd6n2fdd7] {
        gap: 0.35rem;
    }

    .popup-header h2[b-3xd6n2fdd7] {
        font-size: 1.55rem;
    }

    .popup-content[b-3xd6n2fdd7] {
        gap: 0.75rem;
    }

    .popup-panel[b-3xd6n2fdd7] {
        padding: 0.7rem;
    }

    .ingredient-row[b-3xd6n2fdd7] {
        font-size: 0.91rem;
    }

    .secondary-actions[b-3xd6n2fdd7] {
        grid-template-columns: 1fr;
    }

    [b-3xd6n2fdd7] .popup-actions .close-action {
        min-width: 0;
        width: 100%;
    }
}

@media (max-width: 390px) {
    .ingredient-row[b-3xd6n2fdd7] {
        grid-template-columns: 1fr;
        gap: 0.12rem;
    }

    .ingredient-row strong[b-3xd6n2fdd7] {
        justify-self: start;
    }

    .ingredient-amount[b-3xd6n2fdd7] {
        justify-content: flex-start;
    }
}

@media print {
    body *[b-3xd6n2fdd7] {
        visibility: hidden;
    }

    .recipe-popup[b-3xd6n2fdd7],
    .recipe-popup *[b-3xd6n2fdd7] {
        visibility: visible;
    }

    .recipe-popup[b-3xd6n2fdd7] {
        position: absolute;
        inset: 0;
        width: 100% !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .amount-adjust[b-3xd6n2fdd7],
    .popup-actions[b-3xd6n2fdd7],
    .dxbl-popup-close-button[b-3xd6n2fdd7] {
        display: none !important;
    }

    .popup-grid[b-3xd6n2fdd7] {
        grid-template-columns: 0.55fr 1.45fr;
    }

    .popup-panel[b-3xd6n2fdd7] {
        border-color: #d8d8d8;
        break-inside: avoid;
    }
}
/* /Components/Pages/RezeptDetail.razor.rz.scp.css */
.detail-page[b-24f5flq18o] {
    display: grid;
    gap: 1.5rem;
    min-width: 0;
}

.back-link[b-24f5flq18o] {
    width: fit-content;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    color: #2f674a;
    font-weight: 700;
    text-decoration: none;
}

.back-link:hover[b-24f5flq18o] {
    text-decoration: underline;
}

.detail-header[b-24f5flq18o] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1.5rem;
    align-items: end;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #dfe8dd;
}

.eyebrow[b-24f5flq18o] {
    margin: 0 0 0.45rem;
    color: #4f7d52;
    font-weight: 700;
}

h1[b-24f5flq18o] {
    margin: 0;
    color: #18372c;
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1.05;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

h2[b-24f5flq18o] {
    margin: 0 0 1rem;
    color: #1f3d31;
    font-size: 1.25rem;
    letter-spacing: 0;
}

.facts[b-24f5flq18o] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.5rem;
    max-width: 520px;
}

.facts span[b-24f5flq18o] {
    padding: 0.4rem 0.65rem;
    color: #385346;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    border-radius: 8px;
}

.detail-grid[b-24f5flq18o] {
    display: grid;
    grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
    gap: 1.5rem;
    align-items: start;
}

.ingredients[b-24f5flq18o],
.recipe-text section[b-24f5flq18o],
.state[b-24f5flq18o] {
    padding: 1.25rem;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    border-radius: 8px;
}

.ingredient-list[b-24f5flq18o] {
    display: grid;
    gap: 0.5rem;
}

.ingredient-row[b-24f5flq18o] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: baseline;
    padding: 0.75rem 0;
    border-bottom: 1px solid #eef3ec;
}

.ingredient-row:last-child[b-24f5flq18o] {
    border-bottom: 0;
}

.ingredient-row span[b-24f5flq18o] {
    color: #2f4038;
    min-width: 0;
    overflow-wrap: anywhere;
}

.ingredient-row strong[b-24f5flq18o] {
    color: #18372c;
    white-space: nowrap;
}

.recipe-text[b-24f5flq18o] {
    display: grid;
    gap: 1rem;
}

.text-block[b-24f5flq18o] {
    margin: 0 0 1rem;
    color: #35473f;
    line-height: 1.7;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.text-block:last-child[b-24f5flq18o] {
    margin-bottom: 0;
}

.muted[b-24f5flq18o],
.state[b-24f5flq18o] {
    color: #65756b;
}

@media (max-width: 920px) {
    .detail-header[b-24f5flq18o],
    .detail-grid[b-24f5flq18o] {
        grid-template-columns: 1fr;
    }

    .facts[b-24f5flq18o] {
        justify-content: flex-start;
    }

    .ingredients[b-24f5flq18o],
    .recipe-text section[b-24f5flq18o],
    .state[b-24f5flq18o] {
        padding: 1rem;
    }
}

@media (max-width: 560px) {
    .detail-page[b-24f5flq18o] {
        gap: 1rem;
    }

    .detail-header[b-24f5flq18o] {
        gap: 0.85rem;
        padding-bottom: 1rem;
    }

    .detail-grid[b-24f5flq18o] {
        gap: 1rem;
    }

    .ingredient-row[b-24f5flq18o] {
        grid-template-columns: 1fr;
        gap: 0.25rem;
        padding: 0.55rem 0;
    }

    .ingredient-row strong[b-24f5flq18o] {
        white-space: normal;
    }
}
/* /Components/Pages/SupportUsers.razor.rz.scp.css */
.support-page[b-7bbcv1x460] {
    display: grid;
    gap: 1rem;
}

.support-heading[b-7bbcv1x460] {
    display: flex;
    justify-content: space-between;
    align-items: end;
}

.eyebrow[b-7bbcv1x460] {
    margin: 0 0 0.25rem;
    color: #4f7d52;
    font-weight: 700;
    text-transform: uppercase;
}

h1[b-7bbcv1x460] {
    margin: 0;
    color: #18372c;
}

.state[b-7bbcv1x460],
.support-message[b-7bbcv1x460],
.search-panel[b-7bbcv1x460],
.delete-panel[b-7bbcv1x460] {
    padding: 1rem;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    border-radius: 8px;
}

.support-message[b-7bbcv1x460] {
    color: #7a2e1f;
    background: #fff1eb;
    border-color: #f1c7b8;
    font-weight: 700;
}

.support-message.success[b-7bbcv1x460] {
    color: #1f5d3a;
    background: #e7f4eb;
    border-color: #bfdcc8;
}

.search-panel[b-7bbcv1x460] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.8rem;
    align-items: end;
}

.search-panel label[b-7bbcv1x460] {
    display: grid;
    gap: 0.35rem;
    color: #334b3f;
    font-weight: 750;
}

input[b-7bbcv1x460] {
    width: 100%;
    min-height: 36px;
    padding: 0 0.55rem;
    border: 1px solid #cbd9c8;
    border-radius: 6px;
    font: inherit;
}

.users-table-wrap[b-7bbcv1x460] {
    overflow-x: auto;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    border-radius: 8px;
}

.users-table[b-7bbcv1x460] {
    width: 100%;
    min-width: 1120px;
    border-collapse: collapse;
}

.users-table th[b-7bbcv1x460],
.users-table td[b-7bbcv1x460] {
    padding: 0.55rem;
    border-bottom: 1px solid #eef3ec;
    vertical-align: top;
}

.users-table th[b-7bbcv1x460] {
    color: #334b3f;
    background: #f7faf6;
    font-size: 0.86rem;
    text-align: left;
}

.row-actions[b-7bbcv1x460] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.delete-panel[b-7bbcv1x460] {
    display: grid;
    gap: 0.45rem;
    border-color: #efc9c0;
}

.delete-panel p[b-7bbcv1x460] {
    margin: 0;
    color: #5e7167;
}

.delete-panel .warning[b-7bbcv1x460] {
    color: #8a3a23;
    font-weight: 800;
}

@media (max-width: 700px) {
    .search-panel[b-7bbcv1x460] {
        grid-template-columns: 1fr;
    }
}
/* /Components/RecipeDetailPopup.razor.rz.scp.css */
.popup-facts[b-1blrkn0mg6] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 0.45rem;
}

.popup-facts span[b-1blrkn0mg6] {
    padding: 0.3rem 0.55rem;
    color: #385346;
    background: #eef4ec;
    border-radius: 8px;
    font-size: 0.88rem;
}

.favorite-button[b-1blrkn0mg6] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2rem;
    padding: 0.28rem 0.6rem;
    color: #385346;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    border-radius: 999px;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 600;
}

.favorite-button span[b-1blrkn0mg6] {
    padding: 0;
    color: #7a3d46;
    background: transparent;
    border-radius: 0;
    font-size: 1.05rem;
    line-height: 1;
}

.favorite-button strong[b-1blrkn0mg6] {
    font-weight: 600;
}

.favorite-button:hover[b-1blrkn0mg6],
.favorite-button.is-active[b-1blrkn0mg6] {
    color: #17372b;
    background: #fff7f4;
    border-color: #e8c9bf;
}

.favorite-button:disabled[b-1blrkn0mg6] {
    opacity: 0.64;
}

.state[b-1blrkn0mg6] {
    padding: 1.5rem;
    color: #617469;
    text-align: center;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    border-radius: 8px;
}

.popup-content[b-1blrkn0mg6] {
    display: grid;
    gap: 0.9rem;
    color: #17372b;
    min-width: 0;
}

.popup-header[b-1blrkn0mg6] {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid #e4ece2;
    min-width: 0;
}

.eyebrow[b-1blrkn0mg6] {
    margin: 0 0 0.25rem;
    color: #4f7d52;
    font-weight: 600;
    text-transform: uppercase;
}

.popup-header h2[b-1blrkn0mg6] {
    margin: 0;
    color: #18372c;
    font-size: clamp(1.65rem, 4vw, 2.8rem);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: 0;
    overflow-wrap: anywhere;
}

.popup-grid[b-1blrkn0mg6] {
    display: grid;
    grid-template-columns: minmax(260px, 0.56fr) minmax(0, 1.44fr);
    gap: 0.75rem;
    align-items: start;
}

.amount-adjust[b-1blrkn0mg6] {
    display: grid;
    grid-template-columns: minmax(150px, 220px) minmax(240px, 1fr);
    align-items: end;
    gap: 0.9rem;
    padding: 0.65rem 0.8rem;
    background: #f7faf6;
    border: 1px solid #dfe8dd;
    border-radius: 8px;
}

.amount-adjust label[b-1blrkn0mg6] {
    width: min(220px, 100%);
    display: grid;
    gap: 0.4rem;
    min-width: 0;
    color: #4d6156;
    font-weight: 600;
}

.amount-adjust input[b-1blrkn0mg6] {
    width: 100%;
    min-height: 2.1rem;
    padding: 0.35rem 0.55rem;
    color: #18372c;
    background: var(--prb-input-bg);
    border: 1px solid #cad8c7;
    border-radius: 6px;
    font: inherit;
    font-size: 1rem;
}

.amount-adjust .target-amount-input[b-1blrkn0mg6] {
    text-align: right;
}

.target-amount-control[b-1blrkn0mg6] {
    display: grid;
    grid-template-columns: 2.1rem minmax(0, 1fr) 2.1rem;
    align-items: stretch;
    gap: 0.25rem;
    min-width: 0;
}

.target-amount-control button[b-1blrkn0mg6] {
    min-width: 0;
    min-height: 2.1rem;
    padding: 0;
    color: #18372c;
    background: #ffffff;
    border: 1px solid #cad8c7;
    border-radius: 6px;
    font: inherit;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1;
}

.target-amount-control button:active[b-1blrkn0mg6] {
    background: #eef4ec;
}

.amount-adjust p[b-1blrkn0mg6] {
    margin: 0;
    color: #617469;
}

.amount-slider[b-1blrkn0mg6] {
    display: grid;
    gap: 0.35rem;
}

.amount-slider input[type="range"][b-1blrkn0mg6] {
    min-height: 1.4rem;
    padding: 0;
    accent-color: #2f6f4f;
    background: transparent;
    border: 0;
}

.popup-text[b-1blrkn0mg6] {
    display: grid;
    gap: 0.8rem;
}

.popup-panel[b-1blrkn0mg6] {
    padding: 0.85rem 0.95rem;
    background: #ffffff;
    border: 1px solid #dfe8dd;
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(24, 55, 44, 0.045);
}

.popup-panel h3[b-1blrkn0mg6] {
    margin: 0 0 0.5rem;
    color: #1f3d31;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0;
}

.ingredient-list[b-1blrkn0mg6] {
    display: grid;
    gap: 0;
}

.ingredient-row[b-1blrkn0mg6] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(4.6rem, auto);
    gap: 0.45rem;
    align-items: center;
    min-height: 1.38rem;
    padding: 0.1rem 0;
    border-bottom: 1px solid #eef3ec;
    line-height: 1.14;
    font-size: 0.94rem;
}

.ingredient-row:last-child[b-1blrkn0mg6] {
    border-bottom: 0;
}

.ingredient-row strong[b-1blrkn0mg6] {
    justify-self: end;
    color: #18372c;
    font-size: 0.93rem;
    white-space: nowrap;
}

.ingredient-row > span[b-1blrkn0mg6] {
    min-width: 0;
    overflow-wrap: anywhere;
}

.ingredient-amount[b-1blrkn0mg6] {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 0.18rem;
    min-width: 0;
    font-variant-numeric: tabular-nums;
}

.ingredient-amount span[b-1blrkn0mg6] {
    text-align: right;
}

.ingredient-amount small[b-1blrkn0mg6] {
    color: #536b5f;
    font-size: 0.88em;
    font-weight: 500;
}

.text-block[b-1blrkn0mg6] {
    margin: 0;
    color: #314940;
    font-size: 1.02rem;
    line-height: 1.48;
    overflow: visible;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.text-block:last-child[b-1blrkn0mg6] {
    margin-bottom: 0;
}

.recipe-section[b-1blrkn0mg6] {
    display: grid;
    gap: 0.45rem;
    padding-bottom: 1.05rem;
}

.recipe-section:last-child[b-1blrkn0mg6] {
    padding-bottom: 0;
}

.recipe-section h4[b-1blrkn0mg6] {
    margin: 0;
    color: #18372c;
    font-size: 1.04rem;
    font-weight: 700;
    letter-spacing: 0;
}

.section-subtitle[b-1blrkn0mg6] {
    margin: 0;
    color: #4f7d52;
    font-weight: 600;
}

.muted[b-1blrkn0mg6] {
    color: #65756b;
}

.popup-actions[b-1blrkn0mg6] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.7rem;
    padding-top: 0.1rem;
}

.secondary-actions[b-1blrkn0mg6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

[b-1blrkn0mg6] .popup-actions .dxbl-btn {
    min-height: 2.35rem;
    border-radius: 999px;
    font-weight: 600;
}

[b-1blrkn0mg6] .popup-actions .close-action {
    min-width: 7.5rem;
}

[b-1blrkn0mg6] .recipe-popup .dxbl-popup {
    max-width: calc(100vw - 24px);
}

[b-1blrkn0mg6] .recipe-popup .dxbl-popup-content {
    padding: clamp(0.75rem, 2vw, 1rem);
}

@media (max-width: 900px) {
    .popup-grid[b-1blrkn0mg6] {
        grid-template-columns: 1fr;
    }

    .popup-facts[b-1blrkn0mg6] {
        justify-content: flex-start;
    }

    .popup-header[b-1blrkn0mg6] {
        align-items: start;
        flex-direction: column;
    }

    .amount-adjust[b-1blrkn0mg6] {
        align-items: start;
        grid-template-columns: 1fr;
        gap: 0.7rem;
    }

    .popup-panel[b-1blrkn0mg6] {
        padding: 0.75rem;
    }

    .ingredient-row[b-1blrkn0mg6] {
        grid-template-columns: minmax(0, 1fr) minmax(3.9rem, auto);
        min-height: 1.34rem;
        padding: 0.09rem 0;
        gap: 0.38rem;
    }

    .text-block[b-1blrkn0mg6] {
        font-size: 1rem;
        line-height: 1.46;
    }

    .popup-actions[b-1blrkn0mg6] {
        align-items: stretch;
        flex-direction: column;
    }

    .secondary-actions[b-1blrkn0mg6],
    [b-1blrkn0mg6] .popup-actions .dxbl-btn {
        width: 100%;
    }

    .secondary-actions[b-1blrkn0mg6] {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .popup-header h2[b-1blrkn0mg6] {
        font-size: 1.55rem;
    }

    .popup-content[b-1blrkn0mg6] {
        gap: 0.75rem;
    }

    .popup-panel[b-1blrkn0mg6] {
        padding: 0.7rem;
    }

    .ingredient-row[b-1blrkn0mg6] {
        font-size: 0.91rem;
    }

    .secondary-actions[b-1blrkn0mg6] {
        grid-template-columns: 1fr;
    }

    [b-1blrkn0mg6] .popup-actions .close-action {
        min-width: 0;
        width: 100%;
    }
}

@media (max-width: 390px) {
    .ingredient-row[b-1blrkn0mg6] {
        grid-template-columns: 1fr;
        gap: 0.12rem;
    }

    .ingredient-row strong[b-1blrkn0mg6] {
        justify-self: start;
    }

    .ingredient-amount[b-1blrkn0mg6] {
        justify-content: flex-start;
    }
}

@media print {
    body *[b-1blrkn0mg6] {
        visibility: hidden;
    }

    .recipe-popup[b-1blrkn0mg6],
    .recipe-popup *[b-1blrkn0mg6] {
        visibility: visible;
    }

    .recipe-popup[b-1blrkn0mg6] {
        position: absolute;
        inset: 0;
        width: 100% !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .amount-adjust[b-1blrkn0mg6],
    .popup-actions[b-1blrkn0mg6],
    .dxbl-popup-close-button[b-1blrkn0mg6] {
        display: none !important;
    }

    .popup-grid[b-1blrkn0mg6] {
        grid-template-columns: 0.55fr 1.45fr;
    }

    .popup-panel[b-1blrkn0mg6] {
        border-color: #d8d8d8;
        break-inside: avoid;
    }
}
