/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-xnrgl60fxh] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-xnrgl60fxh] {
    flex: 1;
}

.sidebar[b-xnrgl60fxh] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-xnrgl60fxh] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-xnrgl60fxh]  a, .top-row[b-xnrgl60fxh]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-xnrgl60fxh]  a:hover, .top-row[b-xnrgl60fxh]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-xnrgl60fxh]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-xnrgl60fxh] {
        justify-content: space-between;
    }

    .top-row[b-xnrgl60fxh]  a, .top-row[b-xnrgl60fxh]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-xnrgl60fxh] {
        flex-direction: row;
    }

    .sidebar[b-xnrgl60fxh] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-xnrgl60fxh] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-xnrgl60fxh]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-xnrgl60fxh], article[b-xnrgl60fxh] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-xnrgl60fxh] {
    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-xnrgl60fxh] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Pages/Home.razor.rz.scp.css */
/* ==========================================================================
   Dashboard page – scoped styles (Blazor CSS isolation)
   Brand: Primary  #337fa6   Secondary  #f4ad70
   Shared patterns (.falk-card-head, .fy-chip) live in wwwroot/app.css.
   ========================================================================== */

/* ── Page shell ─────────────────────────────────────────────────────────── */
.falk-dashboard-page[b-8vbxgsj16v] {
    padding: 32px 32px 56px 32px !important;
    max-width: var(--falk-page-max-width);
    margin: 0 auto;
    background:
        radial-gradient(1200px 360px at 0% -10%, rgba(51, 127, 166, 0.06), transparent 60%),
        radial-gradient(900px 280px at 100% 0%, rgba(244, 173, 112, 0.05), transparent 55%);
    min-height: 100%;
}

/* Page-level MudGrid: stretch row items so all 3 columns share the row height
   (DTS / KPI stack / Margin Watchlist line up at top AND bottom). */
.falk-dashboard-page[b-8vbxgsj16v]  > .mud-grid {
    align-items: stretch;
}
.falk-dashboard-page[b-8vbxgsj16v]  > .mud-grid > .mud-grid-item {
    display: flex;
    flex-direction: column;
}

/* ── Welcome strip above the DTS card (column-scoped header) ────────────── */
.column-header[b-8vbxgsj16v] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 4px 14px 4px;
    min-height: 56px;
}
.column-header__titles[b-8vbxgsj16v] {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    min-width: 0;
}
.column-header__title[b-8vbxgsj16v] {
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--mud-palette-text-primary);
}
.column-header__sub[b-8vbxgsj16v] {
    font-size: 0.82rem;
    color: var(--mud-palette-text-secondary);
    margin-top: 2px;
}

/* KPI mini-stack column has no header above → push cards down by Welcome-
   strip height so their tops align with the DTS card top. The inner grid
   then fills the remaining vertical space and the two KPI cards stretch
   to equal halves so the bottom edge aligns with DTS / Margin Watchlist. */
.kpi-stack-col[b-8vbxgsj16v] {
    padding-top: 56px;
    display: flex !important;
    flex-direction: column;
}
.kpi-stack-grid[b-8vbxgsj16v] {
    flex: 1 1 auto !important;
    align-content: stretch !important;
    align-items: stretch !important;
}
.kpi-stack-grid[b-8vbxgsj16v]  > .mud-grid-item {
    flex: 1 1 0 !important;
    display: flex !important;
    min-height: 0 !important;
}
.kpi-stack-grid[b-8vbxgsj16v]  .dashboard-kpi-card {
    width: 100% !important;
    height: 100% !important;
    min-height: 130px;
}

/* ── Card surface (every MudCard on the dashboard, incl. those from
       HotelKpis / ProviderLogKpiView) ───────────────────────────────────── */
.falk-dashboard-page[b-8vbxgsj16v]  .mud-card {
    border-radius: var(--falk-radius-card);
    background-color: var(--mud-palette-surface);
    box-shadow: var(--falk-shadow-card);
    border: 1px solid rgba(51, 127, 166, 0.07);
    transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
    position: relative;
}
.falk-dashboard-page[b-8vbxgsj16v]  .mud-card:hover {
    box-shadow: var(--falk-shadow-elevated);
    transform: translateY(-1px);
    border-color: rgba(51, 127, 166, 0.18);
}

/* Top accent stripe */
.falk-dashboard-page[b-8vbxgsj16v]  .mud-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #337fa6 0%, #5fa9c6 55%, #f4ad70 100%);
    opacity: 0.65;
    border-top-left-radius: var(--falk-radius-card);
    border-top-right-radius: var(--falk-radius-card);
    pointer-events: none;
    z-index: 1;
}

/* ── ALL avatars on the dashboard → rounded-square hero look.
       Targets .mud-avatar directly to beat MudBlazor's 50%-circle default,
       regardless of which subcomponent renders the avatar. */
.falk-dashboard-page[b-8vbxgsj16v]  .mud-avatar,
.falk-dashboard-page[b-8vbxgsj16v]  .mud-avatar.mud-fab,
.falk-dashboard-page[b-8vbxgsj16v]  .dashboard-kpi-avatar {
    border-radius: 8px !important;
    width: 38px !important;
    height: 38px !important;
    background: linear-gradient(135deg, rgba(51, 127, 166, 0.16), rgba(244, 173, 112, 0.18)) !important;
    color: #1f5b78 !important;
}
.falk-dashboard-page[b-8vbxgsj16v]  .mud-avatar .mud-icon-root,
.falk-dashboard-page[b-8vbxgsj16v]  .mud-avatar.mud-fab .mud-icon-root,
.falk-dashboard-page[b-8vbxgsj16v]  .dashboard-kpi-avatar .mud-icon-root {
    color: #1f5b78 !important;
    font-size: 1.2rem !important;
}
/* DTS avatar keeps the warm Secondary accent */
.dts-card[b-8vbxgsj16v]  .mud-card-header .mud-avatar {
    background: linear-gradient(135deg, rgba(244, 173, 112, 0.30), rgba(244, 173, 112, 0.10)) !important;
}
.dts-card[b-8vbxgsj16v]  .mud-card-header .mud-avatar .mud-icon-root {
    color: var(--mud-palette-secondary) !important;
}
/* Numbered avatars inside MudTable (Sales Audit ranks) stay small & plain */
.falk-dashboard-page[b-8vbxgsj16v]  .mud-table .mud-avatar {
    width: 28px !important;
    height: 28px !important;
    border-radius: 6px !important;
    font-size: 0.8rem !important;
}

/* ── KPI mini-cards (Total Sales / Margin): no elevation, no border ─────── */
.falk-dashboard-page[b-8vbxgsj16v]  .dashboard-kpi-card {
    position: relative;
    border: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding: 16px !important;
}
.falk-dashboard-page[b-8vbxgsj16v]  .dashboard-kpi-card:hover {
    transform: none;
    box-shadow: none !important;
}
.falk-dashboard-page[b-8vbxgsj16v]  .dashboard-kpi-card::before {
    display: none;
}
.falk-dashboard-page[b-8vbxgsj16v]  .dashboard-kpi-card .mud-typography-h5 {
    font-size: 1.35rem;
    font-weight: 600;
    letter-spacing: -0.005em;
    line-height: 1.2;
}
.falk-dashboard-page[b-8vbxgsj16v]  .dashboard-kpi-footer {
    margin-top: auto;
    border-top: 1px solid var(--mud-palette-divider);
    padding-top: 8px;
}

