@import '_content/Maymoun.UiKit/Maymoun.UiKit.qy5t9mtb4o.bundle.scp.css';

/* /Components/Kit/Pages/KitListPage.razor.rz.scp.css */
/* W4-U2: status filters as chips in the toolbar (REDESIGN b1); one scrolling row on phones (b4). */
.kit-grid-chips[b-pxzt4dgbw4] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--mm-space-1);
}

@media (max-width: 599.98px) {
    .kit-grid-chips[b-pxzt4dgbw4] {
        flex-wrap: nowrap;
        overflow-x: auto;
        width: 100%;
    }
}

/* W4-U2 run 3: New as an extended floating button at the bottom end on phones (REDESIGN b4, §6: FAB at bottom-end). */
.kit-fab-new[b-pxzt4dgbw4] {
    display: none;
}

@media (max-width: 599.98px) {
    .kit-fab-new[b-pxzt4dgbw4] {
        display: block;
        position: fixed;
        inset-block-end: var(--mm-space-4);
        inset-inline-end: var(--mm-space-4);
        z-index: 1200;
    }

    [b-pxzt4dgbw4] .kit-list-new-desktop {
        display: none;
    }
}
/* /Components/Layout/MaymounMenuItem.razor.rz.scp.css */
.lpx-menu-item-link[data-maymoun-destination]:focus-visible[b-x3bod19vey] {
    outline: 2px solid var(--mm-focus);
    outline-offset: -2px;
}

/* Touch targets in the phone menu, which serves every width below 992 px (UX-16, FIX-UX2; gap-free, as kit.css). */
@media not all and (min-width: 992px) {
    .lpx-menu-item-link[data-maymoun-destination][b-x3bod19vey] {
        min-height: 44px;
    }
}
/* /Components/Layout/MaymounShellLayout.razor.rz.scp.css */
/* UX-07: the phone bar's account and menu triggers are buttons now. They keep the theme's .lpx-icon look (colour, glyph size)
   and drop the browser's button chrome; each is at least 44 x 44 CSS px and shows a visible keyboard focus. */
.maymoun-shell-toggle[b-ilh7wcii6u] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: inherit;
    font: inherit;
    line-height: 1;
    cursor: pointer;
}

.maymoun-shell-toggle:focus-visible[b-ilh7wcii6u] {
    outline: 2px solid var(--mm-focus);
    outline-offset: 2px;
}

.maymoun-shell-toggle[aria-expanded="true"][b-ilh7wcii6u] {
    background: var(--mm-primary-tint);
}

/* UX-07 (review-07 M1): the theme pins the account menu to the chip's physical right (inline style). Anchor it to the chip's
   inline end instead: the right edge in English (as the theme does), the left edge in Arabic, so it always opens inward. */
.lpx-topbar[b-ilh7wcii6u]  .dropdown-menu[aria-labelledby="userDropdown"] {
    inset-inline-end: 0 !important;
    inset-inline-start: auto !important;
}

/* UX-07 residual (FIX-UX2): the account menu's items (my notifications, my security, sign out) were 35 px high; each is now at
   least 44 px, icon and text centred on the row in reading order, with the kit's visible keyboard focus inside the row. */
.lpx-topbar[b-ilh7wcii6u]  .dropdown-menu[aria-labelledby="userDropdown"] .dropdown-item {
    display: flex;
    align-items: center;
    gap: var(--mm-space-2);
    min-block-size: 44px;
}

.lpx-topbar[b-ilh7wcii6u]  .dropdown-menu[aria-labelledby="userDropdown"] .dropdown-item:focus-visible {
    outline: 2px solid var(--mm-focus);
    outline-offset: -2px;
}

/* Readiness: until the first interactive render the triggers are inert (no handlers yet); they are dimmed to show that they
   are not ready. No cursor here: an inert element takes no pointer, so a cursor on it never shows (review A L3). */
.user-menu[inert] .maymoun-shell-toggle[b-ilh7wcii6u] {
    opacity: 0.5;
}

/* UX-02: on the phone layout (the phone bar shows at every width below 992 px since UX-16, FIX-UX2: the same gap-free
   "not all and (min-width: 992px)" as kit.css; its navbar is sticky, 72 px, z-index 110) an open panel overlays the page below the navbar and
   the city bar instead of pushing the page down. The city bar stays visible under the navbar while a panel is open, so the
   city control is never covered. The panel scrolls on its own and keeps the scroll from chaining to the page; it sits below
   the bars and below MudBlazor's popovers and dialogs (z-index 1200+). */
