/* /Components/Ai/AskRelish.razor.rz.scp.css */
.askrelish[b-dwxnt107lh] { display: inline-flex; }

.askrelish__launch[b-dwxnt107lh] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    color: var(--relish-herb-deep, #4a6b34);
    font-size: 18px;
    cursor: pointer;
}

.askrelish__scrim[b-dwxnt107lh] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .28);
    z-index: 40;
}

.askrelish__panel[b-dwxnt107lh] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(420px, 100vw);
    display: flex;
    flex-direction: column;
    background: var(--relish-surface, #fff);
    box-shadow: -8px 0 28px rgba(0, 0, 0, .18);
    z-index: 41;
}

.askrelish__head[b-dwxnt107lh] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid var(--relish-border, #e6e3dc);
}

.askrelish__title[b-dwxnt107lh] { font-weight: 700; color: var(--relish-herb-deep, #4a6b34); }
.askrelish__close[b-dwxnt107lh] { border: none; background: transparent; font-size: 18px; cursor: pointer; color: var(--relish-ink, #444); }

.askrelish__log[b-dwxnt107lh] { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.askrelish__hint[b-dwxnt107lh] { color: var(--relish-ink-soft, #777); font-size: 14px; margin: 0; }

.askrelish__you[b-dwxnt107lh] {
    align-self: flex-end;
    max-width: 85%;
    padding: 8px 12px;
    border-radius: 14px 14px 2px 14px;
    background: var(--relish-herb, #6b8e4e);
    color: #fff;
    font-size: 14px;
}

.askrelish__marcy[b-dwxnt107lh] {
    align-self: flex-start;
    max-width: 90%;
    padding: 8px 12px;
    border-radius: 14px 14px 14px 2px;
    background: var(--relish-surface-2, #f4f2ec);
    color: var(--relish-ink, #333);
    font-size: 14px;
    line-height: 1.5;
}
.askrelish__marcy--soft[b-dwxnt107lh] { color: var(--relish-ink-soft, #777); font-style: italic; }

.askrelish__card[b-dwxnt107lh] {
    align-self: stretch;
    padding: 10px 12px;
    border: 1px solid var(--relish-border, #e6e3dc);
    border-left: 3px solid var(--relish-herb, #6b8e4e);
    border-radius: 8px;
    background: var(--relish-surface, #fff);
}
.askrelish__card-name[b-dwxnt107lh] { margin: 0 0 4px; font-weight: 700; color: var(--relish-ink, #333); }
.askrelish__card-reason[b-dwxnt107lh] { margin: 0 0 6px; font-style: italic; color: var(--relish-ink, #444); line-height: 1.5; }
.askrelish__card-allergens[b-dwxnt107lh] { margin: 4px 0 0; font-size: 13px; color: var(--relish-ink-soft, #666); }
.askrelish__card-link[b-dwxnt107lh] { color: var(--relish-herb-deep, #4a6b34); font-weight: 600; text-decoration: none; font-size: 13px; }

.askrelish__action[b-dwxnt107lh] {
    align-self: stretch;
    padding: 10px 12px;
    border: 1px solid var(--relish-herb, #6b8e4e);
    border-radius: 8px;
    background: var(--relish-surface-2, #f4f2ec);
}
.askrelish__action-text[b-dwxnt107lh] { margin: 0 0 8px; font-weight: 600; color: var(--relish-ink, #333); }
.askrelish__action-btns[b-dwxnt107lh] { display: flex; gap: 8px; }
.askrelish__action-done[b-dwxnt107lh] { margin: 0; color: var(--relish-herb-deep, #4a6b34); font-weight: 600; }
.askrelish__action-err[b-dwxnt107lh] { margin: 6px 0 0; color: var(--relish-danger, #b3261e); font-size: 13px; }

.askrelish__compose[b-dwxnt107lh] {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    padding: 12px 16px 4px;
    border-top: 1px solid var(--relish-border, #e6e3dc);
}
.askrelish__input[b-dwxnt107lh] {
    flex: 1;
    padding: 8px 10px;
    border: 1px solid var(--relish-border, #e6e3dc);
    border-radius: 8px;
    font-family: inherit;
    font-size: 14px;
    resize: none;
}
.askrelish__foot[b-dwxnt107lh] { margin: 4px 16px 12px; font-size: 11px; color: var(--relish-ink-soft, #999); }

.btn[b-dwxnt107lh] {
    border: 1px solid transparent;
    border-radius: var(--relish-radius-control, 8px);
    padding: 8px 14px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}
.btn:disabled[b-dwxnt107lh] { opacity: .55; cursor: default; }
.btn--primary[b-dwxnt107lh] { background: var(--relish-herb, #6b8e4e); color: #fff; }
.btn--ghost[b-dwxnt107lh] { background: transparent; border-color: var(--relish-border, #e6e3dc); color: var(--relish-ink, #444); }
/* /Components/Ai/CustomerAssistant.razor.rz.scp.css */
/* Launcher lives in the customer topbar — a dark (--relish-herb-deep) bar — next to the
   account menu, so its icon takes the bar's foreground colour to stay visible (a
   herb-deep icon here would be invisible against the herb-deep bar). */
.asst-launch[b-5astxxlkgp] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none;
    background: transparent;
    color: var(--relish-on-brand, #f7f3e8);
    font-size: 18px;
    cursor: pointer;
}
.asst-launch:hover[b-5astxxlkgp] { opacity: .85; }

/* The chat client is full-screen until closed — a single surface over the whole app. */
.asst[b-5astxxlkgp] {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: flex;
    flex-direction: column;
    background: var(--relish-surface, #fff);
}

.asst__bar[b-5astxxlkgp] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--relish-border, #e6e3dc);
    background: var(--relish-surface, #fff);
}
.asst__title[b-5astxxlkgp] { font-weight: 700; font-size: 16px; color: var(--relish-herb-deep, #4a6b34); display: inline-flex; align-items: center; gap: 8px; }
.asst__close[b-5astxxlkgp] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; border: none; background: transparent;
    font-size: 20px; cursor: pointer; color: var(--relish-ink, #444);
}

.asst__log[b-5astxxlkgp] {
    flex: 1;
    overflow-y: auto;
    padding: 18px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    -webkit-overflow-scrolling: touch;
}

/* Center the conversation column on wide screens so lines stay readable. */
.asst__welcome[b-5astxxlkgp], .asst__row[b-5astxxlkgp], .asst__compose-row[b-5astxxlkgp], .asst__foot[b-5astxxlkgp], .asst__dicterror[b-5astxxlkgp] {
    width: 100%;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.asst__welcome[b-5astxxlkgp] { text-align: center; color: var(--relish-ink-soft, #777); padding: 24px 8px 8px; }
.asst__welcome-title[b-5astxxlkgp] { margin: 0 0 6px; font-size: 17px; font-weight: 700; color: var(--relish-ink, #333); }
.asst__welcome-sub[b-5astxxlkgp] { margin: 0; font-size: 14px; line-height: 1.55; }

.asst__row[b-5astxxlkgp] { display: flex; }
.asst__row--you[b-5astxxlkgp] { justify-content: flex-end; }
.asst__row--kitchen[b-5astxxlkgp] { justify-content: flex-start; }

.asst__bubble[b-5astxxlkgp] {
    max-width: 85%;
    padding: 9px 13px;
    font-size: 15px;
    line-height: 1.5;
}
.asst__bubble--you[b-5astxxlkgp] {
    border-radius: 16px 16px 3px 16px;
    background: var(--relish-herb, #6b8e4e);
    color: #fff;
}
.asst__bubble--kitchen[b-5astxxlkgp] {
    border-radius: 16px 16px 16px 3px;
    background: var(--relish-surface-2, #f4f2ec);
    color: var(--relish-ink, #333);
}
.asst__bubble--soft[b-5astxxlkgp] { color: var(--relish-ink-soft, #777); font-style: italic; }

/* Staged order change — confirm-before-apply. */
.asst__action[b-5astxxlkgp] {
    width: 100%;
    max-width: 85%;
    padding: 12px 14px;
    border: 1px solid var(--relish-herb, #6b8e4e);
    border-radius: 10px;
    background: var(--relish-surface-2, #f4f2ec);
}
.asst__action-text[b-5astxxlkgp] { margin: 0 0 10px; font-weight: 600; color: var(--relish-ink, #333); display: flex; align-items: center; gap: 8px; }
.asst__action-text .fa-solid[b-5astxxlkgp] { color: var(--relish-herb-deep, #4a6b34); }
.asst__action-list[b-5astxxlkgp] { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.asst__action-item[b-5astxxlkgp] {
    display: flex; align-items: flex-start; gap: 8px;
    padding: 6px 8px;
    border-radius: 8px;
    background: var(--relish-surface, #fff);
    border: 1px solid var(--relish-line, #e2ded3);
}
.asst__action-item-text[b-5astxxlkgp] { flex: 1 1 auto; font-size: 14px; line-height: 1.35; color: var(--relish-ink, #333); }
.asst__action-item.is-dropped[b-5astxxlkgp] { opacity: 0.55; }
.asst__action-item.is-dropped .asst__action-item-text[b-5astxxlkgp] { text-decoration: line-through; }
.asst__action-drop[b-5astxxlkgp] {
    flex: 0 0 auto;
    width: 26px; height: 26px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 0; border-radius: 6px;
    background: transparent; cursor: pointer;
    color: var(--relish-ink-soft, #777);
}
.asst__action-drop:hover:not(:disabled)[b-5astxxlkgp] { background: var(--relish-surface-2, #f4f2ec); color: var(--relish-ink, #333); }
.asst__action-drop:disabled[b-5astxxlkgp] { opacity: 0.4; cursor: default; }
.asst__action-unresolved[b-5astxxlkgp] {
    margin: 0 0 10px; font-size: 13px; line-height: 1.4;
    color: var(--relish-ink-soft, #777);
    display: flex; align-items: flex-start; gap: 6px;
}
.asst__action-btns[b-5astxxlkgp] { display: flex; gap: 8px; }
.asst__action-done[b-5astxxlkgp] { margin: 0; color: var(--relish-herb-deep, #4a6b34); font-weight: 600; display: flex; align-items: center; gap: 6px; }
.asst__action-skip[b-5astxxlkgp] { margin: 0; color: var(--relish-ink-soft, #777); font-style: italic; }
.asst__action-err[b-5astxxlkgp] { margin: 8px 0 0; color: var(--relish-danger, #b3261e); font-size: 13px; }

/* Typing indicator */
.asst__typing[b-5astxxlkgp] { display: inline-flex; gap: 4px; align-items: center; }
.asst__typing span[b-5astxxlkgp] { width: 6px; height: 6px; border-radius: 50%; background: var(--relish-ink-soft, #999); opacity: .5; animation: asst-blink-b-5astxxlkgp 1.2s infinite; }
.asst__typing span:nth-child(2)[b-5astxxlkgp] { animation-delay: .2s; }
.asst__typing span:nth-child(3)[b-5astxxlkgp] { animation-delay: .4s; }
@keyframes asst-blink-b-5astxxlkgp { 0%, 60%, 100% { opacity: .3; } 30% { opacity: 1; } }

.asst__compose[b-5astxxlkgp] {
    border-top: 1px solid var(--relish-border, #e6e3dc);
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
    background: var(--relish-surface, #fff);
}
.asst__compose-row[b-5astxxlkgp] { display: flex; gap: 8px; align-items: flex-end; }
.asst__input[b-5astxxlkgp] {
    flex: 1;
    padding: 10px 12px;
    border: 1px solid var(--relish-border, #e6e3dc);
    border-radius: 12px;
    font-family: inherit;
    font-size: 16px; /* 16px avoids iOS zoom-on-focus */
    line-height: 1.4;
    resize: none;
    max-height: 140px;
}
.asst__mic[b-5astxxlkgp], .asst__send[b-5astxxlkgp] {
    flex: 0 0 auto;
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid var(--relish-border, #e6e3dc);
    background: var(--relish-surface, #fff);
    color: var(--relish-ink, #444);
    font-size: 16px;
    cursor: pointer;
}
.asst__mic.is-recording[b-5astxxlkgp] { background: var(--relish-danger, #b3261e); border-color: var(--relish-danger, #b3261e); color: #fff; }
.asst__send[b-5astxxlkgp] { background: var(--relish-herb, #6b8e4e); border-color: var(--relish-herb, #6b8e4e); color: #fff; }
.asst__mic:disabled[b-5astxxlkgp], .asst__send:disabled[b-5astxxlkgp] { opacity: .5; cursor: default; }
.asst__dicterror[b-5astxxlkgp] { margin: 0 0 8px; color: var(--relish-danger, #b3261e); font-size: 13px; }
.asst__foot[b-5astxxlkgp] { margin: 8px auto 0; font-size: 11px; color: var(--relish-ink-soft, #999); text-align: center; }

.btn[b-5astxxlkgp] {
    border: 1px solid transparent;
    border-radius: var(--relish-radius-control, 8px);
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}
.btn:disabled[b-5astxxlkgp] { opacity: .55; cursor: default; }
.btn--primary[b-5astxxlkgp] { background: var(--relish-herb, #6b8e4e); color: #fff; }
.btn--ghost[b-5astxxlkgp] { background: transparent; border-color: var(--relish-border, #e6e3dc); color: var(--relish-ink, #444); }
/* /Components/Layout/AdminLayout.razor.rz.scp.css */
.admin[b-gzlqismjhy] {
    min-height: 100vh;
    background: var(--relish-cream);
    color: var(--relish-ink);
    font-family: var(--relish-font-body);
}

/*
 * The sidebar (rendered by AdminNav) is position:fixed at 240px wide, so the main
 * column simply reserves that space with a left margin. On mobile the sidebar
 * becomes an off-canvas drawer and the margin collapses to zero.
 */
.admin__main[b-gzlqismjhy] {
    margin-left: 240px;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.admin__topbar[b-gzlqismjhy] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--relish-space-3);
    padding: var(--relish-space-3) var(--relish-space-5);
    background: var(--relish-surface);
    border-bottom: 1px solid var(--relish-border);
}

.admin__context[b-gzlqismjhy] {
    font-size: var(--relish-fs-13);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    font-weight: 600;
    color: var(--relish-ink-faint);
}

.admin__actions[b-gzlqismjhy] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-3);
    margin-left: auto;
}

.admin__whoami[b-gzlqismjhy] {
    font-size: var(--relish-fs-13);
    color: var(--relish-ink-soft);
}

.admin__actas[b-gzlqismjhy] {
    font-size: var(--relish-fs-13);
    font-weight: 600;
    color: var(--relish-coral);
    text-decoration: none;
}

.admin__actas:hover[b-gzlqismjhy] {
    text-decoration: underline;
}

.admin__signout-form[b-gzlqismjhy] {
    margin: 0;
}

.admin__signout[b-gzlqismjhy],
.admin__exit[b-gzlqismjhy] {
    min-height: var(--relish-touch-min);
    padding: 0 var(--relish-space-3);
    background: transparent;
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-pill);
    color: var(--relish-ink);
    font-size: var(--relish-fs-13);
    cursor: pointer;
}

.admin__signout:hover[b-gzlqismjhy] {
    border-color: var(--relish-herb);
    color: var(--relish-herb-deep);
}

.admin__impersonation[b-gzlqismjhy] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-3);
    padding: var(--relish-space-2) var(--relish-space-5);
    background: var(--relish-gold);
    color: var(--relish-ink);
    font-size: var(--relish-fs-13);
    flex-wrap: wrap;
}

.admin__exit[b-gzlqismjhy] {
    background: var(--relish-ink);
    color: var(--relish-on-brand);
    border: none;
}

.admin__content[b-gzlqismjhy] {
    flex: 1;
    padding: var(--relish-space-6) var(--relish-space-8);
    max-width: 1280px;
    width: 100%;
}

@media (max-width: 720px) {
    .admin__main[b-gzlqismjhy] {
        margin-left: 0;
    }

    /* Keep the hamburger reachable while long pages scroll. */
    .admin__topbar[b-gzlqismjhy] {
        position: sticky;
        top: 0;
        z-index: 500;
        gap: var(--relish-space-2);
        padding: var(--relish-space-2) var(--relish-space-4);
    }

    /* Redundant next to the app title once the drawer collapses. */
    .admin__context[b-gzlqismjhy] {
        display: none;
    }

    .admin__content[b-gzlqismjhy] {
        padding: var(--relish-space-4);
    }

    .admin__impersonation[b-gzlqismjhy] {
        padding: var(--relish-space-2) var(--relish-space-4);
    }
}
/* /Components/Layout/AdminNav.razor.rz.scp.css */
/*
 * Operator-console navigation: a fixed rail on desktop, an off-canvas drawer on mobile.
 * The drawer is position:fixed on every viewport so it never participates in document
 * flow; AdminLayout gives .admin__main a matching left margin on desktop to clear it.
 */

.admin__sidebar[b-qsaxb61b9e] {
    position: fixed;
    top: 0;
    left: 0;
    width: 240px;
    height: 100vh;
    background: var(--relish-herb-deep);
    color: var(--relish-on-brand);
    display: flex;
    flex-direction: column;
    padding: var(--relish-space-4) 0;
    overflow-y: auto;
    z-index: 200;
}

.admin__brand[b-qsaxb61b9e] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-3);
    padding: 0 var(--relish-space-4) var(--relish-space-5);
}

.admin__brand-mark[b-qsaxb61b9e] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    border-radius: var(--relish-radius-pill);
    background: var(--relish-coral);
    color: var(--relish-on-brand);
    font-weight: 700;
    font-family: var(--relish-font-display);
}

.admin__brand-name[b-qsaxb61b9e] {
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-18);
    font-weight: 600;
}

/* Close affordance inside the drawer header — mobile only. */
.admin__drawer-close[b-qsaxb61b9e] {
    display: none;
    margin-left: auto;
    width: var(--relish-touch-min);
    height: var(--relish-touch-min);
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: rgba(255, 255, 255, 0.82);
    font-size: 20px;
    cursor: pointer;
}

.admin__nav[b-qsaxb61b9e] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 var(--relish-space-3);
}

/*
 * NavLink renders its own <a>, which Bootstrap's global `a { color }` would tint
 * blue. Blazor CSS isolation does not scope inside a child component's output, so
 * reach it with ::deep — that keeps the scope on .admin__nav and styles any
 * descendant .admin__link (both the NavLink <a> and the "soon" <span>).
 */
.admin__nav[b-qsaxb61b9e]  .admin__link {
    display: flex;
    align-items: center;
    gap: var(--relish-space-3);
    padding: 9px var(--relish-space-3);
    border-radius: var(--relish-radius-control);
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
    font-size: var(--relish-fs-14);
    font-weight: 500;
    line-height: 1.2;
    min-height: 38px;
    transition: background .12s ease, color .12s ease;
}

.admin__nav[b-qsaxb61b9e]  .admin__link:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.admin__nav[b-qsaxb61b9e]  .admin__link.active {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-weight: 600;
}

.admin__nav[b-qsaxb61b9e]  .admin__link-icon {
    width: 18px;
    font-size: 15px;
    text-align: center;
    opacity: 0.92;
}

.admin__nav[b-qsaxb61b9e]  .admin__link--soon {
    color: rgba(255, 255, 255, 0.42);
    cursor: default;
    min-height: 34px;
}

.admin__nav[b-qsaxb61b9e]  .admin__link--soon:hover {
    background: transparent;
    color: rgba(255, 255, 255, 0.42);
}

.admin__nav[b-qsaxb61b9e]  .admin__soon {
    margin-left: auto;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 2px 7px;
    border-radius: var(--relish-radius-pill);
    background: rgba(255, 255, 255, 0.08);
    opacity: 0.85;
}

/* Hamburger — hidden on desktop, shown in the topbar on mobile. */
.admin__menu-toggle[b-qsaxb61b9e] {
    display: none;
    width: var(--relish-touch-min);
    height: var(--relish-touch-min);
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: transparent;
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    color: var(--relish-ink);
    font-size: 18px;
    cursor: pointer;
}

.admin__scrim[b-qsaxb61b9e] {
    display: none;
}

@media (max-width: 720px) {
    .admin__menu-toggle[b-qsaxb61b9e] {
        display: inline-flex;
    }

    .admin__sidebar[b-qsaxb61b9e] {
        width: min(280px, 82vw);
        transform: translateX(-100%);
        transition: transform .22s ease;
        box-shadow: 0 0 40px rgba(0, 0, 0, .35);
        z-index: 1200;
    }

    .admin__sidebar.is-open[b-qsaxb61b9e] {
        transform: translateX(0);
    }

    .admin__drawer-close[b-qsaxb61b9e] {
        display: inline-flex;
    }

    .admin__scrim[b-qsaxb61b9e] {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, .45);
        z-index: 1100;
    }
}

/* Respect users who prefer reduced motion — no slide animation. */
@media (prefers-reduced-motion: reduce) {
    .admin__sidebar[b-qsaxb61b9e] {
        transition: none;
    }
}
/* /Components/Layout/AuthLayout.razor.rz.scp.css */
.auth[b-kbr5x2gzrg] {
    min-height: 100vh;
    background: var(--relish-cream);
    color: var(--relish-ink);
    font-family: var(--relish-font-body);
}

#blazor-error-ui[b-kbr5x2gzrg] { color-scheme: light only; background: lightyellow; bottom: 0; box-shadow: 0 -1px 2px rgba(0,0,0,.2); box-sizing: border-box; display: none; left: 0; padding: .6rem 1.25rem .7rem 1.25rem; position: fixed; width: 100%; z-index: 1000; }
#blazor-error-ui .dismiss[b-kbr5x2gzrg] { cursor: pointer; position: absolute; right: .75rem; top: .5rem; }
/* /Components/Layout/CustomerCart.razor.rz.scp.css */
/* Cart button in the dark customer topbar. */
.cart[b-snfn2cmdvu] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: var(--relish-touch-min);
    min-height: var(--relish-touch-min);
    border-radius: 50%;
    color: var(--relish-on-brand);
    font-size: var(--relish-fs-20);
    text-decoration: none;
}
.cart:hover[b-snfn2cmdvu] { background: rgba(255, 255, 255, .12); }

.cart-badge[b-snfn2cmdvu] {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: var(--relish-radius-pill);
    background: var(--relish-coral);
    color: #fff;
    font-size: var(--relish-fs-12);
    font-weight: 700;
    line-height: 18px;
    text-align: center;
}
/* /Components/Layout/CustomerLayout.razor.rz.scp.css */
/* Customer shell — mobile-first, brand-skinnable via --relish-* tokens only. */
.shell[b-g4azxzwa35] {
    min-height: 100dvh;
    background: var(--relish-cream);
    color: var(--relish-ink);
    font-family: var(--relish-font-body);
}

.topbar[b-g4azxzwa35] {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--relish-space-3);
    padding: var(--relish-space-3) var(--relish-space-4);
    background: var(--relish-herb-deep);
    color: var(--relish-on-brand);
    box-shadow: var(--relish-elevation-1);
}

.brand[b-g4azxzwa35] {
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-22);
    font-weight: 600;
    letter-spacing: .2px;
    color: var(--relish-on-brand);
    text-decoration: none;
}

.actions[b-g4azxzwa35] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
}

.content[b-g4azxzwa35] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--relish-space-5) var(--relish-space-4) var(--relish-space-14);
}

@media (min-width: 760px) {
    .content[b-g4azxzwa35] {
        padding-left: var(--relish-space-6);
        padding-right: var(--relish-space-6);
    }
}

.impersonation-banner[b-g4azxzwa35] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--relish-space-3);
    padding: var(--relish-space-2) var(--relish-space-4);
    background: var(--relish-gold);
    color: var(--relish-ink);
    font-size: var(--relish-fs-13);
}

.impersonation-banner__text[b-g4azxzwa35] {
    line-height: 1.3;
}

.impersonation-banner__form[b-g4azxzwa35] {
    margin: 0;
}

.impersonation-banner__exit[b-g4azxzwa35] {
    min-height: var(--relish-touch-min);
    padding: 0 var(--relish-space-4);
    background: var(--relish-ink);
    color: var(--relish-on-brand);
    border: none;
    border-radius: var(--relish-radius-pill);
    font-size: var(--relish-fs-13);
    font-weight: 600;
    cursor: pointer;
}
/* /Components/Layout/CustomerUserMenu.razor.rz.scp.css */
.cm[b-3713o9widt] { position: relative; display: inline-flex; }

/* Trigger — a single avatar button, sitting on the dark topbar. */
.cm__avatar[b-3713o9widt] {
    position: relative;
    display: inline-flex; align-items: center; justify-content: center;
    width: var(--relish-touch-min); height: var(--relish-touch-min);
    border: 0; border-radius: 50%;
    background: var(--relish-coral); color: var(--relish-on-brand);
    font-family: var(--relish-font-body); font-weight: 700; font-size: var(--relish-fs-16);
    cursor: pointer;
    transition: filter .12s ease;
}
.cm__avatar:hover[b-3713o9widt] { filter: brightness(1.08); }
.cm__avatar:focus-visible[b-3713o9widt] { outline: 2px solid var(--relish-on-brand); outline-offset: 2px; }

/* CTA badge on the avatar itself. */
.cm__badge[b-3713o9widt] {
    position: absolute; top: -2px; right: -2px;
    background: var(--relish-danger); color: #fff;
    border: 2px solid var(--relish-herb-deep);
    border-radius: var(--relish-radius-pill);
    min-width: 18px; height: 18px; padding: 0 4px;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 10.5px; font-weight: 700; line-height: 1;
}

.cm__scrim[b-3713o9widt] { position: fixed; inset: 0; z-index: 70; background: transparent; }

.cm__menu[b-3713o9widt] {
    position: absolute; top: calc(100% + 10px); right: 0; z-index: 71;
    width: 288px; max-width: calc(100vw - 2 * var(--relish-space-4));
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    box-shadow: var(--relish-elevation-1);
    padding: 6px;
    overflow: hidden;
}

.cm__who[b-3713o9widt] {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 8px 10px;
    border-bottom: 1px solid var(--relish-border);
    margin-bottom: 4px;
}
.cm__who-avatar[b-3713o9widt] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; border-radius: 50%;
    background: var(--relish-coral); color: #fff;
    font-family: var(--relish-font-display); font-weight: 700; font-size: 15px;
    flex-shrink: 0;
}
.cm__who-text[b-3713o9widt] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cm__who-name[b-3713o9widt] {
    font-weight: 700; font-size: var(--relish-fs-15); color: var(--relish-ink);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cm__who-imp[b-3713o9widt] { font-size: 11.5px; color: var(--relish-gold); display: inline-flex; align-items: center; gap: 5px; }

.cm__item[b-3713o9widt] {
    display: flex; align-items: center; gap: 10px; width: 100%;
    padding: 10px; min-height: 42px;
    background: transparent; border: none; border-radius: var(--relish-radius-control);
    font-family: var(--relish-font-body); font-size: var(--relish-fs-14); color: var(--relish-ink);
    text-align: left; text-decoration: none; cursor: pointer;
    box-sizing: border-box;
}
.cm__item:hover[b-3713o9widt] { background: var(--relish-herb-wash); color: var(--relish-herb-deep); }
.cm__item-icon[b-3713o9widt] { width: 16px; text-align: center; color: var(--relish-ink-faint); }
.cm__item:hover .cm__item-icon[b-3713o9widt] { color: var(--relish-herb); }
.cm__item span[b-3713o9widt] { flex: 1; }
.cm__item-badge[b-3713o9widt] {
    flex: none !important; background: var(--relish-danger); color: #fff;
    border-radius: var(--relish-radius-pill); min-width: 18px; height: 18px; padding: 0 6px;
    display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700;
}
.cm__item-caret[b-3713o9widt] { flex: none !important; font-size: 10px; color: var(--relish-ink-faint); }
.cm__item--danger[b-3713o9widt] { color: var(--relish-danger); }
.cm__item--danger:hover[b-3713o9widt] { background: var(--relish-coral-wash); color: var(--relish-danger); }
.cm__item--danger .cm__item-icon[b-3713o9widt] { color: var(--relish-danger); }

.cm__divider[b-3713o9widt] { height: 1px; background: var(--relish-border); margin: 4px 0; }
.cm__form[b-3713o9widt] { margin: 0; }

/* Notifications accordion inside the menu */
.cm__notifs[b-3713o9widt] {
    max-height: 260px; overflow-y: auto;
    background: var(--relish-card);
    border-radius: var(--relish-radius-control);
    margin: 2px 2px 4px; padding: 4px;
}
.cm__markall[b-3713o9widt] {
    display: block; margin: 2px 2px 6px auto;
    background: none; border: none; color: var(--relish-herb);
    font-size: 12px; font-weight: 600; cursor: pointer; padding: 0;
}
.cm__markall:hover[b-3713o9widt] { text-decoration: underline; }
.cm__notif-empty[b-3713o9widt] { margin: 8px; font-size: var(--relish-fs-13); color: var(--relish-ink-faint); }
.cm__notif-ul[b-3713o9widt] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.cm__notif[b-3713o9widt] {
    display: flex; gap: 8px; padding: 8px; border-radius: var(--relish-radius-control);
    cursor: pointer;
}
.cm__notif:hover[b-3713o9widt] { background: var(--relish-surface); }
.cm__notif-dot[b-3713o9widt] { width: 7px; height: 7px; border-radius: 50%; background: transparent; margin-top: 5px; flex-shrink: 0; }
.cm__notif.is-unread .cm__notif-dot[b-3713o9widt] { background: var(--relish-herb); }
.cm__notif-body[b-3713o9widt] { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.cm__notif-title[b-3713o9widt] { font-size: 12.5px; font-weight: 600; color: var(--relish-ink); }
.cm__notif-text[b-3713o9widt] {
    font-size: 12px; color: var(--relish-ink-soft);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.pub[b-uem8ws9013] { min-height: 100vh; background: var(--relish-cream); color: var(--relish-ink); font-family: var(--relish-font-body); }
.pub__bar[b-uem8ws9013] { display: flex; align-items: center; justify-content: space-between; gap: var(--relish-space-4); padding: 14px 28px; background: var(--relish-herb-deep); color: var(--relish-on-brand); }
.pub__brand[b-uem8ws9013] { font-family: var(--relish-font-display); font-size: 24px; color: var(--relish-on-brand); text-decoration: none; letter-spacing: .01em; }
.pub__nav[b-uem8ws9013] { display: flex; align-items: center; gap: 18px; font-size: 14px; }
.pub__nav a[b-uem8ws9013] { color: rgba(255,255,255,.85); text-decoration: none; }
.pub__nav a:hover[b-uem8ws9013] { color: #fff; text-decoration: underline; }
.pub__nav .pub__cta[b-uem8ws9013] { border: 1px solid rgba(255,255,255,.55); border-radius: 999px; padding: 6px 14px; color: #fff; }
.pub__main[b-uem8ws9013] { padding: 40px 28px 64px; }
#blazor-error-ui[b-uem8ws9013] { color-scheme: light only; background: lightyellow; bottom: 0; box-shadow: 0 -1px 2px rgba(0,0,0,.2); box-sizing: border-box; display: none; left: 0; padding: .6rem 1.25rem .7rem 1.25rem; position: fixed; width: 100%; z-index: 1000; }
#blazor-error-ui .dismiss[b-uem8ws9013] { cursor: pointer; position: absolute; right: .75rem; top: .5rem; }
/* /Components/Layout/NavProgress.razor.rz.scp.css */
/* Fixed slim bar across the very top; an indeterminate segment slides while navigating. */
.nav-progress[b-8qxnsz5e6h] {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 100;
    overflow: hidden;
    opacity: 0;
    transition: opacity .15s ease;
    pointer-events: none;
}

.nav-progress--active[b-8qxnsz5e6h] {
    opacity: 1;
}

.nav-progress--active[b-8qxnsz5e6h]::before {
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    width: 40%;
    border-radius: 0 2px 2px 0;
    background: var(--relish-gold, #d8a24a);
    animation: nav-progress-slide-b-8qxnsz5e6h 1s ease-in-out infinite;
}

@keyframes nav-progress-slide-b-8qxnsz5e6h {
    0% { left: -40%; }
    100% { left: 100%; }
}

.visually-hidden[b-8qxnsz5e6h] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}
/* /Components/Layout/PlatformLayout.razor.rz.scp.css */
.plat[b-9exea1qh6w] {
    display: flex;
    min-height: 100vh;
    background: var(--relish-cream);
    color: var(--relish-ink);
    font-family: var(--relish-font-body);
}

.plat__sidebar[b-9exea1qh6w] {
    width: 240px;
    flex-shrink: 0;
    /* Slate/ink sidebar distinguishes the cross-tenant platform surface from the
       herb-green per-business admin console. */
    background: var(--relish-ink);
    color: var(--relish-on-brand);
    display: flex;
    flex-direction: column;
    padding: var(--relish-space-4) 0;
    position: sticky;
    top: 0;
    height: 100vh;
}

.plat__brand[b-9exea1qh6w] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-3);
    padding: 0 var(--relish-space-4) var(--relish-space-5);
}

.plat__brand-mark[b-9exea1qh6w] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: var(--relish-radius-control);
    background: var(--relish-gold);
    color: var(--relish-ink);
    font-size: var(--relish-fs-16);
}

.plat__brand-name[b-9exea1qh6w] {
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-18);
    font-weight: 600;
    display: flex;
    align-items: baseline;
    gap: var(--relish-space-2);
}

.plat__brand-sub[b-9exea1qh6w] {
    font-family: var(--relish-font-body);
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--relish-gold);
}

.plat__nav[b-9exea1qh6w] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 var(--relish-space-2);
}

.plat__link[b-9exea1qh6w] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-3);
    padding: var(--relish-space-3);
    border-radius: var(--relish-radius-control);
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
    font-size: var(--relish-fs-14);
    min-height: var(--relish-touch-min);
}

.plat__link:hover[b-9exea1qh6w] {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.plat__link.active[b-9exea1qh6w] {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font-weight: 600;
}

.plat__link-icon[b-9exea1qh6w] {
    width: 18px;
    text-align: center;
}

.plat__link--soon[b-9exea1qh6w] {
    color: rgba(255, 255, 255, 0.4);
    cursor: default;
}

.plat__link--soon:hover[b-9exea1qh6w] {
    background: transparent;
    color: rgba(255, 255, 255, 0.4);
}

.plat__soon[b-9exea1qh6w] {
    margin-left: auto;
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    opacity: 0.7;
}

.plat__main[b-9exea1qh6w] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.plat__topbar[b-9exea1qh6w] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--relish-space-3);
    padding: var(--relish-space-3) var(--relish-space-5);
    background: var(--relish-surface);
    border-bottom: 1px solid var(--relish-border);
}

.plat__context[b-9exea1qh6w] {
    font-size: var(--relish-fs-13);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--relish-ink-soft);
    display: inline-flex;
    align-items: center;
    gap: var(--relish-space-2);
}

.plat__actions[b-9exea1qh6w] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-4);
}

.plat__whoami[b-9exea1qh6w] {
    font-size: var(--relish-fs-14);
    color: var(--relish-ink-soft);
}

.plat__signout-form[b-9exea1qh6w] {
    margin: 0;
}

.plat__signout[b-9exea1qh6w] {
    background: none;
    border: none;
    color: var(--relish-coral);
    cursor: pointer;
    font-size: var(--relish-fs-14);
    font-family: inherit;
}

.plat__signout:hover[b-9exea1qh6w] {
    text-decoration: underline;
}

.plat__content[b-9exea1qh6w] {
    flex: 1;
    min-width: 0;
    padding: var(--relish-space-6) var(--relish-space-8);
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-4u2wy79aa3],
.components-reconnect-repeated-attempt-visible[b-4u2wy79aa3],
.components-reconnect-failed-visible[b-4u2wy79aa3],
.components-pause-visible[b-4u2wy79aa3],
.components-resume-failed-visible[b-4u2wy79aa3],
.components-rejoining-animation[b-4u2wy79aa3] {
    display: none;
}

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


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

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

}

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

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

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

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

    100% {
        opacity: 1;
    }
}

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

    100% {
        opacity: 0;
    }
}

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

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

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

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

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

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

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

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

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

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

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

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Layout/UserMenu.razor.rz.scp.css */
.um[b-8cjqb26edc] { position: relative; }

.um__pill[b-8cjqb26edc] {
    display: inline-flex; align-items: center; gap: 9px;
    padding: 5px 12px 5px 6px;
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-pill);
    cursor: pointer;
    font-family: var(--relish-font-body);
    transition: border-color .12s ease, background .12s ease;
}
.um__pill:hover[b-8cjqb26edc] { border-color: var(--relish-herb-light); background: var(--relish-card); }

.um__avatar[b-8cjqb26edc] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border-radius: 50%;
    background: var(--relish-coral); color: #fff;
    font-family: var(--relish-font-display); font-weight: 700; font-size: 12px;
    flex-shrink: 0;
}
.um__avatar--lg[b-8cjqb26edc] { width: 38px; height: 38px; font-size: 15px; }
.um__name[b-8cjqb26edc] {
    font-size: var(--relish-fs-14); font-weight: 600; color: var(--relish-ink);
    max-width: 150px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.um__badge[b-8cjqb26edc] {
    background: var(--relish-danger); color: #fff;
    border-radius: var(--relish-radius-pill);
    min-width: 18px; height: 18px; padding: 0 5px;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 10.5px; font-weight: 700;
}
.um__caret[b-8cjqb26edc] { font-size: 10px; color: var(--relish-ink-faint); }

.um__scrim[b-8cjqb26edc] { position: fixed; inset: 0; z-index: 70; background: transparent; }

.um__menu[b-8cjqb26edc] {
    position: absolute; top: calc(100% + 8px); right: 0; z-index: 71;
    width: 288px;
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    box-shadow: var(--relish-elevation-1);
    padding: 6px;
    overflow: hidden;
}
.um__who[b-8cjqb26edc] {
    display: flex; align-items: center; gap: 10px;
    padding: 8px 8px 10px;
    border-bottom: 1px solid var(--relish-border);
    margin-bottom: 4px;
}
.um__who-text[b-8cjqb26edc] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.um__who-name[b-8cjqb26edc] { font-weight: 700; font-size: var(--relish-fs-14); color: var(--relish-ink); }
.um__who-imp[b-8cjqb26edc] { font-size: 11.5px; color: var(--relish-gold); display: inline-flex; align-items: center; gap: 5px; }

.um__item[b-8cjqb26edc] {
    display: flex; align-items: center; gap: 10px; width: 100%;
    padding: 9px 10px;
    background: transparent; border: none; border-radius: var(--relish-radius-control);
    font-family: var(--relish-font-body); font-size: var(--relish-fs-14); color: var(--relish-ink);
    text-align: left; text-decoration: none; cursor: pointer;
    box-sizing: border-box;
}
.um__item:hover[b-8cjqb26edc] { background: var(--relish-herb-wash); color: var(--relish-herb-deep); }
.um__item-icon[b-8cjqb26edc] { width: 16px; text-align: center; color: var(--relish-ink-faint); }
.um__item:hover .um__item-icon[b-8cjqb26edc] { color: var(--relish-herb); }
.um__item span[b-8cjqb26edc] { flex: 1; }
.um__item-badge[b-8cjqb26edc] {
    flex: none !important; background: var(--relish-danger); color: #fff;
    border-radius: var(--relish-radius-pill); min-width: 18px; height: 18px; padding: 0 6px;
    display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700;
}
.um__item-caret[b-8cjqb26edc] { flex: none !important; font-size: 10px; color: var(--relish-ink-faint); }
.um__item--danger[b-8cjqb26edc] { color: var(--relish-danger); }
.um__item--danger:hover[b-8cjqb26edc] { background: var(--relish-coral-wash); color: var(--relish-danger); }
.um__item--danger .um__item-icon[b-8cjqb26edc] { color: var(--relish-danger); }

.um__divider[b-8cjqb26edc] { height: 1px; background: var(--relish-border); margin: 4px 0; }
.um__form[b-8cjqb26edc] { margin: 0; }

/* Notifications accordion inside the menu */
.um__notifs[b-8cjqb26edc] {
    max-height: 260px; overflow-y: auto;
    background: var(--relish-card);
    border-radius: var(--relish-radius-control);
    margin: 2px 2px 4px; padding: 4px;
}
.um__markall[b-8cjqb26edc] {
    display: block; margin: 2px 2px 6px auto;
    background: none; border: none; color: var(--relish-herb);
    font-size: 12px; font-weight: 600; cursor: pointer; padding: 0;
}
.um__markall:hover[b-8cjqb26edc] { text-decoration: underline; }
.um__notif-empty[b-8cjqb26edc] { margin: 8px; font-size: var(--relish-fs-13); color: var(--relish-ink-faint); }
.um__notif-ul[b-8cjqb26edc] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.um__notif[b-8cjqb26edc] {
    display: flex; gap: 8px; padding: 8px; border-radius: var(--relish-radius-control);
    cursor: pointer;
}
.um__notif:hover[b-8cjqb26edc] { background: var(--relish-surface); }
.um__notif-dot[b-8cjqb26edc] { width: 7px; height: 7px; border-radius: 50%; background: transparent; margin-top: 5px; flex-shrink: 0; }
.um__notif.is-unread .um__notif-dot[b-8cjqb26edc] { background: var(--relish-herb); }
.um__notif-body[b-8cjqb26edc] { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.um__notif-title[b-8cjqb26edc] { font-size: 12.5px; font-weight: 600; color: var(--relish-ink); }
.um__notif-text[b-8cjqb26edc] {
    font-size: 12px; color: var(--relish-ink-soft);
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
/* /Components/Notifications/NotificationBell.razor.rz.scp.css */
.notif[b-hyv6pyuds2] { position: relative; display: inline-flex; }
.notif__bell[b-hyv6pyuds2] { position: relative; }
.notif__badge[b-hyv6pyuds2] {
    position: absolute; top: -2px; right: -2px;
    min-width: 16px; height: 16px; padding: 0 4px;
    display: inline-flex; align-items: center; justify-content: center;
    background: var(--relish-coral, #e5533c); color: #fff;
    font-size: 10px; font-weight: 700; line-height: 1; border-radius: 999px;
}
.notif__scrim[b-hyv6pyuds2] { position: fixed; inset: 0; z-index: 40; background: transparent; }
.notif__panel[b-hyv6pyuds2] {
    position: absolute; top: calc(100% + 8px); right: 0; z-index: 41;
    width: min(360px, 92vw); max-height: 70vh; overflow-y: auto;
    background: var(--relish-surface, #fff); color: var(--relish-ink, #1a1a1a);
    border: 1px solid var(--relish-border, #e2e2e2); border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0,0,0,.18);
}
.notif__head[b-hyv6pyuds2] { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-bottom: 1px solid var(--relish-border, #e2e2e2); }
.notif__title[b-hyv6pyuds2] { font-weight: 700; font-size: 14px; }
.notif__markall[b-hyv6pyuds2] { background: none; border: none; color: var(--relish-primary, #2e5a88); font-size: 12px; cursor: pointer; padding: 0; }
.notif__empty[b-hyv6pyuds2] { padding: 24px 14px; text-align: center; color: var(--relish-ink-soft, #6b6b6b); font-size: 13px; }
.notif__list[b-hyv6pyuds2] { list-style: none; margin: 0; padding: 0; }
.notif__item[b-hyv6pyuds2] { display: flex; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--relish-border, #eee); cursor: pointer; }
.notif__item:last-child[b-hyv6pyuds2] { border-bottom: none; }
.notif__item:hover[b-hyv6pyuds2] { background: var(--relish-bg, #f7f7f7); }
.notif__dot[b-hyv6pyuds2] { width: 8px; height: 8px; margin-top: 6px; border-radius: 999px; background: transparent; flex: 0 0 auto; }
.notif__item.is-unread .notif__dot[b-hyv6pyuds2] { background: var(--relish-primary, #2e5a88); }
.notif__item.is-unread .notif__item-title[b-hyv6pyuds2] { font-weight: 700; }
.notif__body[b-hyv6pyuds2] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.notif__item-title[b-hyv6pyuds2] { font-size: 13px; }
.notif__item-text[b-hyv6pyuds2] { font-size: 12px; color: var(--relish-ink-soft, #6b6b6b); }
.notif__time[b-hyv6pyuds2] { font-size: 11px; color: var(--relish-ink-soft, #9a9a9a); margin-top: 2px; }
/* /Components/Pages/ActAs.razor.rz.scp.css */
.actas[b-k1xpnttppk] {
    min-height: 100vh;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: var(--relish-space-6) var(--relish-space-4);
    background: var(--relish-cream);
}

.actas__card[b-k1xpnttppk] {
    width: 100%;
    max-width: 480px;
    background: var(--relish-surface);
    border-radius: var(--relish-radius-card);
    box-shadow: var(--relish-elevation-1);
    padding: var(--relish-space-6);
}

.actas__title[b-k1xpnttppk] {
    font-family: var(--relish-font-display);
    color: var(--relish-herb-deep);
    font-size: var(--relish-fs-28);
    margin: 0 0 var(--relish-space-2);
}

.actas__lead[b-k1xpnttppk] {
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-14);
    margin: 0 0 var(--relish-space-5);
}

.actas__error[b-k1xpnttppk] {
    background: var(--relish-coral-wash);
    color: var(--relish-ink);
    border: 1px solid var(--relish-coral);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4);
    font-size: var(--relish-fs-14);
    margin: 0 0 var(--relish-space-4);
}

.actas__users[b-k1xpnttppk] {
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-3);
}

.actas__form[b-k1xpnttppk] {
    margin: 0;
}

.actas__user[b-k1xpnttppk] {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: var(--relish-space-3) var(--relish-space-4);
    min-height: var(--relish-touch-min);
    background: var(--relish-cream);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    cursor: pointer;
    text-align: left;
}

.actas__user:hover[b-k1xpnttppk] {
    border-color: var(--relish-herb);
    background: var(--relish-surface);
}

.actas__user-name[b-k1xpnttppk] {
    font-weight: 600;
    color: var(--relish-ink);
}

.actas__user-role[b-k1xpnttppk] {
    font-size: var(--relish-fs-12);
    color: var(--relish-ink-soft);
}

.actas__empty[b-k1xpnttppk] {
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-14);
}
/* /Components/Pages/Admin/AdminHome.razor.rz.scp.css */
/* Dashboard (/admin) — round-2 layout. Primitives live in relish-r2.css;
   this file only positions the dashboard-specific blocks. */

.dash__row[b-3oz5ysf8cu] {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: var(--relish-space-4);
    margin-bottom: var(--relish-space-5);
    align-items: stretch;
}

/* This-week list */
.dash__glance[b-3oz5ysf8cu] { list-style: none; margin: 0; padding: 6px var(--relish-space-3); }
.dash__glance-row[b-3oz5ysf8cu] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-3);
    padding: 12px 10px;
    border-bottom: 1px solid var(--relish-border);
}
.dash__glance-row:last-child[b-3oz5ysf8cu] { border-bottom: none; }
.dash__glance-icon[b-3oz5ysf8cu] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; border-radius: var(--relish-radius-control);
    background: var(--relish-card); font-size: 14px; flex-shrink: 0;
}
.dash__glance-icon.is-success[b-3oz5ysf8cu] { color: var(--relish-success); }
.dash__glance-icon.is-gold[b-3oz5ysf8cu] { color: var(--relish-gold); }
.dash__glance-icon.is-herb[b-3oz5ysf8cu] { color: var(--relish-herb); }
.dash__glance-icon.is-danger[b-3oz5ysf8cu] { color: var(--relish-danger); background: var(--relish-coral-wash); }
.dash__glance-main[b-3oz5ysf8cu] { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.dash__glance-title[b-3oz5ysf8cu] { font-size: var(--relish-fs-14); font-weight: 600; color: var(--relish-ink); }
.dash__glance-sub[b-3oz5ysf8cu] { font-size: var(--relish-fs-13); color: var(--relish-ink-faint); }

/* Ask Relish card */
.dash__ai[b-3oz5ysf8cu] { display: flex; flex-direction: column; gap: 4px; }
.dash__ai-btn[b-3oz5ysf8cu] {
    margin-top: auto;
    align-self: flex-start;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.28);
}
.dash__ai-btn:hover[b-3oz5ysf8cu] { background: rgba(255, 255, 255, 0.22); color: #fff; }

/* Nav tiles */
.dash__nav[b-3oz5ysf8cu] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--relish-space-4);
}
.dash__tile[b-3oz5ysf8cu] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: var(--relish-space-4);
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    text-decoration: none;
    box-shadow: var(--relish-elevation-1);
    transition: border-color .12s ease, transform .12s ease;
}
.dash__tile:hover[b-3oz5ysf8cu] { border-color: var(--relish-herb-light); transform: translateY(-1px); }
.dash__tile-icon[b-3oz5ysf8cu] { color: var(--relish-herb); font-size: 18px; margin-bottom: 2px; }
.dash__tile-title[b-3oz5ysf8cu] { font-size: var(--relish-fs-15); font-weight: 600; color: var(--relish-ink); }
.dash__tile-desc[b-3oz5ysf8cu] { font-size: var(--relish-fs-13); color: var(--relish-ink-soft); line-height: 1.4; }

@media (max-width: 900px) {
    .dash__row[b-3oz5ysf8cu] { grid-template-columns: 1fr; }
    .dash__nav[b-3oz5ysf8cu] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* /Components/Pages/Admin/AiCapabilities.razor.rz.scp.css */
.ai[b-o6pfoet54d] { padding: var(--relish-space-4); }
.ai__head[b-o6pfoet54d] { margin-bottom: var(--relish-space-3); }
.ai__title[b-o6pfoet54d] { margin: 0 0 var(--relish-space-1); font-size: var(--relish-fs-24); }
.ai__subtitle[b-o6pfoet54d] { margin: 0; color: var(--relish-ink-soft); font-size: var(--relish-fs-14); }
.ai__status[b-o6pfoet54d] {
    display: flex; align-items: flex-start; gap: var(--relish-space-2);
    background: var(--relish-bg, #faf8f4); border: 1px solid var(--relish-line, #e6e2da);
    border-radius: 8px; padding: var(--relish-space-3); margin-bottom: var(--relish-space-3);
    font-size: var(--relish-fs-14); line-height: 1.5;
}
.ai__provider[b-o6pfoet54d] {
    display: flex; align-items: center; gap: var(--relish-space-2);
    margin-bottom: var(--relish-space-3); font-size: var(--relish-fs-14);
}
.ai__table[b-o6pfoet54d] { width: 100%; border-collapse: collapse; font-size: var(--relish-fs-14); }
.ai__table th[b-o6pfoet54d] { text-align: left; padding: var(--relish-space-2); border-bottom: 2px solid var(--relish-line, #e6e2da); color: var(--relish-ink-soft); }
.ai__table td[b-o6pfoet54d] { padding: var(--relish-space-2); border-bottom: 1px solid var(--relish-line, #eee); vertical-align: top; }
@media (max-width: 640px) { .ai__table[b-o6pfoet54d] { min-width: 560px; } }
.ai__key[b-o6pfoet54d] { display: block; font-weight: 600; }
.ai__keyid[b-o6pfoet54d] { display: block; font-size: var(--relish-fs-12); color: var(--relish-ink-soft); font-family: ui-monospace, monospace; }
.ai__muted[b-o6pfoet54d] { color: var(--relish-ink-soft); }
.badge.ai-class-specialtouch[b-o6pfoet54d] { background: #f3e8ff; color: #6b21a8; }
.badge.ai-class-poweredbyai[b-o6pfoet54d] { background: #e0f2fe; color: #075985; }

.ai__steering[b-o6pfoet54d] { margin-top: var(--relish-space-5); }
.ai__subhead[b-o6pfoet54d] { margin: 0 0 var(--relish-space-1); font-size: var(--relish-fs-18, 1.125rem); }
.steer[b-o6pfoet54d] {
    border: 1px solid var(--relish-line, #e6e2da); border-radius: 8px;
    padding: var(--relish-space-3); margin-top: var(--relish-space-3);
    background: var(--relish-bg, #faf8f4);
}
.steer__head[b-o6pfoet54d] { display: flex; align-items: baseline; justify-content: space-between; gap: var(--relish-space-2); flex-wrap: wrap; margin-bottom: var(--relish-space-2); }
.steer__name[b-o6pfoet54d] { margin: 0; font-size: var(--relish-fs-16, 1rem); }
.steer__select[b-o6pfoet54d] { padding: 6px 8px; border: 1px solid var(--relish-line, #e6e2da); border-radius: 6px; font-size: var(--relish-fs-14); max-width: 100%; }
.steer__text[b-o6pfoet54d] { width: 100%; box-sizing: border-box; padding: var(--relish-space-2); border: 1px solid var(--relish-line, #e6e2da); border-radius: 6px; font-family: inherit; font-size: var(--relish-fs-14); line-height: 1.5; resize: vertical; }
.steer__actions[b-o6pfoet54d] { display: flex; align-items: center; gap: var(--relish-space-3); margin-top: var(--relish-space-2); flex-wrap: wrap; }
.steer__toggle[b-o6pfoet54d] { display: inline-flex; align-items: center; gap: 6px; font-size: var(--relish-fs-14); }
.steer__saved[b-o6pfoet54d] { display: flex; align-items: center; gap: var(--relish-space-2); margin-top: var(--relish-space-3); color: #15803d; font-size: var(--relish-fs-14); }
.steer__layer[b-o6pfoet54d] { border-top: 1px dashed var(--relish-line, #e6e2da); padding-top: var(--relish-space-3); margin-top: var(--relish-space-3); }
.steer__layerhead[b-o6pfoet54d] { display: flex; align-items: baseline; justify-content: space-between; gap: var(--relish-space-2); flex-wrap: wrap; margin-bottom: 6px; }
.steer__layername[b-o6pfoet54d] { font-weight: 600; font-size: var(--relish-fs-14); display: inline-flex; align-items: center; gap: 6px; }
.steer__layername .fa-solid[b-o6pfoet54d] { color: var(--relish-herb, #6b8e4e); }
.steer__text--dynamic[b-o6pfoet54d] { background: var(--relish-herb-wash, #f2f6ee); }
.steer__proposal[b-o6pfoet54d] { border: 1px solid var(--relish-herb, #6b8e4e); border-radius: 8px; padding: var(--relish-space-3); margin-top: var(--relish-space-3); background: var(--relish-surface, #fff); }
.steer__diff[b-o6pfoet54d] { display: grid; grid-template-columns: 1fr 1fr; gap: var(--relish-space-3); margin: var(--relish-space-2) 0; }
@media (max-width: 720px) { .steer__diff[b-o6pfoet54d] { grid-template-columns: 1fr; } }
.steer__pre[b-o6pfoet54d] { white-space: pre-wrap; word-break: break-word; font-family: inherit; font-size: var(--relish-fs-13); background: var(--relish-bg, #faf8f4); border: 1px solid var(--relish-line, #e6e2da); border-radius: 6px; padding: var(--relish-space-2); margin: 4px 0 0; }
.steer__pre--new[b-o6pfoet54d] { background: var(--relish-herb-wash, #f2f6ee); border-color: var(--relish-herb, #6b8e4e); }
.steer__learnings[b-o6pfoet54d] { list-style: none; margin: var(--relish-space-2) 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.steer__learning[b-o6pfoet54d] { display: flex; align-items: center; gap: var(--relish-space-2); flex-wrap: wrap; font-size: var(--relish-fs-14); border-bottom: 1px solid var(--relish-line, #e6e2da); padding-bottom: 6px; }
.steer__learning-text[b-o6pfoet54d] { flex: 1; min-width: 160px; }
.steer__learning-meta[b-o6pfoet54d] { font-size: var(--relish-fs-12); }
.steer__dismiss[b-o6pfoet54d] { border: none; background: transparent; cursor: pointer; color: var(--relish-ink-soft, #777); }
.steer__dismiss:hover[b-o6pfoet54d] { color: var(--relish-danger, #b3261e); }
/* /Components/Pages/Admin/ClientsWorkspace.razor.rz.scp.css */
/* Clients & Dietary (/admin/clients) — round-2 operator console.
   Cross-cutting primitives (header, cards, chips, severity chips, status dots,
   avatars, buttons) come from relish-r2.css; this file only positions the
   clients-specific split, roster grid, and detail panel. */

.clients[b-83ccde6uy4] { max-width: 1200px; }

/* Search field in the header actions */
.clients__search-field[b-83ccde6uy4] { width: 260px; }
.clients__search-field input[b-83ccde6uy4] { flex: 1; min-width: 0; }
.clients__search-field .fa-magnifying-glass[b-83ccde6uy4] { color: var(--relish-ink-faint); font-size: 13px; }

.clients__error[b-83ccde6uy4] {
    background: var(--relish-coral-wash);
    color: var(--relish-ink);
    border: 1px solid var(--relish-coral);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4);
    margin-bottom: var(--relish-space-4);
    font-size: var(--relish-fs-14);
}

.clients__muted[b-83ccde6uy4] { color: var(--relish-ink-soft); font-size: var(--relish-fs-13); margin: 0 0 var(--relish-space-2); }

/* ---------------------------------------------------------------- split */
.clients__split[b-83ccde6uy4] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 400px;
    gap: 20px;
    align-items: start;
}

/* ---------------------------------------------------------------- roster */
.roster-card[b-83ccde6uy4] { overflow: hidden; }
.roster[b-83ccde6uy4] { display: flex; flex-direction: column; }

.roster__empty[b-83ccde6uy4] {
    text-align: center;
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-14);
    padding: var(--relish-space-8) var(--relish-space-5);
}

.roster__row[b-83ccde6uy4] {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto auto 18px;
    align-items: center;
    gap: var(--relish-space-3);
    min-height: 64px;
    padding: 10px var(--relish-space-5);
    border-bottom: 1px solid var(--relish-border);
    cursor: pointer;
    text-align: left;
    background: transparent;
    transition: background .12s ease, box-shadow .12s ease;
}
.roster__row:last-child[b-83ccde6uy4] { border-bottom: none; }
.roster__row:hover[b-83ccde6uy4] { background: var(--relish-card); }
.roster__row.is-selected[b-83ccde6uy4] {
    background: var(--relish-herb-wash);
    box-shadow: inset 3px 0 0 var(--relish-herb);
}

.roster__household[b-83ccde6uy4] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.roster__name[b-83ccde6uy4] {
    font-size: var(--relish-fs-14);
    font-weight: 600;
    color: var(--relish-ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.roster__meta[b-83ccde6uy4] { font-size: var(--relish-fs-12); color: var(--relish-ink-faint); }

.roster__services[b-83ccde6uy4] { display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; }

.roster__open[b-83ccde6uy4] {
    border: none;
    background: transparent;
    color: var(--relish-ink-faint);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    justify-self: end;
}
.roster__row:hover .roster__open[b-83ccde6uy4],
.roster__row.is-selected .roster__open[b-83ccde6uy4] { color: var(--relish-herb); }

/* ---------------------------------------------------------------- detail */
.detail[b-83ccde6uy4] { min-width: 0; }

.detail__empty[b-83ccde6uy4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--relish-space-3);
    text-align: center;
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-14);
    min-height: 260px;
}
.detail__empty-mark[b-83ccde6uy4] { font-size: 30px; color: var(--relish-herb-light); }
.detail__empty p[b-83ccde6uy4] { margin: 0; max-width: 240px; line-height: 1.45; }

.detail__card[b-83ccde6uy4] { display: flex; flex-direction: column; gap: var(--relish-space-5); }

.detail__head[b-83ccde6uy4] { display: flex; align-items: center; gap: var(--relish-space-3); }
.detail__id[b-83ccde6uy4] { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
.detail__name[b-83ccde6uy4] {
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-22);
    font-weight: 500;
    color: var(--relish-ink);
    margin: 0;
    line-height: 1.1;
}
.detail__close[b-83ccde6uy4] {
    border: none;
    background: transparent;
    color: var(--relish-ink-faint);
    font-size: var(--relish-fs-16);
    cursor: pointer;
    padding: 4px;
    line-height: 1;
    align-self: flex-start;
}
.detail__close:hover[b-83ccde6uy4] { color: var(--relish-ink); }

/* status control */
.detail__status-row[b-83ccde6uy4] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-3);
    padding-bottom: var(--relish-space-4);
    border-bottom: 1px solid var(--relish-border);
}
.detail__label[b-83ccde6uy4] { font-size: var(--relish-fs-13); font-weight: 600; color: var(--relish-ink-soft); flex-shrink: 0; }
.detail__control[b-83ccde6uy4] { flex: 1; }

/* sections */
.detail__section[b-83ccde6uy4] { display: flex; flex-direction: column; gap: var(--relish-space-2); }
.detail__section-head[b-83ccde6uy4] { display: flex; align-items: center; gap: var(--relish-space-2); }
.detail__allergy-count[b-83ccde6uy4] { margin-left: auto; font-size: var(--relish-fs-12); }

/* dietary list */
.detail__diet[b-83ccde6uy4] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.detail__diet-item[b-83ccde6uy4] { display: flex; align-items: center; gap: 6px; }
.detail__diet-item .r2-sev[b-83ccde6uy4] { flex: 1; min-width: 0; }
.detail__diet-name[b-83ccde6uy4] { overflow: hidden; text-overflow: ellipsis; }

.detail__legend[b-83ccde6uy4] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--relish-space-3);
    margin-top: 2px;
    padding: var(--relish-space-2) 0;
    font-size: 11px;
    color: var(--relish-ink-faint);
    border-top: 1px dashed var(--relish-border);
}
.detail__legend-item[b-83ccde6uy4] { display: inline-flex; align-items: center; gap: 4px; }
.detail__legend-swatch[b-83ccde6uy4] { width: 9px; height: 9px; border-radius: 3px; display: inline-block; }

.detail__diet-add[b-83ccde6uy4] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px; margin-top: var(--relish-space-2); }
.detail__diet-add .r2-btn[b-83ccde6uy4] { grid-column: 1 / -1; }

/* members + generic lists */
.detail__list[b-83ccde6uy4] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.detail__list-item[b-83ccde6uy4] { display: flex; align-items: center; gap: var(--relish-space-2); font-size: var(--relish-fs-14); }
.detail__member-name[b-83ccde6uy4] { font-weight: 600; color: var(--relish-ink); }
.detail__list-item .detail__x[b-83ccde6uy4] { margin-left: auto; }

.detail__inline-add[b-83ccde6uy4] { display: flex; gap: var(--relish-space-2); flex-wrap: wrap; align-items: center; }
.detail__inline-add .field__input[b-83ccde6uy4] { flex: 1; min-width: 120px; }
.detail__stack[b-83ccde6uy4] { display: flex; flex-direction: column; gap: var(--relish-space-2); }

/* notes */
.detail__notes[b-83ccde6uy4] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--relish-space-2); }
.detail__note[b-83ccde6uy4] {
    border-left: 3px solid var(--relish-gold);
    padding: 6px 10px;
    background: var(--relish-card);
    border-radius: var(--relish-radius-control);
}
.detail__note-meta[b-83ccde6uy4] { display: flex; align-items: center; gap: var(--relish-space-2); font-size: var(--relish-fs-12); color: var(--relish-ink-faint); }
.detail__note-author[b-83ccde6uy4] { font-weight: 600; color: var(--relish-ink); }
.detail__note-when[b-83ccde6uy4] { margin-right: auto; }
.detail__note-body[b-83ccde6uy4] { font-size: var(--relish-fs-14); margin-top: 2px; white-space: pre-wrap; color: var(--relish-ink); }
.detail__note-add[b-83ccde6uy4] { display: flex; flex-direction: column; gap: 6px; }
.detail__note-add textarea[b-83ccde6uy4] { resize: vertical; }

/* small ✕ remove control shared by list rows */
.detail__x[b-83ccde6uy4] {
    border: none;
    background: transparent;
    color: var(--relish-ink-faint);
    font-size: 12px;
    cursor: pointer;
    padding: 2px 4px;
    line-height: 1;
    flex-shrink: 0;
}
.detail__x:hover[b-83ccde6uy4] { color: var(--relish-danger); }

/* ---------------------------------------------------------------- form controls (shared by detail + create sheet) */
.field[b-83ccde6uy4] { display: flex; flex-direction: column; gap: 4px; margin-bottom: var(--relish-space-4); font-size: var(--relish-fs-13); color: var(--relish-ink-soft); border: none; padding: 0; }
.field__input[b-83ccde6uy4] {
    padding: var(--relish-space-2) var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    background: var(--relish-surface);
    color: var(--relish-ink);
    font-size: var(--relish-fs-14);
    font-family: inherit;
}
.field__input:focus[b-83ccde6uy4] { outline: 2px solid var(--relish-herb); outline-offset: 1px; }

/* ---------------------------------------------------------------- create sheet */
.sheet-scrim[b-83ccde6uy4] { position: fixed; inset: 0; background: rgba(31, 36, 33, 0.35); z-index: 40; }
.sheet[b-83ccde6uy4] {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: min(440px, 94vw);
    background: var(--relish-surface);
    box-shadow: var(--relish-elevation-1);
    z-index: 50;
    padding: var(--relish-space-6);
    overflow-y: auto;
}
.sheet__close[b-83ccde6uy4] { position: absolute; top: var(--relish-space-4); right: var(--relish-space-4); background: transparent; border: none; font-size: var(--relish-fs-18); color: var(--relish-ink-soft); cursor: pointer; }
.sheet__title[b-83ccde6uy4] { font-family: var(--relish-font-display); font-size: var(--relish-fs-22); margin: 0 0 var(--relish-space-4); }
.sheet__error[b-83ccde6uy4] { background: var(--relish-coral-wash); color: var(--relish-ink); border: 1px solid var(--relish-coral); border-radius: var(--relish-radius-control); padding: var(--relish-space-2) var(--relish-space-3); font-size: var(--relish-fs-13); }
.sheet__actions[b-83ccde6uy4] { display: flex; gap: var(--relish-space-3); margin-top: var(--relish-space-4); }

/* statement (read-only, chef-entered charges) — grafted from main's billing feature */
.detail__stmt-amt[b-83ccde6uy4] { margin-left: auto; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--relish-ink); }
.detail__stmt-total[b-83ccde6uy4] { font-size: var(--relish-fs-14); margin: var(--relish-space-2) 0 0; color: var(--relish-ink); }
.detail__stmt-total strong[b-83ccde6uy4] { font-variant-numeric: tabular-nums; }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 900px) {
    .clients__split[b-83ccde6uy4] { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    /* Search fills the header row instead of a fixed 260px that won't wrap. */
    .clients__search-field[b-83ccde6uy4] { width: 100%; }
    /* The service pills repeat in the detail panel's "Service access"; drop them from
       the cramped roster row on a phone so the name and status stay legible. */
    .roster__row[b-83ccde6uy4] { grid-template-columns: 34px minmax(0, 1fr) auto 18px; }
    .roster__services[b-83ccde6uy4] { display: none; }
}
/* /Components/Pages/Admin/EventsWorkspace.razor.rz.scp.css */
.ev[b-zs1lovb9ul] { max-width: 1000px; }

.ev__head[b-zs1lovb9ul] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--relish-space-4);
    margin-bottom: var(--relish-space-4);
}

.ev__title[b-zs1lovb9ul] {
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-28);
    margin: 0;
}

.ev__subtitle[b-zs1lovb9ul] {
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-13);
    margin: var(--relish-space-1) 0 0;
    max-width: 60ch;
}

.ev__ok[b-zs1lovb9ul] {
    background: var(--relish-herb-wash, var(--relish-mint-wash, #eef7ee));
    color: var(--relish-ink);
    border: 1px solid var(--relish-herb, #7aa87a);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4);
    margin-bottom: var(--relish-space-4);
    font-size: var(--relish-fs-14);
}

.ev__table[b-zs1lovb9ul] {
    width: 100%;
    border-collapse: collapse;
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    overflow: hidden;
}

.ev__table th[b-zs1lovb9ul],
.ev__table td[b-zs1lovb9ul] {
    text-align: left;
    padding: var(--relish-space-3) var(--relish-space-4);
    border-bottom: 1px solid var(--relish-border);
    font-size: var(--relish-fs-14);
}

.ev__table thead th[b-zs1lovb9ul] {
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--relish-ink-soft);
}

.ev__table tbody tr:last-child td[b-zs1lovb9ul] { border-bottom: none; }
.ev__head[b-zs1lovb9ul] { flex-wrap: wrap; }
@media (max-width: 640px) { .ev__table[b-zs1lovb9ul] { min-width: 520px; } }

.ev__muted[b-zs1lovb9ul] { color: var(--relish-ink-soft); }

.ev__empty[b-zs1lovb9ul] {
    text-align: center;
    color: var(--relish-ink-soft);
    padding: var(--relish-space-5);
}

.ev__check[b-zs1lovb9ul] { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: var(--relish-ink-soft); }
.ev__check input[b-zs1lovb9ul] { margin-top: 3px; }
/* /Components/Pages/Admin/GroupsWorkspace.razor.rz.scp.css */
.groups[b-jvvrkk51m8] { max-width: 1000px; }
.groups__head[b-jvvrkk51m8] { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--relish-space-4); margin-bottom: var(--relish-space-4); }
.groups__title[b-jvvrkk51m8] { font-family: var(--relish-font-display); font-size: var(--relish-fs-28); margin: 0; }
.groups__subtitle[b-jvvrkk51m8] { color: var(--relish-ink-soft); font-size: var(--relish-fs-13); margin: var(--relish-space-1) 0 0; max-width: 62ch; }
.groups__error[b-jvvrkk51m8] { background: var(--relish-coral-wash); color: var(--relish-ink); border: 1px solid var(--relish-coral); border-radius: var(--relish-radius-control); padding: var(--relish-space-3) var(--relish-space-4); margin-bottom: var(--relish-space-4); font-size: var(--relish-fs-14); }
.groups__table[b-jvvrkk51m8] { width: 100%; border-collapse: collapse; background: var(--relish-surface); border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); overflow: hidden; }
.groups__table th[b-jvvrkk51m8], .groups__table td[b-jvvrkk51m8] { text-align: left; padding: var(--relish-space-3) var(--relish-space-4); border-bottom: 1px solid var(--relish-border); font-size: var(--relish-fs-14); }
.groups__table thead th[b-jvvrkk51m8] { font-size: var(--relish-fs-12); text-transform: uppercase; letter-spacing: 0.03em; color: var(--relish-ink-soft); }
.groups__table tbody tr:last-child td[b-jvvrkk51m8] { border-bottom: none; }
.groups__muted[b-jvvrkk51m8] { color: var(--relish-ink-soft); }
.groups__empty[b-jvvrkk51m8] { text-align: center; color: var(--relish-ink-soft); padding: var(--relish-space-5); }
.groups__members[b-jvvrkk51m8], .groups__offerings[b-jvvrkk51m8] { display: flex; flex-direction: column; gap: 6px; }
.groups__head[b-jvvrkk51m8] { flex-wrap: wrap; }
@media (max-width: 640px) { .groups__table[b-jvvrkk51m8] { min-width: 440px; } }
.groups__check[b-jvvrkk51m8] { display: flex; align-items: center; gap: 8px; font-size: var(--relish-fs-14); }
/* /Components/Pages/Admin/MenuBuilder.razor.rz.scp.css */
/* Menu Builder (/admin/menus) — round-2 operator console.
   Shared primitives (r2-head, r2-card, r2-chip, r2-btn, r2-grip, r2-field,
   r2-safety) live in relish-r2.css; this file only positions the menu-list and
   the dual-list composer, and restyles the slide-in sheets. Colors/fonts via
   --relish-* tokens only. */

.mb[b-v52qydtb49] { max-width: 1080px; }

/* ---- banners ---------------------------------------------------------- */
.mb__error[b-v52qydtb49] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
    background: var(--relish-coral-wash);
    color: var(--relish-ink);
    border: 1px solid var(--relish-coral);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4);
    margin-bottom: var(--relish-space-4);
    font-size: var(--relish-fs-14);
}

.mb__ok[b-v52qydtb49] {
    background: var(--relish-herb-wash);
    color: var(--relish-ink);
    border: 1px solid var(--relish-herb);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4);
    margin-bottom: var(--relish-space-4);
    font-size: var(--relish-fs-14);
}
.mb__ok a[b-v52qydtb49] { color: var(--relish-herb); font-weight: 600; }

/* ---- menus list card -------------------------------------------------- */
.mb__list[b-v52qydtb49] { margin-bottom: var(--relish-space-5); }
.mb__tablewrap[b-v52qydtb49] { overflow-x: auto; }

.mb__table[b-v52qydtb49] {
    width: 100%;
    border-collapse: collapse;
    background: transparent;
}
.mb__table th[b-v52qydtb49],
.mb__table td[b-v52qydtb49] {
    text-align: left;
    padding: var(--relish-space-3) var(--relish-space-5);
    border-bottom: 1px solid var(--relish-border);
    vertical-align: top;
}
.mb__table th[b-v52qydtb49] {
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 600;
    color: var(--relish-ink-faint);
    background: var(--relish-card);
}
.mb__table tbody tr:last-child td[b-v52qydtb49] { border-bottom: none; }
.mb__table tbody tr:hover td[b-v52qydtb49] { background: var(--relish-card); }

.mb__name[b-v52qydtb49] { display: block; font-weight: 600; color: var(--relish-ink); font-size: var(--relish-fs-15); }
.mb__desc[b-v52qydtb49] { display: block; font-size: var(--relish-fs-12); color: var(--relish-ink-soft); margin-top: 2px; }
.mb__dishcount[b-v52qydtb49] { display: block; font-weight: 600; color: var(--relish-ink); font-size: var(--relish-fs-13); margin-bottom: 6px; }
.mb__muted[b-v52qydtb49] { color: var(--relish-ink-faint); font-size: var(--relish-fs-13); }
.mb__empty[b-v52qydtb49] { text-align: center; color: var(--relish-ink-soft); padding: var(--relish-space-6); }
.mb__actions-col[b-v52qydtb49] { text-align: right; white-space: nowrap; }
.mb__actions[b-v52qydtb49] { text-align: right; white-space: nowrap; }
.mb__actions .r2-btn[b-v52qydtb49] { margin-left: var(--relish-space-2); }

.mb__dishchips[b-v52qydtb49] { row-gap: 6px; }
.mb__dishchip[b-v52qydtb49] { font-size: 11.5px; padding: 4px 9px; max-width: 100%; }
.mb__chiptype[b-v52qydtb49] {
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--relish-herb-deep);
    opacity: .75;
}

/* ---- slide-in sheets -------------------------------------------------- */
.sheet-scrim[b-v52qydtb49] { position: fixed; inset: 0; background: rgba(31, 36, 33, 0.38); z-index: 40; }
.sheet[b-v52qydtb49] {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: min(460px, 94vw);
    background: var(--relish-cream);
    box-shadow: var(--relish-elevation-1);
    z-index: 50;
    padding: var(--relish-space-6);
    overflow-y: auto;
}
.sheet--wide[b-v52qydtb49] { width: min(1000px, 97vw); }
.sheet__close[b-v52qydtb49] {
    position: absolute; top: var(--relish-space-4); right: var(--relish-space-4);
    background: transparent; border: none; font-size: var(--relish-fs-18);
    color: var(--relish-ink-soft); cursor: pointer;
}
.sheet__title[b-v52qydtb49] { font-family: var(--relish-font-display); font-size: var(--relish-fs-22); font-weight: 500; margin: 0 0 var(--relish-space-4); color: var(--relish-ink); }

.sheet__error[b-v52qydtb49] {
    background: var(--relish-coral-wash); color: var(--relish-ink);
    border: 1px solid var(--relish-coral); border-radius: var(--relish-radius-control);
    padding: var(--relish-space-2) var(--relish-space-3); font-size: var(--relish-fs-13);
    margin-top: var(--relish-space-4);
}
.sheet__actions[b-v52qydtb49] { display: flex; gap: var(--relish-space-3); margin-top: var(--relish-space-5); }

/* form fields (shared by editor / assign / share sheets) */
.field[b-v52qydtb49] { display: flex; flex-direction: column; gap: 4px; margin-bottom: var(--relish-space-4); font-size: var(--relish-fs-13); color: var(--relish-ink-soft); border: none; padding: 0; }
.field__input[b-v52qydtb49] {
    padding: var(--relish-space-2) var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    background: var(--relish-surface);
    color: var(--relish-ink);
    font-size: var(--relish-fs-15);
    font-family: inherit;
}
.field__input:focus[b-v52qydtb49] { outline: 2px solid var(--relish-herb); outline-offset: 1px; }

/* ---- editor header + fields ------------------------------------------- */
.mb__editor-head[b-v52qydtb49] { margin: 0 0 var(--relish-space-4); padding-right: var(--relish-space-8); }
.mb__editor-title[b-v52qydtb49] { font-size: var(--relish-fs-22); margin: 0; }
.mb__editor-fields[b-v52qydtb49] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--relish-space-4);
    margin-bottom: var(--relish-space-5);
}
.mb__editor-fields .field[b-v52qydtb49] { margin-bottom: 0; }

/* ---- dual list -------------------------------------------------------- */
.mb__dual[b-v52qydtb49] {
    display: grid;
    grid-template-columns: 1fr 56px 1fr;
    gap: var(--relish-space-3);
    align-items: start;
}
.mb__panel[b-v52qydtb49] { display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.mb__panel--menu[b-v52qydtb49] {
    border-color: var(--relish-herb);
    background: var(--relish-herb-wash);
}
.mb__panel--menu .r2-card__head[b-v52qydtb49] { border-bottom-color: var(--relish-border); }

.mb__panel-tools[b-v52qydtb49] { padding: var(--relish-space-3) var(--relish-space-4); }
.mb__panel-tools .r2-field[b-v52qydtb49] { width: 100%; }

.mb__scroll[b-v52qydtb49] { max-height: 46vh; overflow-y: auto; padding: 6px; }
.mb__pad[b-v52qydtb49] { padding: var(--relish-space-4); }

/* catalog rows */
.mb__cat-row[b-v52qydtb49] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
    padding: 8px 10px;
    border-radius: var(--relish-radius-control);
    cursor: pointer;
    border: 1px solid transparent;
}
.mb__cat-row:hover[b-v52qydtb49] { background: var(--relish-card); }
.mb__cat-row.is-selected[b-v52qydtb49] { background: var(--relish-herb-wash); border-color: var(--relish-border); }
.mb__cat-check[b-v52qydtb49] {
    width: 16px; height: 16px; flex-shrink: 0;
    accent-color: var(--relish-herb);
    cursor: pointer;
}
.mb__cat-name[b-v52qydtb49] { flex: 1; min-width: 0; font-size: var(--relish-fs-14); color: var(--relish-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mb__cat-cue[b-v52qydtb49] { flex-shrink: 0; font-size: 11px; font-weight: 600; color: var(--relish-ink-faint); }
.mb__cat-row.is-selected .mb__cat-cue[b-v52qydtb49] { color: var(--relish-herb); }

/* small meal-type pill (overrides r2-chip sizing on this element) */
.mb__typepill[b-v52qydtb49] {
    flex-shrink: 0;
    font-size: 10.5px;
    padding: 3px 8px;
    text-transform: uppercase;
    letter-spacing: .03em;
    font-weight: 600;
}

/* center transfer affordance */
.mb__transfer[b-v52qydtb49] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--relish-space-2);
    padding-top: var(--relish-space-10);
}
.mb__xbtn[b-v52qydtb49] {
    width: 40px; height: 36px;
    padding: 0;
    font-size: var(--relish-fs-16);
    pointer-events: none;
}
.mb__xcap[b-v52qydtb49] {
    font-size: 10px;
    color: var(--relish-ink-faint);
    text-align: center;
    line-height: 1.3;
    max-width: 52px;
}

/* menu rows */
.mb__menu-row[b-v52qydtb49] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
    padding: 8px 10px;
    border-radius: var(--relish-radius-control);
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    margin-bottom: 6px;
}
.mb__pos[b-v52qydtb49] {
    flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    width: 20px; height: 20px;
    border-radius: 50%;
    background: var(--relish-herb);
    color: var(--relish-on-brand);
    font-size: 11px;
    font-weight: 700;
    font-family: var(--relish-font-display);
}
.mb__remove[b-v52qydtb49] {
    flex-shrink: 0;
    background: transparent;
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    color: var(--relish-ink-soft);
    width: 26px; height: 26px;
    cursor: pointer;
    font-size: var(--relish-fs-14);
    line-height: 1;
}
.mb__remove:hover[b-v52qydtb49] { border-color: var(--relish-coral); color: var(--relish-coral); }

/* ---- responsive ------------------------------------------------------- */
@media (max-width: 760px) {
    .mb__editor-fields[b-v52qydtb49] { grid-template-columns: 1fr; }
    .mb__dual[b-v52qydtb49] { grid-template-columns: 1fr; }
    .mb__transfer[b-v52qydtb49] { flex-direction: row; padding-top: 0; padding: var(--relish-space-2) 0; }
}

/* Menu analysis (Powered by AI) — advisory, no-mutation second read. */
.mb__analysis[b-v52qydtb49] {
    margin: var(--relish-space-3) 0 0;
    padding: var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-left: 3px solid var(--relish-herb, #6b8e4e);
    border-radius: var(--relish-radius-md, 8px);
    background: var(--relish-surface-2, #f7f7f4);
}
.mb__analysis-head[b-v52qydtb49] { display: flex; align-items: center; gap: var(--relish-space-3); flex-wrap: wrap; }
.mb__analysis-body[b-v52qydtb49] { margin-top: var(--relish-space-3); }
.mb__analysis-summary[b-v52qydtb49] { margin: 0 0 var(--relish-space-2); font-weight: 600; color: var(--relish-ink, #333); }
.mb__analysis-list[b-v52qydtb49] { margin: 0; padding-left: var(--relish-space-4); color: var(--relish-ink, #444); line-height: 1.5; }

.mb__also[b-v52qydtb49] { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--relish-ink-soft); margin-left: 8px; }

/* ============================================================ full-screen menu builder */
.mbx[b-v52qydtb49] {
    max-width: 1500px;
    margin: 0 auto;
    padding: var(--relish-space-5) var(--relish-space-5) var(--relish-space-8);
}
.mbx__meta[b-v52qydtb49] { display: flex; flex-wrap: wrap; gap: var(--relish-space-4); margin-bottom: var(--relish-space-4); }
.mbx__meta .field[b-v52qydtb49] { margin-bottom: 0; }
.mbx__meta-name[b-v52qydtb49] { flex: 1 1 260px; }
.mbx__meta-desc[b-v52qydtb49] { flex: 2 1 340px; }
.mbx__meta-start[b-v52qydtb49] { flex: 1 1 240px; }
.mbx__also[b-v52qydtb49] { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--relish-ink-soft); }

.mbx__error[b-v52qydtb49] {
    display: flex; align-items: center; gap: 8px;
    background: var(--relish-coral-wash); color: #8f3a24;
    border: 1px solid var(--relish-coral); border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4); margin: 0 0 var(--relish-space-4); font-size: var(--relish-fs-14);
}

/* three panes: filters · catalog · (balance + menu) */
.mbx__cols[b-v52qydtb49] {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr) 380px;
    gap: var(--relish-space-5);
    align-items: start;
}
.mbx__filters[b-v52qydtb49] {
    position: sticky; top: var(--relish-space-3);
    max-height: calc(100vh - 150px); overflow-y: auto;
    padding: var(--relish-space-4);
    background: var(--relish-surface); border: 1px solid var(--relish-border); border-radius: var(--relish-radius-card);
}
.mbx__col-title[b-v52qydtb49] {
    display: flex; align-items: baseline; gap: 8px;
    font-family: var(--relish-font-display); font-size: var(--relish-fs-16); font-weight: 600;
    color: var(--relish-ink); margin: 0 0 var(--relish-space-3);
}
.mbx__count[b-v52qydtb49] { font-family: var(--relish-font-body); font-size: 12px; font-weight: 500; color: var(--relish-ink-faint); }

/* center — catalog results */
.mbx__catalog[b-v52qydtb49] { min-width: 0; }
.mbx__catalog-head[b-v52qydtb49] { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: var(--relish-space-3); }
.mbx__catalog-head .mbx__col-title[b-v52qydtb49] { margin: 0; }
.mbx__results[b-v52qydtb49] { display: flex; flex-direction: column; gap: 6px; }
.mbx__linkbtn[b-v52qydtb49] { border: none; background: none; color: var(--relish-herb); font-weight: 600; cursor: pointer; padding: 0; font-size: inherit; }
.mbx__linkbtn:hover[b-v52qydtb49] { text-decoration: underline; }

.mbx__dish[b-v52qydtb49] {
    display: flex; align-items: flex-start; gap: 10px;
    padding: 10px 12px;
    background: var(--relish-surface); border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    transition: border-color .12s ease, background .12s ease;
}
.mbx__dish:hover[b-v52qydtb49] { border-color: var(--relish-herb-light); }
.mbx__dish.is-on[b-v52qydtb49] { background: var(--relish-herb-wash); border-color: #d9e0cf; }
.mbx__dish-add[b-v52qydtb49] {
    flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%;
    border: 1px solid var(--relish-herb); background: var(--relish-surface); color: var(--relish-herb);
    cursor: pointer; display: inline-flex; align-items: center; justify-content: center; font-size: 13px;
    transition: background .12s ease, color .12s ease;
}
.mbx__dish-add:hover:not([disabled])[b-v52qydtb49] { background: var(--relish-herb); color: #fff; }
.mbx__dish.is-on .mbx__dish-add[b-v52qydtb49] { background: var(--relish-herb); color: #fff; border-color: var(--relish-herb); cursor: default; }
.mbx__dish-body[b-v52qydtb49] { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 5px; }
.mbx__dish-top[b-v52qydtb49] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mbx__dish-name[b-v52qydtb49] { font-weight: 600; color: var(--relish-ink); font-size: var(--relish-fs-14); }
.mbx__typepill[b-v52qydtb49] { flex-shrink: 0; }
.mbx__dish-score[b-v52qydtb49] { display: inline-flex; align-items: center; gap: 4px; color: var(--relish-gold); font-size: 12px; font-variant-numeric: tabular-nums; }
.mbx__dish-score .fa-star[b-v52qydtb49] { font-size: 10px; }
.mbx__dish-labels[b-v52qydtb49] { display: flex; flex-wrap: wrap; gap: 5px; }
.mbx__minichip[b-v52qydtb49] { font-size: 11px; color: var(--relish-ink-soft); background: #f0ece1; border-radius: var(--relish-radius-pill); padding: 2px 8px; }

/* right — balance rail + the menu */
.mbx__side[b-v52qydtb49] { display: flex; flex-direction: column; gap: var(--relish-space-4); position: sticky; top: var(--relish-space-3); max-height: calc(100vh - 150px); overflow-y: auto; }
.mbx__balance[b-v52qydtb49] {
    padding: var(--relish-space-4);
    background: var(--relish-surface); border: 1px solid var(--relish-border); border-radius: var(--relish-radius-card);
    display: flex; flex-direction: column; gap: var(--relish-space-4);
}
.mbx__bal-section[b-v52qydtb49] { display: flex; flex-direction: column; gap: 8px; }
.mbx__bal-label[b-v52qydtb49] { font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--relish-ink-faint); }
.mbx__bal-empty[b-v52qydtb49] { margin: 0; color: var(--relish-ink-faint); font-size: var(--relish-fs-13); }
.mbx__courses[b-v52qydtb49] { display: grid; grid-template-columns: repeat(auto-fit, minmax(64px, 1fr)); gap: 8px; }
.mbx__course[b-v52qydtb49] {
    display: flex; flex-direction: column; align-items: center; gap: 2px;
    padding: 10px 6px; border-radius: var(--relish-radius-control);
    background: var(--relish-herb-wash); border: 1px solid #d9e0cf;
}
.mbx__course.is-zero[b-v52qydtb49] { background: var(--relish-card); border-color: var(--relish-border); opacity: .6; }
.mbx__course-n[b-v52qydtb49] { font-family: var(--relish-font-display); font-size: 22px; line-height: 1; color: var(--relish-herb); }
.mbx__course.is-zero .mbx__course-n[b-v52qydtb49] { color: var(--relish-ink-faint); }
.mbx__course-name[b-v52qydtb49] { font-size: 11px; color: var(--relish-ink-soft); text-align: center; }

.mbx__bars[b-v52qydtb49] { display: flex; flex-direction: column; gap: 5px; }
.mbx__bar-row[b-v52qydtb49] { display: grid; grid-template-columns: minmax(0, 1fr) 70px 22px; align-items: center; gap: 8px; }
.mbx__bar-name[b-v52qydtb49] { font-size: 12.5px; color: var(--relish-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mbx__bar-track[b-v52qydtb49] { height: 7px; background: var(--relish-card); border-radius: var(--relish-radius-pill); overflow: hidden; }
.mbx__bar-fill[b-v52qydtb49] { display: block; height: 100%; background: var(--relish-herb-light); border-radius: var(--relish-radius-pill); min-width: 3px; }
.mbx__bar-n[b-v52qydtb49] { font-size: 12px; font-weight: 600; color: var(--relish-ink-soft); text-align: right; font-variant-numeric: tabular-nums; }

.mbx__bal-hint[b-v52qydtb49] {
    display: flex; gap: 8px; align-items: flex-start; margin: 0;
    padding: 9px 12px; border-radius: var(--relish-radius-control);
    background: var(--relish-gold-wash); color: #7d551a; font-size: 12.5px; line-height: 1.4;
}
.mbx__bal-hint .fa-lightbulb[b-v52qydtb49] { color: var(--relish-gold); margin-top: 2px; }

.mbx__ai[b-v52qydtb49] { border-top: 1px solid var(--relish-border); padding-top: var(--relish-space-4); display: flex; flex-direction: column; gap: 10px; }
.mbx__ai-body[b-v52qydtb49] { display: flex; flex-direction: column; gap: 6px; }
.mbx__ai-summary[b-v52qydtb49] { margin: 0; font-size: 13px; color: var(--relish-ink); }
.mbx__ai-list[b-v52qydtb49] { margin: 0; padding-left: 18px; font-size: 12.5px; color: var(--relish-ink-soft); display: flex; flex-direction: column; gap: 3px; }

.mbx__menu[b-v52qydtb49] {
    padding: var(--relish-space-4);
    background: var(--relish-surface); border: 1px solid var(--relish-border); border-radius: var(--relish-radius-card);
}
.mbx__menu-row[b-v52qydtb49] {
    display: flex; align-items: center; gap: 8px;
    padding: 8px 4px; border-bottom: 1px solid var(--relish-border);
}
.mbx__menu-row:last-child[b-v52qydtb49] { border-bottom: none; }
.mbx__pos[b-v52qydtb49] {
    flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%;
    background: var(--relish-card); color: var(--relish-ink-soft);
    display: inline-flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600;
}
.mbx__menu-row .mbx__dish-name[b-v52qydtb49] { flex: 1; min-width: 0; }
.mbx__remove[b-v52qydtb49] {
    flex-shrink: 0; border: none; background: transparent; color: var(--relish-ink-faint);
    cursor: pointer; width: 26px; height: 26px; border-radius: var(--relish-radius-control); font-size: 13px;
}
.mbx__remove:hover[b-v52qydtb49] { background: var(--relish-coral-wash); color: var(--relish-coral); }

/* stack the panes on narrower windows */
@media (max-width: 1180px) {
    .mbx__cols[b-v52qydtb49] { grid-template-columns: 260px minmax(0, 1fr); }
    .mbx__side[b-v52qydtb49] { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; position: static; max-height: none; overflow: visible; }
    .mbx__balance[b-v52qydtb49], .mbx__menu[b-v52qydtb49] { flex: 1 1 320px; }
}
@media (max-width: 760px) {
    .mbx__cols[b-v52qydtb49] { grid-template-columns: 1fr; }
    .mbx__filters[b-v52qydtb49] { position: static; max-height: none; }
}
/* /Components/Pages/Admin/MessagingWorkspace.razor.rz.scp.css */
.msgadmin[b-imu5fbgw75] { max-width: 1100px; }
.msgadmin__head[b-imu5fbgw75] { margin-bottom: var(--relish-space-4); }
.msgadmin__title[b-imu5fbgw75] { font-family: var(--relish-font-display); font-size: var(--relish-fs-28); margin: 0; }
.msgadmin__subtitle[b-imu5fbgw75] { color: var(--relish-ink-soft); font-size: var(--relish-fs-13); margin: var(--relish-space-1) 0 0; max-width: 74ch; }
.msgadmin__muted[b-imu5fbgw75] { color: var(--relish-ink-soft); font-size: var(--relish-fs-13); }
.msgadmin__grid[b-imu5fbgw75] { display: grid; grid-template-columns: 320px 1fr; gap: var(--relish-space-4); align-items: start; }
@media (max-width: 800px) { .msgadmin__grid[b-imu5fbgw75] { grid-template-columns: 1fr; } }

.msgadmin__threads[b-imu5fbgw75] { display: flex; flex-direction: column; gap: var(--relish-space-2); }
.msgadmin__thread[b-imu5fbgw75] { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; width: 100%; background: var(--relish-surface); border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); padding: var(--relish-space-3); cursor: pointer; }
.msgadmin__thread.is-unread[b-imu5fbgw75] { border-left: 3px solid var(--relish-primary); }
.msgadmin__thread.is-active[b-imu5fbgw75] { outline: 2px solid var(--relish-primary); }
.msgadmin__thread-client[b-imu5fbgw75] { font-weight: 700; font-size: var(--relish-fs-14); }
.msgadmin__thread-subject[b-imu5fbgw75] { font-size: var(--relish-fs-13); }
.msgadmin__thread-time[b-imu5fbgw75] { font-size: var(--relish-fs-12); color: var(--relish-ink-soft); }

.msgadmin__panel[b-imu5fbgw75] { background: var(--relish-surface); border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); padding: var(--relish-space-4); min-height: 240px; }
.msgadmin__subject[b-imu5fbgw75] { font-family: var(--relish-font-display); font-size: var(--relish-fs-18); margin: 0 0 var(--relish-space-3); }
.msgadmin__stream[b-imu5fbgw75] { display: flex; flex-direction: column; gap: var(--relish-space-2); margin-bottom: var(--relish-space-4); }
.msgadmin__bubble[b-imu5fbgw75] { display: flex; flex-direction: column; gap: 2px; max-width: 85%; padding: 8px 12px; border-radius: 12px; }
.msgadmin__bubble.mine[b-imu5fbgw75] { align-self: flex-end; background: var(--relish-primary); color: var(--relish-on-brand, #fff); }
.msgadmin__bubble.theirs[b-imu5fbgw75] { align-self: flex-start; background: var(--relish-bg, #f2f2f2); }
.msgadmin__who[b-imu5fbgw75] { font-size: var(--relish-fs-11); opacity: .8; }
.msgadmin__text[b-imu5fbgw75] { font-size: var(--relish-fs-14); white-space: pre-wrap; }
.msgadmin__time[b-imu5fbgw75] { font-size: var(--relish-fs-11); opacity: .7; }
.msgadmin__reply[b-imu5fbgw75] { display: flex; gap: var(--relish-space-2); align-items: flex-end; }
.msgadmin__reply .msgadmin__input[b-imu5fbgw75] { flex: 1; }
.msgadmin__reply-actions[b-imu5fbgw75] { display: flex; flex-direction: column; gap: var(--relish-space-2); }
.msgadmin__draft-note[b-imu5fbgw75] { margin: var(--relish-space-1) 0 0; font-size: var(--relish-fs-12, 12px); }
.msgadmin__input[b-imu5fbgw75] { padding: 8px 10px; border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); font-size: var(--relish-fs-14); font-family: inherit; }

.msgadmin__sim[b-imu5fbgw75] { margin-top: var(--relish-space-6); padding: var(--relish-space-4); border: 1px dashed var(--relish-border); border-radius: var(--relish-radius-control); }
.msgadmin__sim-title[b-imu5fbgw75] { font-family: var(--relish-font-display); font-size: var(--relish-fs-16); margin: 0 0 var(--relish-space-2); }
.msgadmin__sim-row[b-imu5fbgw75] { display: flex; flex-wrap: wrap; gap: var(--relish-space-2); margin-top: var(--relish-space-3); }
.msgadmin__sim-row .msgadmin__input[b-imu5fbgw75] { flex: 1 1 auto; }
.msgadmin__sim-result[b-imu5fbgw75] { margin-top: var(--relish-space-3); font-size: var(--relish-fs-13); color: var(--relish-ink); }

/* message-actions proposal chip (Powered by AI) */
.msgadmin__action[b-imu5fbgw75] {
    display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
    padding: 10px 12px; margin: 8px 0;
    background: var(--relish-bg, #f2f6ff); border: 1px solid var(--relish-line, #cfe0ff);
    border-radius: 10px; font-size: var(--relish-fs-14, 14px);
}
.msgadmin__action-icon[b-imu5fbgw75] { color: #2563eb; }
.msgadmin__action-text[b-imu5fbgw75] { flex: 1; min-width: 12em; font-weight: 600; }
.msgadmin__action-done[b-imu5fbgw75] { color: var(--relish-ink-soft, #667); font-size: var(--relish-fs-14, 14px); margin: 6px 0; }
.msgadmin__action-error[b-imu5fbgw75] { color: #b91c1c; font-size: var(--relish-fs-14, 14px); margin: 6px 0; }
/* /Components/Pages/Admin/Orders.razor.rz.scp.css */
/* Orders (/admin/orders) — round-2 operator console.
   Primitives (r2-head, r2-card, r2-chip, r2-avatar, r2-status, r2-count-pill,
   r2-btn, r2-field) live in relish-r2.css; this file only positions the
   Orders-specific grouped grid, the cook-demand roll-up, and the adjust sheet. */

.orders[b-a7b9ufhmdd] { max-width: 1100px; }

/* ---- header: "Group by Session" picker in the actions slot ---- */
.orders__picker-field[b-a7b9ufhmdd] { padding: 6px 12px; }
.orders__picker-label[b-a7b9ufhmdd] {
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 600;
    color: var(--relish-ink-faint);
}
.orders__picker-field select[b-a7b9ufhmdd] { min-width: 230px; font-size: var(--relish-fs-14); cursor: pointer; }
.orders__picker-field select:focus[b-a7b9ufhmdd] { outline: none; }

.orders__error[b-a7b9ufhmdd] {
    background: var(--relish-coral-wash);
    color: var(--relish-ink);
    border: 1px solid var(--relish-coral);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4);
    margin-bottom: var(--relish-space-4);
    font-size: var(--relish-fs-14);
}

.orders__muted[b-a7b9ufhmdd] { color: var(--relish-ink-soft); font-size: var(--relish-fs-13); }

/* ---- the grouped grid ---- */
.orders__grid[b-a7b9ufhmdd] {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    overflow: hidden;
    box-shadow: var(--relish-elevation-1);
}

.orders__col-avatar[b-a7b9ufhmdd] { width: 46px; }
.orders__col-house[b-a7b9ufhmdd] { width: 30%; }
.orders__col-meals[b-a7b9ufhmdd] { width: 22%; }
.orders__col-charge[b-a7b9ufhmdd] { width: auto; }
.orders__col-items[b-a7b9ufhmdd] { width: 92px; }

.orders__grid th[b-a7b9ufhmdd],
.orders__grid td[b-a7b9ufhmdd] {
    text-align: left;
    padding: var(--relish-space-3) var(--relish-space-4);
    border-bottom: 1px solid var(--relish-border);
    vertical-align: middle;
}

.orders__num[b-a7b9ufhmdd] { text-align: right; font-variant-numeric: tabular-nums; }

/* column-label row */
.orders__colhead th[b-a7b9ufhmdd] {
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 600;
    color: var(--relish-ink-faint);
    background: var(--relish-surface);
}

/* group-header row (session) */
.orders__group td[b-a7b9ufhmdd] {
    background: var(--relish-cream);
    padding: var(--relish-space-3) var(--relish-space-4);
}
.orders__group-inner[b-a7b9ufhmdd] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
    flex-wrap: wrap;
}
.orders__group-caret[b-a7b9ufhmdd] { color: var(--relish-ink-soft); font-size: 12px; line-height: 1; }
.orders__group-name[b-a7b9ufhmdd] {
    font-family: var(--relish-font-display);
    font-weight: 600;
    font-size: var(--relish-fs-16);
    color: var(--relish-ink);
}
.orders__group-range[b-a7b9ufhmdd] { color: var(--relish-ink-soft); font-size: var(--relish-fs-13); }
.orders__group-state[b-a7b9ufhmdd] { margin-left: 2px; }
.orders__group-tallies[b-a7b9ufhmdd] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--relish-fs-13);
    color: var(--relish-ink-soft);
}
.orders__group-tallies strong[b-a7b9ufhmdd] { color: var(--relish-ink); font-weight: 700; }
.orders__group .r2-count-pill[b-a7b9ufhmdd] {
    background: var(--relish-surface);
    color: var(--relish-herb);
    border: 1px solid var(--relish-border);
}

/* data rows */
.orders__row:hover td[b-a7b9ufhmdd] { background: var(--relish-card); }
.orders__avatar-cell[b-a7b9ufhmdd] { padding-right: var(--relish-space-2); }
.orders__house-name[b-a7b9ufhmdd] {
    display: block;
    font-weight: 600;
    color: var(--relish-ink);
    font-size: var(--relish-fs-14);
}
.orders__house-state[b-a7b9ufhmdd] { margin-top: 3px; font-size: 11.5px; }
.orders__meals-cell[b-a7b9ufhmdd] { color: var(--relish-ink-soft); }
.orders__charge-wrap[b-a7b9ufhmdd] { display: inline-flex; align-items: center; gap: var(--relish-space-3); }
.orders__charge[b-a7b9ufhmdd] { font-variant-numeric: tabular-nums; font-weight: 600; color: var(--relish-ink); }
.orders__items-cell[b-a7b9ufhmdd] { font-weight: 700; color: var(--relish-ink); }

/* herb-wash grand-total footer */
.orders__grand td[b-a7b9ufhmdd] {
    background: var(--relish-herb-wash);
    border-top: 1px solid var(--relish-border);
    border-bottom: none;
    padding: var(--relish-space-3) var(--relish-space-4);
}
.orders__grand-inner[b-a7b9ufhmdd] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
    flex-wrap: wrap;
}
.orders__grand-sigma[b-a7b9ufhmdd] {
    font-family: var(--relish-font-display);
    font-weight: 700;
    font-size: var(--relish-fs-18);
    color: var(--relish-herb);
    line-height: 1;
}
.orders__grand-label[b-a7b9ufhmdd] { font-weight: 600; color: var(--relish-herb-deep); }
.orders__grand-note[b-a7b9ufhmdd] {
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--relish-herb-light);
}
.orders__grand-tallies[b-a7b9ufhmdd] {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: var(--relish-fs-14);
    color: var(--relish-herb-deep);
}
.orders__grand-tallies strong[b-a7b9ufhmdd] { color: var(--relish-herb-deep); font-weight: 700; }
.orders__grand .r2-count-pill[b-a7b9ufhmdd] { background: var(--relish-herb); color: #fff; }

.orders__empty[b-a7b9ufhmdd] { text-align: center; color: var(--relish-ink-soft); padding: var(--relish-space-5); }

/* ---- roll-up row under the grid: cook demand + charges ---- */
.orders__foot[b-a7b9ufhmdd] {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: var(--relish-space-4);
    margin-top: var(--relish-space-4);
    align-items: start;
}

.orders__demand[b-a7b9ufhmdd] { overflow: hidden; }
.orders__demand-table[b-a7b9ufhmdd] { width: 100%; border-collapse: collapse; }
.orders__demand-table th[b-a7b9ufhmdd],
.orders__demand-table td[b-a7b9ufhmdd] {
    text-align: left;
    padding: 10px var(--relish-space-4);
    border-bottom: 1px solid var(--relish-border);
    font-size: var(--relish-fs-14);
    color: var(--relish-ink);
}
.orders__demand-table th[b-a7b9ufhmdd] {
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 600;
    color: var(--relish-ink-faint);
    background: var(--relish-cream);
}
.orders__demand-table tr:last-child td[b-a7b9ufhmdd] { border-bottom: none; }

.orders__side-body[b-a7b9ufhmdd] { padding: var(--relish-space-4) var(--relish-space-5); }
.orders__charge-total[b-a7b9ufhmdd] { margin: 0; display: flex; flex-direction: column; gap: 4px; }
.orders__charge-big[b-a7b9ufhmdd] {
    font-family: var(--relish-font-display);
    font-size: 28px;
    line-height: 1;
    color: var(--relish-ink);
    font-variant-numeric: tabular-nums;
}

@media (max-width: 860px) {
    .orders__foot[b-a7b9ufhmdd] { grid-template-columns: 1fr; }
    .orders__picker-field select[b-a7b9ufhmdd] { min-width: 0; }
}

@media (max-width: 640px) {
    /* Fixed-layout grid: give it a floor so columns stay legible and let the
       .r2-tablewrap scroll horizontally instead of crushing every cell. */
    .orders__grid[b-a7b9ufhmdd] { min-width: 560px; }
}

/* ---- adjust sheet (chef adjustments + chef-entered charge) ---- */
.sheet-scrim[b-a7b9ufhmdd] { position: fixed; inset: 0; background: rgba(31, 36, 33, .35); z-index: 40; }
.sheet[b-a7b9ufhmdd] {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: min(480px, 94vw);
    background: var(--relish-surface);
    box-shadow: var(--relish-elevation-1);
    z-index: 50;
    padding: var(--relish-space-6);
    overflow-y: auto;
}
.sheet__close[b-a7b9ufhmdd] {
    position: absolute; top: var(--relish-space-4); right: var(--relish-space-4);
    background: transparent; border: none;
    font-size: var(--relish-fs-18); color: var(--relish-ink-soft); cursor: pointer;
}
.sheet__title[b-a7b9ufhmdd] { font-family: var(--relish-font-display); font-size: var(--relish-fs-22); margin: 0 0 var(--relish-space-3); }
.sheet__error[b-a7b9ufhmdd] {
    background: var(--relish-coral-wash); color: var(--relish-ink);
    border: 1px solid var(--relish-coral); border-radius: var(--relish-radius-control);
    padding: var(--relish-space-2) var(--relish-space-3); font-size: var(--relish-fs-13);
    margin-top: var(--relish-space-3);
}
.sheet__actions[b-a7b9ufhmdd] { display: flex; gap: var(--relish-space-3); margin-top: var(--relish-space-4); }

.field[b-a7b9ufhmdd] {
    display: flex; flex-direction: column; gap: 4px;
    margin: var(--relish-space-3) 0;
    font-size: var(--relish-fs-13); color: var(--relish-ink-soft);
    border: none; padding: 0;
}
.field legend[b-a7b9ufhmdd] { font-weight: 600; color: var(--relish-ink); margin-bottom: var(--relish-space-1); padding: 0; }
.field__input[b-a7b9ufhmdd] {
    padding: var(--relish-space-2) var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    background: var(--relish-surface); color: var(--relish-ink);
    font-size: var(--relish-fs-14); font-family: inherit;
}
.field__input:focus[b-a7b9ufhmdd] { outline: 2px solid var(--relish-herb); outline-offset: 1px; }

/* in-sheet line tables (adjust lines) */
.orders__table[b-a7b9ufhmdd] { width: 100%; border-collapse: collapse; margin: var(--relish-space-2) 0; }
.orders__table th[b-a7b9ufhmdd],
.orders__table td[b-a7b9ufhmdd] {
    text-align: left;
    padding: var(--relish-space-2) var(--relish-space-3);
    border-bottom: 1px solid var(--relish-border);
    font-size: var(--relish-fs-13);
    vertical-align: middle;
}
.orders__table th[b-a7b9ufhmdd] {
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--relish-ink-faint);
}
.orders__table tr:last-child td[b-a7b9ufhmdd] { border-bottom: none; }

.stepper[b-a7b9ufhmdd] { display: inline-flex; align-items: center; gap: var(--relish-space-2); }
.step[b-a7b9ufhmdd] {
    width: 28px; height: 28px;
    border-radius: var(--relish-radius-control);
    border: 1px solid var(--relish-border);
    background: var(--relish-surface); color: var(--relish-ink);
    font-size: 15px; line-height: 1; cursor: pointer;
}
.step:hover[b-a7b9ufhmdd] { border-color: var(--relish-herb); color: var(--relish-herb-deep); }
.step-qty[b-a7b9ufhmdd] { min-width: 20px; text-align: center; font-variant-numeric: tabular-nums; font-weight: 600; }

/* chef-adjustment banner + original-order disclosure */
.orders__adjusted-banner[b-a7b9ufhmdd] {
    background: var(--relish-herb-wash);
    border: 1px solid var(--relish-herb);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-2) var(--relish-space-3);
    font-size: var(--relish-fs-13);
    margin-bottom: var(--relish-space-2);
}
.orders__original[b-a7b9ufhmdd] { margin-bottom: var(--relish-space-3); font-size: var(--relish-fs-13); color: var(--relish-ink-soft); }
.orders__original ul[b-a7b9ufhmdd] { margin: var(--relish-space-1) 0 0; padding-left: 1.2em; }

/* chef-entered charge entry */
.orders__charge-entry[b-a7b9ufhmdd] { margin-top: var(--relish-space-3); }
.orders__charge-row[b-a7b9ufhmdd] { display: flex; align-items: center; gap: 4px; }
.orders__charge-cur[b-a7b9ufhmdd] { color: var(--relish-ink-soft); font-weight: 600; }
.orders__charge-actions[b-a7b9ufhmdd] { display: flex; align-items: center; gap: var(--relish-space-2); margin-top: var(--relish-space-2); }

/* Bill by meal price */
.orders__bill-table[b-a7b9ufhmdd] { width: 100%; border-collapse: collapse; margin: var(--relish-space-2) 0 var(--relish-space-3); font-size: var(--relish-fs-13); }
.orders__bill-table td[b-a7b9ufhmdd] { padding: 4px 0; border-bottom: 1px solid var(--relish-border); }
.orders__bill-sub td[b-a7b9ufhmdd] { font-weight: 600; border-bottom: none; }
.orders__bill-total[b-a7b9ufhmdd] { margin-top: var(--relish-space-3); }
/* /Components/Pages/Admin/Production.razor.rz.scp.css */
/* Production (/admin/production) — round-2 station kanban. Shared primitives
   (header, chips, count pills, status, buttons) live in relish-r2.css; this file
   only lays out the three-station board and its task cards. Tokens only. */

.prod[b-2xcg0vq4tl] { max-width: 1240px; }

/* session picker sits in the r2 header actions */
.prod__picker[b-2xcg0vq4tl] { cursor: pointer; }
.prod__picker i[b-2xcg0vq4tl] { color: var(--relish-ink-faint); }
.prod__picker select[b-2xcg0vq4tl] { min-width: 240px; cursor: pointer; }
.prod__picker:focus-within[b-2xcg0vq4tl] { border-color: var(--relish-herb); }

/* error + empty-board states */
.prod__error[b-2xcg0vq4tl] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
    background: var(--relish-coral-wash);
    color: var(--relish-ink);
    border: 1px solid var(--relish-coral);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4);
    margin-bottom: var(--relish-space-4);
    font-size: var(--relish-fs-14);
}

.prod__blank[b-2xcg0vq4tl] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--relish-space-3);
    padding: var(--relish-space-14) var(--relish-space-5);
    text-align: center;
    color: var(--relish-ink-faint);
    background: var(--relish-card);
    border: 1px dashed var(--relish-border);
    border-radius: var(--relish-radius-card);
}
.prod__blank i[b-2xcg0vq4tl] { font-size: 26px; color: var(--relish-herb-light); }
.prod__blank p[b-2xcg0vq4tl] { margin: 0; font-size: var(--relish-fs-14); color: var(--relish-ink-soft); }

/* ------------------------------------------------------------ station board */
.prod__board[b-2xcg0vq4tl] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.prod__col[b-2xcg0vq4tl] {
    background: var(--relish-card);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    padding: var(--relish-space-3);
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-2);
    min-width: 0;
}

.prod__col-head[b-2xcg0vq4tl] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
    padding: 4px 6px 10px;
    border-bottom: 1px solid var(--relish-border);
}
.prod__glyph[b-2xcg0vq4tl] { font-size: 16px; line-height: 1; }
.prod__col-name[b-2xcg0vq4tl] {
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-16);
    font-weight: 500;
    color: var(--relish-ink);
    flex: 1;
    min-width: 0;
}

.prod__tasks[b-2xcg0vq4tl] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.prod__empty[b-2xcg0vq4tl] {
    margin: 0;
    padding: var(--relish-space-5) var(--relish-space-3);
    text-align: center;
    color: var(--relish-ink-faint);
    font-size: var(--relish-fs-13);
    line-height: 1.4;
}

/* ------------------------------------------------------------- task card */
.prod__task[b-2xcg0vq4tl] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 11px;
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    box-shadow: var(--relish-elevation-1);
    cursor: pointer;
    min-width: 0;
}
.prod__task-body[b-2xcg0vq4tl] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 1px;
}
.prod__task-label[b-2xcg0vq4tl] {
    font-size: var(--relish-fs-13);
    font-weight: 600;
    color: var(--relish-ink);
    line-height: 1.25;
    word-break: break-word;
}
.prod__task.is-done .prod__task-label[b-2xcg0vq4tl] {
    text-decoration: line-through;
    color: var(--relish-ink-faint);
    font-weight: 500;
}

.prod__task-note[b-2xcg0vq4tl] {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    font-size: var(--relish-fs-12);
    color: var(--relish-coral);
    font-style: italic;
    line-height: 1.35;
}

/* the ~17px kitchen-board checkbox: herb fill + ✓ when ticked */
.prod__check[b-2xcg0vq4tl] {
    appearance: none;
    -webkit-appearance: none;
    width: 17px;
    height: 17px;
    margin: 0;
    flex-shrink: 0;
    border: 1.5px solid var(--relish-border);
    border-radius: 5px;
    background: var(--relish-surface);
    cursor: pointer;
    display: inline-grid;
    place-content: center;
    transition: background .12s ease, border-color .12s ease;
}
.prod__check[b-2xcg0vq4tl]::after {
    content: "✓";
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    transform: scale(0);
    transition: transform .12s ease;
}
.prod__check:checked[b-2xcg0vq4tl] {
    background: var(--relish-herb);
    border-color: var(--relish-herb);
}
.prod__check:checked[b-2xcg0vq4tl]::after { transform: scale(1); }
.prod__check:focus-visible[b-2xcg0vq4tl] { outline: 2px solid var(--relish-herb); outline-offset: 2px; }

/* quantity pill riding the card */
.prod__qty[b-2xcg0vq4tl] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 22px;
    padding: 0 8px;
    border-radius: var(--relish-radius-pill);
    background: var(--relish-herb-wash);
    color: var(--relish-herb);
    font-size: var(--relish-fs-13);
    font-weight: 700;
    line-height: 1;
}
.prod__qty--amt[b-2xcg0vq4tl] {
    background: var(--relish-gold-wash);
    color: #9a6a1f;
    font-weight: 600;
    font-size: var(--relish-fs-12);
    letter-spacing: .01em;
}

/* -------------------------------------------------------- pack household card */
.prod__pack[b-2xcg0vq4tl] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 11px 12px;
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    box-shadow: var(--relish-elevation-1);
    min-width: 0;
}
.prod__pack-head[b-2xcg0vq4tl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--relish-space-2);
}
.prod__pack-name[b-2xcg0vq4tl] {
    font-size: var(--relish-fs-14);
    font-weight: 600;
    color: var(--relish-ink);
    min-width: 0;
    word-break: break-word;
}
.prod__pack-addr[b-2xcg0vq4tl] {
    margin: 0;
    font-size: var(--relish-fs-12);
    color: var(--relish-ink-soft);
    line-height: 1.35;
}
.prod__pack-addr i[b-2xcg0vq4tl] { color: var(--relish-ink-faint); margin-right: 3px; }
.prod__pack-ordernote[b-2xcg0vq4tl] {
    margin: 0;
    font-size: var(--relish-fs-12);
    color: var(--relish-ink);
    background: var(--relish-card);
    border-radius: var(--relish-radius-control);
    padding: 5px 8px;
    line-height: 1.35;
}
.prod__pack-ordernote i[b-2xcg0vq4tl] { color: var(--relish-gold); margin-right: 3px; }

.prod__pack-fulfil[b-2xcg0vq4tl] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--relish-space-2);
    flex-wrap: wrap;
    padding: 6px 0 2px;
    border-top: 1px solid var(--relish-border);
}

.prod__pack-items[b-2xcg0vq4tl] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
/* item rows inside a pack card sit on the raised-card tint, not white-on-white;
   only the checkbox toggles them, so the whole row isn't a click target */
.prod__task--pack[b-2xcg0vq4tl] {
    background: var(--relish-card);
    box-shadow: none;
    padding: 8px 9px;
    cursor: default;
}

/* -------------------------------------------------------------- responsive */
/* In-home service checklist (main's feature, grafted into the pack card) */
.prod__checklist[b-2xcg0vq4tl] { margin: 2px 0; font-size: var(--relish-fs-13); }
.prod__checklist-summary[b-2xcg0vq4tl] { cursor: pointer; color: var(--relish-ink-soft); display: flex; align-items: center; gap: 6px; }
.prod__checklist-summary i[b-2xcg0vq4tl] { color: var(--relish-herb); }
.prod__checklist-count[b-2xcg0vq4tl] { margin-left: auto; font-variant-numeric: tabular-nums; font-weight: 600; color: var(--relish-herb); }
.prod__checklist-items[b-2xcg0vq4tl] { list-style: none; margin: var(--relish-space-2) 0 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.prod__checklist-step[b-2xcg0vq4tl] { display: flex; align-items: center; gap: 8px; }
.prod__checklist-step .is-done[b-2xcg0vq4tl] { text-decoration: line-through; color: var(--relish-ink-soft); }

/* -------------------------------------------------------------- responsive */
@media (max-width: 980px) {
    .prod__board[b-2xcg0vq4tl] { grid-template-columns: 1fr; }
}

.prod__mode[b-2xcg0vq4tl] { display: inline-flex; gap: 4px; }
.prod__weeknav[b-2xcg0vq4tl] { display: inline-flex; align-items: center; gap: 8px; }
.prod__weeklabel[b-2xcg0vq4tl] { font-weight: 600; }
.prod__weekpick[b-2xcg0vq4tl] { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; margin: 0 0 14px; font-size: 13.5px; }
.prod__weekpick-label[b-2xcg0vq4tl] { font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--relish-ink-faint); font-weight: 600; }
.prod__weekpick-item[b-2xcg0vq4tl] { display: inline-flex; align-items: center; gap: 6px; }
/* /Components/Pages/Admin/Scheduler.razor.rz.scp.css */
/* Scheduler (/admin/scheduler) — round-2 lifecycle kanban.
   Shared primitives (page header, chips, buttons, status dots, grip, count pill)
   live in relish-r2.css; this file only lays out the page-specific pieces:
   the offering filter row, the three-lane board + cards, the vacation table,
   and the offering-editor sheet. Color comes only from --relish-* tokens. */

.sched[b-a9e6wo6547] { display: flex; flex-direction: column; }

/* ---------------------------------------------------------------- error alert */
.sched__error[b-a9e6wo6547] {
    background: var(--relish-coral-wash);
    color: var(--relish-ink);
    border: 1px solid var(--relish-coral);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4);
    margin-bottom: var(--relish-space-4);
    font-size: var(--relish-fs-14);
}

.sched__muted[b-a9e6wo6547] { color: var(--relish-ink-soft); font-size: var(--relish-fs-13); margin: 0; }

/* ---------------------------------------------------------------- offering filter */
.sched__filter[b-a9e6wo6547] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
    flex-wrap: wrap;
    margin-bottom: var(--relish-space-5);
}
.sched__filter-label[b-a9e6wo6547] {
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: .1em;
    font-weight: 600;
    color: var(--relish-ink-faint);
    margin-right: 2px;
}
.sched__offerings[b-a9e6wo6547] { display: flex; gap: var(--relish-space-2); flex-wrap: wrap; }

.offering[b-a9e6wo6547] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    padding: 7px 13px;
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-pill);
    cursor: pointer;
    text-align: left;
    font-family: var(--relish-font-body);
}
.offering:hover[b-a9e6wo6547] { border-color: var(--relish-herb-light); }
.offering.is-selected[b-a9e6wo6547] {
    background: var(--relish-herb-wash);
    border-color: var(--relish-herb);
}
.offering__name[b-a9e6wo6547] { font-weight: 600; font-size: 13px; color: var(--relish-ink); line-height: 1.2; }
.offering.is-selected .offering__name[b-a9e6wo6547] { color: var(--relish-herb-deep); }
.offering__meta[b-a9e6wo6547] { font-size: 11px; color: var(--relish-ink-faint); line-height: 1.2; }

/* ---------------------------------------------------------------- board + lanes */
.sched__board[b-a9e6wo6547] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
    margin-bottom: var(--relish-space-6);
}

.sched__lane[b-a9e6wo6547] {
    background: var(--relish-card);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.sched__lane-head[b-a9e6wo6547] {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--relish-border);
}
.sched__lane-status[b-a9e6wo6547] {
    color: var(--relish-ink);
    font-size: var(--relish-fs-14);
    font-weight: 600;
    letter-spacing: .02em;
}
.sched__lane-head .r2-count-pill[b-a9e6wo6547] { margin-left: auto; }
.sched__lane-body[b-a9e6wo6547] {
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.sched__lane-empty[b-a9e6wo6547] { font-size: 12.5px; color: var(--relish-ink-faint); margin: 2px 2px 0; }

/* ---------------------------------------------------------------- session card */
.sched__card[b-a9e6wo6547] {
    position: relative;
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: 10px;
    padding: 13px 14px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    box-shadow: 0 1px 2px rgba(38, 35, 30, .04);
}
.sched__grip[b-a9e6wo6547] { position: absolute; top: 11px; right: 12px; }
.sched__card-name[b-a9e6wo6547] {
    font-size: var(--relish-fs-14);
    font-weight: 600;
    color: var(--relish-ink);
    line-height: 1.25;
    padding-right: 20px;
}
.sched__card-meta[b-a9e6wo6547] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    color: var(--relish-ink-faint);
}
.sched__card-actions[b-a9e6wo6547] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 1px;
}
/* subordinate lifecycle actions read quieter than the primary transition */
.sched__act-muted[b-a9e6wo6547] { color: var(--relish-ink-soft); }

/* dashed add-session affordance at the foot of the Draft lane */
.sched__add-card[b-a9e6wo6547] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    padding: 14px;
    border: 1.5px dashed var(--relish-border);
    border-radius: 10px;
    background: transparent;
    color: var(--relish-ink-faint);
    font-family: var(--relish-font-body);
    font-size: 12.5px;
    font-weight: 600;
    cursor: pointer;
    transition: border-color .12s ease, color .12s ease;
}
.sched__add-card:hover[b-a9e6wo6547] { border-color: var(--relish-herb); color: var(--relish-herb); }

/* ---------------------------------------------------------------- vacation block */
.sched__vacation[b-a9e6wo6547] { }
.sched__vacation-title[b-a9e6wo6547] {
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-18);
    font-weight: 500;
    margin: 0 0 var(--relish-space-1);
    color: var(--relish-ink);
}
.sched__vac-table[b-a9e6wo6547] { width: 100%; border-collapse: collapse; margin-top: var(--relish-space-3); }
.sched__vac-table td[b-a9e6wo6547] {
    padding: var(--relish-space-2) var(--relish-space-3);
    border-bottom: 1px solid var(--relish-border);
    font-size: var(--relish-fs-14);
    vertical-align: middle;
}
.sched__vac-table tr:last-child td[b-a9e6wo6547] { border-bottom: none; }
.sched__vac-actions[b-a9e6wo6547] { text-align: right; white-space: nowrap; }
.sched__vac-add .field__input[b-a9e6wo6547] { width: auto; display: inline-block; }
@media (max-width: 640px) { .sched__vac-table[b-a9e6wo6547] { min-width: 480px; } }

/* ---------------------------------------------------------------- fields */
.field[b-a9e6wo6547] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: var(--relish-space-4);
    font-size: var(--relish-fs-13);
    color: var(--relish-ink-soft);
}
.field__input[b-a9e6wo6547] {
    padding: var(--relish-space-2) var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    background: var(--relish-surface);
    color: var(--relish-ink);
    font-size: var(--relish-fs-14);
    font-family: inherit;
}
.field__input:focus[b-a9e6wo6547] { outline: 2px solid var(--relish-herb); outline-offset: 1px; }

/* ---------------------------------------------------------------- editor sheet */
.sheet-scrim[b-a9e6wo6547] { position: fixed; inset: 0; background: rgba(31, 36, 33, 0.35); z-index: 40; }
.sheet[b-a9e6wo6547] {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: min(420px, 92vw);
    background: var(--relish-surface);
    box-shadow: var(--relish-elevation-1);
    z-index: 50;
    padding: var(--relish-space-6);
    overflow-y: auto;
}
.sheet__close[b-a9e6wo6547] { position: absolute; top: var(--relish-space-4); right: var(--relish-space-4); background: transparent; border: none; font-size: var(--relish-fs-18); color: var(--relish-ink-soft); cursor: pointer; }
.sheet__title[b-a9e6wo6547] { font-family: var(--relish-font-display); font-size: var(--relish-fs-22); font-weight: 500; margin: 0 0 var(--relish-space-4); color: var(--relish-ink); }
.sheet__error[b-a9e6wo6547] { background: var(--relish-coral-wash); color: var(--relish-ink); border: 1px solid var(--relish-coral); border-radius: var(--relish-radius-control); padding: var(--relish-space-2) var(--relish-space-3); font-size: var(--relish-fs-13); }
.sheet__actions[b-a9e6wo6547] { display: flex; gap: var(--relish-space-3); margin-top: var(--relish-space-4); }

@media (max-width: 900px) {
    .sched__board[b-a9e6wo6547] { grid-template-columns: 1fr; }
}

.sched__check[b-a9e6wo6547] { display: flex; align-items: flex-start; gap: 8px; font-size: 13px; color: var(--relish-ink-soft); }
.sched__check input[b-a9e6wo6547] { margin-top: 3px; }

/* ---- Week plan (all services at once) ---- */
.sched__plan[b-a9e6wo6547] { padding: 16px 18px 12px; margin: 0 0 22px; }
.sched__plan-head[b-a9e6wo6547] { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.sched__plan-nav[b-a9e6wo6547] { display: flex; align-items: center; gap: 8px; }
.sched__plan-title[b-a9e6wo6547] { margin: 0; font-family: var(--relish-font-display); font-weight: 500; font-size: 22px; }
.sched__lanes[b-a9e6wo6547] { display: grid; gap: 8px; }
.sched__laneRow[b-a9e6wo6547] { display: grid; grid-template-columns: 220px 1fr; gap: 14px; padding: 10px 0; border-top: 1px solid var(--relish-border); align-items: start; }
.sched__laneRow.is-gap[b-a9e6wo6547] { background: var(--relish-coral-wash); border-radius: 8px; padding: 10px 10px; border-top: 0; }
.sched__laneRow-service[b-a9e6wo6547] { display: flex; flex-direction: column; gap: 2px; }
.sched__laneRow-name[b-a9e6wo6547] { background: none; border: 0; padding: 0; text-align: left; font: inherit; font-weight: 600; color: var(--relish-ink); cursor: pointer; }
.sched__laneRow-name:hover[b-a9e6wo6547] { color: var(--relish-herb); text-decoration: underline; }
.sched__laneRow-slots[b-a9e6wo6547] { display: flex; flex-wrap: wrap; gap: 10px; }
.sched__slot[b-a9e6wo6547] { background: var(--relish-surface); border: 1px solid var(--relish-border); border-radius: 10px; padding: 10px 12px; min-width: 300px; flex: 1 1 300px; display: grid; gap: 8px; }
.sched__slot--gap[b-a9e6wo6547] { display: flex; align-items: center; gap: 10px; background: transparent; border-style: dashed; color: var(--relish-ink-soft); }
.sched__slot-top[b-a9e6wo6547] { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.sched__slot-actions[b-a9e6wo6547] { display: flex; gap: 6px; flex-wrap: wrap; }
.sched__progress[b-a9e6wo6547] { display: grid; gap: 4px; }
.sched__progress-bar[b-a9e6wo6547] { height: 6px; border-radius: 999px; background: var(--relish-herb-wash); overflow: hidden; }
.sched__progress-fill[b-a9e6wo6547] { height: 100%; background: var(--relish-herb); border-radius: 999px; }
.sched__progress-label[b-a9e6wo6547] { font-size: 12px; color: var(--relish-ink-soft); font-variant-numeric: tabular-nums; }
.sched__section-title[b-a9e6wo6547] { font-family: var(--relish-font-display); font-weight: 500; font-size: 20px; margin: 8px 0 8px; }
@media (max-width: 760px) { .sched__laneRow[b-a9e6wo6547] { grid-template-columns: 1fr; } }

/* Staples panel */
.sched__staples[b-a9e6wo6547] { margin-bottom: var(--relish-space-4); }
.sched__staple-list[b-a9e6wo6547] { margin-top: var(--relish-space-3); }
.sched__staple[b-a9e6wo6547] { display: inline-flex; align-items: center; gap: 6px; }
.sched__chip-x[b-a9e6wo6547] {
  background: none; border: 0; cursor: pointer; color: inherit; font-size: 15px; line-height: 1;
  padding: 0 2px; opacity: .7;
}
.sched__chip-x:hover[b-a9e6wo6547] { opacity: 1; }
.sched__staple-add[b-a9e6wo6547] { display: flex; gap: var(--relish-space-2); align-items: center; margin-top: var(--relish-space-3); }
.sched__staple-add .field__input[b-a9e6wo6547] { max-width: 380px; }

/* Service configuration: staples + billing side by side */
/* minmax(0, 1fr) so a wide <select> inside a card can't blow the track past the
   viewport — the track shrinks and the control caps to it instead. */
.sched__config[b-a9e6wo6547] { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--relish-space-4); margin-bottom: var(--relish-space-4); }
.sched__config > section[b-a9e6wo6547] { margin-bottom: 0; }
@media (max-width: 1100px) { .sched__config[b-a9e6wo6547] { grid-template-columns: minmax(0, 1fr); } }
.sched__billing .field[b-a9e6wo6547] { margin-top: var(--relish-space-3); }
/* /Components/Pages/Admin/Settings.razor.rz.scp.css */
/* Brand Settings (/admin/settings) — round-2 operator console.
   Primitives (header, card, buttons, chips, eyebrow) live in relish-r2.css;
   this file only positions the settings-specific blocks: the two-column rail,
   the swatch grid, and the typography specimen. Color comes from tokens only. */

.settings[b-st124ix5ko] { max-width: 1040px; }

/* ---------------------------------------------------------------- banners */
.settings__ok[b-st124ix5ko],
.settings__error[b-st124ix5ko] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4);
    margin-bottom: var(--relish-space-4);
    font-size: var(--relish-fs-14);
    font-weight: 500;
}
.settings__ok[b-st124ix5ko] {
    background: var(--relish-herb-wash);
    color: var(--relish-herb-deep);
    border: 1px solid var(--relish-herb);
}
.settings__error[b-st124ix5ko] {
    background: var(--relish-coral-wash);
    color: var(--relish-ink);
    border: 1px solid var(--relish-coral);
}

/* ---------------------------------------------------------------- fields */
.field[b-st124ix5ko] { display: flex; flex-direction: column; gap: 6px; }
.field__label[b-st124ix5ko] { font-size: var(--relish-fs-13); font-weight: 600; color: var(--relish-ink); }
.field__hint[b-st124ix5ko] { color: var(--relish-ink-faint); font-weight: 400; font-size: var(--relish-fs-12); }
.field__input[b-st124ix5ko] {
    padding: 9px var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    background: var(--relish-surface);
    color: var(--relish-ink);
    font-size: var(--relish-fs-14);
    font-family: var(--relish-font-body);
    width: 100%;
}
.field__input:focus[b-st124ix5ko] {
    outline: 2px solid var(--relish-herb);
    outline-offset: 1px;
    border-color: var(--relish-herb);
}

/* ---------------------------------------------------------------- identity */
.set__identity[b-st124ix5ko] { margin-bottom: var(--relish-space-4); }
.set__identity-body[b-st124ix5ko] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--relish-space-4);
    padding: var(--relish-space-5);
}

/* ---------------------------------------------------------------- layout */
.set__grid[b-st124ix5ko] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: var(--relish-space-5);
    align-items: start;
}
.set__body[b-st124ix5ko] { padding: var(--relish-space-5); }

/* ---------------------------------------------------------------- swatches */
.set__swatches[b-st124ix5ko] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--relish-space-3);
}
.sw[b-st124ix5ko] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-3);
    padding: 10px var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    background: var(--relish-card);
}
.sw--ro[b-st124ix5ko] { border-style: dashed; }
.sw__chip[b-st124ix5ko] {
    width: 34px;
    height: 34px;
    flex: none;
    border-radius: 9px;
    border: 1px solid rgba(38, 35, 30, .14);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35);
}
.sw__meta[b-st124ix5ko] { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.sw__name[b-st124ix5ko] { font-size: var(--relish-fs-13); font-weight: 600; color: var(--relish-ink); }
.sw__token[b-st124ix5ko] {
    font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
    font-size: 11px;
    color: var(--relish-ink-faint);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.sw__hex[b-st124ix5ko] {
    flex: none;
    width: 84px;
    text-align: center;
    font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
    font-size: 12px;
    padding: 6px 8px;
    border-radius: var(--relish-radius-pill);
    border: 1px solid var(--relish-border);
    background: var(--relish-surface);
    color: var(--relish-ink-soft);
}
input.sw__hex:focus[b-st124ix5ko] {
    outline: 2px solid var(--relish-herb);
    outline-offset: 1px;
    border-color: var(--relish-herb);
}
.sw__hex--ro[b-st124ix5ko] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    background: transparent;
    color: var(--relish-ink-faint);
    text-transform: uppercase;
}

/* ---------------------------------------------------------------- typography */
.set__type[b-st124ix5ko] {
    margin-top: var(--relish-space-5);
    padding-top: var(--relish-space-5);
    border-top: 1px solid var(--relish-border);
}
.type[b-st124ix5ko] { display: flex; flex-direction: column; gap: var(--relish-space-3); margin-top: var(--relish-space-3); }
.type__row[b-st124ix5ko] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--relish-space-4);
}
.type__label[b-st124ix5ko] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.type__kind[b-st124ix5ko] {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700;
    color: var(--relish-ink-faint);
}
.type__face[b-st124ix5ko] { font-size: var(--relish-fs-14); font-weight: 600; color: var(--relish-ink); }
.type__sample[b-st124ix5ko] { text-align: right; color: var(--relish-ink); min-width: 0; }
.type__sample--display[b-st124ix5ko] {
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-22);
    line-height: 1.1;
}
.type__sample--body[b-st124ix5ko] {
    font-family: var(--relish-font-body);
    font-size: var(--relish-fs-14);
    color: var(--relish-ink-soft);
    max-width: 58%;
    line-height: 1.4;
}

/* ---------------------------------------------------------------- right rail */
.set__rail[b-st124ix5ko] {
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-4);
    position: sticky;
    top: var(--relish-space-4);
}
.set__note p[b-st124ix5ko] {
    margin: var(--relish-space-2) 0 0;
    font-size: var(--relish-fs-13);
    color: var(--relish-ink-soft);
    line-height: 1.5;
}
.set__note p i[b-st124ix5ko] { color: var(--relish-ink-faint); }
.set__reset[b-st124ix5ko] { width: 100%; }

/* live preview — driven by --pv-* set inline, falling back to live theme tokens */
.settings__preview[b-st124ix5ko] {
    background: var(--pv-bg, var(--relish-cream));
    padding: var(--relish-space-4);
}
.preview__card[b-st124ix5ko] {
    background: var(--pv-surface, var(--relish-surface));
    border-radius: var(--relish-radius-card);
    padding: var(--relish-space-4);
    box-shadow: var(--relish-elevation-1);
    text-align: center;
}
.preview__brandmark[b-st124ix5ko] {
    width: 44px; height: 44px; margin: 0 auto var(--relish-space-2);
    border-radius: 50%;
    background: var(--pv-primary, var(--relish-herb));
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700; font-size: var(--relish-fs-18);
    font-family: var(--relish-font-display);
}
.preview__name[b-st124ix5ko] {
    font-family: var(--pv-display, var(--relish-font-display));
    font-size: var(--relish-fs-18);
    color: var(--pv-primary-deep, var(--relish-herb-deep));
}
.preview__lead[b-st124ix5ko] { color: var(--relish-ink-soft); font-size: var(--relish-fs-12); margin: var(--relish-space-1) 0 var(--relish-space-3); }
.preview__cta[b-st124ix5ko] {
    background: var(--pv-primary, var(--relish-herb));
    color: #fff;
    border: none;
    border-radius: var(--relish-radius-pill);
    padding: var(--relish-space-2) var(--relish-space-3);
    font-weight: 600;
    font-size: var(--relish-fs-13);
    cursor: default;
}
.preview__accent[b-st124ix5ko] {
    display: inline-block;
    margin-left: var(--relish-space-2);
    background: var(--pv-accent, var(--relish-coral));
    color: #fff;
    border-radius: var(--relish-radius-pill);
    padding: 2px 10px;
    font-size: var(--relish-fs-12);
    font-weight: 600;
}

/* ---------------------------------------------------------------- responsive */
@media (max-width: 860px) {
    .set__identity-body[b-st124ix5ko] { grid-template-columns: 1fr; }
    .set__grid[b-st124ix5ko] { grid-template-columns: 1fr; }
    .set__rail[b-st124ix5ko] { position: static; }
    .set__swatches[b-st124ix5ko] { grid-template-columns: 1fr; }
}
/* /Components/Pages/Admin/TaxonomyWorkspace.razor.rz.scp.css */
/* Catalog Taxonomy (/admin/taxonomy) — round-2 operator console.
   Shared primitives (page header, cards, chips, buttons, grips, count pills,
   toggle language) live in relish-r2.css; this file only lays out the
   taxonomy-specific split, row cards, group blocks, editable label chips,
   toggle switches, and dashed add rows. Color comes only from --relish-* tokens. */

.tax[b-cngxwtgrx0] { max-width: 1120px; }

/* two-column split: meal types (fixed-ish) + label groups (fluid) */
.tax__split[b-cngxwtgrx0] {
    grid-template-columns: minmax(0, 380px) minmax(0, 1fr);
    gap: var(--relish-space-5);
    margin-bottom: var(--relish-space-5);
}

.tax__card[b-cngxwtgrx0] { display: flex; flex-direction: column; }
.tax__card-body[b-cngxwtgrx0] { padding: var(--relish-space-4); }
.tax__card--wide[b-cngxwtgrx0] { margin-bottom: var(--relish-space-5); }

.tax__hint[b-cngxwtgrx0] {
    font-size: var(--relish-fs-13);
    color: var(--relish-ink-faint);
    white-space: nowrap;
}

/* error banner */
.tax__error[b-cngxwtgrx0] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
    background: var(--relish-coral-wash);
    color: #8f3a24;
    border: 1px solid #eccbbe;
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4);
    margin-bottom: var(--relish-space-4);
    font-size: var(--relish-fs-14);
}

/* -------------------------------------------------- row cards (types, scores) */
.tax__list[b-cngxwtgrx0] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-2);
}
.tax__list--wrap[b-cngxwtgrx0] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.tax__row[b-cngxwtgrx0] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-3);
    padding: 12px;
    border: 1px solid var(--relish-border);
    border-radius: 10px;
    background: var(--relish-surface);
}

.tax__row-name[b-cngxwtgrx0] {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    outline: none;
    font-family: var(--relish-font-body);
    font-size: var(--relish-fs-14);
    font-weight: 600;
    color: var(--relish-ink);
    padding: 4px 2px;
}
.tax__row-name[b-cngxwtgrx0]::placeholder { color: var(--relish-ink-faint); font-weight: 500; }
.tax__row-name:focus[b-cngxwtgrx0] { box-shadow: inset 0 -1px 0 0 var(--relish-herb-light); }

.tax__row-actions[b-cngxwtgrx0] { display: flex; gap: 6px; flex-shrink: 0; }

/* dashed "add …" row */
.tax__add[b-cngxwtgrx0] {
    border-style: dashed;
    background: transparent;
}
.tax__add-plus[b-cngxwtgrx0] {
    color: var(--relish-herb);
    font-weight: 700;
    font-size: 15px;
    line-height: 1;
    flex-shrink: 0;
}

.tax__num[b-cngxwtgrx0] {
    width: 3.6rem;
    flex-shrink: 0;
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    background: var(--relish-surface);
    padding: 6px 8px;
    font: inherit;
    font-size: var(--relish-fs-13);
    color: var(--relish-ink-soft);
    text-align: center;
}

/* -------------------------------------------------- label group blocks */
.tax__groups[b-cngxwtgrx0] { display: flex; flex-direction: column; gap: var(--relish-space-3); }

.tax__group[b-cngxwtgrx0] {
    border: 1px solid var(--relish-border);
    border-radius: 10px;
    padding: var(--relish-space-3);
    background: var(--relish-card);
}

.tax__group-head[b-cngxwtgrx0] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
    flex-wrap: wrap;
    margin-bottom: var(--relish-space-3);
}
.tax__group-name[b-cngxwtgrx0] {
    flex: 1;
    min-width: 120px;
    border: none;
    background: transparent;
    outline: none;
    font-family: var(--relish-font-body);
    font-size: var(--relish-fs-14);
    font-weight: 600;
    color: var(--relish-ink);
    padding: 4px 2px;
}
.tax__group-name:focus[b-cngxwtgrx0] { box-shadow: inset 0 -1px 0 0 var(--relish-herb-light); }
.tax__group-name--static[b-cngxwtgrx0] { flex: none; color: var(--relish-ink-soft); }
.tax__group-actions[b-cngxwtgrx0] { display: flex; gap: 6px; flex-shrink: 0; }

/* -------------------------------------------------- single-select toggle switch */
.tax__switch[b-cngxwtgrx0] {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    flex-shrink: 0;
    user-select: none;
}
.tax__switch input[b-cngxwtgrx0] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}
.tax__switch-slider[b-cngxwtgrx0] {
    position: relative;
    width: 34px;
    height: 18px;
    border-radius: var(--relish-radius-pill);
    background: var(--relish-border);
    transition: background .15s ease;
    flex-shrink: 0;
}
.tax__switch-slider[b-cngxwtgrx0]::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--relish-surface);
    box-shadow: 0 1px 2px rgba(38, 35, 30, .25);
    transition: transform .15s ease;
}
.tax__switch input:checked + .tax__switch-slider[b-cngxwtgrx0] { background: var(--relish-herb); }
.tax__switch input:checked + .tax__switch-slider[b-cngxwtgrx0]::after { transform: translateX(16px); }
.tax__switch input:focus-visible + .tax__switch-slider[b-cngxwtgrx0] {
    outline: 2px solid var(--relish-herb-light);
    outline-offset: 2px;
}
.tax__switch-text[b-cngxwtgrx0] {
    font-size: var(--relish-fs-12);
    color: var(--relish-ink-soft);
    font-weight: 500;
}

/* -------------------------------------------------- editable label chips */
.tax__chips[b-cngxwtgrx0] { margin-top: 2px; }

.tax__chip[b-cngxwtgrx0] { gap: 4px; padding-right: 8px; }

.tax__chip-input[b-cngxwtgrx0] {
    border: none;
    background: transparent;
    outline: none;
    font-family: var(--relish-font-body);
    font-size: 12px;
    font-weight: 500;
    color: var(--relish-herb);
    padding: 0;
    min-width: 3ch;
    field-sizing: content;
}
.tax__chip-input--muted[b-cngxwtgrx0] { color: var(--relish-ink-soft); }

.tax__chip-save[b-cngxwtgrx0],
.tax__chip .r2-chip__x[b-cngxwtgrx0] {
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    font-size: 11px;
    line-height: 1;
    color: var(--relish-herb);
    opacity: .5;
}
.tax__chip--neutral .tax__chip-save[b-cngxwtgrx0],
.tax__chip.r2-chip--neutral .tax__chip-save[b-cngxwtgrx0] { color: var(--relish-ink-soft); }
.tax__chip-save:hover[b-cngxwtgrx0] { opacity: 1; }
.tax__chip .r2-chip__x:hover[b-cngxwtgrx0] { opacity: 1; color: var(--relish-danger); }

/* -------------------------------------------------- add bars (labels / groups) */
.tax__addbar[b-cngxwtgrx0] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
    flex-wrap: wrap;
    padding: 10px 12px;
    border: 1px dashed var(--relish-border);
    border-radius: 10px;
    margin-top: var(--relish-space-3);
}
.tax__addbar .tax__row-name[b-cngxwtgrx0] { flex: 1 1 140px; }

.tax__select[b-cngxwtgrx0] {
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    background: var(--relish-surface);
    padding: 7px 10px;
    font: inherit;
    font-size: var(--relish-fs-13);
    color: var(--relish-ink);
    min-width: 0;
}

@media (max-width: 860px) {
    .tax__split[b-cngxwtgrx0] { grid-template-columns: minmax(0, 1fr); }
}
/* /Components/Pages/CustomerHistory.razor.rz.scp.css */
.head[b-r35rjh2z70] { padding: var(--relish-space-4) 0; }

.back[b-r35rjh2z70] {
    color: var(--relish-herb);
    text-decoration: none;
    font-size: var(--relish-fs-14);
    font-weight: 600;
}

.head h1[b-r35rjh2z70] {
    margin: var(--relish-space-2) 0 0;
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-36);
    color: var(--relish-ink);
}

.rows[b-r35rjh2z70] { list-style: none; padding: 0; margin: 0 0 var(--relish-space-4); }

.rows li[b-r35rjh2z70] {
    background: var(--relish-card);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    margin-bottom: var(--relish-space-2);
    box-shadow: var(--relish-elevation-1);
}

.rows li.active[b-r35rjh2z70] { border-color: var(--relish-herb-light); }

.row-open[b-r35rjh2z70] {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--relish-space-3);
    padding: var(--relish-space-3) var(--relish-space-4);
    min-height: var(--relish-touch-min);
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
}

.name[b-r35rjh2z70] { font-weight: 600; color: var(--relish-ink); }
.muted[b-r35rjh2z70] { color: var(--relish-ink-soft); }
.small[b-r35rjh2z70] { font-size: var(--relish-fs-13); }

.pill[b-r35rjh2z70] {
    font-size: var(--relish-fs-12);
    font-weight: 600;
    padding: 2px var(--relish-space-3);
    border-radius: var(--relish-radius-pill);
    white-space: nowrap;
}

.pill.placed[b-r35rjh2z70] { background: var(--relish-herb); color: var(--relish-on-brand); }
.pill.open[b-r35rjh2z70] { background: var(--relish-herb-wash); color: var(--relish-herb-deep); }
.pill.closed[b-r35rjh2z70] { background: var(--relish-coral-wash); color: var(--relish-coral); }

.card.detail[b-r35rjh2z70] {
    background: var(--relish-card);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    padding: var(--relish-space-5);
    box-shadow: var(--relish-elevation-1);
}

.card.detail h2[b-r35rjh2z70] {
    margin: 0 0 var(--relish-space-1);
    font-family: var(--relish-font-display);
    color: var(--relish-herb-deep);
}

.lines[b-r35rjh2z70] { list-style: none; padding: 0; margin: var(--relish-space-3) 0 0; }

.lines li[b-r35rjh2z70] {
    display: flex;
    justify-content: space-between;
    padding: var(--relish-space-2) 0;
    border-top: 1px solid var(--relish-border);
}

.adjusted-note[b-r35rjh2z70] {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 6px;
    border-radius: var(--relish-radius-pill, 999px);
    background: var(--relish-herb-wash, var(--relish-mint-wash, #eef7ee));
    color: var(--relish-primary-deep, var(--relish-ink));
    font-size: var(--relish-fs-12, 0.72rem);
    font-weight: 600;
}

.total[b-r35rjh2z70] { margin: var(--relish-space-3) 0 0; text-align: right; }
/* /Components/Pages/CustomerHome.razor.rz.scp.css */
.greeting[b-kbqbkd6agn] {
    padding: var(--relish-space-4) 0 var(--relish-space-5);
}

.eyebrow[b-kbqbkd6agn] {
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: var(--relish-fs-12);
    color: var(--relish-herb);
    font-weight: 600;
}

.greeting h1[b-kbqbkd6agn] {
    margin: var(--relish-space-1) 0 0;
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-36);
    line-height: 1.1;
    color: var(--relish-ink);
}

.card[b-kbqbkd6agn] {
    background: var(--relish-card);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    padding: var(--relish-space-5);
    margin-bottom: var(--relish-space-4);
    box-shadow: var(--relish-elevation-1);
}

.card h2[b-kbqbkd6agn] {
    margin: 0 0 var(--relish-space-3);
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-18);
    color: var(--relish-herb-deep);
}

/* Current-cycle hero — the dominant card. */
.current[b-kbqbkd6agn] {
    background: var(--relish-herb-wash);
    border-color: var(--relish-herb-light);
}

/* Kind + status share a row above the title, so the title never wraps to make room
   for the status chip. */
.current-head[b-kbqbkd6agn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--relish-space-3);
    margin-bottom: var(--relish-space-2);
}

.current-head .kind[b-kbqbkd6agn] {
    margin-right: 0;
}

.service[b-kbqbkd6agn] {
    margin: 0;
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-28);
    color: var(--relish-ink);
    line-height: 1.1;
}

.dates[b-kbqbkd6agn] {
    margin: var(--relish-space-1) 0 0;
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-15);
}

.open-note[b-kbqbkd6agn] {
    margin: var(--relish-space-4) 0 0;
    color: var(--relish-herb-deep);
    font-weight: 600;
    font-size: var(--relish-fs-14);
}

.status[b-kbqbkd6agn] {
    flex: 0 0 auto;
    font-size: var(--relish-fs-13);
    font-weight: 600;
    padding: var(--relish-space-1) var(--relish-space-3);
    border-radius: var(--relish-radius-pill);
    white-space: nowrap;
}

.status.not-started[b-kbqbkd6agn] { background: var(--relish-surface); color: var(--relish-ink-soft); border: 1px solid var(--relish-border); }
.status.in-progress[b-kbqbkd6agn] { background: var(--relish-coral-wash); color: var(--relish-coral); }
.status.placed[b-kbqbkd6agn] { background: var(--relish-herb); color: var(--relish-on-brand); }

.cta[b-kbqbkd6agn] {
    display: inline-block;
    margin-top: var(--relish-space-4);
    min-height: var(--relish-touch-min);
    line-height: calc(var(--relish-touch-min) - 2px);
    padding: 0 var(--relish-space-5);
    background: var(--relish-herb-deep);
    color: var(--relish-on-brand);
    text-decoration: none;
    font-weight: 600;
    border-radius: var(--relish-radius-pill);
}

.cta:hover[b-kbqbkd6agn] {
    filter: brightness(1.08);
}

.row-link[b-kbqbkd6agn] {
    text-decoration: none;
    color: inherit;
    min-width: 0;
}

.row-link:hover .name[b-kbqbkd6agn] {
    color: var(--relish-herb);
}

/* "Also open" rows: give each element its own line so nothing wraps mid-phrase in a
   tight single row. Each open session reads top-to-bottom: kind · name · dates ·
   (place) · status. */
.rows.stacked li[b-kbqbkd6agn] {
    display: block;
    padding: var(--relish-space-4) 0;
}

.rows.stacked .row-link[b-kbqbkd6agn] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--relish-space-1);
}

.rows.stacked .kind[b-kbqbkd6agn] {
    margin-right: 0;
}

.rows.stacked .status[b-kbqbkd6agn] {
    margin-top: var(--relish-space-1);
}

.empty p[b-kbqbkd6agn] {
    margin: 0;
    color: var(--relish-ink-soft);
}

.rows[b-kbqbkd6agn] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rows li[b-kbqbkd6agn] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--relish-space-3);
    padding: var(--relish-space-3) 0;
    border-bottom: 1px solid var(--relish-border);
}

.rows li:last-child[b-kbqbkd6agn] {
    border-bottom: 0;
}

.name[b-kbqbkd6agn] {
    font-weight: 600;
    color: var(--relish-ink);
}

.muted[b-kbqbkd6agn] {
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-14);
}

.unmapped[b-kbqbkd6agn] {
    margin-top: var(--relish-space-6);
    padding: var(--relish-space-5);
    background: var(--relish-coral-wash);
    border: 1px solid var(--relish-coral);
    border-radius: var(--relish-radius-card);
}

.unmapped h1[b-kbqbkd6agn] {
    margin: 0 0 var(--relish-space-2);
    font-family: var(--relish-font-display);
    color: var(--relish-ink);
}

.unmapped p[b-kbqbkd6agn] {
    margin: 0;
    color: var(--relish-ink);
}

/* Occasion-kind badge — distinguishes concurrent order contexts (Weekly / Event / …). */
.kind[b-kbqbkd6agn] {
    display: inline-block;
    margin-right: var(--relish-space-2);
    padding: 0.1rem 0.5rem;
    border-radius: var(--relish-radius-pill, 999px);
    font-size: var(--relish-fs-12, 0.72rem);
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    vertical-align: middle;
    background: var(--relish-ink-wash, #eee);
    color: var(--relish-ink-soft);
}

.kind-event[b-kbqbkd6agn] {
    background: var(--relish-coral-wash);
    color: var(--relish-coral-deep, var(--relish-coral));
}

.kind-private[b-kbqbkd6agn] {
    background: var(--relish-mint-wash, var(--relish-ink-wash, #eef));
    color: var(--relish-primary-deep, var(--relish-ink));
}

.place[b-kbqbkd6agn] {
    margin: 0.15rem 0 0;
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-14);
}

/* Chef's pick (Special Touch — Marcy's voice) */
.chefpick[b-kbqbkd6agn] { border-left: 4px solid var(--relish-herb, #6b8e4e); }
.chefpick-eyebrow[b-kbqbkd6agn] { margin: 0 0 4px; font-size: var(--relish-fs-12, 12px); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--relish-herb-deep, #4a6b34); }
.chefpick-name[b-kbqbkd6agn] { margin: 0 0 6px; font-family: var(--relish-font-display, inherit); font-size: var(--relish-fs-22, 22px); color: var(--relish-ink, #333); }
.chefpick-reason[b-kbqbkd6agn] { margin: 0 0 10px; font-style: italic; color: var(--relish-ink, #444); line-height: 1.5; }
.chefpick-link[b-kbqbkd6agn] { color: var(--relish-herb-deep, #4a6b34); font-weight: 600; text-decoration: none; font-size: var(--relish-fs-14, 14px); }

/* Memory cue (Special Touch — an established favorite that's back on the menu) */
.memorycue[b-kbqbkd6agn] { border-left: 4px solid var(--relish-berry, #a8577a); }
.memorycue-eyebrow[b-kbqbkd6agn] { margin: 0 0 4px; font-size: var(--relish-fs-12, 12px); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--relish-berry-deep, #7e3b58); }
.memorycue-text[b-kbqbkd6agn] { margin: 0 0 10px; font-style: italic; color: var(--relish-ink, #444); line-height: 1.5; }
.memorycue-link[b-kbqbkd6agn] { color: var(--relish-berry-deep, #7e3b58); font-weight: 600; text-decoration: none; font-size: var(--relish-fs-14, 14px); }
/* /Components/Pages/CustomerMessages.razor.rz.scp.css */
.head[b-18natp81u6] { display: flex; align-items: center; gap: var(--relish-space-3); margin-bottom: var(--relish-space-4); }
.head h1[b-18natp81u6] { font-family: var(--relish-font-display); font-size: var(--relish-fs-28); margin: 0; }
.back[b-18natp81u6], .link[b-18natp81u6] { color: var(--relish-primary); text-decoration: none; font-size: var(--relish-fs-14); }
.muted[b-18natp81u6] { color: var(--relish-ink-soft); }
.card[b-18natp81u6] { background: var(--relish-surface); border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); padding: var(--relish-space-4); margin-top: var(--relish-space-4); }
.card h2[b-18natp81u6] { font-family: var(--relish-font-display); font-size: var(--relish-fs-18); margin: 0 0 var(--relish-space-3); }

.msg-list[b-18natp81u6] { display: flex; flex-direction: column; gap: var(--relish-space-2); }
.msg-thread[b-18natp81u6] { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; width: 100%; background: var(--relish-surface); border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); padding: var(--relish-space-3); cursor: pointer; }
.msg-thread.is-unread[b-18natp81u6] { border-left: 3px solid var(--relish-primary); }
.msg-thread-subject[b-18natp81u6] { font-weight: 600; font-size: var(--relish-fs-14); }
.msg-thread-time[b-18natp81u6] { font-size: var(--relish-fs-12); color: var(--relish-ink-soft); }

.msg-new[b-18natp81u6] { display: flex; flex-direction: column; gap: var(--relish-space-2); }
.msg-input[b-18natp81u6] { width: 100%; padding: 8px 10px; border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); font-size: var(--relish-fs-14); font-family: inherit; }
.msg-error[b-18natp81u6] { color: var(--relish-coral); font-size: var(--relish-fs-13); margin: 0; }

.msg-subject[b-18natp81u6] { font-family: var(--relish-font-display); font-size: var(--relish-fs-20); margin: var(--relish-space-2) 0; }
.msg-stream[b-18natp81u6] { display: flex; flex-direction: column; gap: var(--relish-space-2); margin-bottom: var(--relish-space-4); }
.msg-bubble[b-18natp81u6] { display: flex; flex-direction: column; gap: 2px; max-width: 85%; padding: 8px 12px; border-radius: 12px; }
.msg-bubble.mine[b-18natp81u6] { align-self: flex-end; background: var(--relish-primary); color: var(--relish-on-brand, #fff); }
.msg-bubble.theirs[b-18natp81u6] { align-self: flex-start; background: var(--relish-bg, #f2f2f2); }
.msg-who[b-18natp81u6] { font-size: var(--relish-fs-11); opacity: .8; }
.msg-text[b-18natp81u6] { font-size: var(--relish-fs-14); white-space: pre-wrap; }
.msg-time[b-18natp81u6] { font-size: var(--relish-fs-11); opacity: .7; }
.msg-reply[b-18natp81u6] { display: flex; gap: var(--relish-space-2); align-items: flex-end; }
.msg-reply .msg-input[b-18natp81u6] { flex: 1; }

/* message-actions proposal chip (Powered by AI) */
.msg-action[b-18natp81u6] {
    display: flex; align-items: center; gap: var(--relish-space-2, 8px);
    padding: 10px 12px; margin: var(--relish-space-2, 8px) 0;
    background: var(--relish-bg, #f2f6ff); border: 1px solid var(--relish-line, #cfe0ff);
    border-radius: 10px; font-size: var(--relish-fs-14, 14px);
}
.msg-action-icon[b-18natp81u6] { color: #2563eb; }
.msg-action-text[b-18natp81u6] { flex: 1; font-weight: 600; }
.msg-action-done[b-18natp81u6] { color: var(--relish-ink-soft, #667); font-size: var(--relish-fs-14, 14px); margin: 6px 0; }
/* /Components/Pages/CustomerProfile.razor.rz.scp.css */
.head[b-a28hhlfu1a] { padding: var(--relish-space-4) 0; }

.back[b-a28hhlfu1a] {
    color: var(--relish-herb);
    text-decoration: none;
    font-size: var(--relish-fs-14);
    font-weight: 600;
}

.head h1[b-a28hhlfu1a] {
    margin: var(--relish-space-2) 0 0;
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-36);
    color: var(--relish-ink);
}

.card[b-a28hhlfu1a] {
    background: var(--relish-card);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    padding: var(--relish-space-5);
    margin-bottom: var(--relish-space-4);
    box-shadow: var(--relish-elevation-1);
}

.card h2[b-a28hhlfu1a] {
    margin: 0 0 var(--relish-space-2);
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-18);
    color: var(--relish-herb-deep);
}

.household-name[b-a28hhlfu1a] {
    margin: 0 0 var(--relish-space-1);
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-28);
    color: var(--relish-ink);
}

.muted[b-a28hhlfu1a] { color: var(--relish-ink-soft); margin: 0; }

.link[b-a28hhlfu1a] {
    display: inline-block;
    margin-top: var(--relish-space-3);
    color: var(--relish-herb);
    font-weight: 600;
    text-decoration: none;
}

/* Notification preferences */
.pref-row[b-a28hhlfu1a] { display: flex; align-items: center; justify-content: space-between; gap: var(--relish-space-3); margin-top: var(--relish-space-3); }
.pref-label[b-a28hhlfu1a] { display: inline-flex; align-items: center; gap: 8px; font-size: var(--relish-fs-14); font-weight: 600; }
.pref-label input[type=checkbox][b-a28hhlfu1a] { width: 1rem; height: 1rem; }
.pref-always[b-a28hhlfu1a] { font-size: var(--relish-fs-12); color: var(--relish-ink-soft); }
.pref-input[b-a28hhlfu1a] { flex: 1 1 auto; max-width: 60%; padding: 8px 10px; border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); font-size: var(--relish-fs-14); }
.pref-actions[b-a28hhlfu1a] { display: flex; align-items: center; gap: var(--relish-space-3); margin-top: var(--relish-space-4); }
.pref-saved[b-a28hhlfu1a] { color: var(--relish-primary); font-size: var(--relish-fs-13); }

/* Household members */
.member-list[b-a28hhlfu1a] { list-style: none; margin: 0 0 var(--relish-space-3); padding: 0; display: flex; flex-direction: column; gap: var(--relish-space-2); }
.member-row[b-a28hhlfu1a] { display: flex; align-items: center; gap: var(--relish-space-2); padding: 8px 10px; border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); }
.member-name[b-a28hhlfu1a] { font-weight: 600; font-size: var(--relish-fs-14); }
.member-age[b-a28hhlfu1a] { font-size: var(--relish-fs-12); color: var(--relish-ink-soft); background: var(--relish-bg, #f2f2f2); padding: 1px 8px; border-radius: 999px; }
.member-notes[b-a28hhlfu1a] { font-size: var(--relish-fs-12); color: var(--relish-ink-soft); }
.member-row .btn[b-a28hhlfu1a] { margin-left: auto; }
.member-add[b-a28hhlfu1a] { display: flex; flex-wrap: wrap; gap: var(--relish-space-2); }
.member-input[b-a28hhlfu1a] { flex: 1 1 8rem; padding: 8px 10px; border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); font-size: var(--relish-fs-14); }
.member-input--age[b-a28hhlfu1a] { flex: 0 1 10rem; }
.msg-error[b-a28hhlfu1a] { color: var(--relish-coral); font-size: var(--relish-fs-13); margin: var(--relish-space-2) 0 0; }

/* Conversational profile intake (Powered by AI) — proposes members to review, commits nothing. */
.intake[b-a28hhlfu1a] { margin-top: var(--relish-space-4); padding: var(--relish-space-3); border: 1px solid var(--relish-border); border-left: 3px solid var(--relish-herb, #6b8e4e); border-radius: var(--relish-radius-md, 8px); background: var(--relish-surface-2, #f7f7f4); }
.intake-lead[b-a28hhlfu1a] { margin: 0 0 4px; font-weight: 700; color: var(--relish-herb-deep, #4a6b34); }
.intake-input[b-a28hhlfu1a] { width: 100%; box-sizing: border-box; margin: var(--relish-space-2) 0; resize: vertical; }
.intake-preview[b-a28hhlfu1a] { margin-top: var(--relish-space-3); padding-top: var(--relish-space-3); border-top: 1px dashed var(--relish-border); }
.intake-preview-title[b-a28hhlfu1a] { margin: 0 0 var(--relish-space-2); font-weight: 600; }
.intake-actions[b-a28hhlfu1a] { display: flex; gap: var(--relish-space-2); margin-top: var(--relish-space-2); }
/* /Components/Pages/ForgotPassword.razor.rz.scp.css */
.setpw[b-1cbamtggvi] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--relish-space-6) var(--relish-space-4);
    background: var(--relish-cream);
}

.setpw__card[b-1cbamtggvi] {
    width: 100%;
    max-width: 480px;
    background: var(--relish-surface);
    border-radius: var(--relish-radius-card);
    box-shadow: var(--relish-elevation-1);
    padding: var(--relish-space-6);
}

.setpw__brand[b-1cbamtggvi] {
    font-family: var(--relish-font-display);
    color: var(--relish-herb-deep);
    font-size: var(--relish-fs-28);
    margin: 0 0 var(--relish-space-2);
}

.setpw__lead[b-1cbamtggvi] {
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-14);
    margin: 0 0 var(--relish-space-5);
}

.setpw__notice[b-1cbamtggvi] {
    background: var(--relish-herb-wash);
    color: var(--relish-herb-deep);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3);
    font-size: var(--relish-fs-14);
    margin: 0 0 var(--relish-space-4);
}

.setpw__form[b-1cbamtggvi] {
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-3);
}

.setpw__label[b-1cbamtggvi] {
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-1);
    font-size: var(--relish-fs-14);
    color: var(--relish-ink-soft);
}

.setpw__input[b-1cbamtggvi] {
    padding: var(--relish-space-2) var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    font-size: var(--relish-fs-16);
    background: var(--relish-surface);
    color: var(--relish-ink);
}

.setpw__submit[b-1cbamtggvi] {
    margin-top: var(--relish-space-2);
    padding: var(--relish-space-3);
    background: var(--relish-herb);
    color: var(--relish-on-brand);
    border: none;
    border-radius: var(--relish-radius-pill);
    font-size: var(--relish-fs-16);
    cursor: pointer;
}

.setpw__submit:hover[b-1cbamtggvi] {
    background: var(--relish-herb-deep);
}
/* /Components/Pages/Meals.razor.rz.scp.css */
.catalog[b-iv2tpf2yxl] {
    max-width: 1320px;
}

/* two-column catalog: faceted filter rail + results table */
.mcx[b-iv2tpf2yxl] {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: var(--relish-space-4);
    align-items: start;
}
.mcx__filters[b-iv2tpf2yxl] {
    position: sticky; top: var(--relish-space-3);
    max-height: calc(100vh - 130px); overflow-y: auto;
    padding: var(--relish-space-4);
    background: var(--relish-surface); border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
}
.mcx__archived[b-iv2tpf2yxl] {
    margin-top: var(--relish-space-4); padding-top: var(--relish-space-4);
    border-top: 1px solid var(--relish-border);
}
.mcx__main[b-iv2tpf2yxl] { min-width: 0; display: flex; flex-direction: column; gap: var(--relish-space-3); }
@media (max-width: 820px) {
    .mcx[b-iv2tpf2yxl] { grid-template-columns: 1fr; }
    .mcx__filters[b-iv2tpf2yxl] { position: static; max-height: none; }
}

.catalog__head[b-iv2tpf2yxl] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--relish-space-4);
    margin-bottom: var(--relish-space-4);
}

.catalog__title[b-iv2tpf2yxl] {
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-28);
    margin: 0;
}

.catalog__subtitle[b-iv2tpf2yxl] {
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-13);
    margin: var(--relish-space-1) 0 0;
}

.catalog__error[b-iv2tpf2yxl] {
    background: var(--relish-coral-wash);
    color: var(--relish-ink);
    border: 1px solid var(--relish-coral);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4);
    margin-bottom: var(--relish-space-4);
    font-size: var(--relish-fs-14);
}

.catalog__toolbar[b-iv2tpf2yxl] {
    display: flex;
    gap: var(--relish-space-3);
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: var(--relish-space-4);
}

.catalog__search[b-iv2tpf2yxl],
.catalog__filter[b-iv2tpf2yxl] {
    min-height: var(--relish-touch-min);
    padding: 0 var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    background: var(--relish-surface);
    color: var(--relish-ink);
    font-size: var(--relish-fs-14);
}

.catalog__search[b-iv2tpf2yxl] {
    flex: 1;
    min-width: 200px;
}

.catalog__archived[b-iv2tpf2yxl] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--relish-fs-13);
    color: var(--relish-ink-soft);
}

.catalog__table[b-iv2tpf2yxl] {
    width: 100%;
    border-collapse: collapse;
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    overflow: hidden;
}

.catalog__table th[b-iv2tpf2yxl],
.catalog__table td[b-iv2tpf2yxl] {
    text-align: left;
    padding: var(--relish-space-3) var(--relish-space-4);
    border-bottom: 1px solid var(--relish-border);
    vertical-align: top;
}

.catalog__table th[b-iv2tpf2yxl] {
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--relish-ink-soft);
    background: var(--relish-cream);
}

.catalog__table tr:last-child td[b-iv2tpf2yxl] {
    border-bottom: none;
}

.catalog__table tr.is-archived[b-iv2tpf2yxl] {
    opacity: 0.6;
}

.catalog__name[b-iv2tpf2yxl] {
    display: block;
    font-weight: 600;
    color: var(--relish-ink);
}

.catalog__desc[b-iv2tpf2yxl] {
    display: block;
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-13);
}

.catalog__muted[b-iv2tpf2yxl] {
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-13);
}

.catalog__empty[b-iv2tpf2yxl] {
    text-align: center;
    color: var(--relish-ink-soft);
    padding: var(--relish-space-6);
}

.catalog__actions-col[b-iv2tpf2yxl] {
    text-align: right;
}

.catalog__actions[b-iv2tpf2yxl] {
    text-align: right;
    white-space: nowrap;
}

.badge[b-iv2tpf2yxl] {
    display: inline-block;
    padding: 2px 10px;
    border-radius: var(--relish-radius-pill);
    font-size: var(--relish-fs-12);
    font-weight: 600;
}

.badge--active[b-iv2tpf2yxl] {
    background: var(--relish-herb-wash);
    color: var(--relish-herb-deep);
}

.badge--archived[b-iv2tpf2yxl] {
    background: var(--relish-border);
    color: var(--relish-ink-soft);
}

.btn[b-iv2tpf2yxl] {
    min-height: var(--relish-touch-min);
    padding: 0 var(--relish-space-4);
    border-radius: var(--relish-radius-pill);
    font-size: var(--relish-fs-14);
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
}

.btn--primary[b-iv2tpf2yxl] {
    background: var(--relish-herb);
    color: var(--relish-on-brand);
}

.btn--primary:hover[b-iv2tpf2yxl] {
    background: var(--relish-herb-deep);
}

.btn--ghost[b-iv2tpf2yxl] {
    background: transparent;
    border-color: var(--relish-border);
    color: var(--relish-ink);
    padding: 0 var(--relish-space-3);
    margin-left: var(--relish-space-2);
}

.btn--ghost:hover[b-iv2tpf2yxl] {
    border-color: var(--relish-herb);
    color: var(--relish-herb-deep);
}

/* ---- Full-screen meal editor (replaces the old side sheet) ---- */
.me[b-iv2tpf2yxl] {
    max-width: 1180px;
    margin: 0 auto;
    padding: var(--relish-space-6) var(--relish-space-5) var(--relish-space-10);
}
.me__error[b-iv2tpf2yxl] {
    display: flex; align-items: center; gap: 8px;
    background: var(--relish-coral-wash);
    color: #8f3a24;
    border: 1px solid var(--relish-coral);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4);
    margin: 0 0 var(--relish-space-4);
    font-size: var(--relish-fs-14);
}
.me__grid[b-iv2tpf2yxl] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: var(--relish-space-6);
    align-items: start;
}
.me__rail[b-iv2tpf2yxl] { display: flex; flex-direction: column; gap: var(--relish-space-4); position: sticky; top: var(--relish-space-4); }
.me__main[b-iv2tpf2yxl] { display: flex; flex-direction: column; gap: var(--relish-space-5); min-width: 0; }
@media (max-width: 900px) {
    .me__grid[b-iv2tpf2yxl] { grid-template-columns: 1fr; }
    .me__rail[b-iv2tpf2yxl] { position: static; }
}

.me__label[b-iv2tpf2yxl] { display: block; font-size: var(--relish-fs-12); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--relish-ink-faint); margin-bottom: 5px; }
.me__nameField[b-iv2tpf2yxl] { display: block; }
.me__name[b-iv2tpf2yxl] {
    width: 100%; box-sizing: border-box;
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-28); font-weight: 500;
    color: var(--relish-ink);
    background: transparent;
    border: none; border-bottom: 2px solid var(--relish-border);
    padding: 4px 2px 8px;
}
.me__name[b-iv2tpf2yxl]::placeholder { color: var(--relish-ink-faint); font-weight: 400; }
.me__name:focus[b-iv2tpf2yxl] { outline: none; border-bottom-color: var(--relish-herb); }

.me__metaRow[b-iv2tpf2yxl] { display: flex; flex-wrap: wrap; gap: var(--relish-space-4); }
.me__meta[b-iv2tpf2yxl] { flex: 1; min-width: 140px; margin-bottom: 0; }

.me__narrative[b-iv2tpf2yxl] { display: flex; flex-direction: column; gap: 8px; }
.me__narrative-head[b-iv2tpf2yxl] { display: flex; flex-direction: column; gap: 2px; }
.me__section-title[b-iv2tpf2yxl] {
    display: flex; align-items: center; gap: 8px;
    font-family: var(--relish-font-display); font-size: var(--relish-fs-18); font-weight: 500;
    color: var(--relish-ink); margin: 0;
}
.me__section-title .fa-solid[b-iv2tpf2yxl] { color: var(--relish-herb); font-size: 15px; }
.me__section-hint[b-iv2tpf2yxl] { margin: 0; font-size: var(--relish-fs-13); color: var(--relish-ink-soft); }

.me__block[b-iv2tpf2yxl] {
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    padding: var(--relish-space-4);
    margin: 0;
}
.me__block legend[b-iv2tpf2yxl] {
    font-size: var(--relish-fs-13); font-weight: 600; color: var(--relish-ink);
    padding: 0; margin-bottom: 10px;
}
.me__rail .me__block[b-iv2tpf2yxl] { background: var(--relish-card); }

.field[b-iv2tpf2yxl] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: var(--relish-space-4);
    font-size: var(--relish-fs-13);
    color: var(--relish-ink-soft);
}

.field__input[b-iv2tpf2yxl] {
    padding: var(--relish-space-2) var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    background: var(--relish-surface);
    color: var(--relish-ink);
    font-size: var(--relish-fs-15);
    font-family: inherit;
}

.field__input:focus[b-iv2tpf2yxl] {
    outline: 2px solid var(--relish-herb);
    outline-offset: 1px;
}

/* Allergen safety — row summary + editor. Inferred data is visually distinct from confirmed. */
.catalog__allergens[b-iv2tpf2yxl] {
    display: block;
    margin-top: 4px;
    font-size: var(--relish-fs-12, 0.72rem);
    font-weight: 600;
}
.catalog__allergens.is-inferred[b-iv2tpf2yxl] { color: var(--relish-ink-soft); }
.catalog__allergens.is-confirmed[b-iv2tpf2yxl] { color: var(--relish-coral-deep, var(--relish-coral)); }
.catalog__allergens .fa-triangle-exclamation[b-iv2tpf2yxl] { margin-right: 4px; }

.catalog__allergen-source[b-iv2tpf2yxl] {
    margin: 0 0 var(--relish-space-2);
    font-size: var(--relish-fs-13);
    color: var(--relish-ink-soft);
}
.catalog__allergen-source.is-inferred[b-iv2tpf2yxl] { color: var(--relish-coral-deep, var(--relish-coral)); }

.catalog__allergen-grid[b-iv2tpf2yxl] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 12px;
}
.catalog__allergen-check[b-iv2tpf2yxl] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: var(--relish-fs-14);
}

/* ---- Round-2 editor: toggle-chip walls replace the checkbox grids ---- */
.mc-ed[b-iv2tpf2yxl] { border: none; margin: 0 0 var(--relish-space-5); padding: 0; }
.mc-ed legend[b-iv2tpf2yxl] {
    font-size: var(--relish-fs-13);
    font-weight: 600;
    color: var(--relish-ink);
    padding: 0;
    margin-bottom: 8px;
}
.mc-ed__note[b-iv2tpf2yxl] {
    margin: 0 0 10px;
    font-size: var(--relish-fs-13);
    color: var(--relish-ink-soft);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.mc-ed__note--warn[b-iv2tpf2yxl] {
    background: var(--relish-coral-wash);
    color: #8f3a24;
    padding: 7px 12px;
    border-radius: var(--relish-radius-control);
    font-weight: 500;
}
.mc-ed__note--ok[b-iv2tpf2yxl] { color: var(--relish-success); }

.mc-ed__chips[b-iv2tpf2yxl] { display: flex; flex-wrap: wrap; gap: 7px; }

.mc-togchip[b-iv2tpf2yxl] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--relish-font-body);
    font-size: 13px;
    font-weight: 500;
    line-height: 1;
    padding: 7px 13px;
    border-radius: var(--relish-radius-pill);
    border: 1px solid var(--relish-border);
    background: var(--relish-surface);
    color: var(--relish-ink-soft);
    cursor: pointer;
    transition: background .12s ease, border-color .12s ease, color .12s ease;
}
.mc-togchip:hover[b-iv2tpf2yxl] { border-color: var(--relish-ink-faint); }
.mc-togchip .fa-check[b-iv2tpf2yxl] { font-size: 11px; }

/* allergen selected = solid danger + white + ✓ (safety-critical, high contrast) */
.mc-togchip--danger.is-on[b-iv2tpf2yxl] {
    background: var(--relish-danger);
    border-color: var(--relish-danger);
    color: #fff;
}
/* label selected = herb-wash confirmed chip */
.mc-togchip--herb.is-on[b-iv2tpf2yxl] {
    background: var(--relish-herb-wash);
    border-color: #d9e0cf;
    color: var(--relish-herb);
    font-weight: 600;
}

.mc-ed__group[b-iv2tpf2yxl] { margin-bottom: var(--relish-space-4); }
.mc-ed__group-name[b-iv2tpf2yxl] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: var(--relish-fs-13);
    font-weight: 600;
    color: var(--relish-ink);
    margin-bottom: 8px;
}
.mc-ed__pickone[b-iv2tpf2yxl] {
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--relish-ink-faint);
}
.mc-ed__clear[b-iv2tpf2yxl] {
    margin-left: auto;
    background: transparent;
    border: none;
    color: var(--relish-herb);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    padding: 0;
}
.mc-ed__clear:hover[b-iv2tpf2yxl] { text-decoration: underline; }

.mc-ed__search[b-iv2tpf2yxl] { margin: 0 0 10px; max-width: 360px; }
.mc-ed__more[b-iv2tpf2yxl] { align-self: center; font-size: 12px; color: var(--relish-ink-faint); padding: 0 4px; }
.catalog__ingredient-pick.is-unknown[b-iv2tpf2yxl] { border-color: var(--relish-danger); }

/* ---- Catalog table (replaces the grid component) ---- */
.mc-gridwrap[b-iv2tpf2yxl] { overflow-x: auto; padding: 0; }
.mc-table[b-iv2tpf2yxl] { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.mc-table th[b-iv2tpf2yxl] { text-align: left; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--relish-ink-faint); font-weight: 600; padding: 12px 12px; border-bottom: 1px solid var(--relish-border); white-space: nowrap; background: var(--relish-card); }
.mc-table td[b-iv2tpf2yxl] { padding: 10px 12px; border-bottom: 1px solid var(--relish-border); vertical-align: top; }
.mc-table tr.is-selected td[b-iv2tpf2yxl] { background: var(--relish-herb-wash); }
.mc-table__check[b-iv2tpf2yxl] { width: 36px; text-align: center; }
.mc-table__actions[b-iv2tpf2yxl] { width: 150px; }
.mc-table__empty[b-iv2tpf2yxl] { text-align: center; padding: 28px 12px; }
.mc-sort[b-iv2tpf2yxl] { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; letter-spacing: inherit; text-transform: inherit; }
.mc-sort:hover[b-iv2tpf2yxl] { color: var(--relish-ink); }
.mc-pager[b-iv2tpf2yxl] { display: flex; align-items: center; gap: 10px; padding: 10px 12px; font-size: 13px; }
.mc-pager__spacer[b-iv2tpf2yxl] { flex: 1; }
.mc-pager__size select[b-iv2tpf2yxl] { font-size: 12.5px; }

/* ---- Catalog row/pill styles (ported from the removed grid stylesheet) ---- */
.mc-meal[b-iv2tpf2yxl] { display: flex; flex-direction: column; gap: 2px; line-height: 1.3; }
.mc-meal__name[b-iv2tpf2yxl] { font-weight: 600; color: var(--relish-ink); font-size: var(--relish-fs-14); }
.mc-meal__desc[b-iv2tpf2yxl] { color: var(--relish-ink-faint); font-size: var(--relish-fs-12); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 46ch; }
.mc-allergen[b-iv2tpf2yxl] { font-size: var(--relish-fs-12); font-weight: 600; display: inline-flex; align-items: center; gap: 5px; margin-top: 2px; color: var(--relish-danger); }
.mc-pill[b-iv2tpf2yxl] { display: inline-flex; align-items: center; font-size: 12px; padding: 3px 9px; border-radius: var(--relish-radius-pill); border: 1px solid var(--relish-border); white-space: nowrap; }
.mc-pill--herb[b-iv2tpf2yxl] { background: var(--relish-herb-wash); color: var(--relish-herb); border-color: #d9e0cf; }
.mc-pill--label[b-iv2tpf2yxl] { background: #f0ece1; color: var(--relish-ink-soft); }
.mc-pill--more[b-iv2tpf2yxl] { background: transparent; border-color: transparent; color: var(--relish-ink-faint); padding-left: 2px; }
.mc-labels[b-iv2tpf2yxl] { display: flex; gap: 5px; align-items: center; flex-wrap: wrap; }
.mc-score[b-iv2tpf2yxl] { display: inline-flex; align-items: center; gap: 5px; color: var(--relish-gold); font-variant-numeric: tabular-nums; }
.mc-score .fa-star[b-iv2tpf2yxl] { font-size: 12px; }
.mc-status[b-iv2tpf2yxl] { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.mc-status__dot[b-iv2tpf2yxl] { width: 7px; height: 7px; border-radius: 50%; }
.mc-status.is-active[b-iv2tpf2yxl] { color: var(--relish-success); }
.mc-status.is-active .mc-status__dot[b-iv2tpf2yxl] { background: var(--relish-success); }
.mc-status.is-arch[b-iv2tpf2yxl] { color: var(--relish-ink-faint); }
.mc-status.is-arch .mc-status__dot[b-iv2tpf2yxl] { background: var(--relish-ink-faint); }
.mc-status.is-draft[b-iv2tpf2yxl] { color: #8a5a00; }
.mc-status.is-draft .mc-status__dot[b-iv2tpf2yxl] { background: #e0a52e; }
.mc-needs[b-iv2tpf2yxl] {
    display: inline-flex; align-items: center; gap: 4px; margin-top: 4px;
    font-size: 11px; font-weight: 600; color: var(--relish-coral);
    background: var(--relish-coral-wash); border-radius: var(--relish-radius-pill);
    padding: 1px 7px; white-space: nowrap;
}

/* Saved views rail */
.mcx__saved[b-iv2tpf2yxl] { margin-bottom: var(--relish-space-4); padding-bottom: var(--relish-space-4); border-bottom: 1px solid var(--relish-border); }
.mcx__saved-head[b-iv2tpf2yxl] { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.mcx__saved-title[b-iv2tpf2yxl] { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--relish-ink-soft); display: inline-flex; align-items: center; gap: 6px; }
.mcx__saved-title .fa-bookmark[b-iv2tpf2yxl] { color: var(--relish-herb); }
.mcx__saved-save[b-iv2tpf2yxl] { border: none; background: none; color: var(--relish-herb); font-size: 12px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.mcx__saved-save:hover[b-iv2tpf2yxl] { text-decoration: underline; }
.mcx__saved-form[b-iv2tpf2yxl] { display: flex; gap: 6px; margin-bottom: 8px; }
.mcx__saved-input[b-iv2tpf2yxl] { flex: 1; min-width: 0; border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); padding: 6px 9px; font: inherit; font-size: 13px; }
.mcx__saved-empty[b-iv2tpf2yxl] { font-size: 12px; color: var(--relish-ink-faint); margin: 0; }
.mcx__saved-list[b-iv2tpf2yxl] { display: flex; flex-direction: column; gap: 4px; }
.mcx__saved-item[b-iv2tpf2yxl] { display: flex; align-items: center; border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); overflow: hidden; }
.mcx__saved-item.is-active[b-iv2tpf2yxl] { border-color: var(--relish-herb); background: var(--relish-herb-wash); }
.mcx__saved-apply[b-iv2tpf2yxl] { flex: 1; min-width: 0; text-align: left; border: none; background: none; padding: 7px 10px; font: inherit; font-size: 13px; font-weight: 600; color: var(--relish-ink); cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mcx__saved-item.is-active .mcx__saved-apply[b-iv2tpf2yxl] { color: var(--relish-herb); }
.mcx__saved-del[b-iv2tpf2yxl] { border: none; background: none; color: var(--relish-ink-faint); padding: 6px 9px; cursor: pointer; }
.mcx__saved-del:hover[b-iv2tpf2yxl] { color: var(--relish-coral); }

/* Editor status toggle */
.me__status[b-iv2tpf2yxl] { gap: 6px; }
.me__statustoggle[b-iv2tpf2yxl] { display: inline-flex; gap: 6px; margin-top: 4px; }
.me__statusbtn[b-iv2tpf2yxl] { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--relish-border); background: var(--relish-surface); color: var(--relish-ink-soft); border-radius: var(--relish-radius-pill); padding: 6px 14px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.me__statusbtn.is-active[b-iv2tpf2yxl] { background: var(--relish-success-wash, #e7f4ea); border-color: var(--relish-success); color: var(--relish-success); }
.me__statusbtn.is-draft[b-iv2tpf2yxl] { background: #fff4e0; border-color: #f0c675; color: #8a5a00; }
.mc-actions[b-iv2tpf2yxl] { display: flex; gap: 6px; }
.mc-selbar[b-iv2tpf2yxl] { display: flex; align-items: center; gap: 10px; margin-top: var(--relish-space-3); padding: 9px 16px; border-radius: var(--relish-radius-control); background: var(--relish-herb); color: #fff; font-size: 13px; }
.mc-selbar__spacer[b-iv2tpf2yxl] { flex: 1; }
.mc-selbar__btn[b-iv2tpf2yxl] { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.5); border-radius: var(--relish-radius-pill); padding: 4px 13px; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.mc-selbar__btn:hover[b-iv2tpf2yxl] { background: rgba(255,255,255,.12); }
.mc-table td:nth-child(2)[b-iv2tpf2yxl] { min-width: 230px; }
/* In the two-column catalog the table lives in a narrower right column; a single pencil
   keeps the action column tight and lets meal names/descriptions take the room. */
.mc-table__actions[b-iv2tpf2yxl] { width: 52px; text-align: center; }
.mc-actions[b-iv2tpf2yxl] { flex-wrap: wrap; gap: 4px; }
.mc-meal__desc[b-iv2tpf2yxl] { max-width: 40ch; }

/* Title doubles as the edit affordance. */
.mc-meal__name--link[b-iv2tpf2yxl] {
    background: none; border: none; padding: 0; margin: 0;
    font: inherit; font-weight: 600; color: var(--relish-ink);
    text-align: left; cursor: pointer;
}
.mc-meal__name--link:hover[b-iv2tpf2yxl] { color: var(--relish-herb-deep); text-decoration: underline; }

.mc-iconbtn[b-iv2tpf2yxl] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 32px; height: 32px; border-radius: var(--relish-radius-control);
    border: 1px solid var(--relish-border); background: var(--relish-surface);
    color: var(--relish-ink-soft); cursor: pointer;
    transition: border-color .12s ease, color .12s ease, background .12s ease;
}
.mc-iconbtn:hover[b-iv2tpf2yxl] { border-color: var(--relish-herb); color: var(--relish-herb); background: var(--relish-herb-wash); }
.mc-gridwrap .mc-table th[b-iv2tpf2yxl], .mc-gridwrap .mc-table td[b-iv2tpf2yxl] { padding-left: 10px; padding-right: 10px; }

/* ---- Editor: ingredient / option / score lines (full-screen editor) ---- */
.catalog__hint[b-iv2tpf2yxl] { font-size: 11px; font-weight: 400; color: var(--relish-ink-faint); text-transform: none; letter-spacing: 0; }

.catalog__ingredient-line[b-iv2tpf2yxl],
.catalog__option-line[b-iv2tpf2yxl] {
    display: flex; gap: 8px; align-items: center; margin-bottom: 8px;
}
.catalog__ingredient-pick[b-iv2tpf2yxl] { flex: 1; min-width: 0; }
.catalog__ingredient-qty[b-iv2tpf2yxl] { width: 80px; flex-shrink: 0; }
.catalog__ingredient-unit[b-iv2tpf2yxl] { width: 90px; flex-shrink: 0; }
.catalog__option-kind[b-iv2tpf2yxl] { width: 130px; flex-shrink: 0; }
.catalog__option-desc[b-iv2tpf2yxl] { flex: 1; min-width: 0; }
.catalog__ingredient-remove[b-iv2tpf2yxl],
.catalog__option-remove[b-iv2tpf2yxl] { min-height: auto; padding: 8px 10px; margin-left: 0; flex-shrink: 0; }

.catalog__score-line[b-iv2tpf2yxl] {
    display: flex; align-items: center; justify-content: space-between;
    gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--relish-border);
}
.catalog__score-line:last-child[b-iv2tpf2yxl] { border-bottom: none; }
.catalog__score-name[b-iv2tpf2yxl] { font-size: var(--relish-fs-14); color: var(--relish-ink); }
.catalog__score-value[b-iv2tpf2yxl] { width: 72px; flex-shrink: 0; }

/* The editor's inline "Add" ghost buttons sit tighter than table-row buttons. */
.catalog__ingredients-edit .btn--ghost[b-iv2tpf2yxl],
.catalog__options-edit .btn--ghost[b-iv2tpf2yxl] { min-height: auto; padding: 8px 12px; margin-left: 0; margin-top: 4px; }

/* ---- Compact numeric stepper (recipe yield) ---- */
.numstep[b-iv2tpf2yxl] { display: inline-flex; align-items: stretch; width: fit-content; border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); overflow: hidden; background: var(--relish-surface); }
.numstep__btn[b-iv2tpf2yxl] {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; border: none; background: var(--relish-card); color: var(--relish-ink-soft);
    cursor: pointer; font-size: 12px;
}
.numstep__btn:hover:not(:disabled)[b-iv2tpf2yxl] { background: var(--relish-herb-wash); color: var(--relish-herb); }
.numstep__btn:disabled[b-iv2tpf2yxl] { opacity: .4; cursor: default; }
.numstep__input[b-iv2tpf2yxl] {
    width: 56px; border: none; border-left: 1px solid var(--relish-border); border-right: 1px solid var(--relish-border);
    text-align: center; font-size: var(--relish-fs-15); color: var(--relish-ink); background: var(--relish-surface);
    -moz-appearance: textfield; appearance: textfield;
}
.numstep__input[b-iv2tpf2yxl]::-webkit-outer-spin-button, .numstep__input[b-iv2tpf2yxl]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.numstep__input:focus[b-iv2tpf2yxl] { outline: none; }

/* ---- Editor photo block ---- */
.me__photo[b-iv2tpf2yxl] { display: flex; flex-direction: column; gap: 10px; }
.me__photo-legend[b-iv2tpf2yxl] { font-size: var(--relish-fs-13); font-weight: 600; color: var(--relish-ink); }
.me__photo-frame[b-iv2tpf2yxl] {
    aspect-ratio: 4 / 3; width: 100%;
    border: 1px dashed var(--relish-border); border-radius: var(--relish-radius-card);
    background: var(--relish-surface); overflow: hidden;
    display: flex; align-items: center; justify-content: center;
}
.me__photo-frame.has-photo[b-iv2tpf2yxl] { border-style: solid; }
.me__photo-img[b-iv2tpf2yxl] { width: 100%; height: 100%; object-fit: cover; display: block; }
.me__photo-empty[b-iv2tpf2yxl] { color: var(--relish-ink-faint); font-size: var(--relish-fs-13); display: inline-flex; align-items: center; gap: 8px; }
.me__photo-empty .fa-image[b-iv2tpf2yxl] { font-size: 20px; }
.me__photo-upload[b-iv2tpf2yxl] { display: block; position: relative; cursor: pointer; overflow: hidden; border-radius: var(--relish-radius-control); }
.me__photo-upload .r2-btn[b-iv2tpf2yxl] { width: 100%; box-sizing: border-box; pointer-events: none; }
/* The native file <input> is rendered by the InputFile child component, so it needs ::deep
   to reach across the scope boundary. Make it a transparent overlay over the styled button. */
.me__photo-upload[b-iv2tpf2yxl]  input[type="file"] {
    position: absolute; inset: 0; width: 100%; height: 100%;
    opacity: 0; cursor: pointer; font-size: 0;
}
.me__photo-hint[b-iv2tpf2yxl] { margin: 0; font-size: 11.5px; color: var(--relish-ink-faint); }
.me__photo-error[b-iv2tpf2yxl] { margin: 0; font-size: 12px; color: var(--relish-danger); }

/* ---- Editor danger zone (archive) ---- */
.me__danger[b-iv2tpf2yxl] { margin-top: var(--relish-space-6); padding-top: var(--relish-space-5); border-top: 1px solid var(--relish-border); }
.me__danger-trigger[b-iv2tpf2yxl] {
    display: inline-flex; align-items: center; gap: 8px;
    background: none; border: none; color: var(--relish-danger);
    font-family: var(--relish-font-body); font-size: var(--relish-fs-14); font-weight: 600; cursor: pointer; padding: 6px 0;
}
.me__danger-trigger:hover[b-iv2tpf2yxl] { text-decoration: underline; }
.me__danger-row[b-iv2tpf2yxl] {
    display: flex; align-items: center; justify-content: space-between; gap: var(--relish-space-4);
    padding: var(--relish-space-4);
    background: var(--relish-coral-wash); border: 1px solid #eccbbe; border-radius: var(--relish-radius-card);
}
.me__danger-text[b-iv2tpf2yxl] { display: flex; flex-direction: column; gap: 2px; }
.me__danger-text strong[b-iv2tpf2yxl] { color: #8f3a24; font-size: var(--relish-fs-15); }
.me__danger-text span[b-iv2tpf2yxl] { color: var(--relish-ink-soft); font-size: var(--relish-fs-13); }
.me__danger-actions[b-iv2tpf2yxl] { display: flex; gap: 8px; flex-shrink: 0; }

/* ---- Label "+N more" -> popover ---- */
.mc-ed__more--btn[b-iv2tpf2yxl] {
    background: transparent; border: 1px dashed var(--relish-border);
    color: var(--relish-herb); font: inherit; font-size: 12px; font-weight: 600;
    padding: 6px 11px; border-radius: var(--relish-radius-pill); cursor: pointer;
    display: inline-flex; align-items: center; gap: 6px;
}
.mc-ed__more--btn:hover[b-iv2tpf2yxl] { border-color: var(--relish-herb); background: var(--relish-herb-wash); }
.mc-ed__more--btn .fa-chevron-down[b-iv2tpf2yxl] { font-size: 9px; }

.lblpop-scrim[b-iv2tpf2yxl] { position: fixed; inset: 0; z-index: 80; background: rgba(38,35,30,.28); }
.lblpop[b-iv2tpf2yxl] {
    position: fixed; z-index: 81; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: min(440px, 92vw); max-height: min(70vh, 620px);
    display: flex; flex-direction: column;
    background: var(--relish-surface); border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card); box-shadow: 0 24px 60px rgba(38,35,30,.24);
    overflow: hidden;
}
.lblpop__head[b-iv2tpf2yxl] { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--relish-border); }
.lblpop__titles[b-iv2tpf2yxl] { display: flex; flex-direction: column; gap: 2px; }
.lblpop__title[b-iv2tpf2yxl] { font-family: var(--relish-font-display); font-size: var(--relish-fs-18); font-weight: 600; color: var(--relish-ink); }
.lblpop__sub[b-iv2tpf2yxl] { font-size: 12px; color: var(--relish-ink-faint); text-transform: uppercase; letter-spacing: .05em; }
.lblpop__x[b-iv2tpf2yxl] { background: none; border: none; color: var(--relish-ink-faint); font-size: 16px; cursor: pointer; padding: 2px 6px; }
.lblpop__x:hover[b-iv2tpf2yxl] { color: var(--relish-ink); }
.lblpop__search[b-iv2tpf2yxl] { display: flex; align-items: center; gap: 8px; margin: 12px 16px 8px; padding: 8px 12px; border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); color: var(--relish-ink-faint); }
.lblpop__search input[b-iv2tpf2yxl] { flex: 1; border: none; outline: none; background: transparent; font: inherit; color: var(--relish-ink); min-width: 0; }
.lblpop__list[b-iv2tpf2yxl] { flex: 1; overflow-y: auto; padding: 0 8px 8px; display: flex; flex-direction: column; gap: 2px; }
.lblpop__empty[b-iv2tpf2yxl] { color: var(--relish-ink-faint); font-size: var(--relish-fs-13); padding: 12px; margin: 0; }
.lblpop__opt[b-iv2tpf2yxl] {
    display: flex; align-items: center; gap: 10px; width: 100%;
    padding: 9px 10px; border: none; background: transparent; border-radius: var(--relish-radius-control);
    font: inherit; font-size: var(--relish-fs-14); color: var(--relish-ink); text-align: left; cursor: pointer;
}
.lblpop__opt:hover[b-iv2tpf2yxl] { background: var(--relish-card); }
.lblpop__opt.is-on[b-iv2tpf2yxl] { background: var(--relish-herb-wash); color: var(--relish-herb-deep); font-weight: 600; }
.lblpop__check[b-iv2tpf2yxl] { width: 16px; text-align: center; color: var(--relish-herb); font-size: 12px; flex-shrink: 0; }
.lblpop__val[b-iv2tpf2yxl] { flex: 1; }
.lblpop__uses[b-iv2tpf2yxl] {
    font-size: 11px; color: var(--relish-ink-faint); font-variant-numeric: tabular-nums;
    background: var(--relish-card); border-radius: var(--relish-radius-pill); padding: 1px 8px;
}
.lblpop__opt.is-on .lblpop__uses[b-iv2tpf2yxl] { color: var(--relish-herb); background: var(--relish-surface); }
.lblpop__foot[b-iv2tpf2yxl] { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-top: 1px solid var(--relish-border); }
.lblpop__count[b-iv2tpf2yxl] { font-size: 12.5px; color: var(--relish-ink-soft); }

/* meal-authoring "Create with AI" panel — collapsed to a single opt-in row until opened */
.me__ai[b-iv2tpf2yxl] {
    display: flex; flex-direction: column;
    border: 1px solid var(--relish-line, #e6e2da); border-radius: 10px;
    background: var(--relish-bg, #faf8f4); margin-bottom: 14px; overflow: hidden;
}
.me__ai.is-open[b-iv2tpf2yxl] { box-shadow: 0 1px 0 var(--relish-line, #e6e2da) inset; }
.me__ai-toggle[b-iv2tpf2yxl] {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    width: 100%; box-sizing: border-box; padding: 12px 14px; cursor: pointer;
    background: transparent; border: 0; text-align: left; color: inherit; font: inherit;
}
.me__ai-toggle:hover[b-iv2tpf2yxl] { background: var(--relish-card, #fff); }
.me__ai-toggle-label[b-iv2tpf2yxl] { display: flex; align-items: flex-start; gap: 10px; }
.me__ai-toggle-label > .fa-solid[b-iv2tpf2yxl] { color: var(--relish-herb); margin-top: 3px; }
.me__ai-toggle-label span[b-iv2tpf2yxl] { display: flex; flex-direction: column; gap: 1px; }
.me__ai-toggle-label strong[b-iv2tpf2yxl] { font-size: 14px; }
.me__ai-toggle-label small[b-iv2tpf2yxl] { color: var(--relish-ink-soft); font-size: 12.5px; line-height: 1.4; }
.me__ai-body[b-iv2tpf2yxl] {
    display: flex; flex-direction: column; gap: 8px;
    padding: 0 14px 14px; border-top: 1px solid var(--relish-line, #e6e2da); padding-top: 12px;
}
.me__ai-head[b-iv2tpf2yxl] { display: flex; flex-direction: column; gap: 2px; }
.me__ai-text[b-iv2tpf2yxl] {
    width: 100%; box-sizing: border-box; padding: 10px; border: 1px solid var(--relish-line, #e6e2da);
    border-radius: 8px; font-family: inherit; font-size: 14px; line-height: 1.5; resize: vertical;
}
.me__ai-actions[b-iv2tpf2yxl] { display: flex; }
.me__ai-note[b-iv2tpf2yxl] {
    display: flex; align-items: flex-start; gap: 8px; margin: 2px 0 0;
    color: var(--relish-ink-soft); font-size: 13px; line-height: 1.5;
}
.me__ai-note .fa-solid[b-iv2tpf2yxl] { color: var(--relish-herb); margin-top: 2px; }

/* dictation row (record / upload) inside the AI draft panel */
.me__ai-dictate[b-iv2tpf2yxl] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.me__ai-upload[b-iv2tpf2yxl] { position: relative; overflow: hidden; cursor: pointer; }
.me__ai-upload input[type=file][b-iv2tpf2yxl] { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.me__ai-dictate-status[b-iv2tpf2yxl] { color: var(--relish-ink-soft); font-size: 13px; display: inline-flex; align-items: center; gap: 6px; }
.me__ai-dictate-status .fa-solid[b-iv2tpf2yxl] { color: var(--relish-herb); }
/* /Components/Pages/MenuBrowse.razor.rz.scp.css */
.menu-head[b-2fpia2nzlk] {
    padding: var(--relish-space-4) 0 var(--relish-space-4);
}

.back[b-2fpia2nzlk] {
    color: var(--relish-herb);
    text-decoration: none;
    font-size: var(--relish-fs-14);
    font-weight: 600;
}

.menu-head h1[b-2fpia2nzlk] {
    margin: var(--relish-space-2) 0 var(--relish-space-3);
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-36);
    color: var(--relish-ink);
}

.search[b-2fpia2nzlk] {
    width: 100%;
    min-height: var(--relish-touch-min);
    padding: 0 var(--relish-space-4);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-pill);
    background: var(--relish-surface);
    color: var(--relish-ink);
    font-size: var(--relish-fs-16);
}

.search-wrap[b-2fpia2nzlk] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
}

.search-wrap .search[b-2fpia2nzlk] {
    flex: 1 1 auto;
}

/* Semantic search (Powered by AI) — an optional rerank behind the same box. */
.smart-search[b-2fpia2nzlk] {
    flex: 0 0 auto;
    min-height: var(--relish-touch-min);
    padding: 0 var(--relish-space-4);
    border: 1px solid var(--relish-herb, #6b8e4e);
    border-radius: var(--relish-radius-pill);
    background: transparent;
    color: var(--relish-herb-deep, #4a6b34);
    font-size: var(--relish-fs-14);
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

.smart-search:disabled[b-2fpia2nzlk] {
    opacity: .6;
    cursor: default;
}

.section[b-2fpia2nzlk] {
    margin-bottom: var(--relish-space-6);
}

.section h2[b-2fpia2nzlk] {
    margin: 0 0 var(--relish-space-3);
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-22);
    color: var(--relish-herb-deep);
}

.grid[b-2fpia2nzlk] {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--relish-space-3);
}

@media (min-width: 620px) {
    .grid[b-2fpia2nzlk] {
        grid-template-columns: 1fr 1fr;
    }
}

.meal[b-2fpia2nzlk] {
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-3);
    padding: var(--relish-space-3);
    background: var(--relish-card);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    box-shadow: var(--relish-elevation-1);
}

.meal.in-order[b-2fpia2nzlk] {
    border-color: var(--relish-herb-light);
    background: var(--relish-herb-wash);
}

.meal-open[b-2fpia2nzlk] {
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-3);
    align-items: stretch;
    text-align: left;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

/* Title row — picture on the left, name + price beside it. */
.meal-head[b-2fpia2nzlk] {
    display: flex;
    gap: var(--relish-space-4);
    align-items: center;
    width: 100%;
    min-width: 0;
}

.meal-titles[b-2fpia2nzlk] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.meal-actions[b-2fpia2nzlk] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--relish-space-3);
}

.in-order-cue[b-2fpia2nzlk] {
    color: var(--relish-coral);
    font-weight: 600;
    font-size: var(--relish-fs-13);
    margin-right: auto;
}

.add[b-2fpia2nzlk] {
    min-height: var(--relish-touch-min);
    padding: 0 var(--relish-space-5);
    border: 0;
    border-radius: var(--relish-radius-pill);
    background: var(--relish-herb);
    color: var(--relish-on-brand);
    font-weight: 600;
    cursor: pointer;
}

.add:hover[b-2fpia2nzlk] { filter: brightness(1.08); }

.sheet-actions[b-2fpia2nzlk] {
    margin-top: var(--relish-space-4);
    display: flex;
    align-items: center;
    gap: var(--relish-space-3);
}

.sheet-actions .add[b-2fpia2nzlk] {
    flex: 1 1 auto;
    min-height: var(--relish-touch-min);
}

/* Meal options + special-instructions notes in the detail sheet. */
.sheet-subhead[b-2fpia2nzlk] {
    display: block;
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-16);
    color: var(--relish-ink);
    margin: 0 0 var(--relish-space-2);
}

/* "N already in your order" hint above the sheet's add-another composer. */
.sheet-inorder[b-2fpia2nzlk] {
    margin: 0 0 var(--relish-space-3);
    padding: 6px 10px;
    background: var(--relish-herb-wash);
    color: var(--relish-herb-deep);
    border-radius: var(--relish-radius-control, 8px);
    font-size: var(--relish-fs-13);
    font-weight: 600;
}

.sheet-options[b-2fpia2nzlk] { margin-top: var(--relish-space-4); }
.option-list[b-2fpia2nzlk] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--relish-space-2); }
.option-list li[b-2fpia2nzlk] { display: flex; align-items: baseline; gap: var(--relish-space-2); font-size: var(--relish-fs-14); color: var(--relish-ink); }

.option-kind[b-2fpia2nzlk] {
    flex: none;
    font-size: var(--relish-fs-12);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: var(--relish-radius-pill);
    padding: 1px 8px;
}
.kind-swap[b-2fpia2nzlk] { background: var(--relish-herb-wash); color: var(--relish-herb-deep); }
.kind-add[b-2fpia2nzlk] { background: var(--relish-herb-wash); color: var(--relish-herb-deep); }
.kind-remove[b-2fpia2nzlk] { background: var(--relish-coral-wash); color: var(--relish-coral); }
.option-desc[b-2fpia2nzlk] { color: var(--relish-ink); }
.option-hint[b-2fpia2nzlk] { color: var(--relish-ink-soft); font-size: var(--relish-fs-12); margin: var(--relish-space-2) 0 0; }

.sheet-notes[b-2fpia2nzlk] { display: block; margin-top: var(--relish-space-4); }
.notes-input[b-2fpia2nzlk] {
    width: 100%;
    box-sizing: border-box;
    padding: var(--relish-space-2) var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    background: var(--relish-surface);
    color: var(--relish-ink);
    font-size: var(--relish-fs-15);
    font-family: inherit;
    resize: vertical;
}
.notes-input:focus[b-2fpia2nzlk] { outline: 2px solid var(--relish-herb); outline-offset: 1px; }
.notes-saved[b-2fpia2nzlk] { display: inline-block; margin-top: 4px; font-size: var(--relish-fs-12); color: var(--relish-herb-deep); font-weight: 600; }

.thumb[b-2fpia2nzlk],
.sheet-hero[b-2fpia2nzlk] {
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--relish-font-display);
    color: var(--relish-on-brand);
    background: linear-gradient(135deg, var(--relish-herb), var(--relish-herb-light));
    letter-spacing: 1px;
}

.thumb[b-2fpia2nzlk] {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
    border-radius: var(--relish-radius-control);
    font-size: var(--relish-fs-18);
}

.meal-body[b-2fpia2nzlk] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.meal-name[b-2fpia2nzlk] {
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-18);
    color: var(--relish-ink);
}

.meal-desc[b-2fpia2nzlk] {
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-14);
}

.provenance[b-2fpia2nzlk] {
    margin-top: var(--relish-space-1);
    font-size: var(--relish-fs-12);
    font-weight: 600;
    align-self: flex-start;
    padding: 2px var(--relish-space-2);
    border-radius: var(--relish-radius-pill);
}

.provenance.base[b-2fpia2nzlk] { background: var(--relish-herb-wash); color: var(--relish-herb-deep); }
.provenance.staple[b-2fpia2nzlk] { background: var(--relish-coral-wash); color: var(--relish-coral); }

/* Meal detail — bottom sheet on mobile, side sheet on wider screens. */
.sheet-scrim[b-2fpia2nzlk] {
    position: fixed;
    inset: 0;
    background: rgba(38, 35, 30, .45);
    z-index: 20;
}

.sheet[b-2fpia2nzlk] {
    position: fixed;
    z-index: 21;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--relish-surface);
    border-radius: var(--relish-radius-sheet) var(--relish-radius-sheet) 0 0;
    padding: var(--relish-space-5);
    box-shadow: var(--relish-elevation-1);
    max-height: 85dvh;
    overflow-y: auto;
}

@media (min-width: 620px) {
    .sheet[b-2fpia2nzlk] {
        left: auto;
        top: 0;
        bottom: 0;
        width: 420px;
        max-height: 100dvh;
        border-radius: var(--relish-radius-sheet) 0 0 var(--relish-radius-sheet);
    }
}

.sheet-close[b-2fpia2nzlk] {
    position: absolute;
    top: var(--relish-space-3);
    right: var(--relish-space-3);
    border: 0;
    background: transparent;
    font-size: var(--relish-fs-28);
    line-height: 1;
    color: var(--relish-ink-soft);
    cursor: pointer;
    min-width: var(--relish-touch-min);
    min-height: var(--relish-touch-min);
}

.sheet-hero[b-2fpia2nzlk] {
    height: 180px;
    border-radius: var(--relish-radius-card);
    font-size: var(--relish-fs-48);
    margin-bottom: var(--relish-space-4);
}

/* Real dish photos fill the same boxes as the initials placeholders, cropped to fit. */
.thumb-photo[b-2fpia2nzlk] {
    object-fit: cover;
    background: var(--relish-surface-sunken, #eee);
}

.sheet-hero-photo[b-2fpia2nzlk] {
    width: 100%;
    object-fit: cover;
}

.sheet-photo-caveat[b-2fpia2nzlk] {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: calc(-1 * var(--relish-space-3)) 0 var(--relish-space-4);
    font-size: var(--relish-fs-12);
    color: var(--relish-ink-soft);
}

.sheet h2[b-2fpia2nzlk] {
    margin: 0 0 var(--relish-space-1);
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-28);
    color: var(--relish-ink);
}

.sheet-provenance[b-2fpia2nzlk] {
    margin: 0 0 var(--relish-space-3);
    color: var(--relish-herb);
    font-weight: 600;
    font-size: var(--relish-fs-13);
}

.sheet-desc[b-2fpia2nzlk] {
    margin: 0 0 var(--relish-space-4);
    color: var(--relish-ink-soft);
    line-height: 1.55;
    font-size: var(--relish-fs-16);
}
.sheet-yield[b-2fpia2nzlk] {
    margin: 0 0 var(--relish-space-2);
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-14);
    display: flex;
    align-items: baseline;
    gap: 8px;
}
.sheet-reheat[b-2fpia2nzlk] {
    margin: var(--relish-space-3) 0 var(--relish-space-4);
    padding: 12px 14px;
    background: var(--relish-card, #fbf9f4);
    border: 1px solid var(--relish-border, #e7e1d6);
    border-radius: var(--relish-radius-card, 12px);
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-14);
    line-height: 1.5;
}
.sheet-reheat__head[b-2fpia2nzlk] {
    display: flex; align-items: center; gap: 8px;
    margin: 0 0 6px;
    font-size: var(--relish-fs-13);
    font-weight: 600;
    color: var(--relish-ink);
    text-transform: uppercase;
    letter-spacing: .04em;
}
.sheet-reheat__head .fa-temperature-half[b-2fpia2nzlk] { color: var(--relish-herb, #6b8e4e); }
/* Meal story (Special Touch — Marcy's voice). Warm, distinct from utility copy. */
.sheet-story[b-2fpia2nzlk] {
    display: block; margin: 0 0 var(--relish-space-3, 12px);
    padding: 10px 12px; border-left: 3px solid var(--relish-herb, #6b8e4e);
    background: var(--relish-herb-wash, #f2f6ee); border-radius: 6px;
    font-size: var(--relish-fs-14, 14px); line-height: 1.5; font-style: italic; color: var(--relish-ink, #333);
}
.sheet-story-mark[b-2fpia2nzlk] { color: var(--relish-herb, #6b8e4e); margin-right: 6px; font-style: normal; }
.sheet-story-attr[b-2fpia2nzlk] { display: block; margin-top: 4px; font-style: normal; font-size: var(--relish-fs-12, 12px); font-weight: 600; color: var(--relish-herb-deep, #4a6b34); }
.sheet-ask[b-2fpia2nzlk] {
    margin: var(--relish-space-3) 0; padding: var(--relish-space-3);
    background: var(--relish-bg, #faf8f4); border: 1px solid var(--relish-line, #e6e2da);
    border-radius: 8px; display: flex; flex-direction: column; gap: 8px;
}
.sheet-ask-label[b-2fpia2nzlk] { font-weight: 600; font-size: var(--relish-fs-14); }
.sheet-ask-row[b-2fpia2nzlk] { display: flex; gap: 8px; }
.sheet-ask-input[b-2fpia2nzlk] { flex: 1; padding: 8px 10px; border: 1px solid var(--relish-line, #d8d3c8); border-radius: 6px; font-size: var(--relish-fs-14); }
.sheet-ask-answer[b-2fpia2nzlk] { margin: 0; font-size: var(--relish-fs-14); line-height: 1.5; }
.sheet-ask-fallback[b-2fpia2nzlk] { margin: 0; font-size: var(--relish-fs-14); color: var(--relish-ink-soft); }
.sheet-ask-safety[b-2fpia2nzlk] { margin: 0; font-size: var(--relish-fs-13); color: var(--relish-ink-soft); display: flex; align-items: baseline; gap: 6px; }

.muted[b-2fpia2nzlk] { color: var(--relish-ink-soft); }
.small[b-2fpia2nzlk] { font-size: var(--relish-fs-13); }

.error[b-2fpia2nzlk] {
    background: var(--relish-coral-wash);
    color: var(--relish-danger);
    border: 1px solid var(--relish-danger);
    padding: var(--relish-space-3) var(--relish-space-4);
    border-radius: var(--relish-radius-card);
}

/* Allergen safety flags on the customer menu. Conflicts are prominent; plain allergen
   notes are muted. Inferred data is always caveated in the text, never shown as "safe". */
.meal-allergen-flag[b-2fpia2nzlk], .sheet-allergen-flag[b-2fpia2nzlk] {
    display: block;
    margin-top: 6px;
    padding: 4px 8px;
    border-radius: var(--relish-radius-control, 8px);
    background: var(--relish-coral-wash);
    color: var(--relish-coral-deep, var(--relish-coral));
    font-size: var(--relish-fs-13, 0.8rem);
    font-weight: 600;
    line-height: 1.3;
}
.meal-allergen-flag .fa-triangle-exclamation[b-2fpia2nzlk], .sheet-allergen-flag .fa-triangle-exclamation[b-2fpia2nzlk] { margin-right: 4px; }
.sheet-allergen-flag[b-2fpia2nzlk] { margin: 8px 0; padding: 8px 10px; }
.meal-allergen-note[b-2fpia2nzlk], .sheet-allergen-note[b-2fpia2nzlk] {
    display: block;
    margin-top: 4px;
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-12, 0.72rem);
}
.sheet-allergen-note[b-2fpia2nzlk] { margin: 6px 0; }

/* Prices (only when the service shows them) */
.meal-price[b-2fpia2nzlk] { display: block; font-weight: 700; color: var(--relish-ink); font-size: var(--relish-fs-13, 13px); margin: 2px 0; }
.sheet-price[b-2fpia2nzlk] { margin: 0 0 4px; font-weight: 700; font-size: 18px; color: var(--relish-ink); }

/* ---------------------------------------------------------------------------
   Degraded-state notices.

   These exist because an empty result from "nothing to show" and an empty result
   from "the read threw" must never look the same. Both pair a Font Awesome glyph
   with text (AGENTS.md: colour never carries safety meaning alone), and both are
   role="alert" so a screen reader announces them.
   --------------------------------------------------------------------------- */

/* Allergen cross-check failed: the menu below carries NO allergy warnings. This is the
   loudest thing on the page on purpose — a customer must not read a missing badge as safe. */
.menu-allergen-outage[b-2fpia2nzlk] {
    margin: var(--relish-space-3) 0 var(--relish-space-4);
    padding: var(--relish-space-3) var(--relish-space-4);
    border: 2px solid var(--relish-danger);
    border-left-width: 6px;
    border-radius: var(--relish-radius-card);
    background: var(--relish-coral-wash);
    color: var(--relish-danger);
}
.menu-allergen-outage__head[b-2fpia2nzlk] {
    margin: 0 0 4px;
    font-weight: 700;
    font-size: var(--relish-fs-15, 0.95rem);
    line-height: 1.3;
}
.menu-allergen-outage__head .fa-triangle-exclamation[b-2fpia2nzlk] { margin-right: 6px; }
.menu-allergen-outage__body[b-2fpia2nzlk] {
    margin: 0;
    font-size: var(--relish-fs-13, 0.8rem);
    line-height: 1.45;
    color: var(--relish-ink);
}

/* Same message inside the dish sheet, so it is present wherever a customer reads
   about a single dish rather than scanning the grid. */
.sheet-allergen-outage[b-2fpia2nzlk] {
    margin: 8px 0;
    padding: 8px 10px;
    border: 2px solid var(--relish-danger);
    border-radius: var(--relish-radius-control, 8px);
    background: var(--relish-coral-wash);
    color: var(--relish-ink);
    font-size: var(--relish-fs-13, 0.8rem);
    line-height: 1.45;
}
.sheet-allergen-outage .fa-triangle-exclamation[b-2fpia2nzlk] { margin-right: 6px; color: var(--relish-danger); }
.sheet-allergen-outage strong[b-2fpia2nzlk] { color: var(--relish-danger); }

/* Ordering could not be opened because something broke — deliberately worded and styled
   differently from the calm, expected "ordering isn't open" state, which stays muted. */
.menu-ordering-outage[b-2fpia2nzlk],
.sheet-ordering-outage[b-2fpia2nzlk] {
    margin: var(--relish-space-3) 0;
    padding: var(--relish-space-3) var(--relish-space-4);
    border: 1px solid var(--relish-danger);
    border-radius: var(--relish-radius-card);
    background: var(--relish-coral-wash);
    color: var(--relish-ink);
    font-size: var(--relish-fs-13, 0.8rem);
    line-height: 1.45;
}
.menu-ordering-outage .fa-circle-exclamation[b-2fpia2nzlk],
.sheet-ordering-outage .fa-circle-exclamation[b-2fpia2nzlk] { margin-right: 6px; color: var(--relish-danger); }
/* /Components/Pages/OrderForm.razor.rz.scp.css */
.order-head[b-hh2euyetuk] {
    padding: var(--relish-space-4) 0 var(--relish-space-3);
}

.back[b-hh2euyetuk] {
    color: var(--relish-herb);
    text-decoration: none;
    font-size: var(--relish-fs-14);
    font-weight: 600;
}

.order-head h1[b-hh2euyetuk] {
    margin: var(--relish-space-2) 0 var(--relish-space-1);
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-36);
    color: var(--relish-ink);
}

.order-sub[b-hh2euyetuk] {
    margin: 0 0 var(--relish-space-4);
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-13);
}

.muted[b-hh2euyetuk] { color: var(--relish-ink-soft); }

.error[b-hh2euyetuk] {
    background: var(--relish-coral-wash);
    color: var(--relish-danger);
    border: 1px solid var(--relish-danger);
    padding: var(--relish-space-3) var(--relish-space-4);
    border-radius: var(--relish-radius-card);
}

.order-empty[b-hh2euyetuk] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--relish-space-3);
}

.order-lines[b-hh2euyetuk] {
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-3);
}

.order-line[b-hh2euyetuk] {
    background: var(--relish-card);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    box-shadow: var(--relish-elevation-1);
    overflow: hidden;
}

.order-line.expanded[b-hh2euyetuk] {
    border-color: var(--relish-herb-light);
}

/* Title on its own full-width line; the whole row (title + chevron) toggles expand. */
.order-line-title-row[b-hh2euyetuk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--relish-space-2);
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: var(--relish-space-3) var(--relish-space-3) var(--relish-space-2);
}

.order-line-name[b-hh2euyetuk] {
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-18);
    color: var(--relish-ink);
}

.order-line-chev[b-hh2euyetuk] {
    flex: 0 0 auto;
    color: var(--relish-ink-soft);
    margin-left: var(--relish-space-2);
}

.order-line-labels[b-hh2euyetuk] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    padding: 0 var(--relish-space-3) var(--relish-space-2);
}

.order-label[b-hh2euyetuk] {
    font-size: var(--relish-fs-12);
    font-weight: 600;
    color: var(--relish-herb-deep);
    background: var(--relish-herb-wash);
    border-radius: var(--relish-radius-pill);
    padding: 1px 8px;
}

.order-line-note[b-hh2euyetuk] {
    font-style: italic;
    font-size: var(--relish-fs-12);
    color: var(--relish-ink-soft);
}

/* Quantity on its own line beneath the title, right-aligned. Stepping below 1 removes
   the line (confirmed), so there is no separate remove button. */
.order-line-qty[b-hh2euyetuk] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 var(--relish-space-3) var(--relish-space-3);
}

/* In-page confirmation shown in place of the quantity row when a line is about to be
   removed (stepping below one). No browser alert. */
.order-remove-confirm[b-hh2euyetuk] {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: var(--relish-space-2) var(--relish-space-3);
    padding: 0 var(--relish-space-3) var(--relish-space-3);
}

.order-remove-confirm-text[b-hh2euyetuk] {
    color: var(--relish-ink);
    font-size: var(--relish-fs-14);
    font-weight: 600;
    margin-right: auto;
}

.order-remove-confirm-actions[b-hh2euyetuk] {
    display: inline-flex;
    align-items: center;
    gap: var(--relish-space-2);
}

.btn-ghost[b-hh2euyetuk],
.btn-danger[b-hh2euyetuk] {
    min-height: 34px;
    padding: 0 var(--relish-space-4);
    border-radius: var(--relish-radius-pill);
    font-size: var(--relish-fs-14);
    font-weight: 600;
    cursor: pointer;
}

.btn-ghost[b-hh2euyetuk] {
    border: 1px solid var(--relish-border);
    background: var(--relish-surface);
    color: var(--relish-ink);
}
.btn-ghost:hover[b-hh2euyetuk] { background: var(--relish-surface-sunken, #efeae0); }

.btn-danger[b-hh2euyetuk] {
    border: 0;
    background: var(--relish-coral);
    color: #fff;
}
.btn-danger:hover[b-hh2euyetuk] { filter: brightness(1.05); }

/* Compact quantity stepper — a little breathing room around the count. */
.stepper--sm[b-hh2euyetuk] {
    display: inline-flex;
    align-items: center;
    gap: var(--relish-space-2);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-pill);
    padding: 3px;
    background: var(--relish-surface);
}

.stepper--sm .step[b-hh2euyetuk] {
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 50%;
    background: var(--relish-herb);
    color: var(--relish-on-brand);
    font-size: var(--relish-fs-16);
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}
.stepper--sm .step:hover[b-hh2euyetuk] { filter: brightness(1.08); }
.stepper--sm .step-qty[b-hh2euyetuk] {
    min-width: 2.4em;
    text-align: center;
    font-weight: 700;
    color: var(--relish-ink);
    font-size: var(--relish-fs-15);
}

.order-line-body[b-hh2euyetuk] {
    padding: 0 var(--relish-space-3) var(--relish-space-3);
    border-top: 1px solid var(--relish-border);
}

.order-subhead[b-hh2euyetuk] {
    display: block;
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-16);
    color: var(--relish-ink);
    margin: var(--relish-space-3) 0 var(--relish-space-2);
}

.option-list[b-hh2euyetuk] { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--relish-space-2); }
.option-list li[b-hh2euyetuk] { display: flex; align-items: center; gap: var(--relish-space-2); font-size: var(--relish-fs-14); color: var(--relish-ink); }
.option-pick[b-hh2euyetuk] { display: flex; align-items: center; gap: var(--relish-space-2); cursor: pointer; }
.option-pick input[type=checkbox][b-hh2euyetuk] { width: 1rem; height: 1rem; }

.option-kind[b-hh2euyetuk] {
    flex: none;
    font-size: var(--relish-fs-12);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: var(--relish-radius-pill);
    padding: 1px 8px;
}
.kind-swap[b-hh2euyetuk] { background: var(--relish-herb-wash); color: var(--relish-herb-deep); }
.kind-add[b-hh2euyetuk] { background: var(--relish-herb-wash); color: var(--relish-herb-deep); }
.kind-remove[b-hh2euyetuk] { background: var(--relish-coral-wash); color: var(--relish-coral); }
.option-desc[b-hh2euyetuk] { color: var(--relish-ink); }

.order-notes[b-hh2euyetuk], .order-note-whole[b-hh2euyetuk] { display: block; margin-top: var(--relish-space-3); }
.order-note-whole[b-hh2euyetuk] { margin-top: var(--relish-space-5); }
.notes-input[b-hh2euyetuk] {
    width: 100%;
    box-sizing: border-box;
    padding: var(--relish-space-2) var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    background: var(--relish-surface);
    color: var(--relish-ink);
    font-size: var(--relish-fs-15);
    font-family: inherit;
    resize: vertical;
}
.notes-input:focus[b-hh2euyetuk] { outline: 2px solid var(--relish-herb); outline-offset: 1px; }

.order-footer[b-hh2euyetuk] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-3);
    margin: var(--relish-space-5) 0 var(--relish-space-6);
    flex-wrap: wrap;
}
.order-count[b-hh2euyetuk] { color: var(--relish-ink-soft); font-size: var(--relish-fs-14); }
.order-total[b-hh2euyetuk] { font-weight: 700; color: var(--relish-ink); font-size: var(--relish-fs-16); }

.add[b-hh2euyetuk] {
    display: inline-block;
    min-height: var(--relish-touch-min);
    line-height: var(--relish-touch-min);
    padding: 0 var(--relish-space-5);
    border: 0;
    border-radius: var(--relish-radius-pill);
    background: var(--relish-herb);
    color: var(--relish-on-brand);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}
.add:hover[b-hh2euyetuk] { filter: brightness(1.08); }
.order-more[b-hh2euyetuk] { margin-left: auto; }
/* /Components/Pages/Platform/TenantsConsole.razor.rz.scp.css */
.envs[b-3jiuc15gar] { max-width: 1040px; }

.envs__head[b-3jiuc15gar] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--relish-space-4);
    margin-bottom: var(--relish-space-4);
}

.envs__title[b-3jiuc15gar] {
    font-family: var(--relish-font-display);
    font-size: var(--relish-fs-28);
    margin: 0;
}

.envs__subtitle[b-3jiuc15gar] {
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-13);
    margin: var(--relish-space-1) 0 0;
    max-width: 60ch;
}

.envs__stats[b-3jiuc15gar] {
    display: flex;
    gap: var(--relish-space-3);
    margin-bottom: var(--relish-space-5);
    flex-wrap: wrap;
}

.envs__stat[b-3jiuc15gar] {
    display: flex;
    flex-direction: column;
    min-width: 96px;
    padding: var(--relish-space-3) var(--relish-space-4);
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
}

.envs__stat-num[b-3jiuc15gar] { font-family: var(--relish-font-display); font-size: var(--relish-fs-28); line-height: 1; }
.envs__stat-label[b-3jiuc15gar] { font-size: var(--relish-fs-12); text-transform: uppercase; letter-spacing: 0.05em; color: var(--relish-ink-soft); margin-top: var(--relish-space-1); }

.envs__search[b-3jiuc15gar] {
    width: 100%;
    max-width: 360px;
    min-height: var(--relish-touch-min);
    padding: 0 var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    background: var(--relish-surface);
    color: var(--relish-ink);
    font-size: var(--relish-fs-14);
    font-family: inherit;
    margin-bottom: var(--relish-space-4);
}
.envs__search:focus[b-3jiuc15gar] { outline: 2px solid var(--relish-gold); outline-offset: 1px; }

.envs__error[b-3jiuc15gar] {
    background: var(--relish-coral-wash);
    color: var(--relish-ink);
    border: 1px solid var(--relish-coral);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4);
    margin-bottom: var(--relish-space-4);
    font-size: var(--relish-fs-14);
}

.envs__table[b-3jiuc15gar] {
    width: 100%;
    border-collapse: collapse;
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-card);
    overflow: hidden;
}

.envs__table th[b-3jiuc15gar],
.envs__table td[b-3jiuc15gar] {
    text-align: left;
    padding: var(--relish-space-3) var(--relish-space-4);
    border-bottom: 1px solid var(--relish-border);
    vertical-align: middle;
}

.envs__table th[b-3jiuc15gar] {
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--relish-ink-soft);
    background: var(--relish-cream);
}

.envs__table tr:last-child td[b-3jiuc15gar] { border-bottom: none; }

.envs__name[b-3jiuc15gar] { font-weight: 600; color: var(--relish-ink); }
.envs__id[b-3jiuc15gar] { font-size: var(--relish-fs-13); background: var(--relish-cream); border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); padding: 1px 6px; color: var(--relish-ink-soft); }
.envs__plan[b-3jiuc15gar] { font-size: var(--relish-fs-13); color: var(--relish-ink-soft); text-transform: capitalize; }
.envs__date[b-3jiuc15gar] { font-size: var(--relish-fs-13); color: var(--relish-ink-soft); white-space: nowrap; }
.envs__muted[b-3jiuc15gar] { color: var(--relish-ink-soft); font-size: var(--relish-fs-13); }
.envs__empty[b-3jiuc15gar] { text-align: center; color: var(--relish-ink-soft); padding: var(--relish-space-5); }
.envs__actions-col[b-3jiuc15gar], .envs__actions[b-3jiuc15gar] { text-align: right; white-space: nowrap; }

.badge[b-3jiuc15gar] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 10px;
    border-radius: var(--relish-radius-pill);
    font-size: var(--relish-fs-12);
    font-weight: 600;
}

.badge--active[b-3jiuc15gar] { background: var(--relish-herb-wash); color: var(--relish-herb-deep); }
.badge--suspended[b-3jiuc15gar] { background: var(--relish-coral-wash); color: var(--relish-coral); }
.badge--archived[b-3jiuc15gar] { background: var(--relish-border); color: var(--relish-ink-faint); }

.btn[b-3jiuc15gar] {
    min-height: var(--relish-touch-min);
    padding: 0 var(--relish-space-4);
    border-radius: var(--relish-radius-pill);
    font-size: var(--relish-fs-14);
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.btn--primary[b-3jiuc15gar] { background: var(--relish-herb); color: var(--relish-on-brand); }
.btn--primary:hover[b-3jiuc15gar] { background: var(--relish-herb-deep); }

.btn--ghost[b-3jiuc15gar] {
    background: transparent;
    border-color: var(--relish-border);
    color: var(--relish-ink);
    padding: 0 var(--relish-space-3);
}
.btn--ghost:hover[b-3jiuc15gar] { border-color: var(--relish-herb); color: var(--relish-herb-deep); }

.btn--danger[b-3jiuc15gar] { background: transparent; border-color: var(--relish-danger); color: var(--relish-danger); }
.btn--danger:hover[b-3jiuc15gar] { background: var(--relish-danger); color: var(--relish-on-brand); }

/* Sheets */
.sheet-scrim[b-3jiuc15gar] { position: fixed; inset: 0; background: rgba(31, 36, 33, 0.35); z-index: 40; }
.sheet[b-3jiuc15gar] {
    position: fixed; top: 0; right: 0; bottom: 0;
    width: min(440px, 94vw);
    background: var(--relish-surface);
    box-shadow: var(--relish-elevation-1);
    z-index: 50;
    padding: var(--relish-space-6);
    overflow-y: auto;
}
.sheet__close[b-3jiuc15gar] { position: absolute; top: var(--relish-space-4); right: var(--relish-space-4); background: transparent; border: none; font-size: var(--relish-fs-18); color: var(--relish-ink-soft); cursor: pointer; }
.sheet__title[b-3jiuc15gar] { font-family: var(--relish-font-display); font-size: var(--relish-fs-22); margin: 0 0 var(--relish-space-3); }

.field[b-3jiuc15gar] { display: flex; flex-direction: column; gap: 4px; margin-bottom: var(--relish-space-4); font-size: var(--relish-fs-13); color: var(--relish-ink-soft); border: none; padding: 0; }
.field legend[b-3jiuc15gar] { font-weight: 600; color: var(--relish-ink); margin-bottom: var(--relish-space-2); padding: 0; }
.field__input[b-3jiuc15gar] { padding: var(--relish-space-2) var(--relish-space-3); border: 1px solid var(--relish-border); border-radius: var(--relish-radius-control); background: var(--relish-surface); color: var(--relish-ink); font-size: var(--relish-fs-15); font-family: inherit; }
.field__input:focus[b-3jiuc15gar] { outline: 2px solid var(--relish-gold); outline-offset: 1px; }
.field__hint[b-3jiuc15gar] { font-size: var(--relish-fs-12); color: var(--relish-ink-faint); }

.envs__manage-meta[b-3jiuc15gar] { display: flex; align-items: center; gap: var(--relish-space-3); margin: 0 0 var(--relish-space-2); }
.envs__lifecycle[b-3jiuc15gar] { display: flex; gap: var(--relish-space-2); flex-wrap: wrap; }
.envs__plan-edit[b-3jiuc15gar] { display: flex; gap: var(--relish-space-2); align-items: center; }
.envs__plan-edit .field__input[b-3jiuc15gar] { flex: 1; }

.sheet__error[b-3jiuc15gar] { background: var(--relish-coral-wash); color: var(--relish-ink); border: 1px solid var(--relish-coral); border-radius: var(--relish-radius-control); padding: var(--relish-space-2) var(--relish-space-3); font-size: var(--relish-fs-13); }
.sheet__actions[b-3jiuc15gar] { display: flex; gap: var(--relish-space-3); margin-top: var(--relish-space-4); }

@media (max-width: 720px) {
    .envs__head[b-3jiuc15gar] { flex-direction: column; }
}
/* /Components/Pages/SetPassword.razor.rz.scp.css */
.setpw[b-ag2y8rk21j] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--relish-space-6) var(--relish-space-4);
    background: var(--relish-cream);
}

.setpw__card[b-ag2y8rk21j] {
    width: 100%;
    max-width: 480px;
    background: var(--relish-surface);
    border-radius: var(--relish-radius-card);
    box-shadow: var(--relish-elevation-1);
    padding: var(--relish-space-6);
}

.setpw__brand[b-ag2y8rk21j] {
    font-family: var(--relish-font-display);
    color: var(--relish-herb-deep);
    font-size: var(--relish-fs-28);
    margin: 0 0 var(--relish-space-2);
}

.setpw__lead[b-ag2y8rk21j] {
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-14);
    margin: 0 0 var(--relish-space-5);
}

.setpw__error[b-ag2y8rk21j] {
    background: var(--relish-coral-wash);
    color: var(--relish-danger);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3);
    font-size: var(--relish-fs-14);
    margin: 0 0 var(--relish-space-4);
}

.setpw__form[b-ag2y8rk21j] {
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-3);
}

.setpw__label[b-ag2y8rk21j] {
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-1);
    font-size: var(--relish-fs-14);
    color: var(--relish-ink-soft);
}

.setpw__input[b-ag2y8rk21j] {
    padding: var(--relish-space-2) var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    font-size: var(--relish-fs-16);
    background: var(--relish-surface);
    color: var(--relish-ink);
}

.setpw__submit[b-ag2y8rk21j] {
    margin-top: var(--relish-space-2);
    padding: var(--relish-space-3);
    background: var(--relish-herb);
    color: var(--relish-on-brand);
    border: none;
    border-radius: var(--relish-radius-pill);
    font-size: var(--relish-fs-16);
    cursor: pointer;
}

.setpw__submit:hover[b-ag2y8rk21j] {
    background: var(--relish-herb-deep);
}
/* /Components/Pages/SignIn.razor.rz.scp.css */
/*
 * The sign-in screen is Relish's public landing page: the brand takes the left half
 * (the whole top band on a phone) and the form sits beside it. Nothing here asks which
 * app you want — role routing decides that (Relish.Web.Auth.RelishHome).
 */
.signin[b-d8fvyuicqg] {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1fr;
    background: var(--relish-cream);
}

/* ---- Brand half ---- */

.signin__hero[b-d8fvyuicqg] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--relish-space-6);
    padding: var(--relish-space-10) var(--relish-space-6);
    background:
        radial-gradient(120% 90% at 8% 0%, rgba(124, 144, 112, .38) 0%, rgba(124, 144, 112, 0) 58%),
        linear-gradient(160deg, var(--relish-herb-deep) 0%, var(--relish-herb) 100%);
    color: var(--relish-on-brand);
}

.signin__lockup[b-d8fvyuicqg] {
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-3);
}

.signin__mark[b-d8fvyuicqg] {
    font-family: var(--relish-font-display);
    font-weight: 500;
    font-size: clamp(52px, 11vw, 104px);
    line-height: .95;
    letter-spacing: -.02em;
    margin: 0;
    color: var(--relish-on-brand);
    text-wrap: balance;
}

.signin__tagline[b-d8fvyuicqg] {
    margin: 0;
    font-size: var(--relish-fs-13);
    text-transform: uppercase;
    letter-spacing: .22em;
    color: rgba(255, 255, 255, .75);
}

/* A hairline above the tagline reads as a wordmark lockup rather than two stacked lines. */
.signin__tagline[b-d8fvyuicqg]::before {
    content: "";
    display: block;
    width: 56px;
    height: 1px;
    margin-bottom: var(--relish-space-3);
    background: rgba(255, 255, 255, .45);
}

.signin__hero-lede[b-d8fvyuicqg] {
    margin: 0;
    max-width: 44ch;
    font-size: var(--relish-fs-16);
    line-height: 1.6;
    color: rgba(255, 255, 255, .82);
}

/* ---- Form half ---- */

.signin__panel[b-d8fvyuicqg] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--relish-space-8) var(--relish-space-5) var(--relish-space-10);
}

.signin__card[b-d8fvyuicqg] {
    width: 100%;
    max-width: 420px;
    background: var(--relish-surface);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-sheet);
    box-shadow: var(--relish-elevation-1);
    padding: var(--relish-space-8);
}

.signin__title[b-d8fvyuicqg] {
    font-family: var(--relish-font-display);
    font-weight: 500;
    font-size: var(--relish-fs-28);
    color: var(--relish-ink);
    margin: 0 0 var(--relish-space-6);
}

.signin__nativeform[b-d8fvyuicqg] {
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-4);
}

.signin__label[b-d8fvyuicqg] {
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-1);
    font-size: var(--relish-fs-13);
    font-weight: 600;
    color: var(--relish-ink-soft);
}

.signin__input[b-d8fvyuicqg] {
    min-height: var(--relish-touch-min);
    padding: 0 var(--relish-space-3);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    background: var(--relish-surface);
    color: var(--relish-ink);
    font-size: var(--relish-fs-16);
    font-family: var(--relish-font-body);
}

.signin__input:focus[b-d8fvyuicqg] {
    outline: 2px solid var(--relish-herb);
    outline-offset: 1px;
}

.signin__submit[b-d8fvyuicqg] {
    min-height: var(--relish-touch-min);
    margin-top: var(--relish-space-2);
    background: var(--relish-herb);
    color: var(--relish-on-brand);
    border: none;
    border-radius: var(--relish-radius-pill);
    font-size: var(--relish-fs-16);
    font-weight: 600;
    font-family: var(--relish-font-body);
    cursor: pointer;
}

.signin__submit:hover[b-d8fvyuicqg] {
    background: var(--relish-herb-deep);
}

.signin__forgot[b-d8fvyuicqg] {
    margin: var(--relish-space-4) 0 0;
    font-size: var(--relish-fs-14);
}

.signin__forgot a[b-d8fvyuicqg] {
    color: var(--relish-herb);
}

/* ---- SSO ---- */

.signin__or[b-d8fvyuicqg] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-3);
    margin: var(--relish-space-6) 0 var(--relish-space-4);
    color: var(--relish-ink-faint);
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: .12em;
}

.signin__or[b-d8fvyuicqg]::before,
.signin__or[b-d8fvyuicqg]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--relish-border);
}

.signin__providers[b-d8fvyuicqg] {
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-3);
}

.signin__provider[b-d8fvyuicqg] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--relish-touch-min);
    padding: 0 var(--relish-space-4);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-pill);
    background: var(--relish-surface);
    color: var(--relish-ink);
    font-weight: 600;
    text-decoration: none;
}

.signin__provider:hover[b-d8fvyuicqg] {
    border-color: var(--relish-herb);
}

/* ---- Messages ---- */

.signin__error[b-d8fvyuicqg],
.signin__notice[b-d8fvyuicqg] {
    display: flex;
    align-items: flex-start;
    gap: var(--relish-space-2);
    border-radius: var(--relish-radius-control);
    padding: var(--relish-space-3) var(--relish-space-4);
    font-size: var(--relish-fs-14);
    margin: 0 0 var(--relish-space-5);
}

.signin__error[b-d8fvyuicqg] {
    background: var(--relish-coral-wash);
    color: var(--relish-ink);
    border: 1px solid var(--relish-coral);
}

.signin__notice[b-d8fvyuicqg] {
    background: var(--relish-herb-wash);
    color: var(--relish-ink);
    border: 1px solid var(--relish-herb);
}

/* ---- Dev test-auth (development only, collapsed by default) ---- */

.signin__dev[b-d8fvyuicqg] {
    margin-top: var(--relish-space-6);
    border-top: 1px solid var(--relish-border);
    padding-top: var(--relish-space-4);
}

.signin__dev summary[b-d8fvyuicqg] {
    display: flex;
    align-items: center;
    gap: var(--relish-space-2);
    min-height: var(--relish-touch-min);
    cursor: pointer;
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--relish-ink-soft);
}

.signin__lead[b-d8fvyuicqg] {
    color: var(--relish-ink-soft);
    font-size: var(--relish-fs-13);
    margin: var(--relish-space-2) 0 var(--relish-space-4);
}

.signin__tenant + .signin__tenant[b-d8fvyuicqg] {
    margin-top: var(--relish-space-5);
}

.signin__tenant-name[b-d8fvyuicqg] {
    font-size: var(--relish-fs-12);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--relish-ink-soft);
    margin: 0 0 var(--relish-space-3);
}