/* ── Unified card shell + min heights ───────────────────────────────────── */
.falk-dashboard-card[b-8vbxgsj16v] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}
.falk-dashboard-card--row1[b-8vbxgsj16v] { min-height: 240px; }
.falk-dashboard-card--row2[b-8vbxgsj16v] { min-height: 286px; }
.falk-dashboard-card--row3[b-8vbxgsj16v] { min-height: 400px; }

/* ── Card body variants ─────────────────────────────────────────────────── */
.falk-card-body[b-8vbxgsj16v] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
.falk-card-body--chart[b-8vbxgsj16v]  { padding: 0 8px 8px 8px; }
.falk-card-body--table[b-8vbxgsj16v]  { padding: 0; }
.falk-card-body--chart[b-8vbxgsj16v]  .apexcharts-canvas,
.falk-card-body--chart[b-8vbxgsj16v]  .apexcharts-svg {
    width: 100% !important;
}

/* ── Sales Audit table inside the shell ─────────────────────────────────── */
.falk-card-body--table[b-8vbxgsj16v]  .mud-table-toolbar {
    padding-left: 16px;
    padding-right: 16px;
    min-height: 44px;
}
.falk-card-body--table[b-8vbxgsj16v]  .mud-table-container {
    flex: 1 1 auto;
}
.falk-card-body--table[b-8vbxgsj16v]  .mud-table-pagination {
    border-top: 1px solid var(--mud-palette-divider);
}

/* ──────────────────────────────────────────────────────────────────────────
   Daily Target Sales card content
   ────────────────────────────────────────────────────────────────────────── */
.dts-card[b-8vbxgsj16v]  .mud-card-header {
    padding: 18px 16px 4px 16px !important;
}
.dts-card[b-8vbxgsj16v]  .mud-card-header-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.dts-card[b-8vbxgsj16v]  .mud-card-header-content .mud-typography-h6 {
    line-height: 1.15;
    margin: 0;
    font-size: 1.4rem;
    font-weight: 600;
}

.dts-content[b-8vbxgsj16v] {
    padding: 4px 16px 12px 16px !important;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
    overflow: hidden;
}
.dts-grid[b-8vbxgsj16v] {
    display: grid;
    grid-template-columns: 1fr 130px;
    gap: 10px;
    width: 100%;
    align-items: center;
}
.dts-kpis[b-8vbxgsj16v] { display: flex; flex-direction: column; gap: 4px; }
.dts-kpis-caption[b-8vbxgsj16v] {
    font-size: 0.7rem;
    color: var(--mud-palette-text-secondary);
    font-style: italic;
    line-height: 1.2;
    margin-bottom: 4px;
}
.dts-kpi-row[b-8vbxgsj16v] {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
    min-height: 22px;
}
.dts-kpi-label[b-8vbxgsj16v] {
    font-size: 0.7rem;
    color: var(--mud-palette-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-weight: 500;
    white-space: nowrap;
}
.dts-kpi-value[b-8vbxgsj16v] {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.dts-chip[b-8vbxgsj16v] {
    height: 20px !important;
    font-size: 0.68rem !important;
    font-weight: 600 !important;
    padding: 0 6px !important;
    min-width: 76px;
    justify-content: center;
}
.dts-chip[b-8vbxgsj16v]  .mud-chip-icon {
    font-size: 0.95rem !important;
    margin-right: 2px !important;
}
.dts-donut[b-8vbxgsj16v] {
    width: 130px;
    height: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dts-donut[b-8vbxgsj16v]  .apexcharts-canvas,
.dts-donut[b-8vbxgsj16v]  .apexcharts-svg {
    width: 130px !important;
    height: 130px !important;
}
.dts-footer-row[b-8vbxgsj16v] {
    border-top: 1px solid var(--mud-palette-divider);
    padding-top: 6px;
    margin-top: 2px;
}

/* ── BestSeller wrapper (HotelKpis renders its own hero head + table) ──── */
.dashboard-bestseller-tile[b-8vbxgsj16v] {
    display: flex;
    height: 100%;
}
.dashboard-bestseller-tile[b-8vbxgsj16v]  .mud-card {
    width: 100%;
    height: 100%;
    min-height: 240px;
    display: flex;
    flex-direction: column;
}
/* Drop the default .p-2 padding when our hero head provides the spacing */
.dashboard-bestseller-tile[b-8vbxgsj16v]  .mud-card.p-2 {
    padding: 0 !important;
}
.dashboard-bestseller-tile[b-8vbxgsj16v]  .mud-table {
    flex: 1 1 auto;
}
/* /Components/Pages/Monitoring/Traffics/FlashsaleCalendarView.razor.rz.scp.css */
/* ==========================================================================
   Flashsale Calendar – scoped styles (Blazor CSS isolation)
   Outlook-style month/week grid: day cells are a 7-column CSS grid, the
   promotion bars live in an absolutely positioned grid on top of the week
   row so a bar can span several day columns (grid-column: start / span n).
   Brand: Primary #337fa6  Secondary #f4ad70
   ========================================================================== */

/* ── Toolbar ────────────────────────────────────────────────────────────── */
/* The drawer body can outgrow the viewport once every filter is shown, and MudBlazor's
   .mud-drawer-content does not scroll by itself — so scroll here. */
.fc-filters[b-rktnjnmyz0] {
    max-height: calc(100vh - 88px);
    overflow-y: auto;
    padding-bottom: 12px;
}

.fc-toolbar[b-rktnjnmyz0] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 16px;
    padding: 12px 16px;
    border-radius: var(--falk-radius-card);
    background: var(--mud-palette-surface);
    box-shadow: var(--falk-shadow-card);
}

.fc-toolbar__nav[b-rktnjnmyz0] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.fc-toolbar__views[b-rktnjnmyz0] {
    margin-left: auto;
    display: flex;
    align-items: center;
}

.fc-toolbar__title[b-rktnjnmyz0] {
    min-width: 180px;
    margin: 0 4px 0 8px;
    font-weight: 600 !important;
}

.fc-legend[b-rktnjnmyz0] {
    flex-basis: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 18px;
    margin-top: 2px;
    padding: 10px 2px 0;
    border-top: 1px solid var(--mud-palette-lines-default);
    font-size: 0.74rem;
    color: var(--mud-palette-text-secondary);
}

.fc-legend__item[b-rktnjnmyz0] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.fc-legend__dot[b-rktnjnmyz0] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 3px;
    margin-right: 2px;
    flex-shrink: 0;
}

.fc-legend__dot--conflict[b-rktnjnmyz0] {
    background: transparent;
    box-shadow: inset 0 0 0 2px var(--mud-palette-warning);
}

.fc-legend__dot--disabled[b-rktnjnmyz0] {
    background: repeating-linear-gradient(135deg, #9aa7b2 0 3px, #d6dde3 3px 6px);
}

/* Approval workflow: a draft is drawn as an outline of the partner colour, a declined one faded + struck through. */
.fc-legend__dot--draft[b-rktnjnmyz0] {
    background: transparent;
    outline: 1.5px dashed #7a8894;
    outline-offset: -1.5px;
}

.fc-legend__dot--declined[b-rktnjnmyz0] {
    background: #9aa7b2;
    opacity: 0.5;
}

/* ── KPI tiles ──────────────────────────────────────────────────────────── */
.fc-kpi[b-rktnjnmyz0] {
    display: flex;
    align-items: center;
    gap: 14px;
    height: 100%;
    padding: 14px 18px;
    border-radius: var(--falk-radius-card);
    background: var(--mud-palette-surface);
    box-shadow: var(--falk-shadow-card);
    transition: box-shadow 0.2s ease;
}

.fc-kpi:hover[b-rktnjnmyz0] {
    box-shadow: var(--falk-shadow-elevated);
}

.fc-kpi--clickable[b-rktnjnmyz0] {
    cursor: pointer;
}

.fc-kpi__icon[b-rktnjnmyz0] {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(51, 127, 166, 0.16), rgba(244, 173, 112, 0.18));
    flex-shrink: 0;
}

.fc-kpi__icon[b-rktnjnmyz0]  .mud-icon-root {
    color: #1f5b78;
    font-size: 1.3rem;
}

.fc-kpi--warn .fc-kpi__icon[b-rktnjnmyz0] {
    background: rgba(237, 108, 2, 0.14);
}

.fc-kpi--warn .fc-kpi__icon[b-rktnjnmyz0]  .mud-icon-root {
    color: var(--mud-palette-warning);
}

.fc-kpi--warn .fc-kpi__value[b-rktnjnmyz0] {
    color: var(--mud-palette-warning);
}

.fc-kpi__body[b-rktnjnmyz0] {
    min-width: 0;
}

.fc-kpi__label[b-rktnjnmyz0] {
    font-size: 0.66rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

.fc-kpi__value[b-rktnjnmyz0] {
    font-size: 1.55rem;
    font-weight: 600;
    line-height: 1.15;
}

.fc-kpi__sub[b-rktnjnmyz0] {
    margin-top: 2px;
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Card shell ─────────────────────────────────────────────────────────── */
.fc-card[b-rktnjnmyz0] {
    border-radius: var(--falk-radius-card);
    background: var(--mud-palette-surface);
    box-shadow: var(--falk-shadow-card);
    overflow: hidden;
}

/* ── Month / week grid ──────────────────────────────────────────────────── */
.fc-grid[b-rktnjnmyz0] {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.fc-dow[b-rktnjnmyz0] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    border-bottom: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-background-gray);
}

.fc-dow__cell[b-rktnjnmyz0] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 12px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    border-right: 1px solid var(--mud-palette-lines-default);
    min-width: 0;
}

.fc-dow__cell:last-child[b-rktnjnmyz0] {
    border-right: none;
}

.fc-dow__cell--weekend[b-rktnjnmyz0] {
    color: var(--mud-palette-text-disabled);
}

.fc-dow__date[b-rktnjnmyz0] {
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0;
    color: var(--mud-palette-text-primary);
    padding: 1px 7px;
    border-radius: 999px;
}

.fc-dow__date--today[b-rktnjnmyz0] {
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

.fc-week[b-rktnjnmyz0] {
    position: relative;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.fc-week:last-child[b-rktnjnmyz0] {
    border-bottom: none;
}

.fc-day[b-rktnjnmyz0] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 6px 8px 8px;
    border-right: 1px solid var(--mud-palette-lines-default);
}

.fc-day:last-child[b-rktnjnmyz0] {
    border-right: none;
}

.fc-day--outside[b-rktnjnmyz0] {
    background: var(--mud-palette-background-gray);
}

.fc-day--outside .fc-day__num[b-rktnjnmyz0] {
    opacity: 0.45;
}

.fc-day--weekend[b-rktnjnmyz0] {
    background: rgba(51, 127, 166, 0.03);
}

.fc-day--today[b-rktnjnmyz0] {
    background: rgba(51, 127, 166, 0.07);
}

.fc-day__head[b-rktnjnmyz0] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 26px;
}

.fc-day__num[b-rktnjnmyz0] {
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.2;
    padding: 3px 8px;
    border-radius: 999px;
    white-space: nowrap;
}

.fc-day__num--today[b-rktnjnmyz0] {
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
    font-weight: 600;
}

.fc-day__count[b-rktnjnmyz0] {
    font-size: 0.64rem;
    font-weight: 700;
    line-height: 1;
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(51, 127, 166, 0.12);
    color: var(--mud-palette-primary);
}

.fc-day__count--warn[b-rktnjnmyz0] {
    background: rgba(237, 108, 2, 0.16);
    color: var(--mud-palette-warning);
}

.fc-day__more[b-rktnjnmyz0] {
    margin-top: auto;
    align-self: flex-start;
    margin-left: -6px;
    border: none;
    background: none;
    padding: 4px 6px;
    font: inherit;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--mud-palette-primary);
    cursor: pointer;
    border-radius: 4px;
}

