/* /Layout/LoginLayout.razor.rz.scp.css */
/* The signed-out shell: dark branded hero + light form panel. Stacks into a compact banner on phones. */

.login-shell[b-38axas4og6] {
    min-height: 100vh;
    width: 100%;
    display: grid;
    grid-template-columns: minmax(360px, 44%) minmax(0, 1fr);
}

/* ---- Hero panel ---- */

.login-hero[b-38axas4og6] {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    padding: 56px 52px 44px;
    background:
        radial-gradient(900px 520px at -10% -10%, rgba(158, 43, 51, .38), transparent 62%),
        radial-gradient(700px 420px at 110% 8%, rgba(158, 43, 51, .14), transparent 58%),
        var(--sidebar-bg);
    color: #E8E0D0;
}

.hero-top[b-38axas4og6] {
    position: relative;
    z-index: 1;
    max-width: 380px;
}

.hero-logo[b-38axas4og6] {
    width: 148px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .45);
    margin-bottom: 34px;
}

.hero-title[b-38axas4og6] {
    font-size: 27px;
    font-weight: 600;
    letter-spacing: -.4px;
    line-height: 1.22;
    color: #fff;
    margin: 0 0 12px;
}

.hero-sub[b-38axas4og6] {
    font-size: 14.5px;
    line-height: 1.55;
    color: rgba(232, 224, 208, .78);
    margin: 0 0 30px;
}

.hero-points[b-38axas4og6] {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 0;
    margin: 0;
}

.hero-points li[b-38axas4og6] {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13.5px;
    color: rgba(255, 255, 255, .82);
}

.hero-points svg[b-38axas4og6] {
    width: 18px;
    height: 18px;
    flex: none;
    color: #D98A91;   /* the maroon ramp's light step — reads on the dark panel */
}

.hero-bars[b-38axas4og6] {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 130px;
    opacity: .6;
    pointer-events: none;
}

.hero-foot[b-38axas4og6] {
    position: relative;
    z-index: 1;
    font-size: 12px;
    letter-spacing: .4px;
    color: rgba(232, 224, 208, .5);
}

/* ---- Form panel ---- */

.login-main[b-38axas4og6] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 24px;
    background: var(--bg);
}

/* ---- Phones: the hero collapses to a compact brand banner above the card ---- */

@media (max-width: 899px) {
    .login-shell[b-38axas4og6] {
        grid-template-columns: 1fr;
        grid-template-rows: auto 1fr;
    }

    .login-hero[b-38axas4og6] {
        padding: 22px 24px;
        flex-direction: row;
        align-items: center;
        gap: 16px;
    }

    .hero-logo[b-38axas4og6] {
        width: 86px;
        margin: 0;
    }

    .hero-title[b-38axas4og6] {
        font-size: 16px;
        margin: 0;
    }

    .hero-sub[b-38axas4og6],
    .hero-points[b-38axas4og6],
    .hero-bars[b-38axas4og6],
    .hero-foot[b-38axas4og6] {
        display: none;
    }
}

/* ---- The card (shared by Login, ForgotPassword and SetPassword) ----
   Scoped CSS applies only to the component that owns it, so these live HERE, on the layout that wraps
   all three pages, and reach the pages' markup through ::deep. (The forgot/set-password pages once
   pointed at Login's scoped styles and rendered unstyled — the 2026-08-21 fix.) */


.login-main[b-38axas4og6]  .login-card {
    width: 100%;
    max-width: 400px;
    background: var(--card);
    border: 1px solid var(--border);
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(16, 24, 40, .08);
    padding: 34px 32px 28px;
    animation: login-rise-b-38axas4og6 .35s ease-out both;
}

@keyframes login-rise-b-38axas4og6 {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: none; }
}

.login-main[b-38axas4og6]  .login-mark {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: var(--maroon);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 6px 16px rgba(158, 43, 51, .30);
    margin-bottom: 18px;
}

.login-main[b-38axas4og6]  .login-title {
    font-size: 22px;
    font-weight: 600;
    color: var(--ink);
    margin: 0;
    letter-spacing: -.3px;
}

.login-main[b-38axas4og6]  .login-subtitle {
    font-size: 13.5px;
    color: var(--text-muted);
    margin: 5px 0 24px;
}

.login-main[b-38axas4og6]  .login-field { margin-bottom: 16px; }

.login-main[b-38axas4og6]  .login-field label {
    display: block;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 6px;
}

/* InputText renders the input itself, so style it through the scoped wrapper. */
.login-main[b-38axas4og6]  .login-field input {
    width: 100%;
    height: 46px;
    padding: 0 14px;
    font-size: 14px;
    color: var(--ink);
    background: var(--card);
    border: 1px solid var(--border-input);
    border-radius: 10px;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
}

.login-main[b-38axas4og6]  .login-field input::placeholder { color: #B9BFC7; }

.login-main[b-38axas4og6]  .login-field input:focus {
    border-color: var(--maroon);
    box-shadow: 0 0 0 3px rgba(158, 43, 51, .14);
}

.login-main[b-38axas4og6]  .pw-wrap { position: relative; }

.login-main[b-38axas4og6]  .pw-wrap input { padding-right: 46px; }

.login-main[b-38axas4og6]  .pw-toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    border-radius: 0 10px 10px 0;
}

.login-main[b-38axas4og6]  .pw-toggle:hover { color: var(--ink); }
.login-main[b-38axas4og6]  .pw-toggle svg { width: 19px; height: 19px; }

.login-main[b-38axas4og6]  .login-submit {
    width: 100%;
    height: 46px;
    margin-top: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-size: 14.5px;
    font-weight: 600;
    color: #fff;
    background: var(--maroon);
    border: none;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0 6px 16px rgba(158, 43, 51, .28);
    transition: background .15s, transform .1s, box-shadow .15s;
}

.login-main[b-38axas4og6]  .login-submit:hover:not(:disabled) {
    background: var(--maroon-dark);
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(158, 43, 51, .34);
}

.login-main[b-38axas4og6]  .login-submit:disabled { opacity: .75; cursor: default; }

.login-main[b-38axas4og6]  .login-spin {
    width: 16px;
    height: 16px;
    flex: none;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .35);
    border-top-color: #fff;
    animation: login-spin-b-38axas4og6 .7s linear infinite;
}

@keyframes login-spin-b-38axas4og6 { to { transform: rotate(360deg); } }

.login-main[b-38axas4og6]  .login-error {
    margin-top: 16px;
    font-size: 13px;
    color: var(--maroon);
    background: #F8ECEC;
    border: 1px solid #EBD3D4;
    border-radius: 9px;
    padding: 10px 12px;
}

.login-main[b-38axas4og6]  .login-forgot {
    margin: 18px 0 0;
    font-size: 13px;
    text-align: center;
}

.login-main[b-38axas4og6]  .login-forgot a {
    color: var(--maroon);
    font-weight: 500;
    text-decoration: none;
}

.login-main[b-38axas4og6]  .login-forgot a:hover { text-decoration: underline; }
/* /Layout/MainLayout.razor.rz.scp.css */
.app[b-zthibpp881] {
    display: flex;
    height: 100vh;
    width: 100%;
    overflow: hidden;
    background: #F5F6F7;
}