@media not all and (min-width: 992px) {
    .lpx-mobile-navbar-container[b-ilh7wcii6u] {
        --maymoun-phone-navbar: 72px;
        --maymoun-phone-citybar: 48px;
    }

    .maymoun-phone-panel-open .maymoun-phone-citybar[b-ilh7wcii6u] {
        position: sticky;
        top: var(--maymoun-phone-navbar);
        z-index: 110;
        background: var(--mm-surface);
    }

    .user-menu-groups[b-ilh7wcii6u],
    .lpx-mobile-nav-items[b-ilh7wcii6u] {
        position: fixed;
        top: calc(var(--maymoun-phone-navbar) + var(--maymoun-phone-citybar));
        inset-inline: 0;
        bottom: 0;
        height: auto;
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        z-index: 105;
        border-block-start: 1px solid var(--mm-line);
    }

    /* UX-07 (browser check 2026-11-08; same at the baseline, audit shots 76/77): kit.css makes this panel white, but the theme
       styles its rows for its dark bar (white text: a blank panel) and hides the account actions behind div toggles that a
       keyboard cannot reach (the actions' grey reads about 2.9:1 on white). As in the main menu, the groups stay open: the
       language and user rows read as headings, inbox, security and sign-out are plain links in the text colour, at least 44px
       high. The theme's toggle script keeps running; its d-none no longer hides anything here. */
    .user-menu-groups[b-ilh7wcii6u]  .btn-toggle,
    .user-menu-groups[b-ilh7wcii6u]  .btn-toggle *,
    .user-menu-groups[b-ilh7wcii6u]  .action-group-menu a.action {
        color: var(--mm-text);
    }

    .user-menu-groups[b-ilh7wcii6u]  .btn-toggle {
        pointer-events: none;
        cursor: default;
        font-weight: 600;
    }

    .user-menu-groups[b-ilh7wcii6u]  .action-group-menu {
        display: block !important;
    }

    .user-menu-groups[b-ilh7wcii6u]  .btn-toggle,
    .user-menu-groups[b-ilh7wcii6u]  .action-group-menu a.action {
        display: flex;
        align-items: center;
        gap: var(--mm-space-2);
        min-block-size: 44px;
    }

    #mobile-sidebar[b-ilh7wcii6u] {
        width: auto;
        min-width: 0;
        max-width: 100%;
        margin: 0;
    }
}
/* /Components/Pages/Campaigns/CampaignFormPage.razor.rz.scp.css */
/* axe color-contrast (serious) on the kit uploader's size line over the form background: the page gives it the primary
   text colour (the kit keeps its own grey elsewhere). */
[b-pyetjyf0t2] .kit-media-meta .kit-ltr {
    color: var(--mud-palette-text-primary);
}
/* /Components/Pages/Categories/CategoriesPage.razor.rz.scp.css */
/* Categories (canvas b1-b10): grouped rows of the two-level tree. Logical properties only (RTL/LTR); on phones the table
   becomes cards (b4, b10): name block on top, state and actions underneath, order and offers columns hidden. */
.cat-toolbar[b-1w7qldnv5v] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--mm-space-3, 12px);
    margin-block-end: var(--mm-space-3, 12px);
}

.cat-filters[b-1w7qldnv5v] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mm-space-2, 8px);
}

.cat-paper[b-1w7qldnv5v] {
    overflow: hidden;
}

.cat-table[b-1w7qldnv5v] {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
}