.fc-day__more:hover[b-rktnjnmyz0] {
    background: rgba(51, 127, 166, 0.12);
}

.fc-day__more--less[b-rktnjnmyz0] {
    color: var(--mud-palette-text-secondary);
}

/* Overlay grid that carries the bars — same 7 columns as the day cells. */
.fc-events[b-rktnjnmyz0] {
    position: absolute;
    left: 0;
    right: 0;
    top: 36px;
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    grid-auto-rows: 20px;
    row-gap: 4px;
    align-content: start;
    pointer-events: none;
}

.fc-bar[b-rktnjnmyz0] {
    pointer-events: auto;
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    height: 20px;
    margin: 0 4px;
    padding: 0 8px;
    border-radius: 5px;
    background: var(--bar);
    color: #fff;
    font-size: 0.72rem;
    line-height: 20px;
    white-space: nowrap;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
    transition: filter 0.15s ease, transform 0.15s ease;
}

.fc-bar:hover[b-rktnjnmyz0] {
    filter: brightness(1.08);
    transform: translateY(-1px);
}

.fc-bar__title[b-rktnjnmyz0] {
    font-weight: 600;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
}

.fc-bar__partner[b-rktnjnmyz0],
.fc-bar__product[b-rktnjnmyz0],
.fc-bar__kpi[b-rktnjnmyz0] {
    opacity: 0.92;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.fc-bar__count[b-rktnjnmyz0] {
    margin-left: auto;
    flex-shrink: 0;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.28);
    font-size: 0.64rem;
    font-weight: 700;
    line-height: 16px;
}

.fc-bar__icon[b-rktnjnmyz0] {
    font-size: 15px;
    line-height: 1;
    flex-shrink: 0;
}

