/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-gp7mdxpby1] {
    position: relative;
    display: flex;
    flex-direction: column;
    max-width: 1728px;
}

main[b-gp7mdxpby1] {
    flex: 1;
    /* Flex items default to min-width: auto, i.e. they refuse to shrink below their content's
       intrinsic min-content width. Wide unscrolled content (e.g. a grid with many fixed-width
       columns) then forces the browser to steal space from the sidebar sibling instead of
       overflowing main itself — the sidebar collapses to ~1px while its Syncfusion element still
       renders at its own fixed width, visually overlapping the content. min-width: 0 removes that
       floor so main (and anything scrollable inside it) is properly capped at the space the flex
       layout actually gives it. */
    min-width: 0;
}

.sidebar[b-gp7mdxpby1] {
    background-color: var(--bg);
    border-right: 1px solid var(--border-light);
}

.top-row[b-gp7mdxpby1] {
    background-color: var(--surface);
    border-bottom: 1px solid var(--border-light);
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

.top-row[b-gp7mdxpby1]  a, .top-row[b-gp7mdxpby1]  .btn-link {
    white-space: nowrap;
    margin-left: 1.5rem;
    text-decoration: none;
}

.top-row[b-gp7mdxpby1]  a:hover, .top-row[b-gp7mdxpby1]  .btn-link:hover {
    text-decoration: underline;
}

.top-row[b-gp7mdxpby1]  a:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
}

.nav-mobile[b-gp7mdxpby1] {
    display: none;
}
 
@media (max-width: 640.98px) {
    .top-row[b-gp7mdxpby1] {
        justify-content: space-between;
    }

    .top-row[b-gp7mdxpby1]  a, .top-row[b-gp7mdxpby1]  .btn-link {
        margin-left: 0;
    }

    .nav-mobile[b-gp7mdxpby1] {
        display: block;
        position: sticky;
        top: 0;
        z-index: 20;
        transition: transform 0.25s ease-in-out;
    }

    .nav-mobile.nav-mobile-hidden[b-gp7mdxpby1] {
        transform: translateY(-100%);
    }
}

@media (min-width: 641px) {
    .page[b-gp7mdxpby1] {
        flex-direction: row;
    }

    .sidebar[b-gp7mdxpby1] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-gp7mdxpby1] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-gp7mdxpby1]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-gp7mdxpby1], article[b-gp7mdxpby1] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-gp7mdxpby1] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-gp7mdxpby1] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
/* NavMenu – Brand: Elegant Charter Black */

/* Profile avatar row: a flex item's default flex-shrink:1 lets a long, hyphen-free email
   (plus-addressed demo tenants easily exceed 40 chars) win the fight for space in the 256px
   sidebar and squeeze the 32px avatar down to near-zero width — border-radius:50% on that
   turns it into a thin vertical pill instead of a circle. flex-shrink:0 pins the avatar's size;
   min-width:0 undoes the flex item's default min-width:auto (which otherwise refuses to shrink
   below the email's unbroken intrinsic width) so the text can truncate instead. */
[b-dogxx07wje] .nav-profile-avatar {
    flex-shrink: 0;
}

[b-dogxx07wje] .nav-profile-info {
    min-width: 0;
}

[b-dogxx07wje] .nav-profile-info > div {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Accordion items */
[b-dogxx07wje] .app-nav-accordion .e-acrdn-item {
    background-color: transparent;
}

[b-dogxx07wje] .app-nav-accordion .e-acrdn-header .e-acrdn-header-content {
    color: var(--menu-text);
}

[b-dogxx07wje] .app-nav-accordion .e-acrdn-header .e-icons {
    color: var(--menu-text);
}

/* Nav links: Charcoal Navy text */
[b-dogxx07wje] .text-body {
    color: var(--menu-text) !important;
    transition: color 0.15s;
}

/* Hover: Teal Accent (Section 8 Navbar) */
[b-dogxx07wje] .text-body:hover,
[b-dogxx07wje] .e-acrdn-header:hover .e-acrdn-header-content {
    color: var(--menu-hover-text) !important;
}

/* Active link: Teal marker (Section 8 "Aktive Links oder Marker") */
[b-dogxx07wje] .nav-link.active,
[b-dogxx07wje] a.active {
    font-weight: 600;
    color: var(--menu-active-text) !important;
    background-color: var(--menu-active-bg);
}

/* Sub-item hover */
[b-dogxx07wje] .list-unstyled .nav-link:hover,
[b-dogxx07wje] .list-unstyled a:hover {
    border-radius: 0.25rem;
    background-color: var(--menu-hover-bg);
    color: var(--menu-hover-text) !important;
}

/* Company name: Brand Dark (Section 8 "Logo / Text") */
[b-dogxx07wje] .fs-5.fw-bold {
    color: var(--menu-text);
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-qjwov8a46c],
.components-reconnect-repeated-attempt-visible[b-qjwov8a46c],
.components-reconnect-failed-visible[b-qjwov8a46c],
.components-pause-visible[b-qjwov8a46c],
.components-resume-failed-visible[b-qjwov8a46c],
.components-rejoining-animation[b-qjwov8a46c] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-qjwov8a46c],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-qjwov8a46c],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-qjwov8a46c],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-qjwov8a46c],
#components-reconnect-modal.components-reconnect-retrying[b-qjwov8a46c],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-qjwov8a46c],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-qjwov8a46c],
#components-reconnect-modal.components-reconnect-failed[b-qjwov8a46c],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-qjwov8a46c] {
    display: block;
}