.cat-table th[b-1w7qldnv5v] {
    text-align: start;
    font-weight: 600;
    padding: 10px 12px;
    border-block-end: 1px solid var(--mm-line, #d9dde1);
    white-space: nowrap;
}

.cat-table td[b-1w7qldnv5v] {
    padding: 8px 12px;
    border-block-end: 1px solid var(--mm-line, #d9dde1);
    vertical-align: middle;
}

.cat-row:last-child td[b-1w7qldnv5v] {
    border-block-end: 0;
}

.cat-root td[b-1w7qldnv5v] {
    background: var(--mm-surface-subtle, rgba(0, 0, 0, .025));
    font-weight: 600;
}

.cat-child .cat-name-cell[b-1w7qldnv5v] {
    padding-inline-start: 32px;
}

.cat-name-cell[b-1w7qldnv5v] {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.cat-names[b-1w7qldnv5v] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    max-width: 360px;
}

.cat-other[b-1w7qldnv5v] {
    font-size: .8rem;
    font-weight: 400;
}

.cat-thumb[b-1w7qldnv5v] {
    flex: none;
    inline-size: 40px;
    block-size: 40px;
    border-radius: 8px;
    object-fit: cover;
    background: var(--mm-surface-subtle, rgba(0, 0, 0, .05));
}

.cat-thumb-empty[b-1w7qldnv5v] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--mm-text-secondary, #5f6368);
}

.cat-badge[b-1w7qldnv5v] {
    display: inline-block;
    margin-inline-start: 8px;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: .72rem;
    font-weight: 500;
    background: var(--mm-surface-subtle, rgba(0, 0, 0, .06));
    color: var(--mm-text-secondary, #4a4f55);
}

.cat-col-num[b-1w7qldnv5v] {
    text-align: center;
    white-space: nowrap;
}

.cat-col-actions[b-1w7qldnv5v] {
    text-align: end;
}

/* I-6: the creation date; the phone card shows it as a small secondary line with its label. */
.cat-table td.cat-col-created[b-1w7qldnv5v] {
    white-space: nowrap;
    font-weight: 400;
}

.cat-phone-label[b-1w7qldnv5v] {
    display: none;
}

.cat-actions[b-1w7qldnv5v] {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
}

@media (max-width: 599px) {
    .cat-table thead[b-1w7qldnv5v] {
        display: none;
    }

    .cat-table[b-1w7qldnv5v],
    .cat-table tbody[b-1w7qldnv5v],
    .cat-table tr[b-1w7qldnv5v],
    .cat-table td[b-1w7qldnv5v] {
        display: block;
        inline-size: 100%;
    }

    .cat-row[b-1w7qldnv5v] {
        padding: 8px 12px;
        border-block-end: 1px solid var(--mm-line, #d9dde1);
    }

    .cat-table td[b-1w7qldnv5v] {
        padding: 2px 0;
        border: 0;
        background: transparent;
    }

    .cat-table td.cat-col-num[b-1w7qldnv5v] {
        display: none;
    }

    .cat-table td.cat-col-state[b-1w7qldnv5v] {
        display: inline-block;
        inline-size: auto;
    }

    .cat-table td.cat-col-created[b-1w7qldnv5v] {
        font-size: .8125rem;
        color: var(--mm-text-secondary, #5f6368);
        white-space: normal;
    }

    .cat-phone-label[b-1w7qldnv5v] {
        display: inline;
    }

    .cat-child .cat-name-cell[b-1w7qldnv5v] {
        padding-inline-start: 20px;
    }

    .cat-names[b-1w7qldnv5v] {
        max-width: none;
    }

    .cat-actions[b-1w7qldnv5v] {
        justify-content: flex-start;
    }
}
/* /Components/Pages/Categories/CategoryFormPage.razor.rz.scp.css */
/* axe color-contrast: the kit uploader dims the picture info line with opacity .75 (3.08:1 on the page background once a
   picture is chosen). On this page the line uses the secondary text colour at full opacity. Kit follow-up for the owner of
   kit.css: drop the opacity there and every uploader page needs no override. */
[b-1q5ofgq6af] .kit-media-meta {
    opacity: 1;
    color: var(--mud-palette-text-secondary);
}
/* /Components/Pages/HomeSections/HomeSectionFormPage.razor.rz.scp.css */
/* UX-18: the wrapper of each picker (focus and the list's name) adds no box: the pickers stay items of their row. */
.hs-picker[b-6kwmh3fdgd] {
    display: contents;
}
/* /Components/Pages/Index.razor.rz.scp.css */
/* "Today" (W4-U1, REDESIGN-NOTES §2.3): greeting, then count tiles that are links (outlined papers, elevation 0). */
.maymoun-home[b-aih3ec7wo2] {
    max-width: 1100px;
}

.maymoun-today-header[b-aih3ec7wo2] {
    margin-block-end: 24px;
}

.maymoun-today-tiles[b-aih3ec7wo2] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}

.maymoun-today-tile[b-aih3ec7wo2] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 132px;
    padding: 16px 20px;
    border: 1px solid var(--mm-line, #E7E3DA);
    border-radius: var(--mm-radius-card, 12px);
    background: var(--mm-surface, #FFFFFF);
    color: var(--mm-text, #1D2125) !important;
    text-decoration: none !important;
}

.maymoun-today-tile:hover[b-aih3ec7wo2] {
    border-color: var(--mm-primary, #0F6B66);
    color: var(--mm-text, #1D2125);
}

.maymoun-today-tile-count[b-aih3ec7wo2] {
    color: var(--mm-text, #1D2125);
}

.maymoun-today-tile:focus-visible[b-aih3ec7wo2] {
    outline: 2px solid var(--mm-focus, #0F6B66);
    outline-offset: 2px;
}

.maymoun-today-tile-label[b-aih3ec7wo2] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--mm-text-secondary, #545B64);
    font-size: .875rem;
}

.maymoun-today-tile-count[b-aih3ec7wo2] {
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.2;
}

.maymoun-today-tile-note[b-aih3ec7wo2] {
    color: var(--mm-text-secondary, #545B64);
    font-size: .8125rem;
    line-height: 1.3;
}

.maymoun-today-tile-link[b-aih3ec7wo2] {
    margin-block-start: auto;
    color: var(--mm-primary-darken, #0B5450);
    font-size: .875rem;
    font-weight: 500;
}

/* FIX-UX2 (UX-04 remainder): create shortcuts below the tiles; 44 px targets, logical spacing (RTL-safe). */
.maymoun-today-shortcuts[b-aih3ec7wo2] {
    margin-block-start: 32px;
}

.maymoun-today-shortcuts-note[b-aih3ec7wo2] {
    margin-block: 4px 0;
    color: var(--mm-text-secondary, #545B64);
    font-size: .875rem;
}

.maymoun-today-shortcut-list[b-aih3ec7wo2] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-block-start: 12px;
}

.maymoun-today-shortcut-list[b-aih3ec7wo2]  .maymoun-today-shortcut {
    min-height: 44px;
    min-width: 44px;
    padding-inline: 16px;
}

@media (max-width: 599.98px) {
    .maymoun-today-shortcut-list[b-aih3ec7wo2]  .maymoun-today-shortcut {
        flex: 1 1 100%;
    }

    .maymoun-today-tiles[b-aih3ec7wo2] {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .maymoun-today-tile[b-aih3ec7wo2] {
        min-height: 112px;
        padding: 12px 14px;
    }
}
/* /Components/Pages/Notifications/DeliveryLogPage.razor.rz.scp.css */
/* W4-U2 (REDESIGN f3, tokens §5): the delivery-log detail as the end-side panel (left in Arabic), full-screen on
   phones. Logical properties only. */
.kit-panel-veil[b-u1z3v7q8ko] {
    position: fixed;
    inset: 0;
    z-index: 1300;
    background: rgba(29, 33, 37, .32);
}

.kit-side-panel[b-u1z3v7q8ko] {
    position: fixed;
    inset-block: 0;
    inset-inline-end: 0;
    z-index: 1301;
    display: flex;
    flex-direction: column;
    width: min(460px, 100vw);
    background: var(--mm-surface);
    box-shadow: var(--mm-shadow-16);
}

.kit-side-panel-head[b-u1z3v7q8ko] {
    display: flex;
    align-items: flex-start;
    gap: var(--mm-space-2);
    padding: var(--mm-space-4);
    border-bottom: 1px solid var(--mm-line);
}

.kit-side-panel-title[b-u1z3v7q8ko] {
    flex: 1 1 auto;
    min-width: 0;
}

.kit-side-panel-body[b-u1z3v7q8ko] {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: var(--mm-space-4);
}

.kit-facts[b-u1z3v7q8ko] {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: var(--mm-space-1) var(--mm-space-3);
    margin: var(--mm-space-3) 0 0;
}

.kit-facts dt[b-u1z3v7q8ko] {
    color: var(--mm-text-secondary);
}

.kit-facts dd[b-u1z3v7q8ko] {
    margin: 0;
}

.kit-mono[b-u1z3v7q8ko] {
    font-family: var(--mm-font-mono);
    font-size: 12px;
    white-space: pre-wrap;
    word-break: break-all;
    margin: 0;
    padding: var(--mm-space-2);
    background: var(--mm-surface-2);
    border-radius: var(--mm-radius);
}

.kit-technical summary[b-u1z3v7q8ko] {
    cursor: pointer;
    color: var(--mm-primary-darken);
    font-weight: 500;
}

@media (max-width: 599.98px) {
    .kit-side-panel[b-u1z3v7q8ko] {
        width: 100vw;
    }
}

/* Focus-trap sentinels: focusable, not visible. */
.kit-focus-sentinel[b-u1z3v7q8ko] {
    width: 0;
    height: 0;
    overflow: hidden;
}

.kit-side-panel:focus[b-u1z3v7q8ko] {
    outline: none;
}
/* /Components/Pages/Notifications/OffersPushHistoryPage.razor.rz.scp.css */
.offers-push-filters[b-ynkd8pmge5] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: end;
}

.offers-push-filters > *[b-ynkd8pmge5] {
    flex: 1 1 180px;
    min-width: 0;
}

.offers-push-row[b-ynkd8pmge5] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 20px;
    border-block-end: 1px solid var(--mud-palette-lines-default);
}

.offers-push-state[b-ynkd8pmge5] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-width: 260px;
}

.offers-push-row[b-ynkd8pmge5]  .mud-button-root {
    min-height: 44px;
    min-width: 44px;
}

.offers-push-row[b-ynkd8pmge5]  .mud-button-root:focus-visible,
.offers-push-select:focus-visible[b-ynkd8pmge5],
summary:focus-visible[b-ynkd8pmge5] {
    outline: 3px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

summary[b-ynkd8pmge5] {
    min-height: 44px;
    display: flex;
    align-items: center;
    cursor: pointer;
}

.offers-push-message[b-ynkd8pmge5] {
    flex: 1 1 220px;
    min-width: 0;
}

.offers-push-select[b-ynkd8pmge5] {
    display: block;
    width: 100%;
    min-height: 40px;
    padding: 8px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
}
/* /Components/Pages/Notifications/PushComposerPage.razor.rz.scp.css */
/* UX-07: 44px targets for the audience choices and the composer actions, with visible keyboard focus. */
.push-audience > label[b-n5ubwximi2] {
    min-height: 44px;
}

.push-audience input[type="radio"][b-n5ubwximi2] {
    width: 22px;
    height: 22px;
}

.push-audience input[type="radio"]:focus-visible[b-n5ubwximi2] {
    outline: 3px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

[data-testid="push-composer-send"][b-n5ubwximi2],
[data-testid="push-composer-confirm"][b-n5ubwximi2],
[data-testid="push-composer-back"][b-n5ubwximi2] {
    min-height: 44px;
    min-width: 44px;
}
/* /Components/Pages/Notifications/TemplatesPage.razor.rz.scp.css */
/* UX-15: the channel list of the template editor: one row per provider setting, name first, its states after it.
   Logical properties only (Arabic is right to left). */
.template-channels[b-eutvzbo23y] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--mm-space-1);
}

.template-channel[b-eutvzbo23y] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--mm-space-2);
    padding-block: var(--mm-space-1);
    padding-inline: var(--mm-space-2);
    border: 1px solid var(--mm-line);
    border-radius: var(--mm-radius);
}

/* UX-07: the channel checkbox (its whole label is the press target) is at least 44px high. */
.template-channel-toggle[b-eutvzbo23y] {
    display: inline-flex;
    align-items: center;
    min-block-size: 44px;
}

.template-channel-toggle[b-eutvzbo23y]  .mud-checkbox {
    min-block-size: 44px;
}

.template-channel-selected[b-eutvzbo23y] {
    border-color: var(--mm-primary-darken);
    background: var(--mm-surface-2);
}

.template-channel-states[b-eutvzbo23y] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--mm-space-1);
    margin-inline-start: auto;
}

@media (max-width: 599.98px) {
    .template-channel-states[b-eutvzbo23y] {
        margin-inline-start: 0;
    }
}

/* UX-08: the reasons a notice would reach nobody, one per line under the warning. */
.template-delivery-list[b-eutvzbo23y] {
    margin-block: var(--mm-space-1) 0;
    margin-inline: 0;
    padding-inline-start: var(--mm-space-4);
}
/* /Components/Pages/OfferEntries/OfferEntriesPage.razor.rz.scp.css */
/* UX-06 / UX-07: phone-only collapsible status filter; the search field and the active-filter summary stay visible. */
.oe-filter-bar[b-n8no989bux] {
    display: none;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.oe-filter-toggle[b-n8no989bux],
.oe-filter-clear[b-n8no989bux] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 44px;
    min-width: 44px;
    padding: 8px 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.oe-filter-clear[b-n8no989bux] {
    border-color: transparent;
    color: var(--mud-palette-primary);
    text-decoration: underline;
}

.oe-filter-toggle:focus-visible[b-n8no989bux],
.oe-filter-clear:focus-visible[b-n8no989bux] {
    outline: 3px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.oe-filter-summary[b-n8no989bux] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}

/* .oe-action is a MudButton's class: its element is rendered by MudButton and carries no scope attribute of this page, so
   the rules reach it through a scoped ancestor (::deep). */
.kit-page-header[b-n8no989bux]  .oe-action:focus-visible {
    outline: 3px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

@media (max-width: 959.98px) {
    .kit-page-header[b-n8no989bux]  .oe-action {
        min-height: 44px;
    }

    /* UX-07: 44 px targets on phones: the batch name that opens it, and the grid's no-match "Clear search and filters"
       (a kit MudButton, 35 px by default). The theme's link rule sets only colour and underline, not size. */
    [data-testid="offer-entries-grid"][b-n8no989bux]  .oe-open-link {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }

    [data-testid="offer-entries-grid"][b-n8no989bux]  [data-testid="kit-grid-clear-search"] {
        min-height: 44px;
    }

    .oe-filter-body[b-n8no989bux]  .mud-chip {
        min-height: 44px;
    }

    .oe-filter-bar[b-n8no989bux] {
        display: flex;
    }

    .oe-filter-body[b-n8no989bux] {
        display: none;
    }

    .oe-filter-body.is-open[b-n8no989bux] {
        display: block;
    }
}
/* /Components/Pages/Offers/OfferReadView.razor.rz.scp.css */
/* The offer's own page (LargeImages): the stored processed main picture in a bounded square frame (no layout jump while it
   loads; a picture that is not square is letterboxed, never cropped or enlarged past its file). */
.offer-read-main[b-9w4q360rwh] {
    display: block;
    width: min(100%, 480px);
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: 10px;
    overflow: hidden;
    background: var(--mud-palette-background-gray, #f4f4f4);
}

.offer-read-main img[b-9w4q360rwh] {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: scale-down; /* contain for a large file, its own size for a small one: never enlarged */
}

.offer-read-main:focus-visible[b-9w4q360rwh] {
    outline: 3px solid var(--mud-palette-primary);
    outline-offset: 2px;
}
/* /Components/Pages/Offers/OffersPage.razor.rz.scp.css */
/* UX-06 / UX-07: phone-only disclosure of the optional offer filters (CSS only: the pickers stay mounted), 44px row actions. */
.offers-filter-bar[b-8tswbg4yab] {
    display: none;
}

/* UX-18: the wrapper of each filter picker (focus and the list's name) adds no box: the pickers stay items of their row. */
.offers-facet[b-8tswbg4yab] {
    display: contents;
}

.offers-filter-toggle[b-8tswbg4yab],
.offers-filter-clear[b-8tswbg4yab],
.offers-add-link[b-8tswbg4yab] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-height: 44px;
    min-width: 44px;
    padding: 8px 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.offers-filter-clear[b-8tswbg4yab],
.offers-add-link[b-8tswbg4yab] {
    border-color: transparent;
    color: var(--mud-palette-primary);
    text-decoration: underline;
}

.offers-filter-toggle:focus-visible[b-8tswbg4yab],
.offers-filter-clear:focus-visible[b-8tswbg4yab],
.offers-add-link:focus-visible[b-8tswbg4yab] {
    outline: 3px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.offers-filter-summary[b-8tswbg4yab] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    width: 100%;
}

.offers-add-hint[b-8tswbg4yab] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 12px;
}

.offers-filter-body[b-8tswbg4yab] {
    display: contents;
}

.offers-actions[b-8tswbg4yab]  .mud-icon-button {
    min-width: 44px;
    min-height: 44px;
}

.offers-actions[b-8tswbg4yab]  .mud-icon-button:focus-visible {
    outline: 3px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

/* UX-07: the offer title opens the quick preview: a button that reads as the row's link (underlined, start-aligned). */
.offers-title-link[b-8tswbg4yab] {
    display: inline;
    max-width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--mud-palette-primary);
    font: inherit;
    text-align: start;
    text-decoration: underline;
    text-underline-offset: 2px;
    overflow-wrap: anywhere;
    cursor: pointer;
}

.offers-title-link:focus-visible[b-8tswbg4yab],
.offers-add-dismiss:focus-visible[b-8tswbg4yab] {
    outline: 3px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.offers-add-text[b-8tswbg4yab] {
    flex: 1 1 12rem;
    min-width: 0;
}

.offers-add-dismiss[b-8tswbg4yab] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    margin-inline-start: auto;
    padding: 0;
    border: 0;
    border-radius: var(--mud-default-borderradius);
    background: transparent;
    color: inherit;
    cursor: pointer;
}

.kit-page[b-8tswbg4yab]  .offers-add-alert .mud-alert-message {
    flex: 1 1 auto;
    min-width: 0;
}

/* The "offers are added in batches" hint on phones: no icon, smaller text, the link and the close button on its line. */
@media (max-width: 599.98px) {
    .kit-page[b-8tswbg4yab]  .offers-add-alert {
        padding-block: 0;
        padding-inline: 8px;
    }

    .kit-page[b-8tswbg4yab]  .offers-add-alert .mud-alert-icon {
        display: none;
    }

    .kit-page[b-8tswbg4yab]  .offers-add-alert .mud-alert-message {
        padding-block: 0;
    }

    .offers-add-hint[b-8tswbg4yab] {
        gap: 0 4px;
        font-size: .8125rem;
        line-height: 1.35;
    }

    .offers-add-link[b-8tswbg4yab] {
        padding: 0 8px;
    }
}

@media (max-width: 959.98px) {
    .offers-title-link[b-8tswbg4yab] {
        display: inline-flex;
        align-items: center;
        min-width: 44px;
        min-height: 44px;
    }

    /* UX-07: the grid's no-match "Clear search and filters" (a kit MudButton, 35 px by default). */
    [data-testid="offers-grid"][b-8tswbg4yab]  [data-testid="kit-grid-clear-search"] {
        min-height: 44px;
    }

    .offers-filter-bar[b-8tswbg4yab] {
        display: block;
    }

    .offers-filter-body[b-8tswbg4yab] {
        display: none;
    }

    .offers-filter-body.is-open[b-8tswbg4yab] {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        width: 100%;
    }

    .offers-filter-body[b-8tswbg4yab]  .mud-chip {
        min-height: 44px;
    }

    .offers-filter-body[b-8tswbg4yab]  .mud-switch {
        min-height: 44px;
    }
}
/* /Components/Pages/Vendors/VendorEditPage.razor.rz.scp.css */
/* UX-06 / UX-07: phone-only disclosure of optional vendor fields and 44px action targets. Inputs stay in the DOM. */
.vendor-disclosure-toggle[b-77njo2jkvw] {
    display: none;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 44px;
    padding: 8px 12px;
    border: 1px solid var(--mud-palette-lines-default);
    border-radius: var(--mud-default-borderradius);
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.vendor-disclosure-toggle:focus-visible[b-77njo2jkvw] {
    outline: 3px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

.vendor-disclosure-optional[b-77njo2jkvw] {
    color: var(--mud-palette-text-secondary);
}

.vendor-steps[b-77njo2jkvw]  .mud-button-root,
.vendor-actions[b-77njo2jkvw]  .mud-button-root {
    min-height: 44px;
    min-width: 44px;
}

.vendor-steps[b-77njo2jkvw]  .mud-button-root:focus-visible,
.vendor-actions[b-77njo2jkvw]  .mud-button-root:focus-visible {
    outline: 3px solid var(--mud-palette-primary);
    outline-offset: 2px;
}

@media (max-width: 959.98px) {
    .vendor-disclosure-toggle[b-77njo2jkvw] {
        display: flex;
    }

    .vendor-disclosure-body[b-77njo2jkvw] {
        display: none;
        margin-block-start: 12px;
    }

    .vendor-disclosure-body.is-open[b-77njo2jkvw] {
        display: block;
    }

    /* The main action stays reachable while the form scrolls. */
    .vendor-actions[b-77njo2jkvw] {
        position: sticky;
        bottom: 0;
        z-index: 2;
        padding-block: 8px;
        background: var(--mud-palette-surface);
    }
}