/* Bar continues from the previous / into the next week: square that edge. */
.fc-bar--cont-l[b-rktnjnmyz0] {
    margin-left: 0;
    padding-left: 12px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.fc-bar--cont-r[b-rktnjnmyz0] {
    margin-right: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.fc-bar--disabled[b-rktnjnmyz0] {
    opacity: 0.55;
    background-image: repeating-linear-gradient(135deg, transparent 0 6px, rgba(255, 255, 255, 0.28) 6px 10px);
}

.fc-bar--conflict[b-rktnjnmyz0] {
    box-shadow: inset 0 0 0 2px var(--mud-palette-warning), 0 1px 2px rgba(0, 0, 0, 0.18);
}

.fc-bar--draft[b-rktnjnmyz0],
.fc-timeline__bar.fc-timeline__bar--draft[b-rktnjnmyz0] {
    background: color-mix(in srgb, var(--bar) 18%, var(--mud-palette-surface));
    color: var(--mud-palette-text-primary);
    outline: 1.5px dashed var(--bar);
    outline-offset: -1.5px;
    box-shadow: none;
}

.fc-bar--draft.fc-bar--conflict[b-rktnjnmyz0],
.fc-timeline__bar.fc-timeline__bar--draft.fc-timeline__bar--conflict[b-rktnjnmyz0] {
    box-shadow: inset 0 0 0 2px var(--mud-palette-warning);
}

.fc-bar--declined[b-rktnjnmyz0],
.fc-timeline__bar.fc-timeline__bar--declined[b-rktnjnmyz0] {
    opacity: 0.45;
    text-decoration: line-through;
}

.fc-bar__status[b-rktnjnmyz0] {
    flex-shrink: 0;
    padding: 0 5px;
    border-radius: 3px;
    background: rgba(0, 0, 0, 0.12);
    font-size: 0.64rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    text-decoration: none;
}

.fc-grid--week .fc-events[b-rktnjnmyz0] {
    grid-auto-rows: 24px;
    row-gap: 4px;
}

.fc-grid--week .fc-bar[b-rktnjnmyz0] {
    height: 24px;
    line-height: 24px;
    font-size: 0.76rem;
}

/* ── Timeline (one row per promotion, one column per day) ───────────────── */
.fc-timeline[b-rktnjnmyz0] {
    overflow-x: auto;
}

.fc-timeline__row[b-rktnjnmyz0] {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    min-width: 960px;
    border-bottom: 1px solid var(--mud-palette-lines-default);
}

.fc-timeline__row:last-child[b-rktnjnmyz0] {
    border-bottom: none;
}

.fc-timeline__row--head[b-rktnjnmyz0] {
    position: sticky;
    top: 0;
    z-index: 3;
    background: var(--mud-palette-background-gray);
}

.fc-timeline__row--disabled[b-rktnjnmyz0] {
    opacity: 0.55;
}

.fc-timeline__label[b-rktnjnmyz0] {
    position: sticky;
    left: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 6px 14px;
    border-right: 1px solid var(--mud-palette-lines-default);
    background: var(--mud-palette-surface);
    font-size: 0.78rem;
    cursor: pointer;
}

.fc-timeline__label:hover[b-rktnjnmyz0] {
    background: rgba(51, 127, 166, 0.08);
}

.fc-timeline__label--head[b-rktnjnmyz0] {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    background: var(--mud-palette-background-gray);
    cursor: default;
}

.fc-timeline__title[b-rktnjnmyz0] {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-shrink: 0;
}

.fc-timeline__partner[b-rktnjnmyz0] {
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.fc-timeline__count[b-rktnjnmyz0] {
    margin-left: auto;
    flex-shrink: 0;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(51, 127, 166, 0.12);
    color: var(--mud-palette-primary);
    font-size: 0.64rem;
    font-weight: 700;
    line-height: 16px;
}

.fc-timeline__warn[b-rktnjnmyz0] {
    font-size: 16px;
    color: var(--mud-palette-warning);
    flex-shrink: 0;
}

.fc-timeline__track[b-rktnjnmyz0] {
    display: grid;
    grid-auto-rows: 36px;
    align-items: center;
}

.fc-timeline__row--head .fc-timeline__track[b-rktnjnmyz0] {
    grid-auto-rows: 44px;
}

.fc-timeline__cell[b-rktnjnmyz0] {
    grid-row: 1;
    height: 100%;
    border-right: 1px solid var(--mud-palette-lines-default);
    min-width: 0;
}

.fc-timeline__cell--weekend[b-rktnjnmyz0] {
    background: rgba(51, 127, 166, 0.04);
}

.fc-timeline__cell--today[b-rktnjnmyz0] {
    background: rgba(51, 127, 166, 0.10);
    box-shadow: inset 2px 0 0 var(--mud-palette-primary);
}

.fc-timeline__cell--head[b-rktnjnmyz0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.1;
}

.fc-timeline__dnum[b-rktnjnmyz0] {
    font-size: 0.74rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.fc-timeline__dname[b-rktnjnmyz0] {
    font-size: 0.6rem;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

.fc-timeline__cell--today .fc-timeline__dnum[b-rktnjnmyz0] {
    color: var(--mud-palette-primary);
}

.fc-timeline__bar[b-rktnjnmyz0] {
    grid-row: 1;
    z-index: 1;
    min-width: 0;
    height: 22px;
    margin: 0 3px;
    padding: 0 8px;
    border-radius: 5px;
    background: var(--bar);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 500;
    line-height: 22px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
    transition: filter 0.15s ease;
}

.fc-timeline__bar:hover[b-rktnjnmyz0] {
    filter: brightness(1.08);
}

.fc-timeline__bar--cont-l[b-rktnjnmyz0] {
    margin-left: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.fc-timeline__bar--cont-r[b-rktnjnmyz0] {
    margin-right: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.fc-timeline__bar--disabled[b-rktnjnmyz0] {
    opacity: 0.55;
    background-image: repeating-linear-gradient(135deg, transparent 0 6px, rgba(255, 255, 255, 0.28) 6px 10px);
}

.fc-timeline__bar--conflict[b-rktnjnmyz0] {
    box-shadow: inset 0 0 0 2px var(--mud-palette-warning), 0 1px 2px rgba(0, 0, 0, 0.18);
}

/* ── Agenda ─────────────────────────────────────────────────────────────── */
.fc-agenda[b-rktnjnmyz0] {
    padding: 8px 16px 18px;
}

.fc-agenda__day[b-rktnjnmyz0] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 4px 8px;
    font-size: 0.74rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

.fc-agenda__today[b-rktnjnmyz0] {
    font-size: 0.62rem;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--mud-palette-primary);
    color: var(--mud-palette-primary-text);
}

.fc-agenda__item[b-rktnjnmyz0] {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 8px;
    padding: 10px 14px 10px 10px;
    border-radius: 10px;
    background: var(--mud-palette-background-gray);
    cursor: pointer;
    transition: background 0.15s ease;
}

.fc-agenda__item:hover[b-rktnjnmyz0] {
    background: rgba(51, 127, 166, 0.09);
}

.fc-agenda__item--disabled[b-rktnjnmyz0] {
    opacity: 0.55;
}

.fc-agenda__item--declined[b-rktnjnmyz0] {
    opacity: 0.5;
}

.fc-agenda__item--declined .fc-agenda__title[b-rktnjnmyz0] {
    text-decoration: line-through;
}

.fc-agenda__bar[b-rktnjnmyz0] {
    width: 6px;
    align-self: stretch;
    border-radius: 4px;
    background: var(--bar);
    flex-shrink: 0;
}

.fc-agenda__main[b-rktnjnmyz0] {
    flex: 1;
    min-width: 0;
}

.fc-agenda__title[b-rktnjnmyz0] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 8px;
    font-size: 0.85rem;
    font-weight: 600;
}

.fc-agenda__partner[b-rktnjnmyz0] {
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
}

.fc-agenda__since[b-rktnjnmyz0] {
    font-size: 0.68rem;
    font-weight: 500;
    padding: 1px 7px;
    border-radius: 999px;
    background: rgba(51, 127, 166, 0.12);
    color: var(--mud-palette-primary);
}

.fc-agenda__warn[b-rktnjnmyz0] {
    font-size: 17px;
    color: var(--mud-palette-warning);
}

.fc-agenda__meta[b-rktnjnmyz0] {
    margin-top: 2px;
    font-size: 0.74rem;
    color: var(--mud-palette-text-secondary);
}

.fc-agenda__kpi[b-rktnjnmyz0] {
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.fc-empty[b-rktnjnmyz0] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 220px;
    color: var(--mud-palette-text-secondary);
}

.fc-empty[b-rktnjnmyz0]  .fc-empty__icon {
    font-size: 52px;
    opacity: 0.4;
}


/* ── Product overlap animation ───────────────────────────────────────────────
   A clash has to catch the eye in every view: the bar pulses with an orange halo and a light sweep
   runs across it, the warning icons wiggle, and the KPI tile, the header button, the day counter and
   the legend dot pulse with it. The static 2px ring above stays as the fallback for reduced motion. */
@keyframes fc-overlap-pulse-b-rktnjnmyz0 {
    0%, 100% {
        box-shadow: inset 0 0 0 2px var(--mud-palette-warning), 0 0 0 0 rgba(237, 108, 2, 0.6), 0 1px 2px rgba(0, 0, 0, 0.18);
    }
    50% {
        box-shadow: inset 0 0 0 2px var(--mud-palette-warning), 0 0 0 4px rgba(237, 108, 2, 0.35), 0 0 14px 3px rgba(237, 108, 2, 0.55);
    }
}

@keyframes fc-overlap-sweep-b-rktnjnmyz0 {
    0% { background-position: 140% 0; }
    60%, 100% { background-position: -40% 0; }
}

@keyframes fc-overlap-wiggle-b-rktnjnmyz0 {
    0%, 62%, 100% { transform: rotate(0deg) scale(1); }
    68% { transform: rotate(-16deg) scale(1.25); }
    74% { transform: rotate(14deg) scale(1.25); }
    80% { transform: rotate(-10deg) scale(1.15); }
    86% { transform: rotate(6deg) scale(1.08); }
}

@keyframes fc-overlap-ring-b-rktnjnmyz0 {
    0%, 100% { box-shadow: var(--falk-shadow-card), 0 0 0 0 rgba(237, 108, 2, 0.55); }
    50% { box-shadow: var(--falk-shadow-card), 0 0 0 5px rgba(237, 108, 2, 0.22); }
}

@keyframes fc-overlap-blink-b-rktnjnmyz0 {
    0%, 100% { background: rgba(237, 108, 2, 0.16); color: var(--mud-palette-warning); }
    50% { background: var(--mud-palette-warning); color: #fff; }
}

.fc-bar--conflict[b-rktnjnmyz0],
.fc-timeline__bar.fc-timeline__bar--conflict[b-rktnjnmyz0] {
    position: relative;
    z-index: 2;
    animation: fc-overlap-pulse-b-rktnjnmyz0 1.6s ease-in-out infinite;
}

/* Light sweep over the partner colour (not on disabled bars, they keep their hatching). */
.fc-bar--conflict:not(.fc-bar--disabled)[b-rktnjnmyz0],
.fc-timeline__bar.fc-timeline__bar--conflict:not(.fc-timeline__bar--disabled)[b-rktnjnmyz0] {
    background-image: linear-gradient(105deg, transparent 35%, rgba(255, 214, 102, 0.55) 50%, transparent 65%);
    background-size: 250% 100%;
    background-repeat: no-repeat;
    animation: fc-overlap-pulse-b-rktnjnmyz0 1.6s ease-in-out infinite, fc-overlap-sweep-b-rktnjnmyz0 3.2s ease-in-out infinite;
}

.fc-bar--conflict .fc-bar__icon[b-rktnjnmyz0] {
    color: #ffd54f;
    filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.45));
    animation: fc-overlap-wiggle-b-rktnjnmyz0 1.6s ease-in-out infinite;
}

.fc-bar--draft.fc-bar--conflict .fc-bar__icon[b-rktnjnmyz0] {
    color: var(--mud-palette-warning);
    filter: none;
}

.fc-timeline__warn[b-rktnjnmyz0],
.fc-agenda__warn[b-rktnjnmyz0] {
    display: inline-block;
    animation: fc-overlap-wiggle-b-rktnjnmyz0 1.6s ease-in-out infinite;
}

.fc-day__count--warn[b-rktnjnmyz0] {
    animation: fc-overlap-blink-b-rktnjnmyz0 1.6s ease-in-out infinite;
}

.fc-legend__dot--conflict[b-rktnjnmyz0] {
    animation: fc-overlap-ring-b-rktnjnmyz0 1.6s ease-in-out infinite;
}

.fc-kpi--warn[b-rktnjnmyz0] {
    outline: 2px solid var(--mud-palette-warning);
    outline-offset: -2px;
    animation: fc-overlap-ring-b-rktnjnmyz0 1.6s ease-in-out infinite;
}

/* inline-block: a font icon span is plain inline and would ignore the transform. */
.fc-kpi--warn .fc-kpi__icon[b-rktnjnmyz0]  .mud-icon-root,
.fc-overlaps-btn--warn[b-rktnjnmyz0]  .mud-button-icon-start .mud-icon-root {
    display: inline-block;
    animation: fc-overlap-wiggle-b-rktnjnmyz0 1.6s ease-in-out infinite;
}

.fc-overlaps-btn[b-rktnjnmyz0] {
    display: inline-flex;
}

.fc-overlaps-btn--warn[b-rktnjnmyz0]  .mud-button-root {
    font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
    .fc-bar--conflict[b-rktnjnmyz0],
    .fc-timeline__bar.fc-timeline__bar--conflict[b-rktnjnmyz0],
    .fc-bar--conflict:not(.fc-bar--disabled)[b-rktnjnmyz0],
    .fc-timeline__bar.fc-timeline__bar--conflict:not(.fc-timeline__bar--disabled)[b-rktnjnmyz0],
    .fc-bar--conflict .fc-bar__icon[b-rktnjnmyz0],
    .fc-timeline__warn[b-rktnjnmyz0],
    .fc-agenda__warn[b-rktnjnmyz0],
    .fc-day__count--warn[b-rktnjnmyz0],
    .fc-legend__dot--conflict[b-rktnjnmyz0],
    .fc-kpi--warn[b-rktnjnmyz0],
    .fc-kpi--warn .fc-kpi__icon[b-rktnjnmyz0]  .mud-icon-root,
    .fc-overlaps-btn--warn[b-rktnjnmyz0]  .mud-button-icon-start .mud-icon-root {
        animation: none;
    }

    .fc-bar--conflict[b-rktnjnmyz0],
    .fc-timeline__bar.fc-timeline__bar--conflict[b-rktnjnmyz0] {
        box-shadow: inset 0 0 0 3px var(--mud-palette-warning), 0 0 0 2px rgba(237, 108, 2, 0.35);
    }
}
/* /Components/Pages/Monitoring/Traffics/PromotionDetailsDialogView.razor.rz.scp.css */
/* Promotion details dialog (Flashsale Calendar) – scoped styles */

.pd-title[b-u3kwnbgq76] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 10px;
}

.pd-title__text[b-u3kwnbgq76] {
    margin-right: 4px;
}

.pd-dot[b-u3kwnbgq76] {
    width: 14px;
    height: 14px;
    border-radius: 4px;
    flex-shrink: 0;
}

.pd-tiles[b-u3kwnbgq76] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
}

.pd-tile[b-u3kwnbgq76] {
    padding: 12px 14px;
    border-radius: 10px;
    background: var(--mud-palette-background-gray);
    min-width: 0;
}

.pd-tile--warn[b-u3kwnbgq76] {
    background: rgba(237, 108, 2, 0.10);
}

.pd-tile--warn .pd-tile__value[b-u3kwnbgq76] {
    color: var(--mud-palette-warning);
}

.pd-tile__label[b-u3kwnbgq76] {
    font-size: 0.64rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
}

.pd-tile__value[b-u3kwnbgq76] {
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.3;
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pd-tile__sub[b-u3kwnbgq76] {
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
}

.pd-table[b-u3kwnbgq76] {
    margin-top: 18px;
    overflow-x: auto;
}

.pd-table[b-u3kwnbgq76]  th {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.pd-table[b-u3kwnbgq76]  td {
    vertical-align: top;
    font-size: 0.8rem;
}

.pd-main[b-u3kwnbgq76] {
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 500;
    white-space: nowrap;
}

.pd-sub[b-u3kwnbgq76] {
    font-size: 0.7rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.pd-sub--code[b-u3kwnbgq76] {
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.02em;
    color: var(--mud-palette-text-primary);
    opacity: 0.75;
}

.pd-warn[b-u3kwnbgq76] {
    font-size: 16px;
    color: var(--mud-palette-warning);
}

.pd-row--disabled[b-u3kwnbgq76] {
    opacity: 0.55;
}

.pd-actions[b-u3kwnbgq76] {
    text-align: right;
    white-space: nowrap;
}

.pd-conflicts__title[b-u3kwnbgq76] {
    font-weight: 600;
    margin-bottom: 4px;
}

.pd-conflicts[b-u3kwnbgq76] {
    margin: 0;
    padding-left: 18px;
    font-size: 0.8rem;
}

.pd-conflicts li[b-u3kwnbgq76] {
    margin-bottom: 2px;
}
/* /Components/Pages/Monitoring/Traffics/PromotionOverlapsDialogView.razor.rz.scp.css */
/* Product overlaps dialog (Flashsale Calendar) – scoped styles */

.po-title[b-kx0q0n7g4x] {
    display: flex;
    align-items: center;
    gap: 10px;
}

.po-title__icon[b-kx0q0n7g4x] {
    font-size: 22px;
    color: var(--mud-palette-warning);
}

.po-intro[b-kx0q0n7g4x] {
    color: var(--mud-palette-text-secondary);
    margin-bottom: 14px;
}

.po-table[b-kx0q0n7g4x] {
    overflow-x: auto;
    margin: 0 -8px;
    padding: 0 8px;
}

.po-table[b-kx0q0n7g4x]  th {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.po-table[b-kx0q0n7g4x]  td {
    vertical-align: top;
    font-size: 0.8rem;
}

.po-main[b-kx0q0n7g4x] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
    white-space: nowrap;
}

.po-sub[b-kx0q0n7g4x] {
    margin-top: 2px;
    font-size: 0.72rem;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
}

.po-dot[b-kx0q0n7g4x] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 3px;
    flex-shrink: 0;
}

.po-empty[b-kx0q0n7g4x] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 160px;
    color: var(--mud-palette-text-secondary);
}

.po-empty__icon[b-kx0q0n7g4x] {
    font-size: 44px;
    color: var(--mud-palette-success);
    opacity: 0.7;
}
/* /Components/Pages/Reporting/ProductReportView.razor.rz.scp.css */
/* ==========================================================================
   Produktauswertung – scoped styles
   Brand: Primary #337fa6, Tertiary #1f5b78, Secondary #f4ad70 (FalkGroupTheme)
   Tabellen nach Vorgabe: alles zentriert, dunkelblaue Köpfe, dezente Zebra-
   streifen, deutlich abgesetzte Summenzeilen, Margen-Ampel 17 % / 19 %.
   ========================================================================== */

.pr-page[b-gyw90leq98] {
    --pr-head: #1f5b78;
    --pr-accent: #337fa6;
    --pr-stripe: rgba(51, 127, 166, 0.05);
    --pr-sub: rgba(51, 127, 166, 0.11);
    --pr-total: rgba(31, 91, 120, 0.16);
    --pr-red-ink: #b3261e;
    --pr-red-bg: #fdecea;
    --pr-orange-ink: #b45309;
    --pr-orange-bg: #fff1e0;
    --pr-muted: var(--mud-palette-text-secondary);
    --pr-line: var(--mud-palette-lines-default);
    max-width: var(--falk-page-max-width, 1600px);
    padding: 12px 16px 32px;
    font-variant-numeric: tabular-nums;
}

.pr-page.pr--dark[b-gyw90leq98] {
    --pr-head: #1f5b78;
    --pr-accent: #9acde4;
    --pr-stripe: rgba(154, 205, 228, 0.05);
    --pr-sub: rgba(154, 205, 228, 0.10);
    --pr-total: rgba(154, 205, 228, 0.18);
    --pr-red-ink: #ff9b93;
    --pr-red-bg: rgba(230, 103, 103, 0.18);
    --pr-orange-ink: #ffc46b;
    --pr-orange-bg: rgba(201, 133, 0, 0.20);
}

.pr-head[b-gyw90leq98] {
    margin-bottom: 14px;
}

.pr-muted[b-gyw90leq98] {
    color: var(--pr-muted);
    font-size: 0.8rem;
}

/* ── Konfiguration ─────────────────────────────────────────────────────── */
.pr-config[b-gyw90leq98] {
    padding: 20px 22px 18px;
    border-radius: var(--falk-radius-card);
    background: var(--mud-palette-surface);
    box-shadow: var(--falk-shadow-card);
    border-top: 3px solid var(--pr-accent);
}

.pr-config__grid[b-gyw90leq98] {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(300px, 1.4fr) minmax(220px, 0.8fr);
    gap: 18px 24px;
    align-items: start;
}

.pr-field[b-gyw90leq98] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.pr-field__label[b-gyw90leq98] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
}

.pr-presets[b-gyw90leq98] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pr-preset[b-gyw90leq98],
.pr-toggle[b-gyw90leq98] {
    font: inherit;
    font-size: 0.78rem;
    line-height: 1;
    padding: 6px 10px;
    border-radius: var(--falk-radius-pill);
    border: 1px solid var(--pr-line);
    background: transparent;
    color: var(--mud-palette-text-primary);
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.pr-preset:hover[b-gyw90leq98],
.pr-toggle:hover[b-gyw90leq98] {
    border-color: var(--pr-accent);
}

.pr-preset:focus-visible[b-gyw90leq98],
.pr-toggle:focus-visible[b-gyw90leq98],
.pr-hint-link:focus-visible[b-gyw90leq98],
.pr-bar:focus-visible[b-gyw90leq98] {
    outline: 2px solid var(--pr-accent);
    outline-offset: 2px;
}

.pr-preset--active[b-gyw90leq98],
.pr-toggle--on[b-gyw90leq98] {
    background: var(--pr-accent);
    border-color: var(--pr-accent);
    color: #fff;
}

.pr--dark .pr-preset--active[b-gyw90leq98],
.pr--dark .pr-toggle--on[b-gyw90leq98] {
    color: #0f1419;
}

.pr-toggle__count[b-gyw90leq98] {
    margin-left: 4px;
    opacity: 0.7;
    font-weight: 600;
}

.pr-codes[b-gyw90leq98] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    min-height: 32px;
}

.pr-hint-link[b-gyw90leq98] {
    font: inherit;
    font-size: 0.78rem;
    text-align: left;
    padding: 0;
    border: 0;
    background: none;
    color: var(--pr-accent);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.pr-facts[b-gyw90leq98] {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid var(--pr-line);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pr-facts__summary[b-gyw90leq98] {
    font-size: 0.9rem;
}

.pr-facet[b-gyw90leq98] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.pr-facet__name[b-gyw90leq98] {
    width: 96px;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--pr-muted);
}

.pr-more summary[b-gyw90leq98] {
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--pr-accent);
    width: fit-content;
}

.pr-more__grid[b-gyw90leq98] {
    display: grid;
    grid-template-columns: minmax(260px, 1.4fr) repeat(2, minmax(150px, 0.6fr));
    gap: 12px 24px;
    margin-top: 10px;
    max-width: 820px;
}

.pr-config__actions[b-gyw90leq98] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 18px;
}

.pr-config__why[b-gyw90leq98] {
    text-align: right;
    margin-top: 6px;
}

.pr-summarybar[b-gyw90leq98] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 16px;
    padding: 10px 16px;
    border-radius: var(--falk-radius-card);
    background: var(--mud-palette-surface);
    box-shadow: var(--falk-shadow-card);
}