#components-reconnect-modal[b-qjwov8a46c] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-qjwov8a46c 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-qjwov8a46c 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-qjwov8a46c 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-qjwov8a46c]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-qjwov8a46c 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-qjwov8a46c {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-qjwov8a46c {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-qjwov8a46c {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-qjwov8a46c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-qjwov8a46c] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-qjwov8a46c] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-qjwov8a46c] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-qjwov8a46c] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-qjwov8a46c] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-qjwov8a46c] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-qjwov8a46c 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-qjwov8a46c] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-qjwov8a46c {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Auth/ForgotPasswordPage.razor.rz.scp.css */
.login-image[b-2t7j46cqn2] {
    height: 100vh;
}

.login-form-panel[b-2t7j46cqn2] {
    min-height: 100vh;
}

.login-logo[b-2t7j46cqn2] {
    height: 3rem;
}

@media (max-width: 767.98px) {
    .login-image[b-2t7j46cqn2] {
        height: 16rem;
    }

    .login-form-panel[b-2t7j46cqn2] {
        min-height: auto;
    }
}
/* /Components/Pages/Auth/LoginPage.razor.rz.scp.css */
.login-image[b-mk81zlmnfk] {
    height: 100vh;
}

.login-form-panel[b-mk81zlmnfk] {
    min-height: 100vh;
}

.login-logo[b-mk81zlmnfk] {
    height: 3rem;
}

@media (max-width: 767.98px) {
    .login-image[b-mk81zlmnfk] {
        height: 16rem;
    }

    .login-form-panel[b-mk81zlmnfk] {
        min-height: auto;
    }
}
/* /Components/Pages/Auth/LogoutPage.razor.rz.scp.css */
.login-image[b-uswvh4pjxp] {
    height: 100vh;
}

.login-form-panel[b-uswvh4pjxp] {
    min-height: 100vh;
}

.login-logo[b-uswvh4pjxp] {
    height: 3rem;
}

@media (max-width: 767.98px) {
    .login-image[b-uswvh4pjxp] {
        height: 16rem;
    }

    .login-form-panel[b-uswvh4pjxp] {
        min-height: auto;
    }
}
/* /Components/Pages/Backoffice/Home/HomeAttentionList.razor.rz.scp.css */
.home-attention-list[b-e0fob2fh53] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.home-attention-row[b-e0fob2fh53] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--border-light);
    text-decoration: none;
    transition: box-shadow 120ms ease, transform 120ms ease;
}