.app-main[b-zthibpp881] {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.app-content[b-zthibpp881] {
    flex: 1;
    overflow-y: auto;
    padding: 26px 32px 40px;
    max-width: 1280px;
}

/* Phone chrome — hidden on tablet/desktop (≥768px), where the sidebar is an in-flow rail (NavMenu.razor.css). */
.m-topbar[b-zthibpp881] { display: none; }
.nav-scrim[b-zthibpp881] { display: none; }

/* Phones only (≤767px): the sidebar becomes an off-canvas drawer opened by the hamburger. Tablets keep the
   visible rail (which collapses to icons via its own arrow — see NavMenu.razor.css). */
@media (max-width: 767px) {
    /* Top bar with the hamburger. Dark to match the sidebar brand; pads under the notch when installed. */
    .m-topbar[b-zthibpp881] {
        display: flex;
        align-items: center;
        gap: 12px;
        flex: none;
        min-height: 56px;
        padding: env(safe-area-inset-top) 12px 0;
        background: #14181D;
    }

    .m-hamburger[b-zthibpp881] {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        flex: none;
        background: none;
        border: none;
        border-radius: 9px;
        color: #E4E8EC;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }
    .m-hamburger:hover[b-zthibpp881], .m-hamburger:active[b-zthibpp881] { background: rgba(255, 255, 255, .08); }
    .m-hamburger svg[b-zthibpp881] { width: 24px; height: 24px; }

    .m-logo[b-zthibpp881] { height: 34px; width: auto; }

    .app-content[b-zthibpp881] { padding: 16px 14px 32px; }

    /* Full-screen dim behind the open drawer; tap to close. */
    .nav-scrim[b-zthibpp881] {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 45;
        background: rgba(16, 24, 40, .5);
        opacity: 0;
        visibility: hidden;
        transition: opacity .2s ease, visibility .2s ease;
    }
    .app.nav-open .nav-scrim[b-zthibpp881] { opacity: 1; visibility: visible; }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.sidebar[b-c9f5toq4ih] {
    width: 248px;
    flex: none;
    height: 100vh;
    background: #14181D;
    display: flex;
    flex-direction: column;
    color: #9AA3AE;
    transition: width .18s ease;   /* smooth collapse/expand on tablet + desktop */
    position: relative;            /* anchor for the edge toggle */
    z-index: 10;                   /* so the edge toggle paints over the content, not under it */
}

/* ---- Brand ---- */
.brand[b-c9f5toq4ih] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 14px 14px;
}

.brand-logo-img[b-c9f5toq4ih] {
    display: block;
    width: 100%;
    max-width: 200px;
    height: auto;
}

/* Square red mark — only shown when the rail is collapsed (see the collapsed block below). */
.brand-mark[b-c9f5toq4ih] { display: none; }

/* Collapse/expand control — a round button straddling the sidebar's right edge, so it reads on both the dark
   rail and the light content and stays visible whether expanded or collapsed. Hidden on the phone drawer. */
.nav-edge-toggle[b-c9f5toq4ih] {
    position: absolute;
    top: 22px;
    right: -13px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #DDE1E6;
    color: #9E2B33;
    cursor: pointer;
    box-shadow: 0 1px 5px rgba(16, 24, 40, .18);
    transition: background .12s, box-shadow .12s;
}
.nav-edge-toggle:hover[b-c9f5toq4ih] { background: #FAFBFC; box-shadow: 0 2px 8px rgba(16, 24, 40, .26); }
.nav-edge-toggle svg[b-c9f5toq4ih] { width: 15px; height: 15px; }

/* ---- Nav ---- */
.nav[b-c9f5toq4ih] {
    flex: 1;
    overflow-y: auto;
    padding: 6px 12px 12px;
    display: block;
}

.nav-section[b-c9f5toq4ih] {
    color: #5C6671;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: .9px;
    text-transform: uppercase;
    padding: 14px 10px 7px;
}

/* NavLink renders its own <a>, so reach it with ::deep */
.nav[b-c9f5toq4ih]  a {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 9px 11px;
    border-radius: 9px;
    font-size: 13.5px;
    font-weight: 500;
    color: #9AA3AE;
    cursor: pointer;
    margin-bottom: 2px;
    text-decoration: none;
    transition: background .12s, color .12s;
}

.nav[b-c9f5toq4ih]  a svg {
    width: 18px;
    height: 18px;
    flex: none;
}

.nav[b-c9f5toq4ih]  a:hover {
    background: rgba(255, 255, 255, .06);
    color: #E4E8EC;
    text-decoration: none;
}

.nav[b-c9f5toq4ih]  a.active {
    color: #fff;
    background: rgba(158, 43, 51, .92);
    font-weight: 600;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .25);
}

/* ---- User footer (click to open the account menu) ---- */
.nav-footer[b-c9f5toq4ih] {
    position: relative;
    padding: 12px;
    margin-top: auto;
    border-top: 1px solid #21262D;
}

.nav-footer-user[b-c9f5toq4ih] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-align: left;
    color: inherit;
}

.nav-footer-user:hover .nav-footer-name[b-c9f5toq4ih] { color: #fff; }
.nav-footer-user:hover .nav-footer-caret[b-c9f5toq4ih] { color: #9AA3AE; }

.nav-footer-caret[b-c9f5toq4ih] {
    margin-left: auto;
    flex: none;
    display: flex;
    color: #5C6671;
}
/* icons come from MarkupString, so reach them with ::deep (scoped CSS won't tag raw markup) */
.nav-footer-caret[b-c9f5toq4ih]  svg { width: 16px; height: 16px; }

.nav-footer-backdrop[b-c9f5toq4ih] {
    position: fixed;
    inset: 0;
    z-index: 40;
}

.nav-footer-menu[b-c9f5toq4ih] {
    position: absolute;
    z-index: 41;
    bottom: calc(100% - 4px);
    left: 12px;
    right: 12px;
    background: #1C2229;
    border: 1px solid #2A313A;
    border-radius: 9px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, .45);
    padding: 5px;
}

.nav-footer-menu-item[b-c9f5toq4ih] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    background: none;
    border: none;
    padding: 9px 10px;
    border-radius: 7px;
    color: #D7DCE2;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    text-align: left;
}
.nav-footer-menu-item:hover[b-c9f5toq4ih] { background: rgba(255, 255, 255, .07); color: #fff; }
.nav-footer-menu-item[b-c9f5toq4ih]  svg { width: 17px; height: 17px; flex: none; }

.nav-footer-avatar[b-c9f5toq4ih] {
    width: 32px;
    height: 32px;
    flex: none;
    border-radius: 50%;
    background: #2A3038;
    color: #D7DCE2;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 12px;
}

.nav-footer-text[b-c9f5toq4ih] { line-height: 1.2; min-width: 0; }
.nav-footer-name[b-c9f5toq4ih] { color: #E4E8EC; font-size: 12.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nav-footer-role[b-c9f5toq4ih] { color: #6B7480; font-size: 11px; }

/* ---- Phone only (≤767px): the rail becomes an off-canvas drawer (toggled by MainLayout's hamburger). The
   collapse arrow is hidden here — the hamburger is the control — and the open drawer shows full labels. ---- */
@media (max-width: 767px) {
    .sidebar[b-c9f5toq4ih] {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        height: auto;
        width: 280px;
        max-width: 84vw;
        z-index: 50;
        transform: translateX(-100%);
        transition: transform .22s ease;
        box-shadow: 0 0 40px rgba(0, 0, 0, .45);
        padding-top: env(safe-area-inset-top);
    }
    .sidebar.open[b-c9f5toq4ih] { transform: translateX(0); }
    .nav-edge-toggle[b-c9f5toq4ih] { display: none; }

    /* Roomier tap targets in the drawer */
    .nav[b-c9f5toq4ih]  a { padding: 12px 12px; font-size: 15px; margin-bottom: 3px; }
    .nav[b-c9f5toq4ih]  a svg { width: 20px; height: 20px; }
    .nav-section[b-c9f5toq4ih] { font-size: 11px; padding: 16px 10px 8px; }
    .nav-footer-user[b-c9f5toq4ih] { padding: 4px 0; }
}

/* ---- Tablet + desktop (≥768px): the arrow collapses the visible rail to icons-only. MainLayout defaults it
   collapsed on tablet-width screens; the user can toggle either way. ---- */
@media (min-width: 768px) {
    .sidebar.collapsed[b-c9f5toq4ih] { width: 64px; }
    /* Collapsed: the square red mark replaces the wide logo (the edge toggle handles expand/collapse). */
    .sidebar.collapsed .brand[b-c9f5toq4ih] { padding: 14px 0 12px; }
    .sidebar.collapsed .brand-logo-img[b-c9f5toq4ih] { display: none; }
    .sidebar.collapsed .brand-mark[b-c9f5toq4ih] { display: block; width: 36px; height: 36px; border-radius: 9px; }
    .sidebar.collapsed .nav[b-c9f5toq4ih] { padding: 6px 8px 12px; }
    .sidebar.collapsed .nav-section[b-c9f5toq4ih] { display: none; }
    .sidebar.collapsed .nav[b-c9f5toq4ih]  a { justify-content: center; gap: 0; padding: 10px 0; }
    .sidebar.collapsed .nav[b-c9f5toq4ih]  a span { display: none; }   /* labels hidden — icon only */
    .sidebar.collapsed .nav-footer[b-c9f5toq4ih] { padding: 12px 0; }
    .sidebar.collapsed .nav-footer-user[b-c9f5toq4ih] { justify-content: center; }
    .sidebar.collapsed .nav-footer-text[b-c9f5toq4ih],
    .sidebar.collapsed .nav-footer-caret[b-c9f5toq4ih] { display: none; }
    /* The account menu must still escape the 64px rail when opened. */
    .sidebar.collapsed .nav-footer-menu[b-c9f5toq4ih] { left: 8px; right: auto; width: 220px; }
}
/* /Layout/UpdateNotice.razor.rz.scp.css */
.update-banner[b-d6ocllzg91],
.update-toast[b-d6ocllzg91] {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .6rem 1rem;
    border-radius: 10px;
    font-size: .95rem;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .18);
}

.update-banner[b-d6ocllzg91] {
    top: .75rem;
    background: #9e2b33;
    color: #fff;
}

.update-toast[b-d6ocllzg91] {
    top: .75rem;
    background: #1f6f43;
    color: #fff;
}

.update-reload[b-d6ocllzg91] {
    padding: .35rem .9rem;
    border: none;
    border-radius: 8px;
    background: #fff;
    color: #9e2b33;
    font-weight: 600;
    cursor: pointer;
}

.update-dismiss[b-d6ocllzg91] {
    border: none;
    background: transparent;
    color: #fff;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    opacity: .85;
}
/* /Layout/WallLayout.razor.rz.scp.css */
.wall-shell[b-899lvvis8q] {
    position: fixed;
    inset: 0;
    background: #14181d;
    color: #f2efeb;
    overflow: hidden;
    font-family: 'Segoe UI', system-ui, sans-serif;
}
/* /Pages/Ask.razor.rz.scp.css */
.ask-panel[b-zwsr68guu7] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.ask-empty[b-zwsr68guu7] {
    color: #75706b;
}

.ask-history-link[b-zwsr68guu7] {
    font-size: .85rem;
    font-weight: 400;
    margin-left: .75rem;
    color: #9e2b33;
    vertical-align: middle;
}

.ask-setup[b-zwsr68guu7] {
    background: #faeeda;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    color: #633806;
}

.ask-setup p[b-zwsr68guu7] { margin: .35rem 0 0; }
.ask-setup code[b-zwsr68guu7] { background: rgba(0, 0, 0, .06); padding: .1rem .3rem; border-radius: 4px; }

.ask-suggestions p[b-zwsr68guu7] {
    margin: 0 0 .5rem;
    color: #75706b;
    font-size: .9rem;
}

.ask-chip[b-zwsr68guu7] {
    display: inline-block;
    margin: 0 .5rem .5rem 0;
    padding: .45rem .8rem;
    border: 1px solid #e2ddd6;
    border-radius: 999px;
    background: #fff;
    color: #3b3733;
    font-size: .85rem;
    cursor: pointer;
}

.ask-chip:hover:not(:disabled)[b-zwsr68guu7] {
    border-color: #9e2b33;
    color: #9e2b33;
}

.ask-thread[b-zwsr68guu7] {
    display: flex;
    flex-direction: column;
    gap: .65rem;
}

.ask-q[b-zwsr68guu7] {
    align-self: flex-end;
    max-width: 85%;
    background: #9e2b33;
    color: #fff;
    padding: .55rem .9rem;
    border-radius: 14px 14px 4px 14px;
}

.ask-a[b-zwsr68guu7] {
    align-self: flex-start;
    max-width: 92%;
    background: #f6f3ef;
    padding: .7rem 1rem;
    border-radius: 14px 14px 14px 4px;
}

.ask-a p[b-zwsr68guu7] { margin: 0 0 .5rem; }
.ask-a p:last-of-type[b-zwsr68guu7] { margin-bottom: 0; }

.ask-error[b-zwsr68guu7] {
    background: #fdeeee;
    color: #8a2a2a;
}

.ask-busy[b-zwsr68guu7] {
    color: #75706b;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.ask-dots i[b-zwsr68guu7] {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 3px;
    border-radius: 50%;
    background: #9e2b33;
    animation: ask-bounce-b-zwsr68guu7 1.2s infinite;
}

.ask-dots i:nth-child(2)[b-zwsr68guu7] { animation-delay: .15s; }
.ask-dots i:nth-child(3)[b-zwsr68guu7] { animation-delay: .3s; }

@keyframes ask-bounce-b-zwsr68guu7 {
    0%, 60%, 100% { transform: translateY(0); opacity: .5; }
    30% { transform: translateY(-4px); opacity: 1; }
}

.ask-working[b-zwsr68guu7] {
    margin-top: .6rem;
    font-size: .82rem;
}

.ask-working summary[b-zwsr68guu7] {
    cursor: pointer;
    color: #9e2b33;
}

.ask-query[b-zwsr68guu7] {
    margin-top: .5rem;
}

.ask-query pre[b-zwsr68guu7] {
    margin: 0 0 .2rem;
    padding: .5rem .7rem;
    background: #fff;
    border: 1px solid #e2ddd6;
    border-radius: 6px;
    white-space: pre-wrap;
    word-break: break-word;
    font-size: .78rem;
}

.ask-query-meta[b-zwsr68guu7] {
    color: #75706b;
}

.ask-form[b-zwsr68guu7] {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    max-width: none;   /* the site-wide form cap (580px, for the CRUD pages) doesn't suit a chat box */
    width: 100%;
}

.ask-form-actions[b-zwsr68guu7] {
    display: flex;
    gap: .5rem;
    align-items: center;
}

/* Input + Ask button on one row; stretch makes the button exactly the input's height. */
.ask-row[b-zwsr68guu7] {
    display: flex;
    gap: .5rem;
    align-items: stretch;
}

.ask-input[b-zwsr68guu7] {
    flex: 1 1 auto;
    min-width: 0;
    box-sizing: border-box;
    padding: .75rem .9rem;
    font-size: 1rem;
    border: 1px solid #e2ddd6;
    border-radius: 8px;
}

.ask-input:focus[b-zwsr68guu7] {
    outline: none;
    border-color: #9e2b33;
    box-shadow: 0 0 0 3px rgba(158, 43, 51, .12);
}

.ask-send[b-zwsr68guu7] {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    padding: 0 1.3rem;   /* height comes from the row's stretch, so it always matches the input */
    border: none;
    border-radius: 8px;
    background: #9e2b33;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.ask-send:disabled[b-zwsr68guu7] { opacity: .5; cursor: default; }

.ask-clear[b-zwsr68guu7] {
    padding: .6rem .9rem;
    border: 1px solid #e2ddd6;
    border-radius: 8px;
    background: #fff;
    color: #75706b;
    cursor: pointer;
}
/* /Pages/AskAnswerChart.razor.rz.scp.css */
.akc[b-1wadfwigdb] {
    margin-top: .7rem;
    background: #fff;
    border: 1px solid #e2ddd6;
    border-radius: 8px;
    padding: .8rem 1rem;
}

.akc-title[b-1wadfwigdb] {
    font-size: .85rem;
    font-weight: 600;
    color: #14181d;
    margin-bottom: .5rem;
}

.akc-legend[b-1wadfwigdb] {
    display: flex;
    gap: .9rem;
    flex-wrap: wrap;
    margin-bottom: .5rem;
    font-size: .78rem;
    color: #3b3733;
}

.akc-key[b-1wadfwigdb] {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.akc-key i[b-1wadfwigdb] {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    display: inline-block;
}

.akc-key b[b-1wadfwigdb] {
    color: #75706b;
    font-weight: 600;
}

.akc-bars[b-1wadfwigdb] {
    display: flex;
    flex-direction: column;
    gap: .35rem;
}

.akc-row[b-1wadfwigdb] {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-size: .8rem;
}

.akc-label[b-1wadfwigdb] {
    flex: 0 0 130px;
    color: #3b3733;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: right;
}

.akc-barzone[b-1wadfwigdb] {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: #f8ecec;
    border-radius: 3px;
    padding: 2px;
}

.akc-bar[b-1wadfwigdb] {
    display: block;
    height: 10px;
    border-radius: 2px;
    min-width: 2px;
}

.akc-value[b-1wadfwigdb] {
    flex: 0 0 64px;
    color: #14181d;
    white-space: nowrap;
}

.akc-line[b-1wadfwigdb] {
    width: 100%;
    height: auto;
}

.akc-pie[b-1wadfwigdb] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.akc-pie svg[b-1wadfwigdb] {
    width: 180px;
    height: 180px;
    flex: 0 0 auto;
}

.akc-pie-legend[b-1wadfwigdb] {
    display: flex;
    flex-direction: column;
    gap: .3rem;
    font-size: .8rem;
}
/* /Pages/AskHistory.razor.rz.scp.css */
.ah-empty[b-sreg4y3wao] {
    color: #75706b;
}

.ah-summary[b-sreg4y3wao] {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.ah-stat[b-sreg4y3wao] {
    display: flex;
    flex-direction: column;
    gap: .15rem;
    background: #f6f3ef;
    border-radius: 8px;
    padding: .7rem 1.1rem;
    min-width: 160px;
}

.ah-stat-label[b-sreg4y3wao] {
    font-size: .78rem;
    color: #75706b;
}

.ah-stat-value[b-sreg4y3wao] {
    font-size: 1.3rem;
    font-weight: 600;
    color: #14181d;
}

.ah-stat-value small[b-sreg4y3wao] {
    font-size: .75rem;
    font-weight: 400;
    color: #75706b;
    margin-left: .25rem;
}

.ah-scroll[b-sreg4y3wao] {
    overflow-x: auto;
}

.ah-grid[b-sreg4y3wao] {
    width: 100%;
    border-collapse: collapse;
    font-size: .85rem;
}

.ah-grid th[b-sreg4y3wao] {
    text-align: left;
    color: #75706b;
    font-weight: 600;
    padding: .4rem .6rem;
    border-bottom: 1px solid #e2ddd6;
}

.ah-grid td[b-sreg4y3wao] {
    padding: .45rem .6rem;
    border-bottom: 1px solid #f0ece7;
    vertical-align: top;
}

.ah-num[b-sreg4y3wao] {
    text-align: right;
    white-space: nowrap;
}

.ah-when[b-sreg4y3wao], .ah-who[b-sreg4y3wao] {
    white-space: nowrap;
}

.ah-row[b-sreg4y3wao] {
    cursor: pointer;
}

.ah-row:hover td[b-sreg4y3wao] {
    background: #faf7f3;
}

.ah-detail td[b-sreg4y3wao] {
    background: #faf7f3;
    padding: .8rem 1rem;
}

.ah-answer[b-sreg4y3wao] {
    margin: 0 0 .6rem;
    white-space: pre-line;
}

.ah-failed[b-sreg4y3wao] {
    color: #8a2a2a;
}

.ah-detail pre[b-sreg4y3wao] {
    margin: .4rem 0 .15rem;
    padding: .5rem .7rem;
    background: #fff;
    border: 1px solid #e2ddd6;
    border-radius: 6px;
    white-space: pre-wrap;
    word-break: break-word;
    font-size: .78rem;
}

.ah-qmeta[b-sreg4y3wao] {
    color: #75706b;
    font-size: .78rem;
}
/* /Pages/GroupType2s.razor.rz.scp.css */
/* "Show archived" toggle + archived-row styling (mirrors Products) */
.archived-toggle[b-m7jyrmfr3d] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    white-space: nowrap;
    color: #6b6b6b;
    font-size: .9rem;
    cursor: pointer;
}
.archived-toggle input[b-m7jyrmfr3d] { cursor: pointer; }

.archived-row td[b-m7jyrmfr3d] { color: #9a9a9a; }
.badge-archived[b-m7jyrmfr3d] {
    display: inline-block;
    margin-left: .4rem;
    padding: .05rem .4rem;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #8a6d00;
    background: #fdf3d6;
    border-radius: 4px;
    vertical-align: middle;
}
/* /Pages/Home.razor.rz.scp.css */
/* Align the Store-league and Operator-league grids so their columns line up vertically
   (both have the same 6 columns: #, name, secondary, customers, avg basket, value). */
.league-grid[b-8p7cl38j50] { table-layout: fixed; }

/* col 1 (#) keeps its inline 48px; fix the rest so both tables match, col 6 takes the remainder. */
.league-grid th:nth-child(2)[b-8p7cl38j50], .league-grid td:nth-child(2)[b-8p7cl38j50] { width: 22%; }
.league-grid th:nth-child(3)[b-8p7cl38j50], .league-grid td:nth-child(3)[b-8p7cl38j50] { width: 27%; }
.league-grid th:nth-child(4)[b-8p7cl38j50], .league-grid td:nth-child(4)[b-8p7cl38j50] { width: 13%; }
.league-grid th:nth-child(5)[b-8p7cl38j50], .league-grid td:nth-child(5)[b-8p7cl38j50] { width: 16%; }

/* keep cells on one line; the secondary column (top operator) ellipsises if it's long. */
.league-grid td[b-8p7cl38j50], .league-grid th[b-8p7cl38j50] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* The # (rank) column is just 1-2 digit numbers — never ellipsise it (2-digit ranks like "10" were
   being clipped to "1"); give it room and let it show in full. */
.league-grid td:first-child[b-8p7cl38j50], .league-grid th:first-child[b-8p7cl38j50] { overflow: visible; text-overflow: clip; }

/* Totals row on the store league — bold with a rule above, so the group Customers/Takings totals stand apart from the ranked stores. */
.league-grid tr.league-total td[b-8p7cl38j50] { font-weight: 700; border-top: 2px solid #9E2B33; }

/* Hourly totals row — same treatment (bold + maroon rule above). */
.hourly-total td[b-8p7cl38j50] { font-weight: 700; border-top: 2px solid #9E2B33; }

/* Hourly day×hour matrix: many columns, so tighten the cells and keep the day column on one line. */
.hourly-matrix th[b-8p7cl38j50], .hourly-matrix td[b-8p7cl38j50] { padding-left: 9px; padding-right: 9px; }
.hourly-matrix th:first-child[b-8p7cl38j50], .hourly-matrix td:first-child[b-8p7cl38j50] { white-space: nowrap; }

/* ---- Dashboard tabs ---- */
.dash-tabs[b-8p7cl38j50] { display: flex; gap: .25rem; border-bottom: 1px solid #e3e3e0; margin: 0 0 1.25rem; flex-wrap: wrap; }
.dash-tab[b-8p7cl38j50] {
    background: none; border: none; padding: .6rem 1rem; font: inherit; font-weight: 500;
    color: #6b6b6b; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.dash-tab:hover[b-8p7cl38j50] { color: #1a1a1a; }
.dash-tab.active[b-8p7cl38j50] { color: #9E2B33; border-bottom-color: #9E2B33; }

/* ---- Group comparison: one responsive column per store type ---- */
.compare-grid[b-8p7cl38j50] { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; align-items: start; }

/* ---- Exceptions grids: fixed layout so the two tables line up column-for-column ---- */
.exceptions-grid[b-8p7cl38j50] { table-layout: fixed; }
.exceptions-grid th:nth-child(1)[b-8p7cl38j50], .exceptions-grid td:nth-child(1)[b-8p7cl38j50] { width: 28%; }
.exceptions-grid td[b-8p7cl38j50], .exceptions-grid th[b-8p7cl38j50] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---- Even two-column grid (equal widths) for the product deep-dive's paired cards ---- */
.dash-grid-even[b-8p7cl38j50] { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: stretch; }
@media (max-width: 900px) { .dash-grid-even[b-8p7cl38j50] { grid-template-columns: 1fr; } }

/* ---- Category-mix donut ---- */
.donut-wrap[b-8p7cl38j50] { display: flex; gap: 1.5rem; align-items: center; flex-wrap: wrap; }
.donut-center[b-8p7cl38j50] { font-size: 17px; font-weight: 600; fill: #1a1a1a; }
.donut-center-sub[b-8p7cl38j50] { font-size: 10px; fill: #6b6b6b; text-transform: uppercase; letter-spacing: .05em; }
.donut-legend[b-8p7cl38j50] { list-style: none; margin: 0; padding: 0; min-width: 180px; }
.donut-legend li[b-8p7cl38j50] { display: flex; align-items: center; gap: .5rem; padding: .2rem 0; font-size: .9rem; }
.donut-legend .swatch[b-8p7cl38j50] { width: 12px; height: 12px; border-radius: 3px; flex: 0 0 auto; }
.donut-legend .ms-auto[b-8p7cl38j50] { margin-left: auto; }

/* ---- Legend for the by-year charts ---- */
.ylegend[b-8p7cl38j50] { display: flex; flex-wrap: wrap; gap: 1rem; margin: .25rem 0 .75rem; font-size: .9rem; color: #444; }
.ylegend span[b-8p7cl38j50] { display: flex; align-items: center; gap: .4rem; }
.ylegend i[b-8p7cl38j50] { width: 12px; height: 12px; border-radius: 3px; display: inline-block; flex: 0 0 auto; }

/* Vertical 100%-stacked columns, spanning the panel like the overview trend chart. */
.ybars[b-8p7cl38j50] { display: flex; flex-direction: row; gap: 10px; align-items: flex-end; padding-top: 8px; }
.ybars-col[b-8p7cl38j50] { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 0; }
.ybars-val[b-8p7cl38j50] { font-size: 10.5px; font-weight: 600; color: var(--ink-soft); white-space: nowrap; }
.ybars-bar[b-8p7cl38j50] { width: 100%; max-width: 46px; height: 155px; border-radius: 6px 6px 3px 3px; overflow: hidden; background: #f0efec; }
.ybars-bar > div[b-8p7cl38j50] { width: 100%; }
.ybars-label[b-8p7cl38j50] { font-size: 10.5px; color: var(--text-muted); }

/* ---- Daily comparison line chart ---- */
.line-chart[b-8p7cl38j50] { width: 100%; height: auto; max-height: 280px; }
.line-chart .grid-line[b-8p7cl38j50] { stroke: #ededeb; stroke-width: 1; }
.line-legend[b-8p7cl38j50] { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-bottom: .25rem; }
.line-legend-item[b-8p7cl38j50] { display: flex; align-items: center; gap: .45rem; font-size: .9rem; color: #444; }
.line-swatch[b-8p7cl38j50] { width: 16px; height: 3px; border-radius: 2px; display: inline-block; }
/* /Pages/LossPrevention.razor.rz.scp.css */
.lp-filters[b-c11v4fvqxw] {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.25rem;
    align-items: flex-end;
    margin-bottom: 1rem;
}

.lp-filters label[b-c11v4fvqxw] {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    font-size: .85rem;
    color: #75706b;
}

.lp-filters input[b-c11v4fvqxw],
.lp-filters select[b-c11v4fvqxw] {
    padding: .45rem .6rem;
    border: 1px solid #e2ddd6;
    border-radius: 8px;
    font-size: .95rem;
    background: #fff;
}

.lp-tiles[b-c11v4fvqxw] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: .75rem;
    margin-bottom: 1rem;
}

.lp-tile[b-c11v4fvqxw] {
    background: #fff;
    border: 1px solid #ece7e0;
    border-radius: 12px;
    padding: .75rem 1rem;
    display: flex;
    flex-direction: column;
    gap: .15rem;
}

.lp-tile-label[b-c11v4fvqxw] { font-size: .8rem; color: #75706b; }
.lp-tile-value[b-c11v4fvqxw] { font-size: 1.6rem; font-weight: 700; color: #1a1a1a; }
.lp-tile.lp-act .lp-tile-value[b-c11v4fvqxw] { color: #9e2b33; }
.lp-tile.lp-look .lp-tile-value[b-c11v4fvqxw] { color: #b8860b; }

.lp-strip-panel[b-c11v4fvqxw] { margin-bottom: 1rem; }

.lp-strip-head[b-c11v4fvqxw] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: .85rem;
    color: #75706b;
    margin-bottom: .5rem;
}

.lp-link[b-c11v4fvqxw] { border: none; background: none; color: #9e2b33; cursor: pointer; font-size: .85rem; }

.lp-strip[b-c11v4fvqxw] {
    display: flex;
    gap: 4px;
    align-items: flex-end;
    height: 84px;
}

.lp-hour[b-c11v4fvqxw] {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: 4px;
    height: 100%;
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
}

.lp-bar[b-c11v4fvqxw] {
    width: 100%;
    max-width: 28px;
    background: #9e2b33;
    border-radius: 4px 4px 0 0;
    opacity: .85;
    transition: height .15s;
}

.lp-hour.zero .lp-bar[b-c11v4fvqxw] { background: #ece7e0; }
.lp-hour.active .lp-bar[b-c11v4fvqxw] { background: #5c1219; opacity: 1; }
.lp-hour-label[b-c11v4fvqxw] { font-size: .7rem; color: #75706b; }

.lp-scroll[b-c11v4fvqxw] { overflow-x: auto; }
.lp-grid[b-c11v4fvqxw] { width: 100%; border-collapse: collapse; font-size: .92rem; }
.lp-grid th[b-c11v4fvqxw] { text-align: left; font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: #75706b; padding: .4rem .5rem; border-bottom: 1px solid #ece7e0; }
.lp-grid td[b-c11v4fvqxw] { padding: .5rem; border-bottom: 1px solid #f1ede7; vertical-align: top; }
.lp-num[b-c11v4fvqxw] { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
/* Headers set text-align left with higher specificity than .lp-num; numeric columns must win in both header and cell. */
.lp-grid th.lp-num[b-c11v4fvqxw], .lp-grid td.lp-num[b-c11v4fvqxw], .lp-lines th.lp-num[b-c11v4fvqxw], .lp-lines td.lp-num[b-c11v4fvqxw] { text-align: right; }
.lp-row.selected td[b-c11v4fvqxw] { background: #fbf7f2; }
.lp-row.sev-3 .lp-time[b-c11v4fvqxw] { color: #9e2b33; }

.lp-when[b-c11v4fvqxw] { white-space: nowrap; }
.lp-date[b-c11v4fvqxw] { display: block; font-size: .8rem; color: #75706b; }
.lp-time[b-c11v4fvqxw] { display: block; font-weight: 700; font-size: 1.05rem; font-variant-numeric: tabular-nums; }

.lp-what[b-c11v4fvqxw] { min-width: 260px; }
.lp-rule[b-c11v4fvqxw] { display: inline-block; font-weight: 600; margin-right: .4rem; }
.lp-rule.sev-3[b-c11v4fvqxw] { color: #9e2b33; }
.lp-rule.sev-2[b-c11v4fvqxw] { color: #b8860b; }
.lp-rule.sev-1[b-c11v4fvqxw] { color: #75706b; }
.lp-detail[b-c11v4fvqxw] { color: #4d4843; }
.lp-receipt[b-c11v4fvqxw] { display: block; font-size: .75rem; color: #a39d96; }

.lp-status[b-c11v4fvqxw] { display: inline-block; font-size: .8rem; padding: .1rem .5rem; border-radius: 999px; background: #f1ede7; }
.lp-status.st-Open[b-c11v4fvqxw] { background: #fdecee; color: #9e2b33; }
.lp-status.st-Cleared[b-c11v4fvqxw] { background: #e8f3ec; color: #1f6f43; }
.lp-status.st-Escalated[b-c11v4fvqxw] { background: #fff3dc; color: #8a5a00; }
.lp-by[b-c11v4fvqxw] { display: block; font-size: .75rem; color: #a39d96; }

.lp-actions[b-c11v4fvqxw] { white-space: nowrap; }
.lp-btn[b-c11v4fvqxw] { padding: .35rem .7rem; border: 1px solid #e2ddd6; border-radius: 8px; background: #fff; color: #4d4843; cursor: pointer; font-size: .85rem; margin-left: .25rem; }
.lp-btn.lp-primary[b-c11v4fvqxw] { background: #9e2b33; color: #fff; border-color: #9e2b33; }
.lp-btn:disabled[b-c11v4fvqxw] { opacity: .6; cursor: default; }

.lp-review[b-c11v4fvqxw] { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.lp-review select[b-c11v4fvqxw], .lp-note-input[b-c11v4fvqxw] { padding: .45rem .6rem; border: 1px solid #e2ddd6; border-radius: 8px; font-size: .9rem; }
.lp-note-input[b-c11v4fvqxw] { flex: 1 1 260px; min-width: 0; }
.lp-error[b-c11v4fvqxw] { color: #9e2b33; font-size: .85rem; }

.lp-empty[b-c11v4fvqxw], .lp-note[b-c11v4fvqxw] { color: #75706b; font-size: .9rem; }

/* Tabs: the watchlist is the page; the rules are a tool the Conexio admin reaches for. */
.lp-tabs[b-c11v4fvqxw] { display: flex; gap: .25rem; border-bottom: 1px solid #e2ddd6; margin-bottom: 1rem; }
.lp-tab[b-c11v4fvqxw] { border: none; background: none; padding: .55rem .9rem; font-size: .95rem; color: #75706b; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.lp-tab.active[b-c11v4fvqxw] { color: #9e2b33; border-bottom-color: #9e2b33; font-weight: 600; }
.lp-tab:hover[b-c11v4fvqxw] { color: #1a1a1a; }

/* Clickable rows: the whole row opens the drawer; a real button, clipped until focused, gives keyboard users the same route. */
.lp-row.clickable[b-c11v4fvqxw] { cursor: pointer; }
.lp-row.clickable:hover td[b-c11v4fvqxw] { background: #fbf7f2; }
.lp-when[b-c11v4fvqxw] { position: relative; }
.lp-row-open:focus[b-c11v4fvqxw] { position: static; display: block; margin-bottom: .25rem; font-size: .8rem; }
.lp-actions-head[b-c11v4fvqxw] { width: 3rem; }
.lp-actions[b-c11v4fvqxw] { width: 3rem; text-align: right; }

/* Rules grid: every control the same height, vertically centred, one column per concern. */
.lp-rules-grid[b-c11v4fvqxw] { width: 100%; border-collapse: collapse; font-size: .9rem; }
.lp-rules-grid th[b-c11v4fvqxw] { text-align: left; font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: #75706b; padding: .4rem .6rem; border-bottom: 1px solid #ece7e0; white-space: nowrap; }
.lp-rules-grid td[b-c11v4fvqxw] { padding: .6rem; border-bottom: 1px solid #f1ede7; vertical-align: middle; }
.lp-rules-grid tr.lp-rule-off td[b-c11v4fvqxw] { color: #a39d96; }
.lp-rules-grid tr.lp-rule-off strong[b-c11v4fvqxw] { color: #75706b; }
.lp-col-on[b-c11v4fvqxw] { width: 3rem; text-align: center; }
.lp-col-on input[b-c11v4fvqxw] { width: 1.1rem; height: 1.1rem; accent-color: #9e2b33; vertical-align: middle; cursor: pointer; }
.lp-col-threshold[b-c11v4fvqxw] { width: 11rem; white-space: nowrap; }
.lp-col-ignore[b-c11v4fvqxw] { width: 15rem; }
.lp-col-sev[b-c11v4fvqxw] { width: 6rem; }
.lp-rule-desc[b-c11v4fvqxw] { display: block; font-size: .82rem; margin-top: .1rem; }
.lp-threshold-wrap[b-c11v4fvqxw] { display: inline-flex; align-items: center; gap: .4rem; }
.lp-threshold[b-c11v4fvqxw], .lp-exclusions[b-c11v4fvqxw] { height: 2.1rem; padding: 0 .55rem; border: 1px solid #e2ddd6; border-radius: 8px; font-size: .9rem; background: #fff; }
.lp-threshold[b-c11v4fvqxw] { width: 6rem; text-align: right; }
.lp-exclusions[b-c11v4fvqxw] { width: 100%; }
.lp-unit[b-c11v4fvqxw] { color: #75706b; font-size: .82rem; }
.lp-recompute[b-c11v4fvqxw] { margin-top: .9rem; display: flex; gap: .75rem; align-items: center; }

/* The drawer: slides in from the right over a scrim; the receipt first, the review underneath. */
.lp-scrim[b-c11v4fvqxw] { position: fixed; inset: 0; background: rgba(26, 26, 26, .35); z-index: 1040; }
.lp-drawer[b-c11v4fvqxw] { position: fixed; top: 0; right: 0; bottom: 0; width: min(560px, 100vw); background: #fff; z-index: 1050; display: flex; flex-direction: column; box-shadow: -12px 0 32px rgba(0, 0, 0, .18); animation: lp-slide-b-c11v4fvqxw .2s ease-out; }
@keyframes lp-slide-b-c11v4fvqxw { from { transform: translateX(100%); } to { transform: translateX(0); } }
.lp-drawer-head[b-c11v4fvqxw] { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid #ece7e0; }
.lp-drawer-title[b-c11v4fvqxw] { font-size: 1.1rem; margin: .4rem 0 .15rem; font-weight: 500; }
.lp-drawer-title strong[b-c11v4fvqxw] { font-variant-numeric: tabular-nums; }
.lp-drawer-sub[b-c11v4fvqxw] { margin: 0; color: #4d4843; font-size: .9rem; }
.lp-drawer-close[b-c11v4fvqxw] { border: none; background: none; font-size: 1.6rem; line-height: 1; color: #75706b; cursor: pointer; padding: 0 .25rem; }
.lp-drawer-close:hover[b-c11v4fvqxw] { color: #1a1a1a; }
.lp-drawer-body[b-c11v4fvqxw] { flex: 1 1 auto; overflow-y: auto; padding: 1rem 1.25rem; }
.lp-drawer-foot[b-c11v4fvqxw] { display: flex; justify-content: flex-end; gap: .5rem; padding: .75rem 1.25rem; border-top: 1px solid #ece7e0; }
.lp-section[b-c11v4fvqxw] { font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: #75706b; margin: 1rem 0 .5rem; }
.lp-section:first-child[b-c11v4fvqxw] { margin-top: 0; }
.lp-section .lp-detail[b-c11v4fvqxw] { text-transform: none; letter-spacing: 0; font-weight: 400; }
.lp-facts[b-c11v4fvqxw] { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin-bottom: .75rem; }
.lp-facts div[b-c11v4fvqxw] { background: #fbf7f2; border-radius: 8px; padding: .4rem .6rem; display: flex; flex-direction: column; }
.lp-facts span[b-c11v4fvqxw] { font-size: .72rem; color: #75706b; text-transform: uppercase; }
.lp-facts strong[b-c11v4fvqxw] { font-size: .95rem; }
.lp-lines[b-c11v4fvqxw] { width: 100%; border-collapse: collapse; font-size: .88rem; }
.lp-lines th[b-c11v4fvqxw] { text-align: left; font-size: .72rem; text-transform: uppercase; color: #75706b; padding: .3rem .4rem; border-bottom: 1px solid #ece7e0; }
.lp-lines td[b-c11v4fvqxw] { padding: .35rem .4rem; border-bottom: 1px solid #f1ede7; vertical-align: top; }
.lp-lines th.lp-num[b-c11v4fvqxw], .lp-lines td.lp-num[b-c11v4fvqxw] { width: 4.5rem; padding-left: .2rem; }
.lp-lines .lp-ln[b-c11v4fvqxw] { width: 2rem; color: #a39d96; text-align: right; padding-right: .6rem; }
.lp-lines tr.line-flag td[b-c11v4fvqxw] { background: #fdecee; }
.lp-lines tr.line-void td[b-c11v4fvqxw] { color: #75706b; text-decoration: line-through; }
.lp-lines tr.line-void td .lp-tag[b-c11v4fvqxw] { text-decoration: none; }
.lp-lines tr.line-refund td[b-c11v4fvqxw] { color: #8a5a00; }
.lp-lines tr.line-tender td[b-c11v4fvqxw] { color: #a39d96; }
.lp-tag[b-c11v4fvqxw] { display: inline-block; font-size: .68rem; text-transform: uppercase; letter-spacing: .03em; padding: .05rem .4rem; border-radius: 999px; background: #f1ede7; color: #4d4843; margin-left: .35rem; vertical-align: middle; }
.lp-tag-flag[b-c11v4fvqxw] { background: #9e2b33; color: #fff; }
.lp-tag-muted[b-c11v4fvqxw] { background: #f7f4f0; color: #a39d96; }
.lp-others[b-c11v4fvqxw] { list-style: none; padding: 0; margin: 0; font-size: .88rem; }
.lp-others li[b-c11v4fvqxw] { padding: .3rem 0; border-bottom: 1px solid #f1ede7; }
.lp-history[b-c11v4fvqxw] { margin: .5rem 0 0; padding-left: 1rem; font-size: .85rem; color: #4d4843; }
.lp-history-when[b-c11v4fvqxw] { color: #a39d96; margin-right: .4rem; }

@media (max-width: 767px) {
    .lp-strip[b-c11v4fvqxw] { height: 64px; }
    .lp-hour-label[b-c11v4fvqxw] { font-size: .6rem; }
    .lp-facts[b-c11v4fvqxw] { grid-template-columns: repeat(2, 1fr); }
    .lp-drawer[b-c11v4fvqxw] { width: 100vw; }
}
/* /Pages/Operators.razor.rz.scp.css */
/* Keep the store filter, search, "Show archived" toggle and Add button on one tidy line.
   The search flexes to absorb slack and shrinks (down to a sensible min) rather than letting
   the toggle + Add wrap onto a second row. */
.page-head-actions[b-q1j6j0k66o] { flex-wrap: nowrap; }
.page-head-actions .search-input[b-q1j6j0k66o] { flex: 1 1 auto; width: auto; min-width: 130px; max-width: 230px; }

/* "Show archived" toggle + archived-row styling (mirrors Products) */
.archived-toggle[b-q1j6j0k66o] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    white-space: nowrap;
    color: #6b6b6b;
    font-size: .9rem;
    cursor: pointer;
}
.archived-toggle input[b-q1j6j0k66o] { cursor: pointer; }

.archived-row td[b-q1j6j0k66o] { color: #9a9a9a; }
.badge-archived[b-q1j6j0k66o] {
    display: inline-block;
    margin-left: .4rem;
    padding: .05rem .4rem;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #8a6d00;
    background: #fdf3d6;
    border-radius: 4px;
    vertical-align: middle;
}
/* /Pages/Products.razor.rz.scp.css */
/* "Show archived" toggle in the page header */
.archived-toggle[b-o2o7z7v2iq] {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    white-space: nowrap;
    color: #6b6b6b;
    font-size: .9rem;
    cursor: pointer;
}
.archived-toggle input[b-o2o7z7v2iq] { cursor: pointer; }

/* Archived PLUs read as muted, with a small tag next to the name */
.archived-row td[b-o2o7z7v2iq] { color: #9a9a9a; }
.badge-archived[b-o2o7z7v2iq] {
    display: inline-block;
    margin-left: .4rem;
    padding: .05rem .4rem;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #8a6d00;
    background: #fdf3d6;
    border-radius: 4px;
    vertical-align: middle;
}
/* /Pages/RunHistory.razor.rz.scp.css */
.run-filter[b-30zvyrc94q] { display: flex; align-items: center; gap: .4rem; color: #6b6b6b; margin: 0; white-space: nowrap; }

.run-toolbar[b-30zvyrc94q] { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin: 0 0 1rem; }
.run-purge-age[b-30zvyrc94q] { width: auto; min-width: 12rem; }

.run-pager[b-30zvyrc94q] { display: flex; align-items: center; gap: 1rem; justify-content: flex-end; margin-top: .75rem; }

.run-badge[b-30zvyrc94q] { font-size: .8rem; font-weight: 600; padding: .1rem .5rem; border-radius: 999px; }
.run-ok[b-30zvyrc94q] { color: #2e7d32; background: #e7f3e8; }
.run-fail[b-30zvyrc94q] { color: #c62828; background: #fbe7e7; }

/* The error detail row sits tight under its failed run. */
.run-error-row td[b-30zvyrc94q] { padding-top: 0; border-top: none; }
.run-error[b-30zvyrc94q] { color: #c62828; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .82rem; }
/* /Pages/SystemStatus.razor.rz.scp.css */
.status-grid[b-aps5u30igi] { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; align-items: start; }

.status-row[b-aps5u30igi] { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem 0; border-bottom: 1px solid #f0f0ee; }
.status-row:last-child[b-aps5u30igi] { border-bottom: none; }
.status-row .k[b-aps5u30igi] { color: #6b6b6b; }
.status-row .v[b-aps5u30igi] { text-align: right; }

.status-err[b-aps5u30igi] { margin-top: .5rem; color: #c62828; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .82rem; word-break: break-word; }

/* Store data feeds (per-store sync freshness) */
.sync-table .num[b-aps5u30igi] { text-align: right; }
.sync-table .dot-col[b-aps5u30igi] { width: 28px; text-align: center; }
.sync-table .mono[b-aps5u30igi] { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .82rem; }
.dot[b-aps5u30igi] { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: #bdbdbd; }
.dot-green[b-aps5u30igi] { background: #2e7d32; }
.dot-amber[b-aps5u30igi] { background: #f0a020; }
.dot-red[b-aps5u30igi] { background: #c62828; }
/* /Pages/Usage.razor.rz.scp.css */
/* The Usage heat map: a sequential single-hue ramp of the brand maroon (light → dark = fewer → more),
   counts shown in ink/white for contrast, 2px gaps between cells, first column sticky for wide maps. */

.u-sub[b-yc3okh5ttd] {
    color: var(--text-secondary);
    margin: -6px 0 14px;
    max-width: 70ch;
}

.u-toolbar[b-yc3okh5ttd] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.u-range[b-yc3okh5ttd] {
    display: flex;
    gap: 6px;
}

.u-range button[b-yc3okh5ttd] {
    border: 1px solid var(--border-input);
    background: var(--card);
    border-radius: var(--radius-ctl);
    padding: 6px 12px;
    font-size: .85rem;
    color: var(--text-secondary);
    cursor: pointer;
}

.u-range button.active[b-yc3okh5ttd] {
    background: var(--maroon);
    border-color: var(--maroon);
    color: #fff;
}

.u-legend[b-yc3okh5ttd] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: .78rem;
    color: var(--text-muted);
}

.u-legend i[b-yc3okh5ttd] {
    width: 16px;
    height: 12px;
    border-radius: 3px;
    display: inline-block;
}

.u-scroll[b-yc3okh5ttd] {
    overflow-x: auto;
}

.u-grid[b-yc3okh5ttd] {
    border-collapse: separate;
    border-spacing: 2px;   /* the 2px surface gap between fills */
}

.u-grid thead th[b-yc3okh5ttd] {
    font-size: .72rem;
    font-weight: 600;
    color: var(--text-secondary);
    vertical-align: bottom;
    padding: 4px 6px;
    text-align: center;
}

.u-grid thead th.u-feat[b-yc3okh5ttd] {
    max-width: 96px;
}

.u-grid .u-user[b-yc3okh5ttd] {
    text-align: left;
    font-size: .8rem;
    font-weight: 500;
    color: var(--ink);
    white-space: nowrap;
    padding-right: 12px;
    position: sticky;
    left: 0;
    background: var(--card);
}

.u-grid .u-total[b-yc3okh5ttd],
.u-grid .u-totalh[b-yc3okh5ttd] {
    font-family: var(--mono);
    font-size: .78rem;
    color: var(--text-secondary);
    text-align: right;
    padding: 0 10px 0 2px;
}

.u-cell[b-yc3okh5ttd] {
    min-width: 58px;
    height: 34px;
    text-align: center;
    border-radius: 6px;
    font-family: var(--mono);
    font-size: .78rem;
    color: var(--ink);
    background: var(--head-bg);
}

/* Fewer → more: one hue (the brand maroon), strictly light → dark. Ink text through step 3;
   white on the two darkest steps (both clear 4.5:1 at this size). */
.u-cell.s1[b-yc3okh5ttd], .u-legend i.s1[b-yc3okh5ttd] { background: #F8ECEC; }
.u-cell.s2[b-yc3okh5ttd], .u-legend i.s2[b-yc3okh5ttd] { background: #EFCDD0; }
.u-cell.s3[b-yc3okh5ttd], .u-legend i.s3[b-yc3okh5ttd] { background: #DEA3A8; }
.u-cell.s4[b-yc3okh5ttd], .u-legend i.s4[b-yc3okh5ttd] { background: #B8545D; }
.u-cell.s5[b-yc3okh5ttd], .u-legend i.s5[b-yc3okh5ttd] { background: #9E2B33; }
.u-cell.s4[b-yc3okh5ttd], .u-cell.s5[b-yc3okh5ttd] { color: #fff; }

.u-empty[b-yc3okh5ttd] {
    color: var(--text-muted);
    padding: 20px 0;
    max-width: 70ch;
}
/* /Pages/Wall.razor.rz.scp.css */
.wall[b-qo1qyx5cfl] {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    padding: 2.5vh 3vw;
    cursor: default;
    user-select: none;
}

.wall-top[b-qo1qyx5cfl] {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

.wall-brand[b-qo1qyx5cfl] {
    font-size: 3.2vh;
    font-weight: 700;
    letter-spacing: .06em;
}

.wall-brand span[b-qo1qyx5cfl] {
    color: #dea3a8;
    font-weight: 400;
}

.wall-status[b-qo1qyx5cfl] {
    display: flex;
    align-items: center;
    gap: 1.2vw;
    font-size: 2.2vh;
    color: #b9b2aa;
}

.wall-live[b-qo1qyx5cfl] {
    width: 1.4vh;
    height: 1.4vh;
    border-radius: 50%;
    background: #4caf50;
    animation: wall-pulse-b-qo1qyx5cfl 2s infinite;
}

.wall-live.stale[b-qo1qyx5cfl] {
    background: #e0a030;
    animation: none;
}

@keyframes wall-pulse-b-qo1qyx5cfl {
    0%, 100% { opacity: 1; }
    50% { opacity: .35; }
}

.wall-sync[b-qo1qyx5cfl] {
    color: #75706b;
}

.wall-clock[b-qo1qyx5cfl] {
    font-size: 3.2vh;
    font-weight: 600;
    color: #f2efeb;
    font-variant-numeric: tabular-nums;
}

.wall-notice[b-qo1qyx5cfl] {
    margin: auto;
    text-align: center;
    max-width: 60vw;
}

.wall-notice h1[b-qo1qyx5cfl] { font-size: 5vh; margin-bottom: 1.5vh; }
.wall-notice p[b-qo1qyx5cfl] { font-size: 2.6vh; color: #b9b2aa; }

.wall-pane[b-qo1qyx5cfl] {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-top: 3vh;
    min-height: 0;
    animation: wall-fade-b-qo1qyx5cfl .6s ease;
}

@keyframes wall-fade-b-qo1qyx5cfl {
    from { opacity: 0; transform: translateY(1vh); }
    to { opacity: 1; transform: none; }
}

.wall-h[b-qo1qyx5cfl] {
    font-size: 3vh;
    font-weight: 500;
    color: #dea3a8;
    text-transform: uppercase;
    letter-spacing: .12em;
    margin: 0 0 1vh;
}

.wall-hero[b-qo1qyx5cfl] {
    font-size: 13vh;
    font-weight: 700;
    line-height: 1.05;
    font-variant-numeric: tabular-nums;
}

.wall-hero-sub[b-qo1qyx5cfl] {
    font-size: 3vh;
    color: #b9b2aa;
    margin-bottom: 2.5vh;
}

.wall-grid[b-qo1qyx5cfl] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(24vw, 1fr));
    gap: 1.6vh;
}

.wall-card[b-qo1qyx5cfl] {
    background: #1c2128;
    border-left: .5vh solid #9e2b33;
    border-radius: 1vh;
    padding: 1.8vh 2vw;
}

.wall-card-name[b-qo1qyx5cfl] { font-size: 2.6vh; color: #dea3a8; }
.wall-card-value[b-qo1qyx5cfl] { font-size: 5.4vh; font-weight: 700; font-variant-numeric: tabular-nums; }
.wall-card-sub[b-qo1qyx5cfl] { font-size: 2.1vh; color: #75706b; }

.wall-hours[b-qo1qyx5cfl] {
    margin-top: auto;
    display: flex;
    align-items: flex-end;
    gap: .5vw;
    height: 16vh;
    padding-top: 2vh;
}

.wall-hour[b-qo1qyx5cfl] {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    gap: .6vh;
}

.wall-hour-bar[b-qo1qyx5cfl] {
    width: 100%;
    background: #9e2b33;
    border-radius: .5vh .5vh 0 0;
}

.wall-hour span[b-qo1qyx5cfl] { font-size: 1.7vh; color: #75706b; }

.wall-rows[b-qo1qyx5cfl] {
    display: flex;
    flex-direction: column;
    gap: 1.4vh;
    font-variant-numeric: tabular-nums;
}

.wall-row[b-qo1qyx5cfl] {
    display: flex;
    align-items: center;
    gap: 2vw;
    font-size: 4vh;
}

.wall-row-name[b-qo1qyx5cfl] { flex: 1; color: #f2efeb; }
.wall-row-value[b-qo1qyx5cfl] { font-weight: 700; }

.wall-row-change[b-qo1qyx5cfl] { font-size: 3vh; width: 12vw; text-align: right; }
.wall-row-change.up[b-qo1qyx5cfl] { color: #6fbf73; }
.wall-row-change.down[b-qo1qyx5cfl] { color: #e57373; }

.wall-cat-track[b-qo1qyx5cfl] {
    flex: 2;
    background: #1c2128;
    border-radius: .6vh;
    height: 3.4vh;
    overflow: hidden;
}

.wall-cat-bar[b-qo1qyx5cfl] {
    display: block;
    height: 100%;
    background: #9e2b33;
}

.wall-pace[b-qo1qyx5cfl] {
    margin-top: 3vh;
    height: 4vh;
    background: #1c2128;
    border-radius: 2vh;
    overflow: hidden;
    max-width: 70vw;
}

.wall-pace-fill[b-qo1qyx5cfl] {
    height: 100%;
    background: linear-gradient(90deg, #9e2b33, #b8545d);
    border-radius: 2vh;
}

.wall-dots[b-qo1qyx5cfl] {
    display: flex;
    justify-content: center;
    gap: 1vw;
    padding-top: 1.5vh;
}

.wall-dots span[b-qo1qyx5cfl] {
    width: 1.4vh;
    height: 1.4vh;
    border-radius: 50%;
    background: #3a4048;
}

.wall-dots span.on[b-qo1qyx5cfl] { background: #dea3a8; }
/* /Pages/WallDisplay.razor.rz.scp.css */
.wd-empty[b-018mv36sy2] {
    color: #75706b;
}

.wd-link[b-018mv36sy2] {
    font-family: Consolas, monospace;
    font-size: .85rem;
}

.wd-meta[b-018mv36sy2] {
    color: #75706b;
    font-size: .82rem;
    margin: .4rem 0 1rem;
}

.wd-actions[b-018mv36sy2] {
    display: flex;
    gap: .6rem;
    margin-bottom: .8rem;
}

.wd-note[b-018mv36sy2] {
    color: #75706b;
    font-size: .85rem;
}