.pr-summarybar__items[b-gyw90leq98] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 22px;
    font-size: 0.84rem;
}

/* ── Leerzustand ───────────────────────────────────────────────────────── */
.pr-empty[b-gyw90leq98] {
    margin-top: 24px;
    padding: 48px 16px;
    text-align: center;
    border-radius: var(--falk-radius-card);
    border: 1px dashed var(--pr-line);
}

.pr-empty[b-gyw90leq98]  .pr-empty__icon {
    font-size: 2.6rem;
    color: var(--pr-accent);
    opacity: 0.8;
}

.pr-empty__title[b-gyw90leq98] {
    margin: 8px 0 4px;
    font-weight: 600;
}

/* ── Hero: Produkt + Kennzahlen ────────────────────────────────────────── */
.pr-hero[b-gyw90leq98] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin-top: 22px;
    padding: 22px 24px;
    border-radius: var(--falk-radius-card);
    color: #fff;
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(244, 173, 112, 0.28) 0%, rgba(244, 173, 112, 0) 55%),
        linear-gradient(120deg, #1f5b78 0%, #337fa6 100%);
}

.pr-hero h1[b-gyw90leq98] {
    margin: 6px 0 4px;
    font-size: clamp(1.5rem, 2.6vw, 2.1rem);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.01em;
}

