/* /Components/Admin/AdminNotice.razor.rz.scp.css */
/* AdminNotice keeps Bootstrap's alert markup; these rules tone it to the dark admin panel wherever it is used. */

.alert[b-fmc7fvdukk] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0.7rem 2.6rem 0.7rem 1rem;
    border-radius: var(--posh-admin-radius-md);
    font-size: 0.9rem;
    line-height: 1.7;
}

.alert-success[b-fmc7fvdukk] {
    border: 1px solid color-mix(in srgb, var(--posh-admin-success, #2e7d32) 30%, transparent);
    background: color-mix(in srgb, var(--posh-admin-success, #2e7d32) 12%, transparent);
    color: var(--posh-admin-success, #2e7d32);
}

.alert-danger[b-fmc7fvdukk] {
    border: 1px solid color-mix(in srgb, var(--posh-admin-error) 30%, transparent);
    background: color-mix(in srgb, var(--posh-admin-error) 10%, transparent);
    color: var(--posh-admin-error);
}

.alert .btn-close[b-fmc7fvdukk] {
    inset-inline-end: 0.75rem;
    inset-inline-start: auto;
    filter: invert(1) grayscale(1);
    opacity: 0.6;
}

.alert .btn-close:hover[b-fmc7fvdukk] {
    opacity: 1;
}
/* /Components/Admin/ColorManagement.razor.rz.scp.css */
.color-page[b-qfmrq2jn23] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    color: var(--posh-admin-on-surface);
}

.dashboard-page-header[b-qfmrq2jn23] {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--posh-admin-space-md);
    min-height: 5rem;
    margin-inline: calc(-1 * var(--posh-admin-gutter));
    padding-inline: var(--posh-admin-gutter);
    border-bottom: 1px solid var(--posh-admin-outline-variant);
    background: color-mix(in oklab, var(--posh-admin-surface) 50%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.color-page-title[b-qfmrq2jn23],
.color-page-subtitle[b-qfmrq2jn23] {
    margin: 0;
}

.color-page-subtitle[b-qfmrq2jn23] {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.65;
}

.color-alert[b-qfmrq2jn23] {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border: 1px solid color-mix(in oklab, var(--posh-admin-error) 45%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--posh-admin-error-container) 35%, transparent);
    color: var(--posh-admin-error);
    font-size: var(--posh-admin-text-body-sm-size);
}

.color-alert-success[b-qfmrq2jn23] {
    border-color: color-mix(in oklab, var(--posh-admin-success-outline) 40%, transparent);
    background: color-mix(in oklab, var(--posh-admin-success-container) 18%, transparent);
    color: var(--posh-admin-success);
}

.color-panel[b-qfmrq2jn23] {
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
    padding: var(--posh-admin-space-md);
}

.color-section-title[b-qfmrq2jn23] {
    margin: 0 0 0.75rem;
    color: var(--posh-admin-on-surface);
    font-size: var(--posh-admin-text-headline-sm-size);
}

.color-state-message[b-qfmrq2jn23] {
    color: var(--posh-admin-on-surface-variant);
}

.color-form-grid[b-qfmrq2jn23] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    align-items: end;
}

.color-field[b-qfmrq2jn23] {
    grid-column: span 3;
}

.color-field-submit[b-qfmrq2jn23] {
    grid-column: span 3;
    display: flex;
    align-items: flex-end;
}

.color-label[b-qfmrq2jn23] {
    display: block;
    font-size: var(--posh-admin-text-label-md-size);
    text-transform: uppercase;
    letter-spacing: var(--posh-admin-text-label-md-tracking);
    color: var(--posh-admin-on-surface-variant);
    margin-bottom: 0.35rem;
}

.color-input[b-qfmrq2jn23] {
    width: 100%;
    box-sizing: border-box;
    border-radius: var(--posh-admin-radius-lg);
    border: 1px solid var(--posh-admin-outline-variant);
    background: var(--posh-admin-surface-container-high);
    color: var(--posh-admin-on-surface);
    padding: 0.45rem 0.6rem;
    font-size: var(--posh-admin-text-body-sm-size);
}

.color-input:focus[b-qfmrq2jn23] {
    outline: none;
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 1px var(--posh-admin-primary);
}

.color-btn[b-qfmrq2jn23] {
    appearance: none;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--posh-admin-space-xs);
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    cursor: pointer;
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.color-btn-primary[b-qfmrq2jn23] {
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
    border-color: color-mix(in oklab, var(--posh-admin-primary) 75%, var(--posh-admin-outline-variant));
}

.color-btn-primary:hover:not(:disabled)[b-qfmrq2jn23] {
    transform: scale(0.97);
}

.color-btn-ghost[b-qfmrq2jn23] {
    color: var(--posh-admin-on-surface-variant);
    border-color: var(--posh-admin-outline-variant);
    background: transparent;
}

.color-btn-ghost:hover:not(:disabled)[b-qfmrq2jn23] {
    color: var(--posh-admin-on-surface);
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 24%, transparent);
}

.color-col-swatch[b-qfmrq2jn23] {
    grid-column: span 2;
    display: flex;
    align-items: center;
    justify-content: center;
}

.color-col-farsi[b-qfmrq2jn23] {
    grid-column: span 4;
}

.color-col-english[b-qfmrq2jn23] {
    grid-column: span 3;
}

.color-col-hex[b-qfmrq2jn23] {
    grid-column: span 3;
}

.color-grid[b-qfmrq2jn23] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 0.75rem;
    row-gap: 0.35rem;
    align-items: center;
    padding: 0.55rem 0.5rem;
    border-radius: var(--posh-admin-radius-md);
}

.color-grid-head[b-qfmrq2jn23] {
    font-size: var(--posh-admin-text-label-md-size);
    text-transform: uppercase;
    letter-spacing: var(--posh-admin-text-label-md-tracking);
    color: var(--posh-admin-on-surface-variant);
    border-bottom: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    margin-bottom: 0.25rem;
    padding-bottom: 0.5rem;
}

.color-grid-row[b-qfmrq2jn23] {
    border: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    margin-top: 0.4rem;
    transition: background-color 0.2s ease;
}

.color-grid-row:hover[b-qfmrq2jn23] {
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 10%, transparent);
}

.color-cell[b-qfmrq2jn23] {
    min-width: 0;
    font-size: var(--posh-admin-text-body-sm-size);
}

.color-mono[b-qfmrq2jn23] {
    font-variant-numeric: tabular-nums;
}

.color-swatch[b-qfmrq2jn23] {
    width: 2rem;
    height: 2rem;
    border-radius: 0.35rem;
    border: 1px solid var(--posh-admin-outline-variant);
    box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--posh-admin-on-surface) 12%, transparent);
}

.color-maintenance[b-qfmrq2jn23] {
    margin-top: 1rem;
    border-color: color-mix(in oklab, #f59e0b 28%, var(--posh-admin-outline-variant));
    background: linear-gradient(
        155deg,
        color-mix(in oklab, #f59e0b 6%, transparent),
        color-mix(in oklab, var(--posh-admin-surface-container-low) 88%, transparent)
    );
    box-shadow: 0 0 0 1px color-mix(in oklab, #f59e0b 12%, transparent);
}

.color-maint-hint[b-qfmrq2jn23] {
    margin: 0 0 1rem;
    font-size: 0.82rem;
    line-height: 1.45;
    color: var(--posh-admin-on-surface-variant);
    max-width: 42rem;
}

.color-btn-migrate[b-qfmrq2jn23] {
    border-color: color-mix(in oklab, #f59e0b 42%, var(--posh-admin-outline-variant));
    background: color-mix(in oklab, var(--posh-admin-on-surface) 6%, transparent);
    color: var(--posh-admin-on-surface);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    font-size: 0.78rem;
}

.color-btn-migrate:hover:not(:disabled)[b-qfmrq2jn23] {
    border-color: color-mix(in oklab, #f59e0b 55%, var(--posh-admin-outline-variant));
    background: color-mix(in oklab, #f59e0b 10%, transparent);
}

@media (max-width: 768px) {
    .color-form-grid .color-field[b-qfmrq2jn23],
    .color-form-grid .color-field-submit[b-qfmrq2jn23] {
        grid-column: 1 / -1;
    }

    .color-grid.color-grid-head[b-qfmrq2jn23],
    .color-grid.color-grid-row[b-qfmrq2jn23] {
        grid-template-columns: 1fr;
    }

    .color-col-swatch[b-qfmrq2jn23],
    .color-col-farsi[b-qfmrq2jn23],
    .color-col-english[b-qfmrq2jn23],
    .color-col-hex[b-qfmrq2jn23] {
        grid-column: 1 / -1;
    }

    .color-col-swatch[b-qfmrq2jn23] {
        justify-content: flex-start;
    }
}
/* /Components/Admin/ExternalSaleWizard.razor.rz.scp.css */
/*
 * The external-sale sheet, shared by the current dashboard and the beta. Mobile-first like
 * Dashboard.razor.css: the base layer targets a 320px phone and the 769px breakpoint restores the
 * desktop composition. Buttons, fields and alerts are repeated here because scoped CSS from a host
 * page does not reach into this component.
 */

/* ---------- Banner ---------- */

.dashboard-alert[b-sz4kbf8tg7] {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border: 1px solid color-mix(in oklab, var(--posh-admin-error) 45%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--posh-admin-error-container) 35%, transparent);
    color: var(--posh-admin-error);
    font-size: var(--posh-admin-text-body-sm-size);
}

.dashboard-alert--success[b-sz4kbf8tg7] {
    border-color: color-mix(in oklab, var(--posh-admin-success-outline) 40%, transparent);
    background: color-mix(in oklab, var(--posh-admin-success-container) 18%, transparent);
    color: var(--posh-admin-success);
}

.dashboard-success-banner[b-sz4kbf8tg7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

/* ---------- Buttons ---------- */

.dashboard-btn[b-sz4kbf8tg7] {
    appearance: none;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--posh-admin-space-xs);
    min-block-size: 44px;
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    color: var(--posh-admin-on-surface);
    background: transparent;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
    font-family: var(--posh-admin-font);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    letter-spacing: var(--posh-admin-text-label-md-tracking);
}

.dashboard-btn:focus-visible[b-sz4kbf8tg7] {
    outline: none;
    border-color: var(--posh-admin-primary-fixed-dim);
    box-shadow: 0 0 0 2px color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 40%, transparent);
}

.dashboard-btn:disabled[b-sz4kbf8tg7] {
    opacity: 0.55;
    cursor: not-allowed;
}

.dashboard-btn-primary[b-sz4kbf8tg7] {
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
    border-color: color-mix(in oklab, var(--posh-admin-primary) 75%, var(--posh-admin-outline-variant));
}

.dashboard-btn-primary:hover:not(:disabled)[b-sz4kbf8tg7] {
    transform: scale(0.97);
}

.dashboard-btn-ghost[b-sz4kbf8tg7] {
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    border-color: var(--posh-admin-outline-variant);
}

.dashboard-btn-ghost:hover:not(:disabled)[b-sz4kbf8tg7] {
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 24%, transparent);
    color: var(--posh-admin-on-surface);
}

/*
 * While an iOS keyboard is up the layout viewport (and the fixed .modal) may be scrolled under it;
 * the sheet follows the visual viewport's top so it never starts off screen. Specificity beats
 * Bootstrap's `.modal.show .modal-dialog { transform: none }`.
 */
.modal.show .dashboard-external-sale-modal[b-sz4kbf8tg7] {
    transform: translateY(var(--dashboard-viewport-top, 0px));
}

.dashboard-external-sale-modal.modal-dialog-centered[b-sz4kbf8tg7] {
    align-items: flex-start;
}

/* ---------- External-sale sheet ---------- */

/*
 * Bootstrap's centred dialog grows past the viewport and lets the outer .modal be the only
 * scroller, which pushed the footer 1214px below the fold with four item rows and left the close
 * button and the save button unable to share a screen. The panel is capped to the viewport and the
 * body is the single contained scroll region, so the header and footer stay pinned.
 */
.dashboard-modal-panel[b-sz4kbf8tg7] {
    display: flex;
    flex-direction: column;
    /*
     * ExternalSaleWizard.razor.js writes the visual viewport's height here while the sheet is open, so an
     * iOS keyboard (which never shrinks 100dvh) still leaves the footer and the lower fields in
     * reach. Without the script, or on a browser that resizes 100dvh itself, this is plain 100dvh.
     */
    max-block-size: var(--dashboard-visual-height, 100dvh);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
    color: var(--posh-admin-on-surface);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

/*
 * The header carries the title, the close control and the progress indicator, and stays pinned:
 * the admin must always be able to see which step they are on and get out.
 */
.dashboard-modal-panel .modal-header[b-sz4kbf8tg7] {
    flex-shrink: 0;
    flex-wrap: wrap;
    row-gap: var(--posh-admin-space-xs);
    border-color: var(--posh-admin-outline-variant);
}

/* ---------- Wizard progress ---------- */

.dashboard-wizard-progress[b-sz4kbf8tg7] {
    flex-basis: 100%;
    min-inline-size: 0;
}

.dashboard-wizard-steps[b-sz4kbf8tg7] {
    display: flex;
    gap: var(--posh-admin-space-xs);
    list-style: none;
    margin: 0;
    padding: 0;
}

.dashboard-wizard-step[b-sz4kbf8tg7] {
    flex: 1 1 0;
    min-inline-size: 0;
}

.dashboard-wizard-step-chip[b-sz4kbf8tg7] {
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--posh-admin-space-xs);
    inline-size: 100%;
    min-block-size: 44px;
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    font-family: var(--posh-admin-font);
    font-size: var(--posh-admin-text-label-md-size);
    line-height: var(--posh-admin-text-label-md-line);
    text-align: center;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.dashboard-wizard-step-chip:focus-visible[b-sz4kbf8tg7] {
    outline: none;
    border-color: var(--posh-admin-primary-fixed-dim);
    box-shadow: 0 0 0 2px color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 40%, transparent);
}

/* A locked step is a span, so it needs the disabled affordance spelled out. */
.dashboard-wizard-step-chip[aria-disabled="true"][b-sz4kbf8tg7] {
    opacity: 0.55;
    cursor: not-allowed;
}

.dashboard-wizard-step.is-current .dashboard-wizard-step-chip[b-sz4kbf8tg7] {
    border-color: var(--posh-admin-primary-fixed-dim);
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 18%, transparent);
    color: var(--posh-admin-on-surface);
}

.dashboard-wizard-step-index[b-sz4kbf8tg7] {
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}

.dashboard-wizard-step-label[b-sz4kbf8tg7] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ---------- Step panels ---------- */

.dashboard-wizard-panel[b-sz4kbf8tg7] {
    animation: dashboardWizardForward-b-sz4kbf8tg7 180ms ease both;
}

.dashboard-wizard-panel.is-back[b-sz4kbf8tg7] {
    animation: dashboardWizardBack-b-sz4kbf8tg7 180ms ease both;
}

@keyframes dashboardWizardForward-b-sz4kbf8tg7 {
    from {
        opacity: 0;
        transform: translateX(1rem);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes dashboardWizardBack-b-sz4kbf8tg7 {
    from {
        opacity: 0;
        transform: translateX(-1rem);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* ---------- Step 2 summary ---------- */

.dashboard-wizard-summary[b-sz4kbf8tg7] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
    margin-bottom: var(--posh-admin-space-sm);
    padding: var(--posh-admin-space-sm);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: color-mix(in oklab, var(--posh-admin-surface-container-high) 40%, transparent);
}

.dashboard-wizard-summary-figures[b-sz4kbf8tg7] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-sm);
    margin: 0;
}

.dashboard-wizard-summary-figures div[b-sz4kbf8tg7] {
    min-inline-size: 0;
}

.dashboard-wizard-summary-figures dt[b-sz4kbf8tg7] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    font-weight: inherit;
}

.dashboard-wizard-summary-figures dd[b-sz4kbf8tg7] {
    margin: 0;
    color: var(--posh-admin-on-surface);
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

.dashboard-wizard-summary-edit[b-sz4kbf8tg7] {
    align-self: flex-start;
}

/* ---------- Footer running total ---------- */

.dashboard-wizard-totals[b-sz4kbf8tg7] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--posh-admin-space-xs);
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    font-variant-numeric: tabular-nums;
}

.dashboard-modal-panel .modal-body[b-sz4kbf8tg7] {
    flex: 1 1 auto;
    min-block-size: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.dashboard-modal-panel .modal-footer[b-sz4kbf8tg7] {
    flex-shrink: 0;
    flex-direction: column;
    align-items: stretch;
    gap: var(--posh-admin-space-xs);
    border-color: var(--posh-admin-outline-variant);
    padding-block-end: calc(var(--posh-admin-space-sm) + env(safe-area-inset-bottom, 0px));
}

/* The error used to render at the top of the body, 1181px above a footer-anchored viewport. */
.dashboard-modal-error[b-sz4kbf8tg7] {
    margin: 0;
}

.dashboard-modal-actions[b-sz4kbf8tg7] {
    display: flex;
    justify-content: flex-end;
    gap: var(--posh-admin-space-xs);
}

.dashboard-modal-actions .dashboard-btn[b-sz4kbf8tg7] {
    flex: 1 1 0;
    min-inline-size: 0;
}

.dashboard-modal-panel .modal-title[b-sz4kbf8tg7] {
    color: var(--posh-admin-on-surface);
}

.dashboard-modal-panel .btn-close[b-sz4kbf8tg7] {
    min-block-size: 44px;
    min-inline-size: 44px;
    background-position: center;
    filter: invert(1) grayscale(100%) brightness(190%);
}

.dashboard-modal-panel .btn-close:focus-visible[b-sz4kbf8tg7] {
    outline: none;
    box-shadow: 0 0 0 2px color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 40%, transparent);
}

html[data-theme="light"] .dashboard-modal-panel .btn-close[b-sz4kbf8tg7] {
    filter: none;
}

.dashboard-form-section-title[b-sz4kbf8tg7] {
    margin: 0.75rem 0 0.5rem;
    color: var(--posh-admin-on-surface-variant);
    text-transform: uppercase;
}

.dashboard-field[b-sz4kbf8tg7] {
    margin-bottom: 0.85rem;
    /* With the footer pinned, a focused field has to scroll clear of it, not under it. */
    scroll-margin-block-end: 6rem;
}

.dashboard-field-last[b-sz4kbf8tg7] {
    margin-bottom: 0;
}

.dashboard-label[b-sz4kbf8tg7] {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--posh-admin-on-surface-variant);
}

/* 1rem is the floor that stops iOS Safari zooming the viewport when a field takes focus. */
.dashboard-input[b-sz4kbf8tg7] {
    min-block-size: 44px;
    background: var(--posh-admin-surface-container-high);
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-lg);
    color: var(--posh-admin-on-surface);
    font-size: 1rem;
}

textarea.dashboard-input[b-sz4kbf8tg7] {
    min-block-size: 5rem;
}

.dashboard-input:focus[b-sz4kbf8tg7] {
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 1px var(--posh-admin-primary);
    outline: none;
}

.dashboard-input[b-sz4kbf8tg7]::placeholder {
    color: color-mix(in oklab, var(--posh-admin-on-surface-variant) 70%, transparent);
}

.dashboard-input:disabled[b-sz4kbf8tg7] {
    opacity: 0.6;
}

/* Variant labels run past 35 characters; let the native picker carry the full text. */
select.dashboard-input[b-sz4kbf8tg7] {
    text-overflow: ellipsis;
}

.dashboard-external-sale-items[b-sz4kbf8tg7] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-sm);
    margin-bottom: var(--posh-admin-space-sm);
}

.dashboard-external-sale-row[b-sz4kbf8tg7] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
    padding: var(--posh-admin-space-sm);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: color-mix(in oklab, var(--posh-admin-surface-container-high) 40%, transparent);
}

.dashboard-external-sale-row-header[b-sz4kbf8tg7] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--posh-admin-space-xs);
}

.dashboard-external-sale-row-label[b-sz4kbf8tg7] {
    color: var(--posh-admin-on-surface-variant);
}

.dashboard-external-sale-row-fields[b-sz4kbf8tg7] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--posh-admin-space-sm);
}

.dashboard-external-sale-row-fields .dashboard-field[b-sz4kbf8tg7] {
    margin-bottom: 0;
}

.dashboard-external-sale-row .dashboard-field:last-child[b-sz4kbf8tg7] {
    margin-bottom: 0;
}

.dashboard-external-sale-remove[b-sz4kbf8tg7] {
    min-block-size: 44px;
    min-inline-size: 44px;
    padding: var(--posh-admin-space-xs);
}

.dashboard-external-sale-subtotal[b-sz4kbf8tg7] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--posh-admin-space-xs);
    margin: 0;
    padding-block-start: var(--posh-admin-space-xs);
    border-block-start: 1px dashed var(--posh-admin-outline-variant);
    color: var(--posh-admin-on-surface-variant);
    font-variant-numeric: tabular-nums;
}

.dashboard-external-sale-add[b-sz4kbf8tg7] {
    width: 100%;
    margin-bottom: 0.85rem;
}

/* ---------- Desktop ---------- */

@media (min-width: 769px) {
    /* Desktop has the height to centre the sheet again. */
    .dashboard-external-sale-modal.modal-dialog-centered[b-sz4kbf8tg7] {
        align-items: center;
    }

    /* Desktop keeps the compact control metrics it has today. */
    .dashboard-btn[b-sz4kbf8tg7] {
        min-block-size: 0;
        padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    }

    .dashboard-modal-panel[b-sz4kbf8tg7] {
        max-block-size: min(100dvh - 3.5rem, 46rem);
    }

    .dashboard-modal-panel .modal-footer[b-sz4kbf8tg7] {
        flex-direction: row;
        justify-content: flex-end;
        padding-block-end: var(--posh-admin-space-sm);
    }

    .dashboard-modal-actions .dashboard-btn[b-sz4kbf8tg7] {
        flex: 0 0 auto;
    }

    /* Desktop has room for the step labels at their natural width. */
    .dashboard-wizard-steps[b-sz4kbf8tg7] {
        gap: var(--posh-admin-space-sm);
    }

    .dashboard-wizard-step[b-sz4kbf8tg7] {
        flex: 0 1 auto;
    }

    .dashboard-wizard-step-chip[b-sz4kbf8tg7] {
        min-block-size: 0;
        inline-size: auto;
    }

    .dashboard-wizard-summary-figures[b-sz4kbf8tg7] {
        gap: var(--posh-admin-space-md);
    }

    .dashboard-wizard-totals[b-sz4kbf8tg7] {
        justify-content: flex-start;
    }

    .dashboard-external-sale-row-fields[b-sz4kbf8tg7] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ---------- Reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {
    .dashboard-btn[b-sz4kbf8tg7],
    .dashboard-wizard-step-chip[b-sz4kbf8tg7] {
        transition: none;
    }

    .dashboard-btn-primary:hover:not(:disabled)[b-sz4kbf8tg7] {
        transform: none;
    }

    /* Steps swap instantly rather than sliding. */
    .dashboard-wizard-panel[b-sz4kbf8tg7],
    .dashboard-wizard-panel.is-back[b-sz4kbf8tg7] {
        animation: none;
    }
}
/* /Components/Admin/PersianDatePicker.razor.rz.scp.css */
.persian-date-picker[b-ygwuq1fwkt] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.persian-date-picker-label[b-ygwuq1fwkt] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: 1.2;
}

.persian-date-picker-trigger[b-ygwuq1fwkt] {
    appearance: none;
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: 0.45rem 0.75rem;
    font-size: var(--posh-admin-text-body-sm-size);
    background: var(--posh-admin-surface-container-high);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    color: var(--posh-admin-on-surface);
    font-family: var(--posh-admin-font);
    text-align: right;
    cursor: pointer;
}

.persian-date-placeholder[b-ygwuq1fwkt] {
    color: var(--posh-admin-on-surface-variant);
}

.persian-date-picker-trigger:focus[b-ygwuq1fwkt],
.persian-date-picker select:focus[b-ygwuq1fwkt] {
    outline: none;
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 1px var(--posh-admin-primary);
}

.persian-date-picker-btn[b-ygwuq1fwkt] {
    appearance: none;
    height: 44px;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--posh-admin-space-xs);
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    color: var(--posh-admin-on-surface-variant);
    background: transparent;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
    font-family: var(--posh-admin-font);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    white-space: nowrap;
}

.persian-date-picker-btn:hover[b-ygwuq1fwkt] {
    color: var(--posh-admin-on-surface);
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 22%, transparent);
}

.persian-date-picker-btn-primary[b-ygwuq1fwkt] {
    color: var(--posh-admin-on-primary);
    background: var(--posh-admin-primary);
    border-color: transparent;
}

.persian-date-picker-btn-primary:hover[b-ygwuq1fwkt] {
    background: color-mix(in oklab, var(--posh-admin-primary) 85%, var(--posh-admin-on-surface));
}

.persian-date-picker-backdrop[b-ygwuq1fwkt] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--posh-admin-space-md);
    background: color-mix(in oklab, black 38%, transparent);
}

.persian-date-picker-modal[b-ygwuq1fwkt] {
    width: min(100%, 420px);
    padding: var(--posh-admin-space-md);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
    box-shadow: 0 18px 50px color-mix(in oklab, black 24%, transparent);
}

.persian-date-picker-modal-header h2[b-ygwuq1fwkt] {
    margin: 0 0 var(--posh-admin-space-md);
    font-size: var(--posh-admin-text-title-md-size);
    font-weight: var(--posh-admin-text-title-md-weight);
    color: var(--posh-admin-on-surface);
}

.persian-date-picker-selects[b-ygwuq1fwkt] {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--posh-admin-space-sm);
}

.persian-date-picker-selects label[b-ygwuq1fwkt] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
}

.persian-date-picker select[b-ygwuq1fwkt] {
    height: 44px;
    padding: 0.45rem 0.65rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    color: var(--posh-admin-on-surface);
    background: var(--posh-admin-surface-container-high);
    font-family: var(--posh-admin-font);
}

.persian-date-picker-actions[b-ygwuq1fwkt] {
    display: flex;
    justify-content: flex-start;
    gap: var(--posh-admin-space-sm);
    margin-top: var(--posh-admin-space-md);
}

@media (max-width: 640px) {
    .persian-date-picker-actions[b-ygwuq1fwkt] {
        align-items: stretch;
        flex-direction: column;
    }

    .persian-date-picker-btn[b-ygwuq1fwkt] {
        width: 100%;
    }

    .persian-date-picker-selects[b-ygwuq1fwkt] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Admin/SmsTemplatePresetPicker.razor.rz.scp.css */
/* Template Presets of one SMS template: two buttons, and a list or a name form that opens under them. */

.sms-preset-picker[b-sc4u63jwtt] {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-xs);
    max-width: 100%;
}

.sms-preset-button[b-sc4u63jwtt] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.2rem;
    padding: 0.35rem 0.7rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface);
    font: inherit;
    font-size: 0.8rem;
    white-space: nowrap;
    cursor: pointer;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.sms-preset-button:hover:not(:disabled)[b-sc4u63jwtt] {
    border-color: var(--posh-admin-primary);
    color: var(--posh-admin-primary);
}

.sms-preset-button:disabled[b-sc4u63jwtt] {
    opacity: 0.55;
    cursor: not-allowed;
}

.sms-preset-chevron[b-sc4u63jwtt] {
    font-size: 0.7rem;
    color: var(--posh-admin-on-surface-variant);
}

.sms-preset-button[aria-expanded="true"] .sms-preset-chevron[b-sc4u63jwtt] {
    transform: rotate(180deg);
}

/* Above the sticky save bar (z-index 10), below the admin header. */
.sms-preset-backdrop[b-sc4u63jwtt] {
    position: fixed;
    inset: 0;
    z-index: 19;
}

.sms-preset-popover[b-sc4u63jwtt] {
    position: absolute;
    top: calc(100% + 0.35rem);
    inset-inline-end: 0;
    z-index: 20;
    width: min(22rem, calc(100vw - 2rem));
    padding: var(--posh-admin-space-xs);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface);
    box-shadow: 0 12px 32px color-mix(in oklab, var(--posh-admin-on-surface) 14%, transparent);
}

.sms-preset-menu[b-sc4u63jwtt] {
    max-height: 18rem;
    overflow-y: auto;
}

.sms-preset-list[b-sc4u63jwtt] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sms-preset-item[b-sc4u63jwtt] {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-xs);
    min-height: 2.6rem;
    padding-inline-end: 0.15rem;
    border-radius: var(--posh-admin-radius-md);
}

.sms-preset-item:hover[b-sc4u63jwtt] {
    background: var(--posh-admin-surface-container-low);
}

.sms-preset-apply[b-sc4u63jwtt] {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    min-width: 0;
    padding: 0.4rem 0.55rem;
    border: 0;
    border-radius: var(--posh-admin-radius-md);
    background: transparent;
    color: var(--posh-admin-on-surface);
    font: inherit;
    text-align: start;
    cursor: pointer;
}

.sms-preset-name-text[b-sc4u63jwtt] {
    font-size: 0.85rem;
    font-weight: 600;
}

.sms-preset-excerpt[b-sc4u63jwtt] {
    max-width: 100%;
    overflow: hidden;
    font-size: 0.75rem;
    color: var(--posh-admin-on-surface-variant);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sms-preset-delete[b-sc4u63jwtt],
.sms-preset-delete-confirm[b-sc4u63jwtt],
.sms-preset-delete-cancel[b-sc4u63jwtt] {
    flex: 0 0 auto;
    min-height: 2rem;
    padding: 0.25rem 0.55rem;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-md);
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    font: inherit;
    font-size: 0.8rem;
    cursor: pointer;
}

.sms-preset-delete:hover[b-sc4u63jwtt] {
    color: var(--posh-admin-error);
}

.sms-preset-confirm-text[b-sc4u63jwtt] {
    flex: 1 1 auto;
    min-width: 0;
    padding-inline-start: 0.55rem;
    font-size: 0.82rem;
    overflow-wrap: anywhere;
}

.sms-preset-delete-confirm[b-sc4u63jwtt] {
    border-color: var(--posh-admin-error);
    color: var(--posh-admin-error);
}

.sms-preset-delete-confirm:hover:not(:disabled)[b-sc4u63jwtt] {
    background: var(--posh-admin-error);
    color: var(--posh-admin-on-error);
}

.sms-preset-delete-cancel:hover[b-sc4u63jwtt] {
    border-color: var(--posh-admin-outline-variant);
}

.sms-preset-empty[b-sc4u63jwtt] {
    margin: 0;
    padding: 0.6rem 0.55rem;
    font-size: 0.82rem;
    color: var(--posh-admin-on-surface-variant);
}

.sms-preset-form[b-sc4u63jwtt] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
    padding: var(--posh-admin-space-sm);
}

.sms-preset-form-label[b-sc4u63jwtt] {
    font-size: 0.8rem;
    font-weight: 600;
}

.sms-preset-name[b-sc4u63jwtt] {
    width: 100%;
    min-height: 2.4rem;
    padding: 0.4rem 0.7rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface);
    font: inherit;
    font-size: 0.85rem;
}

.sms-preset-name:focus[b-sc4u63jwtt] {
    outline: none;
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--posh-admin-primary) 12%, transparent);
}

.sms-preset-form-help[b-sc4u63jwtt] {
    font-size: 0.75rem;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.8;
}

.sms-preset-form-actions[b-sc4u63jwtt] {
    display: flex;
    gap: var(--posh-admin-space-xs);
}

.sms-preset-primary[b-sc4u63jwtt] {
    min-height: 2.2rem;
    padding: 0.35rem 0.9rem;
    border: 0;
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
    font: inherit;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}

.sms-preset-primary:disabled[b-sc4u63jwtt] {
    opacity: 0.6;
    cursor: wait;
}

.sms-preset-form-error[b-sc4u63jwtt] {
    margin: 0;
    font-size: 0.78rem;
    color: var(--posh-admin-error);
}

@media (max-width: 700px) {
    .sms-preset-picker[b-sc4u63jwtt] {
        width: 100%;
    }

    .sms-preset-button[b-sc4u63jwtt] {
        flex: 1 1 0;
    }

    .sms-preset-popover[b-sc4u63jwtt] {
        inset-inline: 0;
        width: auto;
    }
}
/* /Components/Admin/SmsTemplateVariablePicker.razor.rz.scp.css */
.sms-variable-picker[b-chjwz8r6u6] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
    min-width: 0;
}

.sms-variable-picker-label[b-chjwz8r6u6] {
    font-size: 0.78rem;
    color: var(--posh-admin-on-surface-variant);
}

.sms-variable-picker-group[b-chjwz8r6u6] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.sms-variable-picker-group-title[b-chjwz8r6u6] {
    min-width: 3.5rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--posh-admin-on-surface-variant);
}

/* Each chip is coloured by whether the template uses its variable; its icon says the same for anyone who
   cannot tell the colours apart. */
.sms-variable-chip[b-chjwz8r6u6] {
    --sms-variable-chip-tone: var(--posh-admin-on-surface-variant);
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2.25rem;
    padding: 0 0.75rem;
    border: 1px solid color-mix(in srgb, var(--sms-variable-chip-tone) 30%, transparent);
    border-radius: var(--posh-admin-radius-full);
    background: color-mix(in srgb, var(--sms-variable-chip-tone) 14%, transparent);
    color: var(--sms-variable-chip-tone);
    font: inherit;
    font-size: 0.78rem;
    line-height: 1.4;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.sms-variable-chip i[b-chjwz8r6u6] {
    font-size: 0.75rem;
}

.sms-variable-chip:hover:not(:disabled)[b-chjwz8r6u6] {
    border-color: var(--sms-variable-chip-tone);
}

.sms-variable-chip:focus-visible[b-chjwz8r6u6] {
    outline: 2px solid var(--posh-admin-primary);
    outline-offset: 2px;
}

.sms-variable-chip:disabled[b-chjwz8r6u6] {
    opacity: 0.5;
    cursor: not-allowed;
}

.sms-variable-chip-present[b-chjwz8r6u6] {
    --sms-variable-chip-tone: var(--posh-admin-success);
}

.sms-variable-chip-missing[b-chjwz8r6u6] {
    --sms-variable-chip-tone: var(--posh-admin-warning);
}

/* An optional variable the text leaves out: available to add, not a problem to fix. */
.sms-variable-chip-optional[b-chjwz8r6u6] {
    background: color-mix(in srgb, var(--sms-variable-chip-tone) 6%, transparent);
}

.sms-variable-chip-required[b-chjwz8r6u6] {
    font-size: 0.68rem;
    opacity: 0.85;
}

.sms-variable-chip-required[b-chjwz8r6u6]::before {
    content: "· ";
}
/* /Components/Admin/TableColumnPicker.razor.rz.scp.css */
/* «ستون‌ها» of an admin table: a button, and a panel listing the columns that opens under it. */

.table-column-picker[b-rcx72s5mah] {
    position: relative;
    display: inline-flex;
}

.table-column-picker-button[b-rcx72s5mah] {
    display: inline-flex;
    align-items: center;
    gap: var(--posh-admin-space-xs);
    min-height: 2.5rem;
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    font-family: var(--posh-admin-font);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.table-column-picker-button:hover[b-rcx72s5mah],
.table-column-picker-button[aria-expanded="true"][b-rcx72s5mah] {
    color: var(--posh-admin-on-surface);
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 22%, transparent);
}

.table-column-picker-hidden[b-rcx72s5mah] {
    padding: 0.05rem 0.5rem;
    border-radius: var(--posh-admin-radius-full);
    background: color-mix(in srgb, var(--posh-admin-primary) 14%, transparent);
    color: var(--posh-admin-primary);
    font-size: 0.7rem;
}

.table-column-picker-chevron[b-rcx72s5mah] {
    font-size: 0.7rem;
    transition: transform 0.2s ease;
}

.table-column-picker-button[aria-expanded="true"] .table-column-picker-chevron[b-rcx72s5mah] {
    transform: rotate(180deg);
}

/* Above a page's sticky header (z-index 10), below the admin header. */
.table-column-picker-backdrop[b-rcx72s5mah] {
    position: fixed;
    inset: 0;
    z-index: 19;
}

.table-column-picker-panel[b-rcx72s5mah] {
    position: absolute;
    top: calc(100% + 0.35rem);
    inset-inline-end: 0;
    z-index: 20;
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
    width: min(20rem, calc(100vw - 2rem));
    padding: var(--posh-admin-space-sm);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface);
    box-shadow: 0 12px 32px color-mix(in oklab, var(--posh-admin-on-surface) 14%, transparent);
}

.table-column-picker-head[b-rcx72s5mah] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    padding-inline: 0.25rem;
}

.table-column-picker-title[b-rcx72s5mah] {
    margin: 0;
    font-size: 0.875rem;
    font-weight: 600;
}

.table-column-picker-help[b-rcx72s5mah] {
    font-size: 0.75rem;
    line-height: 1.6;
    color: var(--posh-admin-on-surface-variant);
}

.table-column-picker-list[b-rcx72s5mah] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    max-height: min(26rem, 60vh);
    margin: 0;
    padding: 0;
    overflow-y: auto;
    list-style: none;
}

.table-column-picker-item[b-rcx72s5mah] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    min-height: 2.5rem;
    padding-inline: 0.25rem;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-md);
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.table-column-picker-item:hover[b-rcx72s5mah] {
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 22%, transparent);
}

/* The row being dragged, which moves through the list as it is dragged over the others. */
.table-column-picker-item.is-dragging[b-rcx72s5mah] {
    border-color: color-mix(in srgb, var(--posh-admin-primary) 50%, transparent);
    background: color-mix(in srgb, var(--posh-admin-primary) 10%, transparent);
}

.table-column-picker-grip[b-rcx72s5mah] {
    flex: 0 0 auto;
    color: var(--posh-admin-on-surface-variant);
    cursor: grab;
}

.table-column-picker-label[b-rcx72s5mah] {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-xs);
    flex: 1 1 auto;
    min-width: 0;
    min-height: 2.5rem;
    font-size: 0.85rem;
    cursor: pointer;
}

.table-column-picker-label input[b-rcx72s5mah] {
    flex: 0 0 auto;
    width: 1rem;
    height: 1rem;
    margin: 0;
    accent-color: var(--posh-admin-primary);
    cursor: pointer;
}

.table-column-picker-label input:disabled[b-rcx72s5mah] {
    cursor: not-allowed;
}

.table-column-picker-locked[b-rcx72s5mah] {
    margin-inline-start: auto;
    font-size: 0.7rem;
    color: var(--posh-admin-on-surface-variant);
    white-space: nowrap;
}

.table-column-picker-move[b-rcx72s5mah] {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    border-radius: var(--posh-admin-radius-md);
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    font-size: 0.75rem;
    cursor: pointer;
}

.table-column-picker-move:hover:not(:disabled)[b-rcx72s5mah] {
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 40%, transparent);
    color: var(--posh-admin-on-surface);
}

.table-column-picker-move:disabled[b-rcx72s5mah] {
    opacity: 0.3;
    cursor: default;
}

.table-column-picker-move:focus-visible[b-rcx72s5mah],
.table-column-picker-button:focus-visible[b-rcx72s5mah],
.table-column-picker-reset:focus-visible[b-rcx72s5mah] {
    outline: 2px solid var(--posh-admin-primary);
    outline-offset: 2px;
}

.table-column-picker-foot[b-rcx72s5mah] {
    display: flex;
    justify-content: flex-end;
    padding-top: var(--posh-admin-space-xs);
    border-top: 1px solid var(--posh-admin-outline-variant);
}

.table-column-picker-reset[b-rcx72s5mah] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 2.25rem;
    padding: 0 0.75rem;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-md);
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    font: inherit;
    font-size: 0.8rem;
    cursor: pointer;
}

.table-column-picker-reset:hover:not(:disabled)[b-rcx72s5mah] {
    border-color: var(--posh-admin-outline-variant);
    color: var(--posh-admin-primary);
}

.table-column-picker-reset:disabled[b-rcx72s5mah] {
    opacity: 0.45;
    cursor: default;
}
/* /Components/Admin/UserManagement.razor.rz.scp.css */
.user-page[b-4whreqjsu6] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    color: var(--posh-admin-on-surface);
}

.dashboard-page-header[b-4whreqjsu6] {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--posh-admin-space-md);
    min-height: 5rem;
    margin-inline: calc(-1 * var(--posh-admin-gutter));
    padding-inline: var(--posh-admin-gutter);
    border-bottom: 1px solid var(--posh-admin-outline-variant);
    background: color-mix(in oklab, var(--posh-admin-surface) 50%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.user-page-title[b-4whreqjsu6],
.user-page-subtitle[b-4whreqjsu6] {
    margin: 0;
}

.user-page-subtitle[b-4whreqjsu6] {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.65;
}

.user-alert[b-4whreqjsu6] {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border: 1px solid color-mix(in oklab, var(--posh-admin-error) 45%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--posh-admin-error-container) 35%, transparent);
    color: var(--posh-admin-error);
    font-size: var(--posh-admin-text-body-sm-size);
}

.user-alert-success[b-4whreqjsu6] {
    border-color: color-mix(in oklab, var(--posh-admin-success-outline) 40%, transparent);
    background: color-mix(in oklab, var(--posh-admin-success-container) 18%, transparent);
    color: var(--posh-admin-success);
}

.user-alert-tight[b-4whreqjsu6] {
    margin-bottom: 0.75rem;
}

.user-panel[b-4whreqjsu6] {
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
    padding: var(--posh-admin-space-md);
}

.user-state-message[b-4whreqjsu6] {
    color: var(--posh-admin-on-surface-variant);
}

.user-grid[b-4whreqjsu6] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 0.75rem;
    row-gap: 0.35rem;
    align-items: center;
    padding: 0.55rem 0.5rem;
    border-radius: var(--posh-admin-radius-md);
}

.user-grid-head[b-4whreqjsu6] {
    font-size: var(--posh-admin-text-label-md-size);
    text-transform: uppercase;
    letter-spacing: var(--posh-admin-text-label-md-tracking);
    color: var(--posh-admin-on-surface-variant);
    border-bottom: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    margin-bottom: 0.25rem;
    padding-bottom: 0.5rem;
}

.user-grid-row[b-4whreqjsu6] {
    border: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    margin-top: 0.4rem;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.user-grid-row:hover[b-4whreqjsu6] {
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 10%, transparent);
}

.user-grid-row--admin[b-4whreqjsu6] {
    border-color: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 45%, var(--posh-admin-outline-variant));
    box-shadow: inset 3px 0 0 0 var(--posh-admin-primary-fixed-dim);
}

.user-cell[b-4whreqjsu6] {
    min-width: 0;
    font-size: var(--posh-admin-text-body-sm-size);
    text-align: right;
}

.user-col-email[b-4whreqjsu6] { grid-column: span 3; }
.user-col-name[b-4whreqjsu6] { grid-column: span 2; }
.user-col-role[b-4whreqjsu6] { grid-column: span 2; }
.user-col-joined[b-4whreqjsu6] { grid-column: span 2; }
.user-col-actions[b-4whreqjsu6] { grid-column: span 3; }

.user-mono[b-4whreqjsu6] {
    font-variant-numeric: tabular-nums;
}

.user-last-action[b-4whreqjsu6] {
    margin-top: 0.15rem;
    font-size: var(--posh-admin-text-label-md-size);
    color: var(--posh-admin-on-surface-variant);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-actions[b-4whreqjsu6] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
    justify-content: flex-end;
}

.user-password-edit[b-4whreqjsu6] {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 0.2rem;
    padding: 0.4rem;
    border: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--posh-admin-surface-container-high) 60%, transparent);
}

.user-password-input[b-4whreqjsu6] {
    width: auto;
    min-width: 12rem;
}

.user-btn[b-4whreqjsu6] {
    appearance: none;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--posh-admin-space-xs);
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    color: var(--posh-admin-on-surface);
    background: transparent;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
    font-family: var(--posh-admin-font);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
}

.user-btn:disabled[b-4whreqjsu6] {
    opacity: 0.45;
    cursor: not-allowed;
}

.user-btn-primary[b-4whreqjsu6] {
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
    border-color: color-mix(in oklab, var(--posh-admin-primary) 75%, var(--posh-admin-outline-variant));
}

.user-btn-primary:hover:not(:disabled)[b-4whreqjsu6] {
    transform: scale(0.97);
}

.user-btn-danger[b-4whreqjsu6] {
    border-color: color-mix(in oklab, var(--posh-admin-error) 45%, var(--posh-admin-outline-variant));
    background: color-mix(in oklab, var(--posh-admin-error) 12%, transparent);
    color: var(--posh-admin-error);
}

.user-btn-danger:hover:not(:disabled)[b-4whreqjsu6] {
    background: color-mix(in oklab, var(--posh-admin-error) 20%, transparent);
}

.user-btn-ghost[b-4whreqjsu6] {
    border-color: var(--posh-admin-outline-variant);
    color: var(--posh-admin-on-surface-variant);
}

.user-btn-ghost:hover:not(:disabled)[b-4whreqjsu6] {
    color: var(--posh-admin-on-surface);
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 24%, transparent);
}

.user-select[b-4whreqjsu6],
.user-input[b-4whreqjsu6] {
    width: 100%;
    box-sizing: border-box;
    border-radius: var(--posh-admin-radius-lg);
    border: 1px solid var(--posh-admin-outline-variant);
    background: var(--posh-admin-surface-container-high);
    color: var(--posh-admin-on-surface);
    padding: 0.45rem 0.6rem;
    font-size: var(--posh-admin-text-body-sm-size);
}

.user-select[b-4whreqjsu6] {
    appearance: none;
    max-width: 8.5rem;
}

.user-select-block[b-4whreqjsu6] {
    max-width: none;
    width: 100%;
}

.user-input:focus[b-4whreqjsu6],
.user-select:focus[b-4whreqjsu6] {
    outline: none;
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 1px var(--posh-admin-primary);
}

.user-modal-backdrop[b-4whreqjsu6] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: color-mix(in oklab, var(--posh-admin-on-surface) 35%, transparent);
    backdrop-filter: blur(4px);
}

.user-modal[b-4whreqjsu6] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: grid;
    place-items: center;
    padding: 1.25rem;
    pointer-events: none;
}

.user-modal-panel[b-4whreqjsu6] {
    pointer-events: auto;
    width: min(420px, 100%);
    padding: 1.25rem 1.35rem;
    border-radius: var(--posh-admin-radius-xl);
    border: 1px solid var(--posh-admin-outline-variant);
    background: var(--posh-admin-surface-container);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

.user-modal-head[b-4whreqjsu6] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.user-modal-title[b-4whreqjsu6] {
    margin: 0;
    font-size: var(--posh-admin-text-headline-sm-size);
    font-weight: var(--posh-admin-text-headline-sm-weight);
}

.user-icon-btn[b-4whreqjsu6] {
    border: none;
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    padding: 0.15rem 0.35rem;
}

.user-icon-btn:hover[b-4whreqjsu6] {
    color: var(--posh-admin-on-surface);
}

.user-field[b-4whreqjsu6] {
    margin-bottom: 0.85rem;
}

.user-label[b-4whreqjsu6] {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    letter-spacing: var(--posh-admin-text-label-md-tracking);
}

.user-modal-actions[b-4whreqjsu6] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
}

.user-modal-actions-split[b-4whreqjsu6] {
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.user-modal-actions-end[b-4whreqjsu6] {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.user-sr[b-4whreqjsu6] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

@media (max-width: 768px) {
    .user-grid-head[b-4whreqjsu6],
    .user-grid-row[b-4whreqjsu6] {
        grid-template-columns: 1fr;
    }

    .user-col-email[b-4whreqjsu6],
    .user-col-name[b-4whreqjsu6],
    .user-col-role[b-4whreqjsu6],
    .user-col-joined[b-4whreqjsu6],
    .user-col-actions[b-4whreqjsu6] {
        grid-column: 1 / -1;
    }

    .user-actions[b-4whreqjsu6] {
        justify-content: flex-start;
    }
}
/* /Components/Layout/AdminLayout.razor.rz.scp.css */
.admin-shell[b-fs2hpuswal] {
    /* Legacy bridge: unmigrated pages use --um-* via ::deep rules below */
    --um-text: var(--posh-admin-on-surface);
    --um-muted: var(--posh-admin-on-surface-variant);
    --um-accent: var(--posh-admin-primary-fixed-dim);
    --um-accent-glow: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 35%, transparent);
    --um-line: color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    --um-line-strong: var(--posh-admin-outline-variant);
    --um-shell-bg: var(--posh-admin-background);
    --um-sidebar-bg: var(--posh-admin-surface-container);
    --um-header-bg: color-mix(in oklab, var(--posh-admin-surface) 50%, transparent);
    --um-glass-from: color-mix(in oklab, var(--posh-admin-surface-container-low) 88%, transparent);
    --um-glass-to: color-mix(in oklab, var(--posh-admin-surface-container) 92%, transparent);
    --um-glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
    --posh-dropdown-bg: var(--posh-admin-surface-container-high);
    --posh-dropdown-border: var(--posh-admin-outline-variant);
    --posh-dropdown-shadow:
        0 18px 48px -28px rgba(0, 0, 0, 0.55),
        inset 0 1px 0 color-mix(in oklab, var(--posh-admin-on-surface) 8%, transparent);
    --posh-dropdown-fallback-bg: var(--posh-admin-surface-container);
    --admin-sidebar-width: var(--posh-admin-sidebar-width);

    display: flex;
    flex-direction: row;
    align-items: stretch;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    font-family: var(--posh-admin-font);
    background: var(--posh-admin-background);
    color: var(--posh-admin-on-surface);
    transition: background 0.25s ease, color 0.25s ease;
}

html[data-theme="light"] .admin-shell[b-fs2hpuswal] {
    --um-accent-glow: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 28%, transparent);
    --um-glass-shadow: 0 20px 40px -28px rgba(15, 23, 42, 0.12);
    --posh-dropdown-shadow:
        0 18px 48px -28px rgba(15, 23, 42, 0.12),
        inset 0 1px 0 color-mix(in oklab, #ffffff 70%, transparent);
}

[b-fs2hpuswal] .um-glass {
    background: linear-gradient(145deg, var(--um-glass-from), var(--um-glass-to));
    border: 1px solid var(--um-line);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-radius: 0.85rem;
    box-shadow: var(--um-glass-shadow);
}

.admin-main-column[b-fs2hpuswal] {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: var(--posh-admin-background);
}

.admin-mobile-chrome[b-fs2hpuswal] {
    --posh-dropdown-top: 3.75rem;
    display: none;
    flex-shrink: 0;
    align-items: center;
    justify-content: space-between;
    gap: var(--posh-admin-space-sm);
    height: 3.5rem;
    padding-inline: var(--posh-admin-gutter);
    border-bottom: 1px solid var(--posh-admin-outline-variant);
    background: color-mix(in oklab, var(--posh-admin-surface) 50%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    direction: rtl;
    z-index: 1030;
}

.admin-main[b-fs2hpuswal] {
    flex: 1;
    min-width: 0;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: var(--posh-admin-gutter);
    background: transparent;
}

/* Shared admin page shell and data views */
.admin-main[b-fs2hpuswal]  .um-shell {
    direction: rtl;
    text-align: right;
    border-radius: 0.75rem;
    padding: 1.5rem;
    min-height: 100%;
    color: var(--um-text);
}

.admin-main[b-fs2hpuswal]  .um-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.admin-main[b-fs2hpuswal]  .um-title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.admin-main[b-fs2hpuswal]  .um-sub {
    margin: 0.35rem 0 0;
    font-size: 0.85rem;
    color: var(--um-muted);
}

.admin-main[b-fs2hpuswal]  .um-section-title {
    margin: 0 0 0.75rem;
    font-size: 0.95rem;
    font-weight: 650;
    color: var(--um-text);
}

.admin-main[b-fs2hpuswal]  .um-panel {
    padding: 0.75rem 1rem 1rem;
}

.admin-main[b-fs2hpuswal]  .um-panel + .um-panel,
.admin-main[b-fs2hpuswal]  .um-glass + .um-glass {
    margin-top: 1rem;
}

.admin-main[b-fs2hpuswal]  .um-muted {
    padding: 1.25rem;
    color: var(--um-muted);
}

.admin-main[b-fs2hpuswal]  .um-alert {
    margin-bottom: 1rem;
    padding: 0.65rem 0.85rem;
    border-radius: 0.65rem;
    border: 1px solid rgba(248, 113, 113, 0.35);
    background: rgba(248, 113, 113, 0.08);
    color: #fecaca;
    font-size: 0.88rem;
}

.admin-main[b-fs2hpuswal]  .um-alert-success {
    border-color: rgba(74, 222, 128, 0.4);
    background: rgba(74, 222, 128, 0.1);
    color: #dcfce7;
}

.admin-main[b-fs2hpuswal]  .um-grid-row {
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease;
}

.admin-main[b-fs2hpuswal]  .um-grid-row:hover {
    border-color: var(--um-line-strong);
    background: color-mix(in oklab, var(--um-accent) 8%, transparent);
    box-shadow: 0 0 20px -14px var(--um-accent-glow);
}

.admin-main[b-fs2hpuswal]  .um-glass .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--um-text);
    --bs-table-border-color: var(--um-line);
    --bs-table-striped-bg: color-mix(in oklab, var(--um-accent) 4%, transparent);
    --bs-table-striped-color: var(--um-text);
    --bs-table-hover-bg: color-mix(in oklab, var(--um-accent) 10%, transparent);
    --bs-table-hover-color: var(--um-text);
    margin-bottom: 0;
}

.admin-main[b-fs2hpuswal]  .um-glass .table > :not(caption) > * > * {
    background-color: transparent;
    color: var(--um-text);
    border-bottom-color: var(--um-line);
}

.admin-main[b-fs2hpuswal]  .um-glass .table thead th {
    color: var(--um-muted);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-bottom: 1px solid var(--um-line-strong);
}

.admin-main[b-fs2hpuswal]  .um-expanded-row > td {
    background: color-mix(in oklab, var(--um-accent) 5%, transparent);
    border-bottom: 1px solid var(--um-line);
}

.admin-main[b-fs2hpuswal]  .um-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    border-radius: 0.45rem;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.38rem 0.75rem;
    border: 1px solid var(--um-line);
    background: color-mix(in oklab, var(--um-text) 6%, transparent);
    color: var(--um-text);
    cursor: pointer;
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.admin-main[b-fs2hpuswal]  .um-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.admin-main[b-fs2hpuswal]  .um-btn-primary {
    border-color: color-mix(in oklab, var(--um-accent) 45%, var(--um-line));
    background: color-mix(in oklab, var(--um-accent) 14%, transparent);
    color: var(--um-text);
}

.admin-main[b-fs2hpuswal]  .um-btn-primary:hover:not(:disabled) {
    background: color-mix(in oklab, var(--um-accent) 24%, transparent);
    border-color: var(--um-accent);
}

.admin-main[b-fs2hpuswal]  .um-btn-ghost:hover:not(:disabled) {
    border-color: var(--um-line-strong);
    background: color-mix(in oklab, var(--um-accent) 8%, transparent);
}

.admin-main[b-fs2hpuswal]  .um-btn-outline-danger {
    border-color: rgba(248, 113, 113, 0.45);
    background: rgba(248, 113, 113, 0.08);
    color: #fecaca;
}

.admin-main[b-fs2hpuswal]  .um-btn-outline-danger:hover:not(:disabled) {
    background: rgba(248, 113, 113, 0.18);
}

.admin-main[b-fs2hpuswal]  .um-input {
    background: color-mix(in oklab, var(--um-text) 4%, transparent);
    color: var(--um-text);
    border: 1px solid var(--um-line);
    border-radius: 0.45rem;
}

.admin-main[b-fs2hpuswal]  .um-input:focus {
    border-color: var(--um-accent);
    box-shadow: 0 0 0 3px var(--um-accent-glow);
    outline: none;
}

.admin-main[b-fs2hpuswal]  .um-input::placeholder {
    color: var(--um-muted);
}

.admin-main[b-fs2hpuswal]  select.um-input {
    background: color-mix(in oklab, var(--um-text) 4%, transparent);
    color: var(--um-text);
    border: 1px solid var(--um-line);
    border-radius: 0.45rem;
    padding: 0.45rem 0.6rem;
    font-size: 0.88rem;
}

.admin-main[b-fs2hpuswal]  select.um-input:focus {
    border-color: var(--um-accent);
    box-shadow: 0 0 0 3px var(--um-accent-glow);
    outline: none;
}

.admin-shell .um-modal-backdrop[b-fs2hpuswal] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: color-mix(in oklab, var(--um-text) 35%, transparent);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

.admin-shell .um-modal[b-fs2hpuswal] {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: grid;
    place-items: center;
    padding: 1.25rem;
    pointer-events: none;
}

.admin-shell .um-modal-panel[b-fs2hpuswal] {
    pointer-events: auto;
    width: min(460px, 100%);
    padding: 1.25rem 1.35rem;
    color: var(--um-text);
}

.admin-shell .um-modal-head[b-fs2hpuswal] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.admin-shell .um-modal-title[b-fs2hpuswal] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--um-text);
}

.admin-shell .um-icon-btn[b-fs2hpuswal] {
    border: none;
    background: transparent;
    color: var(--um-muted);
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    padding: 0.15rem 0.35rem;
}

.admin-shell .um-icon-btn:hover[b-fs2hpuswal] {
    color: var(--um-text);
}

.admin-shell .um-field[b-fs2hpuswal] {
    margin-bottom: 0.85rem;
}

.admin-shell .um-label[b-fs2hpuswal] {
    display: block;
    font-size: 0.8rem;
    color: var(--um-muted);
    margin-bottom: 0.35rem;
}

.admin-shell .um-modal-actions[b-fs2hpuswal] {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-top: 1rem;
}

.admin-main[b-fs2hpuswal]  .um-alert-tight {
    margin-bottom: 0.75rem;
}

/* Bootstrap modal + um-glass (e.g. Dashboard external sale) */
.admin-shell .modal-backdrop.show[b-fs2hpuswal] {
    background-color: color-mix(in oklab, var(--um-text) 35%, transparent);
}

.admin-shell .modal.show[b-fs2hpuswal] {
    color: var(--um-text);
}

.admin-shell .modal-content.um-glass[b-fs2hpuswal] {
    background: linear-gradient(145deg, var(--um-glass-from), var(--um-glass-to));
    border: 1px solid var(--um-line);
    box-shadow: var(--um-glass-shadow);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    color: var(--um-text);
}

.admin-shell .modal-header[b-fs2hpuswal],
.admin-shell .modal-footer[b-fs2hpuswal] {
    background: transparent;
    border: none;
}

.admin-shell .modal-title[b-fs2hpuswal] {
    color: var(--um-text);
}

.admin-shell .modal-body[b-fs2hpuswal] {
    color: var(--um-text);
}

html[data-theme="light"] .admin-shell .btn-close[b-fs2hpuswal] {
    filter: none;
}

html[data-theme="dark"] .admin-shell .btn-close[b-fs2hpuswal] {
    filter: invert(1) grayscale(100%) brightness(200%);
}

.admin-footer[b-fs2hpuswal] {
    flex-shrink: 0;
    border-top: 1px solid var(--posh-admin-outline-variant);
    padding: 0.45rem var(--posh-admin-gutter);
    font-size: var(--posh-admin-text-body-sm-size);
    color: var(--posh-admin-on-surface-variant);
    background: var(--posh-admin-surface-container-lowest);
}

.admin-footer-inner[b-fs2hpuswal] {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.admin-footer-date[b-fs2hpuswal] {
    font-size: 0.8rem;
    font-family: var(--posh-admin-font);
    letter-spacing: 0.01em;
    color: var(--posh-admin-on-surface-variant);
}

.admin-footer-time[b-fs2hpuswal] {
    font-size: 0.82rem;
    font-family: var(--posh-admin-font-mono, monospace);
    font-variant-numeric: tabular-nums;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.85;
}

@media (max-width: 768px) {
    .admin-mobile-chrome[b-fs2hpuswal] {
        display: flex;
    }

    .admin-main[b-fs2hpuswal] {
        padding: var(--posh-admin-margin-mobile);
    }
}

@media (max-width: 640px) {
    .admin-main[b-fs2hpuswal] {
        padding: var(--posh-admin-margin-mobile);
    }
}
/* /Components/Layout/AdminMobileNavToggle.razor.rz.scp.css */
.admin-nav-toggle[b-b230fhja21] {
    appearance: none;
    display: none;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: var(--posh-admin-radius-lg);
    border: 1px solid var(--posh-admin-outline-variant);
    background: var(--posh-admin-surface-container-high);
    color: var(--posh-admin-on-surface);
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        transform 0.15s ease;
}

.admin-nav-toggle:hover[b-b230fhja21] {
    border-color: color-mix(in oklab, var(--posh-admin-primary) 40%, var(--posh-admin-outline-variant));
    background: color-mix(in oklab, var(--posh-admin-primary) 12%, var(--posh-admin-surface-container-high));
}

.admin-nav-toggle i[b-b230fhja21] {
    font-size: 1.2rem;
    line-height: 1;
}

@media (max-width: 768px) {
    .admin-nav-toggle[b-b230fhja21] {
        display: inline-flex;
    }
}
/* /Components/Layout/AdminNavMenu.razor.rz.scp.css */
.admin-nav-menu[b-40m76ldrc0] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
    flex: 1;
    min-height: 0;
}

.admin-sidebar-section[b-40m76ldrc0] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
}

.admin-sidebar-section-title[b-40m76ldrc0] {
    margin: 0;
    padding: 0 var(--posh-admin-space-sm);
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.85;
    text-transform: uppercase;
}

.admin-sidebar-list[b-40m76ldrc0] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
}

.admin-sidebar-item[b-40m76ldrc0] {
    margin: 0;
}

.admin-sidebar-footer[b-40m76ldrc0] {
    margin-top: auto;
    padding-top: var(--posh-admin-space-md);
    border-top: 1px solid var(--posh-admin-outline-variant);
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
}

.admin-sidebar-shop-link[b-40m76ldrc0] {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-sm);
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    border-radius: var(--posh-admin-radius-lg);
    color: var(--posh-admin-on-surface-variant);
    text-decoration: none;
    transition: color 0.2s ease;
}

.admin-sidebar-shop-link:hover[b-40m76ldrc0] {
    color: var(--posh-admin-primary);
}

.admin-sidebar-link-icon[b-40m76ldrc0] {
    font-size: 1.125rem;
    opacity: 0.85;
    flex-shrink: 0;
}

/* NavLink renders child <a>; ::deep so scoped CSS applies active/hover states. */
.admin-sidebar-item[b-40m76ldrc0]  a.admin-sidebar-link {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-sm);
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    border-radius: var(--posh-admin-radius-lg);
    border: none;
    color: var(--posh-admin-on-surface-variant);
    text-decoration: none;
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease,
        opacity 0.2s ease;
}

.admin-sidebar-item[b-40m76ldrc0]  a.admin-sidebar-link:hover {
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 20%, transparent);
    color: var(--posh-admin-on-surface-variant);
    transform: translateX(-4px);
}

.admin-sidebar-item[b-40m76ldrc0]  a.admin-sidebar-link.active {
    background: var(--posh-admin-secondary-container);
    color: var(--posh-admin-on-secondary-container);
    opacity: 0.8;
    font-weight: 500;
    box-shadow: none;
}

.admin-sidebar-item[b-40m76ldrc0]  a.admin-sidebar-link.active .admin-sidebar-link-icon {
    opacity: 1;
}
/* /Components/Layout/AdminSidebar.razor.rz.scp.css */
.admin-sidebar[b-2n4l5mfdbr] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
    flex-shrink: 0;
    width: var(--posh-admin-sidebar-width);
    min-height: 0;
    height: 100%;
    padding: var(--posh-admin-space-md);
    overflow-y: auto;
    overflow-x: hidden;
    background: var(--posh-admin-surface-container);
    border-inline-start: 1px solid var(--posh-admin-outline-variant);
}

.admin-sidebar-brand[b-2n4l5mfdbr] {
    margin-bottom: var(--posh-admin-space-lg);
    padding-inline: var(--posh-admin-space-xs);
}

.admin-sidebar-brand-title[b-2n4l5mfdbr] {
    margin: 0;
    font-weight: 700;
    color: var(--posh-admin-primary);
}

.admin-sidebar-brand-sub[b-2n4l5mfdbr] {
    margin: 0.25rem 0 0;
    opacity: 0.7;
    color: var(--posh-admin-on-surface-variant);
}

.admin-sidebar[b-2n4l5mfdbr]  .admin-nav-menu {
    flex: 1;
    min-height: 0;
}

.admin-sidebar[b-2n4l5mfdbr]  .admin-sidebar-footer {
    margin-top: auto;
}

@media (max-width: 768px) {
    .admin-sidebar[b-2n4l5mfdbr] {
        display: none !important;
    }
}
/* /Components/Layout/AdminUserAccountMenu.razor.rz.scp.css */
.admin-user-menu[b-aktta4kgem] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.admin-user-menu-login[b-aktta4kgem] {
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--um-muted);
    text-decoration: none;
    padding: 0.35rem 0.55rem;
    border-radius: 0.5rem;
    border: 1px solid var(--um-line-strong);
    transition: color 0.2s ease, border-color 0.2s ease;
}

.admin-user-menu-login:hover[b-aktta4kgem] {
    color: var(--um-text);
    border-color: var(--um-accent);
}

.admin-user-menu-root[b-aktta4kgem] {
    position: relative;
    display: inline-flex;
    align-items: center;
    z-index: var(--posh-overlay-z);
}

.admin-user-menu-backdrop[b-aktta4kgem] {
    position: fixed;
    inset: 0;
    z-index: var(--posh-overlay-z);
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    cursor: default;
}

.admin-user-menu-trigger[b-aktta4kgem] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.42rem 0.7rem;
    border-radius: 0.6rem;
    border: 1px solid var(--um-line-strong);
    background: rgba(15, 23, 42, 0.45);
    color: var(--um-text);
    font-family: inherit;
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.admin-user-menu-trigger:hover[b-aktta4kgem] {
    border-color: color-mix(in oklab, var(--um-accent) 40%, var(--um-line));
    box-shadow: 0 0 16px -8px var(--um-accent-glow);
}

html[data-theme="light"] .admin-user-menu-trigger[b-aktta4kgem] {
    background: color-mix(in oklab, var(--um-text) 4%, transparent);
}

.admin-user-menu-trigger-icon[b-aktta4kgem] {
    font-size: 1.15rem;
}

.admin-user-menu-panel[b-aktta4kgem] {
    padding: 0.55rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.admin-user-menu-greeting[b-aktta4kgem] {
    margin: 0;
    padding: 0.35rem 0.45rem 0.5rem;
    font-size: 0.82rem;
    color: var(--um-muted);
    border-bottom: 1px solid var(--um-line);
}

.admin-user-menu-logout[b-aktta4kgem] {
    margin: 0;
}

.admin-user-menu-trigger-text[b-aktta4kgem] {
    max-width: 8.5rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-user-menu-item[b-aktta4kgem] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    padding: 0.45rem 0.55rem;
    border: none;
    border-radius: 0.45rem;
    background: transparent;
    color: var(--um-text);
    font-family: inherit;
    font-size: 0.88rem;
    font-weight: 600;
    text-align: start;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

button.admin-user-menu-item:hover[b-aktta4kgem],
a.admin-user-menu-item:hover[b-aktta4kgem] {
    background: color-mix(in oklab, var(--um-text) 8%, transparent);
}

.admin-user-menu-theme[b-aktta4kgem] {
    color: var(--um-text);
    border-bottom: 1px solid var(--um-line);
    margin-bottom: 0.15rem;
    padding-bottom: 0.55rem;
    border-radius: 0;
}

.admin-user-menu-theme:hover[b-aktta4kgem] {
    background: color-mix(in oklab, var(--um-accent) 10%, transparent);
    color: var(--um-text);
}

.admin-user-menu-item-icon[b-aktta4kgem] {
    font-size: 1rem;
    opacity: 0.9;
}

.admin-user-menu-item.is-submit[b-aktta4kgem] {
    color: #fecaca;
}

.admin-user-menu-item.is-submit:hover[b-aktta4kgem] {
    background: rgba(248, 113, 113, 0.12);
}

.admin-user-menu-item.is-submit[b-aktta4kgem] {
    text-decoration: none;
}
/* /Components/Layout/HeaderSearch.razor.rz.scp.css */
/*
 * Header search and the Mobile Search Overlay (docs/adr/0018).
 *
 * These rules used to live in MainLayout.razor.css behind ::deep. Owning them here is what keeps
 * the open/closed state a component concern: the previous :focus-within expansion collapsed the
 * panel the instant a result was tapped, which ate the tap.
 */

.header-search-backdrop[b-glvmhlhvqe] {
    position: fixed;
    inset: 0;
    z-index: var(--posh-overlay-z);
    border: 0;
    padding: 0;
    /*
     * No tint. Blurring a uniform opaque surface returns that same colour, so the navbar bar this
     * overlay passes under is left visually untouched while page content behind it softens.
     */
    background: transparent;
}

.header-search-container[b-glvmhlhvqe] {
    position: relative;
    width: min(100%, 14rem);
    transition: width 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.header-search-container.is-open[b-glvmhlhvqe] {
    width: min(100%, 19rem);
    z-index: var(--posh-dropdown-z);
}

.header-search-input-wrap[b-glvmhlhvqe] {
    position: relative;
    display: flex;
    align-items: center;
}

.header-search-input[b-glvmhlhvqe] {
    width: 100%;
    min-height: 2.35rem;
    padding: 0.42rem 2.4rem 0.42rem 0.85rem;
    border-radius: 0.75rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-surface) 78%, transparent);
    color: var(--inv-text);
    font-size: 0.85rem;
    line-height: 1.25;
    transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.25s ease;
}

.header-search-input[b-glvmhlhvqe]::placeholder {
    color: color-mix(in oklab, var(--inv-text) 50%, transparent);
}

.header-search-input:hover[b-glvmhlhvqe] {
    background: color-mix(in oklab, var(--inv-surface) 90%, transparent);
    border-color: color-mix(in oklab, var(--inv-text) 20%, var(--inv-border));
}

.header-search-input:focus[b-glvmhlhvqe] {
    outline: none;
    border-color: color-mix(in oklab, var(--inv-text) 40%, var(--inv-border));
    background: var(--inv-surface);
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--inv-text) 8%, transparent);
}

.header-search-btn[b-glvmhlhvqe] {
    position: absolute;
    right: 0.6rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: color-mix(in oklab, var(--inv-text) 55%, transparent);
    cursor: pointer;
    padding: 0.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: color 0.15s ease, transform 0.15s ease;
}

.header-search-btn:hover[b-glvmhlhvqe] {
    color: var(--inv-text);
    transform: translateY(-50%) scale(1.08);
}

.header-search-icon[b-glvmhlhvqe] {
    display: block;
}

@keyframes searchDropdownEnter-b-glvmhlhvqe {
    from {
        opacity: 0;
        transform: translateY(-6px) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.header-search-dropdown[b-glvmhlhvqe] {
    position: absolute;
    top: calc(100% + 0.45rem);
    right: 0;
    left: 0;
    z-index: 1;
    border-radius: 0.75rem;
    padding: 0.45rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    background: var(--posh-storefront-container);
    border: 1px solid var(--inv-border);
    animation: searchDropdownEnter-b-glvmhlhvqe 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    transform-origin: top center;
}

.header-search-empty[b-glvmhlhvqe] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem 0.75rem;
    font-size: 0.82rem;
    font-weight: 500;
    color: color-mix(in oklab, var(--inv-text) 55%, transparent);
    text-align: center;
    user-select: none;
}

.header-search-item[b-glvmhlhvqe] {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.45rem;
    border-radius: 0.55rem;
    text-decoration: none;
    color: var(--inv-text);
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.header-search-item:hover[b-glvmhlhvqe] {
    background: color-mix(in oklab, var(--inv-text) 8%, transparent);
    transform: translateX(-2px);
}

.header-search-thumb[b-glvmhlhvqe] {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border-radius: 0.4rem;
}

.header-search-info[b-glvmhlhvqe] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.header-search-title[b-glvmhlhvqe] {
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.header-search-more[b-glvmhlhvqe] {
    display: block;
    text-align: center;
    padding: 0.45rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--inv-text);
    text-decoration: none;
    border-top: 1px solid var(--inv-border);
    transition: color 0.15s ease;
}

.header-search-more:hover[b-glvmhlhvqe] {
    color: color-mix(in oklab, var(--inv-text) 80%, var(--inv-border));
}

/* Matches --posh-bp-nav: 768px in app.css. */
@media (max-width: 767.98px) {
    .header-search-backdrop[b-glvmhlhvqe] {
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
    }

    /* Collapsed, the input itself is the 2.75rem tap target: the tap focuses it natively, which is
       the only way iOS Safari will raise the keyboard for a server-round-tripped open. */
    .header-search-container[b-glvmhlhvqe] {
        display: block;
        width: 2.75rem;
        flex: 0 0 2.75rem;
    }

    .header-search-input[b-glvmhlhvqe] {
        padding: 0;
        color: transparent;
        caret-color: transparent;
        cursor: text;
        /*
         * 16px floor, applied collapsed as well as open: iOS Safari decides whether to zoom at the
         * moment focus lands, which is before the server round-trip can add .is-open. The collapsed
         * text is transparent, so this has no visual cost.
         */
        font-size: 1rem;
    }

    .header-search-input[b-glvmhlhvqe]::placeholder {
        color: transparent;
    }

    .header-search-btn[b-glvmhlhvqe] {
        pointer-events: none;
    }

    .header-search-container.is-open[b-glvmhlhvqe] {
        position: fixed;
        top: var(--posh-dropdown-top);
        inset-inline: var(--posh-safe-inline);
        width: auto;
    }

    .header-search-container.is-open .header-search-input[b-glvmhlhvqe] {
        padding: 0.42rem 2.4rem 0.42rem 0.85rem;
        color: var(--inv-text);
        caret-color: currentColor;
        cursor: text;
    }

    .header-search-container.is-open .header-search-input[b-glvmhlhvqe]::placeholder {
        color: color-mix(in oklab, var(--inv-text) 50%, transparent);
    }

    .header-search-container.is-open .header-search-btn[b-glvmhlhvqe] {
        pointer-events: auto;
    }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    @media (max-width: 767.98px) {
        .header-search-backdrop[b-glvmhlhvqe] {
            background: var(--posh-dropdown-fallback-bg);
        }
    }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.shop-page[b-ezryr3ilbu] {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    color: var(--inv-text);
    background-color: var(--inv-bg);
    font-family: var(--posh-storefront-font);
    line-height: 1.6;
    color-scheme: light;
}

/* The backdrop is always in the markup (ADR 0036), so only a visible one lifts the navbar. */
.shop-page:has(.shop-mobile-nav-backdrop:not([hidden])) .shop-navbar[b-ezryr3ilbu] {
    z-index: var(--posh-mobile-nav-drawer-z);
}

/*
 * The Mobile Search Overlay backdrop is rendered by HeaderSearch, which sits inside the navbar's
 * stacking context. Lift the whole navbar layer so the backdrop covers page content, then lift the
 * navbar's own clusters back above the backdrop so the header stays crisp and tappable.
 */
.shop-page:has(.header-search-backdrop) .shop-navbar[b-ezryr3ilbu] {
    z-index: var(--posh-dropdown-z);
}

.shop-navbar-inner:has(.header-search-backdrop) .shop-navbar-start[b-ezryr3ilbu],
.shop-navbar-inner:has(.header-search-backdrop) .shop-navbar-brand-group[b-ezryr3ilbu],
.shop-navbar-inner:has(.header-search-backdrop) .shop-util-cart-wrap[b-ezryr3ilbu] {
    position: relative;
    z-index: calc(var(--posh-overlay-z) + 1);
}

.shop-navbar-utilities:has(.header-search-backdrop)[b-ezryr3ilbu]  .shop-user-account {
    position: relative;
    z-index: calc(var(--posh-overlay-z) + 1);
}

.shop-navbar[b-ezryr3ilbu] {
    position: sticky;
    top: 0;
    z-index: var(--posh-header-z);
    --posh-dropdown-top: 4.25rem;
    background: transparent;
}

.shop-navbar[b-ezryr3ilbu]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: var(--inv-surface);
    border-bottom: 1px solid var(--inv-border);
}

.shop-navbar-inner[b-ezryr3ilbu] {
    position: relative;
    z-index: 1;
    max-width: 100%;
    margin: 0 auto;
    padding: 0.75rem clamp(1rem, 3vw, 2.5rem);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    grid-template-areas: "utility navigation brand";
    direction: ltr;
    align-items: center;
    gap: 1rem;
    width: 100%;
}


.shop-navbar-start[b-ezryr3ilbu] {
    grid-area: brand;
    display: inline-flex;
    align-items: center;
    justify-self: stretch;
    justify-content: flex-start;
    gap: 0.55rem;
    min-width: 0;
    direction: rtl;
}

.shop-navbar-brand-group[b-ezryr3ilbu] {
    grid-area: navigation;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.15rem;
    flex-wrap: nowrap;
    min-width: 0;
    direction: rtl;
}

.shop-navbar-utilities[b-ezryr3ilbu] {
    grid-area: utility;
    display: flex;
    align-items: center;
    justify-self: stretch;
    justify-content: flex-end;
    gap: 0.55rem;
    min-width: 0;
    direction: rtl;
}

.shop-util-cart-wrap[b-ezryr3ilbu] {
    display: inline-flex;
    align-items: center;
}

.shop-util-cart-wrap[b-ezryr3ilbu]  .shop-action.shop-cart {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    min-width: 2.35rem;
    min-height: 2.35rem;
    padding: 0.42rem;
    border-radius: 0.75rem;
    color: var(--inv-text);
    text-decoration: none;
    background: color-mix(in oklab, var(--inv-surface) 78%, transparent);
    border: 1px solid var(--inv-border);
    font-size: 0.88rem;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}

.shop-util-cart-wrap[b-ezryr3ilbu]  .shop-action.shop-cart:hover {
    background: color-mix(in oklab, var(--inv-text) 10%, transparent);
    border-color: color-mix(in oklab, var(--inv-text) 22%, var(--inv-border));
    transform: translateY(-1px);
    box-shadow: 0 6px 16px -10px color-mix(in oklab, var(--inv-text) 45%, transparent);
}

.shop-util-cart-wrap[b-ezryr3ilbu]  .shop-action-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.shop-brand[b-ezryr3ilbu] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: var(--inv-text);
    padding: 0.2rem 0.45rem;
    border-radius: 0.7rem;
    border: 1px solid transparent;
    transition:
        background-color 0.2s ease,
        transform 0.15s ease,
        border-color 0.2s ease,
        box-shadow 0.25s ease;
}

    .shop-brand:hover[b-ezryr3ilbu] {
        background: color-mix(in oklab, var(--inv-surface) 72%, transparent);
        border-color: var(--inv-border);
        transform: translateY(-1px);
        box-shadow: 0 0 0 1px color-mix(in oklab, var(--inv-text) 8%, transparent);
    }

    .shop-brand:hover .brand-wordmark[b-ezryr3ilbu] {
        text-shadow:
            0 0 14px color-mix(in oklab, var(--inv-text) 24%, transparent),
            0 0 28px color-mix(in oklab, var(--inv-text) 10%, transparent);
    }

.brand-wordmark[b-ezryr3ilbu] {
    display: inline-block;
    padding-inline-start: 0.34em;
    font-family: 'Hanken Grotesk', 'Avenir Next', 'Helvetica Neue', sans-serif;
    font-size: clamp(1.3rem, 1.7vw, 1.55rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.34em;
    color: var(--inv-text);
    transition: text-shadow 0.25s ease;
}

.shop-nav-links[b-ezryr3ilbu] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1.1rem;
    flex: 0 0 auto;
    flex-shrink: 0;
    flex-wrap: nowrap;
    min-width: min-content;
}

.shop-nav-links--desktop[b-ezryr3ilbu] {
    display: flex;
}

/* NavLink renders a child <a>; ::deep so layout scoped CSS still applies. */
.shop-nav-links[b-ezryr3ilbu]  a.shop-nav-link {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0;
    border-radius: 0;
    color: color-mix(in oklab, var(--inv-text) 78%, transparent);
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 600;
    border: none;
    background: transparent;
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.shop-nav-links[b-ezryr3ilbu]  a.shop-nav-link:hover {
    color: var(--inv-text);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.28rem;
    background: transparent;
}

.shop-nav-links[b-ezryr3ilbu]  a.shop-nav-link.active {
    color: var(--inv-text);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.28rem;
    background: transparent;
}

.shop-cart-badge[b-ezryr3ilbu] {
    position: absolute;
    top: -6px;
    inset-inline-start: -6px;
    min-width: 1.2rem;
    height: 1.2rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    font-size: 0.7rem;
    line-height: 1.2rem;
    text-align: center;
    background: var(--inv-text);
    color: var(--inv-bg);
    font-weight: 700;
    box-shadow: 0 4px 14px -6px rgba(0, 0, 0, 0.45);
}

.shop-main[b-ezryr3ilbu] {
    position: relative;
    flex: 1;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 1.75rem clamp(1rem, 3vw, 2.5rem) 2.5rem;
    isolation: isolate;
}

.shop-main:has(.idx-editorial-page)[b-ezryr3ilbu] {
    max-width: none;
    margin: 0;
    padding: 0;
    min-height: 100vh;
}

.shop-main-body[b-ezryr3ilbu] {
    position: relative;
    z-index: 1;
    width: 100%;
}

.shop-main:has(.idx-editorial-page) .shop-main-body[b-ezryr3ilbu] {
    width: 100%;
}

.shop-footer[b-ezryr3ilbu] {
    --shop-footer-bg: #292520;
    --shop-footer-ink: #fbf4e8;
    --shop-footer-muted: rgba(251, 244, 232, 0.64);
    --shop-footer-line: rgba(251, 244, 232, 0.16);
    position: relative;
    isolation: isolate;
    width: 100%;
    margin-top: clamp(2.5rem, 6vw, 5rem);
    overflow: hidden;
    background: var(--shop-footer-bg);
    color: var(--shop-footer-ink);
}

.shop-footer[b-ezryr3ilbu]::before {
    content: "P";
    position: absolute;
    z-index: -1;
    inset-inline-start: clamp(-2rem, 5vw, 5rem);
    bottom: -5rem;
    color: rgba(255, 224, 181, 0.055);
    font-family: ui-monospace, monospace;
    font-size: clamp(16rem, 31vw, 30rem);
    font-weight: 800;
    letter-spacing: -0.16em;
    line-height: 0.7;
    pointer-events: none;
    user-select: none;
}

.shop-footer-inner[b-ezryr3ilbu] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(2rem, 5vw, 5rem);
    width: min(100%, var(--posh-storefront-content-max));
    margin: 0 auto;
    padding: clamp(3rem, 6vw, 5.5rem) clamp(1rem, 3vw, 2.5rem) 1.4rem;
}

.shop-footer-group[b-ezryr3ilbu],
.shop-footer-trust[b-ezryr3ilbu] {
    min-width: 0;
}

.shop-footer-group[b-ezryr3ilbu] {
    padding-inline-start: clamp(0.9rem, 2vw, 1.5rem);
    border-inline-start: 1px solid var(--shop-footer-line);
}

.shop-footer-heading[b-ezryr3ilbu] {
    display: block;
    position: relative;
    margin: 0 0 1.35rem;
    padding-top: 0.75rem;
    color: var(--shop-footer-muted);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.3;
}

.shop-footer-heading[b-ezryr3ilbu]::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: 0;
    width: 1.8rem;
    height: 1px;
    background: var(--shop-footer-muted);
}

.shop-footer-links[b-ezryr3ilbu] {
    display: grid;
    gap: 0.8rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.shop-footer-links a[b-ezryr3ilbu] {
    display: inline-flex;
    align-items: baseline;
    gap: 0.5rem;
    width: fit-content;
    color: rgba(251, 244, 232, 0.88);
    font-size: 0.9rem;
    line-height: 1.45;
    text-decoration: none;
    text-underline-offset: 0.24em;
    transition: color 0.18s ease, opacity 0.18s ease, transform 0.18s ease;
}

.shop-footer-links a:hover[b-ezryr3ilbu] {
    color: var(--shop-footer-ink);
    opacity: 1;
    text-decoration: none;
    transform: translateX(-0.25rem);
}

.shop-footer-links a i[b-ezryr3ilbu] {
    color: rgba(251, 244, 232, 0.48);
    font-size: 0.88rem;
}

.shop-footer-phone[b-ezryr3ilbu] {
    flex-wrap: wrap;
}

.shop-footer-phone span:last-child[b-ezryr3ilbu] {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
}

.shop-footer-trust[b-ezryr3ilbu] {
    align-self: start;
    padding: 1.25rem;
    border-radius: 1rem;
    border: 1px solid rgba(251, 244, 232, 0.22);
    background: transparent;
    color: var(--shop-footer-ink);
    box-shadow: none;
}

.shop-footer-trust .shop-footer-heading[b-ezryr3ilbu] {
    margin-bottom: 1rem;
    padding-top: 0;
    color: var(--shop-footer-muted);
}

.shop-footer-trust .shop-footer-heading[b-ezryr3ilbu]::before {
    display: none;
}

.shop-enamad-wrap[b-ezryr3ilbu] {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.shop-enamad-wrap img[b-ezryr3ilbu] {
    display: block;
    margin-inline: auto;
    width: 5.8rem;
    height: auto;
    max-width: 100%;
}

.shop-footer-legal[b-ezryr3ilbu] {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: clamp(0.5rem, 2vw, 1.5rem);
    padding-top: 1.1rem;
    border-top: 1px solid var(--shop-footer-line);
    color: rgba(251, 244, 232, 0.52);
    font-size: 0.72rem;
    line-height: 1.5;
}

.shop-footer-legal[b-ezryr3ilbu]::before {
    content: "POSH";
    color: rgba(251, 244, 232, 0.34);
    font-family: ui-monospace, monospace;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.2em;
}

.shop-footer a:focus-visible[b-ezryr3ilbu] {
    outline: 2px solid var(--shop-footer-ink);
    outline-offset: 0.24rem;
}

.shop-footer-trust a:focus-visible[b-ezryr3ilbu] {
    outline-color: var(--shop-footer-ink);
}

/*
    The Checkout Wizard owns the bottom of the viewport with its safe-area action bar, and the
    floating support button would sit on top of the pay action. Checkout is a focused task with its
    own help copy, so the button steps aside for the duration.
*/
.shop-page:has(.checkout-shell) .shop-whatsapp-fab[b-ezryr3ilbu],
.shop-page:has(.checkout-result-shell) .shop-whatsapp-fab[b-ezryr3ilbu] {
    display: none;
}

/*
    The wizard's action bar is fixed, but it lives inside .shop-main, which is an isolated stacking
    context — so its own z-index cannot lift it past the footer's z-index: 1, and the footer ends up
    painting over the pay button and swallowing its taps. Lifting main one level above the footer
    fixes it while staying well below the sticky header and the Cart Panel.
*/
.shop-page:has(.checkout-shell) .shop-main[b-ezryr3ilbu] {
    z-index: 2;
}

/*
    The store-rules sheet opened from the Checkout Wizard is rendered inside .shop-main, so while it
    is present main is lifted over the sticky header as well; otherwise the header would paint over
    the backdrop and the top of a tall sheet.
*/
.shop-page:has(.checkout-rules-root) .shop-main[b-ezryr3ilbu],
.shop-page:has(.psg-sheet-root) .shop-main[b-ezryr3ilbu],
.shop-page:has(.ppv-root) .shop-main[b-ezryr3ilbu] {
    z-index: var(--posh-overlay-z);
}

/*
    The size-guide sheet opens from a shoe page too, where the floating support button would sit on
    the sheet's «متوجه شدم»; it steps aside while the sheet is present. The full-screen Product Photo
    Viewer is the same: the button would sit on the photo.
*/
.shop-page:has(.psg-sheet-root) .shop-whatsapp-fab[b-ezryr3ilbu],
.shop-page:has(.ppv-root) .shop-whatsapp-fab[b-ezryr3ilbu] {
    display: none;
}

.shop-whatsapp-fab[b-ezryr3ilbu] {
    position: fixed;
    bottom: 1.35rem;
    inset-inline-end: 1.25rem;
    z-index: 1040;
    width: 3.35rem;
    height: 3.35rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #1a1a1a;
    border: 1px solid #dadad8;
    text-decoration: none;
    font-size: 1.85rem;
    line-height: 1;
    box-shadow: none;
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.shop-whatsapp-fab:hover[b-ezryr3ilbu],
.shop-whatsapp-fab:focus-visible[b-ezryr3ilbu] {
    color: #1a1a1a;
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(26, 26, 26, 0.06);
}

.shop-whatsapp-fab:active[b-ezryr3ilbu] {
    transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce) {
    .shop-whatsapp-fab[b-ezryr3ilbu] {
        transition: none;
    }
}

@media (max-width: 640.98px) {
    .shop-footer-inner[b-ezryr3ilbu] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.4rem 1rem;
        padding-top: 2.5rem;
    }

    .shop-footer-trust[b-ezryr3ilbu],
    .shop-footer-legal[b-ezryr3ilbu] {
        grid-column: 1 / -1;
    }

    .shop-footer-trust[b-ezryr3ilbu] {
        padding: 1rem;
    }

    .shop-footer-legal[b-ezryr3ilbu] {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.55rem;
    }

    .shop-whatsapp-fab[b-ezryr3ilbu] {
        bottom: 1rem;
        inset-inline-end: 1rem;
        width: 3.1rem;
        height: 3.1rem;
        font-size: 1.7rem;
    }

    .shop-navbar-inner[b-ezryr3ilbu] {
        gap: 0.65rem;
    }
}

/* Matches --posh-bp-nav: 768px in app.css. */
@media (max-width: 767.98px) {
    .shop-navbar[b-ezryr3ilbu] {
        --posh-dropdown-top: 4.5rem;
    }

    .shop-navbar-inner[b-ezryr3ilbu] {
        padding-inline: 0.85rem;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "utility brand";
    }

    .shop-nav-links--desktop[b-ezryr3ilbu] {
        display: none;
    }

    .shop-util-cart-wrap[b-ezryr3ilbu]  .shop-action.shop-cart {
        min-width: 2.75rem;
        min-height: 2.75rem;
    }

    .shop-navbar-utilities[b-ezryr3ilbu]  .shop-guest-sep,
    .shop-navbar-utilities[b-ezryr3ilbu]  .shop-guest-actions a[href="/account/register"] {
        display: none;
    }
}

#blazor-error-ui[b-ezryr3ilbu] {
    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;
    inset-inline-start: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-ezryr3ilbu] {
        cursor: pointer;
        position: absolute;
        inset-inline-end: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-b9wu2pz9au] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    inset-inline-end: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-b9wu2pz9au] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-b9wu2pz9au] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-b9wu2pz9au] {
    font-size: 1.1rem;
}

.bi[b-b9wu2pz9au] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-inline-end: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-b9wu2pz9au] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-b9wu2pz9au] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-b9wu2pz9au] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.nav-item[b-b9wu2pz9au] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-b9wu2pz9au] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-b9wu2pz9au] {
        padding-bottom: 1rem;
    }

    .nav-item[b-b9wu2pz9au]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-b9wu2pz9au]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-b9wu2pz9au]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-b9wu2pz9au] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-b9wu2pz9au] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-b9wu2pz9au] {
        display: none;
    }

    .nav-scrollable[b-b9wu2pz9au] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
/* The reconnect indicator is a thin indeterminate bar pinned to the top edge of the page. It appears only while
   Blazor is reconnecting (or the session is paused) and never blocks clicks on the page behind it. */
#components-reconnect-modal[b-ecrnn231ix] {
    display: none;
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 2147483647;
    block-size: 4px;
    overflow: hidden;
    pointer-events: none;
    /* A light track keeps the dark bar visible over the black announcement bar as well as over light pages. */
    background: var(--posh-storefront-outline, #dadad8);
}

#components-reconnect-modal.components-reconnect-show[b-ecrnn231ix],
#components-reconnect-modal.components-reconnect-retrying[b-ecrnn231ix],
#components-reconnect-modal.components-reconnect-failed[b-ecrnn231ix],
#components-reconnect-modal.components-reconnect-paused[b-ecrnn231ix],
#components-reconnect-modal.components-reconnect-resume-failed[b-ecrnn231ix] {
    display: block;
}

.components-reconnect-bar[b-ecrnn231ix] {
    position: absolute;
    inset-block: 0;
    inline-size: 40%;
    background: currentColor;
    color: var(--posh-storefront-ink, #1a1a1a);
    animation: components-reconnect-slide-b-ecrnn231ix 1.2s ease-in-out infinite;
}

@keyframes components-reconnect-slide-b-ecrnn231ix {
    0% {
        inset-inline-start: -40%;
    }

    100% {
        inset-inline-start: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .components-reconnect-bar[b-ecrnn231ix] {
        inline-size: 100%;
        inset-inline-start: 0;
        animation: components-reconnect-pulse-b-ecrnn231ix 1.6s ease-in-out infinite;
    }

    @keyframes components-reconnect-pulse-b-ecrnn231ix {
        0%, 100% {
            opacity: 0.25;
        }

        50% {
            opacity: 0.85;
        }
    }
}
/* /Components/Layout/ShopCategoryList.razor.rz.scp.css */
.shop-category-list[b-m0pi422anp] {
    list-style: none;
    margin: 0.25rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    animation: shopCategoryReveal-b-m0pi422anp 0.18s ease-out;
}

@keyframes shopCategoryReveal-b-m0pi422anp {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.shop-category-item[b-m0pi422anp] {
    display: flex;
}

.shop-category-link[b-m0pi422anp] {
    flex: 1;
    display: flex;
    align-items: center;
    min-height: 2.25rem;
    padding: 0.35rem 0.75rem;
    font-size: 0.9rem;
    color: color-mix(in oklab, currentColor 78%, transparent);
    text-decoration: none;
    border-radius: 0.5rem;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.shop-category-link:hover[b-m0pi422anp] {
    color: currentColor;
    background: color-mix(in oklab, currentColor 7%, transparent);
}

.shop-category-link:focus-visible[b-m0pi422anp] {
    outline: 2px solid currentColor;
    outline-offset: -2px;
}

.shop-category-empty[b-m0pi422anp] {
    padding: 0.35rem 0.75rem;
    font-size: 0.85rem;
    color: color-mix(in oklab, currentColor 60%, transparent);
}

.shop-category-list.is-mobile[b-m0pi422anp] {
    margin-block-end: 0.25rem;
}

@media (prefers-reduced-motion: reduce) {
    .shop-category-list[b-m0pi422anp] {
        animation: none;
    }
}
/* /Components/Layout/ShopMegaMenu.razor.rz.scp.css */
.shop-megamenu-root[b-kbaijji5e1] {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* Sized and coloured like the navbar's other links (MainLayout's a.shop-nav-link), so «فروشگاه» sits in their row
   without a padded box of its own; hover and the open menu underline it as hover does theirs. */
.shop-megamenu-trigger[b-kbaijji5e1] {
    background: none;
    border: none;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 600;
    color: color-mix(in oklab, var(--posh-storefront-ink, #1a1a1a) 78%, transparent);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.2rem 0;
    border-radius: 0;
    transition: color 0.15s ease;
    user-select: none;
}

.shop-megamenu-trigger:hover[b-kbaijji5e1],
.shop-megamenu-trigger[aria-expanded="true"][b-kbaijji5e1] {
    color: var(--posh-storefront-ink, #1a1a1a);
}

.shop-megamenu-trigger:hover > span[b-kbaijji5e1],
.shop-megamenu-trigger[aria-expanded="true"] > span[b-kbaijji5e1] {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.28rem;
}

.shop-megamenu-trigger:focus-visible[b-kbaijji5e1] {
    outline: 2px solid var(--posh-storefront-ink, #1a1a1a);
    outline-offset: 2px;
}

.shop-megamenu-caret[b-kbaijji5e1] {
    font-size: 0.75rem;
    transition: transform 0.2s ease;
}

.shop-megamenu-trigger[aria-expanded="true"] .shop-megamenu-caret[b-kbaijji5e1] {
    transform: rotate(180deg);
}

.shop-megamenu-dropdown[b-kbaijji5e1] {
    position: absolute;
    top: calc(100% + 8px);
    left: 50%;
    translate: -50% 0;
    z-index: 1000;
    width: max-content;
    min-width: 15rem;
    max-width: min(20rem, 90vw);
    background-color: var(--posh-storefront-container, #ffffff);
    border: 1px solid var(--posh-storefront-outline, #dadad8);
    border-radius: 14px;
    box-shadow: none;
    max-height: calc(80vh - 80px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: shopMegaMenuFadeIn-b-kbaijji5e1 0.15s ease-out;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.shop-megamenu-dropdown:is(:hover, :focus-within)[b-kbaijji5e1] {
    transform: translateY(-4px);
    border-color: color-mix(in oklab, var(--posh-storefront-outline, #dadad8) 72%, var(--posh-storefront-ink, #1a1a1a));
    box-shadow: 0 18px 42px rgba(26, 26, 26, 0.06);
}

@keyframes shopMegaMenuFadeIn-b-kbaijji5e1 {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .shop-megamenu-dropdown[b-kbaijji5e1] {
        animation: none;
        transition: none;
    }
}

.shop-megamenu-body[b-kbaijji5e1] {
    overflow-y: auto;
    padding: 8px 12px;
    flex: 1 1 auto;
}

.shop-megamenu-empty[b-kbaijji5e1] {
    color: color-mix(in oklab, var(--posh-storefront-ink, #1a1a1a) 60%, transparent);
    font-size: 0.9rem;
    text-align: center;
    padding: 16px;
}

.shop-megamenu-grid[b-kbaijji5e1] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
}

.shop-megamenu-col[b-kbaijji5e1] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    padding-block: 12px;
    text-align: center;
}

.shop-megamenu-col + .shop-megamenu-col[b-kbaijji5e1] {
    border-top: 1px solid color-mix(in oklab, var(--posh-storefront-outline, #dadad8) 70%, transparent);
}

.shop-megamenu-gateway-title[b-kbaijji5e1] {
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--posh-storefront-ink, #1a1a1a);
    align-self: center;
    padding-block: 4px;
    text-decoration: underline;
    text-decoration-color: transparent;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.4rem;
    transition: text-decoration-color 0.15s ease;
}

/* No rule at rest; a thin underline spanning only the word appears on hover. */
.shop-megamenu-gateway-title:hover[b-kbaijji5e1] {
    color: var(--posh-storefront-ink, #1a1a1a);
    text-decoration-color: currentColor;
}

.shop-megamenu-gateway-title:focus-visible[b-kbaijji5e1] {
    outline: 2px solid var(--posh-storefront-ink, #1a1a1a);
    outline-offset: 2px;
    border-radius: 4px;
}

.shop-megamenu-footer[b-kbaijji5e1] {
    padding: 10px 12px;
    border-top: 1px solid var(--posh-storefront-outline, #dadad8);
    background-color: var(--posh-storefront-canvas, #f9f9f7);
    display: flex;
    justify-content: center;
}

.shop-megamenu-footer-link[b-kbaijji5e1] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--posh-storefront-ink, #1a1a1a);
    text-decoration: none;
    padding: 6px 12px;
    border-radius: 8px;
    transition: background-color 0.15s ease;
}

.shop-megamenu-footer-link:hover[b-kbaijji5e1] {
    background-color: color-mix(in oklab, var(--posh-storefront-ink, #1a1a1a) 6%, transparent);
}

.shop-megamenu-footer-link:focus-visible[b-kbaijji5e1] {
    outline: 2px solid var(--posh-storefront-ink, #1a1a1a);
    outline-offset: 2px;
}

/* The title is centered on the panel; the toggle sits at the end, balanced by an empty start track. */
.shop-megamenu-gateway-row[b-kbaijji5e1] {
    display: grid;
    grid-template-columns: 1.875rem 1fr 1.875rem;
    align-items: center;
    column-gap: 0.5rem;
}

.shop-megamenu-gateway-row .shop-megamenu-gateway-title[b-kbaijji5e1] {
    grid-column: 2;
    justify-self: center;
}

.shop-megamenu-gateway-row .shop-megamenu-plus[b-kbaijji5e1] {
    grid-column: 3;
    grid-row: 1;
}

.shop-megamenu-plus[b-kbaijji5e1] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.875rem;
    height: 1.875rem;
    padding: 0;
    border: 1px solid var(--posh-storefront-outline, #dadad8);
    border-radius: 999px;
    background: var(--posh-storefront-container, #ffffff);
    color: var(--posh-storefront-ink, #1a1a1a);
    font-size: 0.9rem;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.shop-megamenu-plus:hover[b-kbaijji5e1] {
    background: color-mix(in oklab, var(--posh-storefront-ink, #1a1a1a) 6%, var(--posh-storefront-container, #ffffff));
}

.shop-megamenu-plus[aria-expanded="true"][b-kbaijji5e1] {
    border-color: var(--posh-storefront-ink, #1a1a1a);
}

.shop-megamenu-plus[aria-expanded="true"] .shop-disclosure-icon-collapsed[b-kbaijji5e1],
.shop-megamenu-plus[aria-expanded="false"] .shop-disclosure-icon-expanded[b-kbaijji5e1] {
    display: none;
}

.shop-megamenu-plus:focus-visible[b-kbaijji5e1] {
    outline: 2px solid var(--posh-storefront-ink, #1a1a1a);
    outline-offset: 2px;
}

/* The category list is shared with the mobile drawer; only inside the dropdown does it center. */
.shop-megamenu-col[b-kbaijji5e1]  .shop-category-link {
    justify-content: center;
}
/* /Components/Layout/ShopMobileNav.razor.rz.scp.css */
.shop-mobile-nav-root[b-s4d0gi7pan] {
    display: contents;
}

.shop-nav-toggle[b-s4d0gi7pan] {
    appearance: none;
    display: none;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.75rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-surface) 78%, transparent);
    color: var(--inv-text);
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.shop-nav-toggle:hover[b-s4d0gi7pan] {
    background: color-mix(in oklab, var(--inv-text) 10%, var(--inv-surface));
    border-color: color-mix(in oklab, var(--inv-text) 22%, var(--inv-border));
    transform: translateY(-1px);
}

.shop-nav-toggle i[b-s4d0gi7pan] {
    font-size: 1.2rem;
    line-height: 1;
}

.shop-nav-toggle[aria-expanded="true"] .shop-nav-toggle-icon-closed[b-s4d0gi7pan],
.shop-nav-toggle[aria-expanded="false"] .shop-nav-toggle-icon-open[b-s4d0gi7pan] {
    display: none;
}

.shop-mobile-nav-backdrop[b-s4d0gi7pan] {
    position: fixed;
    inset: 0;
    z-index: var(--posh-mobile-nav-backdrop-z, 990);
    margin: 0;
    padding: 0;
    border: none;
    background: rgba(8, 12, 18, 0.45);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.shop-mobile-nav[b-s4d0gi7pan] {
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: 0;
    width: min(20rem, calc(100vw - 2rem));
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    padding: 4.5rem 1rem 1.5rem;
    z-index: var(--posh-mobile-nav-drawer-z, 1000);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    background: color-mix(in oklab, var(--inv-surface, #ffffff) 94%, transparent);
    border-inline-end: 1px solid var(--inv-border, rgba(0, 0, 0, 0.08));
    backdrop-filter: blur(14px) saturate(1.1);
    -webkit-backdrop-filter: blur(14px) saturate(1.1);
    box-shadow: 0 20px 56px -26px color-mix(in oklab, var(--inv-text) 32%, transparent);
    overflow-y: auto;
}

.shop-mobile-nav[b-s4d0gi7pan]  a.shop-mobile-nav-link {
    display: flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.65rem 0.8rem;
    border-radius: 0.7rem;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 700;
    color: color-mix(in oklab, var(--inv-text) 78%, transparent);
    border: 1px solid transparent;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

.shop-mobile-nav[b-s4d0gi7pan]  a.shop-mobile-nav-link:hover,
.shop-mobile-nav[b-s4d0gi7pan]  a.shop-mobile-nav-link.active {
    color: var(--inv-text);
    background: color-mix(in oklab, var(--inv-text) 9%, transparent);
    border-color: color-mix(in oklab, var(--inv-text) 18%, transparent);
}

.shop-mobile-accordion-group[b-s4d0gi7pan] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.shop-mobile-shop-header[b-s4d0gi7pan] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.shop-mobile-shop-header[b-s4d0gi7pan]  a.shop-mobile-shop-link {
    flex: 1;
}

.shop-mobile-expand-btn[b-s4d0gi7pan] {
    background: none;
    border: none;
    color: var(--inv-text);
    padding: 0.5rem 0.75rem;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 0.5rem;
}

.shop-mobile-expand-btn:hover[b-s4d0gi7pan] {
    background: color-mix(in oklab, var(--inv-text) 8%, transparent);
}

.shop-mobile-caret[b-s4d0gi7pan] {
    font-size: 0.85rem;
    transition: transform 0.2s ease;
}

.shop-mobile-expand-btn[aria-expanded="true"] .shop-mobile-caret[b-s4d0gi7pan] {
    transform: rotate(180deg);
}

.shop-mobile-expand-btn[aria-expanded="true"] .shop-disclosure-icon-collapsed[b-s4d0gi7pan],
.shop-mobile-expand-btn[aria-expanded="false"] .shop-disclosure-icon-expanded[b-s4d0gi7pan] {
    display: none;
}

.shop-mobile-gateways-list[b-s4d0gi7pan] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding-inline-start: 0.75rem;
    margin-block-start: 0.25rem;
    border-inline-start: 2px solid color-mix(in oklab, var(--inv-text) 10%, transparent);
}

.shop-mobile-gateway-item[b-s4d0gi7pan] {
    display: flex;
    flex-direction: column;
}

.shop-mobile-gateway-link[b-s4d0gi7pan] {
    flex: 1;
    display: flex;
    align-items: center;
    min-height: 2.5rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--inv-text);
    text-decoration: none;
    border-radius: 0.5rem;
    transition: background-color 0.15s ease;
}

.shop-mobile-gateway-link:hover[b-s4d0gi7pan] {
    background: color-mix(in oklab, var(--inv-text) 6%, transparent);
}

/* Matches --posh-bp-nav: 768px in app.css */
@media (max-width: 767.98px) {
    .shop-nav-toggle[b-s4d0gi7pan] {
        display: inline-flex;
    }
}

.shop-mobile-gateway-row[b-s4d0gi7pan] {
    display: flex;
    align-items: center;
}
/* /Components/Layout/ShopUserAccountMenu.razor.rz.scp.css */
.shop-user-account[b-kpvjnabfy2] {
    display: flex;
    align-items: center;
}

.shop-guest-actions[b-kpvjnabfy2] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.shop-guest-sep[b-kpvjnabfy2] {
    color: color-mix(in oklab, var(--inv-text) 35%, transparent);
    user-select: none;
}

.shop-nav-text-link[b-kpvjnabfy2] {
    color: color-mix(in oklab, var(--inv-text) 78%, transparent);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0.2rem 0;
    border-radius: 0.25rem;
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.shop-nav-text-link:hover[b-kpvjnabfy2] {
    color: var(--inv-text);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.28rem;
}

.shop-user-menu-root[b-kpvjnabfy2] {
    position: relative;
    display: inline-flex;
    align-items: center;
    z-index: var(--posh-overlay-z);
}

.shop-user-menu-trigger[b-kpvjnabfy2] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.35rem;
    min-height: 2.35rem;
    padding: 0.42rem;
    border-radius: 0.75rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-surface) 78%, transparent);
    color: var(--inv-text);
    font-family: inherit;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.shop-user-menu-trigger:hover[b-kpvjnabfy2] {
    background: color-mix(in oklab, var(--inv-text) 10%, var(--inv-surface));
    border-color: color-mix(in oklab, var(--inv-text) 22%, var(--inv-border));
    transform: translateY(-1px);
}

.shop-user-menu-trigger-icon[b-kpvjnabfy2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    line-height: 1;
}

/* Matches --posh-bp-nav. On a phone «ورود» stands alone (MainLayout hides «ثبت‌نام»), so it gets the same
   frame and height as the cart button beside it instead of reading as loose text. The padding is kept tight so
   the framed word takes about the room of the account button that replaces it after sign-in. */
@media (max-width: 767.98px) {
    .shop-guest-login[b-kpvjnabfy2] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.75rem;
        padding: 0 0.6rem;
        border-radius: 0.75rem;
        border: 1px solid var(--inv-border);
        background: color-mix(in oklab, var(--inv-surface) 78%, transparent);
        color: var(--inv-text);
        line-height: 1;
        transition: background-color 0.2s ease, border-color 0.2s ease;
    }

    .shop-guest-login:hover[b-kpvjnabfy2] {
        background: color-mix(in oklab, var(--inv-text) 10%, var(--inv-surface));
        border-color: color-mix(in oklab, var(--inv-text) 22%, var(--inv-border));
        text-decoration: none;
    }
}

@media (max-width: 520px) {
    .shop-guest-actions[b-kpvjnabfy2] {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.2rem;
    }

    .shop-guest-sep[b-kpvjnabfy2] {
        display: none;
    }

    .shop-user-menu-trigger[b-kpvjnabfy2] {
        min-width: 2.75rem;
        min-height: 2.75rem;
        padding: 0.45rem;
    }
}

.shop-user-menu[b-kpvjnabfy2] {
    padding: 0.55rem 0.45rem;
}

.shop-user-menu-greeting[b-kpvjnabfy2] {
    margin: 0 0 0.45rem;
    padding: 0 0.35rem 0.45rem;
    font-size: 0.78rem;
    line-height: 1.35;
    color: color-mix(in oklab, var(--inv-text) 68%, transparent);
    border-bottom: 1px solid color-mix(in oklab, var(--inv-border) 75%, transparent);
}

.shop-user-menu-name[b-kpvjnabfy2] {
    color: var(--inv-text);
    font-weight: 700;
}

.shop-user-menu-item-icon[b-kpvjnabfy2] {
    flex-shrink: 0;
    font-size: 0.95rem;
    opacity: 0.88;
}

.shop-user-menu-item[b-kpvjnabfy2] {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.65rem;
    margin: 0.1rem 0;
    border-radius: 0.65rem;
    border: none;
    background: transparent;
    color: var(--inv-text);
    text-decoration: none;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    text-align: start;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

a.shop-user-menu-item:hover[b-kpvjnabfy2],
button.shop-user-menu-item:hover[b-kpvjnabfy2] {
    background: color-mix(in oklab, var(--inv-text) 8%, transparent);
}

.shop-user-menu-logout[b-kpvjnabfy2] {
    margin: 0;
    padding: 0;
}

.shop-user-menu-item.is-submit[b-kpvjnabfy2] {
    color: color-mix(in oklab, #e57373 55%, var(--inv-text));
}

.shop-user-menu-item.is-submit:hover[b-kpvjnabfy2] {
    background: color-mix(in oklab, #c0392b 12%, transparent);
}
/* /Components/Layout/SiteAnnouncementBar.razor.rz.scp.css */
/* The Site Announcement: a quiet ink bar above the navbar. Not sticky, so it scrolls away with the page. */
.site-announcement[b-phax4icifa] {
    background-color: var(--posh-storefront-ink);
    color: var(--posh-storefront-canvas);
    font-size: 0.875rem;
    line-height: 1.6;
}

.site-announcement-inner[b-phax4icifa] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    max-width: var(--posh-storefront-content-max);
    margin-inline: auto;
    padding: 0.5rem var(--posh-safe-inline);
}

.site-announcement-text[b-phax4icifa] {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    text-align: center;
    /* Break between words, never inside one; balance keeps the lines even instead of leaving a stub line. */
    overflow-wrap: break-word;
    word-break: normal;
    text-wrap: balance;
}

/* Every link in the message takes the bar's colour, including one a browser inserts on its own (iOS phone
   detection): the storefront link colour is the bar's ink, which would paint such a link invisible. */
.site-announcement-text[b-phax4icifa]  a {
    color: inherit;
}

/* A phone number in the message reads exactly like the text around it, stays whole, and keeps its digit
   order inside the right-to-left sentence because its dir attribute isolates it. */
.site-announcement-phone[b-phax4icifa] {
    text-decoration: none;
    white-space: nowrap;
}

.site-announcement-link[b-phax4icifa] {
    margin-inline-start: 0.5rem;
    color: inherit;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    display: inline-block;
    /* Keep a short label whole, but let an unusually long one wrap rather than overflow the bar. */
    overflow-wrap: anywhere;
}

.site-announcement-link:hover[b-phax4icifa],
.site-announcement-link:focus-visible[b-phax4icifa] {
    text-decoration-thickness: 2px;
}

.site-announcement-close[b-phax4icifa] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 2.75rem;
    block-size: 2.75rem;
    margin-block: -0.5rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font-size: 0.875rem;
    cursor: pointer;
}

.site-announcement-close:focus-visible[b-phax4icifa],
.site-announcement-link:focus-visible[b-phax4icifa],
.site-announcement-phone:focus-visible[b-phax4icifa] {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
/* /Components/Pages/Admin/AboutUsEditor.razor.rz.scp.css */
/* About page editor — scoped styles. Design tokens are the admin panel's own CSS variables. */

.about-page[b-9h07ppgpsn] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    color: var(--posh-admin-on-surface);
}

.about-header[b-9h07ppgpsn] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-sm);
}

.about-header-text[b-9h07ppgpsn] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.about-title[b-9h07ppgpsn],
.about-subtitle[b-9h07ppgpsn] {
    margin: 0;
}

.about-title[b-9h07ppgpsn] {
    color: var(--posh-admin-on-surface);
}

.about-subtitle[b-9h07ppgpsn],
.about-help[b-9h07ppgpsn],
.about-empty[b-9h07ppgpsn],
.about-section-heading p[b-9h07ppgpsn] {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.72;
    line-height: 1.7;
}

.about-open-public[b-9h07ppgpsn] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.9rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface);
    font-size: 0.85rem;
    text-decoration: none;
    white-space: nowrap;
    transition: border-color 0.15s ease, color 0.15s ease;
}

.about-open-public:hover[b-9h07ppgpsn] {
    border-color: var(--posh-admin-primary);
    color: var(--posh-admin-primary);
}

/* ── Panels ───────────────────────────────────────────────────────── */

.about-panel[b-9h07ppgpsn] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    max-width: 54rem;
    padding: var(--posh-admin-space-lg);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
}

.about-state[b-9h07ppgpsn] {
    color: var(--posh-admin-on-surface-variant);
}

.about-section-heading[b-9h07ppgpsn] {
    display: flex;
    align-items: flex-start;
    gap: var(--posh-admin-space-sm);
}

.about-section-heading > div[b-9h07ppgpsn] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.about-section-heading h2[b-9h07ppgpsn],
.about-section-heading p[b-9h07ppgpsn] {
    margin: 0;
}

.about-section-heading h2[b-9h07ppgpsn] {
    font-size: 1.05rem;
    font-weight: 600;
}

.about-section-heading p[b-9h07ppgpsn] {
    font-size: 0.85rem;
}

.about-section-icon[b-9h07ppgpsn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in srgb, var(--posh-admin-primary) 12%, transparent);
    color: var(--posh-admin-primary);
    font-size: 1.1rem;
}

/* ── Fields ───────────────────────────────────────────────────────── */

.about-grid[b-9h07ppgpsn] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--posh-admin-space-md);
    align-items: start;
}

.about-field[b-9h07ppgpsn] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
}

.about-field-phone[b-9h07ppgpsn] {
    max-width: 22rem;
}

.about-label[b-9h07ppgpsn] {
    color: var(--posh-admin-on-surface);
    font-size: 0.875rem;
    font-weight: 500;
}

.about-label-hint[b-9h07ppgpsn] {
    font-size: 0.78rem;
    font-weight: 400;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.8;
}

.about-input[b-9h07ppgpsn] {
    width: 100%;
    min-height: 2.6rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface);
    font: inherit;
    font-size: 0.925rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.about-input[b-9h07ppgpsn]::placeholder {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.5;
}

.about-input:focus[b-9h07ppgpsn] {
    outline: none;
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--posh-admin-primary) 12%, transparent);
}

.about-textarea[b-9h07ppgpsn] {
    min-height: 14rem;
    line-height: 1.9;
    resize: vertical;
}

.about-help[b-9h07ppgpsn] {
    font-size: 0.78rem;
}

.about-select-wrap[b-9h07ppgpsn] {
    position: relative;
    display: flex;
    align-items: center;
}

.about-select[b-9h07ppgpsn] {
    appearance: none;
    -webkit-appearance: none;
    padding-inline-end: 2.2rem;
    cursor: pointer;
}

.about-select-wrap i[b-9h07ppgpsn] {
    position: absolute;
    inset-inline-end: 0.8rem;
    font-size: 0.75rem;
    color: var(--posh-admin-on-surface-variant);
    pointer-events: none;
}

/* ── Link list ────────────────────────────────────────────────────── */

.about-empty[b-9h07ppgpsn] {
    margin: 0;
    font-size: 0.85rem;
}

.about-admin-links[b-9h07ppgpsn] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
    margin: 0;
    padding: 0;
    list-style: none;
}

.about-admin-link[b-9h07ppgpsn] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 1rem;
    padding: 0.6rem 0.85rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container-low);
    transition: border-color 0.15s ease, background 0.15s ease;
}

.about-admin-link.is-editing[b-9h07ppgpsn] {
    border-color: var(--posh-admin-primary);
    background: color-mix(in srgb, var(--posh-admin-primary) 8%, transparent);
}

.about-admin-link-main[b-9h07ppgpsn] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
    flex: 1 1 12rem;
}

.about-admin-link-icon[b-9h07ppgpsn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface-container-highest);
    color: var(--posh-admin-on-surface);
    font-size: 1.1rem;
}

.about-admin-link-text[b-9h07ppgpsn] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.about-admin-link-label[b-9h07ppgpsn] {
    font-size: 0.925rem;
    font-weight: 600;
}

.about-admin-link-destination[b-9h07ppgpsn] {
    font-size: 0.78rem;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.8;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: start;
}

.about-admin-link-actions[b-9h07ppgpsn] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.about-admin-link-confirm[b-9h07ppgpsn] {
    font-size: 0.85rem;
    color: var(--posh-admin-on-surface-variant);
}

.about-icon-button[b-9h07ppgpsn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.2rem;
    height: 2.2rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    font-size: 0.9rem;
    cursor: pointer;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.about-icon-button:hover:not(:disabled)[b-9h07ppgpsn] {
    border-color: var(--posh-admin-primary);
    color: var(--posh-admin-primary);
    background: var(--posh-admin-surface);
}

.about-icon-button-delete:hover:not(:disabled)[b-9h07ppgpsn] {
    border-color: var(--posh-admin-error);
    color: var(--posh-admin-error);
}

.about-icon-button:disabled[b-9h07ppgpsn] {
    opacity: 0.35;
    cursor: not-allowed;
}

/* ── Add / edit form ──────────────────────────────────────────────── */

.about-link-form[b-9h07ppgpsn] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    padding: var(--posh-admin-space-md);
    border: 1px dashed var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container-low);
    transition: border-color 0.15s ease;
}

.about-link-form.is-editing[b-9h07ppgpsn] {
    border-style: solid;
    border-color: var(--posh-admin-primary);
}

.about-link-form-title[b-9h07ppgpsn] {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
}

.about-link-form-title i[b-9h07ppgpsn] {
    color: var(--posh-admin-primary);
}

/* ── Buttons and alerts ───────────────────────────────────────────── */

.about-actions[b-9h07ppgpsn] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-sm);
}

.about-primary[b-9h07ppgpsn],
.about-secondary[b-9h07ppgpsn],
.about-danger[b-9h07ppgpsn] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.6rem;
    padding: 0.55rem 1.25rem;
    border-radius: var(--posh-admin-radius-md);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: opacity 0.15s ease, filter 0.15s ease, border-color 0.15s ease;
}

.about-primary[b-9h07ppgpsn] {
    border: none;
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
}

.about-primary:hover:not(:disabled)[b-9h07ppgpsn] {
    filter: brightness(1.08);
}

.about-secondary[b-9h07ppgpsn] {
    border: 1px solid var(--posh-admin-outline-variant);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface);
}

.about-secondary:hover:not(:disabled)[b-9h07ppgpsn] {
    border-color: var(--posh-admin-primary);
}

.about-danger[b-9h07ppgpsn] {
    border: none;
    background: var(--posh-admin-error);
    color: var(--posh-admin-on-error, #fff);
}

.about-admin-link-confirm .about-secondary[b-9h07ppgpsn],
.about-admin-link-confirm .about-danger[b-9h07ppgpsn] {
    min-height: 2.2rem;
    padding: 0.35rem 0.8rem;
    font-size: 0.82rem;
}

.about-primary:disabled[b-9h07ppgpsn],
.about-secondary:disabled[b-9h07ppgpsn],
.about-danger:disabled[b-9h07ppgpsn] {
    opacity: 0.55;
    cursor: not-allowed;
}

.about-alert[b-9h07ppgpsn] {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-xs);
    max-width: 54rem;
    padding: 0.7rem 1rem;
    border-radius: var(--posh-admin-radius-md);
    font-size: 0.9rem;
}

.about-alert-error[b-9h07ppgpsn] {
    border: 1px solid color-mix(in srgb, var(--posh-admin-error) 30%, transparent);
    background: color-mix(in srgb, var(--posh-admin-error) 10%, transparent);
    color: var(--posh-admin-error);
}

@media (max-width: 700px) {
    .about-panel[b-9h07ppgpsn] {
        padding: var(--posh-admin-space-md);
    }

    .about-grid[b-9h07ppgpsn] {
        grid-template-columns: 1fr;
    }

    .about-field-phone[b-9h07ppgpsn] {
        max-width: none;
    }

    .about-primary[b-9h07ppgpsn],
    .about-open-public[b-9h07ppgpsn] {
        width: 100%;
    }

    /* Touch-sized controls on phones, where the Admin also edits this page. */
    .about-admin-link-actions[b-9h07ppgpsn] {
        width: 100%;
        justify-content: flex-end;
    }

    .about-icon-button[b-9h07ppgpsn] {
        width: 2.75rem;
        height: 2.75rem;
    }
}
/* /Components/Pages/Admin/ActivityLogs.razor.rz.scp.css */
.logs-page[b-1j6gmf73r1] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    color: var(--posh-admin-on-surface);
}

.dashboard-page-header[b-1j6gmf73r1] {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--posh-admin-space-md);
    min-height: 5rem;
    margin-inline: calc(-1 * var(--posh-admin-gutter));
    padding-inline: var(--posh-admin-gutter);
    border-bottom: 1px solid var(--posh-admin-outline-variant);
    background: color-mix(in oklab, var(--posh-admin-surface) 50%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.logs-page-title[b-1j6gmf73r1],
.logs-page-subtitle[b-1j6gmf73r1] {
    margin: 0;
}

.logs-page-subtitle[b-1j6gmf73r1] {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.65;
}

.logs-alert[b-1j6gmf73r1] {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border: 1px solid color-mix(in oklab, var(--posh-admin-error) 45%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--posh-admin-error-container) 35%, transparent);
    color: var(--posh-admin-error);
    font-size: var(--posh-admin-text-body-sm-size);
}

.logs-panel[b-1j6gmf73r1] {
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
    padding: var(--posh-admin-space-md);
}

.logs-state-message[b-1j6gmf73r1] {
    color: var(--posh-admin-on-surface-variant);
}

.logs-grid[b-1j6gmf73r1] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 0.75rem;
    row-gap: 0.35rem;
    align-items: start;
    padding: 0.55rem 0.5rem;
    border-radius: var(--posh-admin-radius-md);
}

.logs-log-grid[b-1j6gmf73r1] {
    align-items: center;
}

.logs-grid-head[b-1j6gmf73r1] {
    font-size: var(--posh-admin-text-label-md-size);
    text-transform: uppercase;
    letter-spacing: var(--posh-admin-text-label-md-tracking);
    color: var(--posh-admin-on-surface-variant);
    border-bottom: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    margin-bottom: 0.25rem;
    padding-bottom: 0.5rem;
}

.logs-grid-row[b-1j6gmf73r1] {
    border: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    margin-top: 0.4rem;
    transition: background-color 0.2s ease;
}

.logs-grid-row:hover[b-1j6gmf73r1] {
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 10%, transparent);
}

.logs-cell[b-1j6gmf73r1] {
    min-width: 0;
    font-size: var(--posh-admin-text-body-sm-size);
    text-align: right;
}

.logs-col-dt[b-1j6gmf73r1] { grid-column: span 3; }
.logs-col-admin[b-1j6gmf73r1] { grid-column: span 2; }
.logs-col-action[b-1j6gmf73r1] { grid-column: span 2; }
.logs-col-desc[b-1j6gmf73r1] { grid-column: span 5; }

.logs-mono[b-1j6gmf73r1] {
    font-variant-numeric: tabular-nums;
}

.logs-pill[b-1j6gmf73r1] {
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: var(--posh-admin-radius-full);
    font-size: var(--posh-admin-text-label-md-size);
    border: 1px solid var(--posh-admin-outline-variant);
    color: var(--posh-admin-on-surface-variant);
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 20%, transparent);
}

@media (max-width: 768px) {
    .logs-grid-head[b-1j6gmf73r1],
    .logs-grid-row[b-1j6gmf73r1] {
        grid-template-columns: 1fr;
    }

    .logs-col-dt[b-1j6gmf73r1],
    .logs-col-admin[b-1j6gmf73r1],
    .logs-col-action[b-1j6gmf73r1],
    .logs-col-desc[b-1j6gmf73r1] {
        grid-column: 1 / -1;
    }
}
/* /Components/Pages/Admin/Dashboard.razor.rz.scp.css */
/*
 * Mobile-first. The base layer targets a 320px phone; the min-width breakpoint further down
 * restores the desktop composition. It sits at 769px rather than 768px because the shared admin
 * chrome switches on `max-width: 768px`, which is inclusive — at exactly 768 the mobile shell is
 * still in effect.
 */

.dashboard-page[b-4o1y1bw63s] {
    /*
     * .admin-main pads by --posh-admin-margin-mobile below the breakpoint and --posh-admin-gutter
     * above it. The sticky header bleeds itself back out to the page edge, so it has to bleed by
     * whichever of those is actually in effect or it overhangs its container.
     */
    --dashboard-bleed: var(--posh-admin-margin-mobile);

    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-sm);
    color: var(--posh-admin-on-surface);
}

.dashboard-page-header[b-4o1y1bw63s] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--posh-admin-space-sm);
    margin-inline: calc(-1 * var(--dashboard-bleed));
    padding-inline: var(--dashboard-bleed);
    padding-block: var(--posh-admin-space-sm);
    border-bottom: 1px solid var(--posh-admin-outline-variant);
    background: var(--posh-admin-surface);
}

.dashboard-page-header-text[b-4o1y1bw63s] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-inline-size: 0;
}

.dashboard-page-title[b-4o1y1bw63s] {
    margin: 0;
    color: var(--posh-admin-on-surface);
}

.dashboard-page-eyebrow[b-4o1y1bw63s] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    text-transform: uppercase;
    opacity: 0.6;
    overflow-wrap: anywhere;
}

/* Points admins at the beta dashboard while both run side by side. */
.dashboard-beta-link[b-4o1y1bw63s] {
    align-self: flex-start;
    color: var(--posh-admin-primary-fixed-dim);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.dashboard-beta-link:focus-visible[b-4o1y1bw63s] {
    outline: 2px solid var(--posh-admin-primary-fixed-dim);
    outline-offset: 2px;
    border-radius: var(--posh-admin-radius-sm);
}

.dashboard-body[b-4o1y1bw63s] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-sm);
    padding-block-end: env(safe-area-inset-bottom, 0px);
}

.dashboard-panel[b-4o1y1bw63s],
.dashboard-metric-card[b-4o1y1bw63s] {
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container);
}

.dashboard-panel[b-4o1y1bw63s] {
    padding: var(--posh-admin-space-sm);
}

.dashboard-state-message[b-4o1y1bw63s] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
}

.dashboard-alert[b-4o1y1bw63s] {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border: 1px solid color-mix(in oklab, var(--posh-admin-error) 45%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--posh-admin-error-container) 35%, transparent);
    color: var(--posh-admin-error);
    font-size: var(--posh-admin-text-body-sm-size);
}

.dashboard-alert-tight[b-4o1y1bw63s] {
    margin-top: 0.5rem;
}

/* ---------- Metric cards ---------- */

.dashboard-metric-grid[b-4o1y1bw63s] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--posh-admin-space-sm);
}

.dashboard-metric-card[b-4o1y1bw63s] {
    min-block-size: 6rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: var(--posh-admin-space-xs);
    padding: var(--posh-admin-space-sm);
    min-inline-size: 0;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.dashboard-metric-card:hover[b-4o1y1bw63s] {
    border-color: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 30%, var(--posh-admin-outline-variant));
    box-shadow: 0 10px 34px -25px rgba(0, 0, 0, 0.6);
}

.dashboard-metric-card-header[b-4o1y1bw63s] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}

.dashboard-metric-card-icon[b-4o1y1bw63s] {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    font-size: 1.25rem;
    line-height: 1;
    color: var(--posh-admin-primary-fixed-dim);
}

.dashboard-metric-card-body[b-4o1y1bw63s] {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 0.25rem;
    text-align: start;
    min-inline-size: 0;
}

.dashboard-metric-label[b-4o1y1bw63s] {
    flex: 1;
    margin: 0;
    text-align: start;
    color: var(--posh-admin-on-surface-variant);
    overflow-wrap: anywhere;
}

/*
 * The value carries dir="ltr" so the numeral always precedes ریال. Without an explicit end
 * alignment that resolves to text-align:left and the value drifts away from its RTL label.
 */
.dashboard-metric-value[b-4o1y1bw63s] {
    margin: 0;
    color: var(--posh-admin-on-surface);
    font-variant-numeric: tabular-nums;
    line-height: 1.35;
    text-align: end;
    overflow-wrap: anywhere;
}

.popular-product-text[b-4o1y1bw63s] {
    font-size: var(--posh-admin-text-body-md-size);
    line-height: var(--posh-admin-text-body-md-line);
    white-space: normal;
    overflow-wrap: anywhere;
}

/* A product name needs the whole row, not half of one. */
.dashboard-metric-card--wide[b-4o1y1bw63s] {
    grid-column: span 2;
}

.dashboard-metric-sub[b-4o1y1bw63s] {
    margin: 0;
    margin-top: auto;
    color: var(--posh-admin-on-surface-variant);
    overflow-wrap: anywhere;
}

/* The out-of-stock card is a real link, so it needs the anchor reset rather than a cursor hint. */
.dashboard-metric-card-link[b-4o1y1bw63s] {
    text-decoration: none;
    color: inherit;
}

.dashboard-metric-card-link:focus-visible[b-4o1y1bw63s] {
    outline: none;
    border-color: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 45%, var(--posh-admin-outline-variant));
    box-shadow: 0 0 0 2px color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 40%, transparent);
}

.dashboard-metric-card.is-stock-warning[b-4o1y1bw63s] {
    background: linear-gradient(
        0deg,
        color-mix(in oklab, var(--posh-admin-error) 10%, var(--posh-admin-surface-container)),
        color-mix(in oklab, var(--posh-admin-error) 10%, var(--posh-admin-surface-container))
    );
    border-color: color-mix(in oklab, var(--posh-admin-error) 45%, var(--posh-admin-outline-variant));
}

.dashboard-metric-card.is-stock-warning .dashboard-metric-value[b-4o1y1bw63s] {
    color: color-mix(in oklab, var(--posh-admin-error) 80%, var(--posh-admin-on-surface));
}

/* ---------- Metric card accents ---------- */

/*
 * Each card carries one accent: a tinted icon tile and a soft glow in its top start corner. The
 * accent is a custom property so the five modifiers only have to name a colour.
 */
.dashboard-metric-card[b-4o1y1bw63s] {
    --metric-accent: var(--posh-admin-primary-fixed-dim);

    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.dashboard-metric-card[b-4o1y1bw63s]::before {
    content: "";
    position: absolute;
    inset-block-start: -3rem;
    inset-inline-end: -3rem;
    width: 9rem;
    height: 9rem;
    border-radius: 50%;
    background: radial-gradient(circle, color-mix(in oklab, var(--metric-accent) 22%, transparent), transparent 70%);
    pointer-events: none;
    z-index: -1;
}

.dashboard-metric-card--inventory[b-4o1y1bw63s] {
    --metric-accent: var(--posh-admin-primary-fixed-dim);
}

.dashboard-metric-card--today[b-4o1y1bw63s] {
    --metric-accent: var(--posh-admin-success, #4ade80);
}

.dashboard-metric-card--month[b-4o1y1bw63s] {
    --metric-accent: var(--posh-admin-tertiary, #c9b6ff);
}

.dashboard-metric-card--year[b-4o1y1bw63s] {
    --metric-accent: var(--posh-admin-primary-fixed-dim);
}

.dashboard-metric-card--popular[b-4o1y1bw63s] {
    --metric-accent: var(--posh-admin-warning, #f4c15d);
}

/* Today is the card an operator reads first, so it also gets a tinted border. */
.dashboard-metric-card--today[b-4o1y1bw63s] {
    border-color: color-mix(in oklab, var(--metric-accent) 35%, var(--posh-admin-outline-variant));
}

.dashboard-metric-card:hover[b-4o1y1bw63s] {
    transform: translateY(-2px);
}

.dashboard-metric-card-icon-tile[b-4o1y1bw63s] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--metric-accent) 16%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--metric-accent) 28%, transparent);
}

.dashboard-metric-card-icon-tile .dashboard-metric-card-icon[b-4o1y1bw63s] {
    width: 1.15rem;
    height: 1.15rem;
    font-size: 1.15rem;
    color: var(--metric-accent);
}

/* ---------- Chart summary ---------- */

.dashboard-chart-summary[b-4o1y1bw63s] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--posh-admin-space-xs);
    margin: 0 0 var(--posh-admin-space-sm);
    padding: 0;
    list-style: none;
}

/* Compact: label and value share one line, so the strip reads as a caption, not a second card row. */
.dashboard-chart-summary-item[b-4o1y1bw63s] {
    --summary-accent: var(--posh-admin-primary-fixed-dim);

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-inline-size: 0;
    min-block-size: 2rem;
    padding: 0.25rem 0.6rem;
    border-radius: var(--posh-admin-radius-md);
    border-inline-start: 2px solid var(--summary-accent);
    background: color-mix(in oklab, var(--summary-accent) 7%, var(--posh-admin-surface-container-high));
}

.dashboard-chart-summary-item--best[b-4o1y1bw63s] {
    --summary-accent: var(--posh-admin-warning, #f4c15d);
}

.dashboard-chart-summary-item--active[b-4o1y1bw63s] {
    --summary-accent: var(--posh-admin-success, #4ade80);
}

.dashboard-chart-summary-label[b-4o1y1bw63s] {
    flex: 0 1 auto;
    font-size: 0.72rem;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.8;
    white-space: nowrap;
}

.dashboard-chart-summary-value[b-4o1y1bw63s] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-end;
    gap: 0.3rem;
    min-inline-size: 0;
    color: var(--posh-admin-on-surface);
    font-size: var(--posh-admin-text-body-sm-size);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: end;
    overflow-wrap: anywhere;
}

.dashboard-chart-summary-when[b-4o1y1bw63s] {
    padding: 0 0.4rem;
    border-radius: var(--posh-admin-radius-full, 999px);
    background: color-mix(in oklab, var(--summary-accent) 18%, transparent);
    color: var(--summary-accent);
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.5;
}

@media (max-width: 480px) {
    .dashboard-chart-summary[b-4o1y1bw63s] {
        grid-template-columns: 1fr;
    }
}

/* ---------- Revenue chart ---------- */

.dashboard-revenue-chart[b-4o1y1bw63s] {
    min-height: 12rem;
}

.dashboard-chart-header[b-4o1y1bw63s] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--posh-admin-space-xs);
    margin-bottom: var(--posh-admin-space-sm);
}

.dashboard-chart-title[b-4o1y1bw63s] {
    margin: 0;
    color: var(--posh-admin-on-surface);
}

.dashboard-chart-controls[b-4o1y1bw63s] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--posh-admin-space-xs);
    min-inline-size: 0;
}

.dashboard-chart-toggle[b-4o1y1bw63s] {
    display: flex;
    gap: 0.35rem;
    min-inline-size: 0;
}

.dashboard-chart-toggle .dashboard-btn[b-4o1y1bw63s] {
    flex: 1 1 0;
    min-inline-size: 0;
}

.dashboard-chart-pickers[b-4o1y1bw63s] {
    display: flex;
    gap: 0.35rem;
    min-inline-size: 0;
}

/*
 * A month picker says nothing about a yearly chart, and the phone row is too narrow to carry a
 * control that does nothing. It stands down and the year takes the full row. Desktop keeps both:
 * there the month still drives the «فروش ماه» card next to the chart.
 */
.dashboard-chart-pickers.is-yearly .dashboard-chart-select--month[b-4o1y1bw63s] {
    display: none;
}

/*
 * A min-width here is what made the control row 427px wide inside a 314px container at 200% text
 * zoom. The pickers share the row instead, so they reflow rather than overflow.
 */
.dashboard-chart-select[b-4o1y1bw63s] {
    flex: 1 1 0;
    inline-size: auto;
    min-inline-size: 0;
    padding-block: var(--posh-admin-space-xs);
}

.dashboard-revenue-chart[b-4o1y1bw63s]  .apexcharts-canvas {
    margin-inline: -0.25rem;
}

/*
 * ApexCharts writes its palette inline from the C# options, which were pinned to the dark theme.
 * Driving fill and stroke from the admin tokens keeps the axes legible in both themes.
 */
.dashboard-revenue-chart[b-4o1y1bw63s]  .apexcharts-xaxis-label,
.dashboard-revenue-chart[b-4o1y1bw63s]  .apexcharts-yaxis-label {
    fill: var(--posh-admin-on-surface-variant);
}

.dashboard-revenue-chart[b-4o1y1bw63s]  .apexcharts-gridline {
    stroke: var(--posh-admin-outline-variant);
}

/* ---------- Buttons ---------- */

.dashboard-btn[b-4o1y1bw63s] {
    appearance: none;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--posh-admin-space-xs);
    min-block-size: 44px;
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    color: var(--posh-admin-on-surface);
    background: transparent;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
    font-family: var(--posh-admin-font);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    letter-spacing: var(--posh-admin-text-label-md-tracking);
}

.dashboard-btn:focus-visible[b-4o1y1bw63s] {
    outline: none;
    border-color: var(--posh-admin-primary-fixed-dim);
    box-shadow: 0 0 0 2px color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 40%, transparent);
}

.dashboard-btn:disabled[b-4o1y1bw63s] {
    opacity: 0.55;
    cursor: not-allowed;
}

.dashboard-btn-primary[b-4o1y1bw63s] {
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
    border-color: color-mix(in oklab, var(--posh-admin-primary) 75%, var(--posh-admin-outline-variant));
}

.dashboard-btn-primary:hover:not(:disabled)[b-4o1y1bw63s] {
    transform: scale(0.97);
}

.dashboard-btn-ghost[b-4o1y1bw63s] {
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    border-color: var(--posh-admin-outline-variant);
}

.dashboard-btn-ghost:hover:not(:disabled)[b-4o1y1bw63s] {
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 24%, transparent);
    color: var(--posh-admin-on-surface);
}

.dashboard-btn-ghost.is-active[b-4o1y1bw63s] {
    border-color: var(--posh-admin-primary-fixed-dim);
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 18%, transparent);
    color: var(--posh-admin-on-surface);
}

/* The header action is the page's primary affordance; give it the full row on a phone. */
.dashboard-page-header .dashboard-btn-primary[b-4o1y1bw63s] {
    inline-size: 100%;
    min-block-size: 3.25rem;
    padding: 0.75rem 1.25rem;
    border: none;
    border-radius: var(--posh-admin-radius-lg);
    background: linear-gradient(
        135deg,
        var(--posh-admin-primary),
        color-mix(in oklab, var(--posh-admin-primary) 65%, var(--posh-admin-primary-fixed-dim))
    );
    box-shadow: 0 10px 24px -12px color-mix(in oklab, var(--posh-admin-primary) 80%, transparent);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.dashboard-page-header .dashboard-btn-primary i[b-4o1y1bw63s] {
    font-size: 1.3rem;
}

.dashboard-page-header .dashboard-btn-primary:hover:not(:disabled)[b-4o1y1bw63s] {
    transform: translateY(-1px);
    filter: brightness(1.06);
    box-shadow: 0 14px 28px -12px color-mix(in oklab, var(--posh-admin-primary) 85%, transparent);
}

.dashboard-page-header .dashboard-btn-primary:focus-visible[b-4o1y1bw63s] {
    outline: none;
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--posh-admin-primary) 40%, transparent);
}

/* ---------- Form controls ---------- */

/*
 * The chart pickers are .dashboard-input. 1rem is the floor that stops iOS Safari zooming the
 * viewport when a field takes focus.
 */
.dashboard-input[b-4o1y1bw63s] {
    min-block-size: 44px;
    background: var(--posh-admin-surface-container-high);
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-lg);
    color: var(--posh-admin-on-surface);
    font-size: 1rem;
}

.dashboard-input:focus[b-4o1y1bw63s] {
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 1px var(--posh-admin-primary);
    outline: none;
}

.dashboard-input:disabled[b-4o1y1bw63s] {
    opacity: 0.6;
}


/* ---------- Toast ---------- */

.dashboard-toast[b-4o1y1bw63s] {
    position: fixed;
    bottom: calc(var(--posh-admin-space-md) + env(safe-area-inset-bottom, 0px));
    inset-inline: var(--posh-safe-inline);
    /* Above the mobile nav drawer (2010), which previously covered it. */
    z-index: 2020;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--posh-admin-space-sm);
    max-inline-size: 24rem;
    margin-inline: auto;
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    border: 1px solid color-mix(in oklab, var(--posh-admin-warning-outline) 45%, transparent);
    border-radius: var(--posh-admin-radius-lg);
    background: color-mix(in oklab, var(--posh-admin-warning-container) 35%, var(--posh-admin-surface-container));
    color: var(--posh-admin-warning);
    font-size: var(--posh-admin-text-body-sm-size);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
    animation: dashboard-toast-in-b-4o1y1bw63s 0.2s ease;
}

.dashboard-toast.is-warning[b-4o1y1bw63s] {
    border-color: color-mix(in oklab, var(--posh-admin-warning-outline) 45%, transparent);
}

.dashboard-toast-close[b-4o1y1bw63s] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-block-size: 44px;
    min-inline-size: 44px;
    border: none;
    border-radius: var(--posh-admin-radius);
    background: transparent;
    color: inherit;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    opacity: 0.75;
}

.dashboard-toast-close:hover[b-4o1y1bw63s] {
    opacity: 1;
}

.dashboard-toast-close:focus-visible[b-4o1y1bw63s] {
    outline: none;
    opacity: 1;
    box-shadow: 0 0 0 2px color-mix(in oklab, var(--posh-admin-warning-outline) 55%, transparent);
}

@keyframes dashboard-toast-in-b-4o1y1bw63s {
    from {
        opacity: 0;
        transform: translateY(0.5rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ---------- Desktop ---------- */

@media (min-width: 769px) {
    .dashboard-page[b-4o1y1bw63s] {
        --dashboard-bleed: var(--posh-admin-gutter);

        gap: var(--posh-admin-space-md);
    }

    .dashboard-page-header[b-4o1y1bw63s] {
        position: sticky;
        top: 0;
        z-index: 10;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: var(--posh-admin-space-md);
        min-height: 5rem;
        padding-block: 0;
        background: color-mix(in oklab, var(--posh-admin-surface) 50%, transparent);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    .dashboard-page-header .dashboard-btn-primary[b-4o1y1bw63s] {
        inline-size: auto;
        min-block-size: 3.5rem;
        padding: 0.8rem 1.75rem;
        font-size: 1.05rem;
    }

    .dashboard-page-header .dashboard-btn-primary i[b-4o1y1bw63s] {
        font-size: 1.4rem;
    }

    .dashboard-body[b-4o1y1bw63s] {
        gap: var(--posh-admin-space-md);
    }

    .dashboard-panel[b-4o1y1bw63s],
    .dashboard-metric-card[b-4o1y1bw63s] {
        border-radius: var(--posh-admin-radius-xl);
    }

    .dashboard-panel[b-4o1y1bw63s] {
        padding: var(--posh-admin-space-md);
    }

    .dashboard-metric-grid[b-4o1y1bw63s] {
        grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr));
        gap: var(--posh-admin-gutter);
    }

    .dashboard-metric-card[b-4o1y1bw63s] {
        min-block-size: 8.5rem;
        gap: var(--posh-admin-space-sm);
        padding: var(--posh-admin-space-md);
    }

    .dashboard-metric-card--wide[b-4o1y1bw63s] {
        grid-column: auto;
    }

    .dashboard-metric-card-icon[b-4o1y1bw63s] {
        width: 1.5rem;
        height: 1.5rem;
        font-size: 1.5rem;
    }

    .dashboard-metric-card-icon-tile[b-4o1y1bw63s] {
        width: 2.75rem;
        height: 2.75rem;
    }

    .dashboard-metric-card-icon-tile .dashboard-metric-card-icon[b-4o1y1bw63s] {
        width: 1.35rem;
        height: 1.35rem;
        font-size: 1.35rem;
    }

    .dashboard-chart-summary[b-4o1y1bw63s] {
        gap: var(--posh-admin-space-sm);
    }

    .dashboard-chart-header[b-4o1y1bw63s] {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem 1rem;
    }

    .dashboard-chart-controls[b-4o1y1bw63s] {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem 0.75rem;
    }

    .dashboard-chart-toggle[b-4o1y1bw63s],
    .dashboard-chart-pickers[b-4o1y1bw63s] {
        display: inline-flex;
    }

    /* Desktop has room for the month picker in either chart mode, and still needs it. */
    .dashboard-chart-pickers.is-yearly .dashboard-chart-select--month[b-4o1y1bw63s] {
        display: block;
    }

    .dashboard-chart-toggle .dashboard-btn[b-4o1y1bw63s],
    .dashboard-chart-select[b-4o1y1bw63s] {
        flex: 0 0 auto;
    }

    /*
     * The pickers are .dashboard-input too, so they inherit its 44px touch target and 16px iOS
     * zoom floor. Both exist for touch; desktop keeps the compact pickers it had. The floors still
     * apply to the sale sheet's own fields, which stay reachable and zoom-proof at every size.
     */
    .dashboard-chart-select[b-4o1y1bw63s] {
        min-block-size: 0;
        min-inline-size: 6.5rem;
        font-size: var(--posh-admin-text-body-sm-size);
    }

    /* Desktop keeps the compact control metrics it has today. */
    .dashboard-btn[b-4o1y1bw63s] {
        min-block-size: 0;
        padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    }

    .dashboard-toast[b-4o1y1bw63s] {
        inset-inline: auto;
        left: 50%;
        transform: translateX(-50%);
        min-inline-size: min(24rem, calc(100vw - 2 * var(--posh-admin-gutter)));
    }

    @keyframes dashboard-toast-in-b-4o1y1bw63s {
        from {
            opacity: 0;
            transform: translateX(-50%) translateY(0.5rem);
        }

        to {
            opacity: 1;
            transform: translateX(-50%) translateY(0);
        }
    }
}

/* ---------- Reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {
    .dashboard-metric-card[b-4o1y1bw63s],
    .dashboard-btn[b-4o1y1bw63s] {
        transition: none;
    }

    .dashboard-btn-primary:hover:not(:disabled)[b-4o1y1bw63s],
    .dashboard-page-header .dashboard-btn-primary:hover:not(:disabled)[b-4o1y1bw63s],
    .dashboard-metric-card:hover[b-4o1y1bw63s] {
        transform: none;
    }

    .dashboard-toast[b-4o1y1bw63s] {
        animation: none;
    }
}
/* /Components/Pages/Admin/DashboardBeta.razor.rz.scp.css */
/*
 * Mobile-first, like Dashboard.razor.css: the base layer targets a 320px phone and the 769px
 * breakpoint restores the desktop composition (the admin chrome switches on max-width: 768px).
 * Every colour comes from the admin tokens, so the page follows the light and dark themes.
 */

.beta-dash[b-q3lxgwkyr9] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    padding-block: var(--posh-admin-space-sm) calc(var(--posh-admin-space-lg) + env(safe-area-inset-bottom, 0px));
    color: var(--posh-admin-on-surface);
}

.beta-dash.is-refreshing .beta-dash-kpis[b-q3lxgwkyr9],
.beta-dash.is-refreshing .beta-dash-section[b-q3lxgwkyr9],
.beta-dash.is-refreshing .beta-dash-row[b-q3lxgwkyr9],
.beta-dash.is-refreshing .beta-dash-card[b-q3lxgwkyr9] {
    opacity: 0.55;
    transition: opacity 0.2s ease;
}

/* ---------- Header ---------- */

.beta-dash-header[b-q3lxgwkyr9] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-sm);
}

.beta-dash-heading[b-q3lxgwkyr9] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
    min-inline-size: 0;
}

.beta-dash-eyebrow[b-q3lxgwkyr9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
}

.beta-dash-badge[b-q3lxgwkyr9] {
    padding: 0.15rem 0.55rem;
    border-radius: var(--posh-admin-radius-full);
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 22%, transparent);
    color: var(--posh-admin-primary-fixed-dim);
    font-weight: 600;
}

.beta-dash-switch[b-q3lxgwkyr9],
.beta-dash-link[b-q3lxgwkyr9] {
    color: var(--posh-admin-primary-fixed-dim);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.beta-dash-switch:focus-visible[b-q3lxgwkyr9],
.beta-dash-link:focus-visible[b-q3lxgwkyr9] {
    outline: 2px solid var(--posh-admin-primary-fixed-dim);
    outline-offset: 2px;
    border-radius: var(--posh-admin-radius-sm);
}

.beta-dash-title[b-q3lxgwkyr9] {
    margin: 0;
}

.beta-dash-takeaway[b-q3lxgwkyr9] {
    margin: 0;
    max-inline-size: 60rem;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-body-md-size);
    line-height: 1.9;
}

.beta-dash-takeaway b[b-q3lxgwkyr9] {
    color: var(--posh-admin-on-surface);
    font-weight: 600;
}

.beta-dash-actions[b-q3lxgwkyr9] {
    display: flex;
    flex-direction: column-reverse;
    gap: var(--posh-admin-space-xs);
}

/* The page's one primary action, as on the current dashboard: the full row on a phone. */
.beta-dash-sale[b-q3lxgwkyr9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-block-size: 44px;
    padding: 0 var(--posh-admin-space-md);
    border: 0;
    border-radius: var(--posh-admin-radius-full);
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
    font: inherit;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: filter 0.15s ease;
}

.beta-dash-sale:hover:not(:disabled)[b-q3lxgwkyr9] {
    filter: brightness(1.06);
}

.beta-dash-sale:disabled[b-q3lxgwkyr9] {
    opacity: 0.55;
    cursor: progress;
}

.beta-dash-windows[b-q3lxgwkyr9] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px;
    padding: 3px;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-full);
    background: var(--posh-admin-surface-container);
}

.beta-dash-window[b-q3lxgwkyr9] {
    min-block-size: 44px;
    padding: 0 var(--posh-admin-space-sm);
    border: 0;
    border-radius: var(--posh-admin-radius-full);
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    font: inherit;
    font-size: var(--posh-admin-text-body-sm-size);
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.beta-dash-window:hover:not(:disabled)[b-q3lxgwkyr9] {
    color: var(--posh-admin-on-surface);
}

.beta-dash-window[aria-pressed="true"][b-q3lxgwkyr9] {
    background: var(--posh-admin-on-surface);
    color: var(--posh-admin-surface);
}

.beta-dash-window:disabled[b-q3lxgwkyr9] {
    cursor: progress;
}

.beta-dash-window:focus-visible[b-q3lxgwkyr9],
.beta-dash-sale:focus-visible[b-q3lxgwkyr9],
.beta-dash-sort:focus-visible[b-q3lxgwkyr9],
.beta-dash-retry:focus-visible[b-q3lxgwkyr9],
.beta-dash-column:focus-visible[b-q3lxgwkyr9],
.beta-dash-attention-item:focus-visible[b-q3lxgwkyr9] {
    outline: 2px solid var(--posh-admin-primary-fixed-dim);
    outline-offset: 2px;
}

/* ---------- States ---------- */

.beta-dash-state[b-q3lxgwkyr9],
.beta-dash-empty[b-q3lxgwkyr9] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-body-sm-size);
}

.beta-dash-empty[b-q3lxgwkyr9] {
    margin-block: auto;
    text-align: center;
    padding-block: var(--posh-admin-space-md);
}

.beta-dash-alert[b-q3lxgwkyr9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--posh-admin-space-xs);
    padding: 0.65rem 0.85rem;
    border: 1px solid color-mix(in oklab, var(--posh-admin-error) 45%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--posh-admin-error-container) 35%, transparent);
    color: var(--posh-admin-error);
    font-size: var(--posh-admin-text-body-sm-size);
}

.beta-dash-retry[b-q3lxgwkyr9] {
    min-block-size: 44px;
    padding: 0 var(--posh-admin-space-sm);
    border: 1px solid currentColor;
    border-radius: var(--posh-admin-radius);
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

/* ---------- Shared pieces ---------- */

.beta-dash-num[b-q3lxgwkyr9],
.beta-dash-takeaway bdi[b-q3lxgwkyr9],
.beta-dash-table bdi[b-q3lxgwkyr9],
.beta-dash-tip bdi[b-q3lxgwkyr9] {
    font-variant-numeric: tabular-nums;
}

.beta-dash-delta[b-q3lxgwkyr9] {
    font-weight: 600;
}

.beta-dash-delta[data-tone="up"][b-q3lxgwkyr9] {
    color: var(--posh-admin-success-outline);
}

.beta-dash-delta[data-tone="down"][b-q3lxgwkyr9] {
    color: var(--posh-admin-error);
}

.beta-dash-section[b-q3lxgwkyr9] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-sm);
}

.beta-dash-section-title[b-q3lxgwkyr9],
.beta-dash-card-title[b-q3lxgwkyr9] {
    margin: 0;
}

.beta-dash-card-title[b-q3lxgwkyr9] {
    font-size: var(--posh-admin-text-body-lg-size);
    font-weight: 600;
}

.beta-dash-card[b-q3lxgwkyr9] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-sm);
    min-inline-size: 0;
    padding: var(--posh-admin-space-sm);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container);
}

.beta-dash-card-header[b-q3lxgwkyr9] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.beta-dash-card-note[b-q3lxgwkyr9] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-body-sm-size);
    line-height: 1.8;
}

.beta-dash-card-note b[b-q3lxgwkyr9] {
    color: var(--posh-admin-on-surface);
    font-weight: 600;
}

.beta-dash-row[b-q3lxgwkyr9] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--posh-admin-space-md);
}

.beta-dash-pill[b-q3lxgwkyr9] {
    display: inline-block;
    padding: 0.1rem 0.55rem;
    border-radius: var(--posh-admin-radius-full);
    background: color-mix(in oklab, currentColor 13%, transparent);
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    white-space: nowrap;
}

.beta-dash-pill[data-tone="ok"][b-q3lxgwkyr9] {
    color: var(--posh-admin-success-outline);
}

.beta-dash-pill[data-tone="warn"][b-q3lxgwkyr9] {
    color: var(--posh-admin-warning-outline);
}

.beta-dash-pill[data-tone="bad"][b-q3lxgwkyr9] {
    color: var(--posh-admin-error);
}

.beta-dash-foot[b-q3lxgwkyr9] {
    margin: 0;
    max-inline-size: 60rem;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    line-height: 1.9;
}

/* ---------- Headline figures ---------- */

.beta-dash-kpis[b-q3lxgwkyr9] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--posh-admin-space-sm);
}

.beta-dash-kpi[b-q3lxgwkyr9] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-inline-size: 0;
    padding: var(--posh-admin-space-sm);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container);
    /* The headline figure scales with its card, so a ten-digit Rial amount never breaks mid-number. */
    container-type: inline-size;
}

.beta-dash-kpi-label[b-q3lxgwkyr9] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.25rem;
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
}

.beta-dash-kpi-window[b-q3lxgwkyr9] {
    opacity: 0.75;
}

.beta-dash-kpi-value[b-q3lxgwkyr9] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.35rem;
    margin: 0;
    min-block-size: 2.4rem;
}

.beta-dash-num[b-q3lxgwkyr9] {
    font-size: clamp(1.1rem, 11cqi, 1.9rem);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.01em;
    white-space: nowrap;
}

.beta-dash-unit[b-q3lxgwkyr9] {
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
}

.beta-dash-kpi-change[b-q3lxgwkyr9] {
    margin: 0;
    min-block-size: 1.5em;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    line-height: 1.5;
}

.beta-dash-spark[b-q3lxgwkyr9] {
    display: block;
    inline-size: 100%;
    block-size: 32px;
    margin-block-start: auto;
    padding-block-start: var(--posh-admin-space-xs);
    overflow: visible;
}

.beta-dash-spark-bar[b-q3lxgwkyr9] {
    fill: var(--posh-admin-primary-fixed-dim);
}

.beta-dash-spark-empty[b-q3lxgwkyr9] {
    fill: var(--posh-admin-outline-variant);
}

.beta-dash-spark .is-current[b-q3lxgwkyr9] {
    opacity: 0.45;
}

.beta-dash-spark-caption[b-q3lxgwkyr9] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    opacity: 0.75;
}

/* ---------- Needs attention ---------- */

.beta-dash-attention[b-q3lxgwkyr9] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--posh-admin-space-xs);
}

.beta-dash-attention-item[b-q3lxgwkyr9] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-inline-size: 0;
    min-block-size: 44px;
    padding: var(--posh-admin-space-sm);
    padding-inline-start: calc(var(--posh-admin-space-sm) + 4px);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface-container);
    color: inherit;
    text-decoration: none;
    transition: border-color 0.2s ease;
}

.beta-dash-attention-item[b-q3lxgwkyr9]::before {
    content: "";
    position: absolute;
    inset-block: var(--posh-admin-space-sm);
    inset-inline-start: 6px;
    inline-size: 3px;
    border-radius: 3px;
    background: var(--posh-admin-outline-variant);
}

.beta-dash-attention-item[data-tone="ok"][b-q3lxgwkyr9]::before {
    background: var(--posh-admin-success-outline);
}

.beta-dash-attention-item[data-tone="warn"][b-q3lxgwkyr9]::before {
    background: var(--posh-admin-warning-outline);
}

.beta-dash-attention-item[data-tone="bad"][b-q3lxgwkyr9]::before {
    background: var(--posh-admin-error);
}

.beta-dash-attention-item:hover[b-q3lxgwkyr9] {
    border-color: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 35%, var(--posh-admin-outline-variant));
}

.beta-dash-attention-label[b-q3lxgwkyr9],
.beta-dash-attention-sub[b-q3lxgwkyr9] {
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    overflow-wrap: anywhere;
}

.beta-dash-attention-value[b-q3lxgwkyr9] {
    font-size: var(--posh-admin-text-headline-sm-size);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

/* ---------- Monthly revenue ---------- */

.beta-dash-plot[b-q3lxgwkyr9] {
    position: relative;
    padding-inline-start: 2.75rem;
}

.beta-dash-gridlines[b-q3lxgwkyr9] {
    position: absolute;
    inset-block: 0 1.75rem;
    inset-inline: 2.75rem 0;
    pointer-events: none;
}

.beta-dash-gridline[b-q3lxgwkyr9] {
    position: absolute;
    inset-inline: 0;
    bottom: var(--y);
    border-top: 1px solid var(--posh-admin-outline-variant);
}

.beta-dash-gridlabel[b-q3lxgwkyr9] {
    position: absolute;
    right: 100%;
    bottom: 0;
    transform: translateY(50%);
    padding-inline-end: 0.5rem;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.beta-dash-columns[b-q3lxgwkyr9] {
    position: relative;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.beta-dash-column[b-q3lxgwkyr9] {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.4rem;
    min-inline-size: 0;
    border-radius: var(--posh-admin-radius-sm);
    outline: none;
}

.beta-dash-column-plot[b-q3lxgwkyr9] {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    block-size: 11rem;
}

.beta-dash-column-bar[b-q3lxgwkyr9] {
    display: block;
    inline-size: min(100%, 2rem);
    block-size: var(--h);
    border-radius: 4px 4px 1px 1px;
    background: var(--posh-admin-primary-fixed-dim);
    transition: opacity 0.15s ease;
}

.beta-dash-column.is-current .beta-dash-column-bar[b-q3lxgwkyr9] {
    opacity: 0.45;
}

.beta-dash-columns:hover .beta-dash-column:not(:hover) .beta-dash-column-bar[b-q3lxgwkyr9] {
    opacity: 0.35;
}

.beta-dash-column-label[b-q3lxgwkyr9] {
    block-size: 1.35rem;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    text-align: center;
    white-space: nowrap;
    overflow: visible;
}

.beta-dash-column-label.is-minor[b-q3lxgwkyr9] {
    visibility: hidden;
}

.beta-dash-tip[b-q3lxgwkyr9] {
    position: absolute;
    z-index: 3;
    bottom: calc(var(--h) + 0.5rem);
    left: 50%;
    display: none;
    flex-direction: column;
    gap: 0.15rem;
    min-inline-size: 10rem;
    padding: 0.4rem 0.6rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius);
    background: var(--posh-admin-surface-container-highest);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
    color: var(--posh-admin-on-surface);
    font-size: var(--posh-admin-text-label-md-size);
    white-space: nowrap;
    transform: translateX(-50%);
    pointer-events: none;
}

.beta-dash-column.tip-start .beta-dash-tip[b-q3lxgwkyr9] {
    left: 0;
    transform: none;
}

.beta-dash-column.tip-end .beta-dash-tip[b-q3lxgwkyr9] {
    left: auto;
    right: 0;
    transform: none;
}

.beta-dash-column:hover .beta-dash-tip[b-q3lxgwkyr9],
.beta-dash-column:focus-visible .beta-dash-tip[b-q3lxgwkyr9] {
    display: flex;
}

.beta-dash-tip-title[b-q3lxgwkyr9] {
    color: var(--posh-admin-on-surface-variant);
}

.beta-dash-tip-row[b-q3lxgwkyr9] {
    display: flex;
    justify-content: space-between;
    gap: var(--posh-admin-space-sm);
}

.beta-dash-axis-unit[b-q3lxgwkyr9] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
}

/* ---------- Channels ---------- */

.beta-dash-channels[b-q3lxgwkyr9] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-sm);
    margin: 0;
    padding: 0;
    list-style: none;
}

.beta-dash-channel[b-q3lxgwkyr9] {
    display: grid;
    grid-template-columns: 5.5rem minmax(0, 1fr) 3rem;
    align-items: center;
    column-gap: var(--posh-admin-space-xs);
    row-gap: 0.15rem;
}

.beta-dash-channel[data-empty][b-q3lxgwkyr9] {
    opacity: 0.5;
}

.beta-dash-channel-name[b-q3lxgwkyr9] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.beta-dash-channel-track[b-q3lxgwkyr9] {
    display: block;
    block-size: 10px;
    border-radius: var(--posh-admin-radius-full);
    background: var(--posh-admin-surface-container-high);
    overflow: hidden;
}

.beta-dash-channel-fill[b-q3lxgwkyr9] {
    display: block;
    block-size: 100%;
    inline-size: var(--w);
    border-radius: inherit;
    background: var(--posh-admin-primary-fixed-dim);
}

.beta-dash-channel-share[b-q3lxgwkyr9] {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: end;
}

.beta-dash-channel-sub[b-q3lxgwkyr9] {
    grid-column: 2 / 4;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
}

/* ---------- Tables ---------- */

.beta-dash-table-wrap[b-q3lxgwkyr9] {
    max-block-size: 30rem;
    overflow: auto;
}

.beta-dash-table[b-q3lxgwkyr9] {
    inline-size: 100%;
    border-collapse: collapse;
    font-size: var(--posh-admin-text-body-sm-size);
}

.beta-dash-table th[b-q3lxgwkyr9] {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 0.4rem 0.6rem;
    border-bottom: 1px solid var(--posh-admin-outline-variant);
    background: var(--posh-admin-surface-container);
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: 500;
    text-align: start;
    white-space: nowrap;
}

.beta-dash-sort[b-q3lxgwkyr9] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-block-size: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
}

.beta-dash-sort[b-q3lxgwkyr9]::after {
    content: "";
    inline-size: 0.7em;
}

th[aria-sort="descending"] .beta-dash-sort[b-q3lxgwkyr9]::after {
    content: "↓";
}

th[aria-sort="ascending"] .beta-dash-sort[b-q3lxgwkyr9]::after {
    content: "↑";
}

th[aria-sort="descending"] .beta-dash-sort[b-q3lxgwkyr9],
th[aria-sort="ascending"] .beta-dash-sort[b-q3lxgwkyr9] {
    color: var(--posh-admin-on-surface);
}

.beta-dash-table td[b-q3lxgwkyr9] {
    padding: 0.6rem;
    border-bottom: 1px solid var(--posh-admin-outline-variant);
    white-space: nowrap;
    vertical-align: middle;
}

.beta-dash-table tbody tr:last-child td[b-q3lxgwkyr9] {
    border-bottom: 0;
}

.beta-dash-table tbody tr:hover td[b-q3lxgwkyr9] {
    background: var(--posh-admin-surface-container-high);
}

.beta-dash-table .beta-dash-number[b-q3lxgwkyr9] {
    text-align: end;
}

.beta-dash-table td[data-tone="bad"][b-q3lxgwkyr9] {
    color: var(--posh-admin-error);
}

.beta-dash-strong[b-q3lxgwkyr9] {
    font-weight: 600;
}

.beta-dash-muted[b-q3lxgwkyr9] {
    color: var(--posh-admin-on-surface-variant);
}

.beta-dash-cellbar[b-q3lxgwkyr9] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

/* --w is the bar's width in pixels, on one 70px scale shared by every row. */
.beta-dash-cellbar-fill[b-q3lxgwkyr9] {
    display: block;
    inline-size: var(--w);
    min-inline-size: 2px;
    block-size: 6px;
    border-radius: 3px;
    background: var(--posh-admin-primary-fixed-dim);
}

.beta-dash-cellbar-fill[data-empty][b-q3lxgwkyr9] {
    background: var(--posh-admin-outline-variant);
}

/* Secondary columns give way on a phone. */
.beta-dash-hide-sm[b-q3lxgwkyr9] {
    display: none;
}

/* ---------- Sizes ---------- */

.beta-dash-legend[b-q3lxgwkyr9] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-sm);
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
}

.beta-dash-legend span[b-q3lxgwkyr9] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.beta-dash-swatch[b-q3lxgwkyr9] {
    display: inline-block;
    inline-size: 0.6rem;
    block-size: 0.6rem;
    border-radius: 2px;
}

.beta-dash-swatch--sold[b-q3lxgwkyr9],
.beta-dash-size-bar--sold[b-q3lxgwkyr9] {
    background: var(--posh-admin-primary-fixed-dim);
}

.beta-dash-swatch--stock[b-q3lxgwkyr9],
.beta-dash-size-bar--stock[b-q3lxgwkyr9] {
    background: var(--posh-admin-outline);
}

.beta-dash-sizes[b-q3lxgwkyr9] {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: var(--posh-admin-space-xs);
    margin: 0;
    padding: 0;
    list-style: none;
}

.beta-dash-size[b-q3lxgwkyr9] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    min-inline-size: 0;
}

.beta-dash-size-bars[b-q3lxgwkyr9] {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 3px;
    block-size: 10rem;
    padding-block-start: 1.25rem;
}

.beta-dash-size-bar[b-q3lxgwkyr9] {
    position: relative;
    inline-size: min(45%, 1.6rem);
    block-size: var(--h);
    min-block-size: 1px;
    border-radius: 4px 4px 1px 1px;
}

.beta-dash-size-bar bdi[b-q3lxgwkyr9] {
    position: absolute;
    bottom: calc(100% + 0.2rem);
    left: 50%;
    transform: translateX(-50%);
    color: var(--posh-admin-on-surface);
    font-size: var(--posh-admin-text-label-md-size);
    font-variant-numeric: tabular-nums;
}

.beta-dash-size-label[b-q3lxgwkyr9] {
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    text-align: center;
    font-variant-numeric: tabular-nums;
}

/* ---------- Desktop ---------- */

@media (min-width: 769px) {
    .beta-dash[b-q3lxgwkyr9] {
        gap: var(--posh-admin-space-lg);
        padding-block-start: var(--posh-admin-space-md);
    }

    .beta-dash-header[b-q3lxgwkyr9] {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: var(--posh-admin-space-md);
    }

    .beta-dash-actions[b-q3lxgwkyr9] {
        flex-direction: row;
        align-items: center;
        flex-shrink: 0;
    }

    .beta-dash-windows[b-q3lxgwkyr9] {
        display: inline-flex;
        flex-shrink: 0;
    }

    .beta-dash-window[b-q3lxgwkyr9] {
        min-block-size: 2.25rem;
    }

    .beta-dash-kpis[b-q3lxgwkyr9] {
        grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
        gap: var(--posh-admin-space-md);
    }

    .beta-dash-kpi[b-q3lxgwkyr9],
    .beta-dash-card[b-q3lxgwkyr9] {
        padding: var(--posh-admin-space-md);
    }

    .beta-dash-attention[b-q3lxgwkyr9] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: var(--posh-admin-space-sm);
    }

    .beta-dash-sort[b-q3lxgwkyr9] {
        min-block-size: 0;
    }

    .beta-dash-column-label.is-minor[b-q3lxgwkyr9] {
        visibility: visible;
    }

    .beta-dash-hide-sm[b-q3lxgwkyr9] {
        display: table-cell;
    }

    .beta-dash-column-plot[b-q3lxgwkyr9] {
        block-size: 13rem;
    }
}

@media (min-width: 1100px) {
    .beta-dash-row[b-q3lxgwkyr9] {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    }

    /* Sizes and latest orders stay stacked until the orders table fits beside the chart. */
    .beta-dash-row--even[b-q3lxgwkyr9] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (min-width: 1440px) {
    .beta-dash-attention[b-q3lxgwkyr9] {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .beta-dash-row--even[b-q3lxgwkyr9] {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    .beta-dash-sale[b-q3lxgwkyr9],
    .beta-dash-window[b-q3lxgwkyr9],
    .beta-dash-attention-item[b-q3lxgwkyr9],
    .beta-dash-column-bar[b-q3lxgwkyr9],
    .beta-dash.is-refreshing .beta-dash-card[b-q3lxgwkyr9] {
        transition: none;
    }
}
/* /Components/Pages/Admin/DiscountCodes.razor.rz.scp.css */
/* «کدهای تخفیف» — scoped styles. Fields match PersianDatePicker's trigger (44px, surface-container-high, radius-lg)
   so the date sits in the form like any other input; the list turns into cards on phones, as on the orders page. */

.discount-codes-page[b-qcgkcf9qze] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    color: var(--posh-admin-on-surface);
}

/* The title block and «کد جدید» share one row, wrapping on narrow screens, as on the other admin pages. */
.discount-codes-header[b-qcgkcf9qze] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-sm);
}

.discount-codes-header-text[b-qcgkcf9qze] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}

.discount-codes-title[b-qcgkcf9qze],
.discount-codes-subtitle[b-qcgkcf9qze] {
    margin: 0;
}

.discount-codes-subtitle[b-qcgkcf9qze] {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.65;
}

/* ── Panels ───────────────────────────────────────────────────────── */

.discount-codes-panel[b-qcgkcf9qze] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    padding: var(--posh-admin-space-md);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
}

.discount-codes-form[b-qcgkcf9qze] {
    max-width: 54rem;
}

.discount-codes-section-title[b-qcgkcf9qze] {
    margin: 0;
    font-size: var(--posh-admin-text-headline-sm-size);
    color: var(--posh-admin-on-surface);
}

.discount-codes-section-title:focus[b-qcgkcf9qze] {
    outline: none;
}

.discount-codes-section-title:focus-visible[b-qcgkcf9qze] {
    outline: 2px solid var(--posh-admin-primary);
    outline-offset: 4px;
    border-radius: var(--posh-admin-radius-sm);
}

.discount-codes-state[b-qcgkcf9qze] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
}

.discount-codes-load-error[b-qcgkcf9qze] {
    color: var(--posh-admin-error);
}

.discount-codes-lock-note[b-qcgkcf9qze] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 0.55rem 0.8rem;
    border-inline-start: 3px solid var(--posh-admin-outline);
    border-radius: var(--posh-admin-radius-sm);
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 30%, transparent);
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-body-sm-size);
    line-height: 1.7;
}

/* ── Form ─────────────────────────────────────────────────────────── */

.discount-codes-grid[b-qcgkcf9qze] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--posh-admin-space-md);
    align-items: start;
}

.discount-codes-field[b-qcgkcf9qze] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.discount-codes-field-switch[b-qcgkcf9qze] {
    align-self: end;
    min-height: 44px;
    justify-content: center;
}

.discount-codes-label[b-qcgkcf9qze] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: 1.2;
}

.discount-codes-input[b-qcgkcf9qze] {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container-high);
    color: var(--posh-admin-on-surface);
    font-family: var(--posh-admin-font);
    font-size: var(--posh-admin-text-body-sm-size);
    font-variant-numeric: tabular-nums;
    text-align: left;
}

.discount-codes-input-code[b-qcgkcf9qze] {
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.discount-codes-input[b-qcgkcf9qze]::placeholder {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.5;
    text-transform: none;
}

.discount-codes-input:focus[b-qcgkcf9qze] {
    outline: none;
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 1px var(--posh-admin-primary);
}

.discount-codes-input:disabled[b-qcgkcf9qze] {
    opacity: 0.55;
    cursor: not-allowed;
}

.discount-codes-help[b-qcgkcf9qze] {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.72;
    font-size: 0.78rem;
    line-height: 1.6;
}

.discount-codes-limit-row[b-qcgkcf9qze] {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-sm);
}

.discount-codes-limit-row .discount-codes-input[b-qcgkcf9qze] {
    flex: 1 1 auto;
}

/* ── Switches ─────────────────────────────────────────────────────── */

.discount-codes-switch-row[b-qcgkcf9qze] {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    flex: 0 0 auto;
    min-height: 44px;
    font-size: 0.9rem;
    cursor: pointer;
}

.discount-codes-switch[b-qcgkcf9qze] {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    flex: 0 0 auto;
    width: 2.5rem;
    height: 1.4rem;
    margin: 0;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-full, 999px);
    background: var(--posh-admin-surface-container-highest);
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.discount-codes-switch[b-qcgkcf9qze]::before {
    content: "";
    position: absolute;
    top: 0.15rem;
    inset-inline-start: 0.15rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: var(--posh-admin-on-surface-variant);
    transition: transform 0.2s ease, background 0.2s ease;
}

.discount-codes-switch:checked[b-qcgkcf9qze] {
    border-color: var(--posh-admin-primary);
    background: var(--posh-admin-primary);
}

/* RTL: the knob starts on the right and slides left. */
.discount-codes-switch:checked[b-qcgkcf9qze]::before {
    background: var(--posh-admin-on-primary);
    transform: translateX(-1.1rem);
}

.discount-codes-switch:focus-visible[b-qcgkcf9qze] {
    outline: none;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--posh-admin-primary) 25%, transparent);
}

/* ── Buttons ──────────────────────────────────────────────────────── */

.discount-codes-form-actions[b-qcgkcf9qze] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--posh-admin-space-sm);
}

.discount-codes-btn[b-qcgkcf9qze] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--posh-admin-space-xs);
    min-height: 2.5rem;
    padding: 0.4rem 0.9rem;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-lg);
    font-family: var(--posh-admin-font);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    white-space: nowrap;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.discount-codes-btn:disabled[b-qcgkcf9qze] {
    opacity: 0.55;
    cursor: not-allowed;
}

.discount-codes-btn:focus-visible[b-qcgkcf9qze] {
    outline: 2px solid var(--posh-admin-primary);
    outline-offset: 2px;
}

.discount-codes-btn-primary[b-qcgkcf9qze] {
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
    border-color: color-mix(in oklab, var(--posh-admin-primary) 75%, var(--posh-admin-outline-variant));
}

.discount-codes-btn-primary:hover:not(:disabled)[b-qcgkcf9qze] {
    transform: scale(0.97);
}

.discount-codes-btn-ghost[b-qcgkcf9qze] {
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    border-color: var(--posh-admin-outline-variant);
}

.discount-codes-btn-ghost:hover:not(:disabled)[b-qcgkcf9qze] {
    color: var(--posh-admin-on-surface);
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 24%, transparent);
}

.discount-codes-btn-danger[b-qcgkcf9qze] {
    background: color-mix(in oklab, var(--posh-admin-error) 12%, transparent);
    color: var(--posh-admin-error);
    border-color: color-mix(in oklab, var(--posh-admin-error) 45%, var(--posh-admin-outline-variant));
}

.discount-codes-btn-danger:hover:not(:disabled)[b-qcgkcf9qze] {
    background: color-mix(in oklab, var(--posh-admin-error) 20%, transparent);
}

/* ── List ─────────────────────────────────────────────────────────── */

.discount-codes-table-wrap[b-qcgkcf9qze] {
    overflow-x: auto;
}

.discount-codes-table[b-qcgkcf9qze] {
    width: 100%;
    border-collapse: collapse;
}

.discount-codes-table th[b-qcgkcf9qze] {
    padding: 0.65rem 0.6rem;
    text-align: start;
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: 600;
    color: var(--posh-admin-on-surface-variant);
    white-space: nowrap;
    border-bottom: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
}

.discount-codes-table td[b-qcgkcf9qze] {
    padding: 0.7rem 0.6rem;
    border-bottom: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    font-size: var(--posh-admin-text-body-sm-size);
    font-variant-numeric: tabular-nums;
    vertical-align: middle;
}

.discount-codes-row[b-qcgkcf9qze] {
    transition: background-color 0.2s ease;
}

.discount-codes-row:hover[b-qcgkcf9qze] {
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 10%, transparent);
}

.discount-codes-code[b-qcgkcf9qze] {
    font-weight: 600;
    letter-spacing: 0.04em;
}

.discount-codes-expiry[b-qcgkcf9qze],
.discount-codes-total-discount[b-qcgkcf9qze] {
    white-space: nowrap;
}

.discount-codes-badge[b-qcgkcf9qze] {
    display: inline-block;
    padding: 0.2rem 0.65rem;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-full, 999px);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: 600;
    white-space: nowrap;
}

.discount-codes-badge-active[b-qcgkcf9qze] {
    background: color-mix(in oklab, var(--posh-admin-success-container) 25%, transparent);
    color: var(--posh-admin-success);
    border-color: color-mix(in oklab, var(--posh-admin-success-outline) 40%, transparent);
}

.discount-codes-badge-disabled[b-qcgkcf9qze] {
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 40%, transparent);
    color: var(--posh-admin-on-surface-variant);
    border-color: var(--posh-admin-outline-variant);
}

.discount-codes-badge-expired[b-qcgkcf9qze] {
    background: color-mix(in oklab, var(--posh-admin-error) 10%, transparent);
    color: var(--posh-admin-error);
    border-color: color-mix(in oklab, var(--posh-admin-error) 35%, transparent);
}

.discount-codes-actions-inner[b-qcgkcf9qze] {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.4rem;
}

@media (max-width: 768px) {
    .discount-codes-panel[b-qcgkcf9qze] {
        padding: var(--posh-admin-space-sm);
        border-radius: var(--posh-admin-radius-lg);
    }

    .discount-codes-grid[b-qcgkcf9qze] {
        grid-template-columns: 1fr;
    }

    .discount-codes-field-switch[b-qcgkcf9qze] {
        min-height: 0;
    }

    .discount-codes-form-actions .discount-codes-btn[b-qcgkcf9qze] {
        flex: 1 1 auto;
    }

    /* Each code becomes a card: one labelled line per column, the actions full width at the bottom. */
    .discount-codes-table-wrap[b-qcgkcf9qze] {
        overflow-x: visible;
    }

    .discount-codes-table[b-qcgkcf9qze],
    .discount-codes-table tbody[b-qcgkcf9qze] {
        display: block;
        width: 100%;
    }

    .discount-codes-table thead[b-qcgkcf9qze] {
        display: none;
    }

    .discount-codes-table tbody tr[b-qcgkcf9qze] {
        display: block;
        margin-block: 0.75rem;
        padding: 0.75rem 0.9rem;
        border: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
        border-radius: var(--posh-admin-radius-lg);
        background: color-mix(in oklab, var(--posh-admin-surface-container-low) 88%, transparent);
    }

    .discount-codes-table tbody tr > td[b-qcgkcf9qze] {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: 0.5rem 0.75rem;
        width: 100%;
        padding: 0.4rem 0;
        border: 0;
        text-align: start;
    }

    .discount-codes-table tbody tr > td[b-qcgkcf9qze]::before {
        content: attr(data-label) ":";
        flex-shrink: 0;
        font-size: var(--posh-admin-text-label-md-size);
        font-weight: 600;
        color: var(--posh-admin-on-surface-variant);
    }

    .discount-codes-table tbody tr > td.discount-codes-actions[b-qcgkcf9qze] {
        display: block;
        padding-top: 0.65rem;
    }

    .discount-codes-table tbody tr > td.discount-codes-actions[b-qcgkcf9qze]::before {
        content: none;
    }

    .discount-codes-actions-inner[b-qcgkcf9qze] {
        justify-content: stretch;
    }

    .discount-codes-actions-inner .discount-codes-btn[b-qcgkcf9qze] {
        flex: 1 1 0;
        min-height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .discount-codes-btn[b-qcgkcf9qze],
    .discount-codes-row[b-qcgkcf9qze],
    .discount-codes-switch[b-qcgkcf9qze],
    .discount-codes-switch[b-qcgkcf9qze]::before {
        transition: none;
    }

    .discount-codes-btn-primary:hover:not(:disabled)[b-qcgkcf9qze] {
        transform: none;
    }
}
/* /Components/Pages/Admin/GroupManager.razor.rz.scp.css */
.gm-add-row[b-3wv61ij40s] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.category-page[b-3wv61ij40s] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    color: var(--posh-admin-on-surface);
}

.dashboard-page-header[b-3wv61ij40s] {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--posh-admin-space-md);
    min-height: 5rem;
    margin-inline: calc(-1 * var(--posh-admin-gutter));
    padding-inline: var(--posh-admin-gutter);
    border-bottom: 1px solid var(--posh-admin-outline-variant);
    background: color-mix(in oklab, var(--posh-admin-surface) 50%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.category-page-title[b-3wv61ij40s],
.category-page-subtitle[b-3wv61ij40s] {
    margin: 0;
}

.category-page-subtitle[b-3wv61ij40s] {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.65;
}

.category-alert[b-3wv61ij40s] {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border: 1px solid color-mix(in oklab, var(--posh-admin-error) 45%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--posh-admin-error-container) 35%, transparent);
    color: var(--posh-admin-error);
    font-size: var(--posh-admin-text-body-sm-size);
}

.category-alert-success[b-3wv61ij40s] {
    border-color: color-mix(in oklab, var(--posh-admin-success-outline) 40%, transparent);
    background: color-mix(in oklab, var(--posh-admin-success-container) 18%, transparent);
    color: var(--posh-admin-success);
}

.category-panel[b-3wv61ij40s] {
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
    padding: var(--posh-admin-space-md);
}

.category-section-title[b-3wv61ij40s] {
    margin: 0 0 0.75rem;
    font-size: var(--posh-admin-text-headline-sm-size);
    color: var(--posh-admin-on-surface);
}

.gm-name-input[b-3wv61ij40s] {
    flex: 1;
    min-width: 12rem;
    max-width: 420px;
}

.gm-edit-input[b-3wv61ij40s] {
    max-width: 320px;
}

.category-input[b-3wv61ij40s] {
    width: 100%;
    box-sizing: border-box;
    border-radius: var(--posh-admin-radius-lg);
    border: 1px solid var(--posh-admin-outline-variant);
    background: var(--posh-admin-surface-container-high);
    color: var(--posh-admin-on-surface);
    padding: 0.45rem 0.6rem;
    font-size: var(--posh-admin-text-body-sm-size);
}

.category-input:focus[b-3wv61ij40s] {
    outline: none;
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 1px var(--posh-admin-primary);
}

.category-btn[b-3wv61ij40s] {
    appearance: none;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--posh-admin-space-xs);
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    cursor: pointer;
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.category-btn-primary[b-3wv61ij40s] {
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
    border-color: color-mix(in oklab, var(--posh-admin-primary) 75%, var(--posh-admin-outline-variant));
}

.category-btn-primary:hover[b-3wv61ij40s] {
    transform: scale(0.97);
}

.category-btn-ghost[b-3wv61ij40s] {
    color: var(--posh-admin-on-surface-variant);
    border-color: var(--posh-admin-outline-variant);
    background: transparent;
}

.category-btn-ghost:hover[b-3wv61ij40s] {
    color: var(--posh-admin-on-surface);
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 24%, transparent);
}

.category-btn-danger[b-3wv61ij40s] {
    border-color: color-mix(in oklab, var(--posh-admin-error) 45%, var(--posh-admin-outline-variant));
    color: var(--posh-admin-error);
    background: color-mix(in oklab, var(--posh-admin-error) 12%, transparent);
}

.category-btn-danger:hover[b-3wv61ij40s] {
    background: color-mix(in oklab, var(--posh-admin-error) 20%, transparent);
}

.category-state-message[b-3wv61ij40s] {
    color: var(--posh-admin-on-surface-variant);
}

.category-table-wrap[b-3wv61ij40s] {
    overflow-x: auto;
}

.category-table[b-3wv61ij40s] {
    width: 100%;
    border-collapse: collapse;
}

.category-table-head[b-3wv61ij40s] {
    padding: 0.65rem 0.6rem;
    text-align: right;
    font-size: var(--posh-admin-text-label-md-size);
    text-transform: uppercase;
    letter-spacing: var(--posh-admin-text-label-md-tracking);
    color: var(--posh-admin-on-surface-variant);
    border-bottom: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
}

.category-row[b-3wv61ij40s] {
    transition: background-color 0.2s ease;
}

.category-row:hover[b-3wv61ij40s] {
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 10%, transparent);
}

.category-cell[b-3wv61ij40s] {
    padding: 0.7rem 0.6rem;
    border-bottom: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    font-size: var(--posh-admin-text-body-sm-size);
}

.category-actions[b-3wv61ij40s] {
    display: inline-flex;
    gap: 0.5rem;
}

.category-order-controls[b-3wv61ij40s] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.category-btn-sm[b-3wv61ij40s] {
    padding: 0.2rem 0.45rem;
    font-size: 0.75rem;
    line-height: 1;
    background: var(--posh-admin-surface-container-high);
    border: 1px solid var(--posh-admin-outline-variant);
    color: var(--posh-admin-on-surface);
}

.category-btn-sm:disabled[b-3wv61ij40s] {
    opacity: 0.3;
    cursor: not-allowed;
}

.category-pub-badge[b-3wv61ij40s] {
    appearance: none;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-lg);
    padding: 0.35rem 0.75rem;
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.category-pub-badge.published[b-3wv61ij40s] {
    background: color-mix(in oklab, var(--posh-admin-success-container) 25%, transparent);
    color: var(--posh-admin-success);
    border-color: color-mix(in oklab, var(--posh-admin-success-outline) 40%, transparent);
}

.category-pub-badge.unpublished[b-3wv61ij40s] {
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 40%, transparent);
    color: var(--posh-admin-on-surface-variant);
    border-color: var(--posh-admin-outline-variant);
}
/* /Components/Pages/Admin/HomepageCollections.razor.rz.scp.css */
.homepage-collections-page[b-pcibn1wiyl] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    color: var(--posh-admin-on-surface);
}

.homepage-collections-page-title[b-pcibn1wiyl],
.homepage-collections-page-subtitle[b-pcibn1wiyl] {
    margin: 0;
}

.homepage-collections-page-subtitle[b-pcibn1wiyl] {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.65;
}

.homepage-collections-alert[b-pcibn1wiyl] {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border: 1px solid color-mix(in oklab, var(--posh-admin-error) 45%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--posh-admin-error-container) 35%, transparent);
    color: var(--posh-admin-error);
    font-size: var(--posh-admin-text-body-sm-size);
}

.homepage-collections-alert-success[b-pcibn1wiyl] {
    border-color: color-mix(in oklab, var(--posh-admin-success-outline) 40%, transparent);
    background: color-mix(in oklab, var(--posh-admin-success-container) 18%, transparent);
    color: var(--posh-admin-success);
}

.homepage-collections-panel[b-pcibn1wiyl] {
    padding: var(--posh-admin-space-md);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
}

.homepage-collections-panel-heading[b-pcibn1wiyl] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--posh-admin-space-md);
    margin-bottom: var(--posh-admin-space-sm);
}

.homepage-collections-section-title[b-pcibn1wiyl] {
    margin: 0;
    font-size: var(--posh-admin-text-headline-sm-size);
    color: var(--posh-admin-on-surface);
}

.homepage-collections-muted[b-pcibn1wiyl],
.homepage-collections-state[b-pcibn1wiyl] {
    color: var(--posh-admin-on-surface-variant);
}

.homepage-collections-muted[b-pcibn1wiyl] {
    margin: 0.3rem 0 0;
    font-size: var(--posh-admin-text-body-sm-size);
}

.homepage-collections-count[b-pcibn1wiyl] {
    flex: 0 0 auto;
    padding: 0.35rem 0.6rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
}

.homepage-collections-add-row[b-pcibn1wiyl],
.homepage-collections-product-add[b-pcibn1wiyl] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.homepage-collections-input[b-pcibn1wiyl] {
    box-sizing: border-box;
    width: 100%;
    min-height: 2.25rem;
    padding: 0.45rem 0.6rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container-high);
    color: var(--posh-admin-on-surface);
    font-size: var(--posh-admin-text-body-sm-size);
}

.homepage-collections-input:focus[b-pcibn1wiyl] {
    outline: none;
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 1px var(--posh-admin-primary);
}

.homepage-collections-name-input[b-pcibn1wiyl] {
    flex: 1 1 16rem;
    max-width: 34rem;
}

.homepage-collections-rename-input[b-pcibn1wiyl] {
    flex: 1 1 12rem;
    width: auto;
    max-width: 22rem;
}

.homepage-collections-btn[b-pcibn1wiyl] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--posh-admin-space-xs);
    min-height: 2.25rem;
    padding: 0.4rem 0.7rem;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-lg);
    cursor: pointer;
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.homepage-collections-btn:hover:not(:disabled)[b-pcibn1wiyl] {
    transform: translateY(-1px);
}

.homepage-collections-btn:disabled[b-pcibn1wiyl] {
    cursor: not-allowed;
    opacity: 0.35;
}

.homepage-collections-btn-primary[b-pcibn1wiyl] {
    border-color: color-mix(in oklab, var(--posh-admin-primary) 75%, var(--posh-admin-outline-variant));
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
}

.homepage-collections-btn-ghost[b-pcibn1wiyl],
.homepage-collections-btn-small[b-pcibn1wiyl],
.homepage-collections-btn-status[b-pcibn1wiyl] {
    border-color: var(--posh-admin-outline-variant);
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
}

.homepage-collections-btn-small[b-pcibn1wiyl] {
    min-height: 1.8rem;
    padding: 0.15rem 0.45rem;
    line-height: 1;
}

.homepage-collections-btn-danger[b-pcibn1wiyl] {
    border-color: color-mix(in oklab, var(--posh-admin-error) 45%, var(--posh-admin-outline-variant));
    background: color-mix(in oklab, var(--posh-admin-error) 12%, transparent);
    color: var(--posh-admin-error);
}

.homepage-collections-layout[b-pcibn1wiyl] {
    display: grid;
    grid-template-columns: minmax(18rem, 0.85fr) minmax(22rem, 1.15fr);
    gap: var(--posh-admin-space-md);
    align-items: start;
}

.homepage-collections-list-panel[b-pcibn1wiyl],
.homepage-collections-editor-panel[b-pcibn1wiyl] {
    min-width: 0;
}

.homepage-collections-list[b-pcibn1wiyl] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.homepage-collections-item[b-pcibn1wiyl] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    padding: 0.7rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container-high);
}

.homepage-collections-item.is-selected[b-pcibn1wiyl] {
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 1px color-mix(in oklab, var(--posh-admin-primary) 45%, transparent);
}

.homepage-collections-item-select[b-pcibn1wiyl] {
    display: flex;
    flex: 1 1 11rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    text-align: right;
}

.homepage-collections-item-name[b-pcibn1wiyl] {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-width: 0;
    overflow: hidden;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.homepage-collections-built-in[b-pcibn1wiyl],
.homepage-collections-product-badge[b-pcibn1wiyl] {
    flex: 0 0 auto;
    padding: 0.16rem 0.4rem;
    border-radius: 999px;
    background: color-mix(in oklab, var(--posh-admin-primary) 15%, transparent);
    color: var(--posh-admin-primary);
    font-size: 0.7rem;
    font-weight: 600;
}

.homepage-collections-status[b-pcibn1wiyl] {
    flex: 0 0 auto;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
}

.homepage-collections-status.is-published[b-pcibn1wiyl] {
    background: color-mix(in oklab, var(--posh-admin-success-container) 25%, transparent);
    color: var(--posh-admin-success);
}

.homepage-collections-status.is-draft[b-pcibn1wiyl] {
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 40%, transparent);
    color: var(--posh-admin-on-surface-variant);
}

.homepage-collections-item-meta[b-pcibn1wiyl],
.homepage-collections-item-actions[b-pcibn1wiyl],
.homepage-collections-order-controls[b-pcibn1wiyl],
.homepage-collections-product-order[b-pcibn1wiyl] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.homepage-collections-item-meta[b-pcibn1wiyl] {
    flex: 1 1 100%;
    justify-content: space-between;
}

.homepage-collections-order-input[b-pcibn1wiyl] {
    width: 3.75rem;
    padding-inline: 0.35rem;
    text-align: center;
}

.homepage-collections-item-count[b-pcibn1wiyl] {
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-body-sm-size);
}

.homepage-collections-item-actions[b-pcibn1wiyl] {
    flex: 1 1 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.homepage-collections-product-add[b-pcibn1wiyl] {
    margin-bottom: var(--posh-admin-space-md);
}

.homepage-collections-product-add .homepage-collections-input[b-pcibn1wiyl] {
    flex: 1 1 15rem;
}

.homepage-collections-product-list[b-pcibn1wiyl] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.homepage-collections-product-list-automatic[b-pcibn1wiyl] {
    counter-reset: homepage-collection-rank;
}

.homepage-collections-product-item[b-pcibn1wiyl] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    min-width: 0;
    padding: 0.65rem 0.7rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container-high);
}

.homepage-collections-product-rank[b-pcibn1wiyl] {
    flex: 0 0 1.5rem;
    color: var(--posh-admin-primary);
    font-weight: 800;
    text-align: center;
}

.homepage-collections-product-name[b-pcibn1wiyl] {
    flex: 1 1 8rem;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 600;
}

.homepage-collections-product-item > .homepage-collections-btn-danger[b-pcibn1wiyl] {
    margin-inline-start: auto;
}

@media (max-width: 900px) {
    .homepage-collections-layout[b-pcibn1wiyl] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .homepage-collections-panel-heading[b-pcibn1wiyl] {
        flex-direction: column;
    }

    .homepage-collections-item-select[b-pcibn1wiyl] {
        flex-basis: 100%;
    }
}
/* /Components/Pages/Admin/Inventory.razor.rz.scp.css */
.inventory-page-header[b-lpc4exdg6w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--posh-admin-space-md);
    margin-bottom: var(--posh-admin-space-md);
}

.inventory-page-header-text[b-lpc4exdg6w] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.inventory-page-title[b-lpc4exdg6w] {
    margin: 0;
}

.inventory-page-subtitle[b-lpc4exdg6w] {
    margin: 0;
}

.inventory-btn[b-lpc4exdg6w] {
    appearance: none;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--posh-admin-space-xs);
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    color: var(--posh-admin-on-surface);
    background: transparent;
    cursor: pointer;
    text-decoration: none;
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
    font-family: var(--posh-admin-font);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    letter-spacing: var(--posh-admin-text-label-md-tracking);
}

.inventory-btn:disabled[b-lpc4exdg6w] {
    opacity: 0.5;
    cursor: not-allowed;
}

.inventory-btn-primary[b-lpc4exdg6w] {
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
    border-color: color-mix(in oklab, var(--posh-admin-primary) 75%, var(--posh-admin-outline-variant));
}

.inventory-btn-primary:hover:not(:disabled)[b-lpc4exdg6w] {
    transform: scale(0.97);
}

.inventory-btn-ghost[b-lpc4exdg6w] {
    border-color: var(--posh-admin-outline-variant);
    color: var(--posh-admin-on-surface-variant);
}

.inventory-btn-ghost:hover:not(:disabled)[b-lpc4exdg6w] {
    color: var(--posh-admin-on-surface);
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 24%, transparent);
}

.inventory-btn-danger[b-lpc4exdg6w] {
    border-color: color-mix(in oklab, var(--posh-admin-error) 45%, var(--posh-admin-outline-variant));
    color: var(--posh-admin-error);
    background: color-mix(in oklab, var(--posh-admin-error) 10%, transparent);
}

.inventory-btn-danger:hover:not(:disabled)[b-lpc4exdg6w] {
    background: color-mix(in oklab, var(--posh-admin-error) 18%, transparent);
}

.inventory-input[b-lpc4exdg6w],
.inventory-page[b-lpc4exdg6w]  .inventory-input,
.inventory-page[b-lpc4exdg6w]  .form-control.inventory-input,
.inventory-page[b-lpc4exdg6w]  .form-select.inventory-input,
.inventory-page[b-lpc4exdg6w]  .price-input-shell input.inventory-input {
    background: var(--posh-admin-surface-container-high);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    color: var(--posh-admin-on-surface);
    font-size: var(--posh-admin-text-body-sm-size);
}

.inventory-input:focus[b-lpc4exdg6w],
.inventory-page[b-lpc4exdg6w]  .inventory-input:focus,
.inventory-page[b-lpc4exdg6w]  .form-control.inventory-input:focus,
.inventory-page[b-lpc4exdg6w]  .form-select.inventory-input:focus,
.inventory-page[b-lpc4exdg6w]  .price-input-shell input.inventory-input:focus {
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 1px var(--posh-admin-primary);
    outline: none;
}

.inventory-page[b-lpc4exdg6w]  .inventory-input::placeholder {
    color: color-mix(in oklab, var(--posh-admin-on-surface-variant) 70%, transparent);
}

.inventory-label[b-lpc4exdg6w] {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    letter-spacing: var(--posh-admin-text-label-md-tracking);
}

.inventory-sub[b-lpc4exdg6w] {
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    letter-spacing: var(--posh-admin-text-label-md-tracking);
}

.inventory-modal-panel[b-lpc4exdg6w] {
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
    color: var(--posh-admin-on-surface);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
}

.inventory-panel-soft[b-lpc4exdg6w] {
    border: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 70%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--posh-admin-surface-container-high) 72%, transparent);
}

/* Nested hierarchy: product > color > size */
.inventory-page .inv-card[b-lpc4exdg6w] {
    background: var(--posh-admin-surface-container-low);
    border-color: color-mix(in oklab, var(--posh-admin-outline-variant) 70%, transparent);
}

.inventory-page .inv-color-section[b-lpc4exdg6w] {
    background: color-mix(in oklab, var(--posh-admin-surface-container) 88%, transparent);
    border-color: color-mix(in oklab, var(--posh-admin-outline-variant) 70%, transparent);
}

.inventory-page .inv-variant-card[b-lpc4exdg6w] {
    background: color-mix(in oklab, var(--posh-admin-surface-container-high) 82%, transparent);
    border-color: color-mix(in oklab, var(--posh-admin-outline-variant) 65%, transparent);
}

.inv-product-modal .inv-variant-grid[b-lpc4exdg6w] {
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

.inventory-page[b-lpc4exdg6w]  .price-input-shell {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    width: 100%;
}

.inventory-page[b-lpc4exdg6w]  .price-input-suffix {
    color: var(--posh-admin-on-surface-variant);
}

.inv-product-modal .inv-manual-size-add[b-lpc4exdg6w] {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: 0.6rem;
    padding: 0.55rem 0.65rem;
}

.inv-product-modal .inv-manual-size-select[b-lpc4exdg6w] {
    max-width: 140px;
}

.inv-product-modal .inv-manual-size-btn[b-lpc4exdg6w] {
    min-width: 2.25rem;
    min-height: 2.25rem;
    padding: 0.1rem 0.5rem;
    line-height: 1;
    font-size: 1.1rem;
}

.inv-category-tabs[b-lpc4exdg6w] {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
    padding-bottom: 4px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.inv-category-tab[b-lpc4exdg6w] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border: 1px solid color-mix(in oklab, currentColor 20%, transparent);
    border-radius: 999px;
    background: none;
    color: inherit;
    font: inherit;
    font-size: 0.9rem;
    cursor: pointer;
    white-space: nowrap;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.inv-category-tab:hover[b-lpc4exdg6w] {
    background: color-mix(in oklab, currentColor 8%, transparent);
}

.inv-category-tab.is-active[b-lpc4exdg6w] {
    background: color-mix(in oklab, currentColor 16%, transparent);
    border-color: currentColor;
    font-weight: 600;
}

.inv-category-tab:focus-visible[b-lpc4exdg6w] {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.inv-category-tab-count[b-lpc4exdg6w] {
    min-width: 1.5em;
    padding: 0 6px;
    border-radius: 999px;
    background: color-mix(in oklab, currentColor 12%, transparent);
    font-size: 0.75rem;
    text-align: center;
}

.inv-category-tab-draft[b-lpc4exdg6w] {
    font-size: 0.7rem;
    opacity: 0.7;
}
/* /Components/Pages/Admin/Login.razor.rz.scp.css */
.admin-login-page[b-dduhjn5vbh] {
    width: min(100%, 24rem);
}

.admin-login-brand[b-dduhjn5vbh] {
    margin: 0 0 1.75rem;
    color: var(--posh-storefront-ink);
    font-family: 'Hanken Grotesk', 'Vazirmatn', system-ui, sans-serif;
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: 0.34em;
    text-align: center;
    direction: ltr;
}

.admin-login-card[b-dduhjn5vbh] {
    padding: clamp(1.5rem, 5vw, 2.25rem);
    background: var(--posh-storefront-container);
    border: 1px solid var(--posh-storefront-outline);
    border-radius: 1rem;
}

.admin-login-title[b-dduhjn5vbh] {
    margin: 0 0 1.5rem;
    color: var(--posh-storefront-ink);
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3;
}

.admin-login-field[b-dduhjn5vbh] {
    display: grid;
    gap: 0.45rem;
    margin-block-end: 1rem;
}

.admin-login-label[b-dduhjn5vbh] {
    color: var(--posh-storefront-ink);
    font-size: 0.85rem;
    font-weight: 600;
}

.admin-login-input[b-dduhjn5vbh] {
    width: 100%;
    min-height: 2.75rem;
    padding: 0.65rem 0.75rem;
    color: var(--posh-storefront-ink);
    background: var(--posh-storefront-canvas);
    border: 1px solid var(--posh-storefront-outline);
    border-radius: 0.65rem;
    font: inherit;
    direction: ltr;
    text-align: left;
}

.admin-login-input:focus[b-dduhjn5vbh] {
    outline: 2px solid var(--posh-storefront-ink);
    outline-offset: 2px;
}

.admin-login-submit[b-dduhjn5vbh] {
    width: 100%;
    min-height: 2.75rem;
    margin-block-start: 0.5rem;
    color: #fff;
    background: var(--posh-storefront-ink);
    border: 1px solid var(--posh-storefront-ink);
    border-radius: 0.65rem;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.admin-login-submit:hover[b-dduhjn5vbh] {
    background: #3d3d3b;
}

.admin-login-error[b-dduhjn5vbh] {
    margin-block-end: 1rem;
    padding: 0.7rem 0.8rem;
    color: #8a1c1c;
    background: #fff3f1;
    border: 1px solid #e5b8b1;
    border-radius: 0.65rem;
    font-size: 0.85rem;
}
/* /Components/Pages/Admin/Orders.razor.rz.scp.css */
.orders-page[b-mnppj508zv] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    color: var(--posh-admin-on-surface);
}

.dashboard-page-header[b-mnppj508zv] {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--posh-admin-space-md);
    min-height: 5rem;
    margin-inline: calc(-1 * var(--posh-admin-gutter));
    padding-inline: var(--posh-admin-gutter);
    border-bottom: 1px solid var(--posh-admin-outline-variant);
    background: color-mix(in oklab, var(--posh-admin-surface) 50%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.orders-page-header-text[b-mnppj508zv] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.orders-page-title[b-mnppj508zv] {
    margin: 0;
    color: var(--posh-admin-on-surface);
}

.orders-page-eyebrow[b-mnppj508zv] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.6;
    text-transform: uppercase;
}

.orders-panel[b-mnppj508zv] {
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
    padding: var(--posh-admin-space-md);
}

.orders-state-message[b-mnppj508zv] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
}

.orders-alert[b-mnppj508zv] {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border: 1px solid color-mix(in oklab, var(--posh-admin-error) 45%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--posh-admin-error-container) 35%, transparent);
    color: var(--posh-admin-error);
    font-size: var(--posh-admin-text-body-sm-size);
}

/* Above the table, at its end: «ستون‌ها», where an Admin picks and orders the columns. */
.orders-table-toolbar[b-mnppj508zv] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--posh-admin-space-sm);
}

.orders-list-wrap[b-mnppj508zv] {
    overflow-x: auto;
}

.orders-list-table[b-mnppj508zv] {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    color: var(--posh-admin-on-surface);
}

.orders-table-head[b-mnppj508zv] {
    padding: 0.65rem 0.6rem;
    text-align: right;
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    letter-spacing: var(--posh-admin-text-label-md-tracking);
    color: var(--posh-admin-on-surface-variant);
    border-bottom: 1px solid var(--posh-admin-outline-variant);
    white-space: nowrap;
}

.orders-table-head-status[b-mnppj508zv] {
    min-width: 180px;
}

/* Clicking anywhere on the row opens its detail panel. */
.orders-row[b-mnppj508zv] {
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.orders-row:hover[b-mnppj508zv] {
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 10%, transparent);
}

/* Any order whose payment has not settled. External Sales are always paid, so these are website orders. */
.orders-row-unpaid[b-mnppj508zv] {
    background: color-mix(in oklab, var(--posh-admin-error) 10%, transparent);
}

.orders-row-unpaid:hover[b-mnppj508zv] {
    background: color-mix(in oklab, var(--posh-admin-error) 16%, transparent);
}

/* The page is always RTL, so the inset bar on the first cell sits on the row's leading edge. */
.orders-row-unpaid > .orders-cell:first-child[b-mnppj508zv] {
    box-shadow: inset -3px 0 0 var(--posh-admin-error);
}

.orders-cell[b-mnppj508zv] {
    padding: 0.7rem 0.6rem;
    border-bottom: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    font-size: var(--posh-admin-text-body-sm-size);
    color: var(--posh-admin-on-surface);
    vertical-align: middle;
}

.orders-cell-order strong[b-mnppj508zv] {
    font-weight: 700;
}

.orders-cell-products[b-mnppj508zv] {
    min-width: 10rem;
    max-width: 16rem;
    vertical-align: top;
}

.orders-product-lines[b-mnppj508zv] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.orders-product-line[b-mnppj508zv] {
    font-size: 0.75rem;
    font-weight: var(--posh-admin-text-body-sm-weight);
    line-height: 1.35;
    color: var(--posh-admin-on-surface-variant);
    overflow-wrap: anywhere;
}

.orders-product-empty[b-mnppj508zv] {
    font-size: 0.75rem;
    color: var(--posh-admin-on-surface-variant);
}

.orders-user-id[b-mnppj508zv] {
    display: inline-block;
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
}

.orders-status-cluster[b-mnppj508zv] {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-xs);
    flex-wrap: wrap;
}

.orders-status-select[b-mnppj508zv] {
    max-width: 160px;
    width: 100%;
    padding: 0.3rem 0.5rem;
    font-size: var(--posh-admin-text-body-sm-size);
    background: var(--posh-admin-surface-container-high);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    color: var(--posh-admin-on-surface);
}

.orders-status-select:focus[b-mnppj508zv] {
    outline: none;
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 1px var(--posh-admin-primary);
}

.orders-btn[b-mnppj508zv] {
    appearance: none;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--posh-admin-space-xs);
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    color: var(--posh-admin-on-surface);
    background: transparent;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
    font-family: var(--posh-admin-font);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
}

.orders-btn:disabled[b-mnppj508zv] {
    opacity: 0.45;
    cursor: not-allowed;
}

.orders-btn-ghost[b-mnppj508zv] {
    color: var(--posh-admin-on-surface-variant);
    border-color: var(--posh-admin-outline-variant);
}

.orders-btn-ghost:hover:not(:disabled)[b-mnppj508zv] {
    color: var(--posh-admin-on-surface);
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 22%, transparent);
}

.orders-badge[b-mnppj508zv] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    padding: 0.2rem 0.5rem;
    border-radius: var(--posh-admin-radius-full);
    border: 1px solid var(--posh-admin-outline-variant);
}

.orders-badge-source[b-mnppj508zv],
.orders-badge-shipping[b-mnppj508zv],
.orders-badge-muted[b-mnppj508zv] {
    background: color-mix(in oklab, var(--posh-admin-on-surface-variant) 18%, transparent);
    color: var(--posh-admin-on-surface-variant);
}

/* The table scrolls sideways, so the longer method label widens its pill instead of wrapping. */
.orders-badge-shipping[b-mnppj508zv] {
    white-space: nowrap;
}

/* The total and, when the Order carries one, its Discount Code beside it. */
.orders-total-cluster[b-mnppj508zv] {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-xs);
    flex-wrap: wrap;
}

/* A code is one Latin word, so it keeps to one line like the method label. */
.orders-badge-discount[b-mnppj508zv] {
    background: color-mix(in oklab, var(--posh-admin-warning) 14%, transparent);
    color: var(--posh-admin-warning);
    border-color: color-mix(in oklab, var(--posh-admin-warning-outline) 36%, var(--posh-admin-outline-variant));
    white-space: nowrap;
}

.orders-badge-pending[b-mnppj508zv] {
    background: color-mix(in oklab, var(--posh-admin-secondary) 22%, transparent);
    color: var(--posh-admin-on-surface);
    border-color: color-mix(in oklab, var(--posh-admin-secondary) 42%, var(--posh-admin-outline-variant));
}

.orders-badge-processing[b-mnppj508zv] {
    background: color-mix(in oklab, var(--posh-admin-primary) 16%, transparent);
    color: var(--posh-admin-primary);
    border-color: color-mix(in oklab, var(--posh-admin-primary) 38%, var(--posh-admin-outline-variant));
}

.orders-badge-shipped[b-mnppj508zv] {
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 18%, transparent);
    color: var(--posh-admin-primary-fixed-dim);
    border-color: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 42%, var(--posh-admin-outline-variant));
}

.orders-badge-delivered[b-mnppj508zv] {
    background: color-mix(in oklab, var(--posh-admin-success-outline) 18%, transparent);
    color: var(--posh-admin-success);
    border-color: color-mix(in oklab, var(--posh-admin-success-outline) 36%, var(--posh-admin-outline-variant));
}

.orders-badge-unpaid[b-mnppj508zv] {
    background: color-mix(in oklab, var(--posh-admin-error) 20%, transparent);
    color: var(--posh-admin-error);
    border-color: color-mix(in oklab, var(--posh-admin-error) 38%, var(--posh-admin-outline-variant));
    white-space: nowrap;
}

.orders-badge-cancelled[b-mnppj508zv] {
    background: color-mix(in oklab, var(--posh-admin-error) 20%, transparent);
    color: var(--posh-admin-error);
    border-color: color-mix(in oklab, var(--posh-admin-error) 38%, var(--posh-admin-outline-variant));
}

.orders-expanded-row > td[b-mnppj508zv] {
    padding: 0;
    border-bottom: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 6%, var(--posh-admin-surface-container));
}

.orders-expanded-cell[b-mnppj508zv] {
    width: 100%;
}

.orders-detail-panel[b-mnppj508zv] {
    padding: var(--posh-admin-space-sm);
    border-top: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 45%, transparent);
}

.orders-detail-row[b-mnppj508zv] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    margin-bottom: 0.55rem;
    font-size: var(--posh-admin-text-body-sm-size);
}

/* A note may run long and hold line breaks the customer typed. */
.orders-detail-note[b-mnppj508zv] {
    flex: 1 1 16rem;
    min-inline-size: 0;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.orders-detail-muted[b-mnppj508zv] {
    font-size: var(--posh-admin-text-body-sm-size);
    color: var(--posh-admin-on-surface-variant);
}

.orders-items-wrap[b-mnppj508zv] {
    overflow-x: auto;
    margin-top: var(--posh-admin-space-xs);
}

.orders-items-table[b-mnppj508zv] {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    background: var(--posh-admin-surface-container-low);
    border: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    border-radius: var(--posh-admin-radius-md);
    overflow: hidden;
}

.orders-item-row:hover[b-mnppj508zv] {
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 8%, transparent);
}

.orders-item-cell[b-mnppj508zv] {
    padding: 0.55rem 0.6rem;
    border-bottom: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 45%, transparent);
    font-size: var(--posh-admin-text-body-sm-size);
}

.orders-items-table tbody tr:last-child .orders-item-cell[b-mnppj508zv] {
    border-bottom: 0;
}

.orders-reprint-btn[b-mnppj508zv] {
    margin-top: var(--posh-admin-space-sm);
}

.orders-pagination[b-mnppj508zv] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--posh-admin-space-sm);
    margin-top: var(--posh-admin-space-md);
    padding-top: var(--posh-admin-space-sm);
    border-top: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
}

.orders-pagination-label[b-mnppj508zv] {
    min-width: 7.5rem;
    text-align: center;
    font-size: var(--posh-admin-text-body-sm-size);
    color: var(--posh-admin-on-surface-variant);
}

.orders-filter-container[b-mnppj508zv] {
    padding: var(--posh-admin-space-md);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
}

.orders-filter-grid[b-mnppj508zv] {
    display: grid;
    grid-template-columns: minmax(300px, 1fr) minmax(140px, 160px) minmax(140px, 160px) max-content;
    align-items: end;
    gap: var(--posh-admin-space-md);
    direction: rtl;
}

.orders-filter-field[b-mnppj508zv] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.orders-filter-label[b-mnppj508zv] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    line-height: 1.2;
}

.orders-filter-input[b-mnppj508zv] {
    width: 100%;
    min-width: 0;
    height: 44px;
    padding: 0.45rem 0.75rem;
    font-size: var(--posh-admin-text-body-sm-size);
    background: var(--posh-admin-surface-container-high);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    color: var(--posh-admin-on-surface);
    font-family: var(--posh-admin-font);
}

.orders-search-row[b-mnppj508zv] {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-sm);
    min-width: 0;
}

.orders-search-input[b-mnppj508zv] {
    flex: 1 1 auto;
    min-width: 0;
}

.orders-search-submit[b-mnppj508zv] {
    flex: 0 0 auto;
}

.orders-filter-input:focus[b-mnppj508zv] {
    outline: none;
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 1px var(--posh-admin-primary);
}

.orders-filter-actions[b-mnppj508zv] {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-sm);
    justify-content: flex-start;
    flex-wrap: nowrap;
    min-width: 0;
    direction: rtl;
}

.orders-filter-actions .orders-btn[b-mnppj508zv],
.orders-search-submit[b-mnppj508zv] {
    height: 44px;
    white-space: nowrap;
}

.orders-filter-chips[b-mnppj508zv] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-sm) var(--posh-admin-space-lg);
    margin-top: var(--posh-admin-space-md);
    padding-top: var(--posh-admin-space-md);
    border-top: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
}

.orders-chip-group[b-mnppj508zv] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}

.orders-chip-row[b-mnppj508zv] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-xs);
}

.orders-chip[b-mnppj508zv] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 0.3rem 0.85rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-full);
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    font-family: var(--posh-admin-font);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    white-space: nowrap;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.orders-chip:hover:not(:disabled):not(.is-active)[b-mnppj508zv] {
    color: var(--posh-admin-on-surface);
    background: color-mix(in oklab, var(--posh-admin-surface-variant) 22%, transparent);
}

.orders-chip:focus-visible[b-mnppj508zv] {
    outline: 2px solid var(--posh-admin-primary);
    outline-offset: 2px;
}

.orders-chip.is-active[b-mnppj508zv] {
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
    border-color: transparent;
}

/* Chips stay legible while a page loads so the row does not flicker on every tap. */
.orders-chip:disabled[b-mnppj508zv] {
    cursor: progress;
}

.orders-btn-primary[b-mnppj508zv] {
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
    border-color: transparent;
}

.orders-btn-primary:hover:not(:disabled)[b-mnppj508zv] {
    background: color-mix(in oklab, var(--posh-admin-primary) 85%, var(--posh-admin-on-surface));
}

.orders-btn-primary .spinner-border[b-mnppj508zv] {
    width: 1rem;
    height: 1rem;
    margin-inline-end: 0.35rem;
}

@media (max-width: 768px) {
    .orders-page[b-mnppj508zv] {
        gap: var(--posh-admin-space-sm);
    }

    .dashboard-page-header[b-mnppj508zv] {
        min-height: auto;
        padding-block: var(--posh-admin-space-sm);
    }

    .orders-panel[b-mnppj508zv] {
        padding: var(--posh-admin-space-sm);
        border-radius: var(--posh-admin-radius-lg);
    }

    .orders-list-wrap[b-mnppj508zv] {
        overflow-x: visible;
    }

    .orders-list-table[b-mnppj508zv] {
        display: block;
        width: 100%;
    }

    .orders-list-table thead[b-mnppj508zv] {
        display: none;
    }

    .orders-list-table tbody[b-mnppj508zv] {
        display: block;
    }

    .orders-list-table tbody tr:not(.orders-expanded-row)[b-mnppj508zv] {
        display: block;
        margin-block: 0.85rem;
        padding: 0.85rem 1rem;
        border: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
        border-radius: var(--posh-admin-radius-lg);
        background: linear-gradient(
            145deg,
            color-mix(in oklab, var(--posh-admin-surface-container-low) 88%, transparent),
            color-mix(in oklab, var(--posh-admin-surface-container) 92%, transparent)
        );
        box-shadow: 0 12px 28px -22px rgba(0, 0, 0, 0.35);
    }

    .orders-list-table tbody tr.orders-row-unpaid[b-mnppj508zv] {
        border-color: color-mix(in oklab, var(--posh-admin-error) 45%, transparent);
        border-inline-start: 4px solid var(--posh-admin-error);
        background: color-mix(in oklab, var(--posh-admin-error) 10%, var(--posh-admin-surface-container));
    }

    .orders-list-table tbody tr:not(.orders-expanded-row) > td[b-mnppj508zv] {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: 0.5rem 0.75rem;
        width: 100%;
        padding: 0.45rem 0;
        border: 0;
        text-align: start;
    }

    .orders-list-table tbody tr:not(.orders-expanded-row) > td[b-mnppj508zv]::before {
        content: attr(data-label) ":";
        flex-shrink: 0;
        font-size: var(--posh-admin-text-label-md-size);
        font-weight: 600;
        color: var(--posh-admin-on-surface-variant);
    }

    .orders-list-table tbody tr:not(.orders-expanded-row) > td.orders-cell-order[b-mnppj508zv],
    .orders-list-table tbody tr:not(.orders-expanded-row) > td.orders-cell-user-id[b-mnppj508zv] {
        display: none;
    }

    .orders-list-table tbody tr:not(.orders-expanded-row) + tr.orders-expanded-row[b-mnppj508zv] {
        display: block;
        margin-top: -0.65rem;
        margin-bottom: 0.85rem;
        border: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
        border-top: 0;
        border-radius: 0 0 var(--posh-admin-radius-lg) var(--posh-admin-radius-lg);
        background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 6%, var(--posh-admin-surface-container));
    }

    .orders-list-table tbody tr.orders-expanded-row > td.orders-expanded-cell[b-mnppj508zv] {
        display: block;
        width: 100%;
        padding: 0.75rem 1rem 1rem;
        border: 0;
    }

    .orders-list-table tbody tr.orders-expanded-row > td.orders-expanded-cell[b-mnppj508zv]::before {
        content: none;
    }

    .orders-status-cluster[b-mnppj508zv] {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
    }

    /* The total keeps its place at the row's far edge; the code badge spans the row like every other badge. */
    .orders-total-cluster[b-mnppj508zv] {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        text-align: end;
    }

    .orders-badge[b-mnppj508zv] {
        width: 100%;
        text-align: center;
    }

    .orders-status-select[b-mnppj508zv] {
        max-width: none;
    }

    .orders-cell-actions .orders-detail-toggle[b-mnppj508zv] {
        width: 100%;
    }

    .orders-items-wrap[b-mnppj508zv] {
        overflow-x: visible;
    }

    .orders-items-table thead[b-mnppj508zv] {
        display: none;
    }

    .orders-items-table tbody[b-mnppj508zv] {
        display: block;
    }

    .orders-items-table tbody tr[b-mnppj508zv] {
        display: block;
        margin-top: 0.55rem;
        padding: 0.65rem 0.75rem;
        border: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
        border-radius: var(--posh-admin-radius-md);
        background: color-mix(in oklab, var(--posh-admin-surface-container-low) 78%, transparent);
    }

    .orders-items-table tbody tr > td.orders-item-cell[b-mnppj508zv] {
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        gap: 0.5rem 0.75rem;
        width: 100%;
        padding: 0.3rem 0;
        border: 0;
        text-align: start;
    }

    .orders-items-table tbody tr > td.orders-item-cell[b-mnppj508zv]::before {
        content: attr(data-label) ":";
        flex-shrink: 0;
        font-size: var(--posh-admin-text-label-md-size);
        font-weight: 600;
        color: var(--posh-admin-on-surface-variant);
    }

    .orders-pagination[b-mnppj508zv] {
        justify-content: center;
        flex-wrap: wrap;
    }
}

@media (max-width: 900px) {
    .orders-filter-grid[b-mnppj508zv] {
        grid-template-columns: minmax(260px, 1fr) minmax(140px, 0.5fr) minmax(140px, 0.5fr);
    }

    .orders-filter-actions[b-mnppj508zv] {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

@media (max-width: 640px) {
    .orders-filter-grid[b-mnppj508zv] {
        grid-template-columns: 1fr;
    }

    .orders-filter-actions[b-mnppj508zv] {
        align-items: stretch;
        flex-direction: column;
    }

    .orders-search-row[b-mnppj508zv] {
        align-items: stretch;
        flex-direction: column;
    }

    .orders-search-submit[b-mnppj508zv] {
        width: 100%;
    }

    .orders-filter-actions .orders-btn[b-mnppj508zv] {
        width: 100%;
        justify-content: center;
    }
}
/* /Components/Pages/Admin/OutOfStock.razor.rz.scp.css */
.outofstock-page[b-h8l18n50cm] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    color: var(--posh-admin-on-surface);
}

.dashboard-page-header[b-h8l18n50cm] {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--posh-admin-space-md);
    min-height: 5rem;
    margin-inline: calc(-1 * var(--posh-admin-gutter));
    padding-inline: var(--posh-admin-gutter);
    border-bottom: 1px solid var(--posh-admin-outline-variant);
    background: color-mix(in oklab, var(--posh-admin-surface) 50%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.outofstock-page-header-text[b-h8l18n50cm] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.outofstock-page-title[b-h8l18n50cm] {
    margin: 0;
    color: var(--posh-admin-on-surface);
}

.outofstock-page-subtitle[b-h8l18n50cm] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.7;
}

.outofstock-panel[b-h8l18n50cm] {
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
    padding: var(--posh-admin-space-md);
}

.outofstock-alert[b-h8l18n50cm] {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border: 1px solid color-mix(in oklab, var(--posh-admin-error) 45%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--posh-admin-error-container) 35%, transparent);
    color: var(--posh-admin-error);
    font-size: var(--posh-admin-text-body-sm-size);
}

.outofstock-alert-success[b-h8l18n50cm] {
    border-color: color-mix(in oklab, var(--posh-admin-success-outline) 40%, transparent);
    background: color-mix(in oklab, var(--posh-admin-success-container) 18%, transparent);
    color: var(--posh-admin-success);
}

.outofstock-table[b-h8l18n50cm] {
    display: grid;
    gap: var(--posh-admin-space-sm);
}

.oos-product-card[b-h8l18n50cm] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-sm);
}

.oos-product-header[b-h8l18n50cm] {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.oos-product-thumb[b-h8l18n50cm] {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: var(--posh-admin-radius-lg);
    object-fit: cover;
    border: 1px solid var(--posh-admin-outline-variant);
    background: var(--posh-admin-surface-container-high);
}

.oos-product-thumb-placeholder[b-h8l18n50cm] {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: var(--posh-admin-radius-lg);
    border: 1px dashed var(--posh-admin-outline-variant);
    display: grid;
    place-items: center;
    color: var(--posh-admin-on-surface-variant);
    background: color-mix(in oklab, var(--posh-admin-surface-container-high) 70%, transparent);
}

.outofstock-section-title[b-h8l18n50cm] {
    margin: 0;
    color: var(--posh-admin-on-surface);
    font-size: var(--posh-admin-text-body-md-size);
    line-height: var(--posh-admin-text-body-md-line);
    font-weight: 600;
}

.outofstock-muted[b-h8l18n50cm] {
    color: var(--posh-admin-on-surface-variant);
}

.oos-variant-list[b-h8l18n50cm] {
    display: grid;
    gap: 0.65rem;
}

.oos-variant-row[b-h8l18n50cm] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 7.5rem;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid color-mix(in oklab, var(--posh-admin-error) 30%, var(--posh-admin-outline-variant));
    border-radius: var(--posh-admin-radius-lg);
    background: color-mix(in oklab, var(--posh-admin-error-container) 28%, var(--posh-admin-surface-container));
}

.oos-variant-meta[b-h8l18n50cm] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.oos-variant-label[b-h8l18n50cm] {
    font-size: var(--posh-admin-text-body-sm-size);
    font-weight: 600;
}

.oos-variant-stock[b-h8l18n50cm] {
    font-size: var(--posh-admin-text-label-md-size);
    color: var(--posh-admin-on-surface-variant);
}

.outofstock-input[b-h8l18n50cm] {
    background: var(--posh-admin-surface-container-high);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    color: var(--posh-admin-on-surface);
    font-size: var(--posh-admin-text-body-sm-size);
}

.outofstock-input:focus[b-h8l18n50cm] {
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 1px var(--posh-admin-primary);
    outline: none;
}

.oos-qty-input[b-h8l18n50cm] {
    text-align: center;
    min-height: 2.35rem;
    font-variant-numeric: tabular-nums;
}

.oos-actions[b-h8l18n50cm] {
    display: flex;
    justify-content: flex-end;
}

.outofstock-btn[b-h8l18n50cm] {
    appearance: none;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--posh-admin-space-xs);
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    color: var(--posh-admin-on-surface);
    background: transparent;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
    font-family: var(--posh-admin-font);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    letter-spacing: var(--posh-admin-text-label-md-tracking);
}

.outofstock-btn:disabled[b-h8l18n50cm] {
    opacity: 0.55;
    cursor: not-allowed;
}

.outofstock-btn-primary[b-h8l18n50cm] {
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
    border-color: color-mix(in oklab, var(--posh-admin-primary) 75%, var(--posh-admin-outline-variant));
}

.outofstock-btn-primary:hover:not(:disabled)[b-h8l18n50cm] {
    transform: scale(0.97);
}

.oos-empty-state[b-h8l18n50cm] {
    text-align: center;
}

@media (max-width: 768px) {
    .dashboard-page-header[b-h8l18n50cm] {
        min-height: auto;
        padding-block: var(--posh-admin-space-sm);
    }

    .outofstock-panel[b-h8l18n50cm] {
        border-radius: var(--posh-admin-radius-lg);
    }
}

@media (max-width: 640px) {
    .oos-variant-row[b-h8l18n50cm] {
        grid-template-columns: 1fr;
    }

    .oos-qty-input[b-h8l18n50cm] {
        width: 100%;
    }
}
/* /Components/Pages/Admin/ProductOrder.razor.rz.scp.css */
.product-order-page[b-mr1f7pmrhv] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    color: var(--posh-admin-on-surface);
}

.product-order-page-title[b-mr1f7pmrhv],
.product-order-page-subtitle[b-mr1f7pmrhv] {
    margin: 0;
}

.product-order-page-subtitle[b-mr1f7pmrhv] {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.65;
}

.product-order-alert[b-mr1f7pmrhv] {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border: 1px solid color-mix(in oklab, var(--posh-admin-error) 45%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--posh-admin-error-container) 35%, transparent);
    color: var(--posh-admin-error);
    font-size: var(--posh-admin-text-body-sm-size);
}

.product-order-panel[b-mr1f7pmrhv] {
    padding: var(--posh-admin-space-md);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
}

.product-order-panel-heading[b-mr1f7pmrhv] {
    margin-bottom: var(--posh-admin-space-sm);
}

.product-order-section-title[b-mr1f7pmrhv] {
    margin: 0 0 var(--posh-admin-space-sm);
    font-size: var(--posh-admin-text-headline-sm-size);
    color: var(--posh-admin-on-surface);
}

.product-order-muted[b-mr1f7pmrhv],
.product-order-state[b-mr1f7pmrhv] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-body-sm-size);
}

.product-order-picks[b-mr1f7pmrhv] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.product-order-pick[b-mr1f7pmrhv] {
    appearance: none;
    min-height: 2.25rem;
    padding: 0.4rem 0.85rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: 999px;
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    font-size: var(--posh-admin-text-label-md-size);
    cursor: pointer;
}

.product-order-pick.is-selected[b-mr1f7pmrhv] {
    border-color: color-mix(in oklab, var(--posh-admin-primary) 60%, var(--posh-admin-outline-variant));
    background: color-mix(in oklab, var(--posh-admin-primary) 16%, transparent);
    color: var(--posh-admin-on-surface);
    font-weight: 600;
}

.product-order-rows[b-mr1f7pmrhv] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-order-row[b-mr1f7pmrhv] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    padding: 0.55rem 0.65rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container-high);
}

.product-order-controls[b-mr1f7pmrhv] {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.product-order-btn[b-mr1f7pmrhv] {
    appearance: none;
    min-width: 2rem;
    min-height: 2rem;
    padding: 0.15rem 0.45rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    line-height: 1;
    cursor: pointer;
}

.product-order-btn:disabled[b-mr1f7pmrhv] {
    opacity: 0.35;
    cursor: default;
}

.product-order-rank[b-mr1f7pmrhv] {
    box-sizing: border-box;
    width: 3.75rem;
    min-height: 2rem;
    padding: 0.3rem 0.35rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container);
    color: var(--posh-admin-on-surface);
    text-align: center;
    font-size: var(--posh-admin-text-body-sm-size);
}

.product-order-thumb[b-mr1f7pmrhv] {
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    border-radius: var(--posh-admin-radius-md);
    object-fit: cover;
    border: 1px solid var(--posh-admin-outline-variant);
}

.product-order-thumb-empty[b-mr1f7pmrhv] {
    display: grid;
    place-items: center;
    color: var(--posh-admin-on-surface-variant);
}

.product-order-name[b-mr1f7pmrhv] {
    flex: 1 1 8rem;
    font-weight: 600;
}

.product-order-badge[b-mr1f7pmrhv] {
    flex: 0 0 auto;
    padding: 0.16rem 0.45rem;
    border-radius: 999px;
    background: color-mix(in oklab, var(--posh-admin-error) 14%, transparent);
    color: var(--posh-admin-error);
    font-size: 0.72rem;
    font-weight: 600;
}
/* /Components/Pages/Admin/SiteAnnouncementEditor.razor.rz.scp.css */
/* Site Announcement editor — scoped styles. Design tokens are the admin panel's own CSS variables;
   the preview borrows the storefront's ink and canvas so it looks the way visitors see the bar. */

.announcement-page[b-xzrjyef6my] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    color: var(--posh-admin-on-surface);
}

.announcement-header[b-xzrjyef6my] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-sm);
}

.announcement-header-text[b-xzrjyef6my] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    max-width: 40rem;
}

.announcement-title[b-xzrjyef6my],
.announcement-subtitle[b-xzrjyef6my] {
    margin: 0;
}

.announcement-title[b-xzrjyef6my] {
    color: var(--posh-admin-on-surface);
}

.announcement-subtitle[b-xzrjyef6my],
.announcement-help[b-xzrjyef6my],
.announcement-section-heading p[b-xzrjyef6my] {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.72;
    line-height: 1.7;
}

/* ── Status chip ──────────────────────────────────────────────────── */

.announcement-status[b-xzrjyef6my] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.35rem 0.8rem;
    border-radius: var(--posh-admin-radius-full, 999px);
    font-size: 0.8rem;
    font-weight: 500;
    white-space: nowrap;
}

.announcement-status-on[b-xzrjyef6my] {
    background: color-mix(in srgb, var(--posh-admin-success, #2e7d32) 14%, transparent);
    color: var(--posh-admin-success, #2e7d32);
}

.announcement-status-off[b-xzrjyef6my] {
    background: var(--posh-admin-surface-container-high);
    color: var(--posh-admin-on-surface-variant);
}

/* ── Panel ────────────────────────────────────────────────────────── */

.announcement-panel[b-xzrjyef6my] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    max-width: 54rem;
    padding: var(--posh-admin-space-lg);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
}

.announcement-state[b-xzrjyef6my] {
    color: var(--posh-admin-on-surface-variant);
}

.announcement-section-heading[b-xzrjyef6my] {
    display: flex;
    align-items: flex-start;
    gap: var(--posh-admin-space-sm);
}

.announcement-section-heading > div[b-xzrjyef6my] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.announcement-section-heading h2[b-xzrjyef6my],
.announcement-section-heading p[b-xzrjyef6my] {
    margin: 0;
}

.announcement-section-heading h2[b-xzrjyef6my] {
    font-size: 1.05rem;
    font-weight: 600;
}

.announcement-section-heading p[b-xzrjyef6my] {
    font-size: 0.85rem;
}

.announcement-section-icon[b-xzrjyef6my] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in srgb, var(--posh-admin-primary) 12%, transparent);
    color: var(--posh-admin-primary);
    font-size: 1.1rem;
}

/* ── Fields ───────────────────────────────────────────────────────── */

.announcement-grid[b-xzrjyef6my] {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(12rem, 1fr);
    gap: var(--posh-admin-space-md);
    align-items: start;
}

.announcement-field[b-xzrjyef6my] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
}

.announcement-field-header[b-xzrjyef6my] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--posh-admin-space-sm);
}

.announcement-label[b-xzrjyef6my] {
    color: var(--posh-admin-on-surface);
    font-size: 0.875rem;
    font-weight: 500;
}

.announcement-label-hint[b-xzrjyef6my] {
    font-size: 0.78rem;
    font-weight: 400;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.8;
}

.announcement-count[b-xzrjyef6my] {
    font-size: 0.78rem;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.8;
    font-variant-numeric: tabular-nums;
}

.announcement-count-over[b-xzrjyef6my] {
    color: var(--posh-admin-error);
    opacity: 1;
}

.announcement-input[b-xzrjyef6my] {
    width: 100%;
    min-height: 2.6rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface);
    font: inherit;
    font-size: 0.925rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.announcement-input[b-xzrjyef6my]::placeholder {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.5;
}

.announcement-input:focus[b-xzrjyef6my] {
    outline: none;
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--posh-admin-primary) 12%, transparent);
}

.announcement-textarea[b-xzrjyef6my] {
    min-height: 5.5rem;
    line-height: 1.8;
    resize: vertical;
}

.announcement-help[b-xzrjyef6my] {
    font-size: 0.78rem;
}

.announcement-help code[b-xzrjyef6my] {
    direction: ltr;
    unicode-bidi: isolate;
    font-size: 0.78rem;
    color: var(--posh-admin-primary);
}

/* ── Toggle ───────────────────────────────────────────────────────── */

.announcement-switch-row[b-xzrjyef6my] {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-sm);
    cursor: pointer;
}

.announcement-switch-row > span[b-xzrjyef6my] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.announcement-switch-row strong[b-xzrjyef6my] {
    font-size: 0.9rem;
    font-weight: 500;
}

.announcement-switch-row small[b-xzrjyef6my] {
    font-size: 0.78rem;
    line-height: 1.5;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.72;
}

.announcement-switch[b-xzrjyef6my] {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    flex: 0 0 auto;
    width: 2.5rem;
    height: 1.4rem;
    margin: 0;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-full, 999px);
    background: var(--posh-admin-surface-container-highest);
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.announcement-switch[b-xzrjyef6my]::before {
    content: "";
    position: absolute;
    top: 0.15rem;
    inset-inline-start: 0.15rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: var(--posh-admin-on-surface-variant);
    transition: transform 0.2s ease, background 0.2s ease;
}

.announcement-switch:checked[b-xzrjyef6my] {
    border-color: var(--posh-admin-primary);
    background: var(--posh-admin-primary);
}

.announcement-switch:checked[b-xzrjyef6my]::before {
    background: var(--posh-admin-on-primary);
    transform: translateX(-1.1rem);
}

.announcement-switch:focus-visible[b-xzrjyef6my] {
    outline: none;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--posh-admin-primary) 25%, transparent);
}

.announcement-divider[b-xzrjyef6my] {
    height: 1px;
    background: var(--posh-admin-outline-variant);
    opacity: 0.6;
}

/* ── Preview ──────────────────────────────────────────────────────── */

.announcement-preview-block[b-xzrjyef6my] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
}

.announcement-preview-label[b-xzrjyef6my] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--posh-admin-primary);
}

/* A slice of the storefront: canvas background, the ink bar on top, a hint of the navbar below. */
.announcement-preview[b-xzrjyef6my] {
    overflow: hidden;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-storefront-canvas, #f9f9f7);
    transition: opacity 0.2s ease;
}

.announcement-preview-off[b-xzrjyef6my] {
    opacity: 0.45;
}

.announcement-preview-empty[b-xzrjyef6my] {
    padding: 1rem;
    text-align: center;
    font-size: 0.82rem;
    color: var(--posh-storefront-ink, #1a1a1a);
    opacity: 0.55;
}

.announcement-preview-bar[b-xzrjyef6my] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    background: var(--posh-storefront-ink, #1a1a1a);
    color: var(--posh-storefront-canvas, #f9f9f7);
    font-size: 0.875rem;
    line-height: 1.6;
}

.announcement-preview-text[b-xzrjyef6my] {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    text-align: center;
    overflow-wrap: break-word;
    text-wrap: balance;
}

.announcement-preview-link[b-xzrjyef6my] {
    display: inline-block;
    margin-inline-start: 0.5rem;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    overflow-wrap: anywhere;
}

.announcement-preview-close[b-xzrjyef6my] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    font-size: 0.8rem;
    opacity: 0.85;
}

.announcement-preview-navbar[b-xzrjyef6my] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    padding: 0.7rem 1rem;
    border-top: 1px solid color-mix(in srgb, var(--posh-storefront-ink, #1a1a1a) 10%, transparent);
}

.announcement-preview-navbar span[b-xzrjyef6my] {
    width: 3rem;
    height: 0.45rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--posh-storefront-ink, #1a1a1a) 14%, transparent);
}

/* ── Note, alerts and actions ─────────────────────────────────────── */

.announcement-note[b-xzrjyef6my] {
    margin: 0;
    padding: 0.5rem 0.75rem;
    border-inline-start: 3px solid var(--posh-admin-outline-variant);
    border-radius: 0 var(--posh-admin-radius-sm) var(--posh-admin-radius-sm) 0;
    font-size: 0.8rem;
    line-height: 1.7;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.8;
}

.announcement-alert[b-xzrjyef6my] {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-xs);
    max-width: 54rem;
    padding: 0.7rem 1rem;
    border-radius: var(--posh-admin-radius-md);
    font-size: 0.9rem;
}

.announcement-alert-error[b-xzrjyef6my] {
    border: 1px solid color-mix(in srgb, var(--posh-admin-error) 30%, transparent);
    background: color-mix(in srgb, var(--posh-admin-error) 10%, transparent);
    color: var(--posh-admin-error);
}

.announcement-actions[b-xzrjyef6my] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-sm);
}

.announcement-save[b-xzrjyef6my],
.announcement-show-again[b-xzrjyef6my] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.6rem;
    padding: 0.55rem 1.25rem;
    border-radius: var(--posh-admin-radius-md);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: opacity 0.15s ease, filter 0.15s ease, border-color 0.15s ease;
}

.announcement-save[b-xzrjyef6my] {
    border: none;
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
}

.announcement-save:hover:not(:disabled)[b-xzrjyef6my] {
    filter: brightness(1.08);
}

.announcement-show-again[b-xzrjyef6my] {
    border: 1px solid var(--posh-admin-outline-variant);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface);
}

.announcement-show-again:hover:not(:disabled)[b-xzrjyef6my] {
    border-color: var(--posh-admin-primary);
}

.announcement-save:disabled[b-xzrjyef6my],
.announcement-show-again:disabled[b-xzrjyef6my] {
    opacity: 0.55;
    cursor: not-allowed;
}

@media (max-width: 700px) {
    .announcement-panel[b-xzrjyef6my] {
        padding: var(--posh-admin-space-md);
    }

    .announcement-grid[b-xzrjyef6my] {
        grid-template-columns: 1fr;
    }

    .announcement-save[b-xzrjyef6my],
    .announcement-show-again[b-xzrjyef6my] {
        width: 100%;
    }
}
/* /Components/Pages/Admin/SlideshowManager.razor.rz.scp.css */
.slideshow-page[b-jhc5wcnvzr] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    color: var(--posh-admin-on-surface);
}

.dashboard-page-header[b-jhc5wcnvzr] {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--posh-admin-space-md);
    min-height: 5rem;
    margin-inline: calc(-1 * var(--posh-admin-gutter));
    padding-inline: var(--posh-admin-gutter);
    border-bottom: 1px solid var(--posh-admin-outline-variant);
    background: color-mix(in oklab, var(--posh-admin-surface) 50%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.slideshow-page-header-text[b-jhc5wcnvzr] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.slideshow-page-title[b-jhc5wcnvzr] {
    margin: 0;
    color: var(--posh-admin-on-surface);
}

.slideshow-page-subtitle[b-jhc5wcnvzr] {
    margin: 0;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.7;
}

.slideshow-alert[b-jhc5wcnvzr] {
    margin: 0;
    padding: 0.65rem 0.85rem;
    border: 1px solid color-mix(in oklab, var(--posh-admin-error) 45%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in oklab, var(--posh-admin-error-container) 35%, transparent);
    color: var(--posh-admin-error);
    font-size: var(--posh-admin-text-body-sm-size);
}

.slideshow-alert-success[b-jhc5wcnvzr] {
    border-color: color-mix(in oklab, var(--posh-admin-success-outline) 40%, transparent);
    background: color-mix(in oklab, var(--posh-admin-success-container) 18%, transparent);
    color: var(--posh-admin-success);
}

.slideshow-modal-panel[b-jhc5wcnvzr] {
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
    padding: var(--posh-admin-space-md);
}

.slideshow-section-title[b-jhc5wcnvzr] {
    margin: 0 0 0.4rem;
    color: var(--posh-admin-on-surface);
    font-size: var(--posh-admin-text-body-md-size);
    line-height: var(--posh-admin-text-body-md-line);
    font-weight: 600;
}

.slideshow-muted[b-jhc5wcnvzr] {
    color: var(--posh-admin-on-surface-variant);
}

.sm-upload-panel[b-jhc5wcnvzr] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-sm);
}

.sm-hint[b-jhc5wcnvzr] {
    margin: 0;
    font-size: var(--posh-admin-text-body-sm-size);
    line-height: 1.65;
}

.sm-upload-zone[b-jhc5wcnvzr] {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 9.5rem;
    padding: 1.35rem 1rem;
    border-radius: var(--posh-admin-radius-lg);
    border: 1px dashed color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 36%, var(--posh-admin-outline-variant));
    background: color-mix(in oklab, var(--posh-admin-surface-container-low) 80%, transparent);
    transition: border-color 0.22s ease, background-color 0.22s ease, transform 0.22s ease;
    overflow: hidden;
}

.sm-upload-zone:not(.sm-upload-zone--busy):hover[b-jhc5wcnvzr] {
    border-color: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 62%, var(--posh-admin-outline-variant));
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 16%, var(--posh-admin-surface-container-low));
    transform: translateY(-1px);
}

.sm-upload-zone--busy[b-jhc5wcnvzr] {
    pointer-events: none;
    opacity: 0.78;
}

.sm-file-input[b-jhc5wcnvzr] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.slideshow-input[b-jhc5wcnvzr] {
    border-radius: var(--posh-admin-radius-lg);
}

.sm-upload-icon[b-jhc5wcnvzr] {
    font-size: 1.65rem;
    color: var(--posh-admin-primary-fixed-dim);
}

.sm-upload-label[b-jhc5wcnvzr] {
    font-weight: 650;
    margin: 0;
}

.sm-upload-sub[b-jhc5wcnvzr] {
    font-size: var(--posh-admin-text-label-md-size);
}

.sm-gallery[b-jhc5wcnvzr] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
    gap: var(--posh-admin-space-sm);
}

.slideshow-card[b-jhc5wcnvzr] {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding: 0.55rem;
    border-radius: var(--posh-admin-radius-lg);
    border: 1px solid var(--posh-admin-outline-variant);
    background: var(--posh-admin-surface-container-high);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.slideshow-card:hover[b-jhc5wcnvzr] {
    transform: translateY(-2px);
    border-color: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 35%, var(--posh-admin-outline-variant));
    box-shadow: 0 12px 28px -18px rgba(0, 0, 0, 0.55);
}

.sm-card-thumb[b-jhc5wcnvzr] {
    position: relative;
    aspect-ratio: 16 / 10;
    border-radius: var(--posh-admin-radius-md);
    overflow: hidden;
    background: color-mix(in oklab, var(--posh-admin-surface-container-low) 82%, transparent);
    border: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 75%, transparent);
}

.sm-card-thumb img[b-jhc5wcnvzr] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.sm-order-badge[b-jhc5wcnvzr] {
    position: absolute;
    top: 0.4rem;
    inset-inline-start: 0.4rem;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--posh-admin-on-surface);
    background: color-mix(in oklab, var(--posh-admin-surface-container) 86%, transparent);
    border: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 65%, transparent);
    backdrop-filter: blur(6px);
}

.sm-card-actions[b-jhc5wcnvzr] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.slideshow-btn[b-jhc5wcnvzr] {
    appearance: none;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-lg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--posh-admin-space-xs);
    padding: var(--posh-admin-space-xs) var(--posh-admin-space-sm);
    color: var(--posh-admin-on-surface);
    background: transparent;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
    font-family: var(--posh-admin-font);
    font-size: var(--posh-admin-text-label-md-size);
    font-weight: var(--posh-admin-text-label-md-weight);
    line-height: var(--posh-admin-text-label-md-line);
    letter-spacing: var(--posh-admin-text-label-md-tracking);
}

.slideshow-btn:disabled[b-jhc5wcnvzr] {
    opacity: 0.55;
    cursor: not-allowed;
}

.slideshow-btn-ghost[b-jhc5wcnvzr] {
    border-color: var(--posh-admin-outline-variant);
    color: var(--posh-admin-on-surface-variant);
    background: color-mix(in oklab, var(--posh-admin-surface-container-low) 35%, transparent);
}

.slideshow-btn-ghost:hover:not(:disabled)[b-jhc5wcnvzr] {
    color: var(--posh-admin-on-surface);
    border-color: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 38%, var(--posh-admin-outline-variant));
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 18%, var(--posh-admin-surface-container-low));
}

.slideshow-btn-danger[b-jhc5wcnvzr] {
    border-color: color-mix(in oklab, var(--posh-admin-error) 42%, var(--posh-admin-outline-variant));
    color: var(--posh-admin-error);
    background: color-mix(in oklab, var(--posh-admin-error) 10%, transparent);
}

.slideshow-btn-danger:hover:not(:disabled)[b-jhc5wcnvzr] {
    background: color-mix(in oklab, var(--posh-admin-error) 18%, transparent);
}

.sm-icon-btn[b-jhc5wcnvzr] {
    min-width: 2.25rem;
    padding-inline: 0.55rem;
}

.sm-delete-btn[b-jhc5wcnvzr] {
    margin-inline-start: auto;
}

@media (max-width: 768px) {
    .dashboard-page-header[b-jhc5wcnvzr] {
        min-height: auto;
        padding-block: var(--posh-admin-space-sm);
    }

    .slideshow-modal-panel[b-jhc5wcnvzr] {
        border-radius: var(--posh-admin-radius-lg);
    }
}
/* /Components/Pages/Admin/SmsIrSettings.razor.rz.scp.css */
/* SMS.ir settings — scoped styles. Design tokens are the admin panel's own CSS variables. */

.sms-settings-page[b-pt47q6pfxf] {
    /* `.admin-main`'s own padding (the gutter, narrower on phones; see AdminLayout.razor.css), which the
       sticky header takes back so it spans the whole column and sits flush with the top of the screen. */
    --sms-settings-main-padding: var(--posh-admin-gutter);
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    color: var(--posh-admin-on-surface);
}

/* ── Sticky header: title, save, tabs ─────────────────────────────── */

/* A sticky box stops at the scroll container's padding edge, so the padding is taken back at the top as
   well as at the sides; otherwise the header floats that far below the top with the page showing above it. */
.sms-settings-header[b-pt47q6pfxf] {
    position: sticky;
    top: calc(-1 * var(--sms-settings-main-padding));
    z-index: 10;
    display: flex;
    flex-direction: column;
    margin-top: calc(-1 * var(--sms-settings-main-padding));
    margin-inline: calc(-1 * var(--sms-settings-main-padding));
    padding-inline: var(--sms-settings-main-padding);
    border-bottom: 1px solid var(--posh-admin-outline-variant);
    background: color-mix(in oklab, var(--posh-admin-surface) 50%, transparent);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.sms-settings-header-bar[b-pt47q6pfxf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-sm) var(--posh-admin-space-md);
    min-height: 5rem;
    padding-block: var(--posh-admin-space-sm);
}

.sms-settings-header-text[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}

.sms-settings-title[b-pt47q6pfxf],
.sms-settings-subtitle[b-pt47q6pfxf] {
    margin: 0;
}

.sms-settings-title[b-pt47q6pfxf] {
    color: var(--posh-admin-on-surface);
}

.sms-settings-subtitle[b-pt47q6pfxf],
.sms-settings-help[b-pt47q6pfxf],
.sms-settings-section-heading p[b-pt47q6pfxf] {
    color: var(--posh-admin-on-surface-variant);
}

.sms-settings-actions[b-pt47q6pfxf] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-sm);
}

.sms-settings-actions-hint[b-pt47q6pfxf] {
    font-size: 0.8rem;
    color: var(--posh-admin-on-surface-variant);
}

.sms-settings-unsaved[b-pt47q6pfxf] {
    display: inline-flex;
    align-items: center;
    gap: var(--posh-admin-space-xs);
    min-height: 2rem;
    padding: 0.25rem 0.75rem;
    border-radius: var(--posh-admin-radius-full);
    background: color-mix(in srgb, var(--posh-admin-warning) 16%, transparent);
    color: var(--posh-admin-warning);
    font-size: 0.8rem;
    font-weight: 500;
}

.sms-settings-unsaved-dot[b-pt47q6pfxf] {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: currentColor;
}

/* What a save or a Template Preset action did gets its own line in the header, under the save button. */
.sms-settings-header > .sms-settings-alert[b-pt47q6pfxf] {
    margin-bottom: var(--posh-admin-space-sm);
    padding-block: 0.5rem;
}

.sms-settings-tabs[b-pt47q6pfxf] {
    display: flex;
    gap: 0.25rem;
    overflow-x: auto;
}

.sms-settings-tab[b-pt47q6pfxf] {
    display: inline-flex;
    align-items: center;
    gap: var(--posh-admin-space-xs);
    flex: 0 0 auto;
    min-height: 3rem;
    margin-bottom: -1px;
    padding: 0 var(--posh-admin-space-sm);
    border: none;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.sms-settings-tab:hover[b-pt47q6pfxf] {
    color: var(--posh-admin-on-surface);
}

.sms-settings-tab-active[b-pt47q6pfxf] {
    border-bottom-color: var(--posh-admin-primary);
    color: var(--posh-admin-on-surface);
    font-weight: 600;
}

.sms-settings-tab:focus-visible[b-pt47q6pfxf] {
    outline: 2px solid var(--posh-admin-primary);
    outline-offset: -2px;
}

.sms-settings-tab-panel[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    width: 100%;
    max-width: 90rem;
}

/* ── Summary tiles ────────────────────────────────────────────────── */

.sms-settings-summary[b-pt47q6pfxf] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
    gap: var(--posh-admin-space-sm);
}

.sms-settings-summary-tile[b-pt47q6pfxf] {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-sm);
    min-width: 0;
    padding: var(--posh-admin-space-sm) 1.25rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container);
    color: var(--posh-admin-on-surface);
    text-decoration: none;
    transition: border-color 0.15s ease;
}

.sms-settings-summary-tile:hover[b-pt47q6pfxf] {
    border-color: var(--posh-admin-primary);
    color: var(--posh-admin-on-surface);
}

.sms-settings-summary-text[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.sms-settings-summary-label[b-pt47q6pfxf],
.sms-settings-summary-sub[b-pt47q6pfxf] {
    font-size: 0.78rem;
    color: var(--posh-admin-on-surface-variant);
}

.sms-settings-summary-value[b-pt47q6pfxf] {
    font-size: 0.95rem;
    font-weight: 600;
}

/* One colour per state, shared by tiles, badges and the customer list. */
.sms-tone-ok[b-pt47q6pfxf] {
    color: var(--posh-admin-success);
}

.sms-tone-warn[b-pt47q6pfxf] {
    color: var(--posh-admin-warning);
}

.sms-tone-error[b-pt47q6pfxf] {
    color: var(--posh-admin-error);
}

.sms-tone-primary[b-pt47q6pfxf] {
    color: var(--posh-admin-primary);
}

.sms-tone-muted[b-pt47q6pfxf] {
    color: var(--posh-admin-on-surface-variant);
}

/* ── Panels ───────────────────────────────────────────────────────── */

.sms-settings-panel[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    padding: var(--posh-admin-space-md);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
    /* A summary tile scrolls its section to just under the sticky header. */
    scroll-margin-top: 10rem;
}

.sms-settings-state[b-pt47q6pfxf] {
    color: var(--posh-admin-on-surface-variant);
}

.sms-settings-section-heading[b-pt47q6pfxf] {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-sm);
}

.sms-settings-section-heading-text[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex: 1 1 18rem;
    min-width: 0;
}

.sms-settings-section-heading h2[b-pt47q6pfxf],
.sms-settings-section-heading p[b-pt47q6pfxf] {
    margin: 0;
}

.sms-settings-section-heading h2[b-pt47q6pfxf] {
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.5;
}

.sms-settings-section-heading p[b-pt47q6pfxf] {
    font-size: 0.85rem;
    line-height: 1.7;
}

.sms-settings-section-icon[b-pt47q6pfxf] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in srgb, var(--posh-admin-primary) 12%, transparent);
    color: var(--posh-admin-primary);
    font-size: 1.1rem;
}

/* The section's on/off switch, at the end of its heading so its state reads before its settings. */
.sms-settings-section-switch[b-pt47q6pfxf] {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    flex: 0 0 auto;
    min-height: 2.75rem;
    padding-inline: 1rem 0.65rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-full);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface);
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
}

.sms-settings-off-note[b-pt47q6pfxf] {
    margin: 0;
    padding: 0.65rem 0.9rem;
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface-container-low);
    font-size: 0.85rem;
    line-height: 1.7;
    color: var(--posh-admin-on-surface-variant);
}

/* A switched-off section stays editable, so it can be prepared before it is turned on. */
.sms-settings-section-body-off[b-pt47q6pfxf] {
    opacity: 0.6;
    transition: opacity 0.2s ease;
}

.sms-settings-section-body-off:focus-within[b-pt47q6pfxf] {
    opacity: 1;
}

/* ── Fields ───────────────────────────────────────────────────────── */

.sms-settings-grid[b-pt47q6pfxf] {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(14rem, 1fr);
    gap: var(--posh-admin-space-md);
    align-items: start;
}

.sms-settings-field[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
    min-width: 0;
}

.sms-settings-field-header[b-pt47q6pfxf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-xs);
    min-height: 1.75rem;
}

.sms-settings-label[b-pt47q6pfxf] {
    color: var(--posh-admin-on-surface);
    font-size: 0.875rem;
    font-weight: 500;
}

.sms-settings-count[b-pt47q6pfxf] {
    font-size: 0.75rem;
    color: var(--posh-admin-on-surface-variant);
}

.sms-settings-badge[b-pt47q6pfxf] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.1rem 0.65rem;
    border-radius: var(--posh-admin-radius-full);
    background: color-mix(in srgb, currentColor 14%, transparent);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.8;
    white-space: nowrap;
}

.sms-settings-badge[b-pt47q6pfxf]::before {
    content: "";
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 50%;
    background: currentColor;
}

.sms-settings-input[b-pt47q6pfxf] {
    width: 100%;
    min-width: 0;
    min-height: 2.75rem;
    padding: 0.55rem 0.75rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface);
    font: inherit;
    font-size: 0.925rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.sms-settings-input:focus[b-pt47q6pfxf] {
    outline: none;
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--posh-admin-primary) 12%, transparent);
}

.sms-settings-input:disabled[b-pt47q6pfxf] {
    opacity: 0.55;
    cursor: not-allowed;
}

.sms-settings-input[b-pt47q6pfxf]::placeholder {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.75;
}

.sms-settings-input-number[b-pt47q6pfxf] {
    font-variant-numeric: tabular-nums;
}

.sms-settings-help[b-pt47q6pfxf] {
    font-size: 0.78rem;
    line-height: 1.6;
}

.sms-settings-field-error[b-pt47q6pfxf] {
    font-size: 0.78rem;
    line-height: 1.6;
    color: var(--posh-admin-error);
}

/* ── API key ──────────────────────────────────────────────────────── */

.sms-settings-key-row[b-pt47q6pfxf] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-xs);
}

.sms-settings-key-row > .sms-settings-input[b-pt47q6pfxf],
.sms-settings-key-mask[b-pt47q6pfxf] {
    flex: 1 1 14rem;
}

.sms-settings-key-mask[b-pt47q6pfxf] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    min-width: 0;
    min-height: 2.75rem;
    padding: 0 0.75rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface-variant);
}

.sms-settings-key-mask [dir="ltr"][b-pt47q6pfxf] {
    letter-spacing: 0.2em;
    overflow: hidden;
}

.sms-settings-key-mask-hint[b-pt47q6pfxf] {
    margin-inline-start: auto;
    font-size: 0.75rem;
}

.sms-settings-key-removing[b-pt47q6pfxf] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-xs) 0.75rem;
    min-height: 2.75rem;
    padding: 0.5rem 0.5rem 0.5rem 0.75rem;
    border: 1px solid color-mix(in srgb, var(--posh-admin-error) 30%, transparent);
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in srgb, var(--posh-admin-error) 10%, transparent);
    color: var(--posh-admin-error);
    font-size: 0.85rem;
    line-height: 1.7;
}

.sms-settings-key-removing > span[b-pt47q6pfxf] {
    flex: 1 1 14rem;
}

.sms-settings-key-removing .sms-settings-reset[b-pt47q6pfxf] {
    color: inherit;
    font-weight: 500;
}

/* ── Buttons ──────────────────────────────────────────────────────── */

.sms-settings-button[b-pt47q6pfxf] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    flex: 0 0 auto;
    min-height: 2.75rem;
    padding: 0 0.9rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface);
    font: inherit;
    font-size: 0.85rem;
    cursor: pointer;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.sms-settings-button:hover:not(:disabled)[b-pt47q6pfxf] {
    border-color: var(--posh-admin-primary);
    color: var(--posh-admin-primary);
}

.sms-settings-button:disabled[b-pt47q6pfxf] {
    opacity: 0.5;
    cursor: not-allowed;
}

.sms-settings-reset[b-pt47q6pfxf] {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
    min-height: 2.5rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-md);
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    font: inherit;
    font-size: 0.8rem;
    cursor: pointer;
    transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.sms-settings-reset:hover:not(:disabled)[b-pt47q6pfxf] {
    border-color: var(--posh-admin-outline-variant);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-primary);
}

.sms-settings-reset:disabled[b-pt47q6pfxf] {
    opacity: 0.45;
    cursor: not-allowed;
}

.sms-settings-reset-danger[b-pt47q6pfxf],
.sms-settings-reset-danger:hover:not(:disabled)[b-pt47q6pfxf] {
    color: var(--posh-admin-error);
}

.sms-settings-save[b-pt47q6pfxf] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.75rem;
    padding: 0.55rem 1.25rem;
    border: none;
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
    font: inherit;
    font-size: 0.9rem;
    font-weight: 500;
    cursor: pointer;
    transition: opacity 0.15s ease, filter 0.15s ease;
}

.sms-settings-save:hover:not(:disabled)[b-pt47q6pfxf] {
    filter: brightness(1.08);
}

.sms-settings-save:disabled[b-pt47q6pfxf] {
    opacity: 0.5;
    cursor: default;
}

/* ── Checkbox switches ────────────────────────────────────────────── */

.sms-settings-switch[b-pt47q6pfxf] {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    flex: 0 0 auto;
    width: 2.5rem;
    height: 1.4rem;
    margin: 0;
    border: 1px solid var(--posh-admin-outline);
    border-radius: var(--posh-admin-radius-full);
    background: var(--posh-admin-surface-container-highest);
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.sms-settings-switch[b-pt47q6pfxf]::before {
    content: "";
    position: absolute;
    top: 0.15rem;
    inset-inline-start: 0.15rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: var(--posh-admin-on-surface-variant);
    transition: transform 0.2s ease, background 0.2s ease;
}

.sms-settings-switch:checked[b-pt47q6pfxf] {
    border-color: var(--posh-admin-primary);
    background: var(--posh-admin-primary);
}

.sms-settings-switch:checked[b-pt47q6pfxf]::before {
    background: var(--posh-admin-on-primary);
    transform: translateX(calc(-1 * 1.1rem));
}

.sms-settings-switch:focus-visible[b-pt47q6pfxf] {
    outline: none;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--posh-admin-primary) 25%, transparent);
}

/* ── Admin numbers ────────────────────────────────────────────────── */

.sms-operator-layout[b-pt47q6pfxf],
.sms-customer-layout[b-pt47q6pfxf] {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-md);
}

.sms-settings-mobiles[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex: 1 1 17rem;
    min-width: 0;
}

.sms-mobile-list[b-pt47q6pfxf] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-xs);
    margin: 0;
    padding: 0;
    list-style: none;
}

.sms-mobile-chip[b-pt47q6pfxf] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-height: 2.5rem;
    padding-inline: 0.9rem 0.25rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-full);
    background: var(--posh-admin-surface-container-high);
}

.sms-mobile-number[b-pt47q6pfxf] {
    font-size: 0.875rem;
    font-variant-numeric: tabular-nums;
    unicode-bidi: isolate;
}

.sms-mobile-remove[b-pt47q6pfxf] {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    font-size: 0.75rem;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.sms-mobile-remove:hover[b-pt47q6pfxf] {
    background: color-mix(in srgb, var(--posh-admin-error) 14%, transparent);
    color: var(--posh-admin-error);
}

.sms-mobile-empty[b-pt47q6pfxf] {
    font-size: 0.85rem;
    color: var(--posh-admin-warning);
}

.sms-mobile-add[b-pt47q6pfxf] {
    display: flex;
    gap: var(--posh-admin-space-xs);
}

.sms-mobile-add .sms-settings-input[b-pt47q6pfxf] {
    flex: 1 1 auto;
    font-variant-numeric: tabular-nums;
}

/* ── Template cards ───────────────────────────────────────────────── */

.sms-settings-template-card[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-sm);
    min-width: 0;
    padding: var(--posh-admin-space-sm);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container-low);
}

.sms-operator-template[b-pt47q6pfxf] {
    flex: 2 1 34rem;
}

.sms-settings-template-header[b-pt47q6pfxf] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-xs);
}

.sms-settings-template-title[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

/* The template's Template Presets and its reset, at the end of its header. */
.sms-settings-template-tools[b-pt47q6pfxf] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-xs);
}

/* The editor and its preview sit side by side on a wide screen, so the result is read while typing. */
.sms-settings-template-body[b-pt47q6pfxf] {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-sm);
}

.sms-settings-template-editor[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex: 3 1 20rem;
    min-width: 0;
}

.sms-settings-template-input[b-pt47q6pfxf] {
    min-height: 8rem;
    resize: vertical;
    line-height: 1.8;
}

.sms-settings-template-warning[b-pt47q6pfxf] {
    display: flex;
    align-items: flex-start;
    gap: var(--posh-admin-space-xs);
    margin: 0;
    padding: 0.5rem 0.75rem;
    border-radius: var(--posh-admin-radius-md);
    background: color-mix(in srgb, var(--posh-admin-warning) 14%, transparent);
    color: var(--posh-admin-warning);
    font-size: 0.8rem;
    line-height: 1.7;
}

.sms-settings-template-warning i[b-pt47q6pfxf] {
    margin-top: 0.2rem;
}

.sms-settings-template-warning code[b-pt47q6pfxf] {
    unicode-bidi: isolate;
    font-size: 0.78rem;
    color: inherit;
}

/* ── Preview ──────────────────────────────────────────────────────── */

.sms-settings-preview[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
    flex: 2 1 15rem;
    min-width: 0;
}

.sms-settings-preview-header[b-pt47q6pfxf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--posh-admin-space-xs);
}

.sms-settings-preview-label[b-pt47q6pfxf] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--posh-admin-primary);
}

.sms-settings-preview-length[b-pt47q6pfxf] {
    font-size: 0.75rem;
    color: var(--posh-admin-on-surface-variant);
    white-space: nowrap;
}

.sms-settings-preview-phone[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
    padding: 0.875rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface);
}

.sms-settings-preview-sender[b-pt47q6pfxf] {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-xs);
    font-size: 0.72rem;
    color: var(--posh-admin-on-surface-variant);
}

.sms-settings-preview-avatar[b-pt47q6pfxf] {
    display: inline-grid;
    place-items: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background: color-mix(in srgb, var(--posh-admin-primary) 16%, transparent);
    color: var(--posh-admin-primary);
    font-size: 0.65rem;
    font-weight: 700;
}

.sms-settings-preview-time[b-pt47q6pfxf] {
    margin-inline-start: auto;
}

/* An incoming message: the bubble's corner nearest the sender is the square one. */
.sms-settings-preview-text[b-pt47q6pfxf] {
    margin: 0;
    padding: 0.65rem 0.875rem;
    border-radius: var(--posh-admin-radius-lg) var(--posh-admin-radius-sm) var(--posh-admin-radius-lg) var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container-high);
    color: var(--posh-admin-on-surface);
    font: inherit;
    font-size: 0.85rem;
    line-height: 1.8;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

/* ── Customer messages: list and editor ───────────────────────────── */

.sms-customer-list[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-sm);
    flex: 1 1 16rem;
    min-width: 0;
}

.sms-customer-group[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.sms-customer-group-title[b-pt47q6pfxf] {
    margin: 0;
    padding-inline: 0.25rem;
    color: var(--posh-admin-on-surface-variant);
}

.sms-customer-item[b-pt47q6pfxf] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    border: 1px solid transparent;
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface-container-low);
    transition: background 0.15s ease, border-color 0.15s ease;
}

.sms-customer-item:hover[b-pt47q6pfxf] {
    background: color-mix(in srgb, var(--posh-admin-primary) 6%, var(--posh-admin-surface-container-low));
}

.sms-customer-item-selected[b-pt47q6pfxf],
.sms-customer-item-selected:hover[b-pt47q6pfxf] {
    border-color: color-mix(in srgb, var(--posh-admin-primary) 50%, transparent);
    background: color-mix(in srgb, var(--posh-admin-primary) 10%, transparent);
}

.sms-customer-item-select[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 3.25rem;
    padding: 0.5rem 0.75rem;
    border: none;
    border-radius: var(--posh-admin-radius-md);
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: start;
    cursor: pointer;
}

.sms-customer-item-select:focus-visible[b-pt47q6pfxf] {
    outline: 2px solid var(--posh-admin-primary);
    outline-offset: -2px;
}

.sms-customer-item-label[b-pt47q6pfxf] {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--posh-admin-on-surface);
}

.sms-customer-item-label-off[b-pt47q6pfxf] {
    color: var(--posh-admin-on-surface-variant);
}

.sms-customer-item-meta[b-pt47q6pfxf] {
    font-size: 0.75rem;
}

/* A 44px target around the small switch. */
.sms-customer-item-switch[b-pt47q6pfxf] {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 3.25rem;
    height: 2.75rem;
    cursor: pointer;
}

.sms-customer-editor[b-pt47q6pfxf] {
    flex: 3 1 34rem;
}

.sms-settings-template-card-off .sms-settings-template-editor[b-pt47q6pfxf],
.sms-settings-template-card-off .sms-settings-preview[b-pt47q6pfxf] {
    opacity: 0.6;
}

/* ── Notes and alerts ─────────────────────────────────────────────── */

.sms-settings-note[b-pt47q6pfxf] {
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.7;
    color: var(--posh-admin-on-surface-variant);
}

.sms-settings-alert[b-pt47q6pfxf] {
    display: flex;
    align-items: center;
    gap: var(--posh-admin-space-xs);
    padding: 0.7rem 1rem;
    border-radius: var(--posh-admin-radius-md);
    font-size: 0.9rem;
    line-height: 1.7;
}

.sms-settings-alert-error[b-pt47q6pfxf] {
    border: 1px solid color-mix(in srgb, var(--posh-admin-error) 30%, transparent);
    background: color-mix(in srgb, var(--posh-admin-error) 10%, transparent);
    color: var(--posh-admin-error);
}

.sms-settings-alert-success[b-pt47q6pfxf] {
    border: 1px solid color-mix(in srgb, var(--posh-admin-success, #2e7d32) 30%, transparent);
    background: color-mix(in srgb, var(--posh-admin-success, #2e7d32) 12%, transparent);
    color: var(--posh-admin-success, #2e7d32);
}

/* ── Sent Message History ─────────────────────────────────────────── */

.sms-history-state[b-pt47q6pfxf] {
    margin: 0;
    font-size: 0.875rem;
    color: var(--posh-admin-on-surface-variant);
}

.sms-history-toolbar[b-pt47q6pfxf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.sms-history-filter[b-pt47q6pfxf] {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    padding: 0.25rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface-container-low);
}

.sms-history-filter-button[b-pt47q6pfxf] {
    display: inline-flex;
    align-items: center;
    gap: var(--posh-admin-space-xs);
    min-height: 2.25rem;
    padding: 0 0.875rem;
    border: none;
    border-radius: var(--posh-admin-radius);
    background: transparent;
    color: var(--posh-admin-on-surface-variant);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 500;
    cursor: pointer;
}

.sms-history-filter-active[b-pt47q6pfxf] {
    background: var(--posh-admin-secondary-container);
    color: var(--posh-admin-on-secondary-container);
    font-weight: 600;
}

.sms-history-filter-count[b-pt47q6pfxf] {
    font-size: 0.72rem;
    font-variant-numeric: tabular-nums;
}

.sms-history-shown[b-pt47q6pfxf] {
    font-size: 0.78rem;
    color: var(--posh-admin-on-surface-variant);
}

.sms-history-table-wrap[b-pt47q6pfxf] {
    overflow-x: auto;
    border: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    border-radius: var(--posh-admin-radius-lg);
    background: var(--posh-admin-surface-container-low);
}

.sms-history-table[b-pt47q6pfxf] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.82rem;
    color: var(--posh-admin-on-surface);
}

.sms-history-table th[b-pt47q6pfxf] {
    padding: 0.7rem 0.75rem 0.6rem;
    border-bottom: 1px solid var(--posh-admin-outline-variant);
    text-align: start;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--posh-admin-on-surface-variant);
    white-space: nowrap;
}

.sms-history-table td[b-pt47q6pfxf] {
    padding: 0.8rem 0.75rem;
    border-bottom: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    vertical-align: top;
}

.sms-history-row:last-child td[b-pt47q6pfxf] {
    border-bottom: none;
}

.sms-history-row:hover[b-pt47q6pfxf] {
    background: color-mix(in oklab, var(--posh-admin-primary-fixed-dim) 6%, transparent);
}

.sms-history-time[b-pt47q6pfxf],
.sms-history-order[b-pt47q6pfxf] {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.sms-history-kind[b-pt47q6pfxf] {
    display: inline-flex;
    padding: 0.1rem 0.55rem;
    border-radius: var(--posh-admin-radius-full);
    font-size: 0.72rem;
    line-height: 1.6;
    white-space: nowrap;
}

.sms-history-kind-operator[b-pt47q6pfxf] {
    background: color-mix(in srgb, var(--posh-admin-primary) 12%, transparent);
    color: var(--posh-admin-primary);
}

.sms-history-kind-customer[b-pt47q6pfxf] {
    background: color-mix(in srgb, var(--posh-admin-on-surface-variant) 10%, transparent);
    color: var(--posh-admin-on-surface-variant);
}

.sms-history-mobile[b-pt47q6pfxf],
.sms-history-delivery-mobile[b-pt47q6pfxf] {
    unicode-bidi: isolate;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.sms-history-text[b-pt47q6pfxf] {
    min-width: 12rem;
    max-width: 26rem;
    margin: 0;
    font: inherit;
    font-size: 0.78rem;
    line-height: 1.7;
    color: var(--posh-admin-on-surface-variant);
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.sms-history-status[b-pt47q6pfxf] {
    white-space: nowrap;
}

.sms-history-status-error[b-pt47q6pfxf] {
    color: var(--posh-admin-error);
}

.sms-history-last-error[b-pt47q6pfxf] {
    display: block;
    max-width: 14rem;
    margin-top: 0.2rem;
    font-size: 0.72rem;
    line-height: 1.5;
    color: var(--posh-admin-error);
    overflow-wrap: anywhere;
}

.sms-history-muted[b-pt47q6pfxf] {
    color: var(--posh-admin-on-surface-variant);
}

.sms-history-delivery[b-pt47q6pfxf] {
    white-space: nowrap;
}

.sms-history-delivery-list[b-pt47q6pfxf] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sms-history-delivery-list li[b-pt47q6pfxf] {
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.5rem;
}

.sms-history-delivery-mobile[b-pt47q6pfxf] {
    color: var(--posh-admin-on-surface-variant);
}

.sms-history-delivery-ok[b-pt47q6pfxf] {
    color: var(--posh-admin-success, #2e7d32);
}

.sms-history-delivery-failed[b-pt47q6pfxf] {
    color: var(--posh-admin-error);
}

.sms-history-more[b-pt47q6pfxf] {
    align-self: center;
    min-height: 2.75rem;
    padding: 0.45rem 1.5rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface);
    font: inherit;
    font-size: 0.85rem;
    cursor: pointer;
    transition: color 0.15s ease, border-color 0.15s ease;
}

.sms-history-more:hover:not(:disabled)[b-pt47q6pfxf] {
    border-color: var(--posh-admin-primary);
    color: var(--posh-admin-primary);
}

.sms-history-more:disabled[b-pt47q6pfxf] {
    opacity: 0.55;
    cursor: wait;
}

/* `.admin-main` pads with the narrower mobile margin from this width down. */
@media (max-width: 768px) {
    .sms-settings-page[b-pt47q6pfxf] {
        --sms-settings-main-padding: var(--posh-admin-margin-mobile);
        gap: var(--posh-admin-space-sm);
    }

    .sms-settings-header-bar[b-pt47q6pfxf] {
        min-height: auto;
    }
}

@media (max-width: 900px) {
    .sms-settings-grid[b-pt47q6pfxf] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .sms-settings-panel[b-pt47q6pfxf] {
        padding: var(--posh-admin-space-sm);
        border-radius: var(--posh-admin-radius-lg);
    }

    /* The header stays on screen, so on a phone it is kept to the title, one row of actions and the tabs. */
    .sms-settings-header-bar[b-pt47q6pfxf] {
        gap: var(--posh-admin-space-xs);
        padding-block: 0.75rem;
    }

    .sms-settings-title[b-pt47q6pfxf] {
        font-size: 1.25rem;
    }

    .sms-settings-subtitle[b-pt47q6pfxf] {
        display: none;
    }

    .sms-settings-actions[b-pt47q6pfxf] {
        flex-wrap: nowrap;
        gap: var(--posh-admin-space-xs);
        width: 100%;
    }

    .sms-settings-actions > :first-child[b-pt47q6pfxf] {
        flex: 1 1 auto;
        min-width: 0;
    }

    .sms-settings-header > .sms-settings-alert[b-pt47q6pfxf] {
        font-size: 0.8rem;
        line-height: 1.5;
    }

    .sms-settings-unsaved span:last-child[b-pt47q6pfxf] {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .sms-settings-discard[b-pt47q6pfxf] {
        flex: 0 0 auto;
        width: 2.75rem;
        min-height: 2.75rem;
        justify-content: center;
        padding: 0;
    }

    .sms-settings-discard-text[b-pt47q6pfxf] {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    .sms-settings-save[b-pt47q6pfxf] {
        flex: 0 0 auto;
    }

    .sms-settings-summary[b-pt47q6pfxf] {
        grid-template-columns: 1fr;
    }

    .sms-settings-section-switch[b-pt47q6pfxf] {
        margin-inline-start: auto;
    }

    /* Each message becomes a card whose cells are captioned by their column name. */
    .sms-history-table[b-pt47q6pfxf],
    .sms-history-table tbody[b-pt47q6pfxf],
    .sms-history-table tr[b-pt47q6pfxf] {
        display: block;
    }

    .sms-history-table thead[b-pt47q6pfxf] {
        display: none;
    }

    .sms-history-table tr[b-pt47q6pfxf] {
        padding: 0.75rem;
        border-bottom: 1px solid color-mix(in oklab, var(--posh-admin-outline-variant) 55%, transparent);
    }

    .sms-history-row:last-child[b-pt47q6pfxf] {
        border-bottom: none;
    }

    .sms-history-table td[b-pt47q6pfxf] {
        display: block;
        padding: 0.3rem 0;
        border: 0;
    }

    .sms-history-table td[b-pt47q6pfxf]::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 0.1rem;
        font-size: 0.72rem;
        font-weight: 600;
        color: var(--posh-admin-on-surface-variant);
    }

    .sms-history-text[b-pt47q6pfxf],
    .sms-history-last-error[b-pt47q6pfxf] {
        min-width: 0;
        max-width: none;
    }

    .sms-history-more[b-pt47q6pfxf] {
        width: 100%;
    }
}
/* /Components/Pages/Admin/ZarinpalSettings.razor.rz.scp.css */
/* ZarinPal Settings — scoped styles */
/* Design tokens are the same CSS vars as the rest of the admin panel. */

.zp-settings-page[b-6067nrxv8k] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    color: var(--posh-admin-on-surface);
}

.zp-settings-header-text[b-6067nrxv8k] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.zp-settings-title[b-6067nrxv8k],
.zp-settings-subtitle[b-6067nrxv8k] {
    margin: 0;
}

.zp-settings-title[b-6067nrxv8k] {
    color: var(--posh-admin-on-surface);
}

.zp-settings-subtitle[b-6067nrxv8k],
.zp-settings-help[b-6067nrxv8k],
.zp-settings-section-heading p[b-6067nrxv8k] {
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.72;
}

.zp-settings-panel[b-6067nrxv8k] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    max-width: 44rem;
    padding: var(--posh-admin-space-lg);
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-xl);
    background: var(--posh-admin-surface-container);
}

.zp-settings-state[b-6067nrxv8k] {
    color: var(--posh-admin-on-surface-variant);
}

.zp-settings-section-heading[b-6067nrxv8k] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
}

.zp-settings-section-heading h2[b-6067nrxv8k] {
    font-size: 1rem;
    font-weight: 600;
    margin: 0;
}

.zp-settings-section-heading p[b-6067nrxv8k] {
    font-size: 0.85rem;
    margin: 0;
}

.zp-settings-field[b-6067nrxv8k] {
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-xs);
}

.zp-settings-label[b-6067nrxv8k] {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--posh-admin-on-surface);
}

.zp-settings-input[b-6067nrxv8k] {
    width: 100%;
    padding: 0.5rem 0.75rem;
    font-size: 0.925rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface);
    transition: border-color 0.15s ease;
}

.zp-settings-input:focus[b-6067nrxv8k] {
    outline: none;
    border-color: var(--posh-admin-primary);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--posh-admin-primary) 12%, transparent);
}

.zp-settings-help[b-6067nrxv8k] {
    font-size: 0.8rem;
    color: var(--posh-admin-on-surface-variant);
}

.zp-masked-id[b-6067nrxv8k] {
    font-family: monospace;
    letter-spacing: 0.05em;
    background: var(--posh-admin-surface-container-highest, #f0f0f0);
    padding: 0.1em 0.4em;
    border-radius: var(--posh-admin-radius-sm);
}

.zp-settings-divider[b-6067nrxv8k] {
    height: 1px;
    background: var(--posh-admin-outline-variant);
    opacity: 0.5;
    margin-block: var(--posh-admin-space-xs);
}

/* Toggle / switch row */
.zp-settings-switch-row[b-6067nrxv8k] {
    display: flex;
    align-items: flex-start;
    gap: var(--posh-admin-space-sm);
    cursor: pointer;
    padding: 0.4rem 0;
}

.zp-settings-switch-row input[type="checkbox"][b-6067nrxv8k] {
    width: 1.1rem;
    height: 1.1rem;
    margin-top: 0.15rem;
    accent-color: var(--posh-admin-primary);
    flex-shrink: 0;
}

.zp-settings-switch-row span[b-6067nrxv8k] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.zp-settings-switch-row strong[b-6067nrxv8k] {
    font-size: 0.9rem;
    font-weight: 500;
}

.zp-settings-switch-row small[b-6067nrxv8k] {
    font-size: 0.8rem;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.72;
}

/* Info note */
.zp-settings-note[b-6067nrxv8k] {
    font-size: 0.8rem;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.72;
    padding: 0.5rem 0.75rem;
    border-inline-start: 3px solid var(--posh-admin-outline-variant);
    border-radius: 0 var(--posh-admin-radius-sm) var(--posh-admin-radius-sm) 0;
}

/* Alert banners */
.zp-settings-alert[b-6067nrxv8k] {
    padding: 0.7rem 1rem;
    border-radius: var(--posh-admin-radius-md);
    font-size: 0.9rem;
    max-width: 44rem;
}

.zp-settings-alert-success[b-6067nrxv8k] {
    background: color-mix(in srgb, var(--posh-admin-success, #2e7d32) 12%, transparent);
    color: var(--posh-admin-on-success-container, #1b5e20);
    border: 1px solid color-mix(in srgb, var(--posh-admin-success, #2e7d32) 30%, transparent);
}

.zp-settings-alert-error[b-6067nrxv8k] {
    background: color-mix(in srgb, var(--posh-admin-error, #b71c1c) 10%, transparent);
    color: var(--posh-admin-on-error-container, #7f0000);
    border: 1px solid color-mix(in srgb, var(--posh-admin-error, #b71c1c) 25%, transparent);
}

/* ── Status block ─────────────────────────────────────────────────── */
.zp-status-grid[b-6067nrxv8k] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    gap: var(--posh-admin-space-sm) var(--posh-admin-space-md);
    margin: 0;
}

.zp-status-item[b-6067nrxv8k] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.zp-status-item dt[b-6067nrxv8k] {
    font-size: 0.8rem;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.8;
}

.zp-status-item dd[b-6067nrxv8k] {
    margin: 0;
}

.zp-status-value[b-6067nrxv8k] {
    font-size: 0.925rem;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.zp-status-value small[b-6067nrxv8k] {
    display: block;
    font-weight: 400;
    font-size: 0.78rem;
    color: var(--posh-admin-on-surface-variant);
    opacity: 0.8;
}

.zp-status-sandbox[b-6067nrxv8k] {
    color: var(--posh-admin-warning, #b26a00);
}

.zp-status-live[b-6067nrxv8k] {
    color: var(--posh-admin-success, #2e7d32);
}

.zp-status-url[b-6067nrxv8k] {
    font-family: monospace;
    font-size: 0.85rem;
    text-align: left;
}

.zp-status-missing[b-6067nrxv8k] {
    color: var(--posh-admin-error, #b71c1c);
}

.zp-settings-alert-warn[b-6067nrxv8k] {
    background: color-mix(in srgb, var(--posh-admin-warning, #b26a00) 12%, transparent);
    color: var(--posh-admin-warning, #b26a00);
    border: 1px solid color-mix(in srgb, var(--posh-admin-warning, #b26a00) 30%, transparent);
}

.zp-settings-actions[b-6067nrxv8k] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--posh-admin-space-sm);
    align-items: center;
}

/* Check button: secondary, beside the save button */
.zp-settings-check[b-6067nrxv8k] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1.25rem;
    font-size: 0.9rem;
    font-weight: 500;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-surface);
    color: var(--posh-admin-on-surface);
    cursor: pointer;
    transition: border-color 0.15s ease, opacity 0.15s ease;
}

.zp-settings-check:hover:not(:disabled)[b-6067nrxv8k] {
    border-color: var(--posh-admin-primary);
}

.zp-settings-check:disabled[b-6067nrxv8k] {
    opacity: 0.55;
    cursor: not-allowed;
}

.zp-confirm-live[b-6067nrxv8k] {
    font-weight: 600;
    color: var(--posh-admin-error, #b71c1c);
}

/* Save button */
.zp-settings-save[b-6067nrxv8k] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1.25rem;
    font-size: 0.9rem;
    font-weight: 500;
    border: none;
    border-radius: var(--posh-admin-radius-md);
    background: var(--posh-admin-primary);
    color: var(--posh-admin-on-primary);
    cursor: pointer;
    transition: opacity 0.15s ease;
}

.zp-settings-save:disabled[b-6067nrxv8k] {
    opacity: 0.55;
    cursor: not-allowed;
}

/* ── Password confirmation dialog ─────────────────────────────────── */

.zp-confirm-overlay[b-6067nrxv8k] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    padding: 1rem;
}

.zp-confirm-card[b-6067nrxv8k] {
    background: var(--posh-admin-surface);
    border-radius: var(--posh-admin-radius-xl);
    padding: var(--posh-admin-space-lg);
    max-width: 26rem;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: var(--posh-admin-space-md);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
}

.zp-confirm-title[b-6067nrxv8k] {
    margin: 0;
    color: var(--posh-admin-on-surface);
}

.zp-confirm-body[b-6067nrxv8k] {
    font-size: 0.9rem;
    color: var(--posh-admin-on-surface-variant);
    margin: 0;
}

.zp-confirm-actions[b-6067nrxv8k] {
    display: flex;
    gap: var(--posh-admin-space-sm);
    justify-content: flex-end;
    flex-wrap: wrap;
}

.zp-confirm-cancel[b-6067nrxv8k] {
    padding: 0.55rem 1rem;
    font-size: 0.9rem;
    border: 1px solid var(--posh-admin-outline-variant);
    border-radius: var(--posh-admin-radius-md);
    background: transparent;
    color: var(--posh-admin-on-surface);
    cursor: pointer;
}

.zp-confirm-cancel:disabled[b-6067nrxv8k] {
    opacity: 0.55;
    cursor: not-allowed;
}
/* /Components/Pages/Public/AboutUs.razor.rz.scp.css */
.about-hero[b-p460az921m] {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto 1.5rem;
    text-align: center;
}

.about-hero-glow[b-p460az921m] {
    margin: 0;
}

.about-hero-inner[b-p460az921m] {
    width: min(100%, 32rem);
    padding: clamp(1rem, 3vw, 1.35rem) clamp(1rem, 3vw, 1.5rem);
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.about-title[b-p460az921m] {
    margin: 0;
    font-size: clamp(1.45rem, 4vw, 1.85rem);
    font-weight: 800;
    letter-spacing: 0.02em;
    line-height: 1.25;
    color: var(--inv-text);
    text-shadow:
        0 0 20px color-mix(in oklab, var(--inv-accent) 22%, transparent),
        0 2px 10px color-mix(in oklab, var(--inv-text) 14%, transparent);
}

.about-lead[b-p460az921m] {
    margin: 0;
    font-size: clamp(0.95rem, 2.6vw, 1.05rem);
    font-weight: 500;
    color: color-mix(in oklab, var(--inv-text) 72%, transparent);
    line-height: 1.5;
}

.about-loading[b-p460az921m] {
    text-align: center;
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
    margin: 2rem 0;
}

.about-error[b-p460az921m] {
    padding: 1rem 1.25rem;
    border-radius: 0.75rem;
    color: var(--inv-text);
    border: 1px solid color-mix(in oklab, #c0392b 45%, var(--inv-border));
    background: color-mix(in oklab, #c0392b 12%, var(--inv-surface));
}

.about-body-wrap[b-p460az921m] {
    max-width: 72ch;
    padding: clamp(1.1rem, 3vw, 1.75rem);
    margin: 0 auto 2rem;
    border-radius: 0.85rem;
}

.about-prose[b-p460az921m] {
    margin: 0;
    font-size: clamp(1rem, 2.4vw, 1.08rem);
    line-height: 1.85;
    color: color-mix(in oklab, var(--inv-text) 92%, transparent);
    white-space: pre-wrap;
    word-break: break-word;
}

.about-social[b-p460az921m] {
    margin-top: 0.5rem;
    margin-bottom: 2rem;
}

.about-social-title[b-p460az921m] {
    margin: 0 0 1rem;
    font-size: clamp(1.1rem, 2.8vw, 1.35rem);
    font-weight: 800;
    text-align: center;
    color: var(--inv-text);
}

.about-social-grid[b-p460az921m] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
}

/* Grid items stretch to the row's height; the card fills its item, so a link without a handle (WhatsApp often
   has none) is as tall as its neighbours, with the icons and the labels on one line across the row. */
.about-social-grid > li[b-p460az921m] {
    display: flex;
}

.about-social-card[b-p460az921m] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1.25rem 1rem;
    text-decoration: none;
    color: var(--inv-text);
    border-radius: 0.85rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-surface) 88%, transparent);
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease,
        border-color 0.18s ease,
        background-color 0.18s ease;
}

.about-social-card:hover[b-p460az921m] {
    transform: translateY(-4px);
    border-color: color-mix(in oklab, var(--inv-accent) 45%, var(--inv-border));
    box-shadow:
        0 20px 40px -24px color-mix(in oklab, var(--inv-text) 28%, transparent),
        0 0 0 1px color-mix(in oklab, var(--inv-accent) 18%, transparent);
    background: color-mix(in oklab, var(--inv-surface) 95%, transparent);
    color: var(--inv-text);
}

.about-social-icon[b-p460az921m] {
    font-size: 1.85rem;
    line-height: 1;
    color: color-mix(in oklab, var(--inv-accent) 85%, var(--inv-text));
}

.about-social-label[b-p460az921m] {
    font-weight: 700;
    font-size: 1.02rem;
}

.about-social-handle[b-p460az921m] {
    font-size: 0.85rem;
    color: color-mix(in oklab, var(--inv-text) 58%, transparent);
    direction: ltr;
    unicode-bidi: embed;
}
/* /Components/Pages/Public/Account/MyOrders.razor.rz.scp.css */
.orders-shell[b-8dtfmjfv8o] {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    padding: 1.5rem 1rem 2.5rem;
    color: var(--inv-text);
}

.orders-title[b-8dtfmjfv8o] {
    margin: 0 0 1rem;
    font-size: 1.6rem;
    font-weight: 800;
    text-align: start;
}

.orders-list[b-8dtfmjfv8o] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.orders-card[b-8dtfmjfv8o] {
    background: #fff;
    border: 1px solid #dadad8;
    border-radius: 1.05rem;
    box-shadow: none;
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.orders-card:focus-within[b-8dtfmjfv8o] {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(26, 26, 26, 0.06);
}

@media (hover: hover) {
    .orders-card:hover[b-8dtfmjfv8o] {
        transform: translateY(-4px);
        box-shadow: 0 20px 40px rgba(26, 26, 26, 0.06);
    }
}

@media (prefers-reduced-motion: reduce) {
    .orders-card[b-8dtfmjfv8o] {
        transition: none;
    }
}

.orders-loading[b-8dtfmjfv8o],
.orders-empty[b-8dtfmjfv8o] {
    padding: 1.5rem 1rem;
    text-align: center;
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
}

.orders-empty-icon[b-8dtfmjfv8o] {
    font-size: 2rem;
    line-height: 1;
    margin-block-end: 0.35rem;
}

.order-card[b-8dtfmjfv8o] {
    padding: 1rem 1rem 0.9rem;
}

.order-card-head[b-8dtfmjfv8o] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.order-card-main[b-8dtfmjfv8o] {
    display: grid;
    gap: 0.35rem;
    min-width: 240px;
}

.order-row[b-8dtfmjfv8o] {
    display: inline-flex;
    gap: 0.45rem;
    align-items: baseline;
}

.order-label[b-8dtfmjfv8o] {
    color: color-mix(in oklab, var(--inv-text) 66%, transparent);
    font-size: 0.86rem;
}

.order-card-side[b-8dtfmjfv8o] {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    align-items: flex-end;
}

.order-status[b-8dtfmjfv8o] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 7.5rem;
    padding: 0.3rem 0.75rem;
    border-radius: 999px;
    border: 1px solid var(--inv-border);
    font-size: 0.8rem;
    font-weight: 700;
}

.status-pending[b-8dtfmjfv8o] {
    background: color-mix(in oklab, #3b82f6 20%, transparent);
}

.status-processing[b-8dtfmjfv8o] {
    background: color-mix(in oklab, #6366f1 22%, transparent);
}

.status-shipped[b-8dtfmjfv8o] {
    background: color-mix(in oklab, #0ea5e9 20%, transparent);
}

.status-delivered[b-8dtfmjfv8o] {
    background: color-mix(in oklab, #22c55e 20%, transparent);
}

.status-cancelled[b-8dtfmjfv8o] {
    background: color-mix(in oklab, #ef4444 20%, transparent);
}

.order-toggle[b-8dtfmjfv8o] {
    padding: 0.38rem 0.78rem;
    border-radius: 0.72rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-text) 10%, var(--inv-surface));
    color: var(--inv-text);
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease;
}

.order-toggle:hover[b-8dtfmjfv8o] {
    background: color-mix(in oklab, var(--inv-text) 16%, var(--inv-surface));
    transform: translateY(-1px);
}

.order-items[b-8dtfmjfv8o] {
    margin-block-start: 0.8rem;
    padding-block-start: 0.8rem;
    border-block-start: 1px dashed var(--inv-border);
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.order-shipping-method[b-8dtfmjfv8o] {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    font-size: 0.85rem;
}

.order-item[b-8dtfmjfv8o] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.6rem;
    border: 1px solid var(--inv-border);
    border-radius: 0.72rem;
    background: color-mix(in oklab, var(--inv-surface) 74%, transparent);
}

.order-item-name[b-8dtfmjfv8o] {
    font-size: 0.92rem;
    font-weight: 700;
}

.order-item-meta[b-8dtfmjfv8o] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.order-meta-pill[b-8dtfmjfv8o] {
    font-size: 0.72rem;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-surface) 72%, transparent);
}
/* /Components/Pages/Public/Account/Profile.razor.rz.scp.css */
.profile-shell[b-jtiv2llx7t] {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    padding: 1.75rem 1rem 3rem;
    color: var(--inv-text);
}

.profile-head[b-jtiv2llx7t] {
    margin-bottom: 1rem;
}

.profile-title[b-jtiv2llx7t] {
    margin: 0;
    font-size: 1.55rem;
    font-weight: 800;
}

.profile-subtitle[b-jtiv2llx7t] {
    margin: 0.4rem 0 0;
    font-size: 0.92rem;
    color: color-mix(in oklab, var(--inv-text) 68%, transparent);
}

.profile-loading[b-jtiv2llx7t] {
    text-align: center;
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
}

.profile-grid[b-jtiv2llx7t] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1rem;
}

.profile-card[b-jtiv2llx7t] {
    background: #fff;
    border: 1px solid #dadad8;
    border-radius: 1rem;
    padding: 1.15rem 1.1rem;
    box-shadow: none;
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.profile-card:focus-within[b-jtiv2llx7t] {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(26, 26, 26, 0.06);
}

@media (hover: hover) {
    .profile-card:hover[b-jtiv2llx7t] {
        transform: translateY(-4px);
        box-shadow: 0 20px 40px rgba(26, 26, 26, 0.06);
    }
}

.profile-section[b-jtiv2llx7t] {
    grid-column: span 6;
}

.profile-section-title[b-jtiv2llx7t] {
    margin: 0 0 1rem;
    font-size: 1.05rem;
    font-weight: 700;
}

.profile-address-row[b-jtiv2llx7t] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    margin-bottom: 0.8rem;
    align-items: start;
}

.profile-address-row .profile-field[b-jtiv2llx7t] {
    margin-bottom: 0;
}

.profile-field-address[b-jtiv2llx7t] {
    grid-column: span 8;
}

.profile-field-postal[b-jtiv2llx7t] {
    grid-column: span 4;
}

.profile-field[b-jtiv2llx7t] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-bottom: 0.8rem;
}

.profile-label[b-jtiv2llx7t] {
    font-size: 0.86rem;
    font-weight: 600;
    color: color-mix(in oklab, var(--inv-text) 80%, transparent);
}

.profile-input[b-jtiv2llx7t],
.profile-textarea[b-jtiv2llx7t] {
    border-radius: 0.72rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-surface) 75%, transparent);
    color: var(--inv-text);
    font-size: 0.94rem;
    font-family: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.profile-input[b-jtiv2llx7t] {
    padding: 0.62rem 0.85rem;
}

.profile-textarea[b-jtiv2llx7t] {
    padding: 0.75rem 0.9rem;
    resize: vertical;
    min-height: 7.5rem;
}

.profile-input:focus[b-jtiv2llx7t],
.profile-textarea:focus[b-jtiv2llx7t] {
    outline: none;
    border-color: color-mix(in oklab, var(--inv-text) 35%, var(--inv-border));
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--inv-text) 12%, transparent);
    background: color-mix(in oklab, var(--inv-surface) 90%, transparent);
}

.profile-input:disabled[b-jtiv2llx7t],
.profile-textarea:disabled[b-jtiv2llx7t] {
    opacity: 0.72;
    cursor: not-allowed;
}

.profile-action[b-jtiv2llx7t] {
    margin-top: 0.3rem;
    padding: 0.8rem 1rem;
    border-radius: 0.84rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-text) 12%, var(--inv-surface));
    color: var(--inv-text);
    font-family: inherit;
    font-size: 0.94rem;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease, opacity 0.15s ease;
}

.profile-action:hover:not(:disabled)[b-jtiv2llx7t] {
    background: color-mix(in oklab, var(--inv-text) 20%, var(--inv-surface));
    transform: translateY(-1px);
}

.profile-action:disabled[b-jtiv2llx7t] {
    opacity: 0.55;
    cursor: not-allowed;
}

.profile-alert[b-jtiv2llx7t] {
    border-radius: 0.72rem;
    padding: 0.62rem 0.8rem;
    margin-bottom: 0.85rem;
    font-size: 0.85rem;
    text-align: start;
}

.profile-alert.is-error[b-jtiv2llx7t] {
    border: 1px solid color-mix(in oklab, #c0392b 55%, var(--inv-border));
    background: color-mix(in oklab, #c0392b 12%, var(--inv-surface));
    color: color-mix(in oklab, #c0392b 80%, var(--inv-text));
}

.profile-alert.is-success[b-jtiv2llx7t] {
    border: 1px solid color-mix(in oklab, #16a34a 50%, var(--inv-border));
    background: color-mix(in oklab, #16a34a 12%, var(--inv-surface));
    color: color-mix(in oklab, #16a34a 80%, var(--inv-text));
}

.profile-field-error[b-jtiv2llx7t] {
    font-size: 0.78rem;
    color: color-mix(in oklab, #c0392b 80%, var(--inv-text));
}

.profile-address-grid[b-jtiv2llx7t] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1rem;
    margin-bottom: 0.85rem;
    padding: 0.85rem 0.9rem;
    border-radius: 0.85rem;
    border: 1px solid var(--inv-border);
    background: var(--inv-glass);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.profile-address-grid .profile-field[b-jtiv2llx7t] {
    margin-bottom: 0;
}

.profile-field-span-2[b-jtiv2llx7t] {
    grid-column: 1 / -1;
}

.profile-control[b-jtiv2llx7t],
.profile-select[b-jtiv2llx7t] {
    border-radius: 0.72rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-surface) 75%, transparent);
    color: var(--inv-text);
    font-size: 0.94rem;
    font-family: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.profile-control:focus[b-jtiv2llx7t],
.profile-select:focus[b-jtiv2llx7t] {
    outline: none;
    border-color: color-mix(in oklab, var(--inv-text) 35%, var(--inv-border));
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--inv-text) 12%, transparent);
    background: color-mix(in oklab, var(--inv-surface) 90%, transparent);
}

.profile-select[b-jtiv2llx7t] {
    padding: 0.55rem 0.85rem;
    cursor: pointer;
}

.profile-select:disabled[b-jtiv2llx7t] {
    opacity: 0.72;
    cursor: not-allowed;
}

.profile-textarea[b-jtiv2llx7t] {
    min-height: 5.5rem;
    resize: vertical;
}

@media (max-width: 640px) {
    .profile-address-grid[b-jtiv2llx7t] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .profile-section[b-jtiv2llx7t] {
        grid-column: 1 / -1;
    }

    .profile-field-address[b-jtiv2llx7t],
    .profile-field-postal[b-jtiv2llx7t] {
        grid-column: 1 / -1;
    }
}
/* /Components/Pages/Public/Auth/ForgotPassword.razor.rz.scp.css */
.auth-shell[b-tulw0qmz3f] {
    min-height: calc(100dvh - 5rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
}

.auth-card[b-tulw0qmz3f] {
    width: 100%;
    max-width: 420px;
    padding: 1.75rem 1.6rem;
    border-radius: 1.1rem;
    background: #fff;
    border: 1px solid #dadad8;
    box-shadow: none;
    color: var(--inv-text);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.auth-card:focus-within[b-tulw0qmz3f] {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(26, 26, 26, 0.06);
}

@media (hover: hover) {
    .auth-card:hover[b-tulw0qmz3f] {
        transform: translateY(-4px);
        box-shadow: 0 20px 40px rgba(26, 26, 26, 0.06);
    }
}

.auth-title[b-tulw0qmz3f] {
    margin: 0;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 800;
}

.auth-subtitle[b-tulw0qmz3f] {
    margin: 0;
    text-align: center;
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
    font-size: 0.9rem;
}

.auth-field[b-tulw0qmz3f] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-block-end: 0.85rem;
}

.auth-label[b-tulw0qmz3f] {
    font-size: 0.85rem;
    font-weight: 600;
    color: color-mix(in oklab, var(--inv-text) 80%, transparent);
}

.auth-input[b-tulw0qmz3f] {
    padding: 0.65rem 0.85rem;
    border-radius: 0.7rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-surface) 75%, transparent);
    color: var(--inv-text);
    font-size: 0.95rem;
    font-family: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.auth-input:focus[b-tulw0qmz3f] {
    outline: none;
    border-color: color-mix(in oklab, var(--inv-text) 35%, var(--inv-border));
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--inv-text) 12%, transparent);
    background: color-mix(in oklab, var(--inv-surface) 90%, transparent);
}

.auth-checkbox[b-tulw0qmz3f] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: color-mix(in oklab, var(--inv-text) 80%, transparent);
    cursor: pointer;
    user-select: none;
}

.auth-submit[b-tulw0qmz3f] {
    margin-block-start: 0.5rem;
    padding: 0.75rem 1rem;
    border-radius: 0.85rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-text) 10%, var(--inv-surface));
    color: var(--inv-text);
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease, opacity 0.15s ease;
}

.auth-submit:hover[b-tulw0qmz3f] {
    background: color-mix(in oklab, var(--inv-text) 18%, var(--inv-surface));
    transform: translateY(-1px);
}

.auth-submit:disabled[b-tulw0qmz3f] {
    opacity: 0.55;
    cursor: not-allowed;
}

.auth-error[b-tulw0qmz3f] {
    padding: 0.6rem 0.8rem;
    border-radius: 0.7rem;
    border: 1px solid color-mix(in oklab, #c0392b 55%, var(--inv-border));
    background: color-mix(in oklab, #c0392b 12%, var(--inv-surface));
    color: color-mix(in oklab, #c0392b 80%, var(--inv-text));
    font-size: 0.85rem;
    text-align: start;
}

.auth-field-error[b-tulw0qmz3f] {
    color: color-mix(in oklab, #c0392b 80%, var(--inv-text));
    font-size: 0.78rem;
}

.auth-link-row[b-tulw0qmz3f] {
    display: flex;
    justify-content: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
    margin-block-start: 0.25rem;
}

.auth-link[b-tulw0qmz3f] {
    color: var(--inv-text);
    text-decoration: none;
    font-weight: 700;
    border-block-end: 1px dashed color-mix(in oklab, var(--inv-text) 40%, transparent);
}

.auth-link:hover[b-tulw0qmz3f] {
    color: color-mix(in oklab, var(--inv-text) 80%, var(--inv-bg));
}

.auth-hint[b-tulw0qmz3f] {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.8rem;
    color: var(--posh-muted, #5d5d5a);
}

.auth-notice[b-tulw0qmz3f] {
    padding: 0.7rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.9rem;
    background: rgba(46, 125, 50, 0.08);
    color: #1b5e20;
    border: 1px solid rgba(46, 125, 50, 0.25);
}
/* /Components/Pages/Public/Auth/Login.razor.rz.scp.css */
.auth-shell[b-7obdjsrzvp] {
    min-height: calc(100dvh - 5rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
}

.auth-card[b-7obdjsrzvp] {
    width: 100%;
    max-width: 420px;
    padding: 1.75rem 1.6rem;
    border-radius: 1.1rem;
    background: #fff;
    border: 1px solid #dadad8;
    box-shadow: none;
    color: var(--inv-text);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.auth-card:focus-within[b-7obdjsrzvp] {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(26, 26, 26, 0.06);
}

@media (hover: hover) {
    .auth-card:hover[b-7obdjsrzvp] {
        transform: translateY(-4px);
        box-shadow: 0 20px 40px rgba(26, 26, 26, 0.06);
    }
}

.auth-title[b-7obdjsrzvp] {
    margin: 0;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 800;
}

.auth-subtitle[b-7obdjsrzvp] {
    margin: 0;
    text-align: center;
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
    font-size: 0.9rem;
}

.auth-field[b-7obdjsrzvp] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-block-end: 0.85rem;
}

.auth-label[b-7obdjsrzvp] {
    font-size: 0.85rem;
    font-weight: 600;
    color: color-mix(in oklab, var(--inv-text) 80%, transparent);
}

.auth-input[b-7obdjsrzvp] {
    padding: 0.65rem 0.85rem;
    border-radius: 0.7rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-surface) 75%, transparent);
    color: var(--inv-text);
    font-size: 0.95rem;
    font-family: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.auth-input:focus[b-7obdjsrzvp] {
    outline: none;
    border-color: color-mix(in oklab, var(--inv-text) 35%, var(--inv-border));
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--inv-text) 12%, transparent);
    background: color-mix(in oklab, var(--inv-surface) 90%, transparent);
}

.auth-checkbox[b-7obdjsrzvp] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: color-mix(in oklab, var(--inv-text) 80%, transparent);
    cursor: pointer;
    user-select: none;
}

.auth-submit[b-7obdjsrzvp] {
    margin-block-start: 0.5rem;
    padding: 0.75rem 1rem;
    border-radius: 0.85rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-text) 10%, var(--inv-surface));
    color: var(--inv-text);
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease, opacity 0.15s ease;
}

.auth-submit:hover[b-7obdjsrzvp] {
    background: color-mix(in oklab, var(--inv-text) 18%, var(--inv-surface));
    transform: translateY(-1px);
}

.auth-submit:disabled[b-7obdjsrzvp] {
    opacity: 0.55;
    cursor: not-allowed;
}

.auth-error[b-7obdjsrzvp] {
    padding: 0.6rem 0.8rem;
    border-radius: 0.7rem;
    border: 1px solid color-mix(in oklab, #c0392b 55%, var(--inv-border));
    background: color-mix(in oklab, #c0392b 12%, var(--inv-surface));
    color: color-mix(in oklab, #c0392b 80%, var(--inv-text));
    font-size: 0.85rem;
    text-align: start;
}

.auth-field-error[b-7obdjsrzvp] {
    color: color-mix(in oklab, #c0392b 80%, var(--inv-text));
    font-size: 0.78rem;
}

.auth-link-row[b-7obdjsrzvp] {
    display: flex;
    justify-content: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
    margin-block-start: 0.25rem;
}

.auth-link[b-7obdjsrzvp] {
    color: var(--inv-text);
    text-decoration: none;
    font-weight: 700;
    border-block-end: 1px dashed color-mix(in oklab, var(--inv-text) 40%, transparent);
}

.auth-link:hover[b-7obdjsrzvp] {
    color: color-mix(in oklab, var(--inv-text) 80%, var(--inv-bg));
}
/* /Components/Pages/Public/Auth/Register.razor.rz.scp.css */
.auth-shell[b-fx0s7991b8] {
    min-height: calc(100dvh - 5rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
}

.auth-card[b-fx0s7991b8] {
    width: 100%;
    max-width: 460px;
    padding: 1.75rem 1.6rem;
    border-radius: 1.1rem;
    background: #fff;
    border: 1px solid #dadad8;
    box-shadow: none;
    color: var(--inv-text);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.auth-card:focus-within[b-fx0s7991b8] {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(26, 26, 26, 0.06);
}

@media (hover: hover) {
    .auth-card:hover[b-fx0s7991b8] {
        transform: translateY(-4px);
        box-shadow: 0 20px 40px rgba(26, 26, 26, 0.06);
    }
}

.auth-title[b-fx0s7991b8] {
    margin: 0;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 800;
}

.auth-subtitle[b-fx0s7991b8] {
    margin: 0;
    text-align: center;
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
    font-size: 0.9rem;
}

.auth-field[b-fx0s7991b8] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-block-end: 0.85rem;
}

.auth-label[b-fx0s7991b8] {
    font-size: 0.85rem;
    font-weight: 600;
    color: color-mix(in oklab, var(--inv-text) 80%, transparent);
}

.auth-input[b-fx0s7991b8] {
    padding: 0.65rem 0.85rem;
    border-radius: 0.7rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-surface) 75%, transparent);
    color: var(--inv-text);
    font-size: 0.95rem;
    font-family: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.auth-input:focus[b-fx0s7991b8] {
    outline: none;
    border-color: color-mix(in oklab, var(--inv-text) 35%, var(--inv-border));
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--inv-text) 12%, transparent);
    background: color-mix(in oklab, var(--inv-surface) 90%, transparent);
}

.auth-submit[b-fx0s7991b8] {
    margin-block-start: 0.5rem;
    padding: 0.75rem 1rem;
    border-radius: 0.85rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-text) 10%, var(--inv-surface));
    color: var(--inv-text);
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease, opacity 0.15s ease;
}

.auth-submit:hover[b-fx0s7991b8] {
    background: color-mix(in oklab, var(--inv-text) 18%, var(--inv-surface));
    transform: translateY(-1px);
}

.auth-submit:disabled[b-fx0s7991b8] {
    opacity: 0.55;
    cursor: not-allowed;
}

.auth-error[b-fx0s7991b8] {
    padding: 0.6rem 0.8rem;
    border-radius: 0.7rem;
    border: 1px solid color-mix(in oklab, #c0392b 55%, var(--inv-border));
    background: color-mix(in oklab, #c0392b 12%, var(--inv-surface));
    color: color-mix(in oklab, #c0392b 80%, var(--inv-text));
    font-size: 0.85rem;
    text-align: start;
}

.auth-error-list[b-fx0s7991b8] {
    list-style: disc;
    padding-inline-start: 1.2rem;
    margin: 0;
}

.auth-field-error[b-fx0s7991b8] {
    color: color-mix(in oklab, #c0392b 80%, var(--inv-text));
    font-size: 0.78rem;
}

.auth-link-row[b-fx0s7991b8] {
    display: flex;
    justify-content: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
    margin-block-start: 0.25rem;
}

.auth-link[b-fx0s7991b8] {
    color: var(--inv-text);
    text-decoration: none;
    font-weight: 700;
    border-block-end: 1px dashed color-mix(in oklab, var(--inv-text) 40%, transparent);
}

.auth-link:hover[b-fx0s7991b8] {
    color: color-mix(in oklab, var(--inv-text) 80%, var(--inv-bg));
}

.auth-hint[b-fx0s7991b8] {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.8rem;
    color: var(--posh-muted, #5d5d5a);
}

.auth-notice[b-fx0s7991b8] {
    padding: 0.7rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.9rem;
    background: rgba(46, 125, 50, 0.08);
    color: #1b5e20;
    border: 1px solid rgba(46, 125, 50, 0.25);
}
/* /Components/Pages/Public/Auth/ResetPassword.razor.rz.scp.css */
.auth-shell[b-lliyrugk0c] {
    min-height: calc(100dvh - 5rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
}

.auth-card[b-lliyrugk0c] {
    width: 100%;
    max-width: 420px;
    padding: 1.75rem 1.6rem;
    border-radius: 1.1rem;
    background: #fff;
    border: 1px solid #dadad8;
    box-shadow: none;
    color: var(--inv-text);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    transition: transform 220ms ease, box-shadow 220ms ease;
}

.auth-card:focus-within[b-lliyrugk0c] {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(26, 26, 26, 0.06);
}

@media (hover: hover) {
    .auth-card:hover[b-lliyrugk0c] {
        transform: translateY(-4px);
        box-shadow: 0 20px 40px rgba(26, 26, 26, 0.06);
    }
}

.auth-title[b-lliyrugk0c] {
    margin: 0;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 800;
}

.auth-subtitle[b-lliyrugk0c] {
    margin: 0;
    text-align: center;
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
    font-size: 0.9rem;
}

.auth-field[b-lliyrugk0c] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin-block-end: 0.85rem;
}

.auth-label[b-lliyrugk0c] {
    font-size: 0.85rem;
    font-weight: 600;
    color: color-mix(in oklab, var(--inv-text) 80%, transparent);
}

.auth-input[b-lliyrugk0c] {
    padding: 0.65rem 0.85rem;
    border-radius: 0.7rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-surface) 75%, transparent);
    color: var(--inv-text);
    font-size: 0.95rem;
    font-family: inherit;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.auth-input:focus[b-lliyrugk0c] {
    outline: none;
    border-color: color-mix(in oklab, var(--inv-text) 35%, var(--inv-border));
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--inv-text) 12%, transparent);
    background: color-mix(in oklab, var(--inv-surface) 90%, transparent);
}

.auth-checkbox[b-lliyrugk0c] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: color-mix(in oklab, var(--inv-text) 80%, transparent);
    cursor: pointer;
    user-select: none;
}

.auth-submit[b-lliyrugk0c] {
    margin-block-start: 0.5rem;
    padding: 0.75rem 1rem;
    border-radius: 0.85rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-text) 10%, var(--inv-surface));
    color: var(--inv-text);
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease, opacity 0.15s ease;
}

.auth-submit:hover[b-lliyrugk0c] {
    background: color-mix(in oklab, var(--inv-text) 18%, var(--inv-surface));
    transform: translateY(-1px);
}

.auth-submit:disabled[b-lliyrugk0c] {
    opacity: 0.55;
    cursor: not-allowed;
}

.auth-error[b-lliyrugk0c] {
    padding: 0.6rem 0.8rem;
    border-radius: 0.7rem;
    border: 1px solid color-mix(in oklab, #c0392b 55%, var(--inv-border));
    background: color-mix(in oklab, #c0392b 12%, var(--inv-surface));
    color: color-mix(in oklab, #c0392b 80%, var(--inv-text));
    font-size: 0.85rem;
    text-align: start;
}

.auth-field-error[b-lliyrugk0c] {
    color: color-mix(in oklab, #c0392b 80%, var(--inv-text));
    font-size: 0.78rem;
}

.auth-link-row[b-lliyrugk0c] {
    display: flex;
    justify-content: center;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
    margin-block-start: 0.25rem;
}

.auth-link[b-lliyrugk0c] {
    color: var(--inv-text);
    text-decoration: none;
    font-weight: 700;
    border-block-end: 1px dashed color-mix(in oklab, var(--inv-text) 40%, transparent);
}

.auth-link:hover[b-lliyrugk0c] {
    color: color-mix(in oklab, var(--inv-text) 80%, var(--inv-bg));
}

.auth-hint[b-lliyrugk0c] {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.8rem;
    color: var(--posh-muted, #5d5d5a);
}

.auth-notice[b-lliyrugk0c] {
    padding: 0.7rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.9rem;
    background: rgba(46, 125, 50, 0.08);
    color: #1b5e20;
    border: 1px solid rgba(46, 125, 50, 0.25);
}

.auth-error-list[b-lliyrugk0c] {
    margin: 0.4rem 0 0;
    padding-inline-start: 1.2rem;
}
/* /Components/Pages/Public/CartPanel.razor.rz.scp.css */
.cart-backdrop[b-c0y4gj7a7w] {
    position: fixed;
    inset: 0;
    z-index: 1040;
    background: rgba(8, 12, 18, 0.45);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.18s ease, visibility 0s linear 0.18s;
}

.cart-backdrop.is-visible[b-c0y4gj7a7w] {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.cart-panel[b-c0y4gj7a7w] {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 400px;
    max-width: 100vw;
    z-index: 1050;
    display: flex;
    flex-direction: column;
    min-height: 0;
    background: #fff;
    border-right: 1px solid #dadad8;
    box-shadow: none;
    animation: cartSlideIn-b-c0y4gj7a7w 0.22s ease;
    color: var(--inv-text);
    overscroll-behavior: contain;
}

.cart-panel-header[b-c0y4gj7a7w],
.cart-panel-footer[b-c0y4gj7a7w] {
    padding: 0.9rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.cart-panel-header[b-c0y4gj7a7w] {
    border-bottom: 1px solid var(--inv-border);
}

.cart-panel-footer[b-c0y4gj7a7w] {
    border-top: 1px solid var(--inv-border);
    flex-direction: column;
    gap: 0.65rem;
    align-items: stretch;
}

.cart-panel-title[b-c0y4gj7a7w] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
}

.cart-panel-close[b-c0y4gj7a7w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: transparent;
    border: 1px solid var(--inv-border);
    border-radius: 999px;
    width: 1.85rem;
    height: 1.85rem;
    line-height: 1;
    color: var(--inv-text);
    cursor: pointer;
    transition: background 0.15s ease, transform 0.12s ease;
    font-size: 0.8rem;
}

.cart-panel-close:hover[b-c0y4gj7a7w] {
    background: color-mix(in oklab, var(--inv-text) 12%, transparent);
}

.cart-panel-body[b-c0y4gj7a7w] {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    scrollbar-gutter: stable;
    padding: 0.5rem 0.75rem;
}

.cart-list[b-c0y4gj7a7w] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.cart-item[b-c0y4gj7a7w] {
    display: grid;
    grid-template-columns: 64px 1fr auto;
    gap: 0.6rem;
    padding: 0.6rem;
    background: color-mix(in oklab, var(--inv-surface) 70%, transparent);
    border: 1px solid var(--inv-border);
    border-radius: 0.8rem;
    align-items: center;
}

.cart-item.is-highlighted[b-c0y4gj7a7w] {
    animation: cartItemHighlight-b-c0y4gj7a7w 1.5s ease-out;
}

.cart-item-thumb[b-c0y4gj7a7w] {
    width: 64px;
    height: 64px;
    border-radius: 0.55rem;
    overflow: hidden;
    background: color-mix(in oklab, var(--inv-surface) 70%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
}

.cart-item-thumb img[b-c0y4gj7a7w] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cart-thumb-placeholder[b-c0y4gj7a7w] {
    font-size: 1.4rem;
    line-height: 1;
    opacity: 0.55;
}

.cart-item-main[b-c0y4gj7a7w] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 0;
}

.cart-item-name[b-c0y4gj7a7w] {
    font-weight: 700;
    font-size: 0.95rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cart-item-meta[b-c0y4gj7a7w] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.cart-item-meta-pill[b-c0y4gj7a7w] {
    font-size: 0.72rem;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-surface) 75%, transparent);
}

.cart-item-controls[b-c0y4gj7a7w] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.25rem;
    margin-top: 0.15rem;
}

/* Quantity Adjustment: «− n +» reads left to right in every locale, so the group is always LTR. */
.cart-qty[b-c0y4gj7a7w] {
    display: inline-flex;
    align-items: center;
}

/* The tap target is 44px square; the visible circle stays as light as the trash control beside it. */
.cart-qty-button[b-c0y4gj7a7w],
.cart-qty-spacer[b-c0y4gj7a7w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-block-size: 44px;
    min-inline-size: 44px;
}

.cart-qty-button[b-c0y4gj7a7w] {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--inv-text);
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}

.cart-qty-glyph[b-c0y4gj7a7w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 1.75rem;
    block-size: 1.75rem;
    border: 1px solid var(--inv-border);
    border-radius: 999px;
    line-height: 1;
    font-size: 0.8rem;
    transition: background 0.15s ease;
}

.cart-qty-button:hover .cart-qty-glyph[b-c0y4gj7a7w] {
    background: color-mix(in oklab, var(--inv-text) 12%, transparent);
}

.cart-qty-button:focus-visible[b-c0y4gj7a7w] {
    outline: none;
}

.cart-qty-button:focus-visible .cart-qty-glyph[b-c0y4gj7a7w] {
    outline: 2px solid var(--inv-text);
    outline-offset: 2px;
}

.cart-qty-value[b-c0y4gj7a7w] {
    min-inline-size: 1.5rem;
    text-align: center;
    font-weight: 700;
    font-size: 0.9rem;
    font-variant-numeric: tabular-nums;
}

/* A rejected increase: the stock message sits under the line it belongs to, across the full row. */
.cart-item-error[b-c0y4gj7a7w] {
    grid-column: 1 / -1;
    margin: 0;
    padding: 0.45rem 0.65rem;
    border: 1px solid color-mix(in oklab, #c0392b 55%, var(--inv-border));
    border-radius: 0.6rem;
    background: color-mix(in oklab, #c0392b 10%, var(--inv-surface));
    color: color-mix(in oklab, #c0392b 80%, var(--inv-text));
    font-size: 0.78rem;
    line-height: 1.6;
}

.cart-trash[b-c0y4gj7a7w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    padding: 0;
    background: transparent;
    border: 1px solid var(--inv-border);
    border-radius: 999px;
    width: 1.85rem;
    height: 1.85rem;
    cursor: pointer;
    color: var(--inv-text);
    line-height: 1;
    font-size: 0.85rem;
}

.cart-trash:hover[b-c0y4gj7a7w] {
    background: color-mix(in oklab, var(--inv-text) 12%, transparent);
}

.cart-item-price[b-c0y4gj7a7w] {
    text-align: end;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.cart-item-price-value[b-c0y4gj7a7w] {
    font-weight: 700;
    font-size: 0.95rem;
}

.cart-empty[b-c0y4gj7a7w] {
    text-align: center;
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
    padding: 2rem 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
}

.cart-empty-icon[b-c0y4gj7a7w] {
    font-size: 2rem;
    line-height: 1;
    opacity: 0.7;
}

.cart-total[b-c0y4gj7a7w] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}

.cart-total-label[b-c0y4gj7a7w] {
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
    font-size: 0.85rem;
}

.cart-total-value[b-c0y4gj7a7w] {
    font-weight: 800;
    font-size: 1.1rem;
}

.cart-checkout[b-c0y4gj7a7w] {
    padding: 0.75rem 1rem;
    border-radius: 0.85rem;
    border: 1px solid var(--inv-border);
    background: color-mix(in oklab, var(--inv-text) 10%, var(--inv-surface));
    color: var(--inv-text);
    font-weight: 700;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease, opacity 0.15s ease;
}

.cart-checkout:hover:not(:disabled)[b-c0y4gj7a7w] {
    background: color-mix(in oklab, var(--inv-text) 18%, var(--inv-surface));
    transform: translateY(-1px);
}

.cart-checkout:disabled[b-c0y4gj7a7w] {
    opacity: 0.55;
    cursor: not-allowed;
}

/* Continue Shopping: a quieter companion to «ثبت سفارش» that only dismisses the panel. */
.cart-continue[b-c0y4gj7a7w] {
    padding: 0.5rem 1rem;
    border: none;
    background: transparent;
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    border-radius: 0.85rem;
    transition: color 0.15s ease, background 0.15s ease;
}

.cart-continue:hover[b-c0y4gj7a7w] {
    color: var(--inv-text);
    background: color-mix(in oklab, var(--inv-text) 6%, transparent);
}

.cart-continue:focus-visible[b-c0y4gj7a7w] {
    outline: 2px solid var(--inv-text);
    outline-offset: 2px;
}

@keyframes cartSlideIn-b-c0y4gj7a7w {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(0);
    }
}

@keyframes cartFloatingIn-b-c0y4gj7a7w {
    from {
        opacity: 0;
        transform: translateY(-0.45rem) scale(0.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@keyframes cartItemHighlight-b-c0y4gj7a7w {
    0%, 45% {
        background: color-mix(in oklab, #2f9e67 18%, var(--inv-surface));
        border-color: color-mix(in oklab, #2f9e67 55%, var(--inv-border));
    }

    100% {
        background: color-mix(in oklab, var(--inv-surface) 70%, transparent);
        border-color: var(--inv-border);
    }
}

/* Mobile Cart Panel: compact, fixed, active, and independently scrollable, in the middle of the screen. */
@media (max-width: 767.98px) {
    .cart-backdrop[b-c0y4gj7a7w] {
        background: rgba(8, 12, 18, 0.14);
        pointer-events: auto;
    }

    .cart-backdrop.is-visible[b-c0y4gj7a7w] {
        pointer-events: auto;
    }

    /* Centred both ways like a dialog, so the gaps either side are equal on every phone width. The panel
       is as tall as its content up to the cap; past that its list scrolls (ADR 0043). */
    .cart-panel[b-c0y4gj7a7w] {
        inset: 0;
        margin: auto;
        width: min(21rem, calc(100vw - 1.5rem));
        max-width: calc(100vw - 1.5rem);
        height: fit-content;
        max-height: min(86dvh, calc(100dvh - 2rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)), 42rem);
        border: 1px solid var(--inv-border);
        border-radius: 1rem;
        box-shadow: 0 18px 44px -26px color-mix(in oklab, var(--inv-text) 32%, transparent);
        animation: cartFloatingIn-b-c0y4gj7a7w 0.18s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .cart-panel-header[b-c0y4gj7a7w],
    .cart-panel-footer[b-c0y4gj7a7w] {
        flex: 0 0 auto;
        padding: 0.72rem 0.8rem;
    }

    .cart-panel-title[b-c0y4gj7a7w] {
        font-size: 0.96rem;
    }

    /* The list starts at its own content height and shrinks, scrolling, only once the panel reaches its cap.
       The desktop rule's flex: 1 starts it at zero height: Chrome sizes a content-tall panel from the list's
       content anyway, but Safari on iPhone keeps the zero and the lines vanish between header and footer. */
    .cart-panel-body[b-c0y4gj7a7w] {
        flex: 0 1 auto;
        padding: 0.42rem 0.55rem;
    }

    /* The price moves up beside the name, so the quantity controls and the trash share one row as wide as
       the line beside the thumbnail. With the price in a column of its own the middle column was too narrow
       at phone width, and the trash wrapped under the quantity controls. */
    .cart-item[b-c0y4gj7a7w] {
        grid-template-columns: 52px minmax(0, 1fr) auto;
        grid-template-areas:
            "thumb name price"
            "thumb meta meta"
            "thumb controls controls";
        column-gap: 0.55rem;
        row-gap: 0.3rem;
        padding: 0.5rem;
        border-radius: 0.7rem;
    }

    .cart-item-thumb[b-c0y4gj7a7w] {
        grid-area: thumb;
        width: 52px;
        height: 52px;
    }

    .cart-item-main[b-c0y4gj7a7w] {
        display: contents;
    }

    .cart-item-meta[b-c0y4gj7a7w] {
        grid-area: meta;
    }

    .cart-item-controls[b-c0y4gj7a7w] {
        grid-area: controls;
        flex-wrap: nowrap;
        margin-top: 0;
    }

    .cart-item-name[b-c0y4gj7a7w] {
        grid-area: name;
        font-size: 0.84rem;
    }

    .cart-item-meta-pill[b-c0y4gj7a7w] {
        font-size: 0.67rem;
        padding-inline: 0.35rem;
    }

    .cart-qty-value[b-c0y4gj7a7w] {
        font-size: 0.82rem;
    }

    .cart-item-error[b-c0y4gj7a7w] {
        font-size: 0.72rem;
    }

    .cart-trash[b-c0y4gj7a7w] {
        width: 1.75rem;
        height: 1.75rem;
        font-size: 0.82rem;
    }

    .cart-item-price[b-c0y4gj7a7w] {
        grid-area: price;
    }

    .cart-item-price-value[b-c0y4gj7a7w] {
        font-size: 0.82rem;
    }

    .cart-empty[b-c0y4gj7a7w] {
        padding: 1.4rem 0.7rem;
    }

    .cart-total-value[b-c0y4gj7a7w] {
        font-size: 1rem;
    }

    .cart-checkout[b-c0y4gj7a7w] {
        padding: 0.65rem 0.8rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cart-backdrop[b-c0y4gj7a7w] {
        transition: none;
    }

    .cart-panel[b-c0y4gj7a7w] {
        animation: none;
    }

    .cart-item.is-highlighted[b-c0y4gj7a7w] {
        animation: none;
        background: color-mix(in oklab, #2f9e67 18%, var(--inv-surface));
        border-color: color-mix(in oklab, #2f9e67 55%, var(--inv-border));
    }
}
/* /Components/Pages/Public/CartWidget.razor.rz.scp.css */
.shop-action[b-tcj6m7u3jb] {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.7rem;
    border-radius: 999px;
    color: var(--inv-text);
    text-decoration: none;
    background: color-mix(in oklab, var(--inv-surface) 75%, transparent);
    border: 1px solid var(--inv-border);
    font-size: 0.88rem;
    transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.shop-action:hover[b-tcj6m7u3jb] {
    background: color-mix(in oklab, var(--inv-text) 10%, transparent);
    transform: translateY(-1px);
}

.shop-action-icon[b-tcj6m7u3jb] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.05rem;
    line-height: 1;
}

.shop-action-label[b-tcj6m7u3jb] {
    white-space: nowrap;
}

.shop-cart[b-tcj6m7u3jb] {
    padding-inline-end: 1rem;
}

.shop-cart-badge[b-tcj6m7u3jb] {
    position: absolute;
    top: -6px;
    inset-inline-start: -6px;
    min-width: 1.2rem;
    height: 1.2rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    font-size: 0.7rem;
    line-height: 1.2rem;
    text-align: center;
    background: var(--inv-text);
    color: var(--inv-bg);
    font-weight: 700;
    box-shadow: 0 4px 14px -6px rgba(0, 0, 0, 0.45);
}

@media (max-width: 640.98px) {
    .shop-action-label[b-tcj6m7u3jb] {
        display: none;
    }

    .shop-action[b-tcj6m7u3jb] {
        min-width: 2.75rem;
        min-height: 2.75rem;
        padding: 0.4rem 0.55rem;
        justify-content: center;
    }
}
/* /Components/Pages/Public/CategoryProducts.razor.rz.scp.css */
.category-hero[b-dwdacq54gk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.75rem, 2vw, 1.1rem);
    margin: 0 auto 2rem;
    text-align: center;
}

.category-back-badge[b-dwdacq54gk] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 1.15rem;
    border-radius: 999px;
    color: var(--inv-text);
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 600;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.category-back-badge:hover[b-dwdacq54gk] {
    transform: translateY(-2px) scale(1.02);
    border-color: color-mix(in oklab, var(--inv-accent) 45%, var(--inv-border));
    box-shadow:
        0 10px 24px -12px color-mix(in oklab, var(--inv-accent) 35%, transparent),
        inset 0 1px 0 color-mix(in oklab, var(--inv-text) 15%, transparent);
}

.back-icon[b-dwdacq54gk] {
    font-size: 1.1rem;
    transition: transform 0.2s ease;
}

.category-back-badge:hover .back-icon[b-dwdacq54gk] {
    transform: translateX(3px);
}

.category-hero-glow[b-dwdacq54gk] {
    margin: 0;
}

.category-hero-inner[b-dwdacq54gk] {
    width: min(100%, 32rem);
    padding: clamp(1.2rem, 3.5vw, 1.6rem) clamp(1.2rem, 3.5vw, 1.8rem);
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    border-radius: 1.5rem;
}

.category-hero-inner h1[b-dwdacq54gk] {
    margin: 0;
    font-size: clamp(1.5rem, 4.2vw, 2rem);
    font-weight: 800;
    letter-spacing: 0.01em;
    line-height: 1.3;
    color: var(--inv-text);
    text-shadow:
        0 0 24px color-mix(in oklab, var(--inv-accent) 25%, transparent),
        0 2px 12px color-mix(in oklab, var(--inv-text) 18%, transparent);
}

.category-hero-lead[b-dwdacq54gk] {
    margin: 0;
    font-size: clamp(0.95rem, 2.6vw, 1.05rem);
    font-weight: 500;
    color: color-mix(in oklab, var(--inv-text) 72%, transparent);
    line-height: 1.5;
}
/* /Components/Pages/Public/Checkout.razor.rz.scp.css */
/*
    Mobile-first Checkout Wizard. Mobile is the primary layout: one column, a safe-area-aware
    sticky action bar, and enough page padding that the bar never covers the last line, a field or
    an error. Tablet and desktop widen into a balanced two-column composition with a sticky summary
    rather than stretching the mobile cards.
*/

.checkout-shell[b-7rrszicn6a] {
    --checkout-success: #2f9e67;
    --checkout-error: #c0392b;
    /* The compact bar: the store-rules notice on top, then the total and the single action. */
    --checkout-actionbar-block: 8rem;

    inline-size: 100%;
    max-inline-size: 68rem;
    margin-inline: auto;
    padding-inline: 1rem;
    padding-block: 1.25rem;
    /* Clears the fixed action bar plus the device's own bottom inset. */
    padding-block-end: calc(var(--checkout-actionbar-block) + env(safe-area-inset-bottom, 0px) + 1.5rem);
    color: var(--inv-text);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    /* Nothing inside checkout may push the page sideways. */
    overflow-x: clip;
}

.checkout-head[b-7rrszicn6a] {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}

.checkout-title[b-7rrszicn6a] {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.checkout-card[b-7rrszicn6a] {
    background: var(--inv-surface);
    border: 1px solid var(--inv-border);
    border-radius: 1rem;
    padding: 1.1rem;
    box-shadow: none;
    transition: transform 240ms ease, box-shadow 240ms ease;
}

.checkout-card:focus-within[b-7rrszicn6a] {
    box-shadow: 0 18px 42px rgba(26, 26, 26, 0.06);
}

.checkout-loading[b-7rrszicn6a] {
    text-align: center;
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
}

.checkout-step[b-7rrszicn6a] {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
    min-inline-size: 0;
}

.checkout-step-heading[b-7rrszicn6a] {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
}

.checkout-step-heading:focus-visible[b-7rrszicn6a] {
    outline: 2px solid var(--inv-text);
    outline-offset: 4px;
    border-radius: 0.35rem;
}

/* --- Stage transition ---------------------------------------------------- */

.checkout-stage[b-7rrszicn6a] {
    min-inline-size: 0;
}

/* Forward moves content toward the left; backward moves it toward the right. */
.checkout-stage-forward[b-7rrszicn6a] {
    animation: checkoutStageForward-b-7rrszicn6a 240ms ease both;
}

.checkout-stage-back[b-7rrszicn6a] {
    animation: checkoutStageBack-b-7rrszicn6a 240ms ease both;
}

@keyframes checkoutStageForward-b-7rrszicn6a {
    from { opacity: 0; transform: translateX(1.25rem); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes checkoutStageBack-b-7rrszicn6a {
    from { opacity: 0; transform: translateX(-1.25rem); }
    to { opacity: 1; transform: translateX(0); }
}

/* --- Cart review --------------------------------------------------------- */

.checkout-lines[b-7rrszicn6a] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

.checkout-line[b-7rrszicn6a] {
    display: grid;
    grid-template-columns: 3.75rem minmax(0, 1fr) auto;
    gap: 0.7rem;
    align-items: start;
    padding: 0.6rem;
    border: 1px solid var(--inv-border);
    border-radius: 0.75rem;
    background: color-mix(in oklab, var(--inv-bg) 55%, transparent);
}

.checkout-line-thumb[b-7rrszicn6a] {
    inline-size: 3.75rem;
    block-size: 3.75rem;
    border-radius: 0.55rem;
    overflow: hidden;
    display: grid;
    place-items: center;
    background: var(--inv-bg);
    border: 1px solid var(--inv-border);
}

.checkout-line-thumb img[b-7rrszicn6a] {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.checkout-thumb-placeholder[b-7rrszicn6a] {
    font-size: 1.25rem;
    opacity: 0.45;
}

.checkout-line-main[b-7rrszicn6a] {
    min-inline-size: 0;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.checkout-line-name[b-7rrszicn6a] {
    font-weight: 700;
    font-size: 0.95rem;
    overflow-wrap: anywhere;
}

.checkout-line-meta[b-7rrszicn6a] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    align-items: center;
}

.checkout-meta-pill[b-7rrszicn6a] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.72rem;
    padding: 0.12rem 0.5rem;
    border-radius: 999px;
    border: 1px solid var(--inv-border);
    background: var(--inv-surface);
}

.checkout-line-unit[b-7rrszicn6a] {
    font-size: 0.78rem;
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
}

.checkout-line-side[b-7rrszicn6a] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.5rem;
}

.checkout-line-total[b-7rrszicn6a] {
    font-weight: 800;
    font-size: 0.95rem;
    white-space: nowrap;
}

.checkout-line-remove[b-7rrszicn6a] {
    min-inline-size: 44px;
    min-block-size: 44px;
    display: grid;
    place-items: center;
    border: 1px solid var(--inv-border);
    border-radius: 0.65rem;
    background: var(--inv-surface);
    color: var(--checkout-error);
    cursor: pointer;
    transition: background-color 240ms ease, border-color 240ms ease;
}

.checkout-line-remove:hover:not(:disabled)[b-7rrszicn6a] {
    background: color-mix(in oklab, var(--checkout-error) 8%, var(--inv-surface));
    border-color: color-mix(in oklab, var(--checkout-error) 45%, var(--inv-border));
}

.checkout-line-remove:focus-visible[b-7rrszicn6a] {
    outline: 2px solid var(--checkout-error);
    outline-offset: 2px;
}

.checkout-line-remove:disabled[b-7rrszicn6a] {
    opacity: 0.5;
    cursor: not-allowed;
}

.checkout-total[b-7rrszicn6a] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding-block-start: 0.75rem;
    border-block-start: 1px dashed var(--inv-border);
}

.checkout-total-label[b-7rrszicn6a] {
    font-size: 0.9rem;
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
}

.checkout-total-value[b-7rrszicn6a] {
    font-weight: 800;
    font-size: 1.1rem;
}

.checkout-empty[b-7rrszicn6a] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.4rem;
    padding-block: 2rem;
    text-align: center;
}

.checkout-empty-icon[b-7rrszicn6a] {
    font-size: 2rem;
    opacity: 0.35;
}

.checkout-empty-title[b-7rrszicn6a] {
    margin: 0;
    font-weight: 700;
}

.checkout-empty-note[b-7rrszicn6a] {
    margin: 0;
    font-size: 0.88rem;
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
}

/* --- Discount Code ------------------------------------------------------- */

/* The price before the code, struck through and muted beside the new price (CONTEXT.md, Code-Eligible Line). */
.checkout-price-before[b-7rrszicn6a] {
    margin-inline-end: 0.35rem;
    font-size: 0.85em;
    font-weight: 400;
    color: color-mix(in oklab, var(--inv-text) 52%, transparent);
    text-decoration: line-through;
}

/* In the narrow amount columns the old total sits on its own line above the new one. */
.checkout-line-total .checkout-price-before[b-7rrszicn6a],
.checkout-summary-amount .checkout-price-before[b-7rrszicn6a],
.checkout-review-total .checkout-price-before[b-7rrszicn6a] {
    display: block;
    margin-inline-end: 0;
}

/* Below the 1100px layout the line's middle column is too narrow for two prices; the line total keeps the struck
   price beside the new one. */
.checkout-line-unit .checkout-price-before[b-7rrszicn6a] {
    display: none;
}

.checkout-line-code-note[b-7rrszicn6a] {
    grid-column: 1 / -1;
    font-size: 0.75rem;
    line-height: 1.6;
    color: color-mix(in oklab, var(--inv-text) 62%, transparent);
}

.checkout-total-breakdown[b-7rrszicn6a] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding-block-start: 0.75rem;
    border-block-start: 1px dashed var(--inv-border);
}

.checkout-total-subtotal[b-7rrszicn6a],
.checkout-total-discount[b-7rrszicn6a] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.88rem;
}

.checkout-total-amount[b-7rrszicn6a] {
    font-weight: 700;
    white-space: nowrap;
}

.checkout-total-discount .checkout-total-amount[b-7rrszicn6a] {
    color: var(--checkout-success);
}

/* Quiet until tapped: a text link, never a second button competing with the stage action. */
.checkout-code-box[b-7rrszicn6a] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-inline-size: 0;
}

.checkout-code-link[b-7rrszicn6a] {
    align-self: flex-start;
    min-block-size: 44px;
    padding: 0.3rem 0.1rem;
    border: 0;
    background: none;
    color: var(--inv-text);
    font: inherit;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.3em;
    text-decoration-color: color-mix(in oklab, var(--inv-text) 40%, transparent);
    cursor: pointer;
}

.checkout-code-link:focus-visible[b-7rrszicn6a],
.checkout-code-remove:focus-visible[b-7rrszicn6a] {
    outline: 2px solid var(--inv-text);
    outline-offset: 2px;
    border-radius: 0.35rem;
}

/* A form, so Enter in the field applies the code. */
.checkout-code-row[b-7rrszicn6a] {
    display: flex;
    gap: 0.5rem;
    min-inline-size: 0;
    margin: 0;
}

.checkout-code-input[b-7rrszicn6a] {
    flex: 1 1 auto;
    min-inline-size: 0;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.checkout-code-apply[b-7rrszicn6a] {
    flex: none;
}

/* The Applied Discount Code card: the code, its rules sentence and «حذف». */
.checkout-code-card[b-7rrszicn6a] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.75rem 0.85rem;
    border: 1px dashed color-mix(in oklab, var(--checkout-success) 55%, var(--inv-border));
    border-radius: 0.75rem;
    background: color-mix(in oklab, var(--checkout-success) 6%, var(--inv-surface));
}

.checkout-code-head[b-7rrszicn6a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.checkout-code-title[b-7rrszicn6a] {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.4rem;
    min-inline-size: 0;
    font-size: 0.88rem;
    font-weight: 600;
}

.checkout-code-title .bi[b-7rrszicn6a] {
    color: var(--checkout-success);
}

.checkout-code-name[b-7rrszicn6a] {
    font-weight: 800;
    letter-spacing: 0.04em;
    overflow-wrap: anywhere;
}

.checkout-code-remove[b-7rrszicn6a] {
    flex: none;
    min-inline-size: 44px;
    min-block-size: 44px;
    padding: 0.3rem 0.7rem;
    border: 1px solid var(--inv-border);
    border-radius: 0.65rem;
    background: var(--inv-surface);
    color: var(--checkout-error);
    font: inherit;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
}

.checkout-code-rules[b-7rrszicn6a],
.checkout-code-warning[b-7rrszicn6a] {
    margin: 0;
    font-size: 0.82rem;
    line-height: 1.7;
    color: color-mix(in oklab, var(--inv-text) 72%, transparent);
}

.checkout-code-warning[b-7rrszicn6a] {
    font-weight: 600;
}

/* --- Collapsed order summary --------------------------------------------- */

.checkout-summary-accordion[b-7rrszicn6a] {
    border: 1px solid var(--inv-border);
    border-radius: 0.75rem;
    background: color-mix(in oklab, var(--inv-bg) 55%, transparent);
}

.checkout-summary-header[b-7rrszicn6a] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    min-block-size: 44px;
    padding: 0.6rem 0.8rem;
    cursor: pointer;
    font-size: 0.88rem;
    font-weight: 600;
    list-style: none;
}

/* The default disclosure triangle sits on the wrong side in RTL; use a chevron instead. */
.checkout-summary-header[b-7rrszicn6a]::-webkit-details-marker {
    display: none;
}

.checkout-summary-header[b-7rrszicn6a]::after {
    content: "\F282"; /* bi-chevron-down */
    font-family: "bootstrap-icons";
    font-size: 0.8rem;
    margin-inline-start: auto;
    transition: transform 240ms ease;
}

.checkout-summary-accordion[open] .checkout-summary-header[b-7rrszicn6a]::after {
    transform: rotate(180deg);
}

.checkout-summary-header:focus-visible[b-7rrszicn6a] {
    outline: 2px solid var(--inv-text);
    outline-offset: 2px;
    border-radius: 0.7rem;
}

.checkout-summary-total[b-7rrszicn6a] {
    font-weight: 800;
    white-space: nowrap;
}

.checkout-summary-lines[b-7rrszicn6a] {
    list-style: none;
    margin: 0;
    padding: 0 0.8rem 0.7rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.checkout-summary-line[b-7rrszicn6a] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.6rem;
    align-items: baseline;
    font-size: 0.84rem;
    padding-block-start: 0.45rem;
    border-block-start: 1px dashed var(--inv-border);
}

.checkout-summary-name[b-7rrszicn6a] {
    min-inline-size: 0;
    overflow-wrap: anywhere;
}

.checkout-summary-qty[b-7rrszicn6a] {
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
}

.checkout-summary-amount[b-7rrszicn6a] {
    font-weight: 700;
    white-space: nowrap;
}

/* --- Address fields ------------------------------------------------------ */

.checkout-field[b-7rrszicn6a] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-inline-size: 0;
    /* Keeps a focused field clear of the sticky bar when the browser scrolls it into view. */
    scroll-margin-block-end: calc(var(--checkout-actionbar-block) + 1.5rem);
    scroll-margin-block-start: 5rem;
}

.checkout-field-row[b-7rrszicn6a] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.9rem;
}

.checkout-label[b-7rrszicn6a] {
    font-size: 0.88rem;
    font-weight: 600;
    color: color-mix(in oklab, var(--inv-text) 80%, transparent);
}

.checkout-optional[b-7rrszicn6a] {
    font-weight: 400;
    font-size: 0.8rem;
    color: color-mix(in oklab, var(--inv-text) 55%, transparent);
}

.checkout-input[b-7rrszicn6a] {
    inline-size: 100%;
    max-inline-size: 100%;
    min-block-size: 44px;
    padding: 0.6rem 0.8rem;
    border: 1px solid var(--inv-border);
    border-radius: 0.7rem;
    background: var(--inv-surface);
    color: var(--inv-text);
    /* At least 16px: anything smaller makes iOS Safari zoom the page on focus. */
    font-size: 1rem;
    font-family: inherit;
    transition: border-color 240ms ease, box-shadow 240ms ease;
}

.checkout-input:focus[b-7rrszicn6a] {
    outline: none;
    border-color: color-mix(in oklab, var(--inv-text) 45%, var(--inv-border));
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--inv-text) 12%, transparent);
}

.checkout-input:disabled[b-7rrszicn6a] {
    opacity: 0.65;
}

.checkout-input[aria-invalid="true"][b-7rrszicn6a] {
    border-color: var(--checkout-error);
}

.checkout-select[b-7rrszicn6a] {
    cursor: pointer;
}

.checkout-textarea[b-7rrszicn6a] {
    min-block-size: 5.5rem;
    resize: vertical;
    line-height: 1.7;
}

.checkout-field-error[b-7rrszicn6a] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--checkout-error);
}

/* An icon accompanies the colour, so an error is never signalled by colour alone. */
.checkout-field-error[b-7rrszicn6a]::before {
    content: "\F33A"; /* bi-exclamation-circle-fill */
    font-family: "bootstrap-icons";
    font-size: 0.85rem;
    line-height: 1;
}

/* --- Shipping method ---------------------------------------------------- */

.checkout-methods[b-7rrszicn6a] {
    margin: 0;
    padding: 0;
    border: 0;
    min-inline-size: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    scroll-margin-block-end: calc(var(--checkout-actionbar-block) + 1.5rem);
    scroll-margin-block-start: 5rem;
}

.checkout-methods:focus[b-7rrszicn6a] {
    outline: none;
}

.checkout-methods > legend[b-7rrszicn6a] {
    float: inline-start;
    inline-size: 100%;
    padding: 0;
    margin-block-end: 0.5rem;
}

.checkout-method-options[b-7rrszicn6a] {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.6rem;
    clear: both;
}

.checkout-method[b-7rrszicn6a] {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    min-block-size: 44px;
    padding: 0.7rem 0.9rem;
    border: 1px solid var(--inv-border);
    border-radius: 0.8rem;
    background: var(--inv-surface);
    cursor: pointer;
    transition: border-color 240ms ease, box-shadow 240ms ease, background-color 240ms ease;
}

.checkout-method-selected[b-7rrszicn6a] {
    border-color: var(--inv-text);
    box-shadow: 0 0 0 1px var(--inv-text);
}

.checkout-method:has(.checkout-method-input:focus-visible)[b-7rrszicn6a] {
    box-shadow: 0 0 0 3px color-mix(in oklab, var(--inv-text) 20%, transparent);
}

/* Visible but out of reach: the customer sees why the courier is not offered for this city. */
.checkout-method-unavailable[b-7rrszicn6a] {
    cursor: not-allowed;
    background: color-mix(in oklab, var(--inv-bg) 55%, transparent);
}

.checkout-method-unavailable .checkout-method-name[b-7rrszicn6a] {
    color: color-mix(in oklab, var(--inv-text) 55%, transparent);
}

.checkout-method-input[b-7rrszicn6a] {
    flex: none;
    inline-size: 1.15rem;
    block-size: 1.15rem;
    margin: 0;
    accent-color: var(--inv-text);
}

.checkout-method-body[b-7rrszicn6a] {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-inline-size: 0;
}

.checkout-method-name[b-7rrszicn6a] {
    font-size: 0.95rem;
    font-weight: 700;
}

.checkout-method-hint[b-7rrszicn6a] {
    font-size: 0.78rem;
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
}

.checkout-error[b-7rrszicn6a] {
    margin: 0;
    padding: 0.6rem 0.75rem;
    border-radius: 0.7rem;
    border: 1px solid color-mix(in oklab, var(--checkout-error) 55%, var(--inv-border));
    background: color-mix(in oklab, var(--checkout-error) 10%, var(--inv-surface));
    color: color-mix(in oklab, var(--checkout-error) 80%, var(--inv-text));
    font-size: 0.88rem;
}

/* Under the stage heading: why an Applied Discount Code was removed. A notice, not an error the customer made. */
.checkout-stage-notice[b-7rrszicn6a] {
    margin: 0;
    padding: 0.6rem 0.75rem;
    border-radius: 0.7rem;
    border: 1px solid color-mix(in oklab, #b7791f 50%, var(--inv-border));
    background: color-mix(in oklab, #b7791f 10%, var(--inv-surface));
    color: var(--inv-text);
    font-size: 0.88rem;
    line-height: 1.7;
}

/* --- Payment review ------------------------------------------------------ */

.checkout-review-title[b-7rrszicn6a] {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 700;
    color: color-mix(in oklab, var(--inv-text) 75%, transparent);
}

.checkout-review-lines[b-7rrszicn6a] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.checkout-review-line[b-7rrszicn6a] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 0.6rem;
    align-items: baseline;
    font-size: 0.9rem;
}

.checkout-review-name[b-7rrszicn6a] {
    min-inline-size: 0;
    overflow-wrap: anywhere;
}

.checkout-review-qty[b-7rrszicn6a] {
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
    font-variant-numeric: tabular-nums;
}

.checkout-review-total[b-7rrszicn6a] {
    font-weight: 700;
    white-space: nowrap;
}

.checkout-review-address[b-7rrszicn6a] {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-style: normal;
    font-size: 0.88rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.checkout-review-recipient[b-7rrszicn6a] {
    font-weight: 700;
}

/* Keeps the line breaks the customer typed. */
.checkout-review-note[b-7rrszicn6a] {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.7;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.checkout-payable[b-7rrszicn6a] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding-block: 0.75rem;
    border-block: 1px dashed var(--inv-border);
}

.checkout-payable-value[b-7rrszicn6a] {
    font-weight: 800;
    font-size: 1.15rem;
}

.checkout-gateway[b-7rrszicn6a] {
    display: flex;
    gap: 0.7rem;
    align-items: flex-start;
    padding: 0.85rem;
    border: 1px solid var(--inv-border);
    border-radius: 0.8rem;
    background: color-mix(in oklab, var(--inv-bg) 55%, transparent);
}

.checkout-gateway-mark[b-7rrszicn6a] {
    display: grid;
    place-items: center;
    inline-size: 2.25rem;
    block-size: 2.25rem;
    flex: 0 0 auto;
    border-radius: 999px;
    border: 1px solid color-mix(in oklab, var(--checkout-success) 40%, var(--inv-border));
    color: var(--checkout-success);
    font-size: 1.1rem;
}

.checkout-gateway-body[b-7rrszicn6a] {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-inline-size: 0;
}

.checkout-gateway-name[b-7rrszicn6a] {
    font-weight: 700;
    font-size: 0.95rem;
}

.checkout-gateway-note[b-7rrszicn6a] {
    font-size: 0.82rem;
    line-height: 1.7;
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
}

/* --- Actions ------------------------------------------------------------- */

.checkout-primary[b-7rrszicn6a],
.checkout-secondary[b-7rrszicn6a] {
    min-block-size: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.7rem 1rem;
    border-radius: 0.75rem;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 240ms ease, border-color 240ms ease, transform 240ms ease;
}

.checkout-primary[b-7rrszicn6a] {
    border: 1px solid var(--inv-text);
    background: var(--inv-text);
    color: var(--inv-surface);
}

.checkout-primary:hover:not(:disabled)[b-7rrszicn6a] {
    background: color-mix(in oklab, var(--inv-text) 88%, var(--inv-surface));
}

.checkout-primary:disabled[b-7rrszicn6a] {
    opacity: 0.45;
    cursor: not-allowed;
}

.checkout-secondary[b-7rrszicn6a] {
    border: 1px solid var(--inv-border);
    background: var(--inv-surface);
    color: var(--inv-text);
}

.checkout-secondary:hover[b-7rrszicn6a] {
    border-color: color-mix(in oklab, var(--inv-text) 35%, var(--inv-border));
}

.checkout-primary:focus-visible[b-7rrszicn6a],
.checkout-secondary:focus-visible[b-7rrszicn6a] {
    outline: 2px solid var(--inv-text);
    outline-offset: 3px;
}

.checkout-back-to-store[b-7rrszicn6a] {
    align-self: flex-start;
}

/* «ادامه خرید» in the Action Bar on سبد خرید: as tall as the stage action beside it on mobile, and as wide
   as the side card under it on wide screens. */
.checkout-actionbar-continue[b-7rrszicn6a] {
    grid-area: continue;
    align-self: stretch;
}

/*
    Fixed on mobile so the total and the single next action are always reachable. The store-rules
    notice spans the top row, so it sits directly above the action without pushing the total and the
    button apart; the summary may take at most half the row, so the action keeps room for its label.
*/
.checkout-actionbar[b-7rrszicn6a] {
    position: fixed;
    inset-inline: 0;
    inset-block-end: 0;
    z-index: 1035;
    display: grid;
    grid-template-columns: fit-content(50%) minmax(0, 1fr);
    grid-template-areas:
        "rules rules"
        "summary action";
    align-items: center;
    column-gap: 0.75rem;
    row-gap: 0.5rem;
    padding: 0.7rem 1rem;
    padding-block-end: calc(0.7rem + env(safe-area-inset-bottom, 0px));
    background: var(--inv-surface);
    border-block-start: 1px solid var(--inv-border);
    box-shadow: 0 -8px 24px -18px rgba(26, 26, 26, 0.45);
}

.checkout-actionbar-summary[b-7rrszicn6a] {
    grid-area: summary;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-inline-size: 0;
}

.checkout-actionbar-total[b-7rrszicn6a] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-inline-size: 0;
}

/* Wide screens only: the compact mobile bar never lists item names. */
.checkout-actionbar-lines[b-7rrszicn6a] {
    display: none;
    margin: 0;
    padding: 0;
    list-style: none;
    flex-direction: column;
    gap: 0.4rem;
}

.checkout-actionbar-line[b-7rrszicn6a] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.88rem;
}

.checkout-actionbar-line-name[b-7rrszicn6a] {
    min-inline-size: 0;
    overflow-wrap: anywhere;
    font-weight: 600;
}

.checkout-actionbar-line-qty[b-7rrszicn6a] {
    flex: none;
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
}

/*
    On the compact bar the summary shares its row with the action, so the method label stacks above
    its value: the full method name then fits beside a one-line pay button instead of truncating.
    The side card has the room to put them back on one line.
*/
.checkout-actionbar-method[b-7rrszicn6a] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    min-inline-size: 0;
    max-inline-size: 100%;
}

.checkout-actionbar-method-value[b-7rrszicn6a] {
    font-size: 0.82rem;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.checkout-actionbar-label[b-7rrszicn6a] {
    font-size: 0.72rem;
    /* A wrapped «روش ارسال» would add a line to the compact bar; the method value truncates instead. */
    white-space: nowrap;
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
}

.checkout-actionbar-value[b-7rrszicn6a] {
    font-weight: 800;
    font-size: 1rem;
    white-space: nowrap;
}

.checkout-actionbar .checkout-primary[b-7rrszicn6a] {
    grid-area: action;
    flex: 1 1 auto;
}

/*
    With an Applied Discount Code the summary lists «جمع کالاها» and «تخفیف (CODE)» above the total. The compact bar
    keeps only the discount line, so the subtotal and the «مبلغ قابل پرداخت» label wait for the side card.
*/
.checkout-actionbar-subtotal[b-7rrszicn6a] {
    display: none;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.85rem;
}

/*
    On a narrow bar the amount drops under «تخفیف (CODE)» rather than squeezing it: the page runs right to left and
    the code left to right, so an ellipsis on the whole label would cut the code's first letters (YALDA10 read
    «…LDA10»). Only a code too long for a line of its own gives way, and then at its own end.
*/
.checkout-actionbar-discount[b-7rrszicn6a] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.1rem 0.5rem;
    min-inline-size: 0;
    font-size: 0.8rem;
}

.checkout-actionbar-discount .checkout-actionbar-label[b-7rrszicn6a] {
    display: flex;
    min-inline-size: 0;
}

.checkout-actionbar-discount .checkout-actionbar-label [dir="ltr"][b-7rrszicn6a] {
    min-inline-size: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.checkout-actionbar-amount[b-7rrszicn6a] {
    flex: none;
    font-weight: 700;
    white-space: nowrap;
}

.checkout-actionbar-discount .checkout-actionbar-amount[b-7rrszicn6a] {
    color: var(--checkout-success);
}

.checkout-actionbar-label-wide[b-7rrszicn6a] {
    display: none;
}

/* --- Store-rules notice -------------------------------------------------- */

/* Quiet on سبد خرید and آدرس ارسال: one muted line that may wrap, never a second action. */
.checkout-rules-note[b-7rrszicn6a] {
    grid-area: rules;
    min-inline-size: 0;
    margin: 0;
    font-size: 0.8rem;
    line-height: 1.55;
    text-align: center;
    text-wrap: balance;
    overflow-wrap: anywhere;
    color: color-mix(in oklab, var(--inv-text) 62%, transparent);
}

/*
    Inline so the notice reads as one sentence. Padding grows the hit area to about 30px while the
    matching negative margin keeps it from growing the line.
*/
.checkout-rules-trigger[b-7rrszicn6a] {
    display: inline-block;
    margin: -0.3rem 0;
    margin-inline-start: 0.15rem;
    padding: 0.3rem 0.2rem;
    border: 0;
    border-radius: 0.35rem;
    background: none;
    color: var(--inv-text);
    font: inherit;
    font-weight: 700;
    white-space: nowrap;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.3em;
    text-decoration-color: color-mix(in oklab, var(--inv-text) 40%, transparent);
    cursor: pointer;
    transition: text-decoration-color 240ms ease;
}

.checkout-rules-trigger:hover[b-7rrszicn6a] {
    text-decoration-color: currentColor;
}

.checkout-rules-trigger:focus-visible[b-7rrszicn6a] {
    outline: 2px solid var(--inv-text);
    outline-offset: 1px;
}

/*
    Beside «پرداخت و ثبت نهایی» the notice becomes a soft tinted row with an icon. On a phone it runs
    to two short lines, so it is set a touch tighter than the quiet line.
*/
.checkout-rules-note-payment[b-7rrszicn6a] {
    padding: 0.25rem 0.75rem;
    line-height: 1.45;
    border: 1px solid color-mix(in oklab, var(--inv-text) 14%, var(--inv-border));
    border-radius: 0.75rem;
    background: color-mix(in oklab, var(--inv-text) 5%, var(--inv-surface));
    color: color-mix(in oklab, var(--inv-text) 78%, transparent);
    font-weight: 600;
}

.checkout-rules-note-icon[b-7rrszicn6a] {
    display: inline-block;
    margin-inline-end: 0.3rem;
    font-size: 0.85rem;
    vertical-align: -0.1em;
    color: var(--inv-text);
}

/* The tinted payment notice is taller than the quiet line, so the reserved room grows with it. */
.checkout-shell:has(.checkout-rules-note-payment)[b-7rrszicn6a] {
    --checkout-actionbar-block: 10rem;
}

/*
    On سبد خرید the compact bar puts «ادامه خرید» beside «ادامه جهت پرداخت» (ADR 0043). Two buttons and the
    total do not fit one phone-width row, so the total takes a row of its own above them, label and amount
    on one line, and the bar reserves the same extra room as the payment notice.
*/
@media (max-width: 767.98px) {
    .checkout-actionbar-with-continue[b-7rrszicn6a] {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "rules rules"
            "summary summary"
            "action continue";
    }

    .checkout-actionbar-with-continue .checkout-actionbar-total[b-7rrszicn6a] {
        flex-direction: row;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.75rem;
    }

    .checkout-actionbar-continue[b-7rrszicn6a] {
        padding-inline: 0.85rem;
        white-space: nowrap;
    }

    .checkout-shell:has(.checkout-actionbar-with-continue)[b-7rrszicn6a] {
        --checkout-actionbar-block: 10rem;
    }

    /*
        An Applied Discount Code adds its line above the compact bar's total, and on a narrow phone or with a long
        code its amount wraps to a second line, so the bar reserves both rows. Beside «ادامه خرید» the summary has the
        bar's full width and the line never wraps.
    */
    .checkout-shell:has(.checkout-actionbar-discount)[b-7rrszicn6a] {
        --checkout-actionbar-block: 10.75rem;
    }

    .checkout-shell:has(.checkout-actionbar-discount):has(.checkout-rules-note-payment)[b-7rrszicn6a] {
        --checkout-actionbar-block: 12.75rem;
    }

    .checkout-shell:has(.checkout-actionbar-discount):has(.checkout-actionbar-with-continue)[b-7rrszicn6a] {
        --checkout-actionbar-block: 11.5rem;
    }
}

/* --- Terminal cards ------------------------------------------------------ */

.checkout-terminal[b-7rrszicn6a] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.85rem;
    text-align: center;
}

.checkout-success-title[b-7rrszicn6a] {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 800;
}

.checkout-terminal .checkout-primary[b-7rrszicn6a] {
    inline-size: 100%;
    max-inline-size: 20rem;
}

/* «مشاهده سفارش‌های من» under a failed «لغو سفارش و بازگشت به سبد», as wide as the button above it. */
.checkout-terminal .checkout-secondary[b-7rrszicn6a] {
    inline-size: 100%;
    max-inline-size: 20rem;
}

/*
    An on-screen keyboard (and landscape on a phone) collapses the visual viewport to a strip. A bar
    pinned to the bottom would then sit on top of the very field being typed into, so below this
    height it rejoins the flow and the customer scrolls to it instead.
*/
@media (max-height: 460px) {
    .checkout-actionbar[b-7rrszicn6a] {
        position: static;
        border-radius: 1rem;
        border: 1px solid var(--inv-border);
        box-shadow: none;
    }

    .checkout-shell[b-7rrszicn6a] {
        padding-block-end: calc(env(safe-area-inset-bottom, 0px) + 1.5rem);
    }
}

/* --- Tablet and desktop -------------------------------------------------- */

@media (min-width: 768px) {
    .checkout-shell[b-7rrszicn6a] {
        padding-inline: 1.5rem;
        padding-block: 2rem 3rem;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 20rem;
        grid-template-areas:
            "head head"
            "stage summary";
        column-gap: 1.5rem;
        row-gap: 1.25rem;
        align-items: start;
    }

    .checkout-head[b-7rrszicn6a] {
        grid-area: head;
    }

    .checkout-stage[b-7rrszicn6a] {
        grid-area: stage;
    }

    .checkout-title[b-7rrszicn6a] {
        font-size: 1.7rem;
    }

    .checkout-card[b-7rrszicn6a] {
        padding: 1.5rem;
    }

    .checkout-field-row[b-7rrszicn6a],
    .checkout-method-options[b-7rrszicn6a] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .checkout-actionbar-lines[b-7rrszicn6a] {
        display: flex;
    }

    /* The action bar becomes the sticky summary rather than a floating bar. */
    .checkout-actionbar[b-7rrszicn6a] {
        grid-area: summary;
        position: sticky;
        inset-block-end: auto;
        inset-block-start: 5.5rem;
        inset-inline: auto;
        z-index: auto;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.85rem;
        padding: 1.25rem;
        padding-block-end: 1.25rem;
        border: 1px solid var(--inv-border);
        border-radius: 1rem;
        box-shadow: none;
    }

    .checkout-actionbar-value[b-7rrszicn6a] {
        font-size: 1.25rem;
    }

    .checkout-actionbar-method[b-7rrszicn6a] {
        flex-direction: row;
        align-items: baseline;
        gap: 0.4rem;
    }

    /* The side card lists the items, the discount and «مبلغ قابل پرداخت» on every stage. */
    .checkout-actionbar-subtotal[b-7rrszicn6a] {
        display: flex;
    }

    .checkout-actionbar-label-compact[b-7rrszicn6a] {
        display: none;
    }

    .checkout-actionbar-label-wide[b-7rrszicn6a] {
        display: inline;
    }

    .checkout-actionbar-discount + .checkout-actionbar-total[b-7rrszicn6a] {
        margin-block-start: 0.35rem;
        padding-block-start: 0.55rem;
        border-block-start: 1px dashed var(--inv-border);
    }

    /* In the side card the notice sits between the total and the action, separated from the total. */
    .checkout-rules-note[b-7rrszicn6a] {
        padding-block-start: 0.85rem;
        border-block-start: 1px dashed var(--inv-border);
    }

    .checkout-rules-note-payment[b-7rrszicn6a] {
        padding: 0.55rem 0.8rem;
        border-block-start: 1px solid color-mix(in oklab, var(--inv-text) 14%, var(--inv-border));
    }

    /* Only the loading, terminal and redirect cards render alone; centre them. */
    .checkout-shell > .checkout-card[b-7rrszicn6a] {
        grid-column: 1 / -1;
    }
}

@media (min-width: 1100px) {
    .checkout-shell[b-7rrszicn6a] {
        grid-template-columns: minmax(0, 1fr) 22rem;
    }

    .checkout-line-unit .checkout-price-before[b-7rrszicn6a] {
        display: inline;
    }
}

/* --- Reduced motion ------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
    .checkout-stage-forward[b-7rrszicn6a],
    .checkout-stage-back[b-7rrszicn6a] {
        animation: none;
    }

    .checkout-card[b-7rrszicn6a],
    .checkout-input[b-7rrszicn6a],
    .checkout-method[b-7rrszicn6a],
    .checkout-primary[b-7rrszicn6a],
    .checkout-secondary[b-7rrszicn6a],
    .checkout-line-remove[b-7rrszicn6a],
    .checkout-rules-trigger[b-7rrszicn6a] {
        transition: none;
    }
}
/* /Components/Pages/Public/CheckoutResult.razor.rz.scp.css */
/*
    Status-adaptive payment receipt. The card states reuse the wizard's restrained semantic palette,
    and each one carries an icon as well as a colour so the outcome is never colour-only.
*/

.checkout-result-shell[b-xxt47a43ar] {
    --result-success: #2f9e67;
    --result-error: #c0392b;
    --result-warning: #b26a00;

    inline-size: 100%;
    max-inline-size: 44rem;
    margin-inline: auto;
    padding-inline: 1rem;
    padding-block: 1.5rem;
    padding-block-end: calc(2.5rem + env(safe-area-inset-bottom, 0px));
    color: var(--inv-text);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    overflow-x: clip;
}

.checkout-result-card[b-xxt47a43ar] {
    background: var(--inv-surface);
    border: 1px solid var(--inv-border);
    border-radius: 1rem;
    padding: 1.5rem 1.15rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.7rem;
}

.checkout-result-loading[b-xxt47a43ar] {
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
}

.checkout-result-icon[b-xxt47a43ar] {
    display: grid;
    place-items: center;
    inline-size: 3rem;
    block-size: 3rem;
    border-radius: 999px;
    font-size: 1.5rem;
    border: 1px solid var(--inv-border);
}

.checkout-result-success .checkout-result-icon[b-xxt47a43ar] {
    color: var(--result-success);
    border-color: color-mix(in oklab, var(--result-success) 45%, var(--inv-border));
    background: color-mix(in oklab, var(--result-success) 8%, var(--inv-surface));
}

.checkout-result-warning .checkout-result-icon[b-xxt47a43ar] {
    color: var(--result-warning);
    border-color: color-mix(in oklab, var(--result-warning) 45%, var(--inv-border));
    background: color-mix(in oklab, var(--result-warning) 10%, var(--inv-surface));
}

.checkout-result-error .checkout-result-icon[b-xxt47a43ar] {
    color: var(--result-error);
    border-color: color-mix(in oklab, var(--result-error) 45%, var(--inv-border));
    background: color-mix(in oklab, var(--result-error) 8%, var(--inv-surface));
}

.checkout-result-pending .checkout-result-icon[b-xxt47a43ar] {
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
}

.checkout-result-title[b-xxt47a43ar] {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 800;
}

.checkout-result-meta[b-xxt47a43ar] {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.8;
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
}

.checkout-result-error[role="alert"][b-xxt47a43ar],
p.checkout-result-error[b-xxt47a43ar] {
    inline-size: 100%;
    margin: 0;
    padding: 0.6rem 0.75rem;
    border-radius: 0.7rem;
    border: 1px solid color-mix(in oklab, var(--result-error) 55%, var(--inv-border));
    background: color-mix(in oklab, var(--result-error) 10%, var(--inv-surface));
    color: color-mix(in oklab, var(--result-error) 80%, var(--inv-text));
    font-size: 0.88rem;
    text-align: start;
}

.checkout-result-actions[b-xxt47a43ar] {
    inline-size: 100%;
    max-inline-size: 22rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    margin-block-start: 0.25rem;
}

.checkout-result-primary[b-xxt47a43ar],
.checkout-result-secondary[b-xxt47a43ar] {
    min-block-size: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 1rem;
    border-radius: 0.75rem;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 240ms ease, border-color 240ms ease;
}

.checkout-result-primary[b-xxt47a43ar] {
    border: 1px solid var(--inv-text);
    background: var(--inv-text);
    color: var(--inv-surface);
}

.checkout-result-primary:hover:not(:disabled)[b-xxt47a43ar] {
    background: color-mix(in oklab, var(--inv-text) 88%, var(--inv-surface));
}

.checkout-result-secondary[b-xxt47a43ar] {
    border: 1px solid var(--inv-border);
    background: var(--inv-surface);
    color: var(--inv-text);
}

.checkout-result-primary:disabled[b-xxt47a43ar],
.checkout-result-secondary:disabled[b-xxt47a43ar] {
    opacity: 0.45;
    cursor: not-allowed;
}

.checkout-result-primary:focus-visible[b-xxt47a43ar],
.checkout-result-secondary:focus-visible[b-xxt47a43ar] {
    outline: 2px solid var(--inv-text);
    outline-offset: 3px;
}

/* --- Receipt ------------------------------------------------------------- */

.checkout-receipt[b-xxt47a43ar] {
    background: var(--inv-surface);
    border: 1px solid var(--inv-border);
    border-radius: 1rem;
    padding: 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: start;
}

.checkout-receipt-facts[b-xxt47a43ar] {
    margin: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.6rem;
}

.checkout-receipt-fact[b-xxt47a43ar] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-block-end: 0.6rem;
    border-block-end: 1px dashed var(--inv-border);
}

.checkout-receipt-fact:last-child[b-xxt47a43ar] {
    border-block-end: 0;
    padding-block-end: 0;
}

.checkout-receipt-fact dt[b-xxt47a43ar] {
    font-size: 0.82rem;
    font-weight: 600;
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
}

.checkout-receipt-fact dd[b-xxt47a43ar] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

.checkout-copy[b-xxt47a43ar] {
    min-inline-size: 44px;
    min-block-size: 44px;
    display: grid;
    place-items: center;
    border: 1px solid var(--inv-border);
    border-radius: 0.6rem;
    background: var(--inv-surface);
    color: var(--inv-text);
    cursor: pointer;
    transition: border-color 240ms ease, background-color 240ms ease;
}

.checkout-copy:hover[b-xxt47a43ar] {
    border-color: color-mix(in oklab, var(--inv-text) 35%, var(--inv-border));
    background: color-mix(in oklab, var(--inv-bg) 60%, transparent);
}

.checkout-copy:focus-visible[b-xxt47a43ar] {
    outline: 2px solid var(--inv-text);
    outline-offset: 2px;
}

.checkout-receipt-title[b-xxt47a43ar] {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 700;
    color: color-mix(in oklab, var(--inv-text) 75%, transparent);
}

.checkout-receipt-lines[b-xxt47a43ar] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}

.checkout-receipt-line[b-xxt47a43ar] {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 0.7rem;
    border: 1px solid var(--inv-border);
    border-radius: 0.75rem;
    background: color-mix(in oklab, var(--inv-bg) 55%, transparent);
}

.checkout-receipt-name[b-xxt47a43ar] {
    font-weight: 700;
    font-size: 0.95rem;
    overflow-wrap: anywhere;
}

.checkout-receipt-meta[b-xxt47a43ar] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.checkout-meta-pill[b-xxt47a43ar] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.72rem;
    padding: 0.12rem 0.5rem;
    border-radius: 999px;
    border: 1px solid var(--inv-border);
    background: var(--inv-surface);
}

.checkout-receipt-prices[b-xxt47a43ar] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
}

.checkout-receipt-unit[b-xxt47a43ar] {
    font-size: 0.78rem;
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
}

.checkout-receipt-total[b-xxt47a43ar] {
    font-weight: 800;
    font-size: 0.95rem;
    white-space: nowrap;
}

.checkout-receipt-payable[b-xxt47a43ar] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    padding-block: 0.75rem;
    border-block: 1px dashed var(--inv-border);
    font-weight: 600;
}

.checkout-receipt-payable-value[b-xxt47a43ar] {
    font-weight: 800;
    font-size: 1.15rem;
}

.checkout-receipt-address[b-xxt47a43ar] {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    font-style: normal;
    font-size: 0.88rem;
    line-height: 1.8;
    overflow-wrap: anywhere;
}

/* --- Discount Code ------------------------------------------------------- */

/* A Code-Eligible Line's price before the Order's Discount Code, struck through beside the price paid. */
.checkout-receipt-before[b-xxt47a43ar] {
    margin-inline-end: 0.4rem;
    font-size: 0.9em;
    font-weight: 500;
    color: color-mix(in oklab, var(--inv-text) 55%, transparent);
    text-decoration: line-through;
    white-space: nowrap;
}

/* With a struck price beside each amount, a narrow phone may need a second row; a code-less line keeps its row. */
.checkout-receipt-prices-struck[b-xxt47a43ar] {
    flex-wrap: wrap;
}

.checkout-receipt-sums[b-xxt47a43ar] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.checkout-receipt-subtotal[b-xxt47a43ar],
.checkout-receipt-discount[b-xxt47a43ar] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.88rem;
    color: color-mix(in oklab, var(--inv-text) 75%, transparent);
}

.checkout-receipt-discount > span:first-child[b-xxt47a43ar] {
    overflow-wrap: anywhere;
}

.checkout-receipt-sum-value[b-xxt47a43ar] {
    font-weight: 700;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.checkout-receipt-minus[b-xxt47a43ar] {
    margin-inline-end: 0.15rem;
}

@media (min-width: 768px) {
    .checkout-result-shell[b-xxt47a43ar] {
        padding-block: 2.5rem 3rem;
    }

    .checkout-result-card[b-xxt47a43ar] {
        padding: 2rem 1.5rem;
    }

    .checkout-receipt[b-xxt47a43ar] {
        padding: 1.75rem;
    }

    .checkout-receipt-facts[b-xxt47a43ar] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 1.5rem;
    }

    .checkout-result-actions[b-xxt47a43ar] {
        flex-direction: row;
        justify-content: center;
    }

    .checkout-result-actions > *[b-xxt47a43ar] {
        flex: 1 1 0;
    }

    .checkout-receipt-line[b-xxt47a43ar] {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
    }

    .checkout-receipt-prices[b-xxt47a43ar] {
        flex-direction: column;
        align-items: flex-end;
        gap: 0.2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .checkout-result-primary[b-xxt47a43ar],
    .checkout-result-secondary[b-xxt47a43ar],
    .checkout-copy[b-xxt47a43ar] {
        transition: none;
    }
}
/* /Components/Pages/Public/CollectionProducts.razor.rz.scp.css */
.collection-products-page[b-qrh7edo2gs] {
    padding-block: clamp(2rem, 5vw, 4rem);
}

.collection-products-hero[b-qrh7edo2gs] {
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
    text-align: center;
}

.collection-products-hero h1[b-qrh7edo2gs],
.collection-products-hero p[b-qrh7edo2gs] {
    margin: 0;
}

.collection-products-hero h1[b-qrh7edo2gs] {
    font-size: clamp(1.75rem, 4vw, 2.75rem);
}

.collection-products-hero p[b-qrh7edo2gs] {
    margin-top: 0.5rem;
    color: color-mix(in oklab, var(--posh-storefront-ink) 68%, transparent);
}
/* /Components/Pages/Public/DiscountedProductsCatalog.razor.rz.scp.css */
.discounted-catalog-page[b-qozval4t2q] {
    padding-block: clamp(2rem, 5vw, 4rem);
}

.discounted-catalog-hero[b-qozval4t2q] {
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
    text-align: center;
}

.discounted-catalog-hero h1[b-qozval4t2q],
.discounted-catalog-hero p[b-qozval4t2q] {
    margin: 0;
}

.discounted-catalog-hero h1[b-qozval4t2q] {
    font-size: clamp(1.75rem, 4vw, 2.75rem);
}

.discounted-catalog-hero p[b-qozval4t2q] {
    margin-top: 0.5rem;
    color: color-mix(in oklab, var(--posh-storefront-ink) 68%, transparent);
}

.discounted-catalog-pagination[b-qozval4t2q] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    margin-top: clamp(2rem, 5vw, 3.5rem);
}

.discounted-catalog-page-link[b-qozval4t2q],
.discounted-catalog-page-count[b-qozval4t2q] {
    display: inline-flex;
    min-height: 2.5rem;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 0.9rem;
    border: 1px solid var(--posh-storefront-outline);
    border-radius: 0.625rem;
    background: var(--posh-storefront-container);
    color: var(--posh-storefront-ink);
    font-size: 0.85rem;
    line-height: 1.4;
    text-decoration: none;
}

.discounted-catalog-page-link:hover[b-qozval4t2q],
.discounted-catalog-page-link:focus-visible[b-qozval4t2q] {
    border-color: var(--posh-storefront-ink);
}

.discounted-catalog-page-link:focus-visible[b-qozval4t2q] {
    outline: 2px solid var(--posh-storefront-ink);
    outline-offset: 2px;
}

.discounted-catalog-page-link.is-disabled[b-qozval4t2q] {
    opacity: 0.45;
}

@media (max-width: 420px) {
    .discounted-catalog-pagination[b-qozval4t2q] {
        gap: 0.5rem;
    }

    .discounted-catalog-page-link[b-qozval4t2q],
    .discounted-catalog-page-count[b-qozval4t2q] {
        padding-inline: 0.7rem;
        font-size: 0.78rem;
    }
}
/* /Components/Pages/Public/Index.razor.rz.scp.css */
.idx-editorial-page[b-ayhai894za] {
    width: 100%;
    color: var(--posh-storefront-ink);
    background: var(--posh-storefront-canvas);
}

.idx-homepage-products[b-ayhai894za] {
    padding: 0 clamp(1.25rem, 4vw, 4.5rem) 4rem;
}

.idx-homepage-products-action[b-ayhai894za] {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
}

.idx-homepage-products-link[b-ayhai894za] {
    display: inline-flex;
    min-height: 2.75rem;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 1.4rem;
    border: 1px solid var(--posh-storefront-ink);
    border-radius: 0.625rem;
    color: var(--posh-storefront-canvas);
    background: var(--posh-storefront-ink);
    font-size: 0.9rem;
    font-weight: 800;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.idx-homepage-products-link:hover[b-ayhai894za],
.idx-homepage-products-link:focus-visible[b-ayhai894za] {
    color: var(--posh-storefront-ink);
    background: var(--posh-storefront-container);
    transform: translateY(-1px);
}

.idx-homepage-products-link:focus-visible[b-ayhai894za] {
    outline: 2px solid var(--posh-storefront-ink);
    outline-offset: 3px;
}

.idx-editorial-hero[b-ayhai894za] {
    position: relative;
    isolation: isolate;
    width: 100%;
    min-height: clamp(42rem, calc(100svh - 5.5rem), 58rem);
    margin: 0 auto;
    padding: clamp(3rem, 7vw, 7rem) clamp(1.25rem, 4vw, 4.5rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.idx-editorial-hero[b-ayhai894za]::after {
    position: absolute;
    inset: 0;
    z-index: -2;
    background:
        radial-gradient(circle at 50% 38%, rgba(255, 255, 255, 0.18), transparent 44%),
        linear-gradient(to bottom, rgba(249, 249, 247, 0.06), rgba(249, 249, 247, 0.44));
    content: "";
    pointer-events: none;
}

.idx-hero-ambient[b-ayhai894za] {
    position: absolute;
    inset: -14% -10%;
    z-index: -3;
    overflow: hidden;
    opacity: 0.13;
    filter: blur(64px) saturate(0.68) contrast(0.94);
    pointer-events: none;
    mask-image: radial-gradient(ellipse 94% 82% at 50% 43%, #000 0%, rgba(0, 0, 0, 0.76) 58%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse 94% 82% at 50% 43%, #000 0%, rgba(0, 0, 0, 0.76) 58%, transparent 100%);
}

.idx-hero-echoes[b-ayhai894za] {
    position: absolute;
    inset: 2% 0 19%;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
    mask-image: linear-gradient(to bottom, transparent 0%, #000 13%, #000 72%, transparent 100%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 13%, #000 72%, transparent 100%);
}

.idx-hero-echo[b-ayhai894za] {
    position: absolute;
    top: 5%;
    width: min(43vw, 43rem);
    height: 78%;
    overflow: hidden;
    opacity: 0.115;
    filter: grayscale(0.45) blur(3px) saturate(0.42) contrast(0.82);
    mix-blend-mode: multiply;
    mask-image: radial-gradient(ellipse 72% 84% at 50% 46%, #000 0%, rgba(0, 0, 0, 0.72) 48%, transparent 100%);
    -webkit-mask-image: radial-gradient(ellipse 72% 84% at 50% 46%, #000 0%, rgba(0, 0, 0, 0.72) 48%, transparent 100%);
}

.idx-hero-echo--start[b-ayhai894za] {
    left: -5%;
}

.idx-hero-echo--end[b-ayhai894za] {
    right: -5%;
}

.idx-hero-echo .idx-slide[b-ayhai894za] {
    transition-duration: 1.1s;
}

.idx-hero-echo .idx-slide--previous[b-ayhai894za] {
    transition-duration: 0s;
    transition-delay: 1.1s;
}

.idx-hero-echo .idx-slide-media[b-ayhai894za] {
    object-position: center;
    transform: translate3d(-1.25%, 0, 0) scale(1.62);
    transition: transform 5.5s cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: transform;
}

.idx-hero-echo--start .idx-slide-media[b-ayhai894za] {
    transform: translate3d(-1.25%, 0, 0) scale(-1.62, 1.62);
}

.idx-hero-echo--end .idx-slide-media[b-ayhai894za] {
    transform: translate3d(1.25%, 0, 0) scale(1.62);
}

.idx-hero-echo--start .idx-slide--active .idx-slide-media[b-ayhai894za] {
    transform: translate3d(1.25%, -0.6%, 0) scale(-1.7, 1.7);
}

.idx-hero-echo--end .idx-slide--active .idx-slide-media[b-ayhai894za] {
    transform: translate3d(-1.25%, 0.6%, 0) scale(1.7);
}

.idx-hero-echo .idx-slide--fallback[b-ayhai894za] {
    transform: scale(1.66);
}

.idx-hero-ambient .idx-slide-media[b-ayhai894za] {
    transform: translate3d(-1%, 0.4%, 0) scale(-1.28, 1.28);
    transition: transform 6s cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: transform;
}

.idx-hero-ambient .idx-slide:nth-child(even) .idx-slide-media[b-ayhai894za] {
    transform: translate3d(1%, -0.4%, 0) scale(-1.28, 1.28);
}

.idx-hero-ambient .idx-slide--active .idx-slide-media[b-ayhai894za] {
    transform: translate3d(1%, -0.4%, 0) scale(-1.36, 1.36);
}

.idx-hero-ambient .idx-slide--active:nth-child(even) .idx-slide-media[b-ayhai894za] {
    transform: translate3d(-1%, 0.4%, 0) scale(-1.36, 1.36);
}

.idx-hero-ambient .idx-slide--fallback[b-ayhai894za] {
    transform: scale(1.32);
}

.idx-hero-cta[b-ayhai894za] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.25rem;
    margin-top: clamp(1.25rem, 2.5vw, 1.75rem);
    padding: 0.75rem 1.65rem;
    color: #ffffff;
    background: var(--posh-storefront-ink);
    border: 1px solid var(--posh-storefront-ink);
    border-radius: 0.625rem;
    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.6;
    text-decoration: none;
    transition: transform 0.24s ease, background-color 0.24s ease, color 0.24s ease;
}

.idx-hero-cta:hover[b-ayhai894za],
.idx-hero-cta:focus-visible[b-ayhai894za] {
    color: var(--posh-storefront-ink);
    background: var(--posh-storefront-container);
    transform: translateY(-2px);
}

.idx-hero-cta:focus-visible[b-ayhai894za] {
    outline: 2px solid var(--posh-storefront-ink);
    outline-offset: 3px;
}

.idx-hero-stage[b-ayhai894za] {
    --idx-hero-height: 38.75rem;
    width: min(100%, 63.75rem);
}

.idx-hero-visual[b-ayhai894za] {
    position: relative;
    width: 100%;
    height: var(--idx-hero-height);
    overflow: hidden;
    background: var(--posh-storefront-container);
    border: 1px solid var(--posh-storefront-outline);
    border-radius: 1rem;
    box-shadow: none;
}

.idx-hero-reflection[b-ayhai894za] {
    position: relative;
    width: calc(100% - clamp(2rem, 8vw, 7rem));
    height: clamp(2.25rem, 4.5vw, 3.75rem);
    margin: 0.4rem auto 0;
    overflow: hidden;
    opacity: 0.085;
    filter: blur(1.75px) saturate(0.7);
    pointer-events: none;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.82), transparent 92%);
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.82), transparent 92%);
}

.idx-hero-reflection .idx-slide[b-ayhai894za] {
    inset: 0 0 auto;
    height: var(--idx-hero-height);
    transform: scaleY(-1);
}

.idx-slideshow[b-ayhai894za],
.idx-slide[b-ayhai894za] {
    position: absolute;
    inset: 0;
}

/* The slides' z-index orders them only within their own slideshow. */
.idx-slideshow[b-ayhai894za] {
    isolation: isolate;
}

/*
    The crossfade fades only the incoming slide, on top of the outgoing one, which stays fully opaque underneath.
    Fading both at once left each at half opacity mid-way, so a quarter of the background showed through and
    every change flashed. The outgoing slide (--previous) keeps opacity 1 for the length of the fade, then drops
    to 0 in one step once it is covered.
*/
.idx-slide[b-ayhai894za] {
    display: block;
    overflow: hidden;
    z-index: 0;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
}

.idx-slide--previous[b-ayhai894za] {
    z-index: 1;
    transition: opacity 0s linear 0.8s;
}

.idx-slide--active[b-ayhai894za] {
    z-index: 2;
    opacity: 1;
}

.idx-hero-visual .idx-slide[b-ayhai894za] {
    will-change: opacity;
}

.idx-slide-media[b-ayhai894za] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
}

.idx-slide--fallback[b-ayhai894za] {
    background-color: var(--posh-storefront-container);
    background-image: url('/images/slideshow/16b355bc-c2d1-4371-b2ba-61487cc7f505.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/*
    Above the 900px boundary the hero fits the first screen. The frame takes the slides' own 16:9 shape, as tall as
    the screen leaves under the sticky header once the reflection, «مشاهده مجموعه» and the hero's padding are counted,
    and as wide as that height allows, never wider than the canvas. The allowance also covers the Site Announcement
    above the header, so the action shows on a 1280×680 laptop screen with the bar open.
*/
@media (min-width: 901px) {
    .idx-editorial-hero[b-ayhai894za] {
        min-height: auto;
        padding-block: clamp(1rem, 3svh, 2rem) clamp(1.75rem, 5svh, 3rem);
        justify-content: flex-start;
    }

    .idx-hero-stage[b-ayhai894za] {
        --idx-hero-height: clamp(20rem, min(calc(100svh - 15rem), calc(min(87.1vw, 112.5rem) * 9 / 16)), 50rem);
        width: calc(var(--idx-hero-height) * 16 / 9);
        max-width: 100%;
    }

    .idx-hero-reflection[b-ayhai894za] {
        height: 2rem;
    }

    .idx-hero-cta[b-ayhai894za] {
        margin-top: 0.75rem;
    }
}

@media (max-width: 900px) {
    .idx-editorial-hero[b-ayhai894za] {
        min-height: auto;
    }

    .idx-hero-visual[b-ayhai894za] {
        height: var(--idx-hero-height);
    }

    .idx-hero-stage[b-ayhai894za] {
        --idx-hero-height: clamp(24rem, 70vw, 38rem);
    }
}

@media (max-width: 575.98px) {
    .idx-editorial-hero[b-ayhai894za] {
        padding-block: 1.25rem 4rem;
    }

    .idx-hero-ambient[b-ayhai894za] {
        inset: -8% -22%;
        opacity: 0.1;
        filter: blur(42px) saturate(0.64) contrast(0.94);
    }

    .idx-hero-echoes[b-ayhai894za] {
        inset: 0 0 22%;
    }

    .idx-hero-echo[b-ayhai894za] {
        top: 2%;
        left: -10%;
        width: 120%;
        height: 82%;
        opacity: 0.075;
        filter: grayscale(0.5) blur(5px) saturate(0.38) contrast(0.82);
    }

    .idx-hero-echo--end[b-ayhai894za] {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .idx-slide[b-ayhai894za] {
        transition: none;
    }

    .idx-hero-cta[b-ayhai894za] {
        transition: none;
    }

    .idx-hero-ambient .idx-slide-media[b-ayhai894za] {
        transition: none;
    }

    .idx-hero-echo .idx-slide-media[b-ayhai894za] {
        transition: none;
    }
}

.idx-carousel[b-ayhai894za] {
    position: relative;
}

.idx-carousel-track[b-ayhai894za] {
    display: flex;
    gap: 0.75rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding-block: 0.25rem;
}

.idx-carousel-track[b-ayhai894za]::-webkit-scrollbar {
    display: none;
}

.idx-carousel-track:focus-visible[b-ayhai894za] {
    outline: 2px solid var(--posh-storefront-ink);
    outline-offset: 4px;
}

.idx-carousel-slide[b-ayhai894za] {
    flex: 0 0 calc((100% - 0.75rem) / 2);
    min-width: 0;
    scroll-snap-align: start;
}

@media (min-width: 768px) {
    .idx-carousel-slide[b-ayhai894za] {
        flex-basis: calc((100% - 1.8rem) / 3);
    }
}

@media (min-width: 1024px) {
    .idx-carousel-slide[b-ayhai894za] {
        flex-basis: calc((100% - 2.7rem) / 4);
    }
}

.idx-carousel-btn[b-ayhai894za] {
    position: absolute;
    top: 50%;
    z-index: 2;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    border: 1px solid var(--posh-storefront-outline);
    border-radius: 999px;
    background: var(--posh-storefront-container);
    color: var(--posh-storefront-ink);
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(26, 26, 26, 0.12);
}

.idx-carousel-btn:hover[b-ayhai894za] {
    background: var(--posh-storefront-ink);
    color: var(--posh-storefront-canvas);
}

.idx-carousel-btn:focus-visible[b-ayhai894za] {
    outline: 2px solid var(--posh-storefront-ink);
    outline-offset: 2px;
}

.idx-carousel-btn--prev[b-ayhai894za] {
    right: -0.5rem;
}

.idx-carousel-btn--next[b-ayhai894za] {
    left: -0.5rem;
}

@media (prefers-reduced-motion: reduce) {
    .idx-carousel-track[b-ayhai894za] {
        scroll-behavior: auto;
    }
}
/* /Components/Pages/Public/ProductTypeCatalog.razor.rz.scp.css */
.type-catalog-hero[b-gofpombujt] {
    display: flex;
    justify-content: center;
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
    padding-block: 1rem;
    text-align: center;
    position: sticky;
    /* Slightly less than the navbar's rendered height (~62-66px depending on
       breakpoint) so this panel always tucks a hair under it instead of
       leaving a gap; the overlap is hidden by the navbar's own opaque
       background and higher z-index. */
    top: 3.75rem;
    z-index: 2;
    background: color-mix(in oklab, var(--posh-storefront-canvas) 62%, transparent);
    backdrop-filter: blur(20px) saturate(1.6);
    -webkit-backdrop-filter: blur(20px) saturate(1.6);
    border-bottom: 1px solid color-mix(in oklab, var(--posh-storefront-outline) 55%, transparent);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .type-catalog-hero[b-gofpombujt] {
        background: var(--posh-storefront-canvas);
    }
}

.category-toolbar[b-gofpombujt] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.4rem;
    border-radius: 999px;
    background: color-mix(in oklab, var(--posh-storefront-container) 55%, transparent);
    border: 1px solid color-mix(in oklab, var(--posh-storefront-outline) 65%, transparent);
    backdrop-filter: blur(16px) saturate(1.4);
    -webkit-backdrop-filter: blur(16px) saturate(1.4);
    box-shadow: 0 8px 28px -18px rgba(26, 26, 26, 0.18);
}

.category-pill[b-gofpombujt] {
    flex: 0 0 auto;
    padding: 0.45rem 1.1rem;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: var(--inv-text);
    font-size: 0.85rem;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.category-pill:hover[b-gofpombujt] {
    border-color: color-mix(in oklab, var(--posh-storefront-outline) 80%, transparent);
}

.category-pill:focus-visible[b-gofpombujt] {
    outline: 2px solid var(--inv-text);
    outline-offset: 2px;
}

.category-pill--selected[b-gofpombujt] {
    background: var(--posh-storefront-ink);
    color: var(--posh-storefront-canvas);
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .category-toolbar[b-gofpombujt] {
        background: var(--posh-storefront-container);
    }
}

@media (prefers-reduced-motion: reduce) {
    .category-pill[b-gofpombujt] {
        transition: none;
    }
}

.type-catalog-empty[b-gofpombujt] {
    padding: 3rem 1rem;
    border: 1px solid var(--inv-border);
    text-align: center;
}

.type-catalog-empty h2[b-gofpombujt],
.type-catalog-empty p[b-gofpombujt] {
    margin: 0;
}

.type-catalog-empty p[b-gofpombujt] {
    margin-top: 0.5rem;
}

/* /Components/Pages/Public/SearchResults.razor.rz.scp.css */
.search-hero[b-ksngqev536] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(0.75rem, 2vw, 1.1rem);
    margin: 0 0 2rem;
    text-align: center;
}

.search-back-badge[b-ksngqev536],
.empty-back-badge[b-ksngqev536] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 1.15rem;
    border-radius: 999px;
    color: var(--inv-text);
    text-decoration: none;
    font-size: 0.88rem;
    font-weight: 600;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.empty-back-badge[b-ksngqev536] {
    margin-top: 0.75rem;
    background: color-mix(in oklab, var(--inv-surface) 80%, transparent);
    border: 1px solid var(--inv-border);
}

.search-back-badge:hover[b-ksngqev536],
.empty-back-badge:hover[b-ksngqev536] {
    transform: translateY(-2px) scale(1.02);
    border-color: color-mix(in oklab, var(--inv-accent) 45%, var(--inv-border));
    box-shadow:
        0 10px 24px -12px color-mix(in oklab, var(--inv-accent) 35%, transparent),
        inset 0 1px 0 color-mix(in oklab, var(--inv-text) 15%, transparent);
}

.back-icon[b-ksngqev536] {
    font-size: 1.1rem;
    transition: transform 0.2s ease;
}

.search-back-badge:hover .back-icon[b-ksngqev536],
.empty-back-badge:hover .back-icon[b-ksngqev536] {
    transform: translateX(3px);
}

.search-hero-glow[b-ksngqev536] {
    margin: 0;
}

.search-hero-inner[b-ksngqev536] {
    width: min(100%, 32rem);
    padding: clamp(1.2rem, 3.5vw, 1.6rem) clamp(1.2rem, 3.5vw, 1.8rem);
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    border-radius: 1.5rem;
}

.search-hero-inner h1[b-ksngqev536] {
    margin: 0;
    font-size: clamp(1.4rem, 4vw, 1.85rem);
    font-weight: 800;
    letter-spacing: 0.01em;
    line-height: 1.35;
    color: var(--inv-text);
    text-shadow:
        0 0 24px color-mix(in oklab, var(--inv-accent) 25%, transparent),
        0 2px 12px color-mix(in oklab, var(--inv-text) 18%, transparent);
}

.search-hero-lead[b-ksngqev536] {
    margin: 0;
    font-size: clamp(0.95rem, 2.6vw, 1.05rem);
    font-weight: 500;
    color: color-mix(in oklab, var(--inv-text) 72%, transparent);
    line-height: 1.5;
}
/* /Components/Pages/Public/ShopCatalog.razor.rz.scp.css */
.product-type-gateway[b-tvf12v1la1] {
    width: 100%;
}

.product-type-card[b-tvf12v1la1] {
    position: relative;
    display: block;
    min-height: clamp(25rem, 68vh, 40rem);
    overflow: hidden;
    border: 1px solid var(--inv-border);
    border-radius: clamp(1.1rem, 2vw, 1.6rem);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.88), rgba(218, 218, 216, 0.5)),
        var(--inv-surface);
    color: #fff;
    text-decoration: none;
    isolation: isolate;
    transition: transform 240ms ease, box-shadow 240ms ease;
}

.product-type-card[b-tvf12v1la1]::before {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(26, 26, 26, 0.52), transparent 48%);
    content: "";
}

.product-type-card img[b-tvf12v1la1] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 600ms ease;
}

.product-type-card-label[b-tvf12v1la1] {
    position: absolute;
    right: clamp(1.25rem, 4vw, 2.5rem);
    bottom: clamp(1.25rem, 4vw, 2.5rem);
    z-index: 2;
    font-size: clamp(1.7rem, 4vw, 2.7rem);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.product-type-card:hover[b-tvf12v1la1],
.product-type-card:focus-visible[b-tvf12v1la1] {
    transform: translateY(-4px);
    box-shadow: 0 18px 44px rgba(26, 26, 26, 0.06);
}

.product-type-card:hover img[b-tvf12v1la1],
.product-type-card:focus-visible img[b-tvf12v1la1] {
    transform: scale(1.025);
}

.product-type-card:focus-visible[b-tvf12v1la1] {
    outline: 2px solid var(--inv-text);
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
    .product-type-card[b-tvf12v1la1],
    .product-type-card img[b-tvf12v1la1] {
        transition: none;
    }
}
/* /Components/Public/CheckoutProgressRail.razor.rz.scp.css */
/*
    RTL three-stage progress rail. Every state pairs its colour with an icon and a hidden word in
    the markup, so nothing here communicates state by colour alone.
*/

.checkout-rail[b-ogbgp6uzab] {
    --rail-muted: color-mix(in oklab, var(--inv-text) 42%, transparent);
    --rail-success: #2f9e67;
    --rail-error: #c0392b;
    --rail-warning: #b26a00;
    --rail-marker-size: 2.25rem;

    position: relative;
    inline-size: 100%;
    padding-block: 0.35rem 0.15rem;
}

/* The connecting line sits behind the nodes, spanning first node centre to last node centre. */
.checkout-rail-progress[b-ogbgp6uzab] {
    position: absolute;
    inset-block-start: calc(0.35rem + (var(--rail-marker-size) / 2) - 1px);
    inset-inline: 16.67%;
    block-size: 2px;
    background: var(--inv-border);
    border-radius: 999px;
    overflow: hidden;
}

.checkout-rail-progress-fill[b-ogbgp6uzab] {
    display: block;
    block-size: 100%;
    background: var(--inv-text);
    border-radius: 999px;
    transition: inline-size 240ms ease;
}

.checkout-rail-track[b-ogbgp6uzab] {
    position: relative;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.checkout-rail-step[b-ogbgp6uzab] {
    flex: 1 1 0;
    min-inline-size: 0;
    display: flex;
}

.checkout-rail-node[b-ogbgp6uzab] {
    inline-size: 100%;
    min-block-size: 44px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    padding: 0;
    border: 0;
    background: none;
    color: var(--rail-muted);
    font: inherit;
    text-align: center;
    transition: color 240ms ease;
}

button.checkout-rail-node[b-ogbgp6uzab] {
    cursor: pointer;
}

.checkout-rail-marker[b-ogbgp6uzab] {
    inline-size: var(--rail-marker-size);
    block-size: var(--rail-marker-size);
    display: grid;
    place-items: center;
    border-radius: 999px;
    border: 1px solid var(--inv-border);
    background: var(--inv-surface);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1;
    transition: background-color 240ms ease, border-color 240ms ease, color 240ms ease;
}

.checkout-rail-label[b-ogbgp6uzab] {
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
    /* Wraps rather than truncating, so the full stage name survives down to 320px. */
    overflow-wrap: anywhere;
}

.checkout-rail-step.is-current .checkout-rail-node[b-ogbgp6uzab],
.checkout-rail-step.is-complete .checkout-rail-node[b-ogbgp6uzab] {
    color: var(--inv-text);
}

.checkout-rail-step.is-current .checkout-rail-marker[b-ogbgp6uzab] {
    background: var(--inv-text);
    border-color: var(--inv-text);
    color: var(--inv-surface);
}

.checkout-rail-step.is-complete .checkout-rail-marker[b-ogbgp6uzab] {
    border-color: var(--rail-success);
    color: var(--rail-success);
}

.checkout-rail-step.is-error .checkout-rail-node[b-ogbgp6uzab] {
    color: var(--rail-error);
}

.checkout-rail-step.is-error .checkout-rail-marker[b-ogbgp6uzab] {
    border-color: var(--rail-error);
    color: var(--rail-error);
    background: color-mix(in oklab, var(--rail-error) 8%, var(--inv-surface));
}

.checkout-rail-step.is-warning .checkout-rail-node[b-ogbgp6uzab] {
    color: var(--rail-warning);
}

.checkout-rail-step.is-warning .checkout-rail-marker[b-ogbgp6uzab] {
    border-color: var(--rail-warning);
    color: var(--rail-warning);
    background: color-mix(in oklab, var(--rail-warning) 10%, var(--inv-surface));
}

.checkout-rail-node:focus-visible[b-ogbgp6uzab] {
    outline: 2px solid var(--inv-text);
    outline-offset: 3px;
    border-radius: 0.5rem;
}

@media (min-width: 768px) {
    .checkout-rail[b-ogbgp6uzab] {
        --rail-marker-size: 2.5rem;
    }

    .checkout-rail-label[b-ogbgp6uzab] {
        font-size: 0.88rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .checkout-rail-progress-fill[b-ogbgp6uzab],
    .checkout-rail-node[b-ogbgp6uzab],
    .checkout-rail-marker[b-ogbgp6uzab] {
        transition: none;
    }
}
/* /Components/Public/CheckoutRulesSheet.razor.rz.scp.css */
/*
    The store-rules sheet. Mobile first: a bottom sheet that slides up over a blurred backdrop, keeps
    its own scroll inside ~85dvh, and pads its footer by the device's bottom inset. From the tablet
    breakpoint it becomes a centred dialog. The root sits inside the wizard's stacking context above
    the fixed action bar (1035); MainLayout.razor.css lifts .shop-main over the sticky header while
    the sheet is present.
*/

.checkout-rules-root[b-3qmk9adwtn] {
    position: fixed;
    inset: 0;
    z-index: var(--posh-overlay-z, 1040);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    color: var(--inv-text);
}

.checkout-rules-backdrop[b-3qmk9adwtn] {
    position: absolute;
    inset: 0;
    background: rgba(8, 12, 18, 0.45);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    animation: checkoutRulesFadeIn-b-3qmk9adwtn 240ms ease both;
}

.checkout-rules-sheet[b-3qmk9adwtn] {
    position: relative;
    inline-size: 100%;
    max-inline-size: 100%;
    max-block-size: 85vh;
    max-block-size: 85dvh;
    display: flex;
    flex-direction: column;
    background: var(--inv-surface);
    border: 1px solid var(--inv-border);
    border-block-end: 0;
    border-radius: 1.25rem 1.25rem 0 0;
    box-shadow: 0 -18px 48px -24px rgba(26, 26, 26, 0.45);
    overscroll-behavior: contain;
    animation: checkoutRulesSheetUp-b-3qmk9adwtn 240ms cubic-bezier(0.22, 0.8, 0.3, 1) both;
}

.checkout-rules-sheet:focus[b-3qmk9adwtn] {
    outline: none;
}

.checkout-rules-root.is-closing .checkout-rules-backdrop[b-3qmk9adwtn] {
    animation: checkoutRulesFadeOut-b-3qmk9adwtn 240ms ease both;
}

.checkout-rules-root.is-closing .checkout-rules-sheet[b-3qmk9adwtn] {
    animation: checkoutRulesSheetDown-b-3qmk9adwtn 240ms ease both;
}

/* Purely a visual cue that this is a sheet; dismissal is by the close controls, backdrop or Back. */
.checkout-rules-handle[b-3qmk9adwtn] {
    display: block;
    inline-size: 2.5rem;
    block-size: 0.3rem;
    margin: 0.6rem auto 0;
    border-radius: 999px;
    background: color-mix(in oklab, var(--inv-text) 22%, transparent);
    flex: none;
}

.checkout-rules-header[b-3qmk9adwtn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 1.1rem 0.75rem;
    flex: none;
}

.checkout-rules-title[b-3qmk9adwtn] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.checkout-rules-close[b-3qmk9adwtn] {
    flex: none;
    min-inline-size: 44px;
    min-block-size: 44px;
    display: grid;
    place-items: center;
    border: 1px solid var(--inv-border);
    border-radius: 999px;
    background: var(--inv-surface);
    color: var(--inv-text);
    font-size: 0.95rem;
    cursor: pointer;
    transition: background-color 240ms ease, border-color 240ms ease;
}

.checkout-rules-close:hover[b-3qmk9adwtn] {
    background: color-mix(in oklab, var(--inv-text) 6%, var(--inv-surface));
    border-color: color-mix(in oklab, var(--inv-text) 30%, var(--inv-border));
}

.checkout-rules-close:focus-visible[b-3qmk9adwtn],
.checkout-rules-confirm:focus-visible[b-3qmk9adwtn] {
    outline: 2px solid var(--inv-text);
    outline-offset: 3px;
}

.checkout-rules-body[b-3qmk9adwtn] {
    flex: 1 1 auto;
    min-block-size: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 0.25rem 1.1rem 1rem;
}

.checkout-rules-section[b-3qmk9adwtn] {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    padding: 0.95rem 1rem;
    border: 1px solid var(--inv-border);
    border-radius: 1rem;
    background: color-mix(in oklab, var(--inv-bg) 55%, transparent);
}

.checkout-rules-section-title[b-3qmk9adwtn] {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-size: 1.02rem;
    font-weight: 800;
}

.checkout-rules-section-icon[b-3qmk9adwtn] {
    display: grid;
    place-items: center;
    inline-size: 2.25rem;
    block-size: 2.25rem;
    flex: none;
    border-radius: 999px;
    border: 1px solid var(--inv-border);
    background: var(--inv-surface);
    font-size: 1.05rem;
}

.checkout-rules-list[b-3qmk9adwtn] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

/* 16px or larger: this is the text a customer actually has to read on a phone. */
.checkout-rules-item[b-3qmk9adwtn] {
    position: relative;
    padding-inline-start: 1.05rem;
    font-size: 1rem;
    line-height: 1.85;
    overflow-wrap: anywhere;
}

.checkout-rules-item[b-3qmk9adwtn]::before {
    content: "";
    position: absolute;
    inset-inline-start: 0.15rem;
    inset-block-start: 0.78em;
    inline-size: 0.38rem;
    block-size: 0.38rem;
    border-radius: 999px;
    background: color-mix(in oklab, var(--inv-text) 45%, transparent);
}

/* Shipping terms read as a short timetable: the region on one side, the window on the other. */
.checkout-rules-item-term[b-3qmk9adwtn] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    column-gap: 0.75rem;
    padding-inline-start: 0;
    padding-block-start: 0.55rem;
    border-block-start: 1px dashed var(--inv-border);
}

.checkout-rules-item-term:first-child[b-3qmk9adwtn] {
    padding-block-start: 0;
    border-block-start: 0;
}

.checkout-rules-item-term[b-3qmk9adwtn]::before {
    content: none;
}

.checkout-rules-term[b-3qmk9adwtn] {
    font-weight: 700;
}

.checkout-rules-detail[b-3qmk9adwtn] {
    color: color-mix(in oklab, var(--inv-text) 82%, transparent);
}

.checkout-rules-accept[b-3qmk9adwtn] {
    margin: 0;
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    padding: 0.8rem 0.95rem;
    border-radius: 0.9rem;
    border: 1px solid color-mix(in oklab, var(--inv-text) 22%, var(--inv-border));
    background: color-mix(in oklab, var(--inv-text) 6%, var(--inv-surface));
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.75;
}

.checkout-rules-accept .bi[b-3qmk9adwtn] {
    flex: none;
    font-size: 1.1rem;
    line-height: 1.75rem;
}

.checkout-rules-footer[b-3qmk9adwtn] {
    flex: none;
    padding: 0.75rem 1.1rem;
    padding-block-end: calc(0.75rem + env(safe-area-inset-bottom, 0px));
    border-block-start: 1px solid var(--inv-border);
    background: var(--inv-surface);
}

.checkout-rules-confirm[b-3qmk9adwtn] {
    inline-size: 100%;
    min-block-size: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.7rem 1rem;
    border: 1px solid var(--inv-text);
    border-radius: 0.75rem;
    background: var(--inv-text);
    color: var(--inv-surface);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 240ms ease;
}

.checkout-rules-confirm:hover[b-3qmk9adwtn] {
    background: color-mix(in oklab, var(--inv-text) 88%, var(--inv-surface));
}

@keyframes checkoutRulesSheetUp-b-3qmk9adwtn {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}

@keyframes checkoutRulesSheetDown-b-3qmk9adwtn {
    from { transform: translateY(0); }
    to { transform: translateY(100%); }
}

@keyframes checkoutRulesFadeIn-b-3qmk9adwtn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes checkoutRulesFadeOut-b-3qmk9adwtn {
    from { opacity: 1; }
    to { opacity: 0; }
}

@keyframes checkoutRulesDialogIn-b-3qmk9adwtn {
    from { opacity: 0; transform: translateY(0.75rem) scale(0.97); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes checkoutRulesDialogOut-b-3qmk9adwtn {
    from { opacity: 1; transform: translateY(0) scale(1); }
    to { opacity: 0; transform: translateY(0.75rem) scale(0.97); }
}

/* --- Tablet and desktop: a centred dialog -------------------------------- */

@media (min-width: 768px) {
    .checkout-rules-root[b-3qmk9adwtn] {
        align-items: center;
        padding: 1.5rem;
    }

    .checkout-rules-sheet[b-3qmk9adwtn] {
        max-inline-size: 32rem;
        max-block-size: min(85dvh, 44rem);
        border-block-end: 1px solid var(--inv-border);
        border-radius: 1.25rem;
        box-shadow: 0 28px 64px -28px rgba(26, 26, 26, 0.5);
        animation-name: checkoutRulesDialogIn-b-3qmk9adwtn;
    }

    .checkout-rules-root.is-closing .checkout-rules-sheet[b-3qmk9adwtn] {
        animation-name: checkoutRulesDialogOut-b-3qmk9adwtn;
    }

    .checkout-rules-handle[b-3qmk9adwtn] {
        display: none;
    }

    .checkout-rules-header[b-3qmk9adwtn] {
        padding: 1.1rem 1.4rem 0.85rem;
    }

    .checkout-rules-body[b-3qmk9adwtn] {
        padding-inline: 1.4rem;
    }

    .checkout-rules-footer[b-3qmk9adwtn] {
        padding: 0.9rem 1.4rem;
        border-end-start-radius: 1.25rem;
        border-end-end-radius: 1.25rem;
    }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .checkout-rules-backdrop[b-3qmk9adwtn] {
        background: rgba(8, 12, 18, 0.6);
    }
}

/* --- Reduced motion ------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
    .checkout-rules-backdrop[b-3qmk9adwtn],
    .checkout-rules-sheet[b-3qmk9adwtn],
    .checkout-rules-root.is-closing .checkout-rules-backdrop[b-3qmk9adwtn],
    .checkout-rules-root.is-closing .checkout-rules-sheet[b-3qmk9adwtn] {
        animation: none;
    }

    .checkout-rules-close[b-3qmk9adwtn],
    .checkout-rules-confirm[b-3qmk9adwtn] {
        transition: none;
    }
}
/* /Components/Public/ColorSwatch.razor.rz.scp.css */
.color-swatch[b-uqx5y6p2lj] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}

.color-swatch-button[b-uqx5y6p2lj] {
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
}

.color-swatch-dot[b-uqx5y6p2lj] {
    position: relative;
    display: inline-flex;
    width: 1.65rem;
    height: 1.65rem;
    flex: 0 0 1.65rem;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, #1a1a1a 35%, #dadad8);
    border-radius: 999px;
    background: var(--swatch-color);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.42);
}

.color-swatch-button:hover:not(:disabled) .color-swatch-dot[b-uqx5y6p2lj] {
    transform: scale(1.08);
}

.color-swatch-button:focus-visible[b-uqx5y6p2lj] {
    outline: 2px solid var(--inv-text, #1a1a1a);
    outline-offset: 2px;
}

.color-swatch-button.is-selected .color-swatch-dot[b-uqx5y6p2lj] {
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.58),
        0 0 0 3px var(--inv-surface, #fff),
        0 0 0 5px var(--inv-text, #1a1a1a);
}

.color-swatch-check[b-uqx5y6p2lj] {
    color: #fff;
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1;
    text-shadow: 0 1px 2px #000, 0 0 2px #000;
}

.color-swatch.is-unavailable .color-swatch-dot[b-uqx5y6p2lj]::after {
    position: absolute;
    inset-inline-start: 50%;
    width: 2px;
    height: 145%;
    background: #d71920;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.82);
    content: "";
    transform: translateX(-50%) rotate(45deg);
}

.color-swatch-button:disabled[b-uqx5y6p2lj] {
    cursor: not-allowed;
}

.color-swatch-button:disabled .color-swatch-dot[b-uqx5y6p2lj] {
    filter: saturate(0.55);
    opacity: 0.72;
}

.color-swatch-summary[b-uqx5y6p2lj] {
    gap: 0.35rem;
}

.color-swatch-summary .color-swatch-dot[b-uqx5y6p2lj] {
    width: 1rem;
    height: 1rem;
    flex-basis: 1rem;
}

.color-swatch-name[b-uqx5y6p2lj] {
    line-height: 1;
}

.color-swatch-accessible-text[b-uqx5y6p2lj] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    clip: rect(0, 0, 0, 0);
}

@media (prefers-reduced-motion: no-preference) {
    .color-swatch-dot[b-uqx5y6p2lj] {
        transition: transform 150ms ease, box-shadow 150ms ease, filter 150ms ease;
    }
}

/* A colour the catalog cannot resolve: a neutral, dashed dot so it still reads as a choice. */
.color-swatch.is-unresolved .color-swatch-dot[b-uqx5y6p2lj] {
    border-style: dashed;
}
/* /Components/Public/ProductCard.razor.rz.scp.css */
.shop-product-card[b-cbr9gvem01] {
    display: flex;
    flex-direction: column;
    min-width: 0;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: var(--inv-text);
    background: var(--posh-storefront-container);
    border: 1px solid var(--posh-storefront-outline);
    box-shadow: none;
    transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease;
}

.shop-product-card:is(:hover, :focus-visible)[b-cbr9gvem01] {
    transform: translateY(-4px);
    border-color: color-mix(in oklab, var(--posh-storefront-outline) 72%, var(--posh-storefront-ink));
    box-shadow: 0 18px 42px rgba(26, 26, 26, 0.06);
}

.shop-product-card:focus-visible[b-cbr9gvem01] {
    outline: 2px solid var(--posh-storefront-ink);
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .shop-product-card[b-cbr9gvem01] {
        transition: none;
    }
}

.shop-card-thumb[b-cbr9gvem01] {
    position: relative;
    aspect-ratio: 1 / 1;
    background: color-mix(in oklab, var(--inv-surface) 70%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-bottom: 1px solid color-mix(in oklab, var(--inv-border) 72%, transparent);
}

.shop-card-sale-badge[b-cbr9gvem01] {
    position: absolute;
    z-index: 1;
    inset-block-start: 0.65rem;
    inset-inline-start: 0.65rem;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    color: #fff;
    background: #b42318;
    font-size: 0.74rem;
    font-weight: 800;
}

.shop-card-sale-badge--no-image[b-cbr9gvem01] {
    position: static;
    align-self: flex-start;
    margin: 0.65rem 0.65rem 0;
}

.shop-card-thumb img[b-cbr9gvem01] {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* The Catalog Hover Photo lies over the card's own photo, invisible until a mouse is over the card. */
.shop-card-thumb-hover[b-cbr9gvem01] {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.35s ease;
}

@media (hover: hover) and (pointer: fine) {
    .shop-product-card:hover .shop-card-thumb-hover[b-cbr9gvem01] {
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .shop-card-thumb-hover[b-cbr9gvem01] {
        transition: none;
    }
}

.shop-card-thumb-placeholder[b-cbr9gvem01] {
    font-size: 2rem;
    opacity: 0.55;
}

.shop-card-thumb--color-placeholder[b-cbr9gvem01] {
    background: color-mix(in oklab, var(--shop-card-color, var(--inv-surface)) 22%, var(--inv-surface));
}

.shop-card-thumb--color-placeholder .shop-card-thumb-placeholder[b-cbr9gvem01] {
    color: var(--shop-card-color, var(--inv-text));
}

.shop-card-body[b-cbr9gvem01] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 0.85rem 0.95rem 1rem;
}

.shop-card-colors[b-cbr9gvem01] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    min-height: 1rem;
}

.shop-card-title[b-cbr9gvem01] {
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.shop-card-price[b-cbr9gvem01] {
    display: flex;
    align-items: baseline;
    gap: 0.35rem;
    flex-wrap: wrap;
    font-size: 0.92rem;
}

.shop-card-price-label[b-cbr9gvem01] {
    color: color-mix(in oklab, var(--inv-text) 65%, transparent);
    font-size: 0.82rem;
}

.shop-card-price-value[b-cbr9gvem01] {
    font-size: 1.05rem;
}

.shop-card-price-original[b-cbr9gvem01] {
    color: color-mix(in oklab, var(--inv-text) 52%, transparent);
    font-size: 0.82rem;
    text-decoration: line-through;
}

.shop-card-price-empty[b-cbr9gvem01] {
    align-self: flex-start;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.78rem;
    color: color-mix(in oklab, var(--inv-text) 70%, transparent);
    background: color-mix(in oklab, var(--inv-surface) 70%, transparent);
    border: 1px solid var(--inv-border);
}

@media (max-width: 575.98px) {
    .shop-card-body[b-cbr9gvem01] {
        gap: 0.18rem;
        padding: 0.42rem 0.32rem 0.48rem;
    }

    .shop-card-title[b-cbr9gvem01] {
        font-size: 0.68rem;
        line-height: 1.35;
        -webkit-line-clamp: 1;
        word-break: break-word;
    }

    .shop-card-price[b-cbr9gvem01] {
        gap: 0;
        font-size: 0.64rem;
        line-height: 1.25;
    }

    .shop-card-price-label[b-cbr9gvem01] {
        display: none;
    }

    .shop-card-price-value[b-cbr9gvem01] {
        font-size: 0.66rem;
        line-height: 1.25;
        overflow-wrap: anywhere;
    }

    .shop-card-price-empty[b-cbr9gvem01] {
        max-width: 100%;
        padding: 0.12rem 0.28rem;
        font-size: 0.62rem;
        line-height: 1.25;
    }
}
/* /Components/Public/ProductPhotoViewer.razor.rz.scp.css */
/* The Product Photo Viewer: the photo full-screen on the storefront's white, with quiet controls around it. */
.ppv-root[b-l23jepjyel] {
    position: fixed;
    inset: 0;
    z-index: calc(var(--posh-overlay-z, 1040) + 2);
}

.ppv-dialog[b-l23jepjyel] {
    position: absolute;
    inset: 0;
    background: var(--posh-storefront-container, #ffffff);
    color: var(--posh-storefront-ink, #1a1a1a);
    outline: none;
    animation: ppv-fade-in-b-l23jepjyel 0.2s ease-out;
}

.ppv-root.is-closing .ppv-dialog[b-l23jepjyel] {
    animation: ppv-fade-out-b-l23jepjyel 0.18s ease-in forwards;
}

/* The stage takes every gesture itself, so a pinch zooms the photo rather than the page. */
.ppv-stage[b-l23jepjyel] {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    touch-action: none;
}

.ppv-image[b-l23jepjyel] {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transform-origin: center;
    user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
    -webkit-touch-callout: none;
    will-change: transform;
}

.ppv-close[b-l23jepjyel],
.ppv-nav[b-l23jepjyel] {
    position: absolute;
    z-index: 1;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid var(--posh-storefront-outline, #dadad8);
    border-radius: 50%;
    background: color-mix(in oklab, var(--posh-storefront-container, #ffffff) 82%, transparent);
    color: var(--posh-storefront-ink, #1a1a1a);
    backdrop-filter: blur(6px);
    cursor: pointer;
}

.ppv-close[b-l23jepjyel] {
    top: calc(env(safe-area-inset-top, 0px) + 0.75rem);
    inset-inline-end: 0.75rem;
    font-size: 1.05rem;
}

.ppv-nav[b-l23jepjyel] {
    top: 50%;
    transform: translateY(-50%);
}

/* As on the page: the physical left control is the previous photo and the physical right control the next. */
.ppv-nav--previous[b-l23jepjyel] {
    left: 0.75rem;
}

.ppv-nav--next[b-l23jepjyel] {
    right: 0.75rem;
}

.ppv-arrow[b-l23jepjyel] {
    direction: ltr;
    unicode-bidi: isolate;
    font-size: 1.5rem;
    line-height: 1;
}

.ppv-close:focus-visible[b-l23jepjyel],
.ppv-nav:focus-visible[b-l23jepjyel] {
    outline: 2px solid var(--posh-storefront-ink, #1a1a1a);
    outline-offset: 3px;
}

.ppv-counter[b-l23jepjyel] {
    position: absolute;
    z-index: 1;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 1rem);
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    background: color-mix(in oklab, var(--posh-storefront-container, #ffffff) 82%, transparent);
    font-size: 0.85rem;
}

@keyframes ppv-fade-in-b-l23jepjyel {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes ppv-fade-out-b-l23jepjyel {
    from { opacity: 1; }
    to { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .ppv-dialog[b-l23jepjyel],
    .ppv-root.is-closing .ppv-dialog[b-l23jepjyel] {
        animation: none;
    }
}
/* /Components/Public/SizeGuideMotion.razor.rz.scp.css */
/*
    The size-guide motion graphic, ported from the Posh Size Guide design system (bundle.css). Colours
    are the storefront's own tokens (--inv-*) and the guide's sand (--posh-size-guide-*, app.css).
    The SVG holds the still frame of scene 2 until the loop runs, so under prefers-reduced-motion it
    simply never animates.
*/

.psg-motion[b-svtcmodr3d] {
    /* A flex item of the sheet's scrolling body: with overflow hidden it would otherwise shrink to nothing. */
    flex: none;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--inv-border);
    border-radius: 1rem;
    background: var(--inv-surface);
}

.psg-motion-bar[b-svtcmodr3d] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.4rem 0.5rem;
    border-block-start: 1px solid var(--inv-border);
}

.psg-motion-steps[b-svtcmodr3d] {
    display: flex;
    flex: 1 1 auto;
    gap: 0.35rem;
    min-inline-size: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.psg-motion-step[b-svtcmodr3d] {
    flex: 1 0 auto;
    min-block-size: 44px;
    padding: 0.3rem 0.5rem;
    border: 1px solid var(--inv-border);
    border-radius: 999px;
    background: var(--inv-surface);
    color: var(--inv-text);
    font: inherit;
    font-size: 0.78rem;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 240ms ease, color 240ms ease, border-color 240ms ease;
}

.psg-motion-step[aria-current="step"][b-svtcmodr3d] {
    border-color: var(--inv-text);
    background: var(--inv-text);
    color: var(--inv-surface);
}

.psg-motion-toggle[b-svtcmodr3d] {
    flex: none;
    inline-size: 44px;
    block-size: 44px;
    display: grid;
    place-items: center;
    border: 1px solid var(--inv-border);
    border-radius: 999px;
    background: var(--inv-surface);
    color: var(--inv-text);
    font-size: 1.1rem;
    cursor: pointer;
}

/* Reduced motion: the SVG holds its still frame (step 2), so the controls have nothing to do. */
@media (prefers-reduced-motion: reduce) {
    .psg-motion-bar[b-svtcmodr3d] {
        display: none;
    }
}

.psg-motion-step:focus-visible[b-svtcmodr3d],
.psg-motion-toggle:focus-visible[b-svtcmodr3d] {
    outline: 2px solid var(--inv-text);
    outline-offset: 3px;
}

/* --- The motion graphic (.sgm): a 21s loop in three scenes of 7s ------------------------------- */
/* Scene 1, 0–7s: the foot drops onto the floor. Scene 2, 7–14s: the tailor's tape runs from the heel to the
   longest toe and reads 24. Scene 3, 14–21s: the table, the 24 column, its size. Each scene fades in and out
   over 0.4s; the keyframe percentages below are those seconds over 21. */
.sgm[b-svtcmodr3d] { --sgm-dur: 21s; display: block; inline-size: 100%; block-size: auto; font-family: inherit; }
.sgm text[b-svtcmodr3d] { direction: rtl; unicode-bidi: embed; text-anchor: middle; }
.sgm-bg[b-svtcmodr3d] { fill: var(--inv-surface); }
.sgm-step[b-svtcmodr3d] { font-size: 15px; font-weight: 700; fill: var(--posh-size-guide-ink-muted); }
.sgm-caption[b-svtcmodr3d] { font-size: 24px; font-weight: 800; fill: var(--inv-text); }
.sgm-floor[b-svtcmodr3d] { fill: var(--inv-bg); stroke: var(--inv-border); stroke-width: 1; }
.sgm-seam[b-svtcmodr3d] { fill: none; stroke: var(--inv-border); stroke-width: 1; }
.sgm-foot-line > *[b-svtcmodr3d] { fill: var(--inv-text); stroke: var(--inv-text); stroke-width: 5; stroke-linejoin: round; }
.sgm-foot-fill > *[b-svtcmodr3d] { fill: var(--posh-size-guide-sand); stroke: none; }
.sgm-guide[b-svtcmodr3d] { stroke: var(--inv-text); stroke-width: 1.5; stroke-dasharray: 4 4; }
.sgm-label[b-svtcmodr3d] { font-size: 15px; font-weight: 700; fill: var(--posh-size-guide-ink-muted); }
.sgm-ring[b-svtcmodr3d] { fill: none; stroke: var(--inv-text); stroke-width: 2; transform-box: fill-box; transform-origin: center; }
.sgm-tape-strip[b-svtcmodr3d] { fill: var(--posh-size-guide-sand-soft); stroke: var(--inv-text); stroke-width: 1.5; }
.sgm-tape-ticks[b-svtcmodr3d] { fill: none; stroke: var(--inv-text); stroke-width: 1.2; }
.sgm-tape-num[b-svtcmodr3d] { font-size: 9px; font-weight: 700; fill: var(--inv-text); }
.sgm-tape-hook[b-svtcmodr3d] { fill: var(--inv-text); }
.sgm-tape-reveal[b-svtcmodr3d] { transform-box: fill-box; transform-origin: 100% 50%; }
.sgm-reading rect[b-svtcmodr3d] { fill: var(--inv-text); }
.sgm-reading text[b-svtcmodr3d] { font-size: 18px; font-weight: 800; fill: var(--inv-surface); }
.sgm-reading[b-svtcmodr3d], .sgm-hl[b-svtcmodr3d] { transform-box: fill-box; transform-origin: center; }
.sgm-row-label[b-svtcmodr3d] { font-size: 16px; font-weight: 800; fill: var(--inv-text); }
.sgm-row-sub[b-svtcmodr3d] { font-size: 13px; font-weight: 700; fill: var(--posh-size-guide-ink-muted); }
.sgm-table[b-svtcmodr3d] { fill: var(--inv-bg); stroke: var(--inv-border); stroke-width: 1; }
.sgm-rule[b-svtcmodr3d] { fill: none; stroke: var(--inv-border); stroke-width: 1; }
.sgm-hl[b-svtcmodr3d] { fill: var(--posh-size-guide-sand); }
.sgm-cell[b-svtcmodr3d] { font-size: 22px; font-weight: 800; fill: var(--inv-text); }
.sgm-result[b-svtcmodr3d] { font-size: 30px; font-weight: 800; fill: var(--inv-text); }
.sgm-track[b-svtcmodr3d] { fill: var(--inv-border); }
.sgm-fill[b-svtcmodr3d] { fill: var(--inv-text); transform-box: fill-box; transform-origin: 100% 50%; }
.sgm-cap-1[b-svtcmodr3d], .sgm-cap-3[b-svtcmodr3d], .sgm-stage-b[b-svtcmodr3d] { opacity: 0; }
.sgm-fill-3[b-svtcmodr3d] { transform: scaleX(0); }

@media (prefers-reduced-motion: no-preference) {
  .sgm-anim *[b-svtcmodr3d] { animation-duration: var(--sgm-dur); animation-delay: var(--sgm-delay, 0s); animation-iteration-count: infinite; animation-fill-mode: both; animation-timing-function: linear; }
  .sgm-anim.is-paused *[b-svtcmodr3d] { animation-play-state: paused; }
  .sgm-anim .sgm-stage-a[b-svtcmodr3d] { animation-name: sgmStageA-b-svtcmodr3d; }
  .sgm-anim .sgm-foot[b-svtcmodr3d] { animation-name: sgmFoot-b-svtcmodr3d; }
  .sgm-anim .sgm-cap-1[b-svtcmodr3d] { animation-name: sgmCap1-b-svtcmodr3d; }
  .sgm-anim .sgm-cap-2[b-svtcmodr3d] { animation-name: sgmCap2-b-svtcmodr3d; }
  .sgm-anim .sgm-cap-3[b-svtcmodr3d] { animation-name: sgmCap3-b-svtcmodr3d; }
  .sgm-anim .sgm-at-2[b-svtcmodr3d] { animation-name: sgmAt2-b-svtcmodr3d; }
  .sgm-anim .sgm-ring[b-svtcmodr3d] { animation-name: sgmPulse-b-svtcmodr3d; }
  .sgm-anim .sgm-tape-reveal[b-svtcmodr3d] { animation-name: sgmReveal-b-svtcmodr3d; }
  .sgm-anim .sgm-guide-toe[b-svtcmodr3d] { animation-name: sgmToeGuide-b-svtcmodr3d; }
  .sgm-anim .sgm-reading[b-svtcmodr3d] { animation-name: sgmReading-b-svtcmodr3d; }
  .sgm-anim .sgm-stage-b[b-svtcmodr3d] { animation-name: sgmStageB-b-svtcmodr3d; }
  .sgm-anim .sgm-hl-cm[b-svtcmodr3d] { animation-name: sgmHlCm-b-svtcmodr3d; }
  .sgm-anim .sgm-hl-size[b-svtcmodr3d] { animation-name: sgmHlSize-b-svtcmodr3d; }
  .sgm-anim .sgm-result-a[b-svtcmodr3d] { animation-name: sgmResultA-b-svtcmodr3d; }
  .sgm-anim .sgm-fill-1[b-svtcmodr3d] { animation-name: sgmSeg1-b-svtcmodr3d; }
  .sgm-anim .sgm-fill-2[b-svtcmodr3d] { animation-name: sgmSeg2-b-svtcmodr3d; }
  .sgm-anim .sgm-fill-3[b-svtcmodr3d] { animation-name: sgmSeg3-b-svtcmodr3d; }
}

/* Scene 1 (0–7s) and the floor it shares with scene 2: in by 0.8s, out 13.6–14s. */
@keyframes sgmStageA-b-svtcmodr3d { 0% { opacity: 0; } 3.81% { opacity: 1; } 64.76% { opacity: 1; } 66.67%, 100% { opacity: 0; } }
@keyframes sgmFoot-b-svtcmodr3d { 0% { transform: translateY(-26px); opacity: 0; animation-timing-function: cubic-bezier(.22, .8, .3, 1); } 3.81%, 100% { transform: translateY(0); opacity: 1; } }
@keyframes sgmCap1-b-svtcmodr3d { 0% { opacity: 0; transform: translateY(6px); } 2.38% { opacity: 1; transform: translateY(0); } 31.43% { opacity: 1; transform: translateY(0); } 33.33%, 100% { opacity: 0; transform: translateY(0); } }
/* Scene 2 (7–14s): pulses on the toe until 10s, the tape runs 7.6–10.4s, the reading lands at 10.6–11.3s. */
@keyframes sgmCap2-b-svtcmodr3d { 0%, 33.33% { opacity: 0; transform: translateY(6px); } 35.24% { opacity: 1; transform: translateY(0); } 64.76% { opacity: 1; transform: translateY(0); } 66.67%, 100% { opacity: 0; transform: translateY(0); } }
@keyframes sgmAt2-b-svtcmodr3d { 0%, 33.33% { opacity: 0; } 35.24%, 100% { opacity: 1; } }
@keyframes sgmPulse-b-svtcmodr3d { 0%, 33.33% { opacity: 0; transform: scale(1); } 35.24% { opacity: 1; transform: scale(1); } 40.95% { opacity: 0; transform: scale(1.8); } 41% { opacity: 1; transform: scale(1); } 46.67% { opacity: 0; transform: scale(1.8); } 46.71% { opacity: 0; transform: scale(1); } 47.62%, 100% { opacity: 1; transform: scale(1); } }
@keyframes sgmReveal-b-svtcmodr3d { 0%, 36.19% { transform: scaleX(0); animation-timing-function: cubic-bezier(.45, 0, .2, 1); } 49.52%, 100% { transform: scaleX(1); } }
@keyframes sgmToeGuide-b-svtcmodr3d { 0%, 49.52% { opacity: 0; } 50.48%, 100% { opacity: 1; } }
@keyframes sgmReading-b-svtcmodr3d { 0%, 50.48% { opacity: 0; transform: scale(.7); } 52.38% { opacity: 1; transform: scale(1.06); } 53.81%, 100% { opacity: 1; transform: scale(1); } }
/* Scene 3 (14–21s): the table, then the 24 column at 15s, its size at 15.8s, the answer at 16.4s, held to the end. */
@keyframes sgmCap3-b-svtcmodr3d { 0%, 66.67% { opacity: 0; transform: translateY(6px); } 68.57% { opacity: 1; transform: translateY(0); } 98.1% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(0); } }
@keyframes sgmStageB-b-svtcmodr3d { 0%, 66.67% { opacity: 0; } 68.57% { opacity: 1; } 98.1% { opacity: 1; } 100% { opacity: 0; } }
@keyframes sgmHlCm-b-svtcmodr3d { 0%, 71.43% { opacity: 0; transform: scale(.8); } 73.33%, 100% { opacity: 1; transform: scale(1); } }
@keyframes sgmHlSize-b-svtcmodr3d { 0%, 75.24% { opacity: 0; transform: scale(.8); } 77.14%, 100% { opacity: 1; transform: scale(1); } }
@keyframes sgmResultA-b-svtcmodr3d { 0%, 78.1% { opacity: 0; transform: translateY(8px); } 80%, 100% { opacity: 1; transform: translateY(0); } }
/* The progress bar: one segment per scene. */
@keyframes sgmSeg1-b-svtcmodr3d { 0% { transform: scaleX(0); } 33.33%, 100% { transform: scaleX(1); } }
@keyframes sgmSeg2-b-svtcmodr3d { 0%, 33.33% { transform: scaleX(0); } 66.67%, 100% { transform: scaleX(1); } }
@keyframes sgmSeg3-b-svtcmodr3d { 0%, 66.67% { transform: scaleX(0); } 100% { transform: scaleX(1); } }
/* /Components/Public/SizeGuideSheet.razor.rz.scp.css */
/*
    The size-guide sheet, a sibling of the store-rules sheet (CheckoutRulesSheet.razor.css): a bottom
    sheet on phones that keeps its own scroll inside ~85dvh, a centred dialog from 768px, the same 240ms
    motion in and out, immediate under prefers-reduced-motion. Ported from the Posh Size Guide design
    system (bundle.css) on the storefront's own tokens. MainLayout.razor.css lifts .shop-main over the
    sticky header while the sheet is present.
*/

.psg-sheet-root[b-guspbe9c3d] {
    position: fixed;
    inset: 0;
    z-index: var(--posh-overlay-z, 1040);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    color: var(--inv-text);
}

.psg-sheet-backdrop[b-guspbe9c3d] {
    position: absolute;
    inset: 0;
    background: rgba(8, 12, 18, 0.45);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    animation: psgFadeIn-b-guspbe9c3d 240ms ease both;
}

.psg-sheet[b-guspbe9c3d] {
    position: relative;
    inline-size: 100%;
    max-block-size: 85vh;
    max-block-size: 85dvh;
    display: flex;
    flex-direction: column;
    background: var(--inv-surface);
    border: 1px solid var(--inv-border);
    border-block-end: 0;
    border-radius: 1.25rem 1.25rem 0 0;
    box-shadow: 0 -18px 48px -24px rgba(26, 26, 26, 0.45);
    overscroll-behavior: contain;
    animation: psgSheetUp-b-guspbe9c3d 240ms cubic-bezier(0.22, 0.8, 0.3, 1) both;
}

.psg-sheet:focus[b-guspbe9c3d] {
    outline: none;
}

.psg-sheet-root.is-closing .psg-sheet-backdrop[b-guspbe9c3d] {
    animation: psgFadeOut-b-guspbe9c3d 240ms ease both;
}

.psg-sheet-root.is-closing .psg-sheet[b-guspbe9c3d] {
    animation: psgSheetDown-b-guspbe9c3d 240ms ease both;
}

.psg-sheet-handle[b-guspbe9c3d] {
    display: block;
    flex: none;
    inline-size: 2.5rem;
    block-size: 0.3rem;
    margin: 0.6rem auto 0;
    border-radius: 999px;
    background: var(--inv-border);
}

.psg-sheet-header[b-guspbe9c3d] {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 1.1rem 0.75rem;
}

.psg-sheet-title[b-guspbe9c3d] {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: -0.01em;
}

.psg-sheet-close[b-guspbe9c3d] {
    flex: none;
    min-inline-size: 44px;
    min-block-size: 44px;
    display: grid;
    place-items: center;
    border: 1px solid var(--inv-border);
    border-radius: 999px;
    background: var(--inv-surface);
    color: var(--inv-text);
    font-size: 0.95rem;
    cursor: pointer;
}

.psg-sheet-body[b-guspbe9c3d] {
    flex: 1 1 auto;
    min-block-size: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 0.25rem 1.1rem 1rem;
}

.psg-steps[b-guspbe9c3d] {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: psg-step;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.psg-steps li[b-guspbe9c3d] {
    position: relative;
    counter-increment: psg-step;
    padding-inline-start: 2.1rem;
    font-size: 1rem;
    line-height: 1.85;
}

.psg-steps li[b-guspbe9c3d]::before {
    content: counter(psg-step, persian);
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 0.2rem;
    inline-size: 1.5rem;
    block-size: 1.5rem;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: var(--inv-text);
    color: var(--inv-surface);
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1;
}

.psg-section-title[b-guspbe9c3d] {
    margin: 0;
    font-size: 1.02rem;
    font-weight: 800;
}

.psg-sheet-footer[b-guspbe9c3d] {
    flex: none;
    padding: 0.75rem 1.1rem;
    padding-block-end: calc(0.75rem + env(safe-area-inset-bottom, 0px));
    border-block-start: 1px solid var(--inv-border);
    background: var(--inv-surface);
}

.psg-sheet-confirm[b-guspbe9c3d] {
    inline-size: 100%;
    min-block-size: 44px;
    padding: 0.7rem 1rem;
    border: 1px solid var(--inv-text);
    border-radius: 0.75rem;
    background: var(--inv-text);
    color: var(--inv-surface);
    font: inherit;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
}

@keyframes psgSheetUp-b-guspbe9c3d { from { transform: translateY(100%); } to { transform: translateY(0); } }
@keyframes psgFadeIn-b-guspbe9c3d { from { opacity: 0; } to { opacity: 1; } }
@keyframes psgDialogIn-b-guspbe9c3d { from { opacity: 0; transform: translateY(0.75rem) scale(0.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes psgSheetDown-b-guspbe9c3d { from { transform: translateY(0); } to { transform: translateY(100%); } }
@keyframes psgFadeOut-b-guspbe9c3d { from { opacity: 1; } to { opacity: 0; } }
@keyframes psgDialogOut-b-guspbe9c3d { from { opacity: 1; transform: translateY(0) scale(1); } to { opacity: 0; transform: translateY(0.75rem) scale(0.97); } }

@media (min-width: 768px) {
    .psg-sheet-root[b-guspbe9c3d] {
        align-items: center;
        padding: 1.5rem;
    }

    .psg-sheet[b-guspbe9c3d] {
        max-inline-size: 34rem;
        max-block-size: min(85dvh, 48rem);
        border-block-end: 1px solid var(--inv-border);
        border-radius: 1.25rem;
        box-shadow: 0 28px 64px -28px rgba(26, 26, 26, 0.5);
        animation-name: psgDialogIn-b-guspbe9c3d;
    }

    .psg-sheet-root.is-closing .psg-sheet[b-guspbe9c3d] {
        animation-name: psgDialogOut-b-guspbe9c3d;
    }

    .psg-sheet-handle[b-guspbe9c3d] {
        display: none;
    }

    .psg-sheet-header[b-guspbe9c3d] {
        padding: 1.1rem 1.4rem 0.85rem;
    }

    .psg-sheet-body[b-guspbe9c3d] {
        padding-inline: 1.4rem;
    }

    .psg-sheet-footer[b-guspbe9c3d] {
        padding-inline: 1.4rem;
        border-end-start-radius: 1.25rem;
        border-end-end-radius: 1.25rem;
    }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
    .psg-sheet-backdrop[b-guspbe9c3d] {
        background: rgba(8, 12, 18, 0.6);
    }
}

@media (prefers-reduced-motion: reduce) {
    .psg-sheet[b-guspbe9c3d],
    .psg-sheet-backdrop[b-guspbe9c3d],
    .psg-sheet-root.is-closing .psg-sheet[b-guspbe9c3d],
    .psg-sheet-root.is-closing .psg-sheet-backdrop[b-guspbe9c3d] {
        animation: none;
    }
}

.psg-sheet-close:focus-visible[b-guspbe9c3d],
.psg-sheet-confirm:focus-visible[b-guspbe9c3d] {
    outline: 2px solid var(--inv-text);
    outline-offset: 3px;
}

.psg-sheet-close:hover[b-guspbe9c3d] {
    background: color-mix(in oklab, var(--inv-text) 6%, var(--inv-surface));
    border-color: color-mix(in oklab, var(--inv-text) 30%, var(--inv-border));
}

.psg-sheet-confirm:hover[b-guspbe9c3d] {
    background: color-mix(in oklab, var(--inv-text) 88%, var(--inv-surface));
}

/* --- SizeChart ----------------------------------------------------------------------------------- */
.psg-chart[b-guspbe9c3d] {
    inline-size: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--inv-border);
    border-radius: 1rem;
    overflow: hidden;
    background: var(--inv-surface);
    font-variant-numeric: tabular-nums;
}

.psg-chart caption[b-guspbe9c3d] {
    caption-side: top;
    padding-block-end: 0.5rem;
    text-align: start;
    font-size: 1.02rem;
    font-weight: 800;
}

.psg-chart th[b-guspbe9c3d],
.psg-chart td[b-guspbe9c3d] {
    padding: 0.55rem 1rem;
    border-block-start: 1px solid var(--inv-border);
    text-align: center;
    font-size: 1rem;
    font-weight: 700;
}

.psg-chart thead th[b-guspbe9c3d] {
    border-block-start: 0;
    background: var(--inv-bg);
    color: var(--posh-size-guide-ink-muted);
    font-size: 0.85rem;
}

.psg-chart tbody th[b-guspbe9c3d] {
    font-weight: 700;
}

.psg-chart tbody td[b-guspbe9c3d] {
    font-weight: 800;
}

.psg-chart th + td[b-guspbe9c3d],
.psg-chart th + th[b-guspbe9c3d] {
    /* the rule between the two columns */
    border-inline-start: 1px solid var(--inv-border);
}

.psg-chart-foot[b-guspbe9c3d] {
    margin: 0.5rem 0 0;
    color: var(--posh-size-guide-ink-muted);
    font-size: 0.86rem;
    line-height: 1.7;
}

/* --- Support ----------------------------------------------------------------------------------- */
/* Beside the «قالب بزرگ» chart: where an unsure customer turns. Quiet, not a warning. */
.psg-support[b-guspbe9c3d] {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.7rem 0.85rem;
    border: 1px solid var(--inv-border);
    border-radius: 0.7rem;
    background: var(--inv-bg);
    color: var(--inv-text);
    font-size: 0.86rem;
    line-height: 1.7;
}

.psg-support > .bi[b-guspbe9c3d] {
    flex: none;
    font-size: 1.05rem;
    line-height: 1.45rem;
}

.psg-support-title[b-guspbe9c3d] {
    display: block;
    font-weight: 800;
}

.psg-support-phone[b-guspbe9c3d] {
    display: block;
    inline-size: fit-content;
    margin-block-start: 0.15rem;
    color: var(--inv-text);
    font-weight: 800;
    text-decoration: underline;
    text-decoration-color: var(--inv-border);
    text-underline-offset: 0.3em;
}

.psg-support-phone:hover[b-guspbe9c3d] {
    text-decoration-color: var(--inv-text);
}

.psg-support-phone:focus-visible[b-guspbe9c3d] {
    outline: 2px solid var(--inv-text);
    outline-offset: 3px;
}
/* /Components/Public/SizeGuideTrigger.razor.rz.scp.css */
/*
    The size row's heading on a shoe page: «سایز» on one side and the guide link on the other. Ported
    from the Posh Size Guide design system (bundle.css), on the storefront's own tokens.
*/

.psg-size-head[b-56bgb2pzfq] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.psg-size-label[b-56bgb2pzfq] {
    font-size: 0.85rem;
    color: var(--posh-size-guide-ink-muted);
}

.psg-guide-link[b-56bgb2pzfq] {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    min-block-size: 44px;
    padding: 0 0.15rem;
    border: 0;
    border-radius: 0.4rem;
    background: none;
    color: var(--inv-text);
    font: inherit;
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: var(--inv-border);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.35em;
    cursor: pointer;
    transition: text-decoration-color 240ms ease;
}

.psg-guide-link:hover[b-56bgb2pzfq] {
    text-decoration-color: var(--inv-text);
}

.psg-guide-link .bi[b-56bgb2pzfq] {
    font-size: 1rem;
}

.psg-guide-link:focus-visible[b-56bgb2pzfq] {
    outline: 2px solid var(--inv-text);
    outline-offset: 3px;
}