.signin__users[b-d8fvyuicqg] {
    display: flex;
    flex-direction: column;
    gap: var(--relish-space-3);
}

.signin__form[b-d8fvyuicqg] {
    margin: 0;
}

.signin__user[b-d8fvyuicqg] {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: var(--relish-space-3) var(--relish-space-4);
    min-height: var(--relish-touch-min);
    background: var(--relish-cream);
    border: 1px solid var(--relish-border);
    border-radius: var(--relish-radius-control);
    cursor: pointer;
    text-align: left;
    transition: border-color .15s ease, background .15s ease;
}

.signin__user:hover[b-d8fvyuicqg] {
    border-color: var(--relish-herb);
    background: var(--relish-surface);
}

.signin__user-name[b-d8fvyuicqg] {
    font-weight: 600;
    color: var(--relish-ink);
}

.signin__user-role[b-d8fvyuicqg] {
    font-size: var(--relish-fs-12);
    color: var(--relish-ink-soft);
}

/* ---- Desktop: brand beside the form ---- */

@media (min-width: 900px) {
    .signin[b-d8fvyuicqg] {
        grid-template-columns: 1.05fr 1fr;
    }

    .signin__hero[b-d8fvyuicqg] {
        padding: var(--relish-space-18) var(--relish-space-14);
        gap: var(--relish-space-8);
    }

    .signin__panel[b-d8fvyuicqg] {
        padding: var(--relish-space-14) var(--relish-space-10);
    }
}

/* ---- Phone: the brand is a band above the card ---- */

@media (max-width: 639px) {
    .signin__hero[b-d8fvyuicqg] {
        padding: var(--relish-space-10) var(--relish-space-5) var(--relish-space-8);
    }

    .signin__tagline[b-d8fvyuicqg] {
        font-size: var(--relish-fs-12);
        letter-spacing: .16em;
    }

    .signin__hero-lede[b-d8fvyuicqg] {
        font-size: var(--relish-fs-15);
    }

    .signin__panel[b-d8fvyuicqg] {
        padding: var(--relish-space-6) var(--relish-space-4) var(--relish-space-10);
    }

    .signin__card[b-d8fvyuicqg] {
        padding: var(--relish-space-6);
    }
}