.pr-hero__codes[b-gyw90leq98] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.pr-code[b-gyw90leq98],
.pr-badge[b-gyw90leq98] {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 4px 9px;
    border-radius: var(--falk-radius-pill);
    background: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

.pr-badge[b-gyw90leq98] {
    background: #f4ad70;
    border-color: #f4ad70;
    color: #3b2410;
}

.pr-hero__meta[b-gyw90leq98] {
    margin: 0;
    font-size: 0.84rem;
    opacity: 0.9;
    line-height: 1.5;
}

.pr-hero__actions[b-gyw90leq98] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px;
    border-radius: 10px;
    background: var(--mud-palette-surface);
}

.pr-kpis[b-gyw90leq98] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.pr-kpi[b-gyw90leq98] {
    padding: 14px 18px;
    border-radius: var(--falk-radius-card);
    background: var(--mud-palette-surface);
    box-shadow: var(--falk-shadow-card);
}

.pr-kpi__label[b-gyw90leq98] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--pr-muted);
}

.pr-kpi__value[b-gyw90leq98] {
    margin-top: 2px;
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1.2;
    width: fit-content;
    border-radius: 6px;
}

.pr-kpi__value.pr-m--red[b-gyw90leq98],
.pr-kpi__value.pr-m--orange[b-gyw90leq98] {
    padding: 0 6px;
}