.home-attention-row:hover[b-e0fob2fh53] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.home-attention-dot[b-e0fob2fh53] {
    flex: 0 0 10px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

.home-attention-row-critical[b-e0fob2fh53] {
    background: #FCEBEB;
    border-color: #f0b8b8;
}

.home-attention-row-critical .home-attention-dot[b-e0fob2fh53] {
    background: #A32D2D;
}

.home-attention-row-warning[b-e0fob2fh53] {
    background: var(--champagne-100, #FBF0DD);
    border-color: var(--champagne-300, #EAD9B4);
}

.home-attention-row-warning .home-attention-dot[b-e0fob2fh53] {
    background: var(--champagne-800, #8A6416);
}

.home-attention-main[b-e0fob2fh53] {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.home-attention-title[b-e0fob2fh53] {
    color: var(--text-primary);
    font-weight: 600;
    font-size: 0.92rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-attention-reasons[b-e0fob2fh53] {
    color: var(--text-secondary);
    font-size: 0.8rem;
}

.home-attention-date[b-e0fob2fh53] {
    flex: 0 0 auto;
    color: var(--text-muted);
    font-size: 0.82rem;
    white-space: nowrap;
}

.home-attention-footer[b-e0fob2fh53] {
    margin-top: 12px;
    text-align: right;
}

.home-attention-footer a[b-e0fob2fh53] {
    color: var(--teal-600);
    font-weight: 600;
    font-size: 0.85rem;
    text-decoration: none;
}
/* /Components/Pages/Backoffice/Home/HomeNewRequestsList.razor.rz.scp.css */
.home-requests-list[b-79o2sd9dbl] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.home-requests-row[b-79o2sd9dbl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid var(--border-light);
    text-decoration: none;
    transition: box-shadow 120ms ease, transform 120ms ease;
}

.home-requests-row:hover[b-79o2sd9dbl] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
}

.home-requests-main[b-79o2sd9dbl] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.home-requests-customer[b-79o2sd9dbl] {
    color: var(--text-primary);
    font-weight: 600;
    font-size: 0.92rem;
}

.home-requests-meta[b-79o2sd9dbl] {
    color: var(--text-secondary);
    font-size: 0.82rem;
}

.home-requests-received[b-79o2sd9dbl] {
    color: var(--text-muted);
    font-size: 0.78rem;
    margin-top: 2px;
}

.home-requests-open[b-79o2sd9dbl] {
    flex: 0 0 auto;
    color: var(--teal-600);
    font-weight: 600;
    font-size: 0.85rem;
    white-space: nowrap;
}

.home-requests-footer[b-79o2sd9dbl] {
    margin-top: 12px;
    text-align: right;
}

.home-requests-footer a[b-79o2sd9dbl] {
    color: var(--teal-600);
    font-weight: 600;
    font-size: 0.85rem;
    text-decoration: none;
}
/* /Components/Pages/Backoffice/Home/HomePaymentsSummary.razor.rz.scp.css */
.home-payments-row[b-b6jpu1l1rj] {
    display: flex;
    flex-direction: column;
}

.home-payments-danger[b-b6jpu1l1rj] {
    color: #A32D2D;
    font-weight: 600;
}

.home-payments-count[b-b6jpu1l1rj] {
    color: var(--text-muted);
    font-size: 0.85rem;
    margin-left: 4px;
}

.home-payments-footer[b-b6jpu1l1rj] {
    margin-top: 12px;
    text-align: right;
}

.home-payments-footer a[b-b6jpu1l1rj] {
    color: var(--teal-600);
    font-weight: 600;
    font-size: 0.85rem;
    text-decoration: none;
}
/* /Components/Pages/Backoffice/Home/HomeTodayKpisView.razor.rz.scp.css */
.home-kpi-row[b-2mrfssa4yf] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.home-kpi-tile[b-2mrfssa4yf] {
    flex: 1 1 180px;
    background: var(--surface);
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 14px 16px;
}

.home-kpi-label[b-2mrfssa4yf] {
    color: var(--text-muted);
    font-size: 0.82rem;
    font-weight: 500;
    margin-bottom: 4px;
}

.home-kpi-value[b-2mrfssa4yf] {
    color: var(--text-primary);
    font-size: 1.4rem;
    font-weight: 700;
}

.home-kpi-value-hidden[b-2mrfssa4yf] {
    color: var(--text-muted);
}

.home-kpi-sub[b-2mrfssa4yf] {
    color: var(--text-secondary);
    font-size: 0.8rem;
    margin-top: 2px;
}

@media (max-width: 640.98px) {
    .home-kpi-tile[b-2mrfssa4yf] {
        flex: 1 1 calc(50% - 6px);
    }
}
/* /Components/Pages/Backoffice/Home/HomeTodaySchedule.razor.rz.scp.css */
.home-schedule-header[b-l1sdac2amq],
.home-schedule-row[b-l1sdac2amq] {
    display: grid;
    grid-template-columns: 96px 90px 1.4fr 1.2fr 110px;
    align-items: center;
    gap: 10px;
    padding: 8px 4px;
}

.home-schedule-header[b-l1sdac2amq] {
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-bottom: 1px solid var(--pearl-400);
}

.home-schedule-row[b-l1sdac2amq] {
    color: var(--text-primary);
    font-size: 0.9rem;
    text-decoration: none;
    border-bottom: 1px solid var(--pearl-400);
    transition: background-color 120ms ease;
}

.home-schedule-row:last-of-type[b-l1sdac2amq] {
    border-bottom: none;
}

.home-schedule-row:hover[b-l1sdac2amq] {
    background: var(--teal-50);
}

.home-schedule-time[b-l1sdac2amq] {
    font-weight: 600;
    color: var(--teal-700);
}

.home-schedule-footer[b-l1sdac2amq] {
    margin-top: 12px;
    text-align: right;
}

.home-schedule-footer a[b-l1sdac2amq] {
    color: var(--teal-600);
    font-weight: 600;
    font-size: 0.85rem;
    text-decoration: none;
}

@media (max-width: 640.98px) {
    .home-schedule-header[b-l1sdac2amq] {
        display: none;
    }

    .home-schedule-row[b-l1sdac2amq] {
        grid-template-columns: 1fr 1fr;
        row-gap: 2px;
    }
}
/* /Components/Pages/Backoffice/Home/HomeUpcomingList.razor.rz.scp.css */
.home-upcoming-list[b-rhc1bp80ft] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.home-upcoming-row[b-rhc1bp80ft] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-bottom: 1px solid var(--pearl-400);
}

.home-upcoming-row:last-of-type[b-rhc1bp80ft] {
    border-bottom: none;
}

.home-upcoming-day[b-rhc1bp80ft] {
    color: var(--text-primary);
    font-weight: 700;
    font-size: 0.92rem;
    text-transform: capitalize;
}

.home-upcoming-summary[b-rhc1bp80ft] {
    color: var(--text-secondary);
    font-size: 0.88rem;
    text-align: right;
}
/* /Components/Pages/Backoffice/Offer/OfferOverview.razor.rz.scp.css */
/* ── Page wrapper ─────────────────────────────────────── */
.overview-root[b-z22p5rgrm4] {
    padding-bottom: 80px; /* leave room for sticky action bar */
}

/* ── Top action bar ───────────────────────────────────── */
.overview-actions[b-z22p5rgrm4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 8px 0 12px;
}

.overview-actions-spacer[b-z22p5rgrm4] {
    flex: 1;
}

/* Edit mode: the toggle button switches to a distinct amber "editing active" look
   so the mode is obvious beyond the teal card border. */
[b-z22p5rgrm4] .overview-edit-active.e-btn {
    background: #B45309;
    border-color: #B45309;
    color: #ffffff;
}

[b-z22p5rgrm4] .overview-edit-active.e-btn:hover,
[b-z22p5rgrm4] .overview-edit-active.e-btn:focus {
    background: #92400E;
    border-color: #92400E;
    color: #ffffff;
}

/* ── Concurrency conflict banner ──────────────────────── */
.overview-conflict-banner[b-z22p5rgrm4] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    margin: 0 0 12px;
    border-radius: 12px;
    background: #FEF2F2;
    border: 1px solid #FECACA;
    color: #991B1B;
}

.overview-conflict-icon[b-z22p5rgrm4] {
    color: #DC2626;
    font-size: 1.1rem;
}

.overview-conflict-message[b-z22p5rgrm4] {
    flex: 1;
    font-weight: 500;
}

/* ── Hero card ────────────────────────────────────────── */
.overview-hero[b-z22p5rgrm4] {
    display: flex;
    gap: 18px;
    background: var(--surface);
    border: 1px solid var(--border-light);
    border-radius: 16px;
    padding: 16px 20px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
    margin-bottom: 12px;
}

.overview-hero-thumb[b-z22p5rgrm4] {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    border-radius: 14px;
    overflow: hidden;
    background: var(--teal-50);
    color: var(--teal-600);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
}

.overview-hero-thumb img[b-z22p5rgrm4] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.overview-hero-body[b-z22p5rgrm4] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.overview-hero-kicker[b-z22p5rgrm4] {
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--text-muted, #6F747F);
}

.overview-hero-row[b-z22p5rgrm4] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.overview-hero-name[b-z22p5rgrm4] {
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--text-primary);
    margin: 0;
    line-height: 1.2;
}

.overview-hero-badges[b-z22p5rgrm4] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
}

.overview-hero-badges .e-icons[b-z22p5rgrm4] {
    font-size: 0.85rem;
    margin-right: 4px;
    vertical-align: -1px;
}

/* ── Status pill (top-right of hero) ──────────────────── */
.overview-status-pill[b-z22p5rgrm4] {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    font-weight: 600;
    font-size: 0.82rem;
    white-space: nowrap;
    flex-shrink: 0;
}

.overview-status-active[b-z22p5rgrm4] {
    background: var(--active-bg, #ECF9F8);
    border: 1px solid var(--teal-200, #A1E3DB);
    color: var(--primary-active, #0F8C7E);
}

.overview-status-cancelled[b-z22p5rgrm4] {
    background: #FBEAEA;
    border: 1px solid #F2C7C7;
    color: #C24141;
}

/* ── Accordion as a booking-card ─────────────────────── */
[b-z22p5rgrm4] .e-accordion {
    background: var(--surface);
    border: 1px solid var(--border-light);
    border-radius: 16px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05);
    overflow: hidden;
    transition: border-color 160ms ease;
}

[b-z22p5rgrm4] .e-accordion .e-acrdn-item {
    border: none;
    background: transparent;
}

[b-z22p5rgrm4] .e-accordion .e-acrdn-header {
    padding: 16px 20px;
}

[b-z22p5rgrm4] .e-accordion .e-acrdn-content {
    padding: 4px 20px 18px;
}

/* Header content darf die volle Breite nutzen, sonst clippt das Badge */
[b-z22p5rgrm4] .e-accordion .e-acrdn-header .e-acrdn-header-content {
    width: 100%;
    min-width: 0;
}

/* ── Accordion header: icon-badge + title (matches BookingCard) ─── */
.booking-header[b-z22p5rgrm4] {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    width: 100%;
}

.booking-header .e-icons[b-z22p5rgrm4] {
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: var(--teal-50);
    color: var(--teal-600);
    font-size: 1rem;
}

.booking-title[b-z22p5rgrm4] {
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--text-primary);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.booking-header .e-badge[b-z22p5rgrm4] {
    flex-shrink: 0;
}

/* ── Edit mode marker ─────────────────────────────────── */
.overview-root.is-editing[b-z22p5rgrm4]  .e-accordion {
    border-color: var(--teal-400, #5DCAA5);
}

/* ── Customer mini-cards ──────────────────────────────── */
.customer-card[b-z22p5rgrm4] {
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 12px;
    background: var(--surface);
}

.customer-card.is-primary[b-z22p5rgrm4] {
    border-color: var(--teal-300, #74D0BC);
    background: var(--teal-50, #E1F5EE);
}

.customer-card-head[b-z22p5rgrm4] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
}

.customer-avatar[b-z22p5rgrm4] {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--teal-100, #C2EADD);
    color: var(--teal-700, #0F8C7E);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 0.8rem;
}

.customer-name[b-z22p5rgrm4] {
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--text-primary);
}

.customer-tag[b-z22p5rgrm4] {
    display: inline-block;
    margin-left: 8px;
    padding: 1px 8px;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    background: var(--teal-600, #0F8C7E);
    color: #fff;
    vertical-align: 1px;
}

.customer-card-body[b-z22p5rgrm4] {
    padding-left: 48px;
}

/* Lange Werte (E-Mail) umbrechen statt abschneiden */
.customer-card-body .booking-value[b-z22p5rgrm4] {
    word-break: break-word;
    min-width: 0;
}

.customer-total-count[b-z22p5rgrm4] {
    flex: 0 0 auto;
    min-width: 32px;
    height: 32px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--teal-600, #0F8C7E);
    color: #fff;
    font-weight: 600;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ── Sticky action bar (only visible in edit mode) ────── */
.overview-sticky-actions[b-z22p5rgrm4] {
    position: sticky;
    bottom: 0;
    left: 0;
    right: 0;
    background: var(--surface);
    border-top: 1px solid var(--border-light);
    padding: 12px 8px;
    margin: 16px -8px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    z-index: 10;
    box-shadow: 0 -4px 12px rgba(15, 23, 42, 0.05);
}

.overview-sticky-spacer[b-z22p5rgrm4] {
    flex: 1;
}

/* ── Phone polish ─────────────────────────────────────── */
@media (max-width: 640.98px) {
    /* Action bar: grid with full-width buttons instead of a ragged wrap.
       Edit/Share get a full row each (long labels), Archive/Delete share one. */
    .overview-actions[b-z22p5rgrm4] {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .overview-actions-spacer[b-z22p5rgrm4] {
        display: none;
    }

    .overview-actions[b-z22p5rgrm4]  .e-btn {
        width: 100%;
    }

    .overview-actions[b-z22p5rgrm4]  .overview-action-wide {
        grid-column: 1 / -1;
    }

    .overview-hero-row[b-z22p5rgrm4] {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .overview-sticky-actions[b-z22p5rgrm4] {
        flex-direction: column;
        align-items: stretch;
    }

    .overview-sticky-spacer[b-z22p5rgrm4] {
        display: none;
    }

    .overview-sticky-actions[b-z22p5rgrm4]  .e-btn {
        width: 100%;
    }

    /* Customer-Card: voller Body, kein Einzug → mehr Platz für lange Werte */
    .customer-card-body[b-z22p5rgrm4] {
        padding-left: 0;
    }

    /* TODO: find better solution for mobile — Send-Mail/Payment-Request blenden wir vorerst aus */
    .overview-sticky-actions[b-z22p5rgrm4]  .hide-on-mobile {
        display: none !important;
    }
}

/* Legacy bootstrap-content typography normalization (for sections
   not yet migrated to <InfoRow>: customer details, internal message). */
.e-acrdn-content label.fw-bold[b-z22p5rgrm4],
.e-acrdn-content .form-label.fw-bold[b-z22p5rgrm4],
.e-acrdn-content span.fw-bold[b-z22p5rgrm4],
.e-acrdn-content strong[b-z22p5rgrm4] {
    font-weight: 600;
    font-size: 0.82rem;
    color: var(--text-secondary, #334E68);
}

.e-acrdn-content span.d-block:not(.fw-bold):not([class*="e-badge"])[b-z22p5rgrm4] {
    font-size: 0.875rem;
    color: var(--text-primary, #0F172A);
}

/* Read-only Quick-Summary above payment edit form. */
.payment-summary[b-z22p5rgrm4] {
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px dashed var(--border-light, #E2E8F0);
}

/* Payment-Subgroup — Border-Left-Akzent + Caps-Eyebrow für Anzahlung & Kaution. */
.payment-subgroup[b-z22p5rgrm4] {
    border-left: 4px solid var(--teal-300, #74D0BC);
    padding-left: 12px;
    margin-top: 14px;
}

.payment-subgroup--deposit[b-z22p5rgrm4] {
    border-left-color: var(--teal-600, #0F8C7E);
}

.payment-subgroup-eyebrow[b-z22p5rgrm4] {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted, #6F747F);
    margin-bottom: 6px;
}

@media (max-width: 640.98px) {
    .payment-subgroup[b-z22p5rgrm4] {
        padding-left: 10px;
    }
}

.status-action-hint[b-z22p5rgrm4] {
    font-size: 0.8rem;
    color: var(--text-muted, #6F747F);
    margin-top: 4px;
}
/* /Components/Pages/Backoffice/Payment/PaymentReceivablesGrid.razor.rz.scp.css */
.payment-grid[b-64c1omrdik] {
    margin-top: 16px;
}

.payment-grid-toolbar[b-64c1omrdik] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.payment-grid-search[b-64c1omrdik] {
    max-width: 320px;
    margin-bottom: 0;
}

.payment-grid-filter-chip[b-64c1omrdik] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid #A32D2D;
    background: #FCEBEB;
    color: #A32D2D;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

.payment-grid-reminder-toolbar[b-64c1omrdik] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.payment-grid-reminder-hint[b-64c1omrdik] {
    color: var(--text-muted);
    font-size: 0.82rem;
}

.payment-grid-reminder-row-btn[b-64c1omrdik] {
    min-width: 28px;
}

.payment-grid-state[b-64c1omrdik] {
    color: var(--text-muted);
    font-size: 0.9rem;
}

/* Die Summe der Spaltenbreiten (~1450px) übersteigt auf schmaleren Viewports leicht den
   verfügbaren Platz. Ohne eigenen Scroll-Container würde das Grid seinen Elternrahmen (bis hoch
   zu <main>) in die Breite drücken statt selbst zu scrollen — siehe min-width: 0 auf <main> in
   MainLayout.razor.css für die dazugehörige strukturelle Absicherung. */
.payment-grid-scroll[b-64c1omrdik] {
    overflow-x: auto;
}

.payment-grid-remaining[b-64c1omrdik] {
    font-weight: 700;
}

.payment-grid-downpayment[b-64c1omrdik] {
    font-size: 0.85rem;
    white-space: normal;
}

.payment-grid-downpayment.paid[b-64c1omrdik] {
    color: var(--teal-700);
}

.payment-grid-downpayment.open[b-64c1omrdik] {
    color: var(--text-secondary);
}

.payment-grid-pagination[b-64c1omrdik] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
}

.payment-grid-pagination-text[b-64c1omrdik] {
    color: var(--text-muted);
    font-size: 0.85rem;
    white-space: nowrap;
}
/* /Components/Pages/Backoffice/Payment/PaymentSummaryRow.razor.rz.scp.css */
.payment-summary-row[b-t2p5klf872] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.payment-summary-tile[b-t2p5klf872] {
    flex: 1 1 180px;
    background: var(--surface);
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 14px 16px;
}

.payment-summary-tile-danger[b-t2p5klf872] {
    background: #FCEBEB;
    border-color: #A32D2D;
}

/* Die "Überfällig"-Kachel ist ein <button> (klickbar, filtert das Grid) — Browser-Defaults
   zurücksetzen, damit sie weiterhin wie die übrigen (nicht-klickbaren) Kacheln aussieht. */
.payment-summary-tile-clickable[b-t2p5klf872] {
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: box-shadow 120ms ease, transform 120ms ease;
}

.payment-summary-tile-clickable:hover[b-t2p5klf872] {
    box-shadow: 0 2px 8px rgba(163, 45, 45, 0.25);
}

.payment-summary-tile-active[b-t2p5klf872] {
    box-shadow: 0 0 0 2px #A32D2D inset;
}

.payment-summary-label[b-t2p5klf872] {
    color: var(--text-muted);
    font-size: 0.82rem;
    font-weight: 500;
    margin-bottom: 4px;
}

.payment-summary-tile-danger .payment-summary-label[b-t2p5klf872] {
    color: #A32D2D;
}

.payment-summary-value[b-t2p5klf872] {
    color: var(--text-primary);
    font-size: 1.4rem;
    font-weight: 700;
}

.payment-summary-sub[b-t2p5klf872] {
    color: var(--text-secondary);
    font-size: 0.8rem;
    margin-top: 2px;
}

@media (max-width: 640.98px) {
    .payment-summary-tile[b-t2p5klf872] {
        flex: 1 1 calc(50% - 6px);
    }
}
/* /Components/Pages/Backoffice/Report/ReportBoatPerformanceGrid.razor.rz.scp.css */
.report-boat-table-scroll[b-cyoud45404] {
    overflow-x: auto;
}

.report-boat-table-empty[b-cyoud45404] {
    color: var(--text-muted);
    font-size: 0.9rem;
    margin: 0;
}

.report-boat-table-hint[b-cyoud45404] {
    color: var(--text-muted);
    font-size: 0.75rem;
    white-space: nowrap;
}
/* /Components/Pages/Backoffice/Report/ReportPage.razor.rz.scp.css */
.report-filter-bar[b-u4bvuqhr3d] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.report-filter-field[b-u4bvuqhr3d] {
    min-width: 180px;
}

.report-filter-dropdown[b-u4bvuqhr3d] {
    width: 100%;
}

.report-unassigned-banner[b-u4bvuqhr3d] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    background: #FFF6E5;
    border: 1px solid #C98A1D;
    border-radius: 10px;
    padding: 10px 14px;
    margin-bottom: 16px;
    font-size: 0.85rem;
    color: #6B4A0F;
}

.report-unassigned-banner-action[b-u4bvuqhr3d] {
    background: none;
    border: none;
    color: #6B4A0F;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
    padding: 0;
    white-space: nowrap;
}

@media (max-width: 640.98px) {
    .report-filter-field[b-u4bvuqhr3d] {
        flex: 1 1 100%;
        min-width: 0;
    }
}
/* /Components/Pages/Backoffice/Report/ReportRevenueChart.razor.rz.scp.css */
.report-chart-toolbar[b-n117f6aury] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 8px;
}
/* /Components/Pages/Backoffice/Report/ReportStatusBreakdown.razor.rz.scp.css */
.report-status-groups[b-hgx2wlgtaa] {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.report-status-group[b-hgx2wlgtaa] {
    flex: 1 1 260px;
    min-width: 0;
}

.report-status-group-title[b-hgx2wlgtaa] {
    color: var(--text-muted);
    font-size: 0.82rem;
    font-weight: 600;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.report-status-row[b-hgx2wlgtaa] {
    display: grid;
    grid-template-columns: 100px 1fr 32px;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
}

.report-status-row-label[b-hgx2wlgtaa] {
    color: var(--text-primary);
    font-size: 0.88rem;
}

.report-status-row-track[b-hgx2wlgtaa] {
    display: block;
    height: 10px;
    border-radius: 5px;
    background: var(--border-light);
    overflow: hidden;
}

.report-status-row-bar[b-hgx2wlgtaa] {
    display: block;
    height: 100%;
    border-radius: 5px;
    background: var(--primary);
}

.report-status-row-bar-danger[b-hgx2wlgtaa] {
    background: #A32D2D;
}

.report-status-row-count[b-hgx2wlgtaa] {
    color: var(--text-primary);
    font-size: 0.88rem;
    font-weight: 600;
    text-align: right;
}

@media (max-width: 640.98px) {
    .report-status-row[b-hgx2wlgtaa] {
        grid-template-columns: 80px 1fr 28px;
    }
}
/* /Components/Pages/Backoffice/Report/ReportSummaryRow.razor.rz.scp.css */
.report-summary-row[b-gt3tsm5pmf] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.report-summary-tile[b-gt3tsm5pmf] {
    flex: 1 1 180px;
    background: var(--surface);
    border: 1px solid var(--border-light);
    border-radius: 12px;
    padding: 14px 16px;
}

.report-summary-label[b-gt3tsm5pmf] {
    color: var(--text-muted);
    font-size: 0.82rem;
    font-weight: 500;
    margin-bottom: 4px;
}

.report-summary-value[b-gt3tsm5pmf] {
    color: var(--text-primary);
    font-size: 1.4rem;
    font-weight: 700;
}

.report-summary-delta[b-gt3tsm5pmf] {
    font-size: 0.8rem;
    font-weight: 600;
    margin-top: 2px;
}

.report-summary-delta-up[b-gt3tsm5pmf] {
    color: #1F7A4D;
}

.report-summary-delta-down[b-gt3tsm5pmf] {
    color: #A32D2D;
}

.report-summary-outstanding-link[b-gt3tsm5pmf] {
    display: inline-block;
    margin-top: 10px;
    font-size: 0.85rem;
}

@media (max-width: 640.98px) {
    .report-summary-tile[b-gt3tsm5pmf] {
        flex: 1 1 calc(50% - 6px);
    }
}
/* /Components/Pages/Backoffice/Settings/Boat/BoatEditPriceView.razor.rz.scp.css */
.priceRate[b-wwji0yt7kp] {
    background: #fff;
    border: 1px solid var(--border-default);
    border-radius: 8px;
    margin-top: 0.75rem;
    padding: 12px 16px;
    align-items: center;
}

@media (max-width: 640.98px) {
    .priceRate[b-wwji0yt7kp] {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
}

/* Teal accent nur auf dem berechneten Summenwert */
.tier-total-value[b-wwji0yt7kp] {
    color: var(--primary);
    font-weight: 600;
    font-size: 1.05rem;
}
/* /Components/Pages/Backoffice/Settings/CaptainSettingsPage.razor.rz.scp.css */
/* Section heading */
.section-heading[b-yciouexzq5] {
    color: var(--text-primary);
    font-weight: 600;
    margin-bottom: 0.5rem;
}

/* Rate card — white surface, light border */
.captain-rate-card[b-yciouexzq5] {
    background: #fff;
    border: 1px solid var(--border-default);
    border-radius: 8px;
    margin-top: 0.75rem;
    padding: 14px 16px;
}

/* Field label above the input */
.rate-label[b-yciouexzq5] {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-secondary);
    margin-bottom: 6px;
}

/* Remove button: visual from global .btn-remove in app.css — no overrides needed */
/* /Components/Pages/Backoffice/Settings/GeneralSettingsPage.razor.rz.scp.css */
.single-option .e-ddl-icon[b-ns21qe44d3] {
    display: none !important;
}

/* TODO css does not work */
.operating-days-style-scope[b-ns21qe44d3]  .operating-days-group .e-btn {
    min-width: 42px;
    padding: 4px 8px;
}

.operating-days-style-scope[b-ns21qe44d3]  .operating-days-group .e-btn.e-active,
.operating-days-style-scope[b-ns21qe44d3]  .operating-days-group .e-btn.e-selected {
    background-color: #0d6efd;
    color: #fff;
    border-color: #0d6efd;
}