.pr-kpi__sub[b-gyw90leq98] {
    font-size: 0.76rem;
    color: var(--pr-muted);
}

.pr-basis[b-gyw90leq98] {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 14px;
    margin: 12px 2px 4px;
    font-size: 0.8rem;
    color: var(--pr-muted);
}

.pr-basis__warn[b-gyw90leq98] {
    flex-basis: 100%;
    color: var(--pr-orange-ink);
    font-weight: 600;
}

.pr-basis__info[b-gyw90leq98] {
    flex-basis: 100%;
    color: var(--pr-accent);
}

/* ── Tabs ──────────────────────────────────────────────────────────────── */
.pr-page[b-gyw90leq98]  .pr-tabs {
    margin-top: 10px;
    border-radius: var(--falk-radius-card);
    background: var(--mud-palette-surface);
    box-shadow: var(--falk-shadow-card);
    overflow: hidden;
}

.pr-page[b-gyw90leq98]  .pr-panel {
    padding: 8px 20px 22px;
}

.pr-h3[b-gyw90leq98] {
    margin: 22px 0 8px;
    font-size: 0.95rem;
    font-weight: 600;
}

.pr-placeholder[b-gyw90leq98] {
    padding: 18px;
    text-align: center;
    font-size: 0.84rem;
    color: var(--pr-muted);
    border: 1px dashed var(--pr-line);
    border-radius: 10px;
}

/* ── Tabellen ──────────────────────────────────────────────────────────── */
.pr-table-wrap[b-gyw90leq98] {
    overflow-x: auto;
    border-radius: 10px;
    border: 1px solid var(--pr-line);
}

.pr-table-wrap--scroll[b-gyw90leq98] {
    max-height: 70vh;
    overflow: auto;
}

.pr-table[b-gyw90leq98] {
    border-collapse: collapse;
    width: 100%;
    font-size: 0.82rem;
}

.pr-table th[b-gyw90leq98],
.pr-table td[b-gyw90leq98] {
    text-align: center;
    vertical-align: middle;
    padding: 5px 12px;
    white-space: nowrap;
}

.pr-table thead th[b-gyw90leq98] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--pr-head);
    color: #fff;
    font-weight: 700;
}

.pr-table tbody tr[b-gyw90leq98] {
    border-bottom: 1px solid var(--pr-line);
}

.pr-row--alt[b-gyw90leq98] {
    background: var(--pr-stripe);
}

.pr-row--sub[b-gyw90leq98] {
    background: var(--pr-sub);
    font-weight: 600;
}

.pr-row--total td[b-gyw90leq98] {
    background: var(--pr-total);
    font-weight: 700;
    border-top: 2px solid var(--pr-head);
}

.pr-td--wide[b-gyw90leq98] {
    white-space: normal;
    min-width: 180px;
}

.pr-m[b-gyw90leq98] {
    display: inline-block;
    padding: 1px 6px;
    border-radius: 5px;
}

.pr-m--red[b-gyw90leq98] {
    color: var(--pr-red-ink);
    background: var(--pr-red-bg);
    font-weight: 700;
}

.pr-m--orange[b-gyw90leq98] {
    color: var(--pr-orange-ink);
    background: var(--pr-orange-bg);
    font-weight: 700;
}

.pr-status[b-gyw90leq98] {
    display: inline-block;
    min-width: 38px;
    padding: 1px 6px;
    border-radius: 5px;
}

.pr-status--new[b-gyw90leq98] {
    color: var(--pr-red-ink);
    background: var(--pr-red-bg);
    font-weight: 700;
}

.pr-filterbar[b-gyw90leq98] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 22px;
    margin: 14px 0 10px;
}

.pr-filterbar[b-gyw90leq98]  .pr-filterbar__search {
    max-width: 340px;
    flex: 1 1 260px;
}

.pr-filterbar .pr-facet__name[b-gyw90leq98] {
    width: auto;
}

.pr-footnote[b-gyw90leq98] {
    margin: 10px 2px 0;
    font-size: 0.76rem;
    color: var(--pr-muted);
    line-height: 1.5;
}

/* ── Diagramme ─────────────────────────────────────────────────────────── */
.pr-charts[b-gyw90leq98] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
    gap: 18px;
    margin-top: 14px;
}

.pr-figure[b-gyw90leq98] {
    margin: 0;
    padding: 14px 16px 12px;
    border: 1px solid var(--pr-line);
    border-radius: 10px;
    min-width: 0;
}

.pr-figure figcaption[b-gyw90leq98] {
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 14px;
}

.pr-chart[b-gyw90leq98] {
    display: flex;
    gap: 6px;
}

.pr-chart__y[b-gyw90leq98] {
    position: relative;
    flex: 0 0 34px;
    height: var(--plot-h);
    font-size: 0.7rem;
    color: var(--pr-muted);
}

.pr-chart__y span[b-gyw90leq98] {
    position: absolute;
    right: 0;
    transform: translateY(50%);
    white-space: nowrap;
}

.pr-chart__scroll[b-gyw90leq98] {
    flex: 1 1 auto;
    overflow-x: auto;
    padding-top: 6px;
    margin-top: -6px;
}

.pr-chart__plot[b-gyw90leq98] {
    position: relative;
}

.pr-chart__grid[b-gyw90leq98] {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: var(--plot-h);
    border-bottom: 1px solid var(--mud-palette-text-secondary);
    pointer-events: none;
}

.pr-chart__grid i[b-gyw90leq98] {
    position: absolute;
    left: 0;
    right: 0;
    border-top: 1px solid var(--pr-line);
    opacity: 0.6;
}

/* Schwellenlinien liegen HINTER den Balken, damit sie keine Balkenbeschriftung kreuzen. */
.pr-threshold[b-gyw90leq98] {
    position: absolute;
    left: 0;
    right: 0;
    border-top: 1.5px dashed;
}

.pr-threshold em[b-gyw90leq98] {
    position: absolute;
    right: 2px;
    bottom: 2px;
    font-style: normal;
    font-size: 0.66rem;
    font-weight: 700;
    padding: 0 4px;
    border-radius: 4px;
    background: var(--mud-palette-surface);
}

.pr-threshold--red[b-gyw90leq98] {
    border-color: var(--pr-red-ink);
    color: var(--pr-red-ink);
}

.pr-threshold--orange[b-gyw90leq98] {
    border-color: var(--pr-orange-ink);
    color: var(--pr-orange-ink);
}

.pr-chart__cols[b-gyw90leq98] {
    display: flex;
    position: relative;
}

.pr-col[b-gyw90leq98] {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.pr-col__area[b-gyw90leq98] {
    height: var(--plot-h);
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 2px;
}

.pr-bar[b-gyw90leq98] {
    position: relative;
    border-radius: 4px 4px 0 0;
    display: flex;
    justify-content: center;
    z-index: 1;
}

.pr-bar__label[b-gyw90leq98] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 4px;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.pr-bar--short .pr-bar__label[b-gyw90leq98] {
    position: absolute;
    bottom: 100%;
    padding: 0 0 3px;
    color: var(--mud-palette-text-primary);
}

.pr-col__x[b-gyw90leq98] {
    padding-top: 8px;
    font-size: 0.72rem;
    color: var(--mud-palette-text-primary);
    white-space: nowrap;
}

.pr-legend[b-gyw90leq98] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--pr-line);
    font-size: 0.78rem;
}

.pr-legend__item[b-gyw90leq98] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
}

.pr-legend__item i[b-gyw90leq98] {
    width: 12px;
    height: 12px;
    border-radius: 3px;
}

/* ── Mobil ─────────────────────────────────────────────────────────────── */
@media (max-width: 960px) {
    .pr-config__grid[b-gyw90leq98],
    .pr-more__grid[b-gyw90leq98] {
        grid-template-columns: 1fr;
    }

    .pr-charts[b-gyw90leq98] {
        grid-template-columns: 1fr;
    }

    .pr-facet__name[b-gyw90leq98] {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pr-preset[b-gyw90leq98],
    .pr-toggle[b-gyw90leq98] {
        transition: none;
    }
}

/* ── Druck / PDF: alle Reiter untereinander, ohne Bedienelemente ───────── */
@media print {
    .pr-noprint[b-gyw90leq98] {
        display: none !important;
    }

    .pr-page[b-gyw90leq98] {
        padding: 0;
        max-width: none;
    }

    .pr-hero[b-gyw90leq98] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .pr-page[b-gyw90leq98]  .mud-tabs-tabbar {
        display: none !important;
    }

    .pr-page[b-gyw90leq98]  .pr-panel > div {
        display: block !important;
    }

    .pr-page[b-gyw90leq98]  .pr-panel > div + div {
        break-before: page;
    }

    .pr-table-wrap[b-gyw90leq98],
    .pr-table-wrap--scroll[b-gyw90leq98],
    .pr-chart__scroll[b-gyw90leq98] {
        max-height: none;
        overflow: visible;
    }

    .pr-table[b-gyw90leq98] {
        font-size: 0.72rem;
    }

    .pr-table th[b-gyw90leq98],
    .pr-table td[b-gyw90leq98] {
        padding: 3px 6px;
    }

    .pr-table thead th[b-gyw90leq98] {
        position: static;
    }

    .pr-table--bookings[b-gyw90leq98] {
        font-size: 0.64rem;
    }

    .pr-table--bookings th[b-gyw90leq98],
    .pr-table--bookings td[b-gyw90leq98] {
        padding: 2px 4px;
    }

    .pr-td--wide[b-gyw90leq98] {
        min-width: 0;
    }

    .pr-table tr[b-gyw90leq98],
    .pr-figure[b-gyw90leq98] {
        break-inside: avoid;
    }

    .pr-charts[b-gyw90leq98] {
        grid-template-columns: 1fr;
    }

    .pr-table thead th[b-gyw90leq98],
    .pr-row--total td[b-gyw90leq98],
    .pr-row--sub[b-gyw90leq98],
    .pr-m--red[b-gyw90leq98],
    .pr-m--orange[b-gyw90leq98],
    .pr-status--new[b-gyw90leq98],
    .pr-bar[b-gyw90leq98] {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}
